Scene: 게임의 하나의 월드나 레벨을 관리한다. 처음 Scene 생성: Main Camera와 Directional Light가 기본으로 있다. Main Camera: 플레이어가 보게 될 화면을 출력한다. Directional Light: 전체 Scene에 빛을 만
게임 엔진은 놀랍도록 복잡한 게임을 개발하고 실행하는 복잡한 프로세스를 단순화하는 데 사용된다. 게임 엔진은 물리학, 그래픽, 사운드 등을 처리하며, 개발자가 게임을 만드는 데 집중할 수 있도록 지원한다. Unreal Engine과 Unity와 같은 엔진은 이러한 원리
변수와 함수는 프로그래밍의 핵심 요소로, 데이터를 저장하고 조작하는 데 사용된다.변수는 데이터를 저장하는 메모리의 위치로, 다양한 타입의 값을 보관할 수 있다.var 키워드는 변수의 타입을 컴파일러가 자동으로 결정하게 해준다.함수는 특정 작업을 수행하는 코드 블록이다.
소코반 게임을 만들기 위한 첫 단계로서, 기본 씬 구성을 시작한다. 여기서는 맵 바닥, 게임 플레이어 생성 및 설정, 물리 기능 추가, 스크립트 작성 등을 다룰 예정이다.소코반 게임의 바닥을 만들기 위해 Plane을 생성하고, 그에 적절한 Material을 적용한다.G
이번 장에서는 소코반 게임의 플레이어 조작 기능을 구현할 것이다. 플레이어의 이동과 관련된 코드와 컴포넌트를 다룰 예정이다.Unity에서는 두 가지 주요 함수를 사용하여 게임의 로직을 제어한다.Start(): 이 함수는 게임 오브젝트가 처음 활성화될 때 한 번만 호출된
이번 장에서는 소코반 게임의 레벨 디자인을 진행 할 것이다. 게임 레벨에 벽을 만들어 플레이어의 이동 경로를 제한하고, 공간을 구조화할 것이다Cube 생성: GameObject 메뉴에서 3D Object > Cube를 선택하여 Cube 오브젝트를 만든다.크기 조정: T
이번 장에서는 EndPoint 객체를 회전시키는 기능을 만들면서, 오브젝트의 회전과 시간 간격에 대한 내용을 정리할 것이다.오브젝트를 회전시키려면 Unity에서 제공하는 회전 함수를 사용해야 한다. Transform 컴포넌트의 Rotate 메서드를 사용하면 특정 각도만
이번 장에서는 ItemBox와 EndPoint 객체간 상호작용(Trigger) 에 대한 기능을 구현할 것이다.Unity에서 충돌 처리를 하기 위해서는 Collider 컴포넌트가 필수적이다. Collider는 오브젝트의 물리적 경계를 정의하며, 다른 오브젝트와의 충돌을
게임 매니저는 게임 로직을 관리하고 승리 조건을 판별하는 중앙 제어 시스템이다. 여기에서는 C먼저, 게임의 승리 조건을 판별하기 위해 사용되는 ItemBox 클래스에 isOveraped 변수를 추가한다.다음은 GameManager 클래스다. 이 클래스는 ItemBox
Vector2와 Vector3는 Unity에서 제공하는 벡터 클래스로, 각각 2차원과 3차원 벡터를 나타낸다.Vector2: 2D 공간에서의 벡터로 x와 y 좌표로 구성된다. 2D 게임에서 주로 사용된다.예: 2D 캐릭터가 화면 내에서 오른쪽으로 이동하려면 Vector
유니티에서 큐브 오브젝트를 만들 때, Transform 컴포넌트는 3차원 벡터(Vector3)를 사용하여 오브젝트의 위치, 회전, 크기를 정의한다. 위치(Position): 오브젝트의 3차원 공간 내 절대 위치를 나타낸다.회전(Rotation): 오브젝트의 축을 중심으
유니티에서 큐브 오브젝트의 회전을 제어하려면 먼저 큐브 오브젝트를 씬에 생성해야 한다. 이렇게 하려면:Hierarchy 창에서 마우스 오른쪽 버튼을 클릭합니다.3D Object > Cube를 선택하여 큐브 오브젝트를 생성합니다.큐브 오브젝트가 생성되면 회전을 조정할 수
유니티에서 오브젝트를 동적으로 생성하는 것은 게임 개발의 중요한 부분이다. 오브젝트를 생성하는 과정을 인스턴스화라고 하며, Instantiate 함수를 사용하여 수행할 수 있다.인스턴스화는 게임 오브젝트를 씬에 동적으로 생성하는 과정이다. 예를 들어, 총알, 적, 아이
Unity에서 static의 핵심적인 측면인 static 변수, static 함수, 그리고 static 클래스에 대해 자세히 알아보자.Static 변수는 클래스 레벨에서 선언되며, 이 변수는 클래스의 모든 인스턴스에서 공유된다. 예를 들어, 게임 내에서 모든 플레이어가
배열(Array)은 일련의 동일한 타입의 원소로 구성된 데이터 구조이다. 하지만 배열을 사용하면서 겪게 되는 몇 가지 한계와 제약 사항이 있다.고정된 크기: 배열은 선언 시점에 크기를 지정해야 하며, 이후에는 크기를 변경할 수 없다. 이로 인해 메모리 낭비가 발생할 수
첫 번째 예제에서는 Ninja 클래스의 기본 구조를 확인한다.ninjaName은 닌자의 이름을 저장한다.isKing은 해당 닌자가 '왕'인지 아닌지를 판별한다.Update 메서드는 매 프레임마다 닌자의 이름을 콘솔에 출력한다.public static Ninja ninj
public Image fadeImage: Unity의 UI Image 컴포넌트를 참조한다.FadeIn(): Fade in 효과를 구현한 메서드이다.for(int i = 0; i < 100; i++): 0.01씩 알파 값을 줄여 페이드 인 효과를 구현한다.이러한
유니티의 Assets Store에서는 다양한 무료 및 유료 에셋을 제공한다. 이번 게임 "어메이징 볼링"에서는 다음의 무료 에셋을 사용한다:Unity Particle Pack: 다양한 파티클 효과를 제공한다.Free Music Bundle: 게임 배경음악을 위한 무료
프롭(Prop)은 게임 환경에서 Ball 오브젝트 주변에 배치되어 있는 큐브 형태의 오브젝트이다. public int score = 5;: 프롭이 파괴될 때 플레이어에게 주어지는 점수. 기본값은 5점이다.public ParticleSystem explosionParti
Unity의 Hierarchy 창에서 Create -> UI -> Slider를 선택하여 Slider 오브젝트를 생성한다. 이는 게임 내에서 충전된 힘을 시각적으로 표현하기 위한 목적으로 사용된다.Canvas의 Render Mode를 World Space로 설정한다.
BallShooter 클래스는 MonoBehaviour를 상속받아 Unity 게임 오브젝트에 붙일 수 있는 스크립트이다. 이 클래스에서 사용되는 변수들은 다음과 같다.Rigidbody ball: 이는 발사될 볼의 Rigidbody 컴포넌트를 저장한다. Rigidbody