赞
踩
这个操作就是让场景中生成的人物在ui上面显示出来,可以不需要代码,只需要通过设置实现,也可以用代码实现
1.首先在场景中右键创建一个相机
2.在Project里创建一个RenderTexture
3.把创建好的RenderTexture挂载到相机上面,记得调整相机的位置能看到玩家
4.创建一个材质球
5.把创建好的RenderTexture拖到材质球上,拖完之后再去改材质球的Shader,模式改为UI/Default
6.场景里创建一个Image,把弄好的材质球挂到Image的material上面
这个时候就完成了,但是相机照出会把所有看到的都显示出来,如果不想让他显示别的只想显示玩家,就把相机的ClearFlags模式改一下,改成SolidColor,这样就只会显示玩家了
代码
- //要显示的玩家
- public GameObject player;
- //相机
- Camera camera;
- void Start()
- {
- GameObject cam = new GameObject("cam");//新建一个空物体
- camera = cam.AddComponent<Camera>();//添加相机组件
- camera.transform.position = player.transform.position + player.transform.forward+Vector3.up*0.5f;//调整相机的位置
- camera.transform.LookAt(player.transform.position + Vector3.up * 0.5f);//相机一直看向玩家
- camera.clearFlags = CameraClearFlags.SolidColor;//改变相机模式,保证显示的只有玩家
- RenderTexture texture = new RenderTexture(2500,2500,0);//新建一个RenderTexTure 参数是像素,自己调整
- camera.targetTexture = texture;//把生成好的RenderTexture设置到相机上面
-
- Material material = new Material(Shader.Find("UI/Default"));//新建一个材质球
- material.mainTexture = texture;//把弄好的RenderTexture放到材质球上
-
- GetComponent<Image>().material = material;//最后一步把Image上面的material设置成我们写好的材质球
- }
代码直接挂到Image上就可以
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。