import bpy
import random
for i in range(50):
z = random.uniform(-300, 300)
y = (90000 - z**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 5.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# コレクションを作成し、タグ名を設定する
col = bpy.data.collections.new("photon all")
bpy.context.scene.collection.children.link(col)
# オブジェクトをコレクションに追加する
col.objects.link(obj_a)
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int(20 * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
bbb
togetter.com/t/c2022meetzionad
togetter.com/t/b2022meetzionad
twitter 新着検索 Dürer & 測距儀
aaa
改造 テスト
# タグ名
tag_name = "Big AAA"
# コレクションを作成し、タグ名を設定する
# col = bpy.data.collections.new("Big AAA")
# bpy.context.scene.collection.children.link(col)
# コレクションを取得する
collection = bpy.data.collections.get(tag_name)
# コレクションが存在しない場合は作成する
if not collection:
collection = bpy.data.collections.new(tag_name)
bpy.context.scene.collection.children.link(collection)
# オブジェクトをコレクションに追加する
collection.objects.link(obj_a)
以下は修正版のコードです。obj_aをcol.objects.link(obj_a)の前に定義する必要があります。
import bpy
import random
# タグ名
tag_name = "Photons 50"
# コレクションを作成し、タグ名を設定する
col = bpy.data.collections.new("Photons 50")
bpy.context.scene.collection.children.link(col)
for i in range(50):
z = random.uniform(-300, 300)
y = (90000 - z**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 5.0
# コレクションを取得する
collection = bpy.data.collections.get(tag_name)
# コレクションが存在しない場合は作成する
if not collection:
collection = bpy.data.collections.new(tag_name)
bpy.context.scene.collection.children.link(collection)
# オブジェクトをコレクションに追加する
collection.objects.link(obj_a)
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int(20 * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
import bpy
import random
for i in range(10):
z = random.uniform(-300, 300)
y = (90000 - z**2) ** 0.5
loc_a_start = (0, y, z)
print(loc_a_start)
# 球体の半径を設定
radius = 5.0
# 球体Aの初期位置と移動先の位置を設定
loc_a_end = (0, 0, 0)
# 球体Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
obj_a = bpy.context.object
# コレクションを作成し、タグ名を設定する
col = bpy.data.collections.new("photon all")
bpy.context.scene.collection.children.link(col)
# オブジェクトをコレクションに追加する
col.objects.link(obj_a)
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame_a = int(20 * bpy.context.scene.render.fps) # 球体Aの移動が終わるフレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame_a # アニメーションの終了フレームを設定
# キーフレームを設定する
obj_a.location = loc_a_start # 球体Aの開始位置を設定
obj_a.keyframe_insert(data_path="location", frame=start_frame) # 開始フレームでキーフレームを設定
obj_a.location = loc_a_end # 球体Aの終了位置を設定
obj_a.keyframe_insert(data_path="location", frame=end_frame_a) # 終了フレームでキーフレームを設定
# アニメーション再生
bpy.ops.screen.animation_play() # アニメーションを再生
この修正版では、ランダムなy
とz
の組み合わせを生成してから、それを使用して球体を作成し、アニメーションを再生しています。また、loc_a_start
の定義をループ内に移動させることで、ランダムな位置での球体の作成が行われるようになっています。
bbb
twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad
old page いいい
new page いいい
目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい