Unity镜子效果的实现(无需镜子Shader)

Unity镜子效果制作教程


本文提供全流程,中文翻译。

Chinar 坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)



Chinar —— 心分享、心创新!

助力快速实现一个简单的镜面反射效果

为新手节省宝贵的时间,避免采坑!


Chinar 教程效果:


  • 1
    • Create Mirror —— 创建镜子
  • 2
    • Create Camera —— 创建一个新相机
  • 3
    • Main Camera —— 主相机脚本(方便看到测试效果)
  • 4
    • Create Cube —— 创建一个立方体
  • 5
    • Indistinct —— 显示效果不清晰
  • 6
    • Project —— 项目文件
  • 支持
    • May Be —— 搞开发,总有一天要做的事!


全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

Create Mirror —— 创建镜子


本教程,无需自己找镜子Shader,只需2个脚本即可在Unity中创建一个简单的模拟镜面反射效果

1. 在场景中创建一个 Plane —— 用来作为镜子

2. 同时创建一个材质球 /Material —— 给到 Plane

3. 修改新创建的 Material Shader Unlit/Texture

举个栗子黑白88
这里写图片描述


2

Create Camera —— 创建一个新相机


1. 新建一个 Render Texture(我改名为 Plane 便于区分和理解)

2. 右键 层次列表/Hierarchy —— 创建一个新的 Camera

3. 将新建的 Render Texture(Plane)给新建的 Camera 组件中的 Target Texture

4. 给新建的 Camera相机,添加脚本 ChinarMirrorPlane

并将 Main Camera Plane 拖到 Inspector 面板中对应的属性里

5. 给新建的 Camera相机,添加脚本 ChinarMirror ,并将 Plane 拖至 Inspector 面板中

注意: 一定要修改 Plane 材质的属性为:
这里写图片描述
具体流程其实很简单,如下
举个栗子黑白88

两个脚本,都需要挂载到 Camera

using UnityEngine;


/// 
/// 镜子管理脚本 —— 挂在新建的Camera上
/// 
[ExecuteInEditMode]
public class ChinarMirror : MonoBehaviour
{
    public  GameObject mirrorPlane;  //镜子
    public  Camera     mainCamera;   //主摄像机
    private Camera     mirrorCamera; //镜像摄像机


    private void Start()
    {
        mirrorCa

你可能感兴趣的:(游戏)