关于Maxscript你了解多少?

MAXScript是Autodesk 3dMax的内置脚本语言。MAXScript为3dMax用户提供了以下功能:

编写程序使用的大部分方面的脚本,如建模、动画、材质、渲染等。

通过命令行侦听器窗口以交互方式控制程序。

在自定义实用工具面板卷展栏或无模式窗口中打包脚本,为其提供标准的用户界面。

将脚本打包为宏脚本,并将这些宏脚本安装为产品工具栏中的按钮、菜单中的项目,或将它们指定给键盘快捷键。

扩展或替换对象、修改器、材质、纹理、渲染效果和大气效果的用户界面。

为自定义网格对象、修改器、渲染效果等构建脚本插件。

使用ASCII和二进制文件I/O构建自定义导入/导出工具。

编写可以访问场景的整个状态的程序控制器。

构建批处理工具,例如批处理渲染脚本。

通过OLE Automation设置与外部系统的实时接口。

将您在产品中的操作记录为MAXScript命令。

将脚本存储在场景文件中,以便在每个受支持的通知事件中运行,例如场景已重置、文件已打开或保存、渲染已启动或停止、对象选择已更改等等。

Maxscript示例:

-- USD Exporter Example-- create an assortment of teapots
a = [-100, -100, -100]
b = [100, 100, 100]teapots = #()
for i = 1 to 10 do (t = teapot pos: (random a b) radius: (random 10 50)if (random 1 2) == 2 then ( append teapots t    ))-- make an export options object
export_path = "some_teapots.usda"
log_path =  pathConfig.appendPath (getDir #temp) "/teapot_log.txt"
export_options = USDExporter.createOptions()export_options.Meshes = false
export_options.Lights = false
export_options.Cameras = false
export_options.Materials = false
export_options.FileFormat = #ascii
export_options.UpAxis = #y
export_options.LogLevel = #info
export_options.LogPath = log_path
export_options.PreserveEdgeOrientation = true
export_options.Normals = #none
export_options.TimeMode = #current-- update the UI to match these settings:
USDexporter.UIOptions = export_options-- export only the teapots in our list:
USDExporter.ExportFile export_path exportOptions:export_options nodeList:teapots

MaxScript命令处理器是一个解释器,它实现了xBase编程语言的一个子集,专门用于网页内部,以提供服务器端脚本功能。不要将MaxScript与3D动画包3ds Max的脚本语言MaxScript混淆。

作为命令处理器,MaxScript需要一个web服务器来处理:每当web服务器接收到对MaxScript页面的请求时,它必须将其传递给解释器,解释器从上到下解析所有行,以搜索要执行的xBase代码。然后,页面被传递回web服务器,web服务器将其传递到web浏览器。

MaxScript页面使用文件扩展名.MSP. MSP页面是标准的HTML页面:它们可以包含XHTML和Javascript代码,以及xBase代码。xBase语句可以由数百行或单个函数调用组成,始终包含在HTML服务器端标记中。

maxScript的标记与PHP和其他服务器端脚本语言使用的标记类似:要将xBase代码启动到网页中,必须使用<%的标记。标记%>标记代码的结束。MaxScript被用作免费软件产品的核心,如dbfree及其商业对应产品DBMax

最新版本(2.21)发布于2008年,实现了xBase命令和函数的大量子集,以及编写要集成在该语言中的UDF(用户定义函数)的能力。

MaxScript专门设计用于在互联网上动态显示实时数据,并充当web服务器扩展,从HTML页面内部处理xBase/Cipper代码。因此,解释器需要一个web服务器来处理,并且所有要处理的页面都必须位于可访问的网站上。

MaxScript引擎采用win32可执行文件的形式,实现了xBase、类似Clipper的编程语言,可用于任何和所有web应用程序的功能、命令和函数,并使用内置驱动程序动态访问DBF表中的实时数据,并将其呈现到互联网,而无需ODBC或ADO连接。

该引擎支持xBase的大部分命令和函数(如USE、SET FILTER、INDEX、CREATE等)和流控制结构(如DO..WHILE、DO..CASE、IF..ENDIF)以及数十个标准xBase函数(用于日期处理、字符串操作、数学管理、直接文件访问等)。还支持用户定义的函数,并且提供了用于进一步扩展语言功能的外部库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MQ - 消息系统

消息系统 1、消息系统的演变 在大型系统中,会需要和很多子系统做交互,也需要消息传递,在诸如此类系统中,你会找到源系统(消息发送方)和 目的系统(消息接收方)。为了在这样的消息系…

力扣二叉树--第三十七天

前言 废话不多说,能学到东西!功不唐捐! 内容 一、二叉搜索树的最小绝对差 530. 二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等…

JAVA代码优化:Spring中redis的工具类

基于Spring框架和Redis的缓存工具类。该类提供了一系列方法用于操作Redis缓存,包括设置缓存对象、设置缓存超时时间、获取缓存对象、删除对象、缓存List、Set、Map等操作。通过这些方法可以方便地对Redis进行数据缓存和读取操作。同时,该类使用了Spring的…

【PyTorch】数据集

文章目录 1. 创建数据集1.1. 直接继承Dataset类1.2. 使用TensorDataset类 2. 数据集的划分3. 加载数据集4. 将数据转移到GPU 1. 创建数据集 主要是将数据集读入内存,并用Dataset类封装。 1.1. 直接继承Dataset类 必须要重写__getitem__方法,用于根据索…

【代码随想录算法训练营-第二天】【数组】977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

977.有序数组的平方 看完思路后一遍AC 思路剖析: 因为提到了时间复杂度为O(n),自然想到只能遍历一遍又因为只规定了时间复杂度,但是没有规定空间复杂度,所以可以考虑在定义一个数组【这一步没有考虑出来,是看了思路的…

数据结构和算法-哈夫曼树以相关代码实现

文章目录 总览带权路径长度哈夫曼树的定义哈夫曼树的构造法1法2 哈夫曼编码英文字母频次总结实验内容: 哈夫曼树一、上机实验的问题和要求(需求分析):二、程序设计的基本思想,原理和算法描述:三、调试和运行…

Matter学习笔记(3)——交互模型

一、简介 1.1 交互方式 交互模型层定义了客户端和服务器设备之间可以执行哪些交互。发起交互的节点称为发起者(通常为客户端设备),作为交互的接收者的节点称为目标(通常为服务器设备)。 节点通过以下方式进行交互&a…

Spring Initial 脚手架国内镜像地址

官方的脚手架下载太慢了,并且现在没有了Java8的选项,所以找到国内的脚手架镜像地址,推荐给大家。 首先说官方的脚手架 官方的脚手架地址为: https://start.spring.io/ 但是可以看到,并没有了Java8的选项。 所以推荐…

3dMax拼图生成工具Puzzle2D使用教程

Puzzle2D for 3dsMax拼图生成工具使用教程 Puzzle2D简介: 2D拼图随机生成器(英文:Puzzle2D) ,是一款由#沐风课堂#用MAXScript脚本语言开发的3dsMax建模小工具,可以随机创建2D可编辑样条线拼图图形。可批量…

【tensorflow学习-选择动作】 学习tensorflow代码调用过程

a actor.choose_action(s) def choose_action(self, s):s s[np.newaxis, :]return self.sess.run(self.action, {self.s: s}) # get probabilities for all actions输入:s 输出:self.sess.run(self.action, {self.s: s}) :a

解决:UnboundLocalError: local variable ‘js’ referenced before assignment

解决:UnboundLocalError: local variable ‘js’ referenced before assignment 文章目录 解决:UnboundLocalError: local variable js referenced before assignment背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景 在使…

MongoDB的原子性和多文档事务处理

原子性和事务处理是数据库操作的核心,保证了数据的准确性。依据数据库原子性,数据库和使用数据库的人员定义事务处理的方式。本文依据Mongodb的官方文档,整理Mongodb数据库的原子性和事务处理方法。 Mongodb的原子操作 Mongodb中&#xff0c…

实战案例:chatglm3 基础模型多轮对话微调

chatglm3 发布了,这次还发了base版本的模型,意味着我们可以基于这个base模型去自由地做SFT了。 本项目实现了基于base模型的SFT。 base模型 https://huggingface.co/THUDM/chatglm3-6b-base由于模型较大,建议离线下载后放在代码目录&#…

OSG编程指南:专栏内容介绍及目录

1、专栏介绍 OpenSceneGraph(OSG)场景图形系统是一个基于工业标准 OpenGL 的软件接口,它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。本专栏基于 OSG 3.6.5版本进行源码的编写及扩展,也通用于其他OSG版本的…

OpenTelemetry系列 - 第2篇 Java端接入OpenTelemetry

目录 一、架构说明二、方式1 - 自动化2.1 opentelemetry-javaagent.jar(Java8 )2.2 使用opentelemetry-javaagent.jar完成自动注入2.3 配置opentelemetry-javaagent.jar2.4 使用注解(WithSpan, SpanAttribute)2.5.1 代码集成WithS…

【栈和队列(2)】

文章目录 前言队列队列方法队列模拟实现循环队列练习1 队列实现栈 前言 队列和栈是相反的,栈是先进后出,队列是先进先出,相当于排队打饭,排第一的是最先打到饭出去的。 队列 队列:只允许在一端进行插入数据操作&…

20、Resnet 为什么这么重要

(本文已加入“计算机视觉入门与调优”专栏,点击专栏查看更多文章信息) resnet 这一网络的重要性,上一节大概介绍了一下,可以从以下两个方面来有所体现:第一是 resnet 广泛的作为其他神经网络的 back bone&…

Redis集合对象

一. 编码 集合对象的编码可以是intset或者hashtable。 intset编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都保存在整数集合里面。 127.0.0.1:6379> sadd numbers 1 3 5 (integer) 3 127.0.0.1:6379> object encoding numbers "ints…

详细学习Pyqt5的10种容器(Containers)

Pyqt5相关文章: 快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图(Item View) 快速弄懂Pyqt5的4种项目部件(Item Widget) 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的10种容器&…