欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Three物体剪切clipping实例

发布时间:2023/12/8 编程问答 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Three物体剪切clipping实例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

基础环境搭建:

添加光源和网格模型:环境光、聚光灯和平行光,环形结、地面

添加阴影:

物体剪切:

在三维空间中无限延伸的二维平面,平面方程用单位长度的法向量和常数表示为海塞法向量Hessian normal form形式。
Plane( normal : Vector3, constant : Float )
normal - (可选参数) 定义单位长度的平面法向量Vector3。默认值为 (1, 0, 0)。
constant - (可选参数) 从平面到原点的有符号距离。默认值为 0.

.Xmaterial.clippingPlanes : Array
用户定义的剪裁平面,在世界空间中指定为THREE.Plane对象。这些平面适用于所有使用此材质的对象。空间中与平面的有符号距离为负的点被剪裁(未渲染)。 这需要WebGLRenderer.localClippingEnabled为true。

WebGLRenderer.clippingPlanes : Array
用户自定义的剪裁平面,在世界空间中被指定为THREE.Plane对象。这些平面全局使用,空间中与该平面点积为负的点将被切掉。

//local clippingconst plane = new THREE.Plane(new THREE.Vector3(1, 0, 0), 0)material.clippingPlanes = [plane]material.side = THREE.DoubleSidematerial.clipShadows = truerenderer.localClippingEnabled = true

//global clippingrenderer.clippingPlanes = [plane]

总结

以上是生活随笔为你收集整理的Three物体剪切clipping实例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。