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
以下 ChatGPT との対話 修正記録 と メモ・ノート
ああああああああああああああああああああああああああああああああああああああああああああ