@tilerphy 楼主产生这样的错觉也是在所难免,大部分游戏引擎都允许用户逐帧操作,这是算是一种特性和优势吧。我可以推荐一本《3D游戏编程大师技巧》,可以看看。
相反,我觉得MonoBehavior提供的几个生命周期函数都是挺好用的,否则只有Update,假如载入资源的时候卡了1秒,这所有的物理计算不都丢了1秒吗?写一个InputManager封装一下当然是必然之举,而且架构更好,咋说来着,低耦合高内聚嘛。两种办法,第一种是每fixedupdate去InputManager查询下输入队列队首元素,另一种是在Update里给需要操作的东西调整运动趋势,前者架构好,后者直观。
至于高速碰撞的检测,不靠自带的物理引擎而是靠自己的数学方法会好一点,可以用QuadTree来做碰撞检测,用每帧首尾两端的运动轨迹构成一个Rect代入查询,就可以方便的查询到这个rect内所包含的所有碰撞,而且效率贼鸡儿高,不妨试试,
原理附上总之做游戏开发不要太想当然了,看到一个特性觉得它不好用,可能是你没找到正确的打开方式,总之,想得太多,写得太少,跟楼主共勉。