The main content is the process of creating the game engine assets currently being created.
2023年6月12日月曜日
2023年5月26日金曜日
2023年4月12日水曜日
Copies keyframes of specific frame number of selected bones in pose mode to specified frame numbers.
import bpy
# キーフレームの番号リスト
keyframe_numbers = [1, 2] # このリストにコピー先のキーフレーム番号を追加してください。
# アクティブなオブジェクトがアーマチュアであることを確認
if bpy.context.object.type == 'ARMATURE':
armature = bpy.context.object
action = armature.animation_data.action
# 選択中のボーンに対して処理を行う
for bone in armature.pose.bones:
if bone.bone.select:
bone_path = f'pose.bones["{bone.name}"].'
# キーフレーム10の各F-Curveを探索
for fcurve in action.fcurves:
if fcurve.data_path.startswith(bone_path):
keyframe_10 = None
# キーフレーム10の値を取得
for keyframe in fcurve.keyframe_points:
if keyframe.co[0] == 10:
keyframe_10 = keyframe
break
# キーフレーム10が見つかった場合
if keyframe_10 is not None:
# 与えられた番号のリストのキーフレームにコピー
for kf_number in keyframe_numbers:
fcurve.keyframe_points.insert(kf_number, keyframe_10.co[1])
else:
print("Error: Active object is not an armature.")
2023年2月13日月曜日
How to resize my blender market assets.
import bpy, mathutils
armature_object = bpy.data.objects["VultureArmature"]
multiplier=3
# Set the scale to multiplier
armature_object.scale *= multiplier
# set mode to object
bpy.ops.object.mode_set(mode='OBJECT')
# select the armature
armature_object.select_set(True)
# set the active object to the armature
bpy.context.view_layer.objects.active = armature_object
# apply the scale transformation
bpy.ops.object.transform_apply(scale=True)
Emptyaction1 = bpy.data.actions["VultureIKEmpty_L_Action"]
for fcu in Emptyaction1.fcurves:
if "location" in fcu.data_path:
for keyframe in fcu.keyframe_points:
keyframe.co = (keyframe.co - mathutils.Vector((keyframe.co.x,0))) * multiplier + mathutils.Vector((keyframe.co.x,0))
keyframe.interpolation='LINEAR'
Emptyaction2 = bpy.data.actions["VultureIKEmpty_R_Action"]
for fcu in Emptyaction2.fcurves:
if "location" in fcu.data_path:
for keyframe in fcu.keyframe_points:
keyframe.co = (keyframe.co - mathutils.Vector((keyframe.co.x,0))) * multiplier + mathutils.Vector((keyframe.co.x,0))
keyframe.interpolation='LINEAR'
action = bpy.data.actions["VultureArmatureAction"]
for fcu in action.fcurves:
if "location" in fcu.data_path:
for keyframe in fcu.keyframe_points:
keyframe.co = (keyframe.co - mathutils.Vector((keyframe.co.x,0))) * multiplier + mathutils.Vector((keyframe.co.x,0))
keyframe.interpolation='LINEAR'
2023年2月2日木曜日
異なるメッシュをShapeKeyのデータにする
import bpy
# Select the two meshes
mesh_a = bpy.data.objects["Cube"]
mesh_b = bpy.data.objects["Cube.001"]
# Assign the shape keys of Mesh B to Mesh A
mesh_b.shape_key_add(name='Basis', from_mix=False)
mesh_a.shape_key_add(name='Basis', from_mix=False)
mesh_a.shape_key_add(name='Morph1', from_mix=False)
bpy.ops.object.editmode_toggle()
for i, vert_b in enumerate(mesh_b.data.vertices):
mesh_a.data.shape_keys.key_blocks["Morph1"].data[i].co = vert_b.co
2023年1月31日火曜日
時計
時計を描くBlender Pythonスクリプトを書け。
以下は、BlenderのPythonスクリプトを使用して時計を作成する例です。これを修正または変更して、独自の画像を作成することができます。









