Unity에서 반사 탐지 거울을 사용하지 않는 설치

1. 시작


유니티에 거울을 설치하려고 살짝 조사해 봤더니 거울면 반사를 위해 반사 표시기를 사용했다.하지만 이 반사 탐지는 6개의 카메라를 포함하고 있어 처리가 무거운 것 같다.
구체와 입방체 등의 반사는 물론이고 평면의 거울에는 그렇게 많은 카메라가 필요하지 않다.그래서 우리는 반사탐지기를 사용하지 않고 거울을 설치하기 위해 카메라 하나만 사용한다.

2. 준비할 것


a. 거울의 대상으로 사용


평면이든 거의 평면이든 울퉁불퉁해도 된다.반사면이 한 방향으로 향하는 것만 대응할 수 있다.

b. 거울용 카메라


이것은 거울에 반사된 경치를 돋보이게 하는 데 쓰이는 무늬의 카메라다.
a 앞에 놓고 거울을 보세요.

c. 텍스쳐 렌더링


b의 카메라가 과장한 풍경을 보존하다.

d. 거울용 재료


b의 카메라에서 얻은 무늬 c를 a에 붙인다.

e. 거울을 카메라로 반사 방향을 향하는 스크립트


b의 카메라를 반사 방향으로 거울을 재현하다.

3. 작업 단계


(1) 거울용 객체 설정(a)


여기서 등급 제도를 마우스 오른쪽 버튼으로 눌러 3D Object&Plane을 선택합니다.
필요한 경우 배율을 적절하게 변경하거나 이동하거나 회전합니다.

(2) 렌더링 텍스처 생성(c)


프로젝트 창을 마우스 오른쪽 버튼으로 클릭하고 Create > 렌더링 Texture를 선택합니다.

(3) 거울용 카메라 설치(b)


마우스 우클릭으로 레벨 제도를 만듭니다.Target Texture에서 렌더링 텍스쳐(c)를 지정하십시오.또한 기본 카메라와 다른 Target Display를 선택하십시오.
거울 대상(a) 앞에 놓고 거울 대상(a)의 자식이 되도록 한다

(4) 거울용 재료 제작 및 응용(d)


항목 창을 마우스 오른쪽 버튼으로 클릭하면Create>Material이 표시됩니다.텍스쳐 렌더링(c)을 텍스처로 지정하십시오.
이 소재(d)를 등급 제도경의 대상(a)에 끌어다 놓으세요.
이때 거울용 카메라(b)에서 보는 풍경은 거울용 대상(a)이어야 한다.

(5) 미러링용 카메라 스크립트 만들기(e)


이 스크립트로 거울을 사용하는 카메라 (b) 를 메인 카메라에서 거울의 벡터로 거울이 반사되는 방향으로 조정합니다.
MirrorCam.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MirrorReflectionCam : MonoBehaviour {
    public Transform mainCam;
    public Transform mirror;


    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        Vector3 A = mirror.position - mainCam.position;
        Vector3 refVec = Vector3.Reflect(A, mirror.up);


        Quaternion rot = Quaternion.LookRotation(refVec,mainCam.up);
        gameObject.transform.rotation = rot;


    }
}
이런 각본을 거울용 카메라에 부착하다.검사자에서mirror에서 거울에 사용할 대상을 지정하고mainCam에서 메인 카메라를 지정합니다.
Vector3.Reflect는 벡터와 반사면의 법선 지정을 입력한 후 반사 벡터를 반환하는 편리한 함수입니다.
이렇게 하면 거울을 사용하는 대상(a)이 거울처럼 작용해야 한다.

위에서 캡처한 메인 카메라와 거울, 그리고 다른 대상의 위치 관계는 아래의 캡처입니다.이동용 pibot이 나온 것은 거울용 카메라(b), 오른쪽 아래의 카메라는 메인 카메라다.이 캡처는 실행 중 중단된 것으로 거울용 카메라(b)가 반사 방향을 향해 있는 것을 볼 수 있다.

좋은 웹페이지 즐겨찾기