首页 > 解决方案 > 旋转父组后反应三纤维更新网格矩阵

问题描述

感谢您花时间看我的问题。

我正在使用 Threejs 和 react-three-fiber。我正在尝试将小盒子连接到网格的两侧。我从光线投射器中获得了盒子网格的位置。

我的问题是,在我旋转父组后,T 恤网格的矩阵似乎颠倒了。据我了解,光线投射器基于此矩阵工作。我确实尝试过 updateMatrix() 和 updateMatrixWorld() 但结果令人困惑。

像这样旋转组后更新子矩阵的标准方法是什么?任何帮助将不胜感激。

这是我的问题的说明。请注意,红色鼠标助手在翻转后会消失,因为它现在位于对面。

在此处输入图像描述

这是场景的组件结构。

return (
        <a.group rotation={flipModelAnimation.rotation} ref={groupRef}>
            <mesh
                ref={modelRef}
                geometry={glb}
            >
                <meshStandardMaterial attach="material" color="orange" />
            </mesh>
            {event && <MouseHelper event={event} />}
            <Decals decals={decalArray} />
        </a.group>
    );

标签: reactjsthree.jsreact-three-fiber

解决方案


好的,所以这很简单,一旦我看到它......我将鼠标助手放在我正在旋转的组中,所以很自然,它现在会出现在背面。所以不是因为矩阵错误。我不认为鼠标助手本身很重要,所以我最初甚至没有将它包含在代码示例中。我现在添加它以使问题和解决方案清晰。


推荐阅读