UNITY 跑酷学习

前言


今天决定写多一篇文章,所以马不停蹄地找素材学习,最后找到一篇文章,关于零基础开始跑酷游戏,并且能学到些东西,所以就立马开始研究,并且打算将遇到的问题和知识点记录到博客,尤其是比较难记的知识点。记到就是学到。

内容


  • 1.游戏内容
  • 2.知识点列表
  • 3.难记点,以及难以理解的点
  • 4.实现遇到的问题

1. 游戏内容

游戏是基于一个跑酷的demo,目前有的功能只有可以不断生成地形,人物在前进的过程会遇到随机生成的障碍物以及可以左右移动甚至跳跃躲避障碍物

2.知识点列表

-1. Collider使用
-2. 动画效果如何添加
-3. 如何不断生成跑道,延绵不断
-4.如何设置输入控制人物的移动

1. Collider使用

1.产生阻碍作用
两个物件都有Collider,并且其中一个有rigibody,并且没有勾选is Kinematic组件,并且二者的trigger都没有勾选,这样物体不会穿过会形成阻碍
而且OnTriggerEnter()不会触发
但是OnColliderEnter()会触发
如果两个两个物体只有Collider,没有rigibody,都没有勾选trigger,物体会穿透,但是没有rigibody
两个触碰函数都不会触发 OnTriggerEnter 和 OnColliderEnter都不会触发。
2.不产生阻碍作用
两个物体都有Collider,无论有没有rigibody,只有有其中一个勾选trigger都会穿透。
3.Rigibody的选项
1。Use Gravity 如果下面没有Collider会直接穿透,相当于有一个重力作用
2。勾选 Is Kinematic,代表只有移动transform.position 才能改变物体的位置,而addForce则不行
并且前面可见,如果点击了IsKinematic,就不会形成阻碍。

总结

我在写程序的过程中,一直想使用两个Collider,然后就发现这个问题不简单,里面的简直有太多种情况,直到刚刚我才明白,不过我在刚刚地写作中发现也许我可以将碰撞区域变大,这样就不会人物就不会由于受到的力的不同而倾斜了。

2. 动画效果如何添加

直接将动画文件加入到Animator中的Controller就可以改变物体的状态,只是如何切换状态这个需要另外学习了。

3.如何不断生成跑道,延绵不断

定义一个GameController来控制,使其碰撞一个点然后触发生成跑道,并且可以在跑道一些位置添加障碍物的地点然后就可以将这个位置添加都游戏控制类中,进行随机地生成物体。

4.如何设置输入控制人物的移动

Edit->project Setting -> Input 中可以设置键,对应的Input.getButton(“str”);
Input.getAxis(“str”);
str在Edit->project Setting -> Input 中可以设置键,并且可以设置属性,在Alt Negative Button可以设置按键。

Vector3.zero;
transform.up,transform.down,transform.right;


难记点

1。Collider,Box Collider 范围的控制和rigibody OnTrigger Is Kinematic 等问题
2。如何控制物体位置的变化
3。产生随机地图


开发遇到的问题

1。如何量物体的长度和宽度,因为需要计算随机物体生成位置
2。生成物体的函数如何写~~~
3。Transform.tag 与this.tag 我是这样理解的transform是夫类的属性,并且一般一个物体只会设置一个Collider,所以这个是解决了,不需要纠结的问题。

你可能感兴趣的:(unity3d)