프리펩 변형(Prefab Variant)

프리펩에 우클릭 - Create - Prefab Variant를 누르면 새 프리펩이 생성된다.

Prefab Variant

Prefab Variant는 저렇게 빗금이 쳐져있는 프리펩 모양으로 생성된다.

Prefab Variant는 프리펩의 자녀로 생각하면 된다. 프리펩의 모든 수정사항은 특정 매개변수를 오버라이드하지 않는 이상 Variant에 반영된다.

Variant 생성

이전에 만든 Prefab Variant에서 Mesh Filter를 바꿔준다. Mesh Filter는 mesh의 틀이라고 생각된다.

Mesh Filter

변경한 Mesh Filter를 제외한 다른 것들이 Tile에서 온 것을 알 수 있다.

Tile의 자식 개념

Tile 프리펩을 수정하면 Tile 프리펩의 Variant인 Tile_RoadStraight도 변경사항이 적용되게 된다.(둘은 연결되어 있음)

Tile_RoadStraight에 적용

위의 과정으로 모서리도 만들어줬다.

하나 더 만들기

길의 방향을 나타내기 위해 타일 자체를 회전하면 Text도 같이 회전한다.

Tile 회전하기

이를 막기위해 Tile Mesh만 회전하는 방법이 있지만 그 때마다 회전하기는 불편하다.

Tile Mesh 회전

그래서 Prefab Variant의 Prefab Variant를 만들 수 있다는 것을 이용해 각 방향의 프리펩을 만들어주면 된다. (위 방법을 방향마다 한 번 씩만 적용해주면 된다.)

그리고 아까와 같이 Prefab Variant를 수정하면 Prefab Variant의 Variant도 수정된다.

프리펩 Variant의 Variant

이 상황에서 Tile 프리펩을 변경해도 Prefab Variant와 Prefab Variant의 Variant는 변경되지 않는데

?

Variant의 Scale이 기존 Tile 프리펩에 Override하고 있기 때문이다. Revert하면 Tile 프리펩의 Scale로 돌아간다.

Override

Revert 한 후 다시 Tile Scale을 바꾸면

Revert

Tile 프리펩부터 Tile의 Variant 프리펩, Variant의 Variant 프리펩까지 적용이 되는 걸 볼 수 있다.

적용이 잘 된다.

누구의 Variant인지 헷갈릴 때 Variant의 Open에 커서를 올리면 해당 정보가 나와있다. 그리고 누르면 그 Variant의 원본 프리펩으로 가게 된다.

누구야?

이렇게 이동하면 좌측 상단에 프리펩 이동 흐름이 나와있다.

Tile Straight 90 -> Tile Straight -> Tile

 

실습

타일들을 정리해주고 Path를 순서대로 맞춰서 한번에 Enemy의 Path List에 넣어준다.

실습

실행

잘 이동하는 걸 볼 수 있다.

실행

 

+ Recent posts