레벨디자인 할때 미리 몹이나 배경들 프리펩으로 그룹으로 셋팅해놓은것
다른 레벨환경에 가져다 쓸때 지면 울퉁불퉁하면 그거 맞출때
이 스크립트를 오브젝트 모두 선택후 할당하니 바로 지면에 딱 맞아 떨어지네
좋은건 이렇게 하고 바로 스크립트 삭제하면 그대로 유지가되네
메뉴얼에는 에디터모드에서만 실행이 어쩌구 이래서 와닿치 않았었거든
#if UNITY_EDITOR
using UnityEditor;
#endif
using UnityEngine;
[ExecuteInEditMode]
public class AutoAlignToGround : MonoBehaviour
{
//이 스크립트를 오브젝트에 붙이면 씬 뷰에서 이동할 때마다
//자동으로 지면 위에 정렬됨.한번 적용후 삭제하면 됨
void Update()
{
if (!Application.isPlaying) // 에디터 모드에서만 실행
{
RaycastHit hit;
if (Physics.Raycast(transform.position, Vector3.down, out hit, Mathf.Infinity))
{
transform.position = hit.point;
}
}
}
}
요거 그대로 땅바닥위에 딱 놓고 싶은 오브젝트에 붙여넣기만 하면 바로 적용
그뒤로는 그냥 이스크립트 지우면 됨.
나무하고 집 몬스터 배치해놓은 방대한 프리팹을
다른 씬의 울퉁불퉁한 터레인지형에 한큐에 배치 되었다
나만 몰랐던거냐 ㅎㅎ
난 그거 길이조절 되는 사다리 배치할때 씀
갓 고수 추
??이거 코드로 쓸필요없이 원래있는 기능 아닌가
법선 따라서 까는 거는 직접 드래 그해야할텐데 저건 응용하면 잔뜩 깔아둔 다음 활성화할 수도 있을 듯