以下は、手順を説明するBlenderのPythonスクリプトです。このスクリプトは、半径1と半径3の円を描き、それらの間に面を作成する方法を示しています。
togetter.com/t/c2022meetzionad
togetter.com/t/b2022meetzionad
twitter 新着検索 Dürer & 測距儀
aaa
bbb
ccc twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad
old page いいい
new page いいい
目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい
import bpy
import bmesh
import math
# Create a new mesh
mesh = bpy.data.meshes.new("Ring")
# Create a new object and link it to the scene
obj = bpy.data.objects.new("Ring", mesh)
bpy.context.collection.objects.link(obj)
# Create a bmesh and add vertices for the outer circle
bm = bmesh.new()
bm.from_mesh(mesh)
num_segments = 32
outer_radius = 3.0
verts_outer = []
for i in range(num_segments):
theta = 2.0 * math.pi * float(i) / float(num_segments)
x = outer_radius * math.cos(theta)
y = outer_radius * math.sin(theta)
v = bm.verts.new((x, y, 0.0))
verts_outer.append(v)
bm.verts.ensure_lookup_table()
# Create edges for the outer circle
for i in range(num_segments):
bm.edges.new((verts_outer[i], verts_outer[(i+1)%num_segments]))
# Add vertices for the inner circle
inner_radius = 1.0
verts_inner = []
for i in range(num_segments):
theta = 2.0 * math.pi * float(i) / float(num_segments)
x = inner_radius * math.cos(theta)
y = inner_radius * math.sin(theta)
v = bm.verts.new((x, y, 0.0))
verts_inner.append(v)
bm.verts.ensure_lookup_table()
# Create edges for the inner circle
for i in range(num_segments):
bm.edges.new((verts_inner[i], verts_inner[(i+1)%num_segments]))
# Connect the inner and outer circles with faces
for i in range(num_segments):
bm.faces.new((verts_outer[i], verts_outer[(i+1)%num_segments], verts_inner[(i+1)%num_segments], verts_inner[i]))
# Convert the bmesh to a mesh
bm.to_mesh(mesh)
bm.free()
このスクリプトでは、最初に半径3の円の頂点を追加し、エッジを追加します。次に、半径1の円の頂点を追加し、エッジを追加します。最後に、内側の円と外側の円を面でつないで、リング状のメッシュを作成しています。
このスクリプトを実行する前に、Blenderのスクリプトエディターを開いて、新しいファイルを作成し、スクリプトをコピーして貼り付け、実行するだけです。リングが描かれ、面が作成されたら、オブジェクトを選択して編集することができます。
この面の表を 青 裏を 赤に塗りたい
以下はBlender内部の手順になります。
編集モードで、塗りたい面を選択します。
マテリアルタブに移動し、新しいマテリアルを作成します。
Diffuseカラーを青に設定し、Shadelessオプションをオンにします。
マテリアルのViewpor Colorを青に設定します。
オブジェクトモードに戻り、オブジェクトを選択します。
マテリアルモードに切り替え、先程作成したマテリアルを選択します。
「テクスチャを追加」をクリックし、「新しいテクスチャ」を選択します。
「Type」を「Image or Movie」に設定し、画像ファイルを選択します。
「Image Sampling」の「Alpha」をオフにし、シェーディングモードを「Material」に設定します。
「Object Data Properties」パネルの「Normals」セクションで「Auto Smooth」をオンにします。
編集モードに切り替え、面選択状態で「Face Orientation」を表示します。
赤い面を選択し、先程作成したマテリアルを割り当てます。
これで、選択した面が青で、その裏面が赤に塗られます。
togetter.com/t/c2022meetzionad
togetter.com/t/b2022meetzionad
twitter 新着検索 Dürer & 測距儀
aaa
bbb
ccc twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad
old page いいい
new page いいい
目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい