游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2781|回复: 5

3D渲染时遇到问题,请高手帮忙

[复制链接]

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
QQ
发表于 2005-12-19 10:23:00 | 显示全部楼层 |阅读模式
最近写一个3D程序,读取.X模型,播放其实的动画数据,
但是碰到一个问题就是:我写的代码在播放Microsoft的tiny.x文件的时候一切是正常的.
自己做了一个人物的3D模型导出成.X的文件在渲染的时候人物就会变形,扭曲,
不知道错在哪里了,高手帮忙一下:

补充一下:
动画的一些算法是我自己做的,我检查了一下所以的过程,都是对的啊,
包括插值算法,都改过两次了,
读取.X中animation时候把关键点的数据不做插值直接运用到模型上,也是不正常的,说明我的插值算法应该是没有问题的.
不知道现在问题出在什么地方?
sf_20051219102250.gif

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
QQ
 楼主| 发表于 2005-12-19 10:27:00 | 显示全部楼层

Re: 3D渲染时遇到问题,请高手帮忙

附注:
不加载动画的时候渲染模型是正常的,如图2.但是只要加载动画数据后效果就如图3所示.

3

主题

127

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
发表于 2005-12-19 10:50:00 | 显示全部楼层

Re:3D渲染时遇到问题,请高手帮忙

你只导入模型的时候是正常的2图, 导入动画就发生扭曲, 是你的骨骼动画没有做好啊

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
QQ
 楼主| 发表于 2005-12-19 11:18:00 | 显示全部楼层

Re:3D渲染时遇到问题,请高手帮忙

因为动画的一些算法是我自己做的,我检查了一下所以的过程,都是对的啊,
包括插值算法,都改过两次了,
读取.X中animation时候把关键点的数据不做插值直接运用到模型上,也是不正常的,说明我的插值算法应该是没有问题的,(有一个问题让我很郁闷的是:写出来的程序跑directx SDK中tiny.x竟然完全正常)
不知道现在问题出在什么地方?
帮忙

6

主题

42

帖子

42

积分

注册会员

Rank: 2

积分
42
QQ
发表于 2005-12-19 12:44:00 | 显示全部楼层

Re:3D渲染时遇到问题,请高手帮忙

      有点像偏移矩阵失真,或者偏移矩阵没有从Rootframe传递,你导出个简单的模型看看有没有什么问题(比如一个或者两个Frame/Bone)。
      另外,如果你用AC控制动画,在AdvanceTime之后应该对骨架进行类似UpdateFramesMatrices的操作,有时候,这些函数的调用时机或者传入的时间参数可能会引起骨架顶点错位,但比你图上给出的要混乱得多,不过你还是可以检查一下这些地方。

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
QQ
 楼主| 发表于 2005-12-20 15:46:00 | 显示全部楼层

Re:3D渲染时遇到问题,请高手帮忙

结贴,呵呵
问题已经解决,
线性插值计算的时候animationKey中的RotationKey算错了,
传递到整个骨骼层次中自然就会变形.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 00:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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