欢迎光临散文网 会员登陆 & 注册

Three.js开发:单个模型效果简单设置

2022-06-15 09:13 作者:地理信息技术杂谈  | 我要投稿

在Three.js中加载的gltf模型,模型加载参见 GIS开发:Threejs加载gltf模型,可以对模型的一些效果进行设置,比如设置模型的透明度、显示线框图、或者设置模型的颜色等。

Three.js加载的模型是一个模型场景(scene)数据,场景中包括三维对象(Object3d),一个或者多个对象,所以,设置模型的时候,一般都是要循环场景中的模型。

加载gltf模型的时候,要设置一下模型场景(scene)的name,方便初始化的场景(scene)获取到此模型场景。

//设置模型场景的名称

       model = gltf.scene;

       model.name = "testmodel";

//大场景获取模型场景 
let modelscene = scene.getObjectByName('testmodel');模型场景的三维模型需要traverse进行遍历。
模型的透明度设置:

       modelscene.traverse(function(object) {

       if (object.isMesh) {

              //先设置模型透明,不然透明度不起效果

              object.material.transparent = true;

             //设置模型材质透明度

              object.material.opacity = 0.8;

           } });

设置模型的线框图:

      modelscene.traverse(function(object) {

if (object.isMesh) {

            //设置线框图为true

             object.material.wireframe = true;

           } });

设置颜色覆盖模型:

let modelscene = scene.getObjectByName('testmodel');

modelscene.traverse(function(object) { 

if (object.isMesh) {  

                       //设置材质的颜色

object.material.color = new THREE.Color(0xff0000);

}});

还有一些其他的模型效果设置,可以参照three.js官方文章api进行设置。

参考文档:http://www.webgl3d.cn/threejs/docs/index.html#api/zh/objects/Mesh

Three.js开发:单个模型效果简单设置的评论 (共 条)

分享到微博请遵守国家法律