円筒の上面と下面を削除するには、以下のスクリプト
import math
import bpy
import bmesh
from math import pi
# 円筒の半径と高さ
radius = 2
height = 4
# 円筒を作成する
bpy.ops.mesh.primitive_cylinder_add(radius=radius, depth=height)
# オブジェクトを取得する
obj = bpy.context.active_object
# メッシュを取得する
mesh = obj.data
# メッシュを編集するためのBMeshを作成する
bm = bmesh.new()
bm.from_mesh(mesh)
# 上面と下面を削除する
for face in bm.faces:
if face.normal.z > 0.99 or face.normal.z < -0.99:
bm.faces.remove(face)
# メッシュを更新する
bm.to_mesh(mesh)
mesh.update()
import math
import bpy
import bmesh
from math import pi
# 円筒の半径と高さ
radius = 6
height = 6
# 円筒を作成する
bpy.ops.mesh.primitive_cylinder_add(radius=radius, depth=height)
# オブジェクトを取得する
obj = bpy.context.active_object
# メッシュを取得する
mesh = obj.data
# メッシュを編集するためのBMeshを作成する
bm = bmesh.new()
bm.from_mesh(mesh)
# 上面と下面を削除する
for face in bm.faces:
if face.normal.z > 0.99 or face.normal.z < -0.99:
bm.faces.remove(face)
# 外側の円筒を青色に塗る
mat_blue = bpy.data.materials.new(name="Blue")
mat_blue.diffuse_color = (0.0, 0.0, 1.0, 1.0) # RGBAで色を指定する
mesh.materials.append(mat_blue)
mesh.polygons[0].material_index = 1
# メッシュを更新する
bm.to_mesh(mesh)
mesh.update()
このコードでは、外側の円筒に半透明の青色を設定するために、マテリアルの透明度を設定しています。半透明にするためには、diffuse_colorプロパティに透明度を含めたRGBAの値を設定し、use_transparencyプロパティをTrueに設定し、透明度の設定方法をtransparency_methodプロパティに指定します。この例では、Zトランスパレンシー
# 以下 失敗のスクリプトを編集する
# 中央の円筒を赤色に塗る
mat_red = bpy.data.materials.new(name="Red")
mat_red.diffuse_color = (1.0, 0.0, 0.0, 1.0) # RGBAで色を指定する
mesh.materials.append(mat_red)
mesh.polygons[0].material_index = 0
# 外側の円筒を青色に塗る
mat_blue = bpy.data.materials.new(name="Blue")
mat_blue.diffuse_color = (0.0, 0.0, 1.0, 1.0) # RGBAで色を指定する
mesh.materials.append(mat_blue)
mesh.polygons[0].material_index = 1
# メッシュを更新する
bm.to_mesh(mesh)
mesh.update()
# 外側の円筒を青色に塗る
mat_blue = bpy.data.materials.new(name="Blue")
mat_blue.diffuse_color = (0.0, 0.0, 1.0, 0.5) # RGBAで色と透明度を指定する
mat_blue.use_transparency = True # 透明度を有効にする
mat_blue.transparency_method = 'Z_TRANSPARENCY' # Zトランスパレンシーを使用する
mesh.materials.append(mat_blue)
mesh.polygons[0].material_index = 1
あああああああああああああああああああああ
import bpy
import bmesh
from math import pi
# 円筒の半径と高さ
radius = 2
height = 4
# 円筒を作成する
bpy.ops.mesh.primitive_cylinder_add(radius=radius, depth=height)
# オブジェクトを取得する
obj = bpy.context.active_object
# メッシュを取得する
mesh = obj.data
# メッシュを編集するためのBMeshを作成する
bm = bmesh.new()
bm.from_mesh(mesh)
# 上面と下面を削除する
for face in bm.faces:
if face.normal.z > 0.99 or face.normal.z < -0.99:
bm.faces.remove(face)
# 中央の円筒を赤色に塗る
mat_red = bpy.data.materials.new(name="Red")
mat_red.diffuse_color = (1.0, 0.0, 0.0, 1.0) # RGBAで色を指定する
mesh.materials.append(mat_red)
mesh.polygons[0].material_index = 0
# 円筒をコピーする
bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"linked":False, "mode":'TRANSLATION'})
# オブジェクトを取得する
obj = bpy.context.active_object
# メッシュを取得する
mesh = obj.data
# メッシュを編集するためのBMeshを作成する
bm = bmesh.new()
bm.from_mesh(mesh)
# 上面と下面を削除する
for face in bm.faces:
if face.normal.z > 0.99 or face.normal.z < -0.99:
bm.faces.remove(face)
# 外側の円筒を青色に塗る
mat_blue = bpy.data.materials.new(name="Blue")
mat_blue.diffuse_color = (0.0, 0.0, 1.0, 1.0) # RGBAで色を指定する
mesh.materials.append(mat_blue)
mesh.polygons[0].material_index = 1
# メッシュを更新する
bm.to_mesh(mesh)
mesh.update()
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
いいいいいいいい