当前位置: 首页 > news >正文

视频主持网站建设科技感的网站

视频主持网站建设,科技感的网站,牛商网营销型网站建设,宜宾网站建设公司本文介绍在 Blender 中如何使用 Python API 获取材质及其属性。 推荐:用 NSDT场景设计器 快速搭建3D场景。 1、如何获取材质 方法1、 获取当前激活的材质 激活材质是当前在材质槽中选择的材料。 如果你选择一个面,则活动材料将更改为分配给选定面的材质…

本文介绍在 Blender 中如何使用 Python API 获取材质及其属性。

在这里插入图片描述

推荐:用 NSDT场景设计器 快速搭建3D场景。

1、如何获取材质

方法1、 获取当前激活的材质

激活材质是当前在材质槽中选择的材料。 如果你选择一个面,则活动材料将更改为分配给选定面的材质。
在这里插入图片描述

以下是获取名为“Cube”的对象的活动材质的Python脚本:

import bpy
obj = bpy.data.objects["Cube"]
material = obj.active_material
print(material)
# output => <bpy_struct, Material("Material3")>

方法2、获取材质槽并选择其中之一

import bpy
obj = bpy.data.objects["Cube"]
material_slots = obj.material_slots
for m in material_slots:material = m.materialprint("slot", m, "material", material)# output is material slot and material
# slot <bpy_struct, MaterialSlot("Material")> material <bpy_struct, Material("Material")>
# slot <bpy_struct, MaterialSlot("Material2")> material <bpy_struct, Material("Material2")>
# slot <bpy_struct, MaterialSlot("Material3")> material <bpy_struct, Material("Material3")>

你可以获得带有索引或键(材质名称)的插槽。 插槽的顺序遵循材质插槽 UI 上的顺序。

import bpy
obj = bpy.data.objects["Cube"]
material_slots = obj.material_slotsmaterial1 = material_slots[0].material
print(material1)
# output => <bpy_struct, Material("Material")>
material2 = material_slots["Material2"].material
print(material2)
# output => <bpy_struct, Material("Materia2")>

方法3:从 bpy.data.materials 获取

可以通过其键(材质名称)获取现有材质。

import bpy
material = bpy.data.materials["Material2"]

2、如何获得材质属性

可以在材料属性选项卡中查看材料属性。 根据渲染器的不同,获取属性值的方式也不同。

渲染器:工作台

在这里插入图片描述

可以使用 Material 类的属性获取属性值,如下所示。

import bpy
material = bpy.data.materials["Material.001"]color = material.diffuse_color
print(color[0], color[1], color[2], color[3])
# output => 0.20000000298023224 0.800000011920929 0.5 1.0metallic = material.metallic
print(metallic)
# output => 0.30000001192092896

其他渲染器

例如,Principled BSDF 是 Eevee 中基于节点的材料之一。
在这里插入图片描述

访问 Material 对象的 node_tree。 并获取节点“Principled BSDF”并获取节点的输入。

在这里插入图片描述

你可以通过 material.node_tree.nodes[“Principled BSDF”].inputs 查看输入列表:

import bpy
#obj = bpy.data.objects["Cube"]
#material = obj.active_material
material = bpy.data.materials["Material3"]inputs = material.node_tree.nodes["Principled BSDF"].inputs
for i in inputs:print(i)
# output
# <bpy_struct, NodeSocketColor("Base Color")>
# <bpy_struct, NodeSocketFloatFactor("Subsurface")>
# <bpy_struct, NodeSocketVector("Subsurface Radius")>
# <bpy_struct, NodeSocketColor("Subsurface Color")>
# <bpy_struct, NodeSocketFloatFactor("Metallic")>

可以获得带有索引或键(输入名称)的节点套接字。 未连接输入的值可以通过属性“default_value”获得:

import bpy
material = bpy.data.materials["Material3"]inputs = material.node_tree.nodes["Principled BSDF"].inputs
color = inputs["Base Color"].default_value
print(color[0], color[1], color[2], color[3])
# output => 0.15000000596046448 0.800000011920929 0.10000000149011612 1.0subsurface = inputs["Subsurface"].default_value
print(subsurface)
# output => 0.0

3、如何改变材料属性

替换属性的值。

import bpy
material = bpy.data.materials["Material3"]inputs = material.node_tree.nodes["Principled BSDF"].inputs
color = inputs["Base Color"].default_value
color[0] = 1.0

颜色会改变。
在这里插入图片描述

你可以使用 python 数组作为颜色的值。

import bpy
material = bpy.data.materials["Material.001"]
material.diffuse_color = [1.0, 0.2, 0.2 ,1.0]

原文链接:Blender Python材质处理 — BimAnt

http://www.yayakq.cn/news/750382/

相关文章:

  • 大连网站建设哪家好天津的设计公司
  • 网站负责人半身照阿里云多网站建设
  • 面包机做面包网站室内设计好还是平面设计好
  • 网站建设营销型网站商标怎么设计才好看
  • 盐城网站建设小程序公司闵行广州网站建设
  • 网站怎样盗链图片网站后台建设
  • 如何找人帮我做网站推广官方网站开发公司排名
  • 为什么做网站编辑网站开发模块的需求分析
  • SEO网站建设全方位部署海南门户网站开发公司
  • 网站项目接单免费宣传网站
  • 建设电商网站思想手机端网站开发价格
  • 西安企业建站素材基于html的网站开发
  • 仪征做网站aicjoyngx wordpress 403
  • 临清建网站黔东南网站开发
  • 机电类网站模板大型网站建设价格
  • google网站登陆模板免费静态网站托管平台
  • 昆明睿腾科技网站建设使用jquery的网站
  • 昌邑建设局网站贵州省城乡和住房建设厅网站
  • 东莞阳光网站投诉平台做网站需要的信息
  • 实力网站建设wordpress文本自动分页
  • 网站推广软件赚钱难吗?可以分销的平台
  • 网站认证是什么制作伪装网站
  • 中企动力z邮箱登录手机烟台网站优化公司
  • 网站系统升级维护需要多长时间360指数官网
  • 江苏城乡建设部网站首页韩国做美食网站有哪些
  • 中国今天新闻最新消息广州seo优化排名推广
  • 简约网站建设公司网站空间和数据库的关系
  • 新公司网站设计郑州vi设计公司
  • 电商营销型网站建设地产网站方案
  • 广东阳江发布最新消息星巴克seo网络推广