목록Unity (10)
GUMI Dev
접근제한자는 접근 범위를 결정한다. 접근 제한자에는 public, protected, internal, private가 있다. private 선언한 클래스 내부에서만 접근이 가능하다. 중요 변수나 메소드에 사용한다. * 아무 접근자를 붙이지 않는 경우에는, private가 디폴트로 인식된다. * 대부분은 private로 선언하고 필요에 따라서 다른 접근 제한자로 변경해서 사용해도 문제없다. Default( = private) 처음 스크립트를 열면 void Start(), void Update()가 있다. 이처럼 앞에 아무것도 적혀있지 않은 변수나 메소드는 default 접근 제한자를 갖고 있다. public이 모든 곳에서 접근 가능한 접근 제한자라면, Default는 자신의 네임 스페이스까지 접근을 허용..
Transform: 오브젝트 형태에 대한 기본 컴포넌트. transform은 선언해서 초기화 할 필요가 없다. 오브젝트는 변수 transform을 항상 가지고 있다. Translate: 벡터 값을 현재 위치에 더하는 함수 스칼라 값: 순수한 값 벡터: 방향과 그에 대한 크기 값 int number = 4; //스칼라 값 Vector3 vec = new Vector3(0, 0, 0); //벡터 값(x축, y축, z축의 방향과 크기) 벡터를 사용하여 스크립트를 작성해보았다. Translate는 현재 위치 값에서 입력한 숫자만큼 더해지며, 얼만큼 이동하는지 결정한다. 아래에 같이 스크립트를 작성하면 해당 스크립트가 적용된 게임오브젝트는 x축과 y축과 z축 모두 0, 0, 0인 곳에 위치하게 된다. 만약 Vec..

GetAxis: 수평, 수직 버튼 입력을 받으면 float 우선 키보드를 눌러 횡 이동을 할 수 있도록 만들어보았다. Input Manager을 확인해보면 "Horizontal"은 키보드에서 횡(좌우 방향) 버튼으로 조작하는 것이 디폴트로 설정이 되어있다. 디폴트값을 유지하며 스크립트를 작성하고 실행해보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { void Update() { { if (Input.anyKeyDown) Debug.Log("플레이어가 아무 키를 눌렀습니다. "); if (Input.GetButton("Horizonta..

유니티창에서 "Edit - Project Settings - Input Manager"에서 버튼 설정이 가능하다. Axes 아래 리스트는 버튼들의 리스트이며, "Size"는 버튼의 갯수(?)를 의미한다. * Input Manager에서 기본적으로 지원하는 버튼들 외에 새로 추가하거나 변경하고자 하는 버튼이 있다면 Size 수를 늘려서 추가할 수 있다. 반대로 Size 수를 줄일 수도 있다. "Horixontal"은 횡이동 버튼이며, "Vertical"은 종이동 버튼이다. 아래 Input Manager를 보면 동작의 이름에 따라 특정 버튼이 각각 디폴트로 부여되어있다. "Positive Button"에 해당되는 버튼을 누르면 실행이 되는 식이다. "Alt Positive Button"은 "Positive ..

GetMouse: 마우스 버튼 입력을 받으면 true * GetMouse는 안에 들어가는 매개변수를 숫자(0 또는 1)로 받는다. * Input.GetMouseButton(0) 혹은 Input.GetMouseButton(1)과 같은 방식으로 표현한다. * 여기서 0은 마우스 왼쪽 버튼이며 1은 마우스 오른쪽 버튼이다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { void Update() { { if (Input.anyKeyDown) Debug.Log("플레이어가 아무 키를 눌렀습니다. "); if (Input.GetMouseButtonD..

Input: 게임 내 입력을 관리하는 클래스. 유니티 내에서 마우스 키보드 등 조작을 추가할 수 있다. anyKeyDown: 아무 입력을 최초로 받을 때 true anyKeyDown을 사용하여 간단한 스크립트를 작성해보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { void Update() { { if (Input.anyKeyDown) Debug.Log("플레이어가 아무 키를 눌렀습니다. "); } } } 위와 같은 스크립트를 입력하고 게임 뷰를 클릭한 뒤, 마우스를 클릭허거나 키보드를 눌러보았다. 마우스나 키보드를 한번 누를 때마다..

1. 초기화 1) 최초 Awake() Awake 함수는 게임 오브젝트를 생성할 때 최초로 한번만 실행된다. 새로운 프로젝트 창에서 실린더 도형을 추가하고 C# 스크립트를 생성했다. 여기서 생성한 C# 파일의 이름은 "LifeCycle"이라고 설정했다. 그리고 이 파일을 실린더의 Inspector에 포함시켰다. C# 스크립트에 아래와 같이 작성해보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class LifeCycle : MonoBehaviour { private void Awake() { Debug.Log("플레이어의 데이터가 준비되었습니다. "); } } 정상적으로 작동한다. 2) 프레임..

1. Array(배열) 먼저 간단하게 김밥천국 메뉴를 만들어보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { // Start is called before the first frame update void Start() { Debug.Log("김밥천국"); // 배열: 가장 기본적인 고정형 그룹형 변수 string[] qimbapHeaven = { "떡볶이", "순대", "오뎅", "김밥" }; Debug.Log("김밥천국 메뉴"); Debug.Log("qimbapHeaven[0]"); Debug.Log("qimbap..

변수는 데이터를 메모리에 저장하는 장소다. int level = 5; // 정수형 데이터 float strength = 15.5; // 숫자형 데이터 string playerName = "유니티"; // 문자형 데이터. 큰따옴표 필수. bool isFullLevel = true; // 논리형 데이터. 참 혹은 거짓. // 선언: 이름을 정하는 것 // 초기화: 값을 넣는 것 // 프로그래밍의 과정: 선언 > 초기화 > 호출(사용) 예시로 유니티 C# 스크립트에 자기소개를 작성해보았다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehavio..

작년에 소프트웨어 전공기초 수업을 들으면서 유니티 C# 기초 프로그래밍을 조금 공부했던 것을 마지막으로, 유니티는 사용할 일도 없었고 따로 공부할 시간도 없어서 당연히 업데이트도 못했다. 이제 유니티를 본격적으로 공부하기 위해 유니티를 업데이트하려고 했으나, 문제가 생겨서 기존의 유니티 구버전을 삭제하고 유니티 공식사이트에서 현재 기준으로 최신 안정화 버전인 유니티 허브(3.0.0-beta.6)와 유니티 에디터(2020.3.22f1)를 새로 다운받았다. 유니티를 하면서 필수적으로 하게될 C# 작업을 원활하게 하기위해 기존에 깔려있던 비주얼 스튜디오 2019도 업데이트 했다. 유니티 허브에서 새 프로젝트를 만들어 유니티 에디터를 실행했다. 유니티 창에서 Cube를 추가했다. "유니티 하단의 프로젝트창에서 ..