首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从maxscript函数( C#函数)传递3dMax网格?

如何从maxscript函数( C#函数)传递3dMax网格?
EN

Stack Overflow用户
提问于 2018-01-31 15:43:49
回答 1查看 239关注 0票数 0

我有一个在maxscript脚本中创建的网格。

我想把它传递给我的C#代码,我只是不能得到正确的函数签名。

它使用一个void函数(代码被调用,我得到一个断点,字符串被传递回3dMax)。

我加载了我的DLL,创建了我的对象,并尝试将网格传递给函数,但是我得到了以下错误:

MAXScript MacroScript错误异常:--运行时错误:找不到匹配参数列表<<的方法

加载DLL的maxscript代码:

代码语言:javascript
复制
newMesh = mesh vertices:verts faces:faces   

dotnet.loadassembly ( dllDir )

ThisTestObject  = dotnetobject "_3dMaxExporter.Test" "test"

myText = ThisTestObject.TestFunc newMesh 

C#代码:

代码语言:javascript
复制
    public string TestFunc(Autodesk.Max.IMesh test)
    {
       return ("You can call me " + Name + "!");
    }

你知道我需要什么类型的签名吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-31 18:09:38

无论是UIntPtr还是IntPtrUIntPtr如果您想通过句柄传递它(getHandleByAnim MAXScript side,GetAnimByHandle(UIntPtr handle) .NET side),如果您想通过它的地址传递IntPtr (refs.getAddr MAXScript side,MarshalNativeToManaged方法Wrappers.CustomMarshalerMesh .NET side)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48546023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档