2023年3月26日日曜日

線路にする円錐 回転方向 選択

aaa











#線路レール長さ 円錐  (radius1=1, radius2=0, depth=120


import bpy
from math import radians


# 回転させる軸を選択する
zion_xyz = 'zana'



# 円錐を作成する
bpy.ops.mesh.primitive_cone_add(radius1=1, radius2=0, depth=120)

# オブジェクトに名前を付ける
bpy.context.object.name = "線路レール長さ 円錐"


# 円錐の位置を変更する
bpy.context.object.location[0] = 0.0  # X座標
bpy.context.object.location[1] = 0.0  # Y座標
bpy.context.object.location[2] = 0.0  # Z座標



if zion_xyz == 'xana':
    # 軸を中心に90度回転させる
    bpy.context.object.rotation_euler[0] = radians(0)
    bpy.context.object.rotation_euler[1] = radians(90)
    bpy.context.object.rotation_euler[2] = radians(0)
    # X軸方向に伸ばす
    bpy.context.object.scale[0] = 1
    bpy.context.object.scale[1] = 1
    bpy.context.object.scale[2] = 1
    
elif zion_xyz == 'yana':
    # 軸を中心に90度回転させる
    bpy.context.object.rotation_euler[0] = radians(90)
    bpy.context.object.rotation_euler[1] = radians(0)
    bpy.context.object.rotation_euler[2] = radians(0)
    # Y軸方向に伸ばす
    bpy.context.object.scale[0] = 1
    bpy.context.object.scale[1] = 1
    bpy.context.object.scale[2] = 1
    
elif zion_xyz == 'zana':
    # Z軸を中心に90度回転させる
    bpy.context.object.rotation_euler[0] = radians(0)
    bpy.context.object.rotation_euler[1] = radians(0)
    bpy.context.object.rotation_euler[2] = radians(0)
    # Z軸方向に伸ばす
    bpy.context.object.scale[0] = 30
    bpy.context.object.scale[1] = 30
    bpy.context.object.scale[2] = 1
    
else:
    print('Invalid rotation axis selected.')








flame 100 で 徐々に色が変わる 円錐


import bpy

# 円錐を作成する
bpy.ops.mesh.primitive_cone_add(radius1=10, depth=180)

# 作成されたオブジェクトを取得する
cone = bpy.context.object

# アニメーション開始時の位置
start_loc = cone.location

# 移動距離
move_dist = 0

# アニメーションのフレーム数
frame_count = 600

# アニメーションの最終フレームを設定する
bpy.context.scene.frame_end = frame_count

# マテリアルを作成する
mat = bpy.data.materials.new(name="Material")
cone.data.materials.append(mat)

# 移動アニメーションと色のアニメーションのキーフレームを設定する
for i in range(frame_count):
    # 現在のフレームにおける位置と色を計算する
    current_loc = (start_loc[0] + move_dist * i / frame_count, start_loc[1], start_loc[2])
    if i % 100 == 0:
        if i < 200:
            # 青から緑に変化する
            mat.diffuse_color = (0, 1, i/200, 1)
        else:
            # 緑から赤に変化する
            mat.diffuse_color = ((i-200)/400, 1, 0, 1)
    # 位置と色を設定し、キーフレームを追加する
    cone.location = current_loc
    cone.keyframe_insert(data_path='location', frame=i+1)
    mat.keyframe_insert(data_path='diffuse_color', frame=i+1)











import bpy

# 円錐を作成する
bpy.ops.mesh.primitive_cone_add(radius1=10, depth=180)

# 作成されたオブジェクトを取得する
cone = bpy.context.object

# アニメーション開始時の位置
start_loc = cone.location

# 移動距離
move_dist = 0

# アニメーションのフレーム数
frame_count = 600

# アニメーションの最終フレームを設定する
bpy.context.scene.frame_end = frame_count

# 移動アニメーションのキーフレームを設定する
for i in range(frame_count):
    # 現在のフレームにおける位置を計算する
    current_loc = (start_loc[0] + move_dist * i / frame_count, start_loc[1], start_loc[2])
    # 位置を設定し、キーフレームを追加する
    cone.location = current_loc
    cone.keyframe_insert(data_path='location', frame=i+1)







円錐 移動アニメ 見本

import bpy

# 円錐を作成する
bpy.ops.mesh.primitive_cone_add(radius1=1, depth=2)

# 作成されたオブジェクトを取得する
cone = bpy.context.object

# アニメーション開始時の位置
start_loc = cone.location

# 移動距離
move_dist = 5

# アニメーションのフレーム数
frame_count = 50

# アニメーションの最終フレームを設定する
bpy.context.scene.frame_end = frame_count

# 移動アニメーションのキーフレームを設定する
for i in range(frame_count):
    # 現在のフレームにおける位置を計算する
    current_loc = (start_loc[0] + move_dist * i / frame_count, start_loc[1], start_loc[2])
    # 位置を設定し、キーフレームを追加する
    cone.location = current_loc
    cone.keyframe_insert(data_path='location', frame=i+1)










# あああああああ」円錐



import bpy
import math


zion_collection_name = "円錐4つ Y軸 マイナス無限大を見る"

# コレクションを作成する
col = bpy.data.collections.new(zion_collection_name)
bpy.context.scene.collection.children.link(col)











bbb

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

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