成功 十字額縁 平行移動 縦横 2つのスクリプト

 





東武東上線 奥行き方向 視座 回転する線路レール blenderzionad 
20230417 
 

東武東上線 横姿 回転する 線路レール 板 blenderzionad 20230417 



配布ファイル blenderzionad


配布 20230417 基本 円周 トーラス 003 線路 色付き.blend

配布 20230417 回転する線路 板  001 平行移動 奥行き視座.blend

https://drive.google.com/file/d/19LmEzHBCxxcBfCg6tC1WjrGDnTGNJPAC/view?usp=share_link




2023-04-18

ファイル Dürer & 測距儀2022c084 連番 013 正三角形2つ と 補正の関係

https://blenderzionad.hatenablog.com/entry/2023/04/18/100045












# コレクションを作成

import bpy


collection_name = "十字額縁"

if collection_name not in bpy.data.collections:

    zionad_collection = bpy.data.collections.new(collection_name)

    bpy.context.scene.collection.children.link(zionad_collection)

else:

    zionad_collection = bpy.data.collections[collection_name]











# 平行移動  xz  縦 額縁


import bpy

import math


# 画像ファイルのパス

image_path = r"C:\aaa 2023 dondon\aaa2023いつもの\test_image\main-image デューラー メトロポリタン.jfif"


# アニメーションのフレーム数を設定

animation_frames = 1000


# 平行移動距離を設定

translation_distance = 0.02


# 画像を開く

try:

    image = Image.open(image_path)

except:

    # ファイルが読み込めなかった場合は縦3横4の比でオブジェクトを作成する

    width, height = 4, 3

else:

    # 画像の幅と高さを取得する

    width, height = image.size


# サイズを計算する

if width > height:

    size = width

    ratio = height / width

else:

    size = height

    ratio = width / height


# 正方形を作成

bpy.ops.mesh.primitive_plane_add(size=size, enter_editmode=False, align='WORLD', location=(0,0,0))

square_obj = bpy.context.active_object


# オブジェクトに名前を付ける

square_obj.name = "xz 平行移動 額縁"


# オブジェクトを指定した位置に移動する

square_obj.location = (0, 0, 0)


# アスペクト比を保ったままオブジェクトのスケールを変更する

if width > height:

    square_obj.scale[1] = ratio

else:

    square_obj.scale[0] = ratio


# マテリアルを作成

material = bpy.data.materials.new(name="ImageMaterial")

material.use_nodes = True

square_obj.data.materials.append(material)

square_obj.active_material = material


# テクスチャイメージを読み込む

tex_path = image_path

tex = bpy.data.images.load(tex_path)


# テクスチャノードを作成し、マテリアルに接続する

tex_node = material.node_tree.nodes.new("ShaderNodeTexImage")

tex_node.image = tex

tex_node.location = (-400, 0)

output_node = material.node_tree.nodes["Material Output"]

material.node_tree.links.new(tex_node.outputs[0], output_node.inputs[0])


# アニメーションのキーフレームを設定

for i in range(animation_frames+1):

    bpy.context.scene.frame_set(i)

    square_obj.location[0] += translation_distance

    square_obj.keyframe_insert(data_path="location")


# オブジェクトをXZ平面に回転する

square_obj.rotation_euler = (1.5708, 0, 0)



# あああああああああああああああああああああああああああああ

# 平行移動  xy  横 額縁

 

import bpy

import math


# 画像ファイルのパス

image_path = r"C:\aaa 2023 dondon\aaa2023いつもの\test_image\main-image デューラー メトロポリタン.jfif"


# アニメーションのフレーム数を設定

animation_frames = 1000


# 平行移動距離を設定

translation_distance = 0.02


# 画像を開く

try:

    image = Image.open(image_path)

except:

    # ファイルが読み込めなかった場合は縦3横4の比でオブジェクトを作成する

    width, height = 4, 3

else:

    # 画像の幅と高さを取得する

    width, height = image.size


# サイズを計算する

if width > height:

    size = width

    ratio = height / width

else:

    size = height

    ratio = width / height


# 正方形を作成

bpy.ops.mesh.primitive_plane_add(size=size, enter_editmode=False, align='WORLD', location=(0,0,0))

square_obj = bpy.context.active_object


# オブジェクトに名前を付ける

square_obj.name = "xy 平行移動 額縁"


# オブジェクトを指定した位置に移動する

square_obj.location = (0, 0, 0)


# アスペクト比を保ったままオブジェクトのスケールを変更する

if width > height:

    square_obj.scale[1] = ratio

else:

    square_obj.scale[0] = ratio


# マテリアルを作成

material = bpy.data.materials.new(name="ImageMaterial")

material.use_nodes = True

square_obj.data.materials.append(material)

square_obj.active_material = material


# テクスチャイメージを読み込む

tex_path = image_path

tex = bpy.data.images.load(tex_path)


# テクスチャノードを作成し、マテリアルに接続する

tex_node = material.node_tree.nodes.new("ShaderNodeTexImage")

tex_node.image = tex

tex_node.location = (-400, 0)

output_node = material.node_tree.nodes["Material Output"]

material.node_tree.links.new(tex_node.outputs[0], output_node.inputs[0])


# アニメーションのキーフレームを設定

for i in range(animation_frames+1):

    bpy.context.scene.frame_set(i)

    square_obj.location[0] += translation_distance

    square_obj.keyframe_insert(data_path="location")


# オブジェクトをXZ平面に回転する

# square_obj.rotation_euler = (1.5708, 0, 0)





このブログの人気の投稿

球体 目印ポイント 用の球体

基本の   線路レール