Blender: アウトライナー(Outliner)内での操作
以下のように、コレクションのオブジェクトの表示/非表示を一括で切り替えることができます。
pythonimport bpy
# コレクションを取得する
collection = bpy.data.collections.get("zion cone50 line ittei sokudo to Y30")
# コレクションが存在する場合
if collection:
# コレクション内のオブジェクトの表示/非表示を切り替える
for obj in collection.objects:
obj.hide_viewport = not obj.hide_viewport
このスクリプトでは、bpy.data.collections.get()
を使用して、名前が "zion cone50 line ittei sokudo to Y30" のコレクションを取得しています。if collection:
を使用して、コレクションが存在する場合にのみ、コレクション内のオブジェクトの表示/非表示を切り替える処理を行っています。
for obj in collection.objects:
を使用して、コレクション内のすべてのオブジェクトに対して、obj.hide_viewport
を使用して、表示/非表示を切り替えることができます。また、not obj.hide_viewport
を使用して、現在の状態と逆の状態に切り替えることができます。
import bpy
# 古いコレクションを削除
old_collection = bpy.data.collections.get("旧コレクション名")
if old_collection is not None:
bpy.data.collections.remove(old_collection)
# 新しいコレクションを作成
new_collection = bpy.data.collections.new("2022_zionad")
bpy.context.scene.collection.children.link(new_collection)
import bpy
# 新しいコレクションを作成
new_collection = bpy.data.collections.new("2022_zionad")
bpy.context.scene.collection.children.link(new_collection)
# 古いコレクションを取得して、オブジェクトを新しいコレクションに移動
old_collection = bpy.data.collections.get("Collection")
if old_collection is not None:
for obj in old_collection.objects:
new_collection.objects.link(obj)
# 古いコレクションを削除
bpy.data.collections.remove(old_collection)
10分の1 x軸から y=30へ 速度一定
import bpy
import random
# タグ名
tag_name = "zion cone50 line ittei sokudo to Y30"
# コレクションを取得する
collection = bpy.data.collections.get("zion cone50 line ittei sokudo to Y30")
# コレクションが存在しない場合は作成する
if not collection:
collection = bpy.data.collections.new("zion cone50 line ittei sokudo to Y30"
bpy.context.scene.collection.children.link(collection)
# 円錐の半径と高さを設定
radius = 0.5
height = 1.0
for i in range(50):
# 円錐の初期位置と移動先の位置をランダムに設定
x = random.uniform(-30, 30)
loc_a_start = (x, 0, 0)
loc_a_end = (0, 30, 0)
# 円錐Aを作成し、初期位置を設定する
bpy.ops.mesh.primitive_cone_add(radius1=radius, radius2=0, depth=height, location=loc_a_start)
obj_a = bpy.context.object
# コレクションにオブジェクトを追加する
collection.objects.link(obj_a)
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
distance = (((0-0)**2 + (x-0)**2 + (30-0)**2)**0.5) /30
end_frame_a = int(distance * 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
bbb
twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad
old page いいい
new page いいい
目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい