Three物体剪切clipping实例

基础环境搭建:

在这里插入图片描述

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

在这里插入图片描述

添加阴影:

![在这里插入图片描述](https://img-blog.csdnimg.cn/caa468a1d64e4478a5753533c47496c8.pn

物体剪切:

在三维空间中无限延伸的二维平面,平面方程用单位长度的法向量和常数表示为海塞法向量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 clipping
    const plane = new THREE.Plane(new THREE.Vector3(1, 0, 0), 0)
    material.clippingPlanes = [plane]
    material.side = THREE.DoubleSide
    material.clipShadows = true
    renderer.localClippingEnabled = true

在这里插入图片描述

    //global clipping
    renderer.clippingPlanes = [plane]

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值