μž¬λ―ΈμžˆλŠ” 도전!

μ²˜μŒμ— λͺ¨λ“  것은 μ–΄μ„€ν”„λ‹€.

Unity🚩/μ™•μ΄ˆλ³΄πŸ˜₯

[3]Unity Editor μ‚΄νŽ΄λ³΄κΈ°

M4 Progm. 2021. 11. 9. 03:14

*2021/11/09 κΈ°μ€€μœΌλ‘œ μž‘μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ 생성 νŽ˜μ΄μ§€

Unity Hubμ—μ„œ [μƒˆλ‘œ 생성]을 λˆ„λ₯΄λ©΄ λ‹€μŒκ³Ό 같은 화면이 λ‚˜μ˜΅λ‹ˆλ‹€. μ €ν¬λŠ” 3D ν…œν”Œλ¦ΏμœΌλ‘œ 생성할 것 μž…λ‹ˆλ‹€.
(ν”„λ‘œμ νŠΈ 이름과 μ €μž₯μœ„μΉ˜λŠ” 뭐든 μƒκ΄€μ—†μŠ΅λ‹ˆλ‹€.)


기본적인 Unity Editor ν™”λ©΄

처음 Unity Editor에 λ“€μ–΄κ°€λ©΄ λ‹€μŒκ³Ό 같은 화면이 λ‚˜μ˜΅λ‹ˆλ‹€. μ΄μ œλΆ€ν„° 각 탭듀이 μ–΄λ–€ 역할을 ν•˜λŠ”μ§€ μ•Œμ•„λ΄…μ‹œλ‹€.


숫자둜 μ •λ¦¬ν•œ νƒ­

맀우 κ°„λ‹¨νžˆ μ •λ¦¬ν•˜λ©΄ 총 6가지 μš”μ†Œκ°€ μžˆμŠ΅λ‹ˆλ‹€. 맀우 μ€‘μš”ν•œ μš”μ†Œμ΄κ³  μ•žμœΌλ‘œμ˜ ν¬μŠ€νŒ…μ—μ„œλ„ κ³„μ†ν•΄μ„œ μ–ΈκΈ‰λ˜λ‹ˆ 이름을 μ™Έμ›Œλ‘λŠ”κ²Œ μ’‹μŠ΅λ‹ˆλ‹€.

1.ν•˜μ΄μ–΄λΌν‚€(Hierarchy)

ν˜„μž¬ 씬(Scene)에 μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  였브젝트λ₯Ό λ³΄μ—¬μ£ΌλŠ” νƒ­μž…λ‹ˆλ‹€.

※씬: ν˜„μž¬ 주어진 3D곡간을 μ˜λ―Έν•œλ‹€.

 

2.ν”„λ‘œμ νŠΈ(Project)

ν˜„μž¬ ν”„λ‘œμ νŠΈμ— μ‘΄μž¬ν•˜λŠ” λ‹€μ–‘ν•œ λ¦¬μ†ŒμŠ€(Resource)λ₯Ό κ΄€λ¦¬ν•˜λŠ” νƒ­μž…λ‹ˆλ‹€.
ex)μ‚¬μš΄λ“œ, 폰트, ν…μŠ€μ²˜, 슀크립트, λͺ¨λΈ

3.μ½˜μ†”(Console)

μŠ€ν¬λ¦½νŠΈμ—μ„œ ν˜ΈμΆœν•œ λ””λ²„κ·Έλ‘œκ·Έ(Debug Log)λ‚˜ μ—λŸ¬, μœ„ν—˜, 등을 λ³΄μ—¬μ£ΌλŠ” νƒ­μž…λ‹ˆλ‹€.

4.씬(Scene)

ν˜„μž¬ 씬(Scene)을 λ³΄μ—¬μ£ΌλŠ” νƒ­μž…λ‹ˆλ‹€.

5.κ²Œμž„(Game)

ν˜„μž¬ 씬(Scene)에 μ‘΄μž¬ν•˜λŠ” μΉ΄λ©”λΌλ‘œ λ³΄λŠ” ν™”λ©΄μž…λ‹ˆλ‹€. μ‹€μ œ κ²Œμž„μ΄ μ‹€ν–‰λ˜λ©΄ 이 ν™”λ©΄μœΌλ‘œ λ³΄κ²Œλ©λ‹ˆλ‹€.

6.μΈμŠ€νŽ™ν„°(Inspector)

ν˜„μž¬ ν΄λ¦­ν•œ νŒŒμΌμ΄λ‚˜ 였브젝트의 세뢀정보λ₯Ό λ³΄μ—¬μ£ΌλŠ” νƒ­μž…λ‹ˆλ‹€.



κ°„λ‹¨ν•œ 예제λ₯Ό 톡해 각 탭을 μ‚¬μš©ν•΄ λ΄…μ‹œλ‹€!

씬(Scene) ν™”λ©΄ 움직이기

Scene화면에닀 마우슀 μ»€μ„œλ₯Ό 올린 ν›„ μš°ν΄λ¦­ν•˜κ³  마우슀λ₯Ό 움직여 보면 화면이 마우슀λ₯Ό μ›€μ§μ΄λŠ” λ°©ν–₯에 따라 같이 λŒμ•„κ°€λŠ” 것을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ 우클릭 μƒνƒœμ—μ„œ WASDλ₯Ό κ²Œμž„ μ‘°μž‘ν•˜λ“―μ΄ λˆ„λ₯΄λ©΄ 화면을 이동할 수 있고 Q와 E둜 μƒν•˜λ‘œλ„ 움직일 수 μžˆμŠ΅λ‹ˆλ‹€.


κ²Œμž„(Game) ν™”λ©΄

ν•˜μ§€λ§Œ κ²Œμž„(Game) 화면을 보면 μš°λ¦¬κ°€ μ•„κΉŒ 보던 씬(Scene) ν™”λ©΄ν•˜κ³  λ‹€λ₯Έ λͺ¨μŠ΅μ„ 보여주고 μžˆμŠ΅λ‹ˆλ‹€. 그것은 κ²Œμž„(Game) ν™”λ©΄μ—μ„œλŠ” 씬(Scene)에 μ‘΄μž¬ν•˜λŠ” μΉ΄λ©”λΌλ‘œ λ³΄λŠ” μ‹œμ μ„ 보여주기 λ•Œλ¬Έμž…λ‹ˆλ‹€.


카메라 였브젝트

λ‹€μ‹œ 씬(Scene)으둜 λŒμ•„μ™€ 씬(Scene)에 μ‘΄μž¬ν•˜λŠ” 카메라 μ•„μ΄μ½˜μ΄λ‚˜ ν•˜μ΄μ–΄λΌν‚€(Hireachy)에 μ‘΄μž¬ν•˜λŠ” Main Camera을 μ„ νƒν•˜λ©΄
씬(Scene)μ—λŠ” 3μΆ• μ’Œν‘œκ³„κ°€ 보이고 카메라가 λΉšμΆ”λŠ” λ°©ν–₯, ν˜„μž¬ λ³΄μ΄λŠ” κ²Œμž„(Game) ν™”λ©΄, λ“±μ˜ 정보가 보이고
μΈμŠ€νŽ™ν„°(Inspector)μ—λŠ” Transform, Camera, Audio Listener μ»΄ν¬λ„ŒνŠΈ(Component) 정보가 λ³΄μž…λ‹ˆλ‹€.

β€»μ»΄ν¬λ„ŒνŠΈ(Component): μ˜€λΈŒμ νŠΈκ°€ 가지고 μžˆλŠ” νŠΉμ§•μ„ λ§ν•œλ‹€.



Transform μ»΄ν¬λ„ŒνŠΈ

μ—¬λŸ¬ μ»΄ν¬λ„ŒνŠΈ(Component)μ€‘μ—μ„œ Transform을 μžμ„Ένžˆ 보면 μΉ΄λ©”λΌμ˜ μœ„μΉ˜(Position), 각도(Rotation), 크기(Scale)을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 그리고 직접 νƒ€μ΄ν•‘ν•˜λ―€λ‘œμ¨ 이 정보λ₯Ό λ°”κΏ€μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. ν•œλ²ˆ λ°”κΏ” λ΄…μ‹œλ‹€.


Tranform μ»΄ν¬λ„ŒνŠΈ λ³€κ²½

Tranform의 정보λ₯Ό λ°”κΎΈλ‹ˆ 씬(Scene)에 μžˆλŠ” 카메라에 λ°©ν–₯κ³Ό μœ„μΉ˜κ°€ λ°”λ€Œκ³  κ²Œμž„(Game) 화면에 λͺ¨μŠ΅μ΄ 많이 바뀐 것을 확인 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


script 생성

이제 λ§ˆμ§€λ§‰μœΌλ‘œ μ½˜μ†”(Console) 탭에 "Hello World!"λ₯Ό 좜λ ₯ν•΄λ΄…μ‹œλ‹€. ν”„λ‘œκ·Έλž˜λ°μ˜ κ΅­λ£°
ν”„λ‘œμ νŠΈ(Project) νƒ­μ—μ„œ [우클릭] -> [Create] -> [C# script]둜 C# script νŒŒμΌμ„ μƒμ„±ν•©λ‹ˆλ‹€.


Test script 생성

이후 C# script 파일이 생기면 생성 직후 λ°”λ‘œ 이름을 지정할 수 μžˆλŠ”λ° 이름을 Test둜 ν•΄μ€λ‹ˆλ‹€.
더블 ν΄λ¦­ν•˜μ—¬ script νŒŒμΌμ„ μ—΄μ–΄μ€λ‹ˆλ‹€.

※생성 직후 λ°”λ‘œ μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ script 이름과 class 이름이 달라 였λ₯˜κ°€ λ°œμƒν•  수 μžˆλ‹€.
※띄어쓰기 λ˜ν•œ 였λ₯˜κ°€ λ°œμƒν•œλ‹€. _(언더바)둜 λŒ€μ²΄ν•΄ 주자.

β€»λ§Œμ•½ 더블클릭 ν–ˆλŠ”λ°λ„ 열리지 μ•ŠλŠ”λ‹€λ©΄ visual studioκ°€ μ„€μΉ˜λ˜μ–΄μžˆλŠ”μ§€ ν™•μΈν•΄λ³΄μž



using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class Test : MonoBehaviour { 
	// Start is called before the first frame update 
	void Start() { 
		Debug.Log("Hello World!"); 
	}
    
	// Update is called once per frame 
	void Update() { 
	} 
}

μ˜€λŠ˜μ€ κ°„λ‹¨νžˆ μ‚΄νŽ΄λ³΄κΈ°λ§Œ ν• κ±°λ‹ˆ 각 λ¬Έμž₯이 무엇을 μ˜λ―Έν•˜λŠ”μ§€λŠ” λ‚˜μ€‘μ— μ•Œμ•„λ΄…μ‹œλ‹€...
μœ„μ—μ„œ void Start() μ•ˆμ— Debug.Log("Hello World!");λΌλŠ” λ¬Έμž₯을 λ„£μœΌλ©΄ "Hello World!" 좜λ ₯ μ€€λΉ„λŠ” λλ‚©λ‹ˆλ‹€.
Ctrl + S둜 μ €μž₯ν•΄μ£Όκ³  Unity Editor둜 λŒμ•„μ˜΅μ‹œλ‹€.


script μ»΄ν¬λ„ŒνŠΈ μΆ”κ°€

C# script νŒŒμΌμ„ λ“œλž˜κ·Έν•΄μ„œ ν•˜μ΄μ–΄λΌν‚€(Hierarchy)에 μžˆλŠ” Main Camera μ˜€λΈŒμ νŠΈμ— λ†“μŠ΅λ‹ˆλ‹€. 그러면 Main Camera 였브젝트 μ»΄ν¬λ„ŒνŠΈμ— μš°λ¦¬κ°€ λ§Œλ“  Testκ°€ μΆ”κ°€λœ 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
이제 κ°€μš΄λ° 맨 μœ„μ— μžˆλŠ” ▢을 눌러 κ²Œμž„μ„ μ‹€ν–‰ν•΄ λ΄…μ‹œλ‹€.


와 Hello World!

μ½˜μ†”(Console) 탭을 확인해 보면 Hello World!κ°€ 좜λ ₯된 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€!