下面是THREE.js
的代码:
var RASToLPS = new THREE.Matrix4();
RASToLPS.set(-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
mesh.applyMatrix(RASToLPS);
scene.add(mesh);
我想把它转换成react-three-fiber
。我已经尝试了以下代码,但它不工作:
<mesh
{...props}
geometry = {bufferGeometry}
material = {material}
applyMatrix4 = {matrix4 => {
matrix4.set(-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
}}
>
</mesh>
3条答案
按热度按时间xqk2d5yq1#
我使用以下代码在没有
applyMatrix4
网格属性的情况下成功地使其工作:如果有人知道如何使用
applyMatrix4
请回答。rwqw0loc2#
这不是全部答案(我也有类似的问题),但请在原始代码
mesh
attrs上尝试以下操作:applyMatrix4
替换为matrix
(applyMatrix4可能已失效?)dl5txlt93#
你可以将矩阵分解成位置、旋转和缩放,并应用这些......不理想,因为这本质上是在事实发生后重新组合矩阵,但在
matrix={matrix}
被支持之前,这是可行的:然后使用: