提示詞:
創建一個3D卡通風格的角色。這個角色有著貓耳朵,頭髮是短而整齊的直髮,穿著一件帶有圖案的連帽毛衣。毛衣上有黑色的動物圖案和幾何圖案。
工具:Gemini
運用DeepSeek 輸入下列提示詞:
將下列的prompt轉成python 語言:
創建一個3D卡通風格的角色。這個角色有著貓耳朵,頭髮是短而整齊的直髮,穿著一件帶有圖案的連帽毛衣。毛衣上有黑色的動物圖案和幾何圖案。
import bpy
import math
from mathutils import Vector
# 创建基础人体模型
bpy.ops.mesh.primitive_cylinder_add(vertices=32, radius=1, depth=2, location=(0, 0, 1))
body = bpy.context.active_object
body.name = "Base_Body"
# 添加猫耳朵
def create_cat_ears():
ear_settings = {
'radius1': 0.3,
'radius2': 0,
'depth': 0.7,
'vertices': 32
}
# 左耳
bpy.ops.mesh.primitive_cone_add(**ear_settings, location=(-0.4, 0, 2.5))
left_ear = bpy.context.active_object
left_ear.rotation_euler = (math.radians(60), 0, math.radians(-20))
# 右耳
bpy.ops.mesh.primitive_cone_add(**ear_settings, location=(0.4, 0, 2.5))
right_ear = bpy.context.active_object
right_ear.rotation_euler = (math.radians(60), 0, math.radians(20))
return left_ear, right_ear
ears = create_cat_ears()
# 创建头发
def create_hair(base_obj):
base_obj.modifiers.new("Hair", 'PARTICLE_SYSTEM')
particle = base_obj.particle_systems[-1].settings
particle.count = 300
particle.hair_length = 0.15
particle.hair_step = 3
particle.use_hair_bspline = True
particle.child_type = 'SIMPLE'
particle.rendered_child_count = 100
create_hair(body)
# 创建连帽毛衣
def create_sweater():
# 创建基础服装模型
bpy.ops.mesh.primitive_cylinder_add(vertices=64, radius=1.1, depth=1.5, location=(0, 0, 0.8))
sweater = bpy.context.active_object
sweater.name = "Hoodie_Sweater"
# 添加布料物理属性
sweater.modifiers.new("Cloth", 'CLOTH')
# 创建材质
mat = bpy.data.materials.new(name="Sweater_Material")
sweater.data.materials.append(mat)
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
# 添加图案纹理
tex_node = mat.node_tree.nodes.new('ShaderNodeTexChecker')
tex_node.inputs['Scale'].default_value = 8
tex_node.inputs['Color1'].default_value = (0, 0, 0, 1) # 黑色图案
tex_node.inputs['Color2'].default_value = (0.8, 0.8, 0.8, 1)
mat.node_tree.links.new(bsdf.inputs['Base Color'], tex_node.outputs['Color'])
return sweater
sweater = create_sweater()
# 设置卡通材质
def set_cartoon_material(obj):
mat = bpy.data.materials.new(name="Cartoon_Material")
obj.data.materials.append(mat)
mat.use_nodes = True
nodes = mat.node_tree.nodes
links = mat.node_tree.links
# 清理默认节点
for node in nodes:
nodes.remove(node)
# 创建卡通着色节点
output = nodes.new(type='ShaderNodeOutputMaterial')
shader = nodes.new(type='ShaderNodeBsdfDiffuse')
light = nodes.new(type='ShaderNodeHueSaturation')
ramp = nodes.new(type='ShaderNodeValToRGB')
# 设置颜色渐变
ramp.color_ramp.elements[0].color = (0.9, 0.9, 0.9, 1)
ramp.color_ramp.elements[1].color = (0.6, 0.6, 0.6, 1)
links.new(shader.inputs['Color'], ramp.outputs['Color'])
links.new(output.inputs['Surface'], shader.outputs['BSDF'])
set_cartoon_material(body)
set_cartoon_material(ears[0])
set_cartoon_material(ears[1])
# 设置摄像机和灯光
bpy.ops.object.camera_add(location=(3, -3, 2))
camera = bpy.context.active_object
camera.rotation_euler = (math.radians(60), 0, math.radians(45))
bpy.ops.object.light_add(type='AREA', location=(2, -2, 3))
light = bpy.context.active_object
light.data.energy = 500
# 设置渲染引擎为EEVEE并启用卡通效果
bpy.context.scene.render.engine = 'BLENDER_EEVEE'
bpy.context.scene.eevee.use_gtao = True
bpy.context.scene.eevee.use_bloom = True