【简单入门】在UI上用图片image实时显示3D人物状态 两种方法

方法一:代码实现

效果:

一:搭建UI

把人物放在场景中,这里我做了一个背景图,大家可以根据喜好自行选择。

左下角放置一张图片image,用来显示人物,命名为showRole;

二:在上面挂一个脚本<LockPlayer>

代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class LockPlayer : MonoBehaviour
{
    public GameObject player;
    Camera camera;
    void Start()
    {
        //生成新相机,名字为cam
        GameObject cam = new GameObject("cam");
        camera = cam.AddComponent<Camera>();
        camera.clearFlags = CameraClearFlags.Color;
        //相机位置赋值
        camera.transform.position = player.transform.position + player.transform.forward + Vector3.up * 0.5f;
        //相机朝向
        camera.transform.LookAt(player.transform.position + Vector3.up * 0.5f);

        //纹理设置
        RenderTexture texture = new RenderTexture(256, 256,0);
        camera.targetTexture = texture;

        //材质设置
        Material material = new Material(Shader.Find("UI/Default"));
        material.mainTexture = texture;
        GetComponent<Image>().material = material;

    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

三:人物拖拽

猜你喜欢

转载自blog.csdn.net/m0_74022070/article/details/130106719
今日推荐