NFT용 다수의 애니메이션을 렌더링하는 것을 다루는 아래 영상 중 Scripting 워크스페이스에서 간단히 파이썬 코딩하고 실행하는 법을 Blender 3.0에서 따라하기.
Cube의 이름을 'RenderMe'라고 명명하고 좌우로 움직이는 40프레임 애니메이션의 이름을 'XposMove', 전후로 움직이는 40프레임 애니메이션의 이름을 'YposMove'이라 명명한 뒤 Scripting 워크스페이스에서 파이썬 코드를 넣어 지정한 오브젝트(이경우 'RenderMe' 큐브)의 애니메이션들을 지정한 프레임 구간만큼 지정한 폴더에 자동으로 png 파일로 저장하는 스크립트를 만들어 테스트. 실행(상단 플레이 버튼을 누르거나 Alt-P)해 보니 잘 된다.
아래 스크립트의 경우 모든 오브젝트의 렌더를 hide 시키기에 라이트도 모두 가려져 어둡게 나온다. 해서 World Properties-Surface-Color에서 색을 좀 밝게한 뒤 실행시키다.
사용할 경우엔 아래 코드 중 if 다음 "RenderMe" 대신 자신이 렌더할 오브젝트 명을 적어주고
directory = f" 와 {obj.name} 사이에 자신 컴의 저장할 폴더명으로 바꿔줘야한다.
- 많은 애니메이션들을 자동 렌더시킬 경우 편리하게 사용 가능해 보이는 팁이다.
파이썬 코드
import bpy
import os
os.system("cls") #clear screens
for obj in bpy.data.objects:
#print(obj.name)
obj.hide_render = True
for obj in bpy.data.objects:
obj.hide_render = False
for act in bpy.data.actions:
if "RenderMe" in obj.name:
if not obj.animation_data:
obj.animation_data_create()
obj.animation_data.action = act
bpy.context.scene.frame_start = 1
bpy.context.scene.frame_end = 40
directory = f"C://zRender//{obj.name}//{act.name}//"
if not os.path.exists(directory):
os.makedirs(directory)
bpy.context.scene.render.filepath = f"{directory}{obj.name}-{act.name}-f"
bpy.ops.render.render(animation = True)
obj.hide_render = True
'Imphenzia Live - How I made 10000 animated characters - NFT special(1:09:39/Imphenzia)'
https://www.youtube.com/watch?v=-PYTtWhjEmw
22/02/20 일
'Blender' 카테고리의 다른 글
[Blender]한글 폰트 쓰기 테스트 (0) | 2022.04.19 |
---|---|
[Blender]Geometry Nodes로 철조망 만들기 (0) | 2022.04.18 |
[Blender]주방 모델링과 매핑 (0) | 2022.04.13 |
[Blender]볼이 굴러 튕긴 뒤 구멍으로 들어가는 물리 애니 (0) | 2022.04.12 |
[Blender]Bool Tool 활용 건물에 창문 뚫기 등 (0) | 2022.04.10 |