2023年3月16日木曜日

テスト2

aaa


# コレクションを取得する
collection = bpy.data.collections.get("コレクション名")

# コレクションが存在している場合
if collection:
    # 表示/非表示を切り替える
    if collection.hide_viewport:
        collection.hide_viewport = False
    else:
        collection.hide_viewport = True

 
上上がり 300 z 0→300 



import bpy
import random

# タグ名
tag_name = "rain_l_line_same_velocities"

# コレクションを取得する
collection = bpy.data.collections.get(tag_name)

# コレクションが存在しない場合は作成する
if not collection:
    collection = bpy.data.collections.new(tag_name)
    bpy.context.scene.collection.children.link(collection)

# 球体の半径を設定
radius = 5.0

# 球体を表示するかどうかのフラグ
show_sphere = True

# 表示/非表示を切り替える
if collection.hide_viewport:
    collection.hide_viewport = False
else:
    collection.hide_viewport = True

for i in range(50):
    # 球体の初期位置と移動先の位置をランダムに設定
    y = random.uniform(-300, 300)
    loc_a_start = (0, y, -300)
    loc_a_end = (0, y, 300)

    # 球体Aを作成し、初期位置を設定する
    bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
    obj_a = bpy.context.object

    # コレクションにオブジェクトを追加する
    collection.objects.link(obj_a)

    if not show_sphere:
        obj_a.hide_render = True

    # アニメーションのフレーム設定を行う
    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()  # アニメーションを再生

# アニメーション再生時間を5秒延長
bpy.context.scene.frame_end += 5 * bpy.context.scene.render.fps








y z広がり





import bpy
import random

# タグ名
tag_name = "rain_l_line_same_velocities"

# コレクションを取得する
collection = bpy.data.collections.get(tag_name)

# コレクションが存在しない場合は作成する
if not collection:
    collection = bpy.data.collections.new(tag_name)
    bpy.context.scene.collection.children.link(collection)

# 球体の半径を設定
radius = 5.0

# 球体を表示するかどうかのフラグ
show_sphere = True

# 表示/非表示を切り替える
if collection.hide_viewport:
    collection.hide_viewport = False
else:
    collection.hide_viewport = True

for i in range(50):
    # 球体の初期位置と移動先の位置をランダムに設定
    y = random.uniform(-300, 300)
    loc_a_start = (0, y, -300)
    loc_a_end = (0, y, 300)

    # 球体Aを作成し、初期位置を設定する
    bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
    obj_a = bpy.context.object

    # コレクションにオブジェクトを追加する
    collection.objects.link(obj_a)

    if not show_sphere:
        obj_a.hide_render = True

    # アニメーションのフレーム設定を行う
    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()  # アニメーションを再生

# アニメーション再生時間を5秒延長
bpy.context.scene.frame_end += 5 * bpy.context.scene.render.fps











x0    z広がり y -300から0移動

import bpy
import random

# タグ名
tag_name = "rain_yoko_test"

# コレクションを取得する
collection = bpy.data.collections.get(tag_name)

# コレクションが存在しない場合は作成する
if not collection:
    collection = bpy.data.collections.new(tag_name)
    bpy.context.scene.collection.children.link(collection)

# 球体の半径を設定
radius = 5.0

# 球体を表示するかどうかのフラグ
show_sphere = True

# 表示/非表示を切り替える
if collection.hide_viewport:
    collection.hide_viewport = False
else:
    collection.hide_viewport = True

for i in range(50):
    # 球体の初期位置と移動先の位置をランダムに設定
    z = random.uniform(-300, 300)
    loc_a_start = (0, -300, z)
    loc_a_end = (0, 0, z)

    # 球体Aを作成し、初期位置を設定する
    bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
    obj_a = bpy.context.object

    # コレクションにオブジェクトを追加する
    collection.objects.link(obj_a)

    if not show_sphere:
        obj_a.hide_render = True

    # アニメーションのフレーム設定を行う
    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()  # アニメーションを再生

# アニメーション再生時間を5秒延長
bpy.context.scene.frame_end += 5 * bpy.context.scene.render.fps












import bpy
import random

# タグ名
tag_name = "rain_yoko2_test"

# コレクションを取得する
collection = bpy.data.collections.get(tag_name)

# コレクションが存在しない場合は作成する
if not collection:
    collection = bpy.data.collections.new(tag_name)
    bpy.context.scene.collection.children.link(collection)

# 球体の半径を設定
radius = 5.0

# 球体を表示するかどうかのフラグ
show_sphere = True

# 表示/非表示を切り替える
if collection.hide_viewport:
    collection.hide_viewport = False
else:
    collection.hide_viewport = True

for i in range(50):
    # 球体の初期位置と移動先の位置をランダムに設定
    z = random.uniform(-300, 300)
    loc_a_start = (0, 300, -z)
    loc_a_end = (0, -300, -z)

    # 球体Aを作成し、初期位置を設定する
    bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
    obj_a = bpy.context.object

    # コレクションにオブジェクトを追加する
    collection.objects.link(obj_a)

    if not show_sphere:
        obj_a.hide_render = True

    # アニメーションのフレーム設定を行う
    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()  # アニメーションを再生

# アニメーション再生時間を10秒延長
bpy.context.scene.frame_end += 10 * bpy.context.scene.render.fps

























import bpy
import random

# タグ名
tag_name = "ccc"

# コレクションを取得する
collection = bpy.data.collections.get(tag_name)

# コレクションが存在しない場合は作成する
if not collection:
    collection = bpy.data.collections.new(tag_name)
    bpy.context.scene.collection.children.link(collection)

# 球体の半径を設定
radius = 5.0

# 球体を表示するかどうかのフラグ
show_sphere = True

# 表示/非表示を切り替える
if collection.hide_viewport:
    collection.hide_viewport = False
else:
    collection.hide_viewport = True

for i in range(50):
    # 球体の初期位置と移動先の位置をランダムに設定
    z = random.uniform(-300, 300)
    loc_a_start = (0, 300, -z)
    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

    # コレクションにオブジェクトを追加する
    collection.objects.link(obj_a)

    if not show_sphere:
        obj_a.hide_render = True

    # アニメーションのフレーム設定を行う
    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)  # 終了フレームでキーフレームを設定




# コレクションを取得する
collection = bpy.data.collections.get("ccc")

# コレクションが存在している場合
if collection:
    # 表示/非表示を切り替える
    if collection.hide_viewport:
        collection.hide_viewport = False
    else:
        collection.hide_viewport = True



# アニメーション再生
bpy.ops.screen.animation_play()  # アニメーションを再生

# アニメーション再生時間を10秒延長
bpy.context.scene.frame_end += 10 * bpy.context.scene.render.fps



bbb

連番 007 未来光円錐 過去光円錐 円周中心からの球体放出

aaa 参考 2023年3月26日日曜日 製作 002b 未来光円錐の方向 線路レールで https://ia2023sha.blogspot.com/2023/03/002b.html import bpy import math zion_co...