当前位置:   article > 正文

UI显示场景中的3D模型人物_unity实现拖拽3d物体旋转,ui面板显示角色

unity实现拖拽3d物体旋转,ui面板显示角色
  1. 这个操作就是让场景中生成的人物在ui上面显示出来,可以不需要代码,只需要通过设置实现,也可以用代码实现

一.通过设置实现,无需代码

1.首先在场景中右键创建一个相机

2.在Project里创建一个RenderTexture

3.把创建好的RenderTexture挂载到相机上面,记得调整相机的位置能看到玩家

4.创建一个材质球

5.把创建好的RenderTexture拖到材质球上,拖完之后再去改材质球的Shader,模式改为UI/Default

6.场景里创建一个Image,把弄好的材质球挂到Image的material上面

这个时候就完成了,但是相机照出会把所有看到的都显示出来,如果不想让他显示别的只想显示玩家,就把相机的ClearFlags模式改一下,改成SolidColor,这样就只会显示玩家了

二.通过代码实现,只需要创建Image
  1. 代码

  1. //要显示的玩家
  2. public GameObject player;
  3. //相机
  4. Camera camera;
  5. void Start()
  6. {
  7. GameObject cam = new GameObject("cam");//新建一个空物体
  8. camera = cam.AddComponent<Camera>();//添加相机组件
  9. camera.transform.position = player.transform.position + player.transform.forward+Vector3.up*0.5f;//调整相机的位置
  10. camera.transform.LookAt(player.transform.position + Vector3.up * 0.5f);//相机一直看向玩家
  11. camera.clearFlags = CameraClearFlags.SolidColor;//改变相机模式,保证显示的只有玩家
  12. RenderTexture texture = new RenderTexture(2500,2500,0);//新建一个RenderTexTure 参数是像素,自己调整
  13. camera.targetTexture = texture;//把生成好的RenderTexture设置到相机上面
  14. Material material = new Material(Shader.Find("UI/Default"));//新建一个材质球
  15. material.mainTexture = texture;//把弄好的RenderTexture放到材质球上
  16. GetComponent<Image>().material = material;//最后一步把Image上面的material设置成我们写好的材质球
  17. }

代码直接挂到Image上就可以

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号