效果预览
注:Cube上附着的绿色是我添加的粒子效果。
软件环境
NGUI 3.9.x
Unity 5.1 x64
相关知识
RenderTexture
RenderTexture是一种特殊的纹理,它是在运行时创建和更新。
文档:http://www.ceeger.com/Components/class-RenderTexture.html
ScrollView
ngui的一个滑动组件
UITexture
ngui显示贴图组件
原理
用一个相机单独照射3D模型和粒子 ——> 把相机的图形映射到RenderTexture上 ——> 把RenderTexture的图形UITexture ——>通过NGUI的Clip对UITexture进行裁剪
步骤
1、创建一个RenderTexture,命名为ModelTexture
2、创建一个新的场景,添加NGUI的2D UI
3、修改场景中的渲染模型的Camera名为:3DCamera,并把ModelTexure赋给它的Target Texture
4、添加模型和粒子,我这儿以原型替代,把它排成一横排
5、修改3DCamera的size,调整模型根节点的位置,直到Camera中能全部显示出场景中的模型和粒子,我这儿把3DCamera改为2D镜头
6、在UI中创建一个ScrollView和UITexture,UIPanel的的裁剪区域,根据需要调整到合适值。
7、把步骤1创建的ModelTexture,拖给UITexture,并修改Texture的Size为1000x1000,同时给UITexture添加BoxCollider和Drag ScrollView
8、同时修改ModelTexture的size也修改为1000x1000
9、运行,调整视觉效果
整体结构
注意点
根据需要调整RenderTexture的Size和Camera的Size,达到最佳视觉效果。
源码
附件:http://files.cnblogs.com/files/zhaoqingqing/ClipModel.zip 需要手动导入NGUI3.9.x,基于Unity5.1
本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/5318857.html,如需转载请自行联系原作者