목록Game Dev/Unity : Tutorial (15)
KoreanFoodie's Study
프리팹 게임 오브텍트는 프리팹으로 만들어 재활용할 수 있다. 마치, 칼을 찍어내는 주물이라고 생각하면 된다! 사용법은 간단하다. Hierarchy에 있는 오브젝트를 프로젝트 창에 드래그&드랍 해주기만 하면 된다! Use Gravity 리지드 바디 컴포넌트의 Use Gravity 필드를 해제하면 중력의 영향을 받지 않는다. transform 변수 transform은 스크립트에서 자신의 트랜스폼 컴포넌트로 바로 접근하는 지름길이다! Destroy( ) void Start() { // 이동에 사용할 리지드바디 컴포넌트 할당 bulletRigidbody = GetComponent(); // 리지드바디의 속도 = 앞쪽 방향 * 이동 속력 bulletRigidbody.velocity = transform.forwa..
머티리얼 게임 오브젝트의 컬러는 머티리얼(Material)이 결정한다. 머티리얼은 셰이더와 텍스쳐가 합쳐진 에셋으로, 오브젝트의 픽셀 컬러를 결정한다 셰이더는 주어진 입력에 따라 픽셀의 최종 컬러를 결정하는 코드이다. 셰이더는 질감과 빛에 의한 반사와 굴절 등의 효과를 만든다. 텍스처는 표면에 입히는 이미지 파일이다. 셰이더는 물감으로, 텍스처는 스케치나 밑그림으로 이해하면 된다. 밑그림이 같아도 물감의 종류에 따라 화풍이 달라진다! 이 중 알베도(Albedo)는 반사율이라는 뜻으로, 물체가 어떤 색을 반사할지를 결정한다! C# 스크립트 이제 기초적인 코드들을 살펴보자. void FixedUpdate() { if (Input.GetKey(KeyCode.UpArrow) == true) { playerRig..
목표 : 씬에 큐브를 하나 만들고, 코드로 해당 큐브가 점프하게 만들어 보자! 1. Hierarchy 탭에서 3D Object 큐브를 하나 생성하기 2. 변수로 리지드 바디 컴포넌트 사용하기 (Inspector -> Add Component) 3. 프로젝트 창에서 Create > C# Script 클릭, 이름을 Jumper로 변경한 후 열기! C#에서는 초기 파일 이름과 동일한 클래스가 생성되므로, 이름을 잘 맞추어 주어야 한다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Jumper : MonoBehaviour { public Rigidbody myRigidbody; // Start..
상속? 객체 지향언어에서 상속을 사용하면 기존에 만들어놓은 템플릿을 확장/수정함으로써 비슷한 템플릿을 만들 수 있다. (상속에 대해 잘 모른다면 여기를) 그런데 예를 들어, "HUMAN"이라는 클래스를 만들었다고 하자. 만약 이 클래스를 확장시켜 플레이어, NPC, 심지어 몬스터까지 만든다면 어떨까? 각각의 오브젝트는 성격이 매우 다르기 때문에 오히려 상속을 통한 작업이 효율을 떨어뜨릴 수 있다. 따라서, 컴포넌트 패턴을 알아야 한다. 컴포넌트 패턴 기획자는 게임에 등장할 모든 동물을 사전에 기획할 수 없다. 즉, 부품마다 대표 기능을 부여하고, 여러 부품을 게임 오브젝트에 조합하는 방식이 효율적이다! 1. 컴포넌트를 미리 여러 개 만들기 2. 빈 게임 오브젝트 생성하기 3. 코뿔소 게임 오브젝트 완성하..
이번 글에서는 유니티의 대략적인 인터페이스를 소개한다. 인스펙터 창 인스펙터 창에는 다음과 같은 컴포넌트가 추가되어 있다. (기본 Cube 게임 오브젝트로 설명) 트랜스폼(Transform) : 오브젝트의 3차원 좌표와 크기, 회전을 지정한다 메시 필터(Mesh Filter) : 3D 메시 파일을 받아 오브젝트의 외곽선을 지정한다 메시 렌더러(Mesh Renderer) : 메시를 따라 색을 채워 그래픽 외형을 그린다 박스 콜라이더(Box Collider) : 다른 물체가 부딪칠 수 있는 물리적인 표면을 만든다 콘솔창 콘솔 창에서는 사용자가 로그를 띄워 테스팅을 진행할 수 있다. Clear : 로그 지우기 Collapse : 같은 내용의 로그끼리 묶기 Clear on Play : 씬을 필레이하기 직전까지 ..