Three.js制作Object3D儿童面部照相机
我有一个Object3D,它可以旋转,并且有一个平面作为子对象,我如何使平面始终面向相机Three.js制作Object3D儿童面部照相机,three.js,Three.js,我有一个Object3D,它可以旋转,并且有一个平面作为子对象,我如何使平面始终面向相机 var obj = new THREE.Object3D() var plane = new THREE.Mesh() obj.add(plane) plane.lookAt(camera.position) 更新three.js r107: plane.lookAt(摄像机.getWorldPosition(v)) 现在正在执行OP要求的操作,而旧的解决方案表现不同。更新了示例: 使用zz85中的l
var obj = new THREE.Object3D()
var plane = new THREE.Mesh()
obj.add(plane)
plane.lookAt(camera.position)
更新three.js r107:
plane.lookAt(摄像机.getWorldPosition(v))代码>
现在正在执行OP要求的操作,而旧的解决方案表现不同。更新了示例:
使用zz85中的lookAtWorld
添加
THREE.Object3D.prototype.lookAtWorld = function( vector ) {
this.parent.worldToLocal( vector );
this.lookAt( vector );
}
或者干脆把它砍掉,比如:
function animate() {
/* ... */
var vector = plane.parent.worldToLocal( camera.getWorldPosition() );
plane.lookAt( vector );
}
例如:
更新three.js r107:
plane.lookAt(摄像机.getWorldPosition(v))代码>
现在正在执行OP要求的操作,而旧的解决方案表现不同。更新了示例:
使用zz85中的lookAtWorld
添加
THREE.Object3D.prototype.lookAtWorld = function( vector ) {
this.parent.worldToLocal( vector );
this.lookAt( vector );
}
或者干脆把它砍掉,比如:
function animate() {
/* ... */
var vector = plane.parent.worldToLocal( camera.getWorldPosition() );
plane.lookAt( vector );
}
例如:
你需要控制你的角色吗?像这样:不,我的对象有一个平面,这是我用canvas2d创建的纹理,它应该始终面向相机,相机可以围绕obj旋转,obj本身也可以移动和旋转你需要控制你的角色吗?像这样:不,我的对象有一个平面,这是我用canvas2d创建的纹理,它应该始终面向摄影机,摄影机可以围绕obj旋转,obj本身也可以移动,rotatethanks就像一个魔咒一样工作!!我在浏览同一期文章,并像doob先生在上一篇文章中那样尝试了一下,但出现了一些奇怪的错误。谢谢你,真是妙不可言!!我浏览了同一个问题,并像杜布先生在上一篇文章中那样尝试了一下,但出现了一些奇怪的错误。