问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

webgl 可以load什么类型

发布网友 发布时间:2022-04-22 04:09

我来回答

1个回答

热心网友 时间:2024-08-15 07:24

在页面中,我们利用WebGL技术来呈现3D模型。
1.首先我们创建一个div,并将其加入到页面中。

1
2

container = document.createElement('div');
document.body.appendChild( container )

2.定义相机。

1
2
3
4

camera =new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight,1,
2000 );
camera.position.z = initalCameraZElem.value;
camera.position.x = initalCameraXElem.value;
camera.position.y = initalCameraYElem.value

3.定义场景。

1

scene = new THREE.Scene()

4.设置环境光,并将其加入场景。

1
2

varambient =
new THREE.AmbientLight( 0x101030);
scene.add( ambient );

5.设置平行光,并将其加入场景。

1
2
3

vardirectionalLight =
new THREE.DirectionalLight( 0xffeedd );
directionalLight.position.set(0,
0, 1 ).normalize();
scene.add( directionalLight );

6.设置材质。

1
2
3
4
5
6
7
8
9
10

vartexture =
new THREE.Texture();

varloader =
new THREE.ImageLoader();
loader.addEventListener('load',
function ( event ) {

texture.image = event.content;
texture.needsUpdate =true;

} );
loader.load('small.jpg' );

7.加载3D模型。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

varloader =
new THREE.OBJLoader();
loader.addEventListener('load',
function ( event ) {

varobject = event.content;
_object = object;
console.log(object);
for(
var i = 0, l = object.children.length; i < l; i ++ ) {

//object.children[ i].material.map = texture;

}
object.position.y = initalYElem.value;
object.position.x = initalXElem.value;
object.position.z = initalZElem.value;
scene.add( object );
});
loader.load( path );//path为模型的路径

8.渲染场景。

1
2
3

renderer =new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth , window.innerHeight);
container.appendChild( renderer.domElement );

模型可以为本地的,也可以为服务器上的。
如果加载的是本地模型,浏览器会报错,原因是浏览器默认不允许加载本地的文件,解决方法是:
以Chrome为例,右击Chrome图标,在目标后面添加如下命令:
--allow-file-access-from-files
即可加载本地的模型文件。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我的配置可以玩使命召唤9吗 电脑型号 惠普 HP Pavilion G4 NoteB... 雅马哈机油好还是新大州机油好 豪爵和新大洲哪个的机油好? 工程资质加盟有哪些常见的骗局? 中国是否会出现像日本"三菱,三井,住友"那样的大财团? 中国会实现日本采用的教育制度吗? ...日本经济的手段来对付中国,中国经济会不会像日本那样垮掉? 联想笔记本一直滴滴滴响 联想笔记本怎么一直滴 女朋友太多愁善感了觉得我肤浅不懂她 我摸了一下刚认识不久的女朋友的头,她觉得我很肤浅,怎样道欠?_百度知 ... 2021早上好祝福语 城乡居民基本医疗保险就是新农合吗? 怎么样在网页中插入3D模型? 最新的早上好问候祝福语 工行 等额本息贷款,如果提前还款,后面每月还款数... 早上好2021问候语 2015年9月份在工商银行贷房贷23万,10年还清,等额本... 工商银行个人贷款 等额本息还款法 等额本金还款法区别 工商银行住房贷款我咋知道是等额本息还是等额本金 我是2013年02月购房 工商贷款35万 还款方式是等额... 工行的我的房贷是等额本息的怎么每个月还越来越高... 在工行办了20年等额本息贷款,已经还了10年,下面的... 工商银行房贷等额本息还款允许双周供吗? 工商银行贷款61万,三十年还完,利率百分之五点七... 空间数据的逻辑模型的主要设计内容有哪些 工商银行的个人贷款等额本息还款方式是什么意思? 数据仓库的定义 工行等额本息10年29万第一年的利息是多少 如何建立和评估数据仓库逻辑模型 数据仓库与ODS的区别,数据仓库和ODS并存方 城乡医疗保险和社保一样吗 2021年早上问候语 想用多种方法实现网页加载展示3d模型,想问下除了... 新年第一天早上祝福语 在网页中如何展示3d模型呀? 2021早上祝福语 HTML5 和 WebGL 技术可用于三维可视化开发吗? 2021年元月11日早上好问候语 城乡医疗保险怎么报? 2021年新的早上对亲人的问候语及图片? 跨年早上问候语 最新2021祝福语贺词 2021祝福语长的 2021新年祝福语图片 如何实现网页3D模型展示? 年初三祝福语2021 2021小年问候语 如何将3d模型数据转换为webgl能支持的json格式 如何在webgl制作的三维图形中,加入超链接,点击三... 2021清晨励志正能量的句子