
๐ ๋ณธ ํฌ์คํ ์ Unity 6 ๊ณต์ ๋งค๋ด์ผ์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์์ฑ๋์์ต๋๋ค.
Unity์ Transform ์ปดํฌ๋ํธ๋ ๋ชจ๋ GameObject์ ํ์๋ก ํฌํจ๋๋ ํต์ฌ ์์๋ก, ์ค๋ธ์ ํธ์ ์์น, ํ์ , ํฌ๊ธฐ๋ฟ ์๋๋ผ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์๋๋ Unity 6 ๋งค๋ด์ผ ๊ธฐ์ค์ผ๋ก ์ ๋ฆฌํ Transform ์ปดํฌ๋ํธ์ ์ญํ ๊ณผ ๊ตฌ์ฑ์ ๋๋ค.
Transform ์ปดํฌ๋ํธ๋ ์ฌ ๋ด์์ ์ค๋ธ์ ํธ์ ์์น(Position), ํ์ (Rotation), ์ค์ผ์ผ(Scale) ์ ๊ฒฐ์ ํ๊ณ ๋ชจ๋ ์ค๋ธ์ ํธ๋ ํด๋น ์์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.

๐ก Tip: Transform ์ถ(axes) ์์์ด๋ ๋ค๋ฅธ UI ์์์ ์์์ ๋ณ๊ฒฝ๊ฐ๋ฅ
ย ย ย ย ย (Unity > Preferences์ ํ, Colors & keys ํจ๋์ ์ ํ)
| ์์ฑ | ๊ธฐ๋ฅ ์ค๋ช |
|---|---|
| Position | Transform์ x, y, z ์ขํ ์์น. |
| Rotation | x์ถ, y์ถ, z์ถ์ ์ค์ฌ์ผ๋ก ํ Transform์ ํ์ (๋จ์: ๋). |
| Scale | Transform์ x, y, z์ถ ๋ฐฉํฅ ํฌ๊ธฐ. ๊ฐ์ด โ1โ์ด๋ฉด ์ํฌํธ๋ GameObject์ ์๋ ํฌ๊ธฐ. |
| Enable Constrained Proportions | ์ค์ผ์ผ ๋น์จ์ ๊ณ ์ ํ์ฌ ํ ์ถ์ ๋ณ๊ฒฝํ๋ฉด ๋๋จธ์ง ๋ ์ถ๋ ๊ฐ์ ๋น์จ๋ก ๋ณ๊ฒฝ๋๋๋ก ๊ฐ์ . ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋นํ์ฑํ ์ํ. |
Unity๋ Transform์ ๊ฐ ๊ฐ์ ๋ถ๋ชจ Transform ๊ธฐ์ค์ผ๋ก ์ธก์ ํ๊ณ ๋ถ๋ชจ๊ฐ ์์ผ๋ฉด ์๋ ์ขํ๊ณ(World Space) ๊ธฐ์ค์ผ๋ก ์ธก์ ๋ฉ๋๋ค.
2D ๊ณต๊ฐ์์๋ Transform์ x์ถ์ด๋ y์ถ์ผ๋ก๋ง, 3D ๊ณต๊ฐ์์๋ x์ถ, y์ถ, z์ถ ๋ชจ๋์์ Transform์ ์กฐ์ํ ์ ์์ต๋๋ค.
Unity์์๋ ์ด ์ถ๋ค์ ๊ฐ๊ฐ ๋นจ๊ฐ(x), ์ด๋ก(y), ํ๋(z) ์์ผ๋ก ํ์ํฉ๋๋ค.

Transform ํธ์งํ๋ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ:
์ฌ(Scene) ๋ทฐ
์ฌ ๋ทฐ์์๋ ์ด๋(Move), ํ์ (Rotate), ์ค์ผ์ผ(Scale) ๋๊ตฌ๋ฅผ ์ฌ์ฉํด Transform์ ์์ ๊ฐ๋ฅ

GameObject๋ฅผ ์ ํํ๋ฉด ํด ๊ธฐ์ฆ๋ชจ(Gizmo)๋ฅผ ์ด์ฉํด ์์ ๊ฐ๋ฅ

์ธ ๊ฐ์ ๊ธฐ์ฆ๋ชจ ์ถ ์ค ํ๋๋ฅผ ํด๋ฆญํ๊ณ ๋๋๊ทธํ๋ฉด ํด๋น ์ถ์ ์์์ด ๋
ธ๋์์ผ๋ก ๋ฐ๋๋๋ค. ๋ง์ฐ์ค๋ฅผ ๋๋๊ทธํ๋ ๋์ GameObject๋ ์ ํํ ์ถ์ ๋ฐ๋ผ ์ด๋, ํ์ , ๋๋ ์ค์ผ์ผ์ด ๋ณ๊ฒฝ๋๊ณ ๋ง์ฐ์ค ๋ฒํผ์ ๋์ผ๋ฉด ํด๋น ์ถ์ด ์ ํ๋ ์ํ๋ก ์ ์ง๋ฉ๋๋ค.๊ธฐ์ฆ๋ชจ ์ค์ฌ ์ฃผ๋ณ์ ์๋ ์ธ ๊ฐ์ ์์ ์์ ์ฌ๊ฐํ ์ค ํ๋๋ฅผ ์ ํํ๋ฉด ํน์ ํ๋ฉด์ผ๋ก์ ์์ง์์ ์ ๊ธ ์๋ ์์ต๋๋ค.
์ธ์คํํฐ(Inspector) ์ฐฝ
1. ์์ฑ ๊ฐ ์
๋ ฅ๋์ ๊ฐ์ ์ง์ ์
๋ ฅ - ๊ตฌ์ฒด์ ์ธ ์กฐ์ ์ด ํ์ํ ๋ ์ ์ฉ
2.๊ฐ ์
๋ ฅ๋์ ํด๋ฆญํ ๋ค ์์๋๋ก ๋๋๊ทธ - ๊ฐ์ ์ฆ๊ฐํ๊ฑฐ๋ ๊ฐ์์์ผ ๋ ์ธ๋ฐํ ์กฐ์ ์ ํ ๋ ์ ์ฉ
๐ก ๊ฐ์ธ์ ์ธ ๊ฒฝํ์ผ๋ก๋ Sence ์์ ๋๋๊ทธ๋ฅผ ์ด์ฉํ๊ณ ์ธ๋ถ ์์ฑ์ ์ด์ฉํ๋ ๊ฒ์ด ์ ์ผ ํจ์จ์ ์ด์๋ ๊ฒ ๊ฐ๋ค.
C# ์คํฌ๋ฆฝํธ
Transform ํด๋์ค๋ฅผ ์ฌ์ฉํด GameObject์ ์์น(Position), ํ์ (Rotation), ์ค์ผ์ผ(Scale)๋ฟ ์๋๋ผ ๋ถ๋ชจ-์์ ๊ณ์ธต ๊ด๊ณ๋ ์์ ํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ Transform API reference ์ฐธ์กฐ
//Unity ๋ฉ๋ด์ผ ์์
using UnityEngine;
public class Example : MonoBehaviour
{
// Moves all transform children 10 units upwards!
void Start()
{
foreach (Transform child in transform)
{
child.position += Vector3.up * 10.0f;
}
}
}
Unity์์๋ ๊ฒ์ ์ค๋ธ์ ํธ๋ค์ ๋ถ๋ชจ-์์ ๊ณ์ธต ๊ตฌ์กฐ(parent-child hierarchies) ๋ก ๊ทธ๋ฃนํํ ์ ์์ต๋๋ค.
๋ถ๋ชจ(Parent) GameObject: ๋ค๋ฅธ GameObject๋ค์ ์์์ผ๋ก ์ฐ๊ฒฐํ๋ฉฐ, ์์ ์ Transform ์์ฑ์ ์์๋ค์๊ฒ ์ ๋ฌ
์์(Child) GameObject: ๋ค๋ฅธ GameObject์ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ, ๊ทธ ๋ถ๋ชจ GameObject์ Transform ์์ฑ์ ๋ฐ๋ผ๊ฐ
Hierarchy ์ฐฝ์์๋ ์์ GameObject๊ฐ ๋ถ๋ชจ GameObject ๋ฐ๋ก ์๋์ ๋ค์ฌ์ฐ๊ธฐ๋ ์ํ๋ก ๋ํ๋ฉ๋๋ค.
๋ถ๋ชจ GameObject์ ์ผ์ชฝ์ ์๋ ์ ๊ธฐ/ํผ์น๊ธฐ ์์ด์ฝ(fold-out icon) ์ ํด๋ฆญํด ์์ GameObjects๋ฅผ ์จ๊ธฐ๊ฑฐ๋ ํ์ํ ์ ์์ต๋๋ค.

Hierarchy ์ฐฝ์์ ํ GameObject๋ฅผ ๋ค๋ฅธ GameObject ์๋ก ๋๋๊ทธํ๋ฉด, ๋ GameObject ์ฌ์ด์ ๋ถ๋ชจ-์์ ๊ด๊ณ๊ฐ ์์ฑ
์์ GameObject๋ ๋ถ๋ชจ๊ฐ ์ด๋, ํ์ , ์ค์ผ์ผ์ ๋ณ๊ฒฝํ ๋ ๋๊ฐ์ด ๋ฐ๋ผ ์์ง์
๋๋ค. ๋ํ ์์ GameObject๋ ์์ ๋ง์ ์์ GameObject๋ฅผ ๊ฐ์ง ์๋ ์์ต๋๋ค.
(GameObject๋ ์ฌ๋ฌ ์์์ ๊ฐ์ง ์ ์์ง๋ง, ๋ถ๋ชจ๋ ํ๋๋ง ๊ฐ์ง ์ ์์ต๋๋ค.)
์ฌ๋ฌ ๋จ๊ณ๋ก ์ฐ๊ฒฐ๋ ๋ถ๋ชจ-์์ ๊ด๊ณ๊ฐ Transform ๊ณ์ธต ๊ตฌ์กฐ(Transform hierarchy) ๋ฅผ ํ์ฑํฉ๋๋ค.
(๊ณ์ธต์ ๊ฐ์ฅ ์์ ์๋ GameObject(์ฆ, ๋ถ๋ชจ๊ฐ ์๋ GameObject)๋ฅผ ๋ฃจํธ GameObject(root GameObject) ๋ผ๊ณ ํฉ๋๋ค.)
์์ GameObject์ Transform ๊ฐ์ ๋ถ๋ชจ GameObject์ Transform ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ์๋๊ณ ์ด ๊ฐ๋ค์ ๋ก์ปฌ ์ขํ(local coordinates) ๋ผ๊ณ ํฉ๋๋ค.
์ฌ์ ๊ตฌ์ฑํ ๋๋ ๋ณดํต ์์ GameObject์ ๋ก์ปฌ ์ขํ๋ง์ผ๋ก๋ ์ถฉ๋ถํ ์์
ํ ์ ์์ง๋ง ๊ฒ์ํ๋ ์ด ์ค์๋ ๊ธ๋ก๋ฒ ์ขํ(global coordinates), ์ฆ ์๋ ๊ณต๊ฐ์์์ ์ ํํ ์์น๋ฅผ ์์์ผ ํ ๋๊ฐ ๋ง์ต๋๋ค.
(Transform ์ปดํฌ๋ํธ์ ์คํฌ๋ฆฝํธ API์์๋ ๋ก์ปฌ๊ณผ ๊ธ๋ก๋ฒ Position, Rotation, Scale์ ์ํ ๋ณ๋์ ์์ฑ์ ์ ๊ณตํ๋ฉฐ, ๋ก์ปฌ๊ณผ ๊ธ๋ก๋ฒ ์ขํ ๊ฐ ๋ณํ๋ ์ง์)
๐ก Transform์ ๋ถ๋ชจ์ ์ฐ๊ฒฐํ ๋, ๋ถ๋ชจ์ ์์น๋ฅผ <0,0,0>์ผ๋ก ์ค์ ํด ๋๋ฉด ์ ์ฉ
์ด๋ ๊ฒ ํ๋ฉด ์์ Transform์ ๋ก์ปฌ ์ขํ๊ฐ ๊ธ๋ก๋ฒ ์ขํ์ ๋์ผํด์ ธ, ์์ Transform์ด ์ฌ๋ฐ๋ฅธ ์์น์ ์๋๋ก ์ฝ๊ฒ ๋ง์ถ ์ ์์ต๋๋ค.
Transform์ Scale(์ค์ผ์ผ) ๊ฐ์ 3D ๋ชจ๋ธ๋ง ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ง๋ ๋ฉ์(mesh)์ ํฌ๊ธฐ์ Unity ๋ด์์์ ํฌ๊ธฐ ๊ฐ ์ฐจ์ด๋ฅผ ๊ฒฐ์ ํ๊ณ ํนํ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์์ ์ค์ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌผ๋ฆฌ ์์ง์ ์๋ ์ขํ๊ณ์ 1 ์ ๋์ด 1๋ฏธํฐ์ ํด๋นํ๋ค๊ณ ๊ฐ์ ํ๋ฉด
GameObject๊ฐ ๋งค์ฐ ํด ๋, ๋ง์น ์ฌ๋ก์ฐ ๋ชจ์
์ฒ๋ผ ์ฒ์ฒํ ๋จ์ด์ง๋ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์์ง๋ง ์ด๋ ์ค์ ๋ก๋ ํฐ ๋ฌผ์ฒด๊ฐ ๋จผ ๊ฑฐ๋ฆฌ๋ฅผ ๋จ์ด์ง๋ ์ฌ๋ฐ๋ฅธ ์๋ฎฌ๋ ์ด์
๊ฒฐ๊ณผ์
๋๋ค.
GameObject์ Scale์ ์ํฅ์ ์ฃผ๋ ์ธ ๊ฐ์ง ์์:
๊ถ์ฅ ์ฌํญ:
๐ก Scale์ ๋ณ๊ฒฝํ๋ฉด ์์ Transform์ ์์น์๋ ์ํฅ์
์๋ฅผ ๋ค์ด, ๋ถ๋ชจ Transform์ Scale์ (0,0,0)์ผ๋ก ์ค์ ํ๋ฉด ๋ชจ๋ ์์ Transform์ด ๋ถ๋ชจ ๊ธฐ์ค์ผ๋ก (0,0,0) ํฌ๊ธฐ๊ฐ ๋ฉ๋๋ค.
๋น๊ท ์ผ ์ค์ผ์ผ๋ง์ด๋ Transform์ Scale ๊ฐ์ด x, y, z ์ถ์์ ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง๋ ๊ฒฝ์ฐ๋ฅผ ๋งํฉ๋๋ค.(ex, x,y,z = 2,4,2)
๋น๊ท ์ผ ์ค์ผ์ผ๋ง์ ํน์ ํ ์ํฉ์์ ์ ์ฉํ์ง๋ง, ๊ท ์ผ ์ค์ผ์ผ๋ง๊ณผ๋ ๋ค๋ฅด๊ฒ ๋์ํฉ๋๋ค:
https://docs.unity3d.com/Manual/class-Transform.html