我使用Babylon JS,我想要一些网格跟随位移而不是'父网格'的缩放
有一种简单的方法吗?或者我必须手工完成这个?
感谢。
答案 0 :(得分:0)
也许最好的方法是不继承,而是使用scene.registerBeforeRender并将父位置克隆到子位置
答案 1 :(得分:0)
这是一个较晚的答案,但是我解决此问题的方法是将孩子的缩放比例设置为父级的倒数。
childMesh.parent = parentMesh;
...
parentMesh.computeWorldMatrix(true);
childMesh.scaling = Vector3.One().divide(parentMesh.absoluteScaling);
如果要使用computeWorldMatrix
,则父级上的parentMesh.absoluteScaling
很重要-它会强制父级在渲染之前计算其世界矩阵,以便您可以准确了解其绝对比例或位置。
如果您只想撤销父级的缩放比例,但仍希望尊重祖父母的缩放比例,则可以用parentMesh.scaling
代替absoluteScaling
。
我不确定这是否是一个好习惯,但是对我来说效果很好。