开发项目种遇到的挑战

1.汽车碰撞

2、Sprite图片始终面向屏幕并且和模型的相对位置从视觉上保持一致

    首先在初始化的时候:得到摄像机的位置,Sprinte这Vector.up的高度的偏移向量,计算摄像机和和Sprite方向和Sprite的位置的角度,计算出角度的cos只等,当移动的使用计算出新的位置,

    其中用到了点到线的算法。

3、固定帧率

4、摄像机跟随角色移动,并且不能超出地形边界

  Camera.CalculateFrustumCorners:给定视口坐标,计算指向指定相机深度的四个视锥角的视图空间向量。  这可以用来有效地计算图像效果着色器中的像素的世界空间位置。见标准资产实施全球雾。

  利用上面的方法得到摄像机锥体指定深度四个角位置的向量,在利用射线(射线发射方向是以Camera位置向四个角发射射线)如果射到地面上就存地面上的点,如果没有就存Corner然后计算出上、下、左、右边界的中心点,

  从中心点发射Box类型的射线如果发射到地面上就跟随没有责不跟随。

5、不倒翁效果

  利用ChararcterJoint + SprintJoint 

    CharaterJoint和碰撞产生的碰撞总脉冲+移动方向决定了不倒翁的移动方向

    CharaterJoint 种的ConnectedBody赋值SpriteRigiboy以达到恢复时有弹簧的效果

  

posted @ 2022-05-06 14:40  三里路异乡客  阅读(67)  评论(0编辑  收藏  举报