Testproject1에 BaseEmptyScene이 있습니다. BaseEmptyScene에는 GameObject가 없습니다. 이 프로젝트와 장면에서 유일한 것은 bang()이라는 정적 메서드가있는 C# 스크립트입니다.지연 cmd -executeMethod 또는 cmd에서 활성 장면 설정
저는 '구형'이라는 장면이있는 구형이라는 두 번째 프로젝트가 있습니다. 그것에는 기본 GameObjects Sphere와 Cube가 있으며 스크립트는 없습니다. 'Assets> 패키지 내보내기'를 실행하고 모든 것을 SphereCube.unity 패키지로 내 보냈습니다.
다음은 SphereCube.unitypackage를 Testproject1로 가져온 후 bang() 메서드를 실행하기위한 명령 줄입니다.
C:\Program Files\Unity\Editor>Unity.exe -projectPath SomePath\TempProj -importPackage Path\SphereCube.unitypackage -executeMethod TestClass.bang
이 명령은 단일성을 열고, 패키지를 가져 와서 bang fine 메소드를 실행합니다. see unity command Line Argument doc
내 문제는 패키지를 가져온 후 메서드를 실행하도록 단결을 말할 수 없습니다. 다음은 bang() 모양입니다. 현재 항상 장면 수를 1로 표시합니다. 가져 오기가 완료되면 Assets 폴더의 두 장면을 볼 수 있어야합니다 (1 스크립트 및 가져온 SphereCube 장면이있는 빈 장면)
방법이 실행될 때 단결과 관련이 있기 때문에 활성 장면을 새로 추가 된 장면으로 변경할 수 없습니다. 단 하나의 장면 만 있습니다.
일단 가져 오기가 완료되면 방법을 실행할 수 있습니까? 어떤 이벤트가 발생합니다 .... 현재 실행중인 Unity PID를 가져 와서 다른 외부 스크립트에서 메시지를 보내는 것이 더 쉽습니다 ...
감사 마크; OnPostprocessModel은 내가 필요한 것 같습니다. 하지만 전화를받지 못했습니다. 내가 가진 빈 프로젝트 - 이제는 OnPostprocessModel (go) 메서드 만 있고 Bang이하는 일을합니다. cmd를 통해 '비어있는'프로젝트를 열고 SphereCube 패키지를 가져옵니다. 이 시점에서 나는 OnPostprocessModel이 호출 될 것이라고 기대했지만 .. 그러나 그렇지 않습니다. OnPostprocessModel은 프로젝트의 스크립트 에셋 파일에 들어갑니다. – Davvit
네,하지만 클래스는 기본 클래스로 "AssetPostprocessor"를 가져야합니다 (내 대답은 Unity 문서에 대한 링크의 샘플 코드를 참조하십시오). 그렇게했다면, 아직 방법은 호출되지 않습니다. Unity를 열어 거기에서 가져 오십시오. 여전히 트리거되지 않으면 문제를 해결해야합니다. 이 방법으로 작동하면 cmd에서 가져 오기가 시작될 때 AssetPostprocessor에 문제가 있습니다. –