标签: maxscript

从另一个maxscript调用maxscript

我正在尝试编写一个调用外部脚本的函数,但是语法没有运气

scripts_folder = "C:\\Program Files\\Autodesk\\3ds Max 2008\\Scripts"
var script1 = "hello_world.ms"

-- use function to call scripts
callScript(script1)

-- function callScript
function callScript script =
(
getFiles scripts_folder + "\\" + script
)
Run Code Online (Sandbox Code Playgroud)

maxscript

6
推荐指数
2
解决办法
6509
查看次数

在崇高文本2中智能缩进括号(括号)

我有一个非常甜蜜的设置,用于编辑和运行来自sublime文本2内的maxscript.

我最近想要的一件事是用正常的圆括号来模拟或复制花括号的行为

编辑: 对不起 - 当我不在时,Chrome决定我在那里完成编辑:(

如果我键入,if (x) then {那么enter我将得到一个格式良好的块,现在在箭头处的插入符号

if(x) then {
    <-
}
Run Code Online (Sandbox Code Playgroud)

但我无法找到崇高文本藏在哪里.

我想将此行为复制到正常的圆括号()而不是获取

if (x) then (
    <-)
Run Code Online (Sandbox Code Playgroud)

maxscript sublimetext2

6
推荐指数
1
解决办法
1350
查看次数

我应该解析git状态还是使用gitsharp?

我想将git集成到生产管道中以存储3dsmax文件.虽然可以通过TortoiseGit使用git,但我想通过Maxscript与它进行通信,以便为3dsmax添加自定义菜单命令.

我应该解析git status输出文本以确定文件夹状态还是应该使用一些包装工具来正确地与git通信?

我在想,gitsharp因为很容易从Maxscript调用dotNet对象,但我没有使用外部dotNet程序.

git pipeline production-environment maxscript 3dsmax

5
推荐指数
3
解决办法
2495
查看次数

QApplication实例已存在

我在3Dsmax 2015上做了一些简单的PySide.

这是我的错误:

python.ExecuteFile "C:\Program Files\Autodesk\3ds Max 2015\scripts\Python\demoUniTest.py"
-- Runtime error:  Line 32  <module>()
  <type 'exceptions.RuntimeError'> A QApplication instance already exists.
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import sys
from PySide.QtCore import *
from PySide.QtGui import *
from math import *

class Form(QDialog):
def __init__(self,parent=None):
    super(Form,self).__init__(parent)

    self.browser = QTextBrowser()
    self.lineedit = QLineEdit("Type an expression and press Enter")
    self.lineedit.selectAll()

    layout = QVBoxLayout()
    layout.addWidget(self.browser)
    layout.addWidget(self.lineedit)
    self.setLayout(layout)

    self.lineedit.setFocus()

    self.connect(self.lineedit, SIGNAL("returnPressed()"),self.updateUi)
    self.setWindowTitle("Calculate")

def updateUi(self):
    try:
        text = self.lineedit.text()
        self.browser.append("%s = <b>%s</b>" % (text,eval(text)))
    except:
        self.browser.append("<font color=red>%s is invalid</font>" %text) …
Run Code Online (Sandbox Code Playgroud)

python maxscript pyside

5
推荐指数
2
解决办法
9470
查看次数

如何通过Maxscript以编程方式更改3dsmax透视窗口的FOV?

我需要访问Perspective视口的FOV属性.这与与目标和免费相机相关联的FOV属性不同.

要以非编程方式访问FOV属性,请右键单击视口名称(每个视口的左上角),转到配置,在"透视用户视图"下,您可以更改FOV.

maxscript 3dsmax

4
推荐指数
1
解决办法
9763
查看次数

4
推荐指数
1
解决办法
4349
查看次数

如何在没有材质编辑器的情况下访问 maxscript 中的材质?

在 maxscript 中,似乎有两个选项可以通过紧凑的材质编辑器和 Slate 材质编辑器访问材质。问题在于,如果 max 设置为使用 Slate 编辑器,则尝试通过紧凑编辑器 ( currentMaterialLibrary, sceneMaterials, meditMaterials)访问/修改材料的脚本会失败,反之亦然。

有没有办法直接在 maxscript 中访问材料,而不管使用哪个编辑器?

一旦我有了材料,我想:

  1. 从场景中清除未分配的材质,以便在未使用的材质上丢失纹理不会在场景打开/网络渲染中引发错误。
  2. 检查某些材料属性(即光泽细分),以便购买的具有“不必要的高值”的模型不会破坏渲染时间。

editor maxscript

3
推荐指数
1
解决办法
9909
查看次数

非规范化矢量

如何在规范化之前对已经规范化的矢量进行非规范化以获得原始值?

例如:

vec = [-0.5, -1.0, 0.0]
vec_length = sqrt(vec.x^2 + vec.y^2 + vec.z^2)
vec_normalized = [vec.x/vec_length, vec.y/vec_length, vec.z/vec_length]
Run Code Online (Sandbox Code Playgroud)

收益率:

vec_length = 1.11803
vec_normalized = [-0.447214,-0.894427,0]
Run Code Online (Sandbox Code Playgroud)

如何从标准化向量[-0.447214,-0.894427,0]中获取原始向量[-0.5,-1.0,0.0]?

谢谢!

math vector maxscript

2
推荐指数
1
解决办法
1628
查看次数

MaxScript:检测何时删除对象

如果从场景中删除对象,我将如何检测(或触发函数)?

maxscript 3dsmax

2
推荐指数
1
解决办法
397
查看次数

如何通过maxscript切换"在视口中显示标准地图"?

在平板材质编辑器中,我可以右键单击材质并切换"在视口中显示标准贴图".如何从maxscsript以编程方式切换/设置材料的此选项?

maxscript 3dsmax material

1
推荐指数
1
解决办法
5396
查看次数

@在文件名中使用Maxscript

使用Maxsctipt:导出文件以下代码正常工作:

caption:"Caption" \
types:"text(*.txt)|*.txt|All|*.*|" \
filename:(sysinfo.currentdir + @"\some_text.txt")
Run Code Online (Sandbox Code Playgroud)

但我想知道@符号有什么意义?

string-literals maxscript

1
推荐指数
1
解决办法
1061
查看次数

Maxscript:组合转换

我正在尝试修复带有负比例的动画模型(我知道这可能是个坏主意)。在查看 max 脚本中的变换时,我注意到一些有趣的事情,这可能与 3ds max 中左手坐标系的内部使用有关。我将节点的变换与节点的 PRS 值进行了比较:我的期望是通过乘以 PRS 值,我也应该得到变换。但是,如果对象被旋转或镜像,则情况并非如此,请参阅:

  $.transform =
   row1    [0.866,-0.500,0.000] 
   row2    [-0.500,-0.866,0.000] 
   row3    [0.000,0.000,1.000] 
   row4    [13.000,-3.000,1.000] 
  ...scale * ...rotation * ...pos =
   row1    [-0.866,0.500,0.000] 
   row2    [-0.500,-0.866,0.000] 
   row3    [0.000,0.000,-1.000] 
   row4    [13.000,-3.000,1.000] 
  ...transform.scalepart * ...transform.rotationpart * ...transform.translationpart =
   row1    [-0.866,0.500,0.000] 
   row2    [0.500,0.866,0.000] 
   row3    [0.000,0.000,-1.000] 
   row4    [13.000,-3.000,1.000] 
Run Code Online (Sandbox Code Playgroud)

任何想法,为什么这些转换不一样?我试图了解 3ds max 是如何工作的。非常感谢您的任何见解!

transform maxscript 3dsmax

1
推荐指数
1
解决办法
651
查看次数

在标准化向量中找到缺失的坐标

假设我有一个标准化的向量,但我不知道z坐标是什么.如何在保留现有x和y坐标的同时检索规范化的z坐标.

例如:

X: -0.361
Y:  0.361
Z:  ?
Run Code Online (Sandbox Code Playgroud)

只是x和y的长度是0.510531

len = sqrt((ax * ax) + (ay * ay)) -- 0.510531
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ math vector maxscript

0
推荐指数
1
解决办法
76
查看次数