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

news/2024/10/24 23:26:24/

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

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

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

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

第1步:

让我们打开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步:    

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

RegisterRedrawViewsCallback ViewportTextDisplay

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

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

第3步:    

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

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

第4步:

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

          

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

UnregistereDrawViewScallBack ViewportTextDisplay

显示在脚本的开头。

第5步:    

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

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将顶点索引显示为文本字符串。

          

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

          

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

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


http://www.ppmy.cn/news/1207854.html

相关文章

看李广的故事:发现团队管理之道

在漠北之战中,李广因迷失道路而延误了军期。因李广年事已高,无法承受幕府的责难,最终选择在军前自刎而死。 这一事件令人痛惜,不禁让人想起在工作中遇到的类似情况。有些同事因为突然离职,让领导感到愕然,…

SRRC认证的必要性:保障电子产品质量安全的重要措施

随着电子产品的普及和应用,对电子产品的质量安全要求也越来越高。为了保障消费者的权益和安全,国家对电子产品进行了严格的监管和管理。其中,SRRC认证是保障电子产品质量安全的重要措施之一。 SRRC认证是指在我国境内生产、销售、使用的无线电…

Kotlin与Java写法的变更

目录 获取类的Java Class属性 类型检查 for循环 switch语句 if判断 获取类的Java Class属性 //Java Intent intent new Intent(this, MainActivity.class);//Kotlin val intent Intent(this, MainActivity::class.java) 类型检查 //Java apple instanceof Fruit !(app…

【Unity实战】实现强大通用易扩展的对话系统(附项目源码)

先看看实现的最终效果 前言 之前的对话系统因为存在一些错误和原作者不允许我分享,所以被我下架了,而且之前对话系统确实少了一些功能,比如最基本的逐字打印功能,原本来是打算后面补充的。 对话系统在游戏中实现太常见了&#x…

mysql 索引执行过程 回表

MySQL索引执行过程如下: MySQL首先通过B树索引快速定位到符合条件的行;MySQL通过回表(也称为聚簇索引)找到精确的数据;如果回表的代价过高,MySQL会考虑使用覆盖索引,即只从索引树中获取所需的所…

无人机航拍技术基础入门,无人机拍摄的方法与技巧

一、教程描述 买了无人机,可是我不敢飞怎么办?禁飞区越来越多,到底哪儿才能飞?我的无人机跟你一样,为什么我拍不出大片?厂家的说明书看不进去,有没有一套无人机的课程,可以快速上手…

网络安全和隐私保护技术

一、定义 网络安全和隐私保护技术是指在互联网和其他网络环境中,通过技术手段保护网络系统、网络数据和用户隐私免于受到恶意攻击、非法访问、窃取或滥用。网络安全和隐私保护技术是保护网络安全和用户隐私的重要手段,是保障互联网和其他网络环境正常运…

Word脚注如何插入?1分钟学会!

“最近在写一些文章,引用了一些注释,想为它们增添一些脚注。有没有朋友知道在word里脚注怎么添加呀?” 使用word编写文章时,添加脚注是一项常见的任务,用于引用文献、添加注释或提供额外信息。但可能很多朋友不知道wor…