티스토리 뷰
물론입니다. 아래는 블렌더에서 파이썬으로 3D 입체를 생성하는 방법을 소개하는 블로그 게시글입니다. 검색엔진 최적화(SEO)를 고려하여 키워드는 적절히 배치하고, 자연스러운 흐름으로 초보자에게 친절하게 설명하는 형식으로 작성했습니다.

블렌더에서 파이썬으로 3D 입체 만들기 – 가로, 세로, 높이 설정하는 방법
3D 모델링을 하다 보면 반복적으로 비슷한 모양의 오브젝트를 만들어야 할 때가 많습니다. 특히 박스 형태의 입체 모델은 다양한 씬(Scene)에 기본으로 사용되기 때문에 자주 사용하게 되죠. 이런 반복 작업을 자동화하면 훨씬 효율적으로 모델링을 할 수 있는데, 그중 대표적인 방법이 바로 블렌더(Blender)에서 파이썬(Python)을 사용하는 것입니다.
이번 글에서는 **가로, 세로, 높이를 직접 지정하여 원하는 크기의 입체 오브젝트(큐브)**를 생성하는 파이썬 코드를 소개합니다. 코드를 그대로 복사해 실행하면 블렌더에서 자동으로 입체 모델이 생성되기 때문에, 수작업으로 오브젝트를 추가하고 크기를 일일이 조정하는 번거로움을 줄일 수 있습니다.
블렌더에서 파이썬 사용하기
블렌더는 3D 모델링 툴 중에서도 특히 강력한 스크립트 기능을 제공하는 프로그램입니다. bpy라는 모듈을 통해 모델링, 애니메이션, 렌더링 등 거의 모든 기능을 파이썬 코드로 제어할 수 있습니다.
먼저 블렌더에서 스크립트를 실행하려면 상단 탭에서 **[Scripting]**으로 이동해야 합니다. 이곳에서 새 텍스트를 추가하고 코드를 붙여넣은 후 상단의 Run Script 버튼을 클릭하면 바로 코드가 실행됩니다.
가로, 세로, 높이를 설정해 입체 만들기
아래는 블렌더에서 가로, 세로, 높이를 지정해 직육면체를 생성하는 파이썬 코드입니다. 예제로는 가로 2, 세로 3, 높이 1인 큐브를 생성하도록 작성되어 있습니다.
import bpy
# 기존의 모든 객체 삭제
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete(use_global=False)
# 원하는 크기 지정 (가로, 세로, 높이)
width = 2 # X축 방향 (가로)
depth = 3 # Y축 방향 (세로)
height = 1 # Z축 방향 (높이)
# 기본 큐브 생성 (기본 크기: 1x1x1)
bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0))
# 새로 생성된 큐브 객체 선택
obj = bpy.context.active_object
# 크기(scale)를 원하는 값으로 조정 (기본 큐브가 1x1x1이므로 절반을 곱함)
obj.scale[0] = width / 2 # X축 크기
obj.scale[1] = depth / 2 # Y축 크기
obj.scale[2] = height / 2 # Z축 크기
이 스크립트는 다음과 같은 순서로 작동합니다:
- 씬(Scene) 내의 기존 오브젝트를 모두 삭제합니다. 작업을 반복하면서 기존 객체가 중복 생성되지 않도록 하기 위함입니다.
- 입체의 가로, 세로, 높이를 변수로 설정합니다.
- 기본 큐브(1x1x1)를 생성합니다.
- 생성된 큐브의 크기를 설정한 가로/세로/높이에 맞춰 스케일링합니다.
중요한 포인트는 블렌더의 큐브 기본 크기가 1이라는 점입니다. 따라서 원하는 크기를 설정하려면 각 방향의 절반 값을 scale에 입력해야 실제 사이즈가 맞춰집니다.
응용 방법
이 기본적인 큐브 생성 스크립트를 기반으로 다양한 작업에 응용할 수 있습니다. 예를 들어,
- 반복적으로 일정한 크기의 박스를 생성할 때
- 가변적인 크기를 사용자 입력값으로 받아 처리할 때
- 큐브를 여러 개 자동으로 배치할 때
등에 활용할 수 있습니다. 블렌더는 단순한 3D 모델링 도구를 넘어, 코드를 통해 반복 작업을 줄이고 정확도를 높일 수 있는 강력한 툴입니다.
실무에서 파이썬을 활용하는 팁
실제 프로젝트나 게임 에셋 제작에서도 이러한 스크립트는 생산성을 높이는 데 큰 도움이 됩니다. 특히 3D 모델링 자동화, 디자인 규격화, 대량 모델 생성이 필요한 경우에는 수작업보다 훨씬 빠르고 정확하게 작업을 처리할 수 있습니다.
또한 bpy.ops.mesh.primitive_cube_add() 외에도 원기둥, 구, 평면 등 다양한 기본 도형도 파이썬으로 생성할 수 있으며, 각각의 속성도 코드로 제어할 수 있기 때문에 스크립트를 조금만 익히면 훨씬 폭넓은 모델링이 가능해집니다.
이처럼 블렌더와 파이썬을 결합하면 단순한 모델링 이상의 자동화된 3D 디자인 환경을 구축할 수 있습니다. 처음에는 어렵게 느껴질 수 있지만, 기본적인 구조만 이해하면 매우 직관적으로 사용할 수 있기 때문에 파이썬에 익숙하지 않더라도 금방 따라 할 수 있습니다. 다양한 실습을 통해 블렌더의 스크립팅 기능에 익숙해져 보세요.
더 복잡한 구조물이나 인터랙션이 필요한 경우에도 bpy 모듈은 강력한 도구가 되어줄 것입니다.
'Graphics > Blender 3D' 카테고리의 다른 글
[blender3D] pincipled BSDF 사용 플라스틱 설정값 (0) | 2023.04.08 |
---|---|
blender3D png를 mesh로 만들 수 있나? (0) | 2023.04.06 |
Blender 2.93 3D 모델링, 캐드처럼 큐브에 치수선 넣기, 블랜더에 치수선 넣어보자 (0) | 2021.08.03 |
Blender 2.93 3D 모델링, vertex(점) 크게 보면서 편집하기 (0) | 2021.08.03 |
Blender 2.93 3D 모델링, 초기화면 바꿔보자, 알아두면 편리한 Tip (0) | 2021.08.03 |
- Total
- Today
- Yesterday
- 웹제작강의안2주차
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- 엑셀보호
- #웹개발
- 코딩튜토리얼
- 엑셀입력보호
- 오블완
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 도면자동생성
- 효율적코딩방법
- #트리구조
- #계층형데이터
- #데이터베이스설계
- #php에러해결 #php경고메시지 #nonwellformednumeric #php초보자팁 #웹개발에러 #프로그래밍디버깅 #php정규식 #코드디버깅팁 #웹개발문제해결 #php숫자형변환
- 구글드라이브API
- #tuigrid #자바스크립트그리드 #행삽입 #행삭제 #웹개발팁 #프론트엔드개발 #javascriptgrid #데이터테이블 #ui개선 #그리드커스터마이징
- 캐드자동작도
- #데이터무결성
- 티스토리챌린지
- isset을 적용해야 하는 이유
- #동적ui
- json파일형태보기
- 오토핫키가이드
- 엑셀셀보호
- Bootstrap 5
- json파일편하게보는법
- #textarea #자동높이조절 #ux개선 #웹개발 #프론트엔드 #자바스크립트 #html팁 #웹디자인 #uiux #코딩팁
- General error: 2031
- #카테고리트리
- ajax오류메시지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |