游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4472|回复: 7

请教懂TV3D或VB3D的朋友一个问题

[复制链接]

2

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2007-11-21 08:58:00 | 显示全部楼层 |阅读模式
我现在要实现预先设置好几个路点,形成一个路径,然后让模型按这个路径运动。我自己学习了VB3D中的例子,编了一个算法去实现,但是效果不好。当模型运动到路点后先停一停,然后再转向奔向下一个路点,很不连贯,不好看。请问高手们是怎么实现的?在TV3D或VB3D中有没有现成的函数可以很好的实现这个?我在VB3D中找到一个“CCAP路径”,但是不会用,请问有人会用这个函数吗?  请教教我。  多谢了!!!

23

主题

142

帖子

142

积分

注册会员

Rank: 2

积分
142
发表于 2007-11-21 11:38:00 | 显示全部楼层

Re:请教懂TV3D或VB3D的朋友一个问题

基于路点的寻路可以用A*算法

2

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2007-11-21 11:46:00 | 显示全部楼层

Re:请教懂TV3D或VB3D的朋友一个问题

不需要用A*算法吧。几个路点间没有阻碍物的,直接直线运动即可。

7

主题

87

帖子

109

积分

注册会员

Rank: 2

积分
109
QQ
发表于 2007-11-22 01:53:00 | 显示全部楼层

Re:请教懂TV3D或VB3D的朋友一个问题

TV3D里的空间变换接口不是很好用。我用TV3D时的办法是根据运动的坐标自己计算矩阵变换。如果自己控制运动过程的话一般不会出现在路点上停一停的现象。

2

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2007-11-22 09:02:00 | 显示全部楼层

Re:请教懂TV3D或VB3D的朋友一个问题

请问楼上的:
    假如我有一个物体,要从点(100,0,100)运动到(200,0,200),然后再从点(200,0,200)运动到(200,0,400),那么自己控制运动的话,怎样判别物体已到达(200,0,200)这个中转点同时启动另一个运动向量让它向(200,0,400)这个点运动。我现在用的方法是判断物体的位置坐标是否等于200,比如 if  tankpos.x=200  and tankpos.z=200  then ……。但是这样的结果便是物体在(200,0,200)这个中转点会停一停,然后再运动,形成了运动不连贯的效果。   请问楼上的你是如何自己控制运动过程的? 最好能给个详细的例子或一段示例代码。  本人在此多谢了!!!

7

主题

87

帖子

109

积分

注册会员

Rank: 2

积分
109
QQ
发表于 2007-11-22 15:05:00 | 显示全部楼层

Re:请教懂TV3D或VB3D的朋友一个问题

不太明白.你用 if  tankpos.x=200  and tankpos.z=200  then 怎么还有停顿.是不是到路点时立刻改变方向造成的停顿错觉.要讨论清楚加我的MSNv_Ximing@hotmail.com里.

23

主题

166

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2007-11-28 19:20:00 | 显示全部楼层

Re:请教懂TV3D或VB3D的朋友一个问题

'声明路径类
Private Path As New CCAP路径
-------------------------------------------------------------------

'设置路点
With Path
    .Ad_添加路点 Vector(240, 180, 240)
    .Ad_添加路点 Vector(730, 180, 260)
    .Ad_添加路点 Vector(790, 170, 800)
    .Ad_添加路点 Vector(200, 160, 820)
End With

'循环渲染
Do
   DoEvents
   Path.DV_摄像机轨道运动 运动速度, 镜头转向中心点的速度

   CC.GO_开始渲染
      '呈递场地地形和物体
   CC.TO_结束渲染
Loop

------------------------------------------------
把上面代码插入到你的程序里就OK了,就这么简单。

2

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2007-11-29 15:30:00 | 显示全部楼层

Re:请教懂TV3D或VB3D的朋友一个问题

大兵潜水,终于重出江湖。我辈之福,我辈之福啊!   
多谢大兵上面的回复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-17 17:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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