본문 바로가기

3D Work/Python

블렌더 - 파이썬 강좌 - 첫소감 - 캐공방TV

반응형
SMALL

 

블렌더 - 파이썬 강좌 - 첫소감 - 캐공방TV

 

 

하루 동안 밤새워가며

개인적으로 필요한 모듈을 겨우 완성했습니다.


파이썬 자체도 익숙하지 않았지만

블렌더에서 수작업으로 하던 것을

스크립트로 만드는 것도 첫경험 이다보니

수없이 뿜어내는 에러메시지를 보며

문제를 만날 때마다 검색을 통해 해결해야하는

프로그래머의 숙명을 받아들여야 했습니다.^^


이래서 다들 프로그램을 싫어하는구나 하는 것을 느낍니다.


그래도 헤매면서 한 번 만들고 나면

그 경험치 덕분에 다른 것을 만들 때는

좀 더 쉽게 문제를 해결할 수 있게 되고

원클릭으로 한 번에 작업을 완성하므로

엄청난 시간을 절약 할 수 있습니다.


하지만 처음에는 모르는 것이 워낙 많았기 때문에

만들고 헤메는 과정이 고통스러웠고

인내심이 없는 보통 일반 사람들은

안 할 거 같습니다.^^


개인적으로 필요한 모듈을 만들면서

공부한 내용들을 조금 정리하고 마무리 하겠습니다.


 

bpy.data 는 API 문서에서 검색해 보면

블렌더의 내부 데이터에 접근할 수 있습니다.
Access to Blender’s internal data

ex)
armature = bpy.data.objects["Armature"]
armature.select_set(True)
armature.show_in_front = True
armature.display_type = 'WIRE'
armature.pose.bones
armature.data.edit_bones[bone.name].select = True
head = armature.location + armature.data.edit_bones["CC_Base_Waist"].head
armature.data.edit_bones["CC_Base_Hip"].select_tail = True
armature.data.edit_bones["CC_Base_Hip"].tail = head
armature.data.edit_bones["CC_Base_L_Eye.L"].tail.y = -0.054
armature.data.edit_bones["CC_Base_Waist"].use_connect = True
armature.data.edit_bones["CC_Base_L_Calf.L.001"].name = "con.legIK.L"
armature.data.edit_bones["con.legIK.L"].use_deform = False
armature.data.edit_bones["con.legIK.L"].parent = None
bone_groups = armature.pose.bone_groups
bone_groups.active = bone_groups['Group']
bone_groups.active.name = 'con'
bone_groups.active.color_set = 'THEME01'
armature.data.bones.active = armature.data.bones["CC_Base_L_Calf.L"]
armature.pose.bones[boneName].rotation_euler = (0,math.radians(-16.2),math.radians(-16))


bpy.ops 는 블렌더 오퍼레이터로서

직접 필요한 나만의 오퍼레이터를 만들기도 합니다.

ex)
bpy.ops.object.mode_set(mode = 'OBJECT')
bpy.ops.object.mode_set(mode = 'EDIT')
bpy.ops.object.mode_set(mode = 'POSE')
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.armature.select_all(action='DESELECT')
bpy.ops.pose.select_all(action='DESELECT')
bpy.ops.object.transform_apply(location=True, rotation=True, scale=True)
bpy.ops.armature.bone_layers(layers=(False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
bpy.ops.pose.group_add()
bpy.ops.pose.group_assign(type=1)
bpy.ops.pose.constraint_add_with_targets(type='IK')
bpy.ops.pose.constraint_add_with_targets(type='COPY_ROTATION')
bpy.ops.pose.constraint_add_with_targets(type='DAMPED_TRACK')


bpy.context

이용 가능한 컨텍스트 멤버는 현재 접근하고 있는 블렌더의 영역에 따라 달라집니다.
The context members available depend on the area of Blender which is currently being accessed.

모든 컨텍스트 값들은 읽기 전용이지만 데이터 API 또는 연산자를 실행하여 수정될 수 있습니다.
Note that all context values are readonly, but may be modified through the data api or by running operators

ex)
bpy.context.active_object.pose.bones[:]
bpy.context.scene.cursor.location = head
bpy.context.object.pose.bones["CC_Base_L_Calf.L"].constraints["IK"].chain_count = 2
bpy.context.object.pose.bones["CC_Base_L_Calf.L"].constraints["IK"].pole_target = bpy.data.objects["Armature"]
bpy.context.object.pose.bones["CC_Base_L_Calf.L"].constraints["IK"].pole_subtarget = "con.knee.L"
bpy.context.object.pose.bones["CC_Base_L_Calf.L"].constraints["IK"].pole_angle = 1.5708
bpy.context.scene.tool_settings.transform_pivot_point = 'INDIVIDUAL_ORIGINS'
bpy.context.object.pose.bones[boneName].rotation_mode = 'XYZ'
bpy.context.object.pose.bones[boneName].lock_rotation[0] = False

 

 

2020/11/22 - [블렌더 강좌/파이썬] - 블렌더 - 파이썬 강좌 - 시작 - 캐공방TV

 

블렌더 - 파이썬 강좌 - 시작 - 캐공방TV

블렌더 - 파이썬 강좌 - 시작 - 캐공방TV 현재 블렌더 최신 버전인 블렌더 2.90.1 버전을 기준으로 블렌더 파이썬 강좌를 시작 하겠습니다. 파이썬을 공부해야만 하는 이유부터 말씀

www.godhasdone.com

 

 

2020/09/03 - [예수님] - 먼저 그 나라와 의를 구하라

 

먼저 그 나라와 의를 구하라

<먼저 그 나라와 의를 구하라> 제 관심사는 복음 전도, 디지털 노마드, 블렌더 강좌 입니다. 대부분의 사람들은 디지털 노마드에 관한 정보에 더 관심이 많을 것이기 때문에 수익형 

www.godhasdone.com

 

 

2020/09/02 - [블렌더 강좌] - 블렌더 강좌 2.81a 캐릭터 제작 OT 영상 소개

 

블렌더 강좌 2.81a 캐릭터 제작 OT 영상 소개

블렌더 강좌 2.81a 캐릭터 제작 OT 영상 소개 무료 강좌에 이어 유료 강좌를 오픈 하였습니다. 클래스톡 유료 강좌 오픈 https://bit.ly/38Wg9yL 블렌더 강좌 2.81a - 캐릭터 제작 블렌더 강좌 2.81a -.

www.godhasdone.com

 

반응형
LIST