unity-使用 Camera 和 Render Texture 制作小地图

使用 Render Texture 和 Camera 制作小地图(MinMap)


效果图
这里写图片描述



1. 创建环境

创建一个 环境如下,地面、绿方(IgnoreCube)、绿圆(Shpere)、红方(Cube)
然后创建一个空对象 MinMap_Camera,并挂上组件 Camera,把 MinMap_Camera 放在 Cube 下作为 子节点(跟随 Cube 移动)

这里写图片描述


2. 创建一个用来存放 MinMap_Camera 中的摄像机所看到画面的 贴图(Render Texture)

  1. 直接在 Project 窗口,右键 Create -> Render Texture,命名为 MinMap

  2. MinMap_CameraCamera 组件中指定这个 Render Texture

    这里写图片描述


3. 创建绘制这个 MinMap 的 UI

直接在场景中创建一个 Raw Image 对象,并在 Raw Image 组件中指定这个 MinMap

这里写图片描述

基本就ok了
done


  • 为啥 MinMap 中看不到 绿方(IgnoreCube) 呢

    这里写图片描述

    因为新加了一个 Layer,把绿色方块指定这个 Layer ,并在 摄像机 中忽略这个 Layer

    1. 创建新 Layer
      Edit -> Project Settings -> Tags And Layers
      新加一个 Layer : MyIgnore
      这里写图片描述
    2. 绿色放开指定这个 Layer
      这里写图片描述
    3. 摄像机中忽略这个 Layer,取消勾选 MyIgnore 即可
      这里写图片描述