blender python
コレクションだけを作る
Torus radius 1.0
Torus radius 2.0
Ball radius 0.07
Ball radius 0.03
Ball long radius 0.05
import bpy
# コレクション名のリスト
collection_names = ["Torus radius 1.0", "Torus radius 2.0", "Ball radius 0.07", "Ball radius 0.03"]
# コレクションを作成
for name in collection_names:
new_collection = bpy.data.collections.new(name)
bpy.context.scene.collection.children.link(new_collection)
半径0.3の球体
中心 10,0,0
中心 10,10,0
名前は t=0太陽 t=1太陽
透明度 20%
alpha blend
import bpy
# 球体1の中心座標
center1 = (10, 0, 0)
# 球体2の中心座標
center2 = (10, 10, 0)
# 球体の半径
radius = 0.3
# 透明度
alpha = 0.2
# 球体1を作成
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=center1)
# 作成した球体1のオブジェクトを取得
sphere1 = bpy.context.active_object
# オブジェクトの名前を設定
sphere1.name = "t=0太陽"
# マテリアルを作成または取得
if sphere1.data.materials:
material1 = sphere1.data.materials[0]
else:
material1 = bpy.data.materials.new(name="太陽マテリアル1")
sphere1.data.materials.append(material1)
# 透明度を設定
material1.use_nodes = True
nodes1 = material1.node_tree.nodes
shader1 = nodes1.get("Principled BSDF")
shader1.inputs["Alpha"].default_value = alpha # 透明度を設定
material1.blend_method = 'BLEND' # Alpha Blendモードに設定
# 球体2を作成
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=center2)
# 作成した球体2のオブジェクトを取得
sphere2 = bpy.context.active_object
# オブジェクトの名前を設定
sphere2.name = "t=1太陽"
# マテリアルを作成または取得
if sphere2.data.materials:
material2 = sphere2.data.materials[0]
else:
material2 = bpy.data.materials.new(name="太陽マテリアル2")
sphere2.data.materials.append(material2)
# 透明度を設定
material2.use_nodes = True
nodes2 = material2.node_tree.nodes
shader2 = nodes2.get("Principled BSDF")
shader2.inputs["Alpha"].default_value = alpha # 透明度を設定
material2.blend_method = 'BLEND' # Alpha Blendモードに設定
light を sun で
位置 10,0,0 光線の方向を 10,10,0
位置 10,10,0 光線の方向を 10,10,0
import bpy
# 太陽光源1を作成
bpy.ops.object.light_add(type='SUN', location=(10, 0, 0))
# 作成した太陽光源1のオブジェクトを取得
sun_light1 = bpy.context.active_object
# 太陽光源1の名前を設定
sun_light1.name = "太陽光源1"
# 光線の方向を設定
sun_light1.rotation_euler = (0, 0, 0) # 光線の方向を(10, 10, 0)に向ける
# 太陽光源2を作成
bpy.ops.object.light_add(type='SUN', location=(10, 10, 0))
# 作成した太陽光源2のオブジェクトを取得
sun_light2 = bpy.context.active_object
# 太陽光源2の名前を設定
sun_light2.name = "太陽光源2"
# 光線の方向を設定
sun_light2.rotation_euler = (0, 0, 0) # 光線の方向を(10, 10, 0)に向ける
2つ円柱を作る 半径0.1
000で 長さ2で作って x軸に 90度回転
移動させる 1,0,0 名前は t=0線路レール
移動させる 1,10,0 名前は t=1線路レール
import bpy
import math
# 円柱の半径
radius = 0.1
# 円柱の長さ
length = 2.0
# ステップ数(t=0とt=1)
steps = [(1, 0, 0, "t=0線路レール"), (1, 10, 0, "t=1線路レール")]
for step in steps:
# 円柱を作成
bpy.ops.mesh.primitive_cylinder_add(vertices=32, radius=radius, depth=length, location=(0, 0, 0))
# 作成した円柱のオブジェクトを取得
cylinder = bpy.context.active_object
# X軸に90度回転
cylinder.rotation_euler.x += math.radians(90)
# 移動させる
cylinder.location = (step[0], step[1], step[2])
# オブジェクトの名前を設定
cylinder.name = step[3]
半径1の球体
中心000
中心0,10,0
名前は t=0地球 t=1 地球
基本系 配布 001 単位円 torus と xyz軸 円柱
https://drive.google.com/file/d/1adh0pC0n5MUfaPnsQcab8CnTvHu_JqLg/view?usp=drive_link
基本系 配布 002 単位2長さ balls
https://drive.google.com/file/d/1vyg5oFWmw_TK8nwp5TmVSfLH94I6rTaY/view?usp=drive_link
基本系 配布 003 単位2長さ balls 光時計セット
https://drive.google.com/file/d/1u2Rn_nVBcewe39Vokua9C5n25cdivyyL/view?usp=drive_link
blender 基本系 配布 カタログ 2023 - zionad_mainのブログ https://mokuji000zionad.hatenablog.com/entry/2023/07/31/095208