Three.js Object3D子对象是否可以使用父对象';s位置和旋转,但不是比例?

Three.js Object3D子对象是否可以使用父对象';s位置和旋转,但不是比例?,three.js,Three.js,我将一个Object3D设置为另一个Object3D的子对象,该对象通过动画更改位置、旋转和缩放。我希望子对象3D相对于父对象的位置和旋转移动,但我根本不希望子对象缩放。这可能吗?是否有某种方法可以“锁定”子对象的比例,或覆盖它,使其始终保持恒定比例,而不考虑父对象 最糟糕的情况是,当对象的缩放或变换被更新时,是否有某种钩子或回调,我可以监听,然后重新缩放对象 我正在使用parent.add(child)进行育儿,然后将孩子的位置更新到某个偏移量 提前谢谢 诸如此类: var scene=ne

我将一个Object3D设置为另一个Object3D的子对象,该对象通过动画更改位置、旋转和缩放。我希望子对象3D相对于父对象的位置和旋转移动,但我根本不希望子对象缩放。这可能吗?是否有某种方法可以“锁定”子对象的比例,或覆盖它,使其始终保持恒定比例,而不考虑父对象

最糟糕的情况是,当对象的缩放或变换被更新时,是否有某种钩子或回调,我可以监听,然后重新缩放对象

我正在使用parent.add(child)进行育儿,然后将孩子的位置更新到某个偏移量

提前谢谢

诸如此类:

var scene=new THREE.scene();
var摄像机=新的三透视摄像机(60,window.innerWidth/window.innerHeight,11000);
摄像机位置设置(0,5,10);
摄像机。注视(场景。位置);
var renderer=new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth、window.innerHeight);
document.body.appendChild(renderer.doElement);
添加(新的三个.GridHelper(10,10));
var parentObj=新的三点网格(新的三点球体缓冲几何体(1,16,8),新的三点网格基本材质({
颜色:“红色”,
线框:正确
}));
scene.add(parentObj);
var childObj=new THREE.Mesh(new THREE.SphereBufferGeometry(1,16,8)),new THREE.MeshBasicMaterial({
颜色:“蓝色”,
线框:正确
}));
子对象位置集(2,0,0);
parentObj.add(childObj);
var clock=新的三个时钟();
var时间=0;
var量表=1;
var-invScale=1;
renderer.setAnimationLoop(()=>{
time=clock.getElapsedTime();
标度=1+数学sin(时间)*0.5+0.5;
invScale=1/刻度;
父对象刻度设置刻度(刻度);
子对象刻度设置刻度(invScale);
渲染器。渲染(场景、摄影机)
});
正文{
溢出:隐藏;
保证金:0;
}