[Unity]유니티 입문 - Mesh Renderer

·2022년 12월 11일
0

Unity

목록 보기
4/8
post-thumbnail

케이디님의 유니티 입문 강좌를 듣고 정리한 내용입니다.

Mesh Renderer

Mesh Renderer 컴포넌트는 Mesh Filter로 부터 데이터를 받아와서 게임오브젝트의 Transform 컴포넌트의 position에 렌더링한다.

Mesh Filter로 아래와 같이 mesh를 고를 수 있다.
mesh의 vertices(점)과 triangelse(삼각형 면)의 개수를 알 수 있다. 여기서 고른 mesh를 그려주는 것이 Mesh Renderer이다.

Mesh Renderer의 체크 박스를 해제하면 그래픽만 없어진다.

  • Materials
    • size : 재질의 개수
    • Element : 재질을 정해주는 곳. size만큼 요소가 늘어남
  • Lighting
    • Cast Shadows : 그림자 on/off/Two-sided(양면 그림자)/Shadows Only(오브젝트는 안보이고 그림자만 보이게)
    • Receive Shadows : 다른 오브젝트의 그림자에 영향 받기 on/off
    • Contribute Global Illumination : 다른 오브젝트가 반사한 빛과 간접 광등에 영향 받기 on/off
  • Probes
    • Light Probes : 동적 오브젝트들이 빛에 대해 발생하는 연산을 줄이기 위하여, 사전에 배치해둔 라이트 정보값들을 probe구체에 저장하는 기능. = 주변광의 영향 설정
      • Off : light probes 사용하지 않음
      • Blend Probes : 하나의 보정된 light probe 사용. 디폴트 값
      • Use Proxy Volume : 보정된 light probesdml 3D grid 사용. 크기가 큰 오브젝트의 색 영향을 받을 때 사용함.
      • Custom Provided : Renderer가 MaterialPropertyBlock에서 균일한 Light Probe shader 값을 추출한다.
    • Reflection Probes : 반사광에 대한 Probes.
    • Anchor Override : Probes를 사용할 때, 보정(보간)된 위치를 정하는 Transform
  • Additional Settings
    • Dynamic Occlusion : 카메라 방향에 오브젝트가 비춰지지 않을때 사라지게 만드는 기능.

mesh에 따라서 materials의 개수가 정해진 것도 있다. 예시로 cube는 1개로 정해져있기 때문에 2개로 늘릴 경우 아래와 같은 메세지가 뜬다.

아래는 cube의 Receive Shadows On/Off 에 따른 그래픽 차이다.


Code

public class Test5 : MonoBehaviour
{
    [SerializeField]
    private Material red_m;
    [SerializeField]
    private Material green_m;

    private MeshRenderer mesh;

    void Start()
    {
        mesh = GetComponent<MeshRenderer>();
    }

    void Update()
    {
    	//마우스 왼쪽을 누르면 material을 green_m으로 변경
        if (Input.GetMouseButton(0))
        {
            mesh.material = green_m;
        }
        else
        {
            mesh.material = red_m;
        }
    }
}
profile
중요한 건 꺾여도 다시 일어서는 마음

0개의 댓글