GAME (8) 썸네일형 리스트형 플레이어 설정 PlayerController 스크립트를 작성하고 임포트한 에셋의 컴포넌트로 추가해주면 캐릭터의 위치값을 변경할 수 있다. using UnityEngine; public class PlayerController : MonoBehaviour { void Start() { } // GameObject(Player) //Transform //PlayerController void Update() { if (Input.GetKey(KeyCode.W)) transform.position += new Vector3(0.0f, 0.0f, 1.0f); if (Input.GetKey(KeyCode.S)) transform.position += new Vector3(0.0f, 0.0f, -1.0f); if (Input.G.. 컴포넌트 패턴 컴포넌트 패턴이란 모든 코드를 부품화해서 관리한다. Cube 객체를 유니티에서 생성할 수 있는데 Cube의 컴포넌트를 Copy component를 이용해서 Empty 객체에 복사하게 되면 같은 기능을 가진 객체를 똑같이 만들 수 있다. 유니티에서는 부품을 하나씩 붙여가면서 만드는 방법이 유니티의 중요한 철학이다. Test 스크립트에 Rotate함수에 값을 주고 저장한다. Test스크립트를 생성한 MyCube 객체에 추가하면 회전하는 MyCube객체를 볼 수 있다. using UnityEngine; using System.Collections; public class Test : MonoBehaviour { // Use this for initialization void Start () { } // Upd.. 실습 2-2 #include #include LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM iParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpszCmdLine, int nCmdShow) { HWND hwnd; MSG msg; WNDCLASS WndClass; WndClass.style = CS_HREDRAW || CS_VREDRAW; WndClass.lpfnWndProc = WndProc; WndClass.cbClsExtra = 0; WndClass.cbWndExtra = 0; WndClass.hInstance = hInstance; WndCla.. 실습 1-2 #include #include LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM iParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpszCmdLine, int nCmdShow) { HWND hwnd; MSG msg; WNDCLASS WndClass; WndClass.style = CS_HREDRAW || CS_VREDRAW; WndClass.lpfnWndProc = WndProc; WndClass.cbClsExtra = 0; WndClass.cbWndExtra = 0; WndClass.hInstance = hInstance; WndCla.. 실습 1-1 윈도우 프로그램은 메인함수와 메시지 처리 함수로 나뉘어진다. 메인함수의 이름은 보통의 프로그램 main이 아니라 WINAPI라고 명시하고 WinMain으로 만들어준다. 메시지 처리 함수는 CALLBACK WndProc으로 만들어 준다. 윈도우에서의 메시지 처리 1 키보드, 마우스 등에 의해 이벤트가 발생한다. 2 발생한 이벤트를 윈도우 시스템이 감지한다. 3 이벤트 발생을 알린다. 이벤트 발생을 알리는 방식 중 정숫값인 메시지를 보내는 방식을 택한다. 보내온 메시지가 메시 지 큐에 차례로 쌓인다. 4 WinMain() 함수는 메시지 큐에서 맨 앞에 대기 중인 메시지를 꺼낸다. 5 꺼낸 메시지를 해석해 메시지 처리 함수에 보낸다. GetMessage() 함수가 메시지 큐에서 메시지를 꺼낸다. 꺼낸 메시지는.. Instantiate() 메소드 Instantiate() 메소드에 (복사본을 만들 기존개체,새 오브젝트의 위치, 새 오브젝트의 오리엔테이션)을 입력하면 인스턴스화됩니다. 인스턴스화는 원본에서 복제본을 생성하는 행위를 표현하는 단어입니다. Instantiate(Object original, Vector3 position, Quaternion rotation); Instantiate(Object original, Vector3 position, Quaternion rotation) as Gameobject; 메소드 뒤에 as Gameobject를 붙이는 이유는 Instatiate로 생성된 클론들은 플레이 중일 때 Hierarchy 탭에 생성되었다가 종료가 되면 사라지는데 복제품의 위치정보, 충돌처리를 하기위해 GetComponent를 통해.. 왼쪽 마우스 버튼을 눌렀을때 색 변화시키기 C#스크립트를 생성후에 작성합니다. using UnityEngine; using System.Collections; public class Test1: MonoBehaviour { // 빨간색 material과 초록색 material을 선언하고 private 타입으로 해당 클래스에서만 사용가능하도록 선언합니다. // 이때 [SerializeField]를 private 앞에 붙여주면 다른 클래스에서는 접근이 불가능하지만 인스펙터에서는 접근이 // 가능합니다. [SerializeField] private Material red_mat; [SerializeField] private Material green_mat; private MeshRenderer mesh; // start 메소드는 게임이 실행되었을 떄.. 1.유니티 시작하기 게임 오브젝트 : 게임에 등장하는 '사물' 컴포넌트 : 게임 오브젝트에 추가된 '기능' 에셋 : 3D 모델이나 2D 영상과 같은 '데이터' 3D 모델에는 사람이나 고양이 등과 같은 캐릭터 모델, 건물이나 집과 같은 건물 모델, 무기나 가방 같은 소지품 모델 등 다양한 것이 있다. 메시 렌더러(Mesh Renderer) : 컴포넌트 기능으로 모델을 표시할 수 있다. 시퀀스 : 플레이어가 무엇을 하기 위한 화면인가, 무엇을 할 수 있는 화면인가를 기준으로 게임의 흐름을 구분하는 것을 '시퀀스'라고 한다. 씬 : 게임을 하나의 장면마다 만들기 위한 장치이다. 씬은 게임 오브젝트가 들어 있는 상자라고 생각해 볼 수 있다. 모든 게임 오브젝트는 씬 안에 존재하고 씬이 바뀌면 게임 오브젝트는 삭제되고, 다음 씬에 .. 이전 1 다음