유니티(unity)

유니티(unity) 카메라를 이용한 거울반사(Mirror reflection) 효과 적용

JakeGD 2017. 12. 7. 15:47

거울반사(Mirror reflection) 효과 적용


카메라를 이용한 거울 반사 효과를 설명하도록 하겠습니다.


유니티 Hierarchy에서 카메라하나를 생성합니다.



거울 반사를 적용시킬 스크립트 하나 생성후 아래와 같은 코드를 작성합니다.


using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class RoomMirror : MonoBehaviour {


    private Camera CameraMirro;


    void Awake()

    {

        // 카메라컨포넌트를 조작하기위해 GetComponent를 이용하여 불러옵니다.

        CameraMirro = GetComponent<Camera>();

    }

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

}


    public void OnPreCull()

    {

        CameraMirro.ResetProjectionMatrix();

        CameraMirro.projectionMatrix = CameraMirro.projectionMatrix * Matrix4x4.Scale(new Vector3(-1, 1, 1));

    }


    public void OnPreRender()

    {

        GL.invertCulling = true;

    }


    public void OnPostRender()

    {

        GL.invertCulling = false;

    }

}


그다음 유니티에서 해당 스크립트를 적용해주면 끝!


미적용


적용완료