游戏开发论坛

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

请教如何实现飞机某个舵的运动?

[复制链接]

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-7-27 09:22:00 | 显示全部楼层 |阅读模式
大家好, 在飞行模拟游戏中,当你做转弯,爬升等动作时,会看到飞机的舵会变化,会旋转一个角度。目前我制作了飞机模型,并把各个组成部分分别导出成3DS文件。 在程序中可以逐个读取,拼成一个整体。

  现在的问题,我想控制某个舵绕自身运动,不脱离飞机整体,如何实现? [em24]

2

主题

41

帖子

41

积分

注册会员

Rank: 2

积分
41
发表于 2006-7-27 15:33:00 | 显示全部楼层

Re:请教如何实现飞机某个舵的运动?

先让舵旋转D3DXMatrixRotation,再让舵平移到飞机的对应部分D3DXMatrixTranslation,最后一起应用世界矩阵,应该能实现吧 :]

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2006-7-28 09:35:00 | 显示全部楼层

Re:请教如何实现飞机某个舵的运动?

先发泄一下,公司这几天网络极不正常,估计是被攻击了。系统组的还死不承认,直到今天为止,还只是能上gameres这个网站,所以,看到问题就回一下吧。
楼主问题的解决方法很简单:
1.先把模型制作正确,因为你要模拟的是真正飞机的转舵行为,如果模型不正确,一转肯定会有问题。
2.绕自身转就更简单了,直接在这块东西REnder的时候设置相关矩阵就可以了。
3.这种有层次变换关系的算法,建议看看SG,正是这类问题解决的优良办法。

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2006-8-7 17:00:00 | 显示全部楼层

Re: 请教如何实现飞机某个舵的运动?

我看了你的回复。

本人是新手,使用OpenGL。就是关于那个飞机飞行中如何使舵旋转的问题。 如果你能抽出点时间详细的解析一下的话,不胜感激。

41

主题

184

帖子

184

积分

注册会员

Rank: 2

积分
184
发表于 2006-8-7 22:56:00 | 显示全部楼层

Re: 请教如何实现飞机某个舵的运动?

你需要知道当前模型运动的方向,坐标位置和旋转的角度,如(rx,ry,rz)和(x,y,z),angle

接着在绘制模型的时候调用下面的矩阵变换
1、先把3Ds模型变换到原点
2、沿运动防线旋转需要的角度
3、再把3Ds模型变换到现在的位置
4、调用绘制函数绘制,设这个函数是Draw3DS

glTranslate3f(x,y,z);
glRotatef(angle,rx,ry,rz);
glTranslate3f(-x,-y,-z);
Draw3DS();

OpenGL函数后面的具体类型记不清了,可以查一下手册,因为OpenGL使用矩阵右乘,所以需要颠倒1,3的顺序

11

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2006-8-11 09:11:00 | 显示全部楼层

Re:请教如何实现飞机某个舵的运动?

楼上说的没错!!!!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 02:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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