Skip to content

wy19910222/CatlikeCodingPractice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

学习教程过程中跟着做的工程仓库,每一小章节都另外存了一份,方便从中间开始学。

Assets/1.Basic
没有接触过ComputeShader和Job的话,可以看这篇熟悉一下。
由于《Game Objects and Scripts》实在过于基础,所以从《Building a Graph》开始练习。
Building a Graph Mathematical Surfaces Compute Shaders Jobs Organic Variety

Assets/2.Pseudorandom Noise
主要就是讲各种Noise,感觉普通项目里不太用得到,要自己做伪随机的话,可以参考参考。
《Voronoi Noise》和《Simplex Noise》暂时还没有看,等把其他更想学的先练了再回过头来看这两章。
Hashing Hashing Space Value Noise Perlin Noise Noise Variants

Assets/6.Movement
这篇是讲第三人称——小球的运动控制的,包括角色的基础运动、攀爬、与水交互。另外还有摄像机控制、特殊重力、可交互物体等。
Preview

Assets/6.Movement/6.12.CustomPlus
这个文件夹是我在学完的基础上继续扩展了小球运动,脚本叫 MovingSpherePlus ,主要做了以下修改:

  • 跳跃高度
    • 原设计:固定跳跃高度。
    • 改为:分大小跳,跳跃上升期间提前放开跳跃键,跳跃高度会适当降低。
  • 蹬墙跳方向
    • 原设计:跳跃方向固定。
    • 改为:蹬墙跳时摇杆一定程度上影响跳跃方向。
  • 绕行
    • 原设计:撞墙时让刚体自行计算侧滑速度。
    • 改为:设置一定绕行角度,超过改角度才允许绕行。
  • 掉落
    • 原设计:无最大掉落速度。
    • 改为:设置最大掉落速度和最大擦墙掉落速度。
  • 攀爬面选择
    • 原设计:同一帧接触多个可攀爬面时,最后一个可攀爬面作为实际攀爬面。
    • 改为:同一帧接触多个可攀爬面时,视角最前方的可攀爬面作为实际攀爬面。
  • 接触水的状态
    • 原设计:水没过一定高度才算游泳,否则为其他状态。
    • 改为:按水浸高度区分潜水、漂浮和其他状态。
  • 水对跳跃的影响
    • 原设计:跳跃时如果接触到水,跳跃会根据水浸高度受到一定的影响。
    • 改为:跳跃时如果接触到水,跳跃根据水浸高度受到的影响程度可调。
  • 水中状态
    • 原设计:在水中不算触地。
    • 改为:在水中接触地面算触地。
  • 水中运动
    • 原设计:游泳中支持垂直游动,不允许跳跃,不允许攀爬。
    • 改为:设置自由潜水模式开关和潜水攀爬开关。
      • 自由潜水开启时,潜水中支持上下游动,不允许跳跃,钻出水面后保持漂浮状态,支持跳跃或下潜。
      • 自由潜水关闭时,潜水中自动下沉,允许小段跳跃(可视为向上游动),钻出水面后需要移动来保持漂浮状态,支持跳跃,静止会自动下沉。
  • 移动Snap影响水中跳跃问题
    • 原设计:如果probeDistance设置稍大,在浅水处处于游泳状态时,跳起离开水面瞬间会被snap回地面,不过因为游泳状态不允许跳跃,所以绕过了这个问题。
    • 改为:因为漂浮状态需要支持跳跃,所以不得不修复这个问题。

About

跟着CatLikeCoding教程练习,查漏补缺。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors