|
|
个人总结编3d游戏手册新版本2009(细致入微版)!
编程软件:vc++
MilkShape 1.79;
Name:Kathmandu Serial:38d33-r2Ed2F-15d60d3
MilkShape 1.81
name uote Serial:K18dJ-14dZ1D-26dE25d
1、(不推荐,虽然正统)用maya7.01建模,下载md3插件:http://www.clanfu.org/muskoka/,导出单桢md3三角面(modeling—>polygons—>triangulate命令能将四边面转换为三角面)模型到milkshape里面去,加上骨骼动画(milkshape 3D—>help—>content下载使用帮助);
2、或者用3dsmax(不推荐3dsmax7.0 因为3dsmax7.0 贴图费劲)建模,导出为单桢3ds三角面文件到milkshape里面去,加上骨骼动画(milkshape 3D—>help—>content下载使用帮助);
3、或者在maya里加载OBJ(maya—>setting/preferences—>plug—in manager—>objExport.mll设为loaded,最好设为auto Load),导出单桢OBJ三角面(modeling—>polygons—>triangulate命令能将四边面转换为三角面)文件到milkshape里面去,加上骨骼动画(milkshape 3D—
>help—>content下载使用帮助);
4、(最新技术,强烈推荐虽然很边缘学科化)或者用maya(插件能够自动将模型转换为三角面)或3dsmax用做好动画,输出成smd格式,maya插件:http://mitglied.lycos.de/prallvamp/,max插件:http://www.chaosincarnate.net/cannonfodder/cftools.php?program=3dsmax由于milkshape 3D在import引入SMD 的时候可以选择把骨骼动作放在现有桢尾或者不放在现有桢尾,如果选择NO那么骨骼动画将放在第一桢之后,就是说凭空为目标动画之前增加一桢。
那么本来的md2.qc应该是
// Sample MD2 config, copy into export directory
$modelname models/model.md2
$origin 0.0 0.0 0.0
// skins
$skinwidth 128
$skinheight 128
$skin skin.pcx
$skin pain.pcx
// sequences
$sequence stand 0 39
$sequence run 40 45
$sequence attak 46 53
$sequence pain1 54 57
$sequence pain2 58 61
$sequence pain3 62 65
$sequence jump 66 71
$sequence flip 72 83
$sequence salute 84 94
$sequence taunt 95 111
$sequence wave 112 122
$sequence point 123 134
$sequence crstnd 135 153
$sequence crwalk 154 159
$sequence crattak 160 168
$sequence crpain 169 172
$sequence crdeath 173 177
$sequence death1 178 183
$sequence death2 184 189
$sequence death3 190 197
只好改成:
// Sample MD2 config, copy into export directory
$modelname models/model.md2
$origin 0.0 0.0 0.0
// skins
$skinwidth 128
$skinheight 128
$skin skin.pcx
$skin pain.pcx
// sequences
$sequence stand 0 40
$sequence run 41 46
$sequence attak 47 54
$sequence pain1 55 58
$sequence pain2 59 62
$sequence pain3 63 66
$sequence jump 67 72
$sequence flip 73 84
$sequence salute 85 95
$sequence taunt 96 112
$sequence wave 113 123
$sequence point 124 135
$sequence crstnd 136 154
$sequence crwalk 155 160
$sequence crattak 161 169
$sequence crpain 170 173
$sequence crdeath 174 178
$sequence death1 179 184
$sequence death2 185 190
$sequence death3 191 198
所以,maya里面的40桢对应md2viewer里面的41桢,对应的milkshape 3D里面的41桢,一定要注意。
如果maya输出的骨骼动画有错误,就重新启动maya,建议每输出一套模型动画,就重新启动maya一次。
每一个部分模型三角面数一定要小于4096个()。
如果模型太大,可以分成几个部分显示。可以在编辑完动画输出的时候把一部分部分删除,存成md2文件,之后再把其余每一个部分按相同的方
法存成md2文件。
然后将md2.qc放在目标目录中,将模型动画导出为md2动画模型,导出前一定要记得存成ms3d文件以便日后使用。
在网上下载唐明理《学opengl编3d游戏》书上的新版附件:
http://219.153.20.193/tml/DW_eBook/学OpenGL编3D游戏.rar
相关图书资料:http://cqtml.blog.163.com/blog/static/26176532008511104631985/
打开vc++修改十三张里面的代码为你想要导入的md2模型和贴图:
anmobj.cpp:
model[0] = md2_readModel(na+"yuna00050.md2");
texture[0] = new Texture(na+"yuna00050.tga");
model[1] = md2_readModel(na+"yuna00051.md2");
texture[1] = new Texture(na+"yuna00051.tga");
texture类支持好多类型的贴图呢:
void loadBMP(const char* fname, bool make_mipmaps);
void loadTGA(const char* fname, bool make_mipmaps);
void loadRGB(const char* fname, bool make_mipmaps);
void loadPPM(const char* fname, bool make_mipmaps);
void loadPCX(const char* fname, bool make_mipmaps);
如果BMP 贴图错误的话,把贴图文件上下翻转180度(windows —>附件—>图画—>翻转/旋转—>垂直翻转)就贴图正确了。
最终幻想 x,x2模型下载
最终幻想 x模型下载:
http://www.squarecn.com/ff/downloadshow.asp?ID=2851
最终幻想 x2模型下载:
http://www.squarecn.com/ff/downloadshow.asp?ID=2852
ffb格式模型转换成obj格式模型工具:
http://fenopy.com/torrent/FFX_amp__FFX___2_Models_Tools/NzIxNjc2/index.html
效果图:http://tieba.baidu.com/f?kz=530731620
吉林大学经济信息学院02信息管理与信息系统四班李昕
不明白可以具体来问我!
TEL: 086-0431-82731741
QQ:314509
声明:本文思路来源于http://hi.baidu.com/s025037/blog/item/6217c9099a85e382d1581bcf.html这篇文章,
虽然http://www.pconline.com.cn/pcedu/sj/media/maya/0704/1000039.html
中也有milkshape、smd、obj、maya、max但是我看到时根本没看懂,所以本手册和此文章一点关系都没有。
|
|