unity学习日记:怎样在UI界面上渲染3D模型
2017-07-07 09:57
525 查看
有时候在 游戏中,我们会需要在UI上面显示3d模型(例如角色选择、装备选择、装备预览等等),这时候我们就要用到RenderTexture和UI里面的RawImage。具体做法就是新建一个RenderTexture资源,将它命名为texture_1好了,并在画布上新建一个RawImage,将RawImage的Texture设置为我们刚刚建好的texture_1,接着新建一个Camera,让需要渲染的3d模型处于此Camera视线内,最后将此Camera的TargetTexture设置为texture_1就可以了。
(1)新建RenderTexture
(2)在画布上新建一个RawImage
(3)将RawImage的Texture设置为我们刚刚建好的texture_1
(4)接着新建一个Camera,让需要渲染的3d模型处于此Camera视线内
(5)最后将此Camera的TargetTexture设置为texture_1,OK我们现在已经可以在UI上看到这个3d模型了。
我们来试一试去控制模型的旋转,可以看到UI上面的模型也会怎着旋转。如果希望相机值渲染这个模型,而模型后面的背景不被渲染,那么我们可以新建一个Layer,将模型的Layer改为新建的这个Layer,然后将Camera的Culling Mask更改为只有保留新建的这个Layer即可。但是这是我们会发现天空盒仍在被渲染,我们将Camera的Clear Flags更改为solid color就可以了(注:此项如果改为天空盒和solid color之外的两项,那么模型发生动作的时候会产生拖影!!!)。
最后,摄像机的Target Texture可以实现很多功能,例如动态阴影、背景模糊、镜子效果、监视器效果等等。
(1)新建RenderTexture
(2)在画布上新建一个RawImage
(3)将RawImage的Texture设置为我们刚刚建好的texture_1
(4)接着新建一个Camera,让需要渲染的3d模型处于此Camera视线内
(5)最后将此Camera的TargetTexture设置为texture_1,OK我们现在已经可以在UI上看到这个3d模型了。
我们来试一试去控制模型的旋转,可以看到UI上面的模型也会怎着旋转。如果希望相机值渲染这个模型,而模型后面的背景不被渲染,那么我们可以新建一个Layer,将模型的Layer改为新建的这个Layer,然后将Camera的Culling Mask更改为只有保留新建的这个Layer即可。但是这是我们会发现天空盒仍在被渲染,我们将Camera的Clear Flags更改为solid color就可以了(注:此项如果改为天空盒和solid color之外的两项,那么模型发生动作的时候会产生拖影!!!)。
最后,摄像机的Target Texture可以实现很多功能,例如动态阴影、背景模糊、镜子效果、监视器效果等等。
相关文章推荐
- 【Unity 3D学习】把3D模型放置到2D平面的两种方法
- Unity 3D学习日记(3)
- DirectX 10 学习笔记6:渲染3D模型
- unity 3D Mesh网络模型,怎样将Constructer拖入场景??
- unity 3D学习日记:创建一个小场景并编写简单C#移动脚本
- Unity 3D学习日记(5)
- Unity开发者怎样获得3D模型的大小尺寸
- Unity 3D学习日记(1)
- Unity 3D学习日记(6)
- 关于Unity在2D的UGUI和3D模型交错时渲染顺序的一点探讨
- 【Unity 3D】学习笔记四十七:实例——观察模型
- Unity 3D学习日记(4)
- 【Unity 3D】学习笔记四十四:路径渲染
- [Unity 3D] 物理引擎学习笔记(一)
- Open GL学习 (二) 3D模型的使用
- 【D3D11游戏编程】学习笔记七:3D渲染管线
- 使用Molehill渲染3D模型
- Open GL学习 (二) 3D模型的使用
- 【转载】Unity 隱藏3D模型及 GetComponentsInChildren 的使用
- Unity 3D 学习笔记