总结2
总结2
梦想游戏人 发表于3个月前
总结2
  • 发表于 3个月前
  • 阅读 11
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

1... 项目技术选型要准确,避免很麻烦的坑,评估的时候最好弄个评估报告之类的,来数据分析,不要仅凭经验。

2...给策划用的editor,至少要功能准确,易用,不然很容易返工 耗时间

 

 

评估报告
基本公式:
s=vt,v=at,s=a*a*t

.............
如果加速度是2的话 那么1米将会插入2000个点
4公里的赛道将会 8百万个点 340 MB 内存

如果加速度是5的话 1米将会插入 780个点
4KM赛道  3百万个点 消耗 155MB 内存


------以下是优化方案
...........
如果起点速度是36 km/h的话 最小单位是1米7个点,
内存消耗1.35 MB ,2.8万个点

问题1:如果插入的点数不够多,那么会导致速度变化所带来的位置变化不够准确。速度变化不是平滑曲线,会变成阶梯形状的二次方程, 严重的情况下会抖动得厉害。


问题1的量化分析:最小变化速度 加入是1km/h,一次变化量是0.2777 m/s 
每个帧数是0.0044米, 原速度是0.16米没帧数  0.16/0.0044 是原来的36倍,因此插入的点数至少要是36倍  变为 252*4000  100万个点 内存消耗 由1.35变为46MB

结论,优化方案是在起步的时候 速度加到36km/h 才使用bezier ,并且速度变化是1km/h 为单位
4km的路程,每条赛道内存消耗46mb,该方案未考虑计算耗时,因为这个可以在加载场景时初始化

百万级的插值点,float精度带来的误差可能会很大


针对问题1的优化方案2
不对采样点做计算 而是每个采样点中vector线性插值计算 这种情况损失 曲线采样点的精度 采用线性插值,这种优化是针对上面速度变化量的计算 每个采样点之间不用原来的曲线插值,而用线性插值,再次损失  采样的 精度 来换取性能,内存消耗大大减少

具体在下面

曲线间平滑计算方法

Unity曲线编辑器和bezier曲线插值

 

共有 人打赏支持
粉丝 33
博文 368
码字总数 106034
×
梦想游戏人
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: