游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3124|回复: 8

问一个3D 的人物移动的问题

[复制链接]

19

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
QQ
发表于 2005-10-16 23:18:00 | 显示全部楼层 |阅读模式
假如说,我的人物站在原点,面朝x轴,这个时候如果要向前移动,就直接x++就可以了,但是如果我向左旋转了30度以后,再向前移动呢?我知道需要用三角函数来算,但是我至少需要知道x,y和角度之间的2个数才能算啊,角度可以得到,但是,x和y应该加多少呢?

3

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
QQ
发表于 2005-10-16 23:51:00 | 显示全部楼层

Re:问一个3D 的人物移动的问题

不要用x值来算y值,如果你明白三角函数的作用的话,那么x,y就相当于三角型的2个直角边,在斜向移动的时候,用斜角边,也就是说,每次都给斜角边的值加上一个单位,然后通过这个斜角边来计算两个直角边x和y的值,不知道我这么说你明白没有?

1

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2005-10-17 15:25:00 | 显示全部楼层

Re:问一个3D 的人物移动的问题

"至少需要知道x,y和角度之间的2个数",这句话不明白是什么意思

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2005-10-17 15:53:00 | 显示全部楼层

Re:问一个3D 的人物移动的问题

新位置=旧位置+方向×移动长度

1

主题

8

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2005-10-18 11:11:00 | 显示全部楼层

Re:问一个3D 的人物移动的问题

用方向向量来解决    你的方法不适合3D

5

主题

217

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
发表于 2005-10-18 11:30:00 | 显示全部楼层

Re:问一个3D 的人物移动的问题

都可以,楼上的解法是最一般3D游戏处理方法.

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2005-10-18 12:45:00 | 显示全部楼层

Re:问一个3D 的人物移动的问题

x,y都应该是“DOUBLE”型的变量。因为需要小数点。
再定义一个角度变量angle,记录人与x轴间的角度。
移动速度为speed,记录一次移动的距离。

x+=speed*cos(angle);
y+=speed*sin(angle);

楼主说“如果要向前移动,就直接x++就可以了”
很明显是整型变量。

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2005-10-18 13:00:00 | 显示全部楼层

Re:问一个3D 的人物移动的问题

不需要Z方向上移动?

1

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2005-10-18 20:35:00 | 显示全部楼层

Re:问一个3D 的人物移动的问题

这样的做法很有问题!
人物走起路来好像溜冰一样!
没记错的话,每个loop的位移应该由动作决定,总位移应该是loop一次结束以后决定。
不过说真的,前两年看见国产的一个3D人物模型的rpg(玩的人还挺多的,仙剑?记不清楚了),走路就在那里滑步,哎。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 08:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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