Ctrl+Altキーを押しながらマウスをスクロールすると、視点を横に移動できます。
https://blender-cg.net/mausu-sitenn/
https://blender-cg.net/transform-direction/
blender python で
1辺 2長さの 正方形を作る
正方形の中心は 000
正方形を Z=0 の xy平面に作る
"C:\aaa 2023 dondon\aaa2023いつもの\blender_hozon\Photos-001\94531767-BEA6-40A9-AC2B-BE356C0DD52F-67323-00001437AA34EA91.jpg"
この写真を 貼れるよにする
手動で 画像入れて 反映した
import bpy
# 1辺の長さを定義します
side_length = 2.0
# 正方形を作成します
bpy.ops.mesh.primitive_plane_add(size=side_length, location=(0, 0, 0))
# カメラを選択します
bpy.ops.object.select_all(action='DESELECT')
bpy.context.view_layer.objects.active = None
bpy.context.scene.camera = None
# 画像ファイルのパスを指定します
image_path = r"C:\aaa 2023 dondon\aaa2023いつもの\blender_hozon\Photos-001\94531767-BEA6-40A9-AC2B-BE356C0DD52F-67323-00001437AA34EA91.jpg"
# テクスチャを読み込みます
image_texture = bpy.data.images.load(image_path)
# マテリアルを作成します
material = bpy.data.materials.new(name="PhotoMaterial")
bpy.context.object.data.materials.append(material)
# マテリアルにテクスチャを追加します
material.use_nodes = True
material.node_tree.nodes.clear()
texture_node = material.node_tree.nodes.new(type='ShaderNodeTexImage')
texture_node.image = image_texture
diffuse_shader_node = material.node_tree.nodes["Principled BSDF"]
material.node_tree.links.new(texture_node.outputs["Color"], diffuse_shader_node.inputs["Base Color"])
import bpy
# 1辺の長さを定義します
side_length = 2.0
# 正方形を作成します
bpy.ops.mesh.primitive_plane_add(size=side_length, location=(0, 0, -5))
bpy.ops.mesh.primitive_plane_add(size=side_length, location=(0, 0, -1))
import bpy
# 正方形の1辺の長さ
side_length = 2.0
# 正方形の中心座標
center = (0.0, 0.0, 0.0)
# メッシュを作成
mesh = bpy.data.meshes.new(name="Square")
# 頂点を作成
vertices = [
(center[0] - side_length / 2, center[1] - side_length / 2, center[2]),
(center[0] + side_length / 2, center[1] - side_length / 2, center[2]),
(center[0] + side_length / 2, center[1] + side_length / 2, center[2]),
(center[0] - side_length / 2, center[1] + side_length / 2, center[2])
]
# 面を作成
faces = [(0, 1, 2, 3)]
# メッシュに頂点と面を追加
mesh.from_pydata(vertices, [], faces)
mesh.update()
# テクスチャの作成と設定
img_path ="C:\aaa 2023 dondon\aaa2023いつもの\blender_hozon\Photos-001\94531767-BEA6-40A9-AC2B-BE356C0DD52F-67323-00001437AA34EA91.jpg" # 使用したい写真のパスを指定してください
texture = bpy.data.textures.new(name="Texture", type='IMAGE')
texture.image = bpy.data.images.load(img_path)
# テクスチャをマテリアルに追加
material = bpy.data.materials.new(name="Material")
material.use_nodes = True
bsdf = material.node_tree.nodes["Principled BSDF"]
tex_image = material.node_tree.nodes.new('ShaderNodeTexImage')
tex_image.image = texture.image
material.node_tree.links.new(bsdf.inputs['Base Color'], tex_image.outputs['Color'])
# オブジェクトを作成
obj = bpy.data.objects.new("Square_Object", mesh)
# メッシュにマテリアルを割り当てる
obj.data.materials.append(material)
# シーンにオブジェクトを追加
scene = bpy.context.scene
scene.collection.objects.link(obj)
# オブジェクトを選択
scene.objects.active = obj
obj.select_set(True)
このコードでは、写真をテクスチャとして読み込み、Blenderのマテリアルに関連付けています。テクスチャは写真を正方形オブジェクトに貼り付けるために使用されます。実際の写真ファイルのパスをimg_path
変数に設定して、スクリプトを実行してください。これにより、作成した正方形に写真が貼り付けられます。
"C:\aaa 2023 dondon\aaa2023いつもの\blender_hozon\Photos-001\94531767-BEA6-40A9-AC2B-BE356C0DD52F-67323-00001437AA34EA91.jpg"
Pythonの文字列でバックスラッシュ \
はエスケープ文字として扱われます。これは、特定の文字と組み合わせて特殊な文字を表すためのものです。したがって、img_path
変数に指定されたパスのバックスラッシュはエスケープされてしまっており、ファイルの実際のパスが正しく解釈されません。
バックスラッシュを使用したままパスを指定する代わりに、パス文字列の前に r
を付けることで生の文字列(Raw string)として扱うことができます。これにより、バックスラッシュがエスケープされずにそのままの形で扱われるようになります。
修正したコードは以下のようになります:
import bpy
# 正方形の1辺の長さ
side_length = 2.0
# 正方形の中心座標
center = (0.0, 0.0, 0.0)
# メッシュを作成
mesh = bpy.data.meshes.new(name="Square")
# 頂点を作成
vertices = [
(center[0] - side_length / 2, center[1] - side_length / 2, center[2]),
(center[0] + side_length / 2, center[1] - side_length / 2, center[2]),
(center[0] + side_length / 2, center[1] + side_length / 2, center[2]),
(center[0] - side_length / 2, center[1] + side_length / 2, center[2])
]
# 面を作成
faces = [(0, 1, 2, 3)]
# メッシュに頂点と面を追加
mesh.from_pydata(vertices, [], faces)
mesh.update()
# テクスチャの作成と設定
img_path = r"C:\aaa 2023 dondon\aaa2023いつもの\blender_hozon\Photos-001\94531767-BEA6-40A9-AC2B-BE356C0DD52F-67323-00001437AA34EA91.jpg" # 使用したい写真のパスを指定してください
texture = bpy.data.textures.new(name="Texture", type='IMAGE')
texture.image = bpy.data.images.load(img_path)
# テクスチャをマテリアルに追加
material = bpy.data.materials.new(name="Material")
material.use_nodes = True
bsdf = material.node_tree.nodes["Principled BSDF"]
tex_image = material.node_tree.nodes.new('ShaderNodeTexImage')
tex_image.image = texture.image
material.node_tree.links.new(bsdf.inputs['Base Color'], tex_image.outputs['Color'])
# オブジェクトを作成
obj = bpy.data.objects.new("Square_Object", mesh)
# メッシュにマテリアルを割り当てる
obj.data.materials.append(material)
# シーンにオブジェクトを追加
scene = bpy.context.scene
scene.collection.objects.link(obj)
# オブジェクトを選択
scene.objects.active = obj
obj.select_set(True)
あああ