Three.JS对象裁剪?

艾伦

我试图以与Unity可以使用的方式相似的方式使用three.js来划分我的3D模型: 在此处输入图片说明

我一直在使用相机控件,当然我可以调整近场/远场以沿相机方向进行裁剪,但是如果我只想在X或Y平面上进行裁剪怎么办?我研究了潜在地添加一个可以在该轴上滑动的大型透明块,然后使用二进制操作合并/减去与对象相交的位置的方法,但是这些工具最终沿新平面创建了一个新的网格,而不是实际上沿该平面移除了所有网格轴。

我需要使用多个视口,还是有一种更简单的方法?

西兰吉

现在支持裁剪。

这是要遵循的模式。根据您的用例进行调整。

var localPlane = new THREE.Plane( new THREE.Vector3( 0, - 1, 0 ), 1 );

var globalPlane = new THREE.Plane( new THREE.Vector3( 1, 0, 0 ), 1 );

renderer.clippingPlanes = [ globalPlane ];

renderer.localClippingEnabled = true;

var material = new THREE.MeshPhongMaterial( {
    clippingPlanes: [ localPlane ],
    clipShadows: true
} );

请参阅以下three.js示例:

https://threejs.org/examples/webgl_clipping.html https://threejs.org/examples/webgl_clipping_advanced.html

three.js r.85

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章