oeasy blender 016 晴天娃娃
发布时间:2026-03-01 09:58 浏览量:2
这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。晴天娃娃的制作_设置位置和旋转深入理解了清场原来只是删除了对象并没有删除实际的网格灯光摄影机
想做个晴天娃娃怎么做呢?
眼球 参数一会儿要用
如何使用代码生成?import bpybpy.ops.object.select_all(action="SELECT") bpy.ops.object.delete head = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "head"生成头部
import bpybpy.ops.object.select_all(action="SELECT") # 选择所有物体bpy.ops.object.delete # 删除选定的物体head = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "head"r_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "r_eye"bpy.context.object.location = (0.7, 0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)效果
准备上色
上色import bpybpy.ops.object.select_all(action="SELECT") bpy.ops.object.deletehead = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "head"r_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "r_eye"bpy.context.object.location = (0.7, 0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)mat = bpy.data.materials.new('mat_eye')mat.use_nodes = Truecolor = (0, 0, 0, 1)mat.node_tree.nodes["Principled BSDF"].inputs['Base Color'].default_value = colorbpy.context.object.data.materials.append(mat)效果
另一只眼睛import bpybpy.ops.object.select_all(action="SELECT") bpy.ops.object.delete head = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "head"r_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "r_eye"bpy.context.object.location = (0.7, 0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)mat = bpy.data.materials.new('mat_eye')mat.use_nodes = Truecolor = (0, 0, 0, 1)mat.node_tree.nodes["Principled BSDF"].inputs['Base Color'].default_value = colorbpy.context.object.data.materials.append(mat)l_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "l_eye"bpy.context.object.location = (0.7, -0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)bpy.context.object.data.materials.append(mat)红眼睛的效果
可以控制层次结构吗?层次结构import bpybpy.ops.object.select_all(action="SELECT") bpy.ops.object.delete bpy.ops.mesh.primitive_uv_sphere_addhead = bpy.context.objectbpy.context.object.name = "head"r_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "r_eye"bpy.context.object.location = (0.7, 0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)mat = bpy.data.materials.new('mat_eye')color = (0, 0, 0, 1)mat.use_nodes = Truemat.node_tree.nodes["Principled BSDF"].inputs['Base Color'].default_value = colorbpy.context.object.data.materials.append(mat)bpy.context.object.parent = headl_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "l_eye"bpy.context.object.location = (0.7, -0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)bpy.context.object.data.materials.append(mat)bpy.context.object.parent = head效果
左眼、右眼 两个对象成为 head 的字对象增加一个身体
并修改参数
将添加 身体圆锥 的操作转化为 代码代码化import bpybpy.ops.object.select_all(action="SELECT")bpy.ops.object.delete bpy.ops.mesh.primitive_uv_sphere_addhead = bpy.context.objectbpy.context.object.name = "head"r_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "r_eye"bpy.context.object.location = (0.7, 0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)mat = bpy.data.materials.new('mat_eye')mat.use_nodes = Truecolor = (0, 0, 0, 1)mat.node_tree.nodes["Principled BSDF"].inputs['Base Color'].default_value = colorbpy.context.object.data.materials.append(mat)bpy.context.object.parent = headl_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "l_eye"bpy.context.object.location = (0.7, -0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)bpy.context.object.data.materials.append(mat)bpy.context.object.parent = headbpy.ops.mesh.primitive_cone_addbody = bpy.context.objectbody.name = "body"body.location = (0,0,-1)body.scale = (1,1,2)可以加上 双手和双脚吗?可以带上 帽子 或者 眼镜吗?可以 添加 鼻子和耳朵吗?这个任务就交给你了headbody
可以把身体和头部整合成一个 角色 吗?import bpybpy.ops.object.select_all(action="SELECT") bpy.ops.object.delete bpy.ops.mesh.primitive_uv_sphere_addhead = bpy.context.objectbpy.context.object.name = "head"r_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "r_eye"bpy.context.object.location = (0.7, 0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)mat = bpy.data.materials.new('mat_eye')mat.use_nodes = Truecolor = (0, 0, 0, 1)mat.node_tree.nodes["Principled BSDF"].inputs['Base Color'].default_value = colorbpy.context.object.data.materials.append(mat)bpy.context.object.parent = headl_eye = bpy.ops.mesh.primitive_uv_sphere_addbpy.context.object.name = "l_eye"bpy.context.object.location = (0.7, -0.5, 0.3)bpy.context.object.scale = (0.3, 0.3, 0.3)bpy.context.object.data.materials.append(mat)bpy.context.object.parent = headbpy.ops.mesh.primitive_cone_addbody = bpy.context.objectbody.name = "body"body.location = (0,0,-1)body.scale = (1,1,2)character = bpy.data.objects.new("character", None)bpy.data.collections["Collection"].objects.link(character)head.parent = characterbody.parent = character制作成功
可以封装成函数吗?import bpydef clear_scene: bpy.ops.object.select_all(action="SELECT") bpy.ops.object.deletedef create_material(name, color): mat = bpy.data.materials.new(name) mat.use_nodes = True mat.node_tree.nodes["Principled BSDF"].inputs['Base Color'].default_value = color return matdef create_eye(name, location, parent): bpy.ops.mesh.primitive_uv_sphere_add eye = bpy.context.object eye.name = name eye.location = location eye.scale = (0.3, 0.3, 0.3) mat = bpy.data.materials.new('mat_eye') mat.use_nodes = True color = (0, 0, 0, 1) mat.node_tree.nodes["Principled BSDF"].inputs['Base Color'].default_value = color bpy.context.object.data.materials.append(mat) eye.parent = parent return eyedef create_character: # Create empty parent object character = bpy.data.objects.new("character", None) bpy.data.collections["Collection"].objects.link(character) # Create head bpy.ops.mesh.primitive_uv_sphere_add head = bpy.context.object head.name = "head" head.parent = character # Create eyes create_eye("r_eye", (0.7, 0.5, 0.3), head) create_eye("l_eye", (0.7, -0.5, 0.3), head) # Create body bpy.ops.mesh.primitive_cone_add body = bpy.context.object body.name = "body" body.location = (0, 0, -1) body.scale = (1, 1, 2) body.parent = character return characterif __name__ == "__main__": clear_scene create_character
双脚
帽子
翅膀