我正在尝试创建一个可以翻转Three.js场景中任何对象的实用程序.翻转本身很容易:
object3D.applyMatrix(new THREE.Matrix4().makeScale(-1, 1, 1));
Run Code Online (Sandbox Code Playgroud)
事实证明困难的是在翻转后修复面部和法线.结果看起来很混乱.源和翻转对象的图像:https://dl.dropboxusercontent.com/u/20925853/Flipped.png
我已经看到了许多线程,其中讨论了这个和类似的问题,但没有找到任何可用的东西.有人知道我在那里失踪了吗?- 谢谢!
关于Js小提琴的示例代码:https: //jsfiddle.net/7dwh084w/
object3D.applyMatrix(new THREE.Matrix4().makeScale(-1, 1, 1));
Run Code Online (Sandbox Code Playgroud)
我在项目中使用此代码来翻转对象:
const scale = new THREE.Vector3(1, 1, 1);
if (flipX) {
scale.x *= -1;
}
if (flipY) {
scale.z *= -1;
}
object.scale.multiply(scale);
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
3484 次 |
| 最近记录: |