UI显示场景中的3D模型人物

  1. 这个操作就是让场景中生成的人物在ui上面显示出来,可以不需要代码,只需要通过设置实现,也可以用代码实现

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

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

2.在Project里创建一个RenderTexture

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

4.创建一个材质球

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

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

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

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

 //要显示的玩家
    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上就可以

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值