我是threejs的新手,我想了解一下这个库...但是,在我看来,文档很少。
问题是:
我有一个SphereGeometry,我希望通过鼠标事件给它一些交互性,我使用三个.domevent.object3d.js进行“mouseover”和“mouseout”事件,以使scale属性更大或更小。但是,当触发鼠标悬停时我无法修改球体材质,因为没有任何反应。我的代码是:
sphere.on('mouseover', function(event){
event.target.scale.x *= 2;
event.target.scale.y *= 2;
event.target.scale.z *= 2;
event.target.material.envMap = textureCube;
event.target.material.combine = THREE.MixOperation;
event.target.material.reflectivity = 0.15;
}).on('mouseout', function(event){
event.target.scale.x *= 0.5;
event.target.scale.y *= 0.5;
event.target.scale.z *= 0.5;
event.target.material.envMap = null;
event.target.material.combine = THREE.MixOperation;
event.target.material.reflectivity = 0;
});
textureCube是一组用于skyboxMesh的jpeg,其代码为:
var r = "images/";
var urls = [ r + "px.jpg", r + "nx.jpg",
r + "py.jpg", r + "ny.jpg",
r + "pz.jpg", r + "nz.jpg" ];
textureCube = THREE.ImageUtils.loadTextureCube( urls );
任何帮助将不胜感激
由于
答案 0 :(得分:2)
如果要从材料添加或删除环境贴图,则必须添加
material.needsUpdate = true;
查看“如何更新内容”文档:https://threejs.org/docs/index.html#manual/en/introduction/How-to-update-things
three.domevent.object3d.js
不属于图书馆,因此我无法对此发表评论。
three.js r.52