D. Entity로 3D 큐브 만들기
예상 시간: 7분 | 이전: C. 변수 선언 | 다음: E. 완성 코드와 실행
🎯 학습 목표
이 강의를 마치면 다음을 할 수 있어요:
- ○
Entity()로 3D 객체를 만들 수 있다 - ○
model,color,scale인자를 사용할 수 있다 - ○ Entity를 변수에 저장할 수 있다
핵심 개념
Entity란?
Entity는 Ursina에서 게임 세계의 모든 물체를 나타냅니다.
📝 비유: 레고 블록
Entity는 레고 블록과 같습니다!
- 다양한 모양의 블록이 있음 (큐브, 구, 평면)
- 색상을 칠할 수 있음
- 크기를 조절할 수 있음
- 여러 개를 조합해서 복잡한 것을 만들 수 있음
Entity는 게임 세계의 기본 건축 블록이에요!
Entity 생성 흐름도
flowchart TD
A["Entity()"] --> B{"인자 설정"}
B --> C["model='cube'<br/>모양 결정"]
B --> D["color=color.red<br/>색상 결정"]
B --> E["scale=2<br/>크기 결정"]
C --> F["3D 객체 생성!"]
D --> F
E --> F
style A fill:#e3f2fd,stroke:#1976d2
style F fill:#e8f5e9,stroke:#388e3c
Entity 만들기
인자 설명:
model='cube': 큐브 모양color=color.red: 빨간색scale=2: 크기 2배
주요 인자들
| 인자 | 역할 | 예시 값 |
|---|---|---|
model |
모양 | 'cube', 'sphere', 'plane' |
color |
색상 | color.red, color.blue, color.green |
scale |
크기 | 1, 2, (2,1,3) |
position |
위치 | (0,0,0), (1,2,3) |
사용 가능한 모양들
| model 값 | 모양 | 설명 |
|---|---|---|
'cube' |
정육면체 | 가장 기본적인 3D 모양 |
'sphere' |
구 | 둥근 공 모양 |
'plane' |
평면 | 납작한 바닥판 |
'quad' |
사각형 | 2D 사각형 |
⚠️ 인자 형식 주의!
인자는 이름=값 형식으로 작성합니다!
- ✅
model='cube'(등호 사용) - ❌
model:'cube'(콜론 사용 불가) - ❌
model-'cube'(하이픈 사용 불가)
예제 코드
from ursina import *
app = Ursina()
# 변수로 설정값 저장
cube_color = color.red
cube_size = 2
# Entity로 큐브 만들기
my_cube = Entity(
model='cube',
color=cube_color,
scale=cube_size
)
app.run()
결과
화면 중앙에 빨간색 큐브가 나타납니다!
- 크기: 기본의 2배
- 색상: 빨간색
- 위치: 화면 중앙 (0, 0, 0)
🎯 퀴즈
퀴즈: Entity 인자
Entity의 모양을 결정하는 인자는?
정답 보기
정답: A) model
model: 모양을 결정 (cube, sphere 등)color: 색상을 결정 (red, blue 등)scale: 크기를 결정 (1, 2 등)
🔧 디버그 클리닉
문제: TypeError: Entity() got an unexpected keyword argument
원인: 인자 이름 오타
해결: 정확한 인자 이름 사용
문제: 큐브가 안 보여요!
원인: 카메라 위치 또는 큐브 크기 문제
해결: scale 값 확인 또는 EditorCamera 추가
직접 코딩해보기
다양한 Entity를 만들어보세요!
파란색 구 만들기
파란색 구(sphere)를 만드는 코드를 작성하세요.
예시 답안
from ursina import *
app = Ursina()
my_sphere = Entity(
model='sphere',
color=color.blue
)
app.run()
결과: 화면 중앙에 파란색 구가 나타납니다!
🧩 핵심 요약
이번 강의에서 배운 내용:
- Entity: 게임 세계의 모든 물체 (레고 블록)
- model: 모양 결정 (
'cube','sphere'등) - color: 색상 결정 (
color.red등) - scale: 크기 결정 (숫자)
- 인자 형식:
이름=값(등호 사용!)
복습 체크리스트
- [ ] Entity가 무엇인지 설명할 수 있나요?
- [ ] model, color, scale 인자의 역할을 알고 있나요?
- [ ] Entity를 변수에 저장하는 방법을 알고 있나요?
다음 단계: E. 완성 코드와 실행 →