如何在3dMax中使用MaxScript在视口中显示数据?

如何在3dMax中使用MaxScript在视口中显示数据?

详细的教程指南,介绍如何使用MaxScript在视口中直接显示对象名称、坐标和顶点索引等信息。

如何在3dMax中使用MaxScript在视口中显示数据?_第1张图片

在本教程中,您将学习如何借助MaxScript在视口中直接显示对象信息或数据。

本教程介绍了如何显示简单的内容,如对象的名称、坐标,最后是可编辑多边形对象的顶点索引,并对代码进行了适当的解释。让我们开始吧。

第1步:

如何在3dMax中使用MaxScript在视口中显示数据?_第2张图片

让我们打开Maxscript编辑器并编写下面给出的代码。

fn  ViewportTextDisplay =

(

gw.setTransform (Matrix3 1)    

for obj in objects where obj.isselected == true do

(

gw.text obj.pos (obj.name as string) color:Yellow

)

)

gw.UpdateScreen()

说明:

gw.setTransform (Matrix3 1)

将视口图形窗口的视口变换矩阵设置为标识矩阵。

for obj in objects where obj.isselected == true do

这是用于检查选定对象的For循环。这里,obj是for循环索引变量,它可以是除MaxScript保留的关键字之外的任何内容。

gw.text功能是创建文本。我使用obj.pos作为文本位置,因为我希望文本与选定对象保持相同的空间。

obj.name是要在视口中显示的选定对象的名称,gw.UpdateScreen()函数用于更新视口。

所有这些代码都在名为ViewportTextDisplay的函数中。

第2步:    

如何在3dMax中使用MaxScript在视口中显示数据?_第3张图片

现在,我们必须使用3ds max回调来注册函数ViewportTextDisplay。让我们继续,在脚本末尾再添加一行。

RegisterRedrawViewsCallback ViewportTextDisplay

此行使用函数ViewportTextDisplay注册重画视图回调。现在,每次3dsmax重绘视口时都会调用函数ViewportTextDisplay。

让我们创建几个对象,并通过按Ctrl+E热键来计算脚本。您可以注意到,选定对象现在有一个名称为字符串的文本。

第3步:    

如何在3dMax中使用MaxScript在视口中显示数据?_第4张图片

假设我们想显示对象的坐标而不是对象的名称,那么我们只需在脚本中将obj.name替换为obj.pos即可。

现在,再次评估脚本,注意我们在视口中显示了对象的位置数据,但前面带有对象名称的文本仍然存在,导致重叠。

第4步:

为了修复重叠的文本,我们必须首先注销函数以清除所有以前的数据或信息。    

如何在3dMax中使用MaxScript在视口中显示数据?_第5张图片

          

要注销函数,我们必须编写一行简单的代码

UnregistereDrawViewScallBack ViewportTextDisplay

显示在脚本的开头。

第5步:    

如何在3dMax中使用MaxScript在视口中显示数据?_第6张图片

显示顶点索引将更加有用。让我们学习如何做到这一点。让我们替换下面的所有内容

gw.setTransform(Matrix3 1)

for obj in objects where obj.isselected ==true and (classof obj == Editable_Poly) do
(
for vert in (polyop.getvertselection $) do 
(
       gw.text (polyop.getvert $ vert ) (vert as string) color:Yellow
)
)

说明:

for obj in objects where obj.isselected ==true and (classof obj == Editable_Poly) do

此代码检查选定的对象,如果选择了任何对象,则将检查该对象是否为可编辑多边形对象。

          

在第一个For循环中,我们有另一个For循环,

for vert in (polyop.getvertselection $) do

其中,vert是索引变量,polyop.getvertselection$用于获取所选顶点的数组作为序列。

          

gw.text我们知道是创建文本。我希望文本具有与顶点相同的位置,因此我们必须收集选定顶点的位置数据来放置文本。

polyop.getvert$vert提供选定顶点的位置。

          

vert as string将顶点索引显示为文本字符串。

          

现在,评估脚本,您就完成了。您可以轻松修改此脚本以显示所需的信息。    

如何在3dMax中使用MaxScript在视口中显示数据?_第7张图片

          

我希望你喜欢这个教程,并从中学到一些有用的东西。随时更新新教程。谢谢!

MAXScript简体中文版帮助文档本站下载:https://download.csdn.net/download/mufenglaoshi/85503966

你可能感兴趣的:(3DMAX,maxscript,maxscript中文帮助,3dmax插件,3dmax,3d,3dsmax)