2014-12-05 1 views
0

이미이 답변을 알고 있지만 어쨌든 커뮤니티에서이를 실행하고 싶습니다.사용자 정의 기본 객체를 사용하여 프리 팹을 인스턴스화하십시오.

프리 팹에 입력하는 데 필요한 정보가 들어있는 사용자 지정 개체가 있습니다.

난 조립식에서 컨스트럭터를 어지럽히는 것이 나쁜 아이디어라고 읽었습니다. 프리 패브 (prefab)의 메서드 호출을 통해 intitiatlization 정보를 전달하는 것이 가장 좋은 방법입니까?

예 : 내 맞춤 개체를 허용하는 프리 팹 스크립트를 만드시겠습니까? 최선의 관행 질문의 종류.

답변

0

그렇게하는 방법입니다. 기본적으로 프리 팹은 필요한 별도의 데이터가있는 다른 프리 팹에 대한 참조 (반드시 별도의 스크립트는 아님)가 필요합니다.

비록이 데이터가 프리 프레임 자체에있을 수없는 이유는 무엇입니까?

"데이터가 전역이고 많은 프리 팹이 있기 때문에"해당 문제에 대한 좋은 해결책은 전역 데이터 저장소 개체로 작동하는 ScriptableObject입니다. 스크립트 가능한 객체는 다른 게임 객체와 마찬가지로 스크립트와 관리자보기를 가지며 전역 데이터를 참조 할 수있는 프리 패브에 스크립팅 가능한 객체에 대한 참조를 할당 할 수 있습니다.

일반적으로 ScriptableObject는 "원시 데이터"또는 경량 게임 데이터베이스로 사용됩니다. 의 ScriptableObject를 생성

스크립트 (많은 예제가 있습니다) : http://wiki.unity3d.com/index.php/CreateScriptableObjectAsset

이 포스팅은 사용 사례 및 코드 샘플과 SO 설명 : http://buchhofer.com/2010/10/unity-toying-with-scriptable-objects/

+0

이 주셔서 감사합니다. 여전히 Unity의 GUI 환경에 익숙해졌습니다. 그들은 재미있는 일을하기 쉽습니다. 여기에 내가 실제로 좋아하는 또 다른 예가 있습니다 : http://www.jacobpennock.com/Blog/?p=670 – gdbj

+0

Scriptable Objects에 대한 내 데이터 소스로서의 기대에도 불구하고 SQLite로 전환했습니다. SO는 다형성을 직렬화하지 않는다. :( – gdbj

관련 문제