유니티에서 SendMessage 메서드를 사용하여 게임 오브젝트에 메시지 보내기(GameObject.SendMessage)1)씬에 스피어(sender)와 큐브(receiver)를 생성하였다. 2)메시지를 받는 오브젝트(cube)의 스크립트에서 함수를 선언하였다. 정수 타입의 파라미터를 받아서 출력한다.3)메시지를 보내는 오브젝트의 스크립트에서 아래 코드를 추가하였다. 게임 실행중 사용자 인풋에 의해 target 오브젝트의 함수 printSomething를 호출한다. 4)위 스크립트를 스피어 오브젝트에 추가하고 target 오브젝트에 큐브를 참조시켰다. 5)게임을 플레이하고 사용자 키 입력을 하면(spacebar) 큐브 오브젝트는 값을 출력한다.
유니티에서 Instantiate 함수로 게임 오브젝트 복제하기Object.Instantiate - 오브젝트를 복제하는 함수로 유니티 기술문서에서 다양한 용법을 확인할수있다(https://docs.unity3d.com/ScriptReference/Object.Instantiate.html)Instantiate 함수는 오리지날을 복제하여 클론을 리턴한다. 기본적으로 에디터에서 게임 오브젝트를 duplicate(ctrl+d)하는것과 동일하며 인수를 추가하면 선택적으로 위치 및 회전을 명시할수있다.1)씬에 empty 게임오브젝트를 생성하였다.2)이 게임오브젝트에 아래 스크립트를 추가한다. Instantiate(prefab); 스크립트에서 참조하는 프리팹을 복제한다. Instantiate(prefab, new V..
유니티 스크립팅 - 원하는 타임에 함수를 호출, Invoke 함수사용하기 Invoke함수는 원하는 타임에 함수를 호출하는 함수이다. 아래 예에서 게임을 시작하면 3초후에 printTime함수를 호출한다.2)InvokeRepeating함수는 원하는 타임에 함수를 호출하고 설정한 타임 간격으로 반복한다. 아래 예에서 게임을 시작하면 3초후에 printTime함수를 호출하고 3초마다 반복적으로 함수를 호출한다.
유니티에서 GetComponent함수 사용하기GetComponent();게임 오브젝트의 컴포넌트를 가져오는 함수이다. type은 가져올 컴포넌트의 타입이다. 1)씬에 게임 오브젝트 cube를 생성한다.2)오브젝트에 두개의 스크립트를 추가한다(CubeScript, OtherCubeScript)3)맴버 변수를 선언하고 값을 대입한 사용자 정의 클래스(OtherCubeScript)4)또다른 스크립트(CubeScript)에서 위에서 정의한 class를 저장하기위해 참조 변수를 선언한다(private OtherCubeScript a;) awake함수에서 OtherCubeScript타입의 컴포넌트를 가져와 저장하고 맴버 변수의 값을 출력한다. GetComponent
유니티에서 DontDestroyOnLoad함수를 이용하여 씬을 로드할때 사라지지않는 오브젝트 만들기일반적으로 새로운 씬을 로드하면 기존의 모든 오브젝트들을 제거하고 새로운 씬의 오브젝트를 로드한다. DontDestroyOnLoad함수를 이용하면 특정 타겟 오브젝트가 모든 씬에 걸쳐 존재하도록 할수있다.1)테스트를 위해서 씬에 empty gameobject를 생성하고 스크립트를 추가한다.2)DontDestroyOnLoad 함수의 인수로 게임 오브젝트를 추가하였다.3)게임을 플레이하면 awake함수에서 이 오브젝트를 새로운 씬을 로드해도 제거되지않는 오브젝트로 만든다.4)게임을 플레이하고 5초후에 새로운 씬 scene_02를 로드하였고 이전 씬의 게임 오브젝트가 제거되지않았다.
유니티(unity)에서 이벤트 함수의 실행 순서 (Order of execution for event functions) 유니티에서 스크립트를 실행하면 이벤트 함수가 호출되는 정해진 순서가있습니다. 아래 유니티 웹사이트에서 이벤트 함수의 종류와 실행 순서를 확인할수있습니다. https://docs.unity3d.com/Manual/ExecutionOrder.html Unity - Manual: Order of execution for event functions Instantiating Prefabs at run time Order of execution for event functions Running a Unity script executes a number of event functions in a..
유니티3D의 기본 인터페이스 1)유니티를 실행하면 인터페이스가 다음과 같이 구성되어있다. 2)우측 상단의 layout를 클릭해서 레이아웃 프리셋을 설정한다. 3)예에서 2 by 3 레이아웃을 선택하였다.4)레아아웃을 재구성한 모습 5)상단의 window 메뉴에서 자주 사용하는 패널을 추가한다. 디버깅을 위한 콘솔 패널을 추가하였다.6)패널을 클랙,드래그하여 자유롭게 사용자 레이아웃을 구성할수있다.7)자주사용하는 패널을 아래와 같이 구성하였다. 8)Scene(씬) 패널에서 게임 오브젝트를 배치하고 시각적으로 구성한다. Game 패널에서는 게임씬에서 설정한 카메라의 카메라뷰를 확인한다.9)Hierarchy 패널에서는 씬에 존재하는 게임 오브젝트의 리스트를 보여주며 오브젝트간의 부모 자식 관계를 확인할수있다...