我已加载.obj文件。我想对大脑说一点,并且当相机移动时它不会改变,它总是与此图像中的点相同。
var loader = new THREE.OBJLoader( manager );
/* */
loader.load( 'freesurf.OBJ', function ( object ) {
brain = object;
object.position.y = 0;
scene.add( object );
} );
答案 0 :(得分:0)
以下是基于SphereGeometry
的解决方案
https://plnkr.co/edit/Y15PFd2Fietq5cjQLJjw?p=preview
我改变了这部分代码。
var mat = new THREE.MeshBasicMaterial({color:'blue',transparent:true,opacity:0.5,
depthFunc:THREE.LessDepth,side:THREE.FrontSide,})
var sphr = new THREE.Mesh(new THREE.SphereGeometry(1,16,16),mat);
sphr.position.set(1.3, 1.3, 0 );
brain.add(sphr);
} );
这不是完美的解决方案,而是采用球的方法。 为了使这更好,您应该使用像素着色器或在背景对象上创建几何体。
可以解决您的问题的项目是 https://github.com/tomtung/chameleon.js