本篇用于记录UNITY的学习历程 引用尽量注明出处
初期搜到的一些资料:
Manual:
https://docs.unity3d.com/Manual/Unity2D.html
Scripting API:
https://docs.unity3d.com/ScriptReference/index.html
官方脚本教程:
https://unity3d.com/cn/learn/tutorials/s/scripting
Unity常用函数:
http://blog.csdn.net/wwwang89123/article/details/26507461
刚体(Rigidbody)、碰撞体(Colider)、触发器(Is Trigger):
http://blog.csdn.net/monzart7an/article/details/22739421
Layer:碰撞检测中的层
Sort Layer:渲染层
刚体(Rigidbody2D):个人理解具有物理属性(比如质量),以及接受物理作用(比如重力)的Component(组件)。
碰撞体(Collider):用于碰撞检测,定义物体形状等。
is Trigger:勾选后该物体变为触发器,不受碰撞影响改变物理状态。
碰撞事件产生条件:两者都为碰撞体,至少有一个为刚体
触发信息检测:
1.MonoBehaviour.OnTriggerEnter(Collider collider)当进入触发器
2.MonoBehaviour.OnTriggerExit(Collider collider)当退出触发器
3.MonoBehaviour.OnTriggerStay(Collider collider)当逗留触发器
碰撞信息检测:
1.MonoBehaviour.OnCollisionEnter(Collision collision) 当进入碰撞器
2.MonoBehaviour.OnCollisionExit(Collision collision) 当退出碰撞器
3.MonoBehaviour.OnCollisionStay(Collision collision) 当逗留碰撞器
非Sprite类型 Sort layer: 需要在脚本里增加参数来设置。
2D物理(与3D不干扰,发生在Z=0处):
Rigidbody2D碰撞可以接受力和扭距
属性调整:
Rigidbodt2D.Collition Detection连续、离散碰撞检测:
(引用自贴吧)
Rigidbody2D.Interpolate/ex
Sleeping mode:
Never Sleep
Start Awake:保证实体化时Rigidbody2D是唤醒状态
Start Asleep:初始化是为休眠,但可以被碰撞唤醒
Used by Effector:
边缘碰撞体(edge collider)和多边形碰撞体(polygon)编辑时摁住ctrl可以删除顶点
Hinge Joint
Enable Collision:是否与被链接刚体碰撞
:锚点位置
:被链接的锚点
Motor Speed:转动动力源的目标速度,单位是角度/s
Maximum Motor Force:为打到目标速度的最大扭距
Distance Joint:
/False:距离不变
Spring Joint:
弹性
玩家对弹簧的影响力
2D材质Material:
Area Effector:
方向
大小
大小+-n(随机数)
Drag 和Angular Drag会叠加到已经在Rigidbody2D上设置的Drag上,力施加到刚体的质心(?)
Point Effector:
不变
与距离平方成正比
Distance Scale:距离影响系数