콘텐츠로 이동

첫 번째 3D 앱 - Part D: 퀴즈와 다음 단계


퀴즈: 기본 개념 확인

아래 퀴즈들을 풀어 학습 내용을 확인해 보세요!

퀴즈 1: 라이브러리란?

퀴즈: 라이브러리란?
프로그래밍에서 **라이브러리**란 무엇인가요?
정답 보기

정답: B) 다른 사람들이 미리 만들어둔 코드 모음

라이브러리는 다른 프로그래머들이 미리 작성해둔 유용한 코드 모음입니다. 마치 도서관에서 책을 빌려 읽는 것처럼, 우리는 라이브러리를 가져와서 사용할 수 있습니다.

예를 들어: - math 라이브러리: 수학 계산 함수들 - datetime 라이브러리: 날짜와 시간 처리 - ursina 라이브러리: 3D 게임 개발 도구

퀴즈 2: Ursina 엔진이란?

퀴즈: Ursina 엔진이란?
Ursina 엔진은 무엇을 쉽게 해주나요?
정답 보기

정답: A) Python으로 3D 게임이나 애플리케이션을 만들 수 있게 해줍니다

Ursina 엔진은 Python으로 3D 게임을 만들 수 있게 해주는 전문 라이브러리입니다.

Ursina를 사용하면: - 3D 객체(큐브, 구 등)를 쉽게 만들 수 있습니다 - 게임 창을 만들고 관리할 수 있습니다 - 카메라, 조명, 물리 효과를 사용할 수 있습니다 - 마우스와 키보드 입력을 처리할 수 있습니다

일반 Python만으로는 3D 게임을 만들기 어렵지만, Ursina를 사용하면 쉽게 시작할 수 있습니다!

퀴즈 3: 라이브러리 불러오기

퀴즈: 라이브러리 불러오기
from ursina import *에서 *는 무엇을 의미하나요?
정답 보기

정답: C) 모든 기능을 가져온다는 의미

import *에서 *는 "모든 것"을 의미합니다. Ursina 라이브러리의 모든 기능을 한 번에 가져옵니다.

코드의 첫 번째 줄을 확인해보세요:

from ursina import *  # 모든 기능 가져오기

이렇게 하면 Ursina(), Entity(), color 등을 바로 사용할 수 있습니다.

만약 특정 기능만 가져오고 싶다면:

from ursina import Entity, color  # 특정 기능만 가져오기

퀴즈 4: app.run()의 역할

퀴즈: app.run()의 역할
app.run()은 무엇을 하나요?
정답 보기

정답: A) 게임 창을 실행하고 화면에 표시합니다

app.run()은 게임 창을 실행하고 화면에 표시하는 함수입니다. 이 줄이 없으면 아무리 코드를 작성해도 창이 나타나지 않습니다!

코드의 마지막 줄을 확인해보세요:

app = Ursina()  # 게임 준비
# ... 큐브, 카메라 등을 만드는 코드 ...
app.run()  # 게임 창을 실행하고 화면에 표시!

app.run()을 호출하면 게임 루프가 시작되고, 사용자가 창을 닫을 때까지 계속 실행됩니다.

퀴즈 5: 변수의 역할

퀴즈: 변수의 역할
cube_size = 2에서 변수 cube_size의 역할은 무엇인가요?
정답 보기

정답: B) 큐브의 크기 정보를 저장합니다

변수는 정보를 담는 상자와 같습니다. cube_size 변수에 숫자 2를 저장하고, 나중에 Entity를 만들 때 이 값을 사용합니다.

코드에서 확인해보세요:

cube_size = 2  # 정보를 저장
my_cube = Entity(scale=cube_size)  # 저장된 정보를 사용


자주 하는 실수

학생들이 자주 실수하는 부분과 해결 방법입니다.

실수 1: app.run()을 잊어버림

# 잘못된 코드
from ursina import *
app = Ursina()
my_cube = Entity(model='cube', color=color.red)
# app.run()이 없음!

증상: 코드를 실행해도 아무것도 나타나지 않습니다. 해결: 마지막 줄에 app.run()을 추가하세요.

# 올바른 코드
from ursina import *
app = Ursina()
my_cube = Entity(model='cube', color=color.red)
app.run()  # 이 줄을 항상 추가!

실수 2: Ursina import 빠뜨림

# 잘못된 코드
app = Ursina()  # NameError: name 'Ursina' is not defined

증상: NameError: name 'Ursina' is not defined 오류가 발생합니다. 해결: 파일 맨 위에 from ursina import *를 추가하세요.

# 올바른 코드
from ursina import *  # 이 줄을 먼저!
app = Ursina()

실수 3: 변수 이름 오타

# 잘못된 코드
cube_color = color.red
my_cube = Entity(
    color=cube_colour  # 영국식 철자로 잘못 입력!
)

증상: NameError: name 'cube_colour' is not defined 해결: 변수 이름을 정확히 입력하세요 (cube_color)

# 올바른 코드
cube_color = color.red
my_cube = Entity(
    color=cube_color  # 정확한 철자!
)

주의

Python은 철자에 매우 민감합니다. 변수 이름은 정확히 입력해야 합니다!


다음 단계

축하합니다! 첫 번째 3D 앱을 성공적으로 만들었습니다!

복습 체크리스트

다음 내용을 이해했는지 확인해보세요:

  • [ ] from ursina import *의 의미를 이해했나요?
  • [ ] Ursina()로 게임 창을 만들 수 있나요?
  • [ ] 변수를 사용하여 정보를 저장할 수 있나요?
  • [ ] Entity()로 3D 객체를 만들 수 있나요?
  • [ ] app.run()의 역할을 알고 있나요?

도전 과제

퀴즈를 모두 풀었다면, 다음을 시도해보세요:

  1. 쉬움: 큐브 색상을 파란색으로 바꾸기
  2. 힌트: cube_color = color.blue

  3. 중간: 큐브 크기를 5로 변경하기

  4. 힌트: cube_size = 5

  5. 어려움: 다른 위치에 초록색 큐브 하나 더 만들기

  6. 힌트: 새로운 Entity를 만들고 position 인자를 추가하세요
도전 과제 힌트

과제 1 힌트: cube_color 변수의 값을 color.red에서 color.blue로 바꿔보세요

과제 2 힌트: cube_size 변수를 2에서 5로 변경하면 큐브가 훨씬 커집니다

과제 3 힌트:

another_cube = Entity(
    model='cube',
    color=color.green,
    position=(3, 0, 0)  # 오른쪽으로 3칸 이동
)

다음 강의

Lesson 02: Entity의 인자들 (Entity Arguments)

다음 강의에서는: - Entity의 다양한 인자(model, color, position, scale)를 배웁니다 - 여러 개의 3D 객체를 만들어봅니다 - 객체의 위치를 조절하는 방법을 배웁니다

다음 강의로 이동

연습이 중요해요!

이 코드를 직접 실행하고 수정해보세요! 변수 값을 바꿔보면 어떤 일이 일어나는지 확인할 수 있습니다.

cube_size = 5           # 2에서 5로 변경하면 큐브가 더 커집니다!
cube_color = color.blue  # color.red에서 color.blue로 바꾸면 큐브가 파란색이 됩니다!

변수 값을 바꾸면 게임의 모습이 바뀝니다!

핵심 요약
  • 라이브러리는 다른 사람들이 만들어둔 코드 모음입니다
  • Ursina 엔진은 Python으로 3D 게임을 만들 수 있게 해줍니다
  • 변수는 정보를 담는 상자입니다
  • Entity는 3D 객체를 만드는 함수입니다
  • app.run()은 게임을 실행하는 명령입니다