Unity 프로젝트에는 몇 가지 자료 파일이있는 폴더가 있습니다. 이 머티리얼은 다양한 메쉬에 할당 할 수 있습니다.이 머티리얼의 목록을 가지고 Update()에서이 목록을 반복하고 싶습니다.Unity의 자료 목록
자동으로이 목록을 유지하는 방법이 있습니까? 폴더에 재질 파일을 추가하고 해당 Material 개체가이 목록에 추가됩니까?
Unity 프로젝트에는 몇 가지 자료 파일이있는 폴더가 있습니다. 이 머티리얼은 다양한 메쉬에 할당 할 수 있습니다.이 머티리얼의 목록을 가지고 Update()에서이 목록을 반복하고 싶습니다.Unity의 자료 목록
자동으로이 목록을 유지하는 방법이 있습니까? 폴더에 재질 파일을 추가하고 해당 Material 개체가이 목록에 추가됩니까?
폴더를 순환하고 .mat
확장자가있는 모든 파일을 찾아 수동으로로드해야합니다.
material file의 이름을 얻기 위해 C# File
및 Directory
클래스를보십시오. System.IO
. 다음 Resources.Load()
I-E로 그들을로드 :
Resources.Load("Material/Night_Sky", typeof(Material)) as Material;
편집 : 빌드 당신이 System.IO
와 재료의 이름을 얻을 수있는 유일한 EDITOR에서 작동됩니다 위의 솔루션입니다. Resources.Load
은 빌드에서 잘 작동하지만 재질 이름이 필요합니다. 설명에서 언급 한대로 Resources.LoadAll()
이 작업을 수행합니다. 는 또한 Resources.Load()
및 Resources.LoadAll()
모두를 위해, 당신은 당신이 Resources
폴더에로드하려는 모든 재료를 넣어 필요가 즉 : 귀하의 자료에 대한 경로 인 경우
이 님의
Resources.LoadAll("Materials")
유용한 링크를 : Assets\Resources\Materials
사용해야하는 문서 :
Resources.LoadAll
LoadingResourcesatRuntime
죄송합니다,이 편집기에서만 작동합니다 생각합니다. 그러나 모든 자료를 하나의 폴더에 보관할 경우 Resources.LoadAll()을 사용할 수 있습니다. https://docs.unity3d.com/ScriptReference/Resources.LoadAll.html – Krajca
Theres 리소스 @LoadAll() https://docs.unity3d.com/ScriptReference/Resources.LoadAll.html * @Krajca 18 초에 맞음 :) – mgear
런타임에이 목록을 갖고 싶습니다. – user2424967
는 에디터 모드 또는 런타임이 작업을 수행 하시겠습니까? –
우메 엘의 질문이 정말 좋다. 대답 해주세요. 그러나 런타임에 수행하기를 원할 경우 재질 배열을 만든 다음 인덱스를 변경하고 새 재질을 메쉬에 할당 할 수 있습니다. – Cabrra
런타임에이 목록을 갖고 싶습니다. – user2424967