요약: mesh filter에 걸려있는 mesh가 일부만 렌더됨. 근데 어떻게 한건지 모르겠음. (메터리얼 문제는 아닌 거 확인하였음)
유니티 맵파일을 넣어봤는데
거기 있는 한 오브젝트의 mesh filter에 지정된 mesh랑 실제로 렌더링되어서 보여지고 있는 mesh랑 다름.
mesh filter에 있는 mesh가 부엌 가구들(A)이라면, 실제로 렌더링되고 있는 mesh는 의자인 식임.
다시말해 A는 B를 포함해서 식탁, 캐비넷 등등이 하나의 mesh인 A로 묶여있음.
다른 캐비넷이나 식탁같은 오브젝트도 클릭해서 보면 mesh filter에는 어김없이 A가 지정돼있지만, 렌더링 돼서 보여지는건 캐비넷, 식탁 딱 이것만 보임
아마 mesh를 하나로 퉁쳐버려서 최적화를 하는 기술인거 같은데
문제는 이걸 어디서 어떻게 조절한건지 내가 못찾겠음;
완전 유니티 초보로 독학중인데 좀 어렵네ㅠ
ㅋㅋㅋ 보니까 초보라서 더 헷갈리는 듯. 저거 유니티에서 LOD (Level of Detail) 나 Occlusion Culling 관련일 수도 있음. 요새 최적화 하려고 메쉬 여러 개를 묶어서 덩어리 하나로 렌더링하는 경우 많거든. 이걸로 하드웨어 부담 줄이는 건데, 문제는 자동으로 하다 보니까 가끔 쓸데없이 다르게 뜨는 경우가 있음. LOD 확인해 봐라 - 유니티 씬 뷰에서 해당 오브젝트의 Inspector에 LOD Group이 있는지 확인. 있으면 거리 따라 다른 메쉬로 바꿔서 렌더링하는 거라서 거리 조절해 주면 됨.
Occlusion Culling 켜져 있는지 확인해라 - 프로젝트 세팅이나 카메라 세팅 가서 Culling 옵션 확인. 이거 꺼봐라. 근처 오브젝트만 보이는 게 이거 때문일 가능성 큼. 메쉬 합치는 기능 - 아마 저 맵 만들 때 메쉬 퉁쳐서 병합한 거 같음. 타겟 메쉬를 일일이 나눌 수도 있는데, 이건 좀 귀찮을 거다. 이래도 모르겠으면 유튜브나 구글에서 “Unity LOD 문제 해결” 같은 걸로 찾아봐라. 그리고 뭐든 뚝딱 해결되길 바라지 말고 차근차근 이해해라. 유니티는 하다 보면 답 나온다. +
gpt한테 디시식으로 답변하라니까 이렇다는데
와 이게 gpt가 내놓은 답변이라고? 맞는지 확인은 안해봤는데 ㅈㄴ 그럴듯해보이는데
확인해봤는데 아닌듯?
나도 gpt한테 물어봤는데 static batching 라고해서 찾아보니까 맞는듯; gpt 개사기노
그거 예전에 해결한 적 있는데 매쉬를 리스트나 배열로 읽어와야 함. 그냥 읽어오면 맨 위에꺼만 읽어옴. 변수 하나 만들어서 foreach로 거기 다 넣으면 전부 불러올 수 있음
이 문제가 맞다면...
잘 이해를 못했는데 혹시 좀만 풀어서 얘기해줄 수 있음? 합쳐진 메쉬가 맨 위에꺼고, foreach를 활용한 스크립트를 짜면 합쳐진 메쉬뿐만 아니라, 분할된 메쉬까지도 프로젝트로 불러들일수 있다는 말씀?
만약 이게 맞다면 코딩을 아예 몰라서 ㅠ
혹시 매쉬 필터 아래의 매터리얼 적용이 여러 개가 되어있으면 맞음 그게 아니면 내가 아는 사례가 아님 설명보고 착각한거고
어... 그러니까 잠깐만 있어봐 관련글을써줌 ㄱㄷ
아 아마 아닌거 같음. 내 경우는 오브젝트 하나당 메터리얼 하나야. 빌드할때 static batching이라는 기능으로 메쉬가 하나로 합쳐져버린거 같음. 찾아보니까 이건 분할된 메쉬를 얻고 싶으면 직접 일일히 나누는 방법밖에 없는듯