Unity 在UI面板显示物体
问题描述:在UI面板上显示场景物体,并且能够观察其变化情况。
问题原因:游戏场景物体与UI的渲染不同。解决方案:
创建相机,让游戏物体映射在UI面板上。
这里主要介绍如何在UI面板显示物体
1. 创建UI界面,并留出展览物体的空间。
2. 将场景物体放置远处,避免影响场景渲染。
3. 创建相机,移除AudioListener组件。在资源中创建RenderTexture并赋值给TargetTexture。
4. 在UI面板创建RawImage,并赋值RenderTexture,用来显示相机渲染的物体。
5. 创建不同的material,并通过代码修改物体,为按钮添加点击事件。
ChangeColor 脚本代码如下:
using UnityEngine;
using System.Collections.Generic;
public class ChangeColor : MonoBehaviour
{
public MeshRenderer cubeRender;
public List<Material> colorMaterials;
public void OnClickChangBtn(int no = 0)
{
cubeRender.material = colorMaterials[no];
}
}
为按钮添加点击事件
因为作者精力有限,文章中难免出现一些错漏,敬请广大专家和网友批评、指正。