- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 maxscript 中似乎有两种访问 Material 的选项,即通过紧凑的 Material 编辑器和 Slate Material 编辑器。问题在于,如果设置了最大值,试图通过紧凑型编辑器(currentMaterialLibrary
、sceneMaterials
、meditMaterials
)访问/修改 Material 的脚本会失败使用 Slate 编辑器,反之亦然。
有没有办法直接在 maxscript 中访问 Material ,而不管使用哪个编辑器?
一旦我有了 Material ,我想:
最佳答案
如果您想查找所有现有 Material (场景中或不在场景中),以下代码片段将为您完成
for aMtlType in material.classes do
(
for aMtl in (getClassInstances aMtlType processAllAnimatables:true) do
(
print aMtl
-- Does this material exist in the scene or not?
if (findItem sceneMaterials aMtl) == 0 do (print "This material does not exist in the scene")
)
)
我不太确定如何从现场清除它。您可以获得依赖项 (refs.dependents aMtl),然后将对此 Material 的任何引用替换为新的默认 Material 。那应该可行,尽管我还没有尝试过(甚至没有尝试运行它)。所以...好好测试并小心使用 :-)。
defMtl = ...
for d in refs.dependents aMtl do (
refIdx = 0
for i = 1 to refs.getNumRefs d do ( if (refs.getreference d i) == aMtl ) do ( refIdx = i )
refs.replaceReference aMtl refIdx defMtl
)
对于您的第二个问题 - 检查属性 - 您可以检查它是否具有适当的属性并根据需要设置值
if (hasProperty aMtl "diffuse") 做 (aMtl.diffuse = 0)
关于editor - 如何在没有 Material 编辑器的情况下访问 maxscript 中的 Material ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22351548/
我正在尝试编写一个调用外部脚本但语法没有任何运气的函数 scripts_folder = "C:\\Program Files\\Autodesk\\3ds Max 2008\\Scripts" va
我遇到了 Maxscripts 第一次运行时无法工作的老问题(从冷启动),因为这些函数需要在使用前声明。 以下脚本在第一次运行时会失败: fOne() function fOne = ( fT
如果从场景中删除了一个对象,我将如何检测(或触发一个函数)? 最佳答案 使用 notifications fn nodeDeletedCallback = ( deletedObj = callb
我遇到了 Maxscripts 第一次运行时无法工作的老问题(从冷启动),因为这些函数需要在使用前声明。 以下脚本在第一次运行时会失败: fOne() function fOne = ( fT
我有不同的 2000 个点集,它们定义了网格顶点的位置。例如,一组使网格为 X 形式,另一组为 Y 形式等。 我想用这个不断变化的网格制作动画,但 Autokey 甚至无法放置关键帧。 我的流程如下:
我正在用 python 编写 maxscript,以下代码会引发类型错误: import MaxPlus res = MaxPlus.Core.GetRootNode() #This is just
我有一个骨骼名称(例如 Bone002 ),我想获取它的骨骼 ID(不是皮肤列表中的索引,而是所需的 ID,例如在 skinOps.SetVertexWeights 中)。 我知道反向操作如下所示:
我知道目前没有 SublimeText2 的 Maxscript 语法定义,但是是否可以轻松地从 Notepad++ 或 Textpad 转换现有的语法集或创建一个(更令人生畏的前景,因为我不知道从哪
我正在尝试使用 MAXScript 从我的场景中使用 MAXScript 删除所有动画关键点。目前我正在使用鼠标并按 CTRL + A 选择所有对象,从而调出场景中所有对象的键。然后我使用鼠标选择动画
在 maxscript 中似乎有两种访问 Material 的选项,即通过紧凑的 Material 编辑器和 Slate Material 编辑器。问题在于,如果设置了最大值,试图通过紧凑型编辑器(c
我需要访问透视视口(viewport)的 FOV 属性。这与与目标和自由相机关联的 FOV 属性不同。 要以非编程方式访问 FOV 属性,请右键单击视口(viewport)名称(每个视口(viewpo
我是一名优秀的程序员,十分优秀!