当前项目,直接用3d模型放到ui上,由于同时会出现多个界面堆叠,存在多个模型的情况,层级处理相当麻烦。
所以,下面就记录下采用Rendertexture方式显示多模型的策略。
主要的想法就是用一个独立camera获取指定CullingMask的显示,利用Rendertexture获取相机图像,然后再使用RawImamge显示到UI上。
上面的camera,Rendertexture,RawImamge显示单个模型的方式,就不做过多介绍了。下面主要来说一下实现多个模型显示的思路。
1.如图所示,可以将Rendertexture预设成2*3,每个单元格可以存放一个模型。
2.将上面的Rendertexture关联给一个RawImage控件,利用uvRect对Rendertexture进行图像裁切,获取某一个区域的模型成像。
public void SetUvRect(float x, float y, float w, float h)
{
if (raw == null)
{
&nb