我已经在互联网上搜索了几天,但我真的找不到一个我能很好理解的答案来旋转我的魔方。
我已经使用魔方的 Blender 制作了自己的 3D 模型,并将其导入到 Unity,这就是我要用来旋转面孔的工具。
但我似乎不明白旋转魔方所涉及的数学,我应该使用矩阵吗?如果是这样,我该如何将它们结合在一起才能正常工作?
我可以通过将砖 block 按面组合在一起来旋转单面,但是当你转动下一张面时,它会完全破坏另一面。
非常感谢!
最佳答案
我的想法:将 26 个方 block 中的每一个都保留为单独的 GameObject
对象(8 个角、12 条边、6 个中心),每个方 block 的原点位于立方体的中心。您单独跟踪哪个 block 当前在立方体上的位置,例如在 3D 阵列中。
然后当需要转脸的时候:
- 找出哪些 block 属于面部。
- 使用 Unity 的正常旋转功能围绕旋转轴(通过立方体的中间)旋转每个 block 。
- 更新有关哪些 block 在哪里的信息。
关于c# - 旋转面魔方C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15572326/