3D 모델링 및 시각화는 게임, 건축 및 가상 현실과 같은 다양한 산업에서 필수적인 부분이 되었습니다. 이 기사에서는 3D 모델 장면을 만들고 읽는 데 중점을 두고 Python에서 3D 모델로 작업하는 방법을 살펴봅니다. 3D 모델을 생성, 조작 및 읽기 위한 강력하고 사용하기 쉬운 도구인 Python의 Aspose.3D 라이브러리를 탐색합니다. 파이썬으로 3D 모델링에 빠져보자!
이 문서에서는 다음 항목을 다룹니다.
- Python 3D 라이브러리 – Python의 3D
- Python에서 간단한 3D 장면 만들기
- 3D 장면에서 재료 만들기
- 3D 장면에 조명 추가
- Python에서 기본 3D 모델 만들기
- Python에서 3D 장면 읽기
Python 3D 라이브러리 – Python의 3D
Python용 Aspose.3D는 Python 개발자를 위한 다재다능하고 기능이 풍부하며 매우 효율적인 3D 모델링 솔루션입니다. 사용자가 3D 모델을 쉽게 만들고 읽고 수정할 수 있는 포괄적인 기능 세트를 제공합니다. 이 Python 3D 라이브러리의 몇 가지 주요 기능은 다음과 같습니다.
- FBX, OBJ, STL 등과 같은 널리 사용되는 3D 파일 형식 지원
- 고성능 3D 렌더링 및 시각화 기능
- 고급 장면 관리 및 조작 도구
- 개발자가 빠르게 시작하는 데 도움이 되는 광범위한 문서 및 코드 샘플
콘솔에서 다음 pip 명령을 사용하여 패키지 다운로드 또는 PyPI에서 API 설치를 수행하십시오.
pip install aspose-3d
Python에서 기본 3D 장면 만들기
아래 단계에 따라 간단한 3D 장면을 만들 수 있습니다.
- Scene 클래스의 인스턴스를 만듭니다.
- 그런 다음 createchildnode() 메서드를 호출하여 일부 기하학, 예를 들어 구와 같이 화면에 표시할 모양을 추가합니다.
- 마지막으로 save() 메서드를 사용하여 장면을 FBX로 저장합니다.
다음 코드 샘플은 Python에서 간단한 3D 장면을 만드는 방법을 보여줍니다.
# 이 코드 예제는 기본 3D 장면을 만드는 방법을 보여줍니다.
from aspose.threed import Scene
from aspose.threed.entities import Sphere
# Scene 클래스의 객체 생성
scene = Scene()
# 구 모델 만들기
scene.root_node.create_child_node("Sphere", Sphere())
# 3D 장면 문서 저장
scene.save("C:\\Files\\my_scene.fbx")
Python을 사용하여 3D 장면에서 재료 만들기
아래 단계에 따라 3D 장면에서 확산 색상으로 재료를 만들 수 있습니다.
- Scene 클래스의 인스턴스를 만듭니다.
- createchildnode() 메서드를 호출하여 구체를 추가합니다.
- LambertMaterial 클래스 개체를 초기화합니다.
- 확산 색상 및 이름 속성을 지정합니다.
- 그런 다음 재료 개체를 Sphere 모델에 할당합니다.
- 마지막으로 save() 메서드를 사용하여 장면을 FBX로 저장합니다.
다음 코드 샘플은 Python을 사용하여 3D 장면에서 확산 색상으로 재료를 만드는 방법을 보여줍니다.
# 이 코드 예제는 3D 장면에서 자료를 만드는 방법을 보여줍니다.
from aspose.threed import Scene
from aspose.threed.entities import Sphere
from aspose.threed.utilities import MathUtils, Vector3
from aspose.threed.shading import LambertMaterial
from aspose.pydrawing import Color
# Scene 클래스의 객체 생성
scene = Scene()
# 구 모델 만들기
node = scene.root_node.create_child_node("Sphere", Sphere())
# LambertMaterial 설정
material = LambertMaterial()
material.diffuse_color = Vector3(Color.red)
material.name = "Lambert"
# 구형 모델에 할당
node.material = material
# 3D 장면 문서 저장
scene.save("C:\\Files\\material_scene.fbx")
Python을 사용하여 3D 장면에 조명 추가
아래 단계에 따라 3D 장면에 조명을 추가할 수도 있습니다.
- Scene 클래스의 인스턴스를 만듭니다.
- createchildnode() 메서드를 호출하여 구체를 추가합니다.
- Light 클래스 개체를 초기화합니다.
- lighttype 및 name 속성을 지정합니다.
- 그런 다음 createchildnode() 메서드를 호출하여 조명 개체를 추가합니다.
- 마지막으로 save() 메서드를 사용하여 장면을 FBX로 저장합니다.
다음 코드 샘플은 Python을 사용하여 3D 장면에서 조명을 만드는 방법을 보여줍니다.
# 이 코드 예제는 3D 장면에서 조명을 만드는 방법을 보여줍니다.
from aspose.threed import Scene
from aspose.threed.entities import Sphere, Light, LightType
from aspose.threed.utilities import MathUtils, Vector3
from aspose.threed.shading import LambertMaterial
from aspose.pydrawing import Color
# Scene 클래스의 객체 생성
scene = Scene()
# 구 모델 만들기
scene.root_node.create_child_node("Sphere", Sphere())
# 조명 엔터티 추가
light = Light()
# 포인트 라이트
light.light_type = 0
# 이름
light.name = "Light";
# 장면에 추가
scene.root_node.create_child_node(light).transform.translation = Vector3(10, 0, 10);
# 3D 장면 문서 저장
scene.save("C:\\Files\\light_scene.fbx")
기본 3D 모델 Python
프리미티브는 복잡한 기하학적 형태를 만들기 위한 기초가 되는 3차원 기하학적 모양입니다. 앞에서 언급한 단계에 따라 기본 3D 모델을 만들 수 있습니다. 그러나 아래 코드 샘플과 같이 여러 기하학적 모양이나 개체를 추가해야 합니다.
# 이 코드 예제는 기본 3D 모델을 만드는 방법을 보여줍니다.
from aspose.threed import Scene
from aspose.threed.entities import Box, Cylinder
from aspose.threed.utilities import MathUtils, Vector3
# 장면 개체 초기화
scene = Scene()
# 박스 모델 생성
box = Box();
box.name = "Box";
scene.root_node.create_child_node(box)
# 실린더 모델 생성
cylinder = Cylinder();
cylinder.name = "Cylinder";
scene.root_node.create_child_node(cylinder)
# 3D 장면 문서 저장
scene.save("C:\\Files\\primitive_scene.fbx")
Python에서 3D 장면 읽기
아래 단계에 따라 FBX 문서에서 3D 장면을 읽을 수 있습니다.
- Scene 클래스의 인스턴스를 만듭니다.
- open() 메서드를 사용하여 기존 3D 문서를 로드합니다.
- 하위 노드를 통해 반복합니다.
- 마지막으로 속성 값을 표시합니다.
다음 코드 샘플은 Python에서 3D 장면을 로드하고 읽는 방법을 보여줍니다.
# 이 코드 예제는 3D 장면을 읽는 방법을 보여줍니다.
from aspose.threed import Scene
# Scene 클래스 객체 초기화
scene = Scene()
# 기존 3D 문서 로드
scene.open("C:\\Files\\primitive_scene.fbx")
for node in scene.root_node.child_nodes:
entity = node.entity;
print("{0}", entity.name);
{0} Box
{0} Cylinder
무료 라이선스 받기
무료 임시 라이선스를 받아 평가 제한 없이 Python용 Aspose.3D를 사용해 볼 수 있습니다.
Python의 3D – Python 3D 라이브러리 학습 리소스
Python에서 3D 모델 및 장면을 만들고 조작하는 방법에 대해 자세히 알아보고 아래 제공된 리소스를 사용하여 라이브러리의 다른 기능을 탐색할 수 있습니다.
결론
이 기사에서는 Aspose.3D 라이브러리를 소개하고 Python에서 3D 모델을 만들고 읽고 조작하는 기능을 시연합니다. 다양한 3D 파일 형식, 고급 장면 관리 및 고성능 렌더링을 지원하는 Aspose.3D 라이브러리는 3D 콘텐츠로 작업하는 Python 개발자에게 매우 유용한 도구입니다. Aspose.3D 라이브러리를 사용하면 3D 모델링 프로젝트를 간소화하고 놀라운 3D 장면을 쉽게 만들 수 있습니다. 모호한 점이 있는 경우 무료 지원 포럼에서 문의하십시오.