NGUI裁剪模型和粒子

本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/5318857.html



效果预览#

model_scrollview

注: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 wpsEF4C.tmp

2、创建一个新的场景,添加NGUI的2D UI

3、修改场景中的渲染模型的Camera名为:3DCamera,并把ModelTexure赋给它的Target Texture

4、添加模型和粒子,我这儿以原型替代,把它排成一横排

wpsEF5D.tmpwpsEF5E.tmp

5、修改3DCamera的size,调整模型根节点的位置,直到Camera中能全部显示出场景中的模型和粒子,我这儿把3DCamera改为2D镜头

wpsEF5F.tmpwpsEF60.tmpwpsEF61.tmp

6、在UI中创建一个ScrollView和UITexture,UIPanel的的裁剪区域,根据需要调整到合适值。

wpsEF62.tmpwpsEF72.tmp

7、把步骤1创建的ModelTexture,拖给UITexture,并修改Texture的Size为1000x1000,同时给UITexture添加BoxCollider和Drag ScrollView

wpsEF73.tmpwpsEF74.tmp

8、同时修改ModelTexture的size也修改为1000x1000

wpsEF75.tmp

9、运行,调整视觉效果

整体结构#

wpsEF86.tmp

注意点#

根据需要调整RenderTexture的Size和Camera的Size,达到最佳视觉效果。

源码#

附件:https://files.cnblogs.com/files/zhaoqingqing/ClipModel.zip  需要手动导入NGUI3.9.x,基于Unity5.1

作者:赵青青   一名在【网易游戏】做游戏开发的程序员,擅长Unity3D,游戏开发,.NET等领域。
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
posted @   赵青青  阅读(3153)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示
CONTENTS