Unity를 처음 사용합니다. 나는 보이지 않는 GameObject를 가지고 있는데, 스크립트로 만 A라고 부르며, 프리 패브 B를 여러 번 인스턴스화합니다. 나는 B의 생성 된 클론에 A를 다시 참조 할 필요가있다. 나는 이것을 작동시키기 위해서, A가 조립식 그 자체 이어야만한다는 것을 배웠다. (내가 틀렸다면 나에게 맞춰라.) 스폰 된 B 객체는 마우스 클릭에 반응하고 메서드의 문제입니다. A의 호출 된 메서드 내에서 A 자체의 변수에는 예기치 않은 값이 있습니다. 예를 들어 Start()에서 0으로 초기화되고 사용되지 않은 특정 변수는 12. 모든 스폰 된 객체 B가 "자체"A에 대한 참조를 가지고 있고 A의 변수가 임의의 값을 갖는 것처럼 보입니다. 내가 뭘 놓치고 있니? 이 작업을하기 위해서는Unity, 다른 프리 프레임에서 프리 팹을 만듭니다.
답변
는, A는 조립식 자체 (내가 틀렸다면 정정 해줘)
난 당신이 조립식 B
에 스크립트에서 해당 필드를 설정하는 것으로 가정이어야한다 프리 플럽이 A
인데 원하는 것은 아닙니다. A
은 사전에 일 필요는 없습니다..
프리 패브는 일련의 GameObject로, 편집자 및 게임 내/편집자 스크립트를 통해 GameObject를 쉽게 관리 할 수 있도록 특정 공유 기본값을 포함합니다. 프리 팹은 많은 수의 유사한 객체를 다룰 때 사용됩니다. 각 프리 패브 인스턴스는 몇 가지 수정 된 속성을 제외하고는 다른 인스턴스와 유사합니다. 따라서 한 번 클릭으로 프리 패브 인스턴스를 대규모로 인스턴스화 할 수 있습니다. 예를 들어 총포 발사 물체를 프리 패브로 저장하면 한번의 클릭으로 모든 총 발사체의 기본 크기를 수정할 수 있으며 인스턴스 단위로 특성 사용자 정의가 가능합니다. 프리 팹을 템플릿으로 생각하면 GameObject를 인스턴스화하는 데 사용할 수 있습니다.
는 B의 인스턴스 양산에 간단히 스크립트에 필요한 필드를 설정 (이하,ScriptA
라고 함)
A
에 스크립트를 통해 조립식
B
인스턴스 산란 때
gameObject
로 (이하
ScriptB
라고 함)
다음과 같이 ScriptA
의 (또는 일부 다른) 필드를 입력하십시오.
// ScriptA's method which spawns instances of prefab B
GameObject bInstance = Instantiate(prefabB);
ScriptB scriptOnBInstance = bInstance.GetComponent<ScriptB>();
scriptOnBInstance.referenceToAGameObject = this.gameObject;
감사합니다. 정확히 내가 필요한 것입니다. 작동합니다! –
처음에는 GameObject A가 프리 패브가 아니 었습니다. 프리폼 B의 클론에 A에 대한 참조를 제공하는 올바른 방법이라고 가정하고 편집자로부터 프리 프레임 B에 대한 참조를 (드래그 앤 드랍하여) 편집자에게 줄 것을 시도했기 때문에 프리 패브로 변환했습니다. 그러나이 방법으로 prefab B를 편집하고 적용을 클릭하면 A에 대한 참조가 손실 된 것을 알았으므로 이것을 피하기 위해 A를 프리 패브로 변환했습니다. 이제는 이것이 완전히 의미가 없으므로 GameObject에 프로그래밍 방식으로 다른 GameObject에 대한 참조를 제공 할 수 있음을 이해합니다. –
@RaffaeleTasso 답이 문제를 해결 한 경우이 문제를 답변으로 표시하고 동의 문제를 해결 한 다른 사람들이 솔루션을 쉽게 찾을 수 있도록 도와주십시오. – EvilTak
- 1. Unity C#은 마우스 클릭으로 생성 된 프리 팹을 파괴합니다.
- 2. 랜덤으로 3 개의 다른 위치에 프리 팹을 인스턴스화합니다.
- 3. Unity C# - 메서드 호출 프리 팹 인스턴스화
- 4. 런타임 전에 MonoBehaviour를 구현하지 않는 스크립트로 프리 팹을 어떻게 참조합니까?
- 5. 프리 - 프리 프로덕션 저장소?
- 6. 프리 팹이없는 Unity 4.6의 C# 스크립트에서 UI 버튼 만들기
- 7. 이름을 알지 못하게 적 프리 팹을 인스턴스화하는 방법
- 8. 런타임시 여러 개의 프리 팹을 랜덤 스케일로 추가 하시겠습니까?
- 9. 사용자 정의 기본 객체를 사용하여 프리 팹을 인스턴스화하십시오.
- 10. Unity 2D 구성 요소를 사용하여 프리 팹 인스턴스화
- 11. 프리 마커 - 다른
- 12. Unity : 스크립트를 통해 연기 프리 패브 초기화하기
- 13. Unity C# 프리 컴파일 및 모노 리플렉션
- 14. 유니티 프리 i Unity 앱 프로파일 링
- 15. 가변 정보를 하나의 프리 팹에서 다른 프리 팹으로 어떻게 전송합니까?
- 16. 나는 프리 마커에이 변수가이 프리 마커를 발현
- 17. 프리 패브와 게임 객체 복제하기
- 18. Unity3D : 동급 클래스로 프리 패브를 구체화
- 19. 공개되지 않은 프리 프레임을 인스턴스화하는 방법
- 20. 프리모브 삭제 프리 케이크
- 21. 프리 페치
- 22. 프리 마커
- 23. 유니티 프리 패브 변경이 소스 트리에 나타나지 않습니다.
- 24. 추출 프리 스타일 잡스와 다른 젠킨스 인스턴스
- 25. Unity의 프리 패브릭에서 GUID 가져 오기
- 26. Unity의 프리 패브에 대한 여러 스프라이트
- 27. Unity 게임에서 동일한 GUI 다중 장면 - Canvas의 프리 패브?
- 28. 프리 컴파일 헤더 질문
- 29. 프리 프레임에서 UnityEvent에 리스너를 프로그램 방식으로 추가하는 방법
- 30. 2 차원 목록에 따라 프리 팹을 인스턴스화하고 나중에 바꿀 수 있습니다.
'게임 오브젝트'에 첨부 된 스크립트를 제공 할 수 있습니까? – Hristo