发布时间:2024-02-13 12:30
实现效果:
本文使用飞机模型实现此功能。
实现思想:
01.在 hierarchy创建RawImage 和Toggle,并为它们命名为如下的名字。
02.在assest中创建一个RenderTexture,并为其命名为render。
03.在飞机的预制体下面创建一个相机,命名为FollowCamera
04.编写脚本cameraDisplay,编写完成之后挂在isRawImage上面
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class cameraDisplay : MonoBehaviour
{
public RenderTexture rt;
public Camera cam;
private RawImage UIImage;
Toggle isRawCamera;
void Start()
{
if (isRawCamera == null)
{
isRawCamera = GetComponent<Toggle>();
}
isRawCamera.isOn = false;
if (UIImage == null)
{
UIImage = GameObject.Find("RawImage").GetComponent<RawImage>();
}
UIImage.enabled = false;
UIImage.texture = null;
}
void Update()
{
if (Input.GetKeyUp(KeyCode.F))
{
if (isRawCamera.isOn == false)
{
isRawCamera.isOn = true;
}
else
{
isRawCamera.isOn = false;
}
}
if (isRawCamera.isOn == true)
{
UIImage.enabled = true;
UIImage.texture = rt;
}
else
{
UIImage.enabled = false;
UIImage.texture = null;
}
}
}
06.摄像机的TargetTexture也要将render拖拽过去!!!(注意,如果不拖过去,显示的小窗口中将会是一片黑色或者并不是动图!如下图)
以上,本文是看着
https://blog.csdn.net/weixin_39549161/article/details/99303088
这个链接做的。
我踩坑的点:
01.添加了挂在飞机上面的摄像机之后,Game只显示FollowCamera的画面,不在显示mainCamera的画面了。这种情况下你要去查看2个相机的Depth属性。Depth属性值越大,谁就先显示在Game当中。
02.忘了将摄像机的TargetTexture属性也要将render拖拽过去,以至于找了半天,小窗口显示的还是黑屏。
超详细一次搞定Eslint + Prettier + husky + lint-staged前端代码工作流
数组容器(ArrayList)设计与Java实现,看完这个你不懂ArrayList,你找我!!!
11月21日科技资讯|罗永浩将举办「老人与海」发布会;微软疑似遭遇大范围全球宕机;Python 3.9 首个测试版发布
使用net core 6 c# 的 NPOI 包,读取excel..xlsx单元格内的图片,并存储到指定服务器
ElasticSearch、kibana设置账户密码;ElasticSearch对外访问
CTF中Web题目的各种基础的思路-----入门篇十分的详细
其实 Gradle Transform 就是个纸老虎 —— Gradle 系列(4)