游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3400|回复: 6

3DMAX输出插件编写的基础问题

[复制链接]

15

主题

31

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2012-4-6 15:38:00 | 显示全部楼层 |阅读模式
大家好,我正在开始学习写3DMAX输出X文件的插件,下载了3DMAX2011的SDK,并按照网上找的一些例子初步调试了一下。
但我发现不同来源的例子用的方法差别很大。主要有两类,如下

  1. //第一种方法的代码大致结构
  2. DoExport(...)
  3. {
  4.   for(int i=0;...)
  5.   Matrix3 mat = Interface::GetRootNode()->GetChildNode(i)->GetObjTMAfterWSM();
  6.   //mat 中存放的就是某个定点
  7. }

  8. //第二种方法的代码大致结构
  9. DoExport(...)
  10. {
  11.   for(int i=0;...)
  12.   IGameScene pIgame = GetIGameInterface();
  13.   IGameNode * pGameNode = m_pIgame->GetTopLevelNode(i);
  14. //pGameNode 中存放的就是某个定点
  15. }
复制代码

两种方法都可以获得顶点。
请教各位,以上两种方法有什么区别?对于想要模仿着输出X文件的我来说应该用哪种呢?
谢谢!

4

主题

1111

帖子

1498

积分

金牌会员

Rank: 6Rank: 6

积分
1498
发表于 2012-4-6 17:42:00 | 显示全部楼层

Re:3DMAX输出插件编写的基础问题

一般来说用igame比较好

4

主题

1111

帖子

1498

积分

金牌会员

Rank: 6Rank: 6

积分
1498
发表于 2012-4-6 17:44:00 | 显示全部楼层

Re:3DMAX输出插件编写的基础问题

还有第一个应该是Inode吧?
Igame是用于方便游戏的数据导出的

15

主题

31

帖子

35

积分

注册会员

Rank: 2

积分
35
 楼主| 发表于 2012-4-9 11:30:00 | 显示全部楼层

Re: Re:3DMAX输出插件编写的基础问题

SITT: Re:3DMAX输出插件编写的基础问题

还有第一个应该是Inode吧?
Igame是用于方便游戏的数据导出的

没错,第一个应该是Inode,我只是简化了代码
我又重温了max sdk的帮助文档,那里面说IGame(现在叫3DXI)是max对输出接口的二次封装,目的是为了给那些不太熟悉max架构的开发人员快速开发插件用的。

4

主题

1111

帖子

1498

积分

金牌会员

Rank: 6Rank: 6

积分
1498
发表于 2012-4-9 12:21:00 | 显示全部楼层

Re:3DMAX输出插件编写的基础问题

不但是不太熟悉吧,它简化了一些工作
比如如果你用Igame
不论是Physique蒙皮还是skin蒙皮,都直接用igame就可以
如果是Inode的那条路,就要自己分别做处理

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-4-9 15:36:00 | 显示全部楼层

Re:3DMAX输出插件编写的基础问题

楼上的都说的很详细哦。

15

主题

31

帖子

35

积分

注册会员

Rank: 2

积分
35
 楼主| 发表于 2012-4-9 16:44:00 | 显示全部楼层

多谢:)

多谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 18:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表