论坛首页›有间客栈[综合]›<流星蝴蝶剑.起源> 计划进度表

<流星蝴蝶剑.起源> 计划进度表

楼主:yish发表于 2010-4-23 00:24回复 23查看 7,049最后回复 2010-10-31
12下一页共 24 楼 / 2 页
发表于 2010-4-23 00:241#
楼主
////////////////////////////////////////////////////////////////
此项目已完成,停止更新 2011-01-07


目标情况: skc,bnc,amb,pos 文件读入完成, biped动画转amb动画完成(fbx动画导入u3d,,再从u3d导出amb)。




2011-01-05 8.0 动画导入通过(u3d读入流星动画并输出文本数据,再读入max分析生成biped动画)
2010-12-29 7.0 骨骼+纹理整合无误
2010-10-29 6.0 测试动画
2010-09-08 升到5.0 试验纹理
2010-08-26 升到4.0 试验骨骼
///////////////////////////////////////////////////////////////

我的目的是 替换流星蝴蝶剑内置的人物模型,由于实行起来比较困难,所以将会分成3个方案顺序进行(如果方案1失败则转到方案2然后是3).

更新日志:
2010-4-29 导出脚本初步写成,有待测试. 下一步开始学习3dmax
2010-4-28 巨大进步!!! 完成MAX脚本升级到0.3,骨骼终于正常了.原来一直对骨骼的计算有误,(每个节点位置应先旋转后平移!)
2010-4-27 完成脚本0.2版本. 导入skc文件中的顶点,并赋上了权重. 还欠缺正确的父子关系,(需要分析bnc文件)
2010-4-26 经导出Ms3d测试,方案一宣告失败! (骨骼从父级开始逐层扭曲,原因不明)
现在没有开始方案二,而是开始学习3DMAX脚本,尝试直接导入到max中.


///////////////////////////////  方案一 //////////////////////////////
1. 编程序解析bnc骨骼文件,输出为ms3d(ascii文本)格式,利用ms3d这个工具进行模型与骨骼的绑定.(优点:最易实现,直接利用ms3d也很方便)

///////////////////////////////  方案二 //////////////////////////////
2. 如果方案1失败(不能取到正确的骨骼信息),则开始方案2:自己编工具显示骨骼,然后进行粗略绑定.
详细: 分几种方法:
一. 还是利用骨骼系统,仅实现一个简单类似于Ms3d的工具.
二.(在完全取不到骨骼信息的情况下),只利用skc模型信息进行绑定(因skc中含有骨骼权重),简单说就是直接将新模型拖进流星模型里,用各个
身体部位的方框绑定新模型.(缺点: 肯定粗糙)

三.(在完全取不到骨骼信息的情况下),使用其它骨骼映射到流星骨骼.(因为人类骨骼的大致相似性),实现方法可以仅修改其它带骨骼模型.(缺点:这种方法需要了解bnc骨骼详细位置,而且两者模型必须相近)


///////////////////////////////  方案三 //////////////////////////////
3. 如果上2项方案在短期内不能快速完成,即告失败.并将转向第3个方案.抛开流星游戏本体,尝试构造一个最最简单的格斗游戏.
详细:[[[[如果真走到这一步, 将是一个漫长的开发道路]]]]
游戏名称: 流剑.起源
最简单的目标: 在一个平面上有2个人体可以做出互相打斗动作.
扩展目标: 玩家自己设计动作.(这样就不用去找其它模型)
扩展目标2: 网络连接 (交流自己创造的新动作?)
选定的工具:
C#语言 ( 我不是太懂程序,只会一点易语言,所以只能选用比较简单的语言开始学习)
MOGRE (3d图形库,缺点是非常大,而且复杂,优点是有很多教程参考.)
irrklang( 声音库,不太了解,仅因为它支持c#)
phyx (物理库,不太了解.备用,计划是用来辅助骨骼动作)
??? (网络库,未定,网络方面我非常不了解,待学习)
UID 38430
发表于 2010-4-23 08:482#
    [*]大哥啊 !我顶你[*]如果你要学C++的话 我建议你先来学学VB 学会后在来C就容易的多 否则有你受的[*]很期待看到流星有一天会想CS一样可以发展起来 貌似很多技术有人藏私不教啊。。。:youxihou8:[*]最近在学3D。。。
签名:我笑他人
看不穿...!


UID 92213
发表于 2010-4-23 08:483#
    [*]大哥啊 !我顶你[*]如果你要学C++的话 我建议你先来学学VB 学会后在来C就容易的多 否则有你受的[*]很期待看到流星有一天会想CS一样可以发展起来 貌似很多技术有人藏私不教啊。。。:youxihou8:[*]最近在学3D。。。
签名:我笑他人
看不穿...!


UID 92213
发表于 2010-4-23 08:504#
晕 网不好 发帖重复了 版主删了吧
签名:我笑他人
看不穿...!


UID 92213
发表于 2010-4-23 12:395#
你神了,居然开发游戏连引擎都不要!!!

其实,办法很简单买GA吧!!!

:youxihou11:
UID 79543
发表于 2010-4-24 17:196#
流剑.起源

ding 支持流星,,,顶个
签名:
UID 37048
发表于 2010-4-27 15:347#
进度更新,下一步是骨骼位置
UID 38430
发表于 2010-4-30 14:038#
骨骼完成,导出完成.
UID 38430
发表于 2010-5-4 17:469#
(骨骼从父级开始逐层扭曲,原因不明)
现在没有开始方案二,而是开始学习3DMAX脚本,尝试直接导入到max中.
我们看来真的需要交流下了,我也是发现了这个问题,也不能算是逐级扭曲,其实就是几个关键骨骼的位置有误。确实是你说的逐级扭曲的情况,我很早前发现了这个问题,头都大了,但是确实在Bnc里面就有真实的骨骼。
巨大进步!!! 完成MAX脚本升级到0.3,骨骼终于正常了.原来一直对骨骼的计算有误,(每个节点位置应先旋转后平移!)
这句话怎么理解,是继续走方案一的路线吗?
UID 81169
发表于 2010-5-4 18:1310#
先旋转后平移其实是3d操作的基本概念,不过我很久没接触opengl了,所以竟然把这个规矩给忘掉,所以才出现这个情况.

下面是导入脚本中骨骼组装的代码,其中有说明
------------------- 开始组装 所有骨骼 ------------------------
for i2= 1 to zpoint.count do --遍历所有已读入的骨骼,寻找此父名
(
if bonePrentName_array[i2] != "" then -- 当父名不为空,才寻父
(
--zpoint[i2].rotation = vrot_array[i2]
for i3=1 to zpoint.count do --遍历骨骼
(
if bonePrentName_array[i2] == zpoint[i3].name then -- 如果此父的名字与遍历中相同
(
zpoint[i2].parent= zpoint[i3] -- 指向父
)
else
(
--zpoint[i2].pos = vpos_array[i2]
--zpoint[i2].rotation = vrot_array[i2]
)--end if

)
in coordsys parent -- 指明在父空间内设置
(
zpoint[i2].rotation = vrot_array[i2] --!!! 注意: 必须先旋转再平移!
zpoint[i2].pos = vpos_array[i2]
)
)else
(
zpoint[i2].rotation = vrot_array[i2]
zpoint[i2].pos = vpos_array[i2]
)



)
UID 38430
发表于 2010-5-4 18:1511#
下面的代码,如果顺序翻转,就会出现扭曲现象.

zpoint[i2].rotation = vrot_array[i2] --!!! 注意: 必须先旋转再平移!
zpoint[i2].pos = vpos_array[i2]
UID 38430
发表于 2010-5-4 19:3212#
我不懂MAX的代码,是不是说先四元变换后,然后加上父节点的坐标?
UID 81169
发表于 2010-5-4 19:4613#
看了你的代码我看出来来了,vrot_array[i2] 与vpos_array[i2] 的源代码能读出来吗?zpoint[i2].rotation =四元数组,zpoint[i2].pos =代表pivot。但是有些不解的是vrot_array[i2] 里面需要的参数是什么?
UID 81169
发表于 2010-5-4 20:4614#
quaternion -0.70711 0.00000 0.00000 0.70711
流星四元数 w x y z

3dmax quat 是一个数据类型, xyzw

//// vrot = [xyzw]

vrot = quat ( subline[3] as float *1.0) (subline[4] as float *1) (subline[5] as float *1) (subline[2] as float *1)
UID 38430
发表于 2010-5-10 11:0415#
....................
签名:dadwsdws
UID 96035
12下一页共 24 楼 / 2 页

关于这个存档

本页内容为历史存档,已关闭一切写操作。附件仅展示文件信息,不提供下载。内容如涉侵权或不当,请联系 server@yfzz.net 下架。

可以做的事:浏览版块、阅读主题与楼层、查看图片附件、按标题或作者搜索、打开用户资料页。
不能做的事:注册、登录、发帖、回复、引用、评分、私信、收藏;压缩包等附件不提供下载——存档版只展示文件信息。

数据截至 2021-02-05;附件约有 30–40% 的原文件未能保存,页面上以「已丢失」标注。2009 年前的不少图片是外链图床,原图床已关闭,页面会显示失效占位。
隐龙轩QQ群:点此查看

26,823 主题 / 280,734 帖 / 17,145 位发过言的会员 · 数据最后更新 2021-02-05

粤ICP备2024318274号-1