本教程帮助你一步一步集成maxscript文档和C#类库,以便你能够在maxscript提供的相当有限的环境中访问dotnet框架的强大功能。这让你可以使用maxscript做一些功能更强大的事情,比如访问数据库、获取web部署的内容等等。
还是直接上教程实惠:
第1步:在Visual Studio中创建一个新的类库项目。
因此,在visualstudio的启动屏幕上,继续并进入“文件”>“新建”>“项目”。
选择一个C#类库。我将把我的名字命名为“Maxscript沙盒”。
第2步:编写一个测试类。
现在,让我们为我们的新类库编写一个测试类。在这个屏幕截图中,我编写了一个非常简单的类,其中包含一个创建时传递的字符串。对象存在后,您可以访问名称,也可以调用一个函数,该函数为您提供包含名称的语句。很简单!
将类重命名为TestObject,并填写下面的代码。
public class TestObject
{
string Name;
public TestObject(string thisName)
{
Name = thisName;
}
public string GetLongName()
{
return ("You can call me " + Name + "!");
}
}
第3步:编译。
从顶部栏的下拉列表中,将构建模式从“调试”更改为“发布”。这意味着编译器将优化代码以实现快速执行,而不是进行调试并试图找出问题所在。在这一点上,我认为有一种方法可以从脚本中调试类。但是,它不在本教程的范围内。如果您正在烧录调试,请制作一个控制台应用程序来封装您的类并从中测试功能。
现在,点击F6或转到“构建”>“构建解决方案”。
第4步:从Maxscript调用新对象。
我在下一张图片中评论了很多代码,但实际上它比看起来要短得多。你所要做的就是加载你创建的新类库,实例化对象,然后对它做任何你想做的事情。
请注意,我已经将构建类库时产生的.dll文件移到了较短的位置。通常,类库会编译到创建项目时所选项目文件夹中的一个目录(如C:/…/Maxscript Sandbox/Maxscript桑德box/bin/release/Maxscript Sandbox.dll)。我已经把那个文件从那个长得令人难以置信的目录移到了更容易理解的目录,比如C/Temp/Maxscript Sandbox.dll。
dotnet.loadAssembly ("C:\Temp\Maxscript Sandbox.dll")
ThisTestObject = dotNetObject "Maxscript_Sandbox.TestObject" "Burt"
print (ThisTestObject.GetLongName())
当你运行这个程序,并且dll在正确的位置时,你会发现它的输出就像这个对象是一个原生的max对象。然而,它实际上是在dotnet框架中运行的。
本期教程为你分享到这里,下期再会!