Unity使用RenderTexture实现裁切3D模型
发布日期:2021-06-30 19:35:16
浏览次数:2
分类:技术文章
本文共 791 字,大约阅读时间需要 2 分钟。
文章目录
一、前言
游戏项目中,可能需要实现3D模型的裁切显示,比如让3D
模型在一个圆形的裁切区域内显示,如下效果
RenderTexture
保存摄像机的画面,然后再使用UGUI
的Mask
对RenderTexture
进行裁切。 二、实现步骤
1 UGUI的Mask裁切
UGUI
中,有一个MaskI
组件,可以方便的实现IUGUII
的裁切,比如在一个圆形的ImageI
物体上挂上MaskI
组件,那么ImageI
的子物体就会被ImageI
的形状裁切,如下效果
Mask
裁切3D
模型呢,需要借助RenderTexture
,而RenderTexture
的画面需要借助摄像机,所以我们先创建一个独立的摄像机来渲染3D模型。 2 使用独立摄像机渲染3D模型
选择3D
模型,点击Layer - Add Lyaer...
,添加专属的角色层
Layer
设置成Avatar
创建独立摄像机,设置Culling Mask
为Avatar
注意主摄像机不渲染Avatar
层,主摄像机的Culling Mask
不要勾选Avatar
此时可以看到角色摄像机AvatarCam
渲染着角色 3 使用RenderTexture存储摄像机的渲染
在Project
窗口中右键菜单Create - Render Texture
,创建一个RenderTexture
资源
RenderTexture
资源拖到角色摄像机AvatarCam
中的Target Texture
中 此时,摄像机渲染的画面就会保存在这个RenderTexture
资源中了,如下 4 使用RawImage显示RenderTexture
在之前加了Mask
的Image
物体下创建一个RawImage
,并将RenderTexture
资源拖给RawImage
的Texture
,如下
Mask
裁切3D
模型的效果就出现了 转载地址:https://linxinfa.blog.csdn.net/article/details/107315873 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月07日 00时14分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
scala maven plugin
2019-04-30
flink 1-个人理解
2019-04-30
redis cli
2019-04-30
redis api
2019-04-30
flink physical partition
2019-04-30
java 解析json
2019-04-30
java http请求
2019-04-30
tensorflow 数据格式
2019-04-30
tf rnn layer
2019-04-30
常用中间件
2019-04-30
tf input layer
2019-04-30
tf model create
2019-04-30
tf dense layer两种创建方式的对比和numpy实现
2019-04-30
tf initializer
2019-04-30
tf 从RNN到BERT
2019-04-30
tf keras SimpleRNN源码解析
2019-04-30
tf keras Dense源码解析
2019-04-30
tf rnn输入输出的维度和权重的维度
2019-04-30
检验是否服从同一分布
2019-04-30
tf callbacks
2019-04-30