游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2730|回复: 3

拖尾效果如何实现

[复制链接]

3

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2008-12-18 14:14:00 | 显示全部楼层 |阅读模式
就像家园2中,飞船喷气的尾部:


如果上面那种太复杂的话,又例如魔兽RPG地图dota 里面的 巨魔开了大招那种效果

227

主题

1793

帖子

1866

积分

金牌会员

Rank: 6Rank: 6

积分
1866
发表于 2008-12-18 14:33:00 | 显示全部楼层

Re:拖尾效果如何实现

实时改变模型的顶点位置

3

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2008-12-19 00:36:00 | 显示全部楼层

Re:拖尾效果如何实现

谢谢楼上的启发,突然想到了可能实现的方法了

家园那幅的拖尾好像不是非常平滑,右边几搜转弯较大的飞船中可以看出拖尾是有菱角,不够平滑的,我的猜测是:

1、拖尾效果是一个“队列”的数据结构,
2、拖尾每次更新时,队列里面的颜色、alpha值等参数会分别减一个常数值,并且队列中最后一个出队,把当前帧飞船尾部的位置、颜色参数入队。
3、渲染当前帧时,从队列头到队列尾依顺序取出信息,画出来
4、场景更新n帧,拖尾队列才更新一次,这样可以提高渲染速度,也可以比较短的队列就能画出很长的拖尾效果;缺点就是像画面上那样,飞船速度快且转弯急时,生成的拖尾有菱角不够平滑。

现在的原理应该没有问题了,难点在队列中每个结点数据之间过渡得漂亮,这个拿数值不断试验可以解决

4

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2009-1-21 00:15:00 | 显示全部楼层

Re:拖尾效果如何实现

粒子系统,转角问题可以用非均匀样条曲线解决,参见游戏编程精粹4
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-20 11:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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