전체 글 57

유니티 Roll-a-ball 간단한 게임 만들기

유니티 기초 3D 게임 만들기 간단한 공굴리기 게임 만들기 *게임 개발은 계획부터 차근차근 ! 유니티에서 기초적인 튜토리얼 'Roll-a-ball' Roll-a-ball 설명 #1. 게임 이름 굴러서 아이템 먹기 #2. 장르 캐주얼 액션 #3. 목표 지형을 뛰어넘어 굴러서 아이템을 먹고 목표지점에 도달 #4. 구성 공(Player), 아이템(Item), 지형(Platform), 결승점 (Point) 1. 플레이어 생성 및 조작 구를 생성하여 Player로 지정해주고, 할당 스크립트와 Rigidbody 컴포넌트를 추가합니다 ✏️ Player 상하좌우 조작 - Rigidbody 선언 및 초기화 - 방향 조작 로직 ✏️ Player Jump - Input 버튼 중, Jump (space바) 가능하도록 설정 -..

유니티 2022.04.17

유니티 게임 인터페이스 UI 기초 / Canvas / Text / Image / Button

TIL 📝 게임 인터페이스 UI 📝 Canvas 📝 Screen 📝 Text / Image 📝 Button / Anchor 유니티 게임 인터페이스 UI 기초 👩‍💻 캔버스 📌 Canvas UI가 그려지는 도화지 역할 컴포넌트 모든 UI 요소가 캔버스 오브젝트의 자식입니다 🔻 Hierarchy - UI 컴포넌트를 추가할 수 있습니다 🔻 Canvas를 추가하면 흰 색 캔버스가 씬 창에 나타납니다. 2D를 활성화시켜 화면을 정면에서 바라볼 수 있습니다 👩‍💻 스크린 📌 Screen 게임이 표시되는 화면, 해상도로 크기 결정 🔻 Canvas를 추가하면 흰 색 직사각형이 씬 창에 나타납니다. 2D를 활성화시켜 화면을 정면에서 바라볼 수 있습니다 마우스 커서도 스크린 좌표계에 포함됩니다 👩‍💻 텍스트 UI..

유니티 2022.04.13

유니티 물리 충돌 이벤트 / OnCollision-- / OnTrigger--

TIL 📝 물리 충돌 이벤트 📝 OnCollision-- 📝 트리거 이벤트 📝 OnTrigger-- 👩‍💻 물리 충돌 이벤트 Ball이 다른 Ball과 충돌했을 때 Meterial Color가 변하는 물리 충돌 이벤트를 구현해보겠습니다 줄무늬 공 : Ball_1 나머지 공 : Ball_2 ~ Ball_5 색이 변하는 나머지 검은 색 공에게 적용할 스크립트를 새로 생성합니다 📌 오브젝트의 재질 바꾸기 오브젝트의 재질 접근은 MeshRenderer를 통해서 합니다 즉, MeshRenderer - Materials - otherBall에 접근해서 Albeo 색을 바꾸는 로직이 필요합니다 마찬가지로 선언 -> 초기화 -> 호출 과정이 필요합니다 📍 선언 MeshRenderer mesh; Material ma..

유니티 2022.04.12

유니티 물체 이동하기 AddForce / ForceMode / AddTorque

TIL 📝 Rigidbody 📝 물체 속도 설정해서 움직이기 📝 물체에 힘을 가해서 움직이기 📝 버튼 입력으로 움직이기 📝 회전력을 주어 움직이기 👩‍💻 RigidBody 물리효과를 받기 위한 컴포넌트 RigidBody를 가지게 되면 중력의 영향을 받습니다 🔎 RigidBody를 이용하여 오브젝트를 움직이는 여러 방법을 살펴보겠습니다 🔻 Rigidbody component를 Ball 에 추가한 후, Rigidbody를 변수로 가져오기 위해서 스크립트를 새로 만들어 추가합니다 가운데 있는 줄무늬 공이 오늘의 메인 오브젝트 입니다 Ball Script 👩‍💻 코드 흐름은 선언 -> 초기화 -> 호출 📍 선언 Rigidbody rigid; 변수명 rigid 인 Rigidbody component 선언 📍 초..

유니티 2022.04.11

유니티 오브젝트 중력과 충돌 / Material / Collider / RigidBody 기초

TIL 📝 중력 적용하기 📝 충돌 영역 정하기 📝 리지드 바디 설정 📝 재질 만들기 📝 물리 재질 만들기 👩‍💻 중력 적용하기 유니티는 컴포넌트 기반 게임 엔진으로, 필요한 기능을 조립하는 방식으로 오브젝트를 꾸려나갑니다 📌 RigidBody 물리효과를 받기 위한 컴포넌트 RigidBody를 가지게 되면 중력의 영향을 받습니다 🔻 캡슐 오브젝트에 Rigidbody를 추가하고 플레이 캡슐 오브젝트에 Rigidbody를 추가하고 플레이 👩‍💻 충돌 영역 정하기 📌 Collider 물리효과를 받기위한 컴포넌트 (오브젝트에 초록색으로 그어진 영역) Collider를 비활성화/삭제하면 계속해서 아래로 빠집니다 🔻 Collider 비활성화 체크해제 🔻 비활성화 후 아래로 계속 내려가는 캡슐 ✏️ 또 다른 사실 Co..

유니티 2022.04.11

유니티 목표지점으로 이동하기 - (Vector3) MoveTowards / SmoothDamp / Lerp / Slerp

[ 목표 지점으로 이동하기 ] & [ 이동 함수 ] Vector3 클래스에서 제공하는 이동 함수 MoveTowards / SmoothDamp / Lerp / Slerp > position 과 Translate 비교 ! - transform.position Wolrd 좌표 값 , 월드 좌표를 기준으로 물체를 이동 Vector에 해당하는 좌표로 이동 - transform.Translate Local 좌표 값 , 물체를 기준으로 물체를 이동 Vector값을 현재 위치에 더하는 함수 = 해당 오브젝트를 Vector3에 넣은 좌표값 만큼 이동 1. MoveTowards ( 단순 등속 이동 ) 기본 형식 Vector3.MoveTowards(현재위치, 목표위치, 속도); MoveTowards의 매개변수는 (현재위치,..

유니티 2022.04.09

유니티 오브젝트 움직이기 - Input / GetKey / GetButton / Vector3 / GetAxis

유니티 오브젝트 이동시키기 기초 " 유니티에서 키보드, 마우스 등 디바이스 입력을 사용하여 오브젝트를 이동시키기 " 1. 키보드 & 마우스 입력받기 Input : 게임 내 입력을 관리하는 클래스 (마우스와 키보드 등의 입력을 받습니다) void Update() { if(Input.anyKeyDown) Debug.Log("플레이어가 아무 키를 눌렀습니다"); }​ ​Input 클래스 내의 함수 anyKeyDown anyKeyDown : 아무 입력을 최초로 받을 때 true 값을 반환합니다 플레이 중에 Game 창에서 아무 키를 누르면 메시지가 출력됩니다 . . . 키를 누르기 전에는 void Start에서 적은 로직이 없기 때문에 아무런 메시지가 뜨지 않습니다. [ Input 클래스 내의 anyKey 함수..

유니티 2022.04.09

유니티 이벤트 함수의 실행 순서

유니티 C# 프로그래밍 기초 [ 유니티 게임 오브젝트 흐름 ] & [ 이벤트 함수 실행 순서 ] 유니티 게임 오브젝트의 흐름 ( 초기화 ) -> ( 활성화 ) -> ( 물리 ) -> ( 게임 로직 ) -> ( 비활성화 ) -> ( 해제 ) 흐름 영역 함수 초기화 최초 Awake() 활성화 OnEnable() 초기화 프레임 시작 Start() 프레임 물리 FixedUpdate() 로직 Update() 후처리 LateUpdate() 비활성화 OnDisable() 해제 OnDestroy() 1. 초기화 - 최초 Awake() 게임 오브젝트 생성할 때 최초 실행됩니다 Start 함수의 이전에 호출됩니다 . . . 결과 2. 활성화 OnEnable() 오브젝트가 활성화 된 경우에만 호출됩니다. 게임오브젝트는 삭제..

유니티 2022.04.06

유니티 C# 프로그래밍 기초 - 클래스 생성 및 상속

유니티 C# 프로그래밍 기초 [ Class 클래스 생성 ] & [ 상속 ] [ Class 클래스 ] 하나의 사물(오브젝트)와 대응하는 로직 최상단 위쪽에 위치합니다 'class'는 클래스 선언에 사용하는 키워드 입니다 기본 선언 형식 [접근제어자] class [클래스 이름]{ } [ 새로운 C# 스크립트 생성 ] 클래스 이름을 Actor로 해보겠습니다 public class Actor : MonoBehaviour { int id; string name; string title; string weapon; float strength; int level; string Talk() { return "대화를 걸었습니다"; } string HasWeapon() { return weapon; } void Level..

유니티 2022.04.05

유니티 C# 프로그래밍 기초 - 함수 새로 선언하기

유니티 C# 프로그래밍 기초 [ 함 수 ] & [ 선언 및 호출 ] [ 함 수 ] 기능을 편리하게 사용하도록 구성된 영역 [ 함수 만들기 / 선언 및 호출 ] [한정자][반환 형식][메서드 이름]([매개 변수]) { // 실행코드 return [반환형식 결과]; } · 한정자 : 공개 public / 일부 공개 protected / 비공개 private 한정자가 없으면 자동으로 private가 지정됩니다 · 반환형식 : void / int / string / class 등 · 매개변수 : 없거나 여러 개 일 수도 있습니다 return은 함수가 값을 반환할 때 사용합니다 *함수 앞에 반환형식(자료형)이 있다면 반드시 return이 필요합니다 ex 1) static int intPuls (int a, int..

유니티 2022.04.05