本文共 791 字,大约阅读时间需要 2 分钟。
游戏项目中,可能需要实现3D模型的裁切显示,比如让3D
模型在一个圆形的裁切区域内显示,如下效果
RenderTexture
保存摄像机的画面,然后再使用UGUI
的Mask
对RenderTexture
进行裁切。 UGUI
中,有一个MaskI
组件,可以方便的实现IUGUII
的裁切,比如在一个圆形的ImageI
物体上挂上MaskI
组件,那么ImageI
的子物体就会被ImageI
的形状裁切,如下效果
Mask
裁切3D
模型呢,需要借助RenderTexture
,而RenderTexture
的画面需要借助摄像机,所以我们先创建一个独立的摄像机来渲染3D模型。 选择3D
模型,点击Layer - Add Lyaer...
,添加专属的角色层
Layer
设置成Avatar
创建独立摄像机,设置Culling Mask
为Avatar
注意主摄像机不渲染Avatar
层,主摄像机的Culling Mask
不要勾选Avatar
此时可以看到角色摄像机AvatarCam
渲染着角色 在Project
窗口中右键菜单Create - Render Texture
,创建一个RenderTexture
资源
RenderTexture
资源拖到角色摄像机AvatarCam
中的Target Texture
中 此时,摄像机渲染的画面就会保存在这个RenderTexture
资源中了,如下 在之前加了Mask
的Image
物体下创建一个RawImage
,并将RenderTexture
资源拖给RawImage
的Texture
,如下
Mask
裁切3D
模型的效果就出现了 转载地址:http://gtzvf.baihongyu.com/