oeasy blender 014 颜色材质的应用
blender014材质Material这是 oeasy 系统化 Python 教程从基础一步步讲扎实、完整、不跳步。愿意花时间学就能真正学会。颜色设置_color_Material_材质_diffuse_color开始​​配套视频​​上次做了很多c919每个飞机都有自己的机身、机翼...如何修改物体的颜色呢?修改颜色选择Script工作区选择3d视图中的立方体选择Material 材质调板修改颜色选择着色器Material Preview材质预览效果立方体对应颜色修改信息调板观察到操作所对应的代码粘贴到游乐场import bpy bpy.data.materials[Material].node_tree.nodes[Principled BSDF].inputs[0].default_value (0, 1, 0, 1)input[0] 怎么理解输入端口Blender Principled BSDF节点输入项索引与命名对应表索引inputs[X]命名标识inputs[名称]说明简要inputs[0]Base Color完全等同均指向基础颜色输入项inputs[1]Subsurface次表面散射强度inputs[2]Subsurface Radius次表面散射半径红、绿、蓝inputs[3]Subsurface Color次表面散射颜色inputs[4]Metallic金属度0~1inputs[5]Specular镜面反射强度inputs[6]Specular Tint镜面反射色调inputs[7]Roughness粗糙度0~1inputs[8]Anisotropic各向异性强度inputs[9]Anisotropic Rotation各向异性旋转角度inputs[10]Sheen光泽强度inputs[11]Sheen Tint光泽色调inputs[12]Clearcoat清漆强度inputs[13]Clearcoat Roughness清漆粗糙度inputs[14]IOR折射率inputs[15]Transmission透射强度透明度相关inputs[16]Transmission Roughness透射粗糙度总结​​inputs[0]​​和​​Base Color​​完全等同前者是按顺序的索引访问后者是按名称的标识访问。Principled BSDF节点的所有输入项都支持索引访问和命名访问表格中列出了常用的对应关系。命名访问更具可读性如​​Base Color​​索引访问更简洁但索引顺序固定若节点更新调整顺序会失效实际开发中建议优先使用命名访问。新对象属性总结在原来基础属性基础上添加了 数据、材质属性名所属类别说明简要​​location​​空间变换坐标格式为(x,y,z)浮点三元组​​rotation_euler​​空间变换旋转欧拉角弧度制(x,y,z)​​scale​​空间变换缩放比例​​name​​基础标识定义对象名称​​parent​​层级关系设置父对象子对象继承父对象变换​​data​​几何/材质关联指向几何数据块空对象为None​​data.materials​​材质管理存储对象材质列表可append添加材质选择颜色修改材质名称把材质名称修改为green代码修改材质名称渐变的球import bpy # 清除场景中所有对象 bpy.ops.object.select_all(actionSELECT) bpy.ops.object.delete() # 循环创建10x10的ico球体并赋予颜色材质 for i in range(10): for j in range(10): # 添加ico球体设置半径和位置 bpy.ops.mesh.primitive_ico_sphere_add(radius0.5, location(i, j, 0)) # 获取当前激活的小球对象 icosphere bpy.context.active_object # 新建材质数据命名为mat_i_j mat_name fmat_{i}_{j} mat bpy.data.materials.new(namemat_name) # 启用材质的节点树Blender新建材质默认关闭节点树 mat.use_nodes True # 获取材质的Principled BSDF节点 principled_bsdf mat.node_tree.nodes[Principled BSDF] # 根据i和j计算颜色红随i变化绿随j变化蓝为0 red i / 10.0 # 用10.0确保浮点运算避免整数除法 green j / 10.0 blue 0.0 alpha 1.0 color (red, green, blue, alpha) # 设置Principled BSDF的基础颜色 principled_bsdf.inputs[Base Color].default_value color # 将材质赋予小球对象先清空原有材质再添加 if icosphere.data.materials: icosphere.data.materials[0] mat else: icosphere.data.materials.append(mat)渐变效果随机的球import bpy import random # 导入随机数模块 # 清除场景中所有对象 bpy.ops.object.select_all(actionSELECT) bpy.ops.object.delete() # 循环创建10x10的ico球体并赋予随机颜色材质 for i in range(10): for j in range(10): # 添加ico球体设置半径和位置 bpy.ops.mesh.primitive_ico_sphere_add(radius0.5, location(i, j, 0)) # 获取当前激活的小球对象 icosphere bpy.context.active_object # 新建材质数据命名为mat_i_j mat_name fmat_{i}_{j} mat bpy.data.materials.new(namemat_name) # 启用材质的节点树Blender新建材质默认关闭节点树 mat.use_nodes True # 获取材质的Principled BSDF节点 principled_bsdf mat.node_tree.nodes[Principled BSDF] # 生成随机的RGB颜色范围0.0到1.0alpha固定为1.0 red random.random() # 随机生成0.0~1.0的浮点数 green random.random() blue random.random() alpha 1.0 color (red, green, blue, alpha) # 设置Principled BSDF的基础颜色 principled_bsdf.inputs[Base Color].default_value color # 将材质赋予小球对象先清空原有材质再添加 if icosphere.data.materials: icosphere.data.materials[0] mat else: icosphere.data.materials.append(mat)效果如何查看目前所有的颜色呢打开大纲视图找到blender文件所有的Materials都在这里了能用python遍历吗遍历颜色import bpy for material in bpy.data.materials: print(material)出现了好多种颜色为什么删除颜色每次运行都添加100种材质如何删除材质删除材质import bpy for material in bpy.data.materials: bpy.data.materials.remove(material)先删材质再添加材质import bpy # 清除场景中所有对象 bpy.ops.object.select_all(actionSELECT) bpy.ops.object.delete() # 循环创建10x10的ico球体并赋予颜色材质 for i in range(10): for j in range(10): # 添加ico球体设置半径和位置 bpy.ops.mesh.primitive_ico_sphere_add(radius0.5, location(i, j, 0)) # 获取当前激活的小球对象 icosphere bpy.context.active_object # 新建材质数据命名为mat_i_j mat_name fmat_{i}_{j} mat bpy.data.materials.new(namemat_name) # 启用材质的节点树Blender新建材质默认关闭节点树 mat.use_nodes True # 获取材质的Principled BSDF节点 principled_bsdf mat.node_tree.nodes[Principled BSDF] # 根据i和j计算颜色红随i变化绿随j变化蓝为0 red i / 10.0 # 用10.0确保浮点运算避免整数除法 green j / 10.0 blue 0.0 alpha 1.0 color (red, green, blue, alpha) # 设置Principled BSDF的基础颜色 principled_bsdf.inputs[Base Color].default_value color # 将材质赋予小球对象先清空原有材质再添加 if icosphere.data.materials: icosphere.data.materials[0] mat else: icosphere.data.materials.append(mat) for material in bpy.data.materials: print(material)后添加总共100种材质可以看看材质的详细信息吗遍历材质细节import bpy for mat in bpy.data.materials: for v in mat.node_tree.nodes[Principled BSDF].inputs[Base Color].default_value : print(v, end,) print()输出结果除了材质之外对象也可以这样控制吗总结 这次我们制作了渐变颜色的球随机颜色的球import bpy for material in bpy.data.materials: bpy.data.materials.remove(material)对象也可以像材质一样remove吗我们下次再说​​配套视频​​本文来自 oeasy Python 系统教程。想完整、扎实学 Python搜索 oeasy 即可。

相关新闻

裁员了,我公司的技术部10个人,年底全裁了,只留了一个

裁员了,我公司的技术部10个人,年底全裁了,只留了一个

1个人干了10个人的活?是“天选打工人”,还是AI时代的新常态?小嘉在群里的一句吐槽,揭开了一个令人震惊又细思极恐的职场现实:“我公司的技术部10个人,年底全裁了,只留了一个。”“相当于他一个人…

2026/7/4 6:50:58 阅读更多 →
2026年2月最新优化算法——牛顿下山优化算法

2026年2月最新优化算法——牛顿下山优化算法

大家好,这里是公众号:淘个代码!公众号改版信息流之后很多读者压根收不到小淘发出的文章,建议大家星标公众号!由于微信公众平台改变了推送机制,凡是点赞、在看、星标公众号的朋友,都会优先接收到…

2026/5/17 7:12:07 阅读更多 →
流片失败不是你一个人的锅,但焦虑是你一个人在受罪

流片失败不是你一个人的锅,但焦虑是你一个人在受罪

流片回来,片子不工作。很多工程师当晚就睡不着了。躺在床上反复过脑子里的每一个细节——那个timing constraint是不是设错了,那个场景有没有漏仿真。问题一个都没解决,但心跳已经快了一夜。这种反应,身体是有代价的。长期处于高度…

2026/7/3 0:32:38 阅读更多 →

最新新闻

AI辅助工具如何提升毕业论文答辩效率

AI辅助工具如何提升毕业论文答辩效率

1. 毕业论文答辩AI辅助工具全景解析作为一名经历过三次学术答辩的老兵,我深知准备过程中的痛点:文献梳理耗时、问题预测不准、表达不够学术化。传统方式下,仅整理答辩问题就需要2-3周时间。而现在,AI工具已经能将这个流程压缩到3天…

2026/7/4 23:23:10 阅读更多 →
SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作

SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作

SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作 【免费下载链接】SysML-v2-Release The latest incremental release of SysML v2. Start here. 项目地址: https://gitcode.com/gh_mirrors/sy/SysML-v2-Release 当您面对复杂的系统工程时…

2026/7/4 23:23:10 阅读更多 →
如何实现微信聊天记录永久保存:3步完成数据备份与智能分析

如何实现微信聊天记录永久保存:3步完成数据备份与智能分析

如何实现微信聊天记录永久保存:3步完成数据备份与智能分析 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…

2026/7/4 23:21:09 阅读更多 →
从TT100K到YOLO:一份完整的交通标志数据集转换与实战指南

从TT100K到YOLO:一份完整的交通标志数据集转换与实战指南

1. 为什么需要转换TT100K数据集格式第一次接触TT100K数据集时,我完全被它复杂的目录结构和标注格式搞懵了。这个由清华大学和腾讯联合发布的交通标志数据集,包含了10万张图片和3万多个标注实例,但它的JSON标注格式和YOLO完全不兼容。当时为了…

2026/7/4 23:19:08 阅读更多 →
数据科学转行实战路径:问题驱动的认知构建法

数据科学转行实战路径:问题驱动的认知构建法

1. 这不是一张“通关地图”,而是一份我带过37个转行学员后画出的实战路标 数据科学学习路径——这个词听起来像一份标准化的课程表,但实际操作中,它更接近于在浓雾里徒步时手绘的地形草图:有标记、有涂改、有折痕,甚至…

2026/7/4 23:19:08 阅读更多 →
2026普通人AI使用指南:看懂参数、混合思考与国产模型三大核心

2026普通人AI使用指南:看懂参数、混合思考与国产模型三大核心

1. 这不是科幻预告片,是普通人下周就该打开手机查的“技术天气预报”2026年4月这个时间点,听起来像科幻小说里随手写的年份,但如果你最近刷过几条国产大模型发布会的短视频,或者留意过身边朋友突然开始用“文心一言新版本”写周报…

2026/7/4 23:17:06 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻