方法一:代码实现
效果:
一:搭建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()
{
}
}