【发布时间】:2017-12-18 23:49:17
【问题描述】:
我想在我的 Forge 场景中添加一个天空盒,但 Forge 与 three.js 不同。我想知道我能为它做些什么。
我试过new THREE.CubeTextureLoader,但是Forge中的three.js没有这个功能。然后我尝试构建一个CubeGeometry,但效果不佳。
这是我的代码:
var materialArr=[];
var directions = ["aa_RT","aa_LF","aa_UP","aa_DN","aa_FR","aa_BK"] ;
for (var i = 0; i < 6; i++){
materialArray.push( new THREE.MeshBasicMaterial({
map: THREE.ImageUtils.loadTexture( "lib/img/aa/"+ directions[i] + ".jpg" ),
side: THREE.BackSide
}));
}
var skyBoxGeom = new THREE.CubeGeometry(80,80,80);
var skyBoxMaterial = new THREE.MeshFaceMaterial(materialArr);
var skyBox = new THREE.Mesh(skyBoxGeom,skyBoxMaterial);
viewer.impl.scene.add(skyBox);
这是我的场景:
【问题讨论】:
-
请添加您迄今为止尝试过的内容。请先看这个how-to-ask
-
除了前面的评论,我要补充一点,Forge 查看器使用的是自定义版本的three.js,但是您可以在three.js 中执行的大部分操作都可以使用查看器来实现。天空盒基本上是添加到场景中的一组带纹理的自定义网格。查看自定义网格和材质的示例:github.com/Autodesk-Forge/library-javascript-viewer-extensions/… 然后github.com/Autodesk-Forge/library-javascript-viewer-extensions/…
-
这里是three.js的一个很酷的天空盒演示:stemkoski.github.io/Three.js/Skybox.html
-
我再次编辑它,我展示了我的代码和我的场景
标签: three.js viewer autodesk-forge