球体Aを
10,0,0 から 0,10,0 へ 動かす
この移動を8*1.41秒で行う
球体Bを
0,0,0 から 0,10,0 へ 動かす
この移動を8秒で行う
同時に 出発する
どちらも到着したら
繰り返す
球体Bを
0,0,0 から 0,10,0 へ 動かす
この移動を8秒で行う速度
以下を 参考に python スクリプトを作る
球体半径は 0.2
球体Aを
0,0,0 から 10,0,0 へ
この移動を8秒で行う
10,0,0 に 到着したら
10,0,0 から0,10,0 へ 移動を 8*1.41 秒 で移動させる
0,10,0 に球体が 到着したら
アニメを繰り返す
bbb
togetter.com/t/c2022meetzionad
togetter.com/t/b2022meetzionad
twitter 新着検索 Dürer & 測距儀
aaa
bbb
twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad
old page いいい
new page いいい
目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい
import bpy
import math
# 半径0.1の球体を作成し、初期位置を設定する
radius = 0.2
location = (10, 0, 0)
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=location)
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame = 400 # アニメーションの最後のフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame # アニメーションの終了フレームを設定
# キーフレームを設定する
obj = bpy.context.object # オブジェクトを選択
obj.location = (0, 0, 0) # 開始位置を設定
obj.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj.location = (10, 0, 0) # 終了位置を設定
obj.keyframe_insert(data_path="location", frame=end_frame) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
import bpy
import math
# 半径0.2の球体を作成し、初期位置を設定する
radius = 0.2
location = (0, 0, 0)
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=location)
obj = bpy.context.object # オブジェクトを選択
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame = 400 # アニメーションの最後のフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame # アニメーションの終了フレームを設定
# 最初の移動
frame_count = 8 * bpy.context.scene.render.fps
end_location = (10, 0, 0)
for i in range(start_frame, start_frame + frame_count):
frame_ratio = (i - start_frame) / frame_count
obj.location = tuple((1 - frame_ratio) * x + frame_ratio * y for x, y in zip(location, end_location))
obj.keyframe_insert(data_path="location", frame=i)
# 2つ目の移動
frame_count = int(8 * 1.41 * bpy.context.scene.render.fps)
start_location = end_location
end_location = (0,10, 0)
for i in range(start_frame + frame_count, start_frame + 2 * frame_count):
frame_ratio = (i - start_frame - frame_count) / frame_count
obj.location = tuple((1 - frame_ratio) * x + frame_ratio * y for x, y in zip(start_location, end_location))
obj.keyframe_insert(data_path="location", frame=i)
# 繰り返しアニメーション
bpy.ops.action.copy() # アクションをコピー
for i in range(2):
start_frame = end_frame + 1 # 前回の最終フレームから再開
end_frame = start_frame + 2 * frame_count - 1 # 2つ目の移動と同じ時間で再生
bpy.ops.action.paste(frame=start_frame) # アクションを貼り付け
bbb
togetter.com/t/c2022meetzionad
togetter.com/t/b2022meetzionad
twitter 新着検索 Dürer & 測距儀
aaa
bbb
twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad
old page いいい
new page いいい
目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい