유니티 Light Bake시 머티리얼이 이상하게 보이는 오류
·
Unity/3D
유니티에서 실시간으로 적용되는 빛 효과들은 많은 드로우콜을 유발하기 때문에, CPU와 GPU에 많은 부담을 주게 된다. 따라서 빛에 의해 오브젝트에 적용되는 그림자는 Lighting Bake를 통해 Lightmap을 만들어 텍스쳐 형태로 관리하여 부담을 줄일 수 있다. 하지만 라이트맵을 사용하다보면 아래와 같이 모델링의 텍스쳐가 이상하게 보이는 경우가 존재한다.문제가 되는 오브젝트를 클릭하면, This GameObject has overlapping UVs라는에러 메세지가 동반되어 있을텐데, 한마디로 겹치는 UV가 존재한다는 의미다.UV는 3D모델링을 2D로 표현할때 사용되는 좌표 값이다.셰이더를 만져본 적이 있으면 조금 더 이해가 빠를 것이다.  https://docs.unity3d.com/kr/201..
[Unity] Video Player 사용 시 전에 영상이 잠깐 보일 때
·
Unity/3D
RendererTexture에 이전에 사용하던 영상의 정보가 남아 있어서 생기는 문제이니,아래처럼 VideoPlayer에 TargetTexture(RendererTexture)에 접근해서 해당 Texture를 Release해주면 된다.
유니티에서 오브젝트를 찾는 방법
·
Unity/3D
유니티에서 오브젝트를 찾는 방법은 아래와 같습니다. 1. GameObject.Find("찾고 싶은 오브젝트 이름"); - 이름으로 오브젝트를 찾아서 gameObject 형식으로 반환 받습니다. 2. GameObject.FindWithTag("찾고 싶은 오브젝트의 태그명"); - 태그로 오브젝트를 찾아서 gameObject 형식으로 반환 받습니다. 3. GameObject_FindGameObjectsWithTag("찾고 싶은 오브젝트들의 태그명"); - 태그로 오브젝트들을 찾아서 gameObject[ ] 형식으로 반환 받습니다. 4. GameObject.Find("찾고 싶은 오브젝트 이름").transform; - 이름으로 오브젝트를 찾아서 transform 형식으로 반환 받습니다. 사용 예시 참고 사항 ..
유니티 3D 플레이어 추적 구현
·
Unity/3D
유니티 3D에서 플레이어를 자동으로 추적하는 적을 만드는 법을 정리해 보겠습니다. 먼저 Window -> AI -> Navigation을 눌러 Navigation 창을 띄워줍니다. 그러면 Inspector 창 옆에 Navigation 창이 뜨게되는데 여기서 Bake탭의 우측하단에 Bake 버튼을 누르면 유니티에서 해당 오브젝트의 3D 모델의 메쉬정보를 기준으로 네비게이션 길을 자동으로 만들어줍니다. 단, 여기서 중요한 점이 Bake를 할 오브젝트는 반드시 static 상태여야만 합니다. 이유는 static상태가 아닐경우 해당 오브젝트의 3D 메쉬정보를 재대로 읽어오지 못할 수 있기 때문입니다. 그러므로 장애물(길)이 될 오브젝트의 Inspector의 static 탭을 눌러 Navigation을 체크해주도..
Unity 3D에서 플레이어 이동시키기
·
Unity/3D
유니티에서 3D 오브젝트로 이뤄진 플레이어를 움직이는 기본적인 방법이 사용된 코드이다. 22번줄 flaot h = Input.GetAxisRaw("Horizontral")은 키보드 A,D, 좌,우 방향키의 입력을 감지해 왼쪽은 -1, 오른쪽은 1의 값을 반환하는 Input 클래스 안에 있는 GetAxisRaw함수를 사용한것이다. 즉 사용자의 키 입력에따라 -1,0,1의 값을 반환하게 된다. 23번줄 float v = Input.GetAxisRaw("Vertical")은 키보드 W,S, 위, 아래 방향키의 입력을 감지해 윗방향은 1, 아래 방향은 -1의 값을 반환하는 코드이다. 이것 또한, 사용자의 키 입력에 따라 -1,0,1의 값을 반환한다. 26번줄 Vector3의 moveDir = (Vector3.f..