게임 내에서 동적으로 생성하는 100x100 오브젝트의 위치가 자꾸 50씩 엇나갔다.(화면 상단 노란색 막대기들)
그래서 아래처럼 위치를 localposition대신 position으로 하고, 부모 오브젝트를 설정해주니까 제 자리를 찾아갔는데
GameObject note = Instantiate(notePrefab, noteAppearLocation.position, Quaternion.identity, transform);
문제는 아래처럼 하니까 다시 이상한데에 생성되더라.
부모 오브젝트를 기준으로 Vector.zero 포지션에 생성되길 바랬던건데, 바람과는 다르게 화면 저~~~~~ 아래에 생성된다.
GameObject note = Instantiate(notePrefab, Vector3.zero, Quaternion.identity, noteAppearLocation.transform);
혹시 localposition을 Vector.zero로 만드는 타이밍 문젠가 싶어서 추가로 한 번더 잡아주니까 잘 된다.
타이밍 문제였나봄.
GameObject note = Instantiate(notePrefab, Vector3.zero, Quaternion.identity, noteAppearLocation.transform);
note.transform.localPosition = Vector3.zero;
결국 아래처럼 최종 수정했다. Instantiate의 생성자를 맹신하면 안되겠다.
GameObject note = Instantiate(notePrefab, noteAppearLocation.transform);
note.transform.localPosition = Vector3.zero;
728x90