导图社区 Unity3D常用函数、方法、API、组件
这是一篇关于Unity3D的常用函数、方法、API、组件的思维导图,主要内容包括:函数,方法,组件。
编辑于2025-06-13 13:24:22这是一篇关于电脑常用运行命令的思维导图,主要内容包括:wmic bios get serialnumber: 查主板序列号,lusrmgr.msc: 本机用户和组,fsmgmt.msc: 共享文件夹管理器,compmgmt.msc: 计算机管理,explorer: 打开资源管理器,devmgmt.msc: 设备管理器,perfmon.msc: 计算机性。
这是一篇关于UnityEngine的思维导图,主要内容包括:Applicatoin,Object,Input,SceneManagement,GUI,Physics,Resources,Time。
这是一篇关于Unity3D常用API的思维导图,主要内容包括:MonoBehaviour,对象,相机、渲染器,粒子,物理关节,键鼠操作,碰撞及触发,场景,gizmos,玩家,网络、服务器。
社区模板帮助中心,点此进入>>
这是一篇关于电脑常用运行命令的思维导图,主要内容包括:wmic bios get serialnumber: 查主板序列号,lusrmgr.msc: 本机用户和组,fsmgmt.msc: 共享文件夹管理器,compmgmt.msc: 计算机管理,explorer: 打开资源管理器,devmgmt.msc: 设备管理器,perfmon.msc: 计算机性。
这是一篇关于UnityEngine的思维导图,主要内容包括:Applicatoin,Object,Input,SceneManagement,GUI,Physics,Resources,Time。
这是一篇关于Unity3D常用API的思维导图,主要内容包括:MonoBehaviour,对象,相机、渲染器,粒子,物理关节,键鼠操作,碰撞及触发,场景,gizmos,玩家,网络、服务器。
常用函数、方法、API、组件
函数
PlayerPrefs 玩家首选项
数据持久化,存储玩家数据
Save
保存所有修改的首选项
DeleteKey
从PlayerPrefs中移除给定的键。如果该键不存在,则DeleteKey不起作用。
DeleteAll
从PlayerPrefs中删除所有键和值。请谨慎使用。
HasKey
如果给定的犍存在于PlayerPrefs中,则返回true,否则返回false。
SetString
向PlayerPrefs发送字符串类型的键,并赋值
GetString
返回PlayerPrefs中与 key 对应的值(如果存在)
其他类型
GetFloat
SetFloat
GetInt
SetInt
JsonUtility
ToJson
把对象转换为Json格式的对象数据
Collider 碰撞体
ClosestPoint
返回此碰撞体周边上最接近指定 position的点,
Distance
计算该碰撞体与另一个碰撞体的最小间距。
GetContacts
获取此碰撞体的所有接触点。
IsTouching
检查该碰撞体是否正在接触/collider/。
IsTouchingLayers
检查该碰体是否正在接触指定layerMask上的任何碰撞体。
OverlapCollider
获取与该碰撞体重叠的所有碰撞体的列表,
OverlapPoint
检查碰撞体是否与空间中的某个点重叠。
Physics2D 物理系统
OverlapBox
获取一个方形区域内的第一个碰撞体
OverlapBoxAll
获取一个方型区域内所有Colliders的列表。
Raycast
向场景中的碰撞体投射射线,返回第一个与他接触的碰撞器
RaycastAll
对场景中的碰撞器投射一条光线,返回所有与它接触的碰撞器
Rigidbody 刚体
position
刚体的位置
rotation
刚体的旋转
velocity
刚体的速度
AddForce
向刚体添加一个力
AddExplosionForce
向模拟爆炸的刚体添加一个力
AddTorque
向刚体添加一个扭矩
MovePosition
移动刚体
MoveRotation
旋转刚体
IsSleeping
是否在休眠状态
Sleep
让刚体进入至少一帧的休眠
WakeUp
唤醒刚体
概要
public class PlayerControl : MonoBehaviour { //刚体 private Rigidbody rbody; void Start() { //获取玩家角色刚体组件 rbody = GetComponent<Rigidbody>(); } void Update() { //获取水平轴数值 float horizontal = Input.GetAxis("Horizontal"); //获取垂直轴数值 float vertical = Input.GetAxis("Vertical"); //获取移动方向向量 Vector3 dir = new Vector3(horizontal, 0, vertical).normalized; //给刚体该方向上的速度 rbody.velocity = dir * 2; } }
Vector3 向量
方法
normalized
返回一个规范化向量(归一化,等比例缩放至1以内)
magnitude
返回向量的模
sqrMagnitude
返回向量的模的平方
Angle
静态方法,返回两个向量的夹角
Distance
静态方法,返回两个点间的距离
Lerp
静态方法,插值运算
Dot
静态方法,两个向量点乘
Cross
静态方法,两个向量叉乘
属性
zero
静态属性,返回Vector3 (0,0,0)
one
静态属性,返回Vector3 (1,1,1)
forword
静态属性,返回Vector3 (0,0,1)
back
静态属性,返回Vector3 ((0,0,-1)
left
静态属性,返回Vector3 (-1,0,0)
right
静态属性,返回Vector3 (1,0,0)
up
静态属性,返回Vector3 (0,1,0)
down
静态属性,返回Vector3 (0,-1,0)
Quaternion 四元数
identity
单位旋转,相当于无旋转
eulerAngles
转换为欧拉角
Quaternion
使用x、y、z、 w分量构造四元数
Angle
返回两个旋转之间的角度
Euler
通过欧拉角创建一个四元数
LookRotation
返回forward向量与参数向量旋转相同的四元数,可以理解为看向某向量
Debug 调试
Log
在“控制台”面板中输出一条消息
LogWarning
在“控制台”面板中输出一条警告消息
LogError
在“控制台”面板中输出一条错误消息
DrawLine
在指定的起始点和终点之间绘制一条直线
DrawRay
在指定的起始点向一个向量绘制一条直线
GameObject 对象
activelnHierarchy
游戏物体在场景中真正的激活状态
activeSelf
游戏物体在场景中设置的激活状态
tag
游戏物体的标签
layer
游戏物体的图层
transform
游戏物体的Transform组件
name
游戏物体的名称,为继承属性
AddComponent
添加组件
GetComponent
得到某个组件
GetComponents
得到多个组件
GetComponentInChildren
在子物体上得到组件
GetComponentInParent
在父物体上得到组件
SetActive
设置物体的激活状态
Find
静态方法,在场景中根据名称寻找游戏物体并返回
FindWithTag
静态方法,在场景中根据标签寻找游戏物体并返回
FindGameObjectsWithTag
静态方法,在场景中根据标签寻找多个游戏物体并返回
Destroy
静态方法,移除并销毁一个游戏物体,为继承方法
Instantiate
静态方法,复制一个游戏物体,一般用此方法实例化预制件,为继承方法
DontDestroyOnLoad
静态方法,设置此游戏物体在切换场景时不会销毁,为继承方法
Time 时间
deltaTime
上一帧到这一帧所花的时间
fixedDeltaTime
固定间隔时间
time
游戏开始到现在所花的总时间
timeScale
时间缩放值,默认为1.0
Mathf 数学运算
Deg2Rad
角度转弧度
Rad2Deg
弧度转角度
PI
圆周率,也就是3.141592653 ....
Abs
绝对值
Sin/Cos/Tan
正弦/余弦/正切
Asin/Acos/Atan
反正弦/反余弦/反正切
Clamp
将数字限制到一个范围内
Clamp01
将数字限制在0-1内
Lerp
线性插值
Max
返回最大值
Min
返回最小值
Sqrt
返回平方根
Random 随机数
ColorHSV
通过HSV和 Alpha范围生成随机颜色。
InitState
使用种子初始化随机数生成器状态。
Range
在滑动条标签的参数 minlnclusive 和 maxlnclusive 范围内产生一个随机值
Application 应用程序管理
dataPath
游戏数据文件夹路径
persistentDataPath
持久化游戏数据文件夹路径
streamingAssetsPath
StreamingAssets文件夹路径
temporaryCachePath
临时文件夹路径
runInBackground
控制在后台时是否运行
OpenURL
打开一个URL
Quit
退出
Application.Quit();
退出应用
LoadLevel
加载关卡
Application.LoadLevel();
加载某个关卡
Scene 场景
buildIndex
返回场景在Build Settings中的索引
isLoaded
返回场景是否已经加载
name
场景名称
path
场景的相对路径
GetRootGameObject
返回场景中的所有根游戏物体
SceneManager 场景管理
sceneCount
当前已加载场景的数量
CreateScene
创建一个场景
GetActiveScene
得到当前激活场景
GetSceneByName
通过名称返回已加载场景
LoadScene
加载场景
LoadSceneAsync
异步加载场景
SetActiveScene
激活场景
UnloadSceneAsync
移除并且销毁场景
Transform 位置、旋转、缩放信息
position
在世界坐标系中的位置
rotation
在世界坐标系中的旋转
eulerAngles
在世界坐标系中的欧拉角旋转
localPosition
相对于父物体的位置
localRotation
相对于父物体的旋转
localScale
相对于父物体的缩放
localEulerAngles
相对于父物体的欧拉角旋转
forward
在世界坐标系中的自身坐标系的蓝色轴向量
up
在世界坐标系中的自身坐标系的绿色轴向量
right
在世界坐标系中的自身坐标系的红色轴向量
LookAt
旋转物体使forward向量指向目标点,也就是看向某个目标点
Rotate
旋转物体
RotateAround
绕着某点旋转物体
Translate
在某一方向与距离上进行移动
childCount
当前Transform的子Transform个数
parent
当前Transform的父Transform
DetachChildren
解除所有子Transform的关联
Find
查找对应子Transform
GetChild
得到对应子Transform
IsChildOf
是否为子Transform
SetParent
设置父Transform
Input输入控制
鼠标键盘
anyKey
任何按键按下都返回true
anyKeyDown
任何按键按下第一帧都返回true
inputString
该帧的键盘输入
mousePosition
鼠标指针当前的坐标位置
概要
参数一般为空
GetKey
按下按键期间返回true
GetKeyDown
按下按键瞬间返回一次true
GetKeyUp
松开按键瞬间返回一次true
概要
Input.GetKeyDown(KeyCode.A);
检测某个按键按下
常用参数
KeyCode.任意大写字母
任意小写字母
GetMouseButton
按下鼠标键返回true
GetMouseButtonDown
按下鼠标键瞬间返回一次true
GetMouseButtonUp
松开鼠标键瞬间返回一次true
概要
Input.GetMouseButtonDown(0);
检测鼠标某个键按下
常用参数
0为鼠标左键
1为鼠标右键
2为鼠标滚轮
虚拟轴
常用虚拟轴
轴 水平
名称 Horizontal
水平轴,键盘A/D键、←/→键控制
轴 垂直
名称 Vertical
垂直轴,键盘W/S键、↑/↓键控制
轴 鼠标X
名称 MouseX
鼠标沿x轴方向移动
轴 鼠标Y
名称 MouseY
鼠标沿y轴方向移动
轴 鼠标滚轮
名称 MouseScrollWheel
鼠标滚轮滚动
概要
虚拟轴属性
名称
轴的名称,如Horizontal
描述名称
正轴的描述性信息,仅用于查看
描述负向名称
负轴的描述性信息,仅用于查看
取消按键
正轴按键,如左方向键
肯定按键
负轴按键,如右方向键
Alt 否定按键
正轴备选按键,如A键
Alt 肯定按键
负轴备选按键,如D键
重力
松开按键后,虚拟轴恢复到0的速度
死区
低于此数值范围,都会被认为是0
灵敏度
按下按键后,虚拟轴从0到目标值的速度
捕捉
启用后,按下反方向键,轴数值会设置为0
反转
启用后,交换正轴与负轴按键
类型
控制该虚拟轴的设备类型
轴
将设备的实际操作轴设置为此虚拟轴
操作杆编号
控制虚拟轴的设备编号
Input.GetAxis("Horizontal");
获取水平轴
获取水平轴数值
-1代表按了左方向键
1代表按了右方向键
0代表没有按键
常用虚拟按键
按键 Fire1
名称 Fire1
鼠标左键或左Ctrl键
按键 Fire2
名称 Fire2
鼠标右键或左Alt键
按键 Fire3
名称 Fire3
鼠标滚轮或左Shift键
按键 跳跃
名称 Jump
Space键
按键 提交
名称 Submit
Return键
按键 取消
名称 Cancel
Escape键
概要
if(Input.GetButtonDown("Fire1")){}
如果按下名称为Fire1的虚拟按键
手机触摸
多点触摸
Input.multiTouchEnabled
概要
Input.multiTouchEnabled = true;
void Start() { //开启多点触摸 Input.multiTouchEnabled = true; }
触摸状态
Input.touchCount
单点触摸
开始触摸
TouchPhase.Began
触摸中并且在移动
TouchPhase.Moved
触摸结束
TouchPhase.Ended
触摸取消
TouchPhase.Canceled
触摸但未移动
TouchPhase.Stationary
多点触摸
第一个点的位置
Input.touches[0].position
第二个点的位置
Input.touches[1].position
概要
void Update() { //判断单点触摸 if (Input.touchCount == 1) { //触摸位置 Debug.Log(Input.touches[0].position); //触摸阶段 switch (Input.touches[0].phase) { case TouchPhase.Began: Debug.Log("开始触摸"); break; case TouchPhase.Moved: Debug.Log("触摸中并且在移动"); break; case TouchPhase.Ended: Debug.Log("触摸结束"); break; case TouchPhase.Canceled: Debug.Log("触摸取消"); break; case TouchPhase.Stationary: Debug.Log("触摸但未移动"); break; } } //判断多点触摸,如两个点触摸 if (Input.touchCount == 2) { //两个点触摸位置 Debug.Log(Input.touches[0].position); Debug.Log(Input.touches[1].position); } }
audio 声音
clip
要播放的音频剪辑,音频剪辑对应的类为AudioClip
isPlaying
当前是否正在播放音频
loop
是否循环该音频剪辑
mute
设置音频静音
playOnAwake
是否开启唤醒时播放
time
播放位置时间
volume
音量大小
Pause
暂停播放
Play
播放设定好的音频剪辑
PlayOneShot
播放一次音频剪辑
Stop
停止播放
UnPause
恢复暂停播放
PlayClipAtPoint
静态方法,在世界空间的某一点播放音频
概要
public class PlaySound : MonoBehaviour { //播放器,也就是音频源 private AudioSource player; //音频剪辑 private AudioClip clip; void Start() { //获得该游戏物体身上的音频源 player = GetComponent<AudioSource>(); //Resources.Load用来读取Resources文件夹中的文件,//泛型中填写读取的类 型,参数中填写读取的文件名称 player.clip = Resources.Load<AudioClip>("test"); } void Update() { //单击播放音频 if (Input.GetMouseButtonDown(0)) { player.Play(); } //单击鼠标右键暂停播放音频 if (Input.GetMouseButtonDown(1)) { player.Stop(); } } }
API手册
https://blog.csdn.net/m0_64128218/article/details/128477115
方法
脚本生命周期
Awake
当一个脚本实例被载入时Awake被调用。
Start
Start仅在Update函数第一次被调用前调用。
FixedUpdate
当MonoBehaviour启用时,其固定时间调用一次
Update
当MonoBehaviour启用时,其Update在每一帧被调用。
LateUpdate
当Behaviour启用时,其LateUpdate在每一帧被调用。
OnDestroy
当MonoBehaviour将被销毁时,这个函教被调用。
OnApplicationQuit
在应用退出之前发送给所有的游戏物体。
对象
Reset
重置为默认值。
OnEnable
当对象变为可用或激活状态时此函数被调用。
OnDisable
当对象变为不可用或非激活状态时此函数被调用。
相机、渲染器
OnBecameVisible
当renderer(渲染器)在任何相机上可见时调用OnBecameVisible.
OnBecamelnvisible
当renderer(渲染器)在任何相机上都不可见时调用OnBecamelnvisible
OnPreCull
在相机消隐场景之前被调用。
OnPreRender
在相机渲染场景之前被调用。
OnPostRender
在相机完成场景渲染之后被调用。
OnRenderObject
在相机场景渲染完成后被调用。
OnGUI
渲染和处理GU事件时调用。
OnRenderlmage
当完成所有渲染图片后被调用,用来渲染图片后期效果。
OnWillRenderObject
如果对象可见每个相机都会调用它。
粒子
OnParticleCollision
当粒子碰到collider时被调用。
物理关节
OnJointBreak
当附在同一对象上的关节被断开时调用。
键鼠操作
OnMouseEnter
当鼠标进入到GUIElement(GUI元素)或Collider(逆撞体)中时调用OnMouseEnter
OnMouseOver
当鼠标悬浮在GUIElement(GUI元素)或Collider(並撞体)上时调用OnMouseOver.
OnMouseExit
当鼠标移出GUIElement(GUI元素)或Collider(碰撞体)上时调用OnMouseExit
OnMouseDown
当鼠标在GUIElement(GUI元素)或Collider(碰撞体)上点击时调用OnMouseDown.
OnMouseUp
当用户释放鼠标按钮时调用OnMouseUp.
OnMouseUpAsButton
OnMouseUpAsButton只有当鼠标在同一个GUIElement或Collider按下,在释放时调用。
OnMouseDrag
当用户鼠标拖搜GUIElement(GUI元素)或Collider(碰撞体)时调用OnMouseDrag.
碰撞及触发
3D
OnTriggerEnter
当Collider(碰撞体)进入trigger(触发器)时调用OnTriggerEnter,
OnTriggerExit
当Collider(碰撞体)停止触发trigger(触发器)时调用OnTriggerExit.
OnTriggerStay
当碰撞体接触触发器时, OnTriggerstay将在每一帧被调用。
OnCollisionEnter
当此collider/rigidbody触发另一个rigidbody/collider时, OnCollisionEnter将被调用。
OnCollisionExit
当此collider/rigidbody停止触发另一个rigidbody/collider时, OnCollisionExit将被调用。
OnCollisionStay
当此collider/rigidbody触发另一个rigidbody/collider时, OnCollisionStay将会在每一页被调用。
OnControllerColliderHit
在移动的时,当controller碰撞到collider时OnControllerColliderHit被调用。
2D
OnCollisionEnter2D
当传入碰撞体与该对象的碰撞体接触时发送(仅限2D物理
OnCollisionExit2D
当另一个对象上的碰撞体停止接触该对象的碰撞体时发送(仅限2D物理
OnCollisionStay2D
在另一个对象上的碰撞体正在接触该对象的碰撞体时发送每个帧(仅限2D物理
OnTriggerEnter2D
当另一个对象进入附加到该对象的触发碰撞体时发送(仅限2D物理
OnTriggerExit2D
当另一个对象离开附加到该对象的触发碰撞体时发送(仅限2D物理
OnTriggerStay2D
在另一个对象位于附加到该对象的触发碰撞体之内时发送每个帧(仅限2D物理
场景
OnLevelWasLoaded
当一个新关卡被载入时此函数被调用。
绘制图形
OnDrawGizmosSelected
如果你想在物体被选中时绘制gizmos,执行这个函数。
OnDrawGizmos
如果你想绘制可被点选的gizmos,执行这个函数。
玩家
OnApplicationPause
当玩家暂停时发送到所有的游戏物体。
OnApplicationFocus
当玩家获得或失去焦点时发送给所有游戏物体。
事件接口
接口-事件函数
IPointerEnterHandler - OnPointerEnter - 当指针进入对象时调用
IPointerExitHandler - OnPointerExit - 当指针退出对象时调用
IPointerDownHandler - OnPointerDown - 在对象上按下指针时调用
IPointerUpHandler - OnPointerUp - 松开指针时调用(在指针正在点击的游戏对象上调用)
IPointerClickHandler - OnPointerClick - 在同一对象上按下再松开指针时调用
IInitializePotentialDragHandler - OnInitializePotentialDrag - 在找到拖动目标时调用,可用于初始化值
IBeginDragHandler - OnBeginDrag - 即将开始拖动时在拖动对象上调用
IDragHandler - OnDrag - 发生拖动时在拖动对象上调用
IEndDragHandler - OnEndDrag - 拖动完成时在拖动对象上调用
IDropHandler - OnDrop - 在拖动目标对象上调用
IScrollHandler - OnScroll - 当鼠标滚轮滚动时调用
IUpdateSelectedHandler - OnUpdateSelected - 每次勾选时在选定对象上调用
ISelectHandler - OnSelect - 当对象成为选定对象时调用
IDeselectHandler - OnDeselect - 取消选择选定对象时调用
IMoveHandler - OnMove - 发生移动事件(上、下、左、右等)时调用
ISubmitHandler - OnSubmit - 按下 Submit 按钮时调用
ICancelHandler - OnCancel - 按下 Cancel 按钮时调用
网络、服务器
OnPlayerConnected
当一个新玩家成功连接时在服务器上被调用。
OnServerlnitialized
当Network.InitializeServer被调用并完成时,在服务器上调用这个函数。
OnConnectedToServer
当你成功连接到服务器时,在客户端调用。
OnPlayerDisconnected
当一个玩家从服务器上断开时在服务器端调用。
OnDisconnectedFromServer
当失去连接或从服务器端断开时在客户端调用。
OnFailedToConnect
当一个连接因为某些原因失败时在客户端调用。
OnFailedToConnectToMasterServer
当报告事件来自主服务器时在客户端或服务器端调用。
OnMasterServerEvent
当报告事件来自主服务器时在客户端或服务器端调用。
OnNetworkInstantiate
当一个物体使用Network.Instantiate进行网络初始化时调用。
OnSerializeNetworkView
在一个网络视图脚本中,用于自定义变量同步。
组件
Rigidbody 刚体
Rigidbody 2D
组件属性
Body Type 刚体类型
Dynamic 动态类型(默认)
Body Type 刚体类型
Dynamic 动态类型(默认)
Kinematic 运动类型(不常用)
Static 静态类型
Material 材质
Simulated 模拟
启用模拟,使刚体2D和任何附加的碰撞器2D和关节2D在运行时与物理模拟交互。如果禁用此选项,则这些组件不会与模拟交互。参考刚体2D属性:模拟了解更多细节。默认情况下,此属性是启用的。
Use Auto Mass 使用自动质量
Mass 质量
Linear Drag 线性阻力
设置影响位置移动的阻力系数。
Angular Drag 角阻力
设置影响旋转运动的阻力系数。
Gravity Scale 重力规模
定义游戏对象受重力影响的程度。
Collision Detection 碰撞检测
Discrete 不连续的
选择此选项允许GameObjects与Rigidbody 2d和Collider 2d在物理更新期间相互重叠或通过,如果它们移动得足够快的话。碰撞触点仅在新位置生成。
Continuous 连续的
选择此选项可确保在物理更新期间,具有刚体2d和Collider 2d的GameObjects不会相互穿过。相反,Unity计算任何Collider 2d的第一个冲击点,并将GameObject移动到那里。注意:此选项比Discrete占用更多CPU时间
Sleeping Mode 睡眠模式
Never Sleep
禁用睡眠
Start Awake
选择此选项以使GameObject最初处于唤醒状态。
Start Asleep
选择此选项使GameObject最初处于休眠状态,但可以被唤醒碰撞。
Interpolate 插入
定义如何在物理更新之间插入Game0bject的移动。
None
选择此选项不应用移动平滑。
Interpolate
选择此选项以平滑基于GameObject在前一帧中的位置的移动
Extrapolate
选择此选项以平滑基于其在下一帧中的位置估计的运动。
Constraints 约束
Freeze Position
冻结X,Y轴
Freeze Rotation
冻结Z轴
Layer Overrides 图层重载
Include Layers
包含层,添加产生物理效果的图层
Exclude Layers
剔除层,剔除产生物理效果的图层
Kinematic 运动类型(不常用)
选择将这个刚体2D设置为运动学体类型,它被设计为在模拟下移动,但只能在非常明确的用户控制下移动。
Full Kinematic Contact
如果你希望2D刚体能够与所有其他2D刚体类型碰撞,请启用此属性。注意:当此属性被禁用时,运动学刚体2D只与动态刚体2d产生碰撞。
Static 静态类型
选择将这个刚体2D设置为静态体类型,它被设计成在模拟中完全不移动,并且表现得像一个无限大质量的不可移动的物体。
Collider 碰撞体
Collider 2D
组件属性
Circle Collider 2D 圆形碰撞器
Material 材质
Is Trigger 是否为触发器
Used by Effector 是否被附加到2D效应器使用
如果你想让附加的效应器2D使用Collider 2D,请启用此选项。
Offset
中心偏移位置
Radius
圆形半径
Layer Overrides 图层重载
Layer Override Priority
图层覆盖优先级,这个选项决定当有多个碰撞层级重写时,哪个重写将优先生效。它可以让你设置复杂的碰撞关系,例如当一个物体属于多个碰撞层级时。
Include Layers
包含层,添加产生物理效果的图层
Exclude Layers
剔除层,剔除产生物理效果的图层
Force Send Layers
强制发送层,这里可以选择在Collider2D之间发生碰撞时,当前Collider2D可以向哪些图层的物体发送力。当物体之间碰撞并且需要施加物理影响时,可以使用这个选项。
Force Receive Layer
强制接收层,这里可以选择在Collider2D之间发生碰撞时,当前Collider2D可以从哪些图层的物体接收力。这与Force Send Layers相对,决定了当前物体可以受到哪些图层的物体的影响。
Contact Capture Layers
收缩捕获层,此选项允许你选择哪些图层将在Collider2D收缩时捕获另一个Collider2D。通常这用于触发器事件,当物体的Collider2D变小并可能脱离与其他物体的接触时。
Callback Layers
回调层,在这里,你可以选择在Collider2D与其他Collider2D接触时,哪些图层将触发回调事件,例如报告碰撞或触发器事件。(就是OnTriggerEnter那些之类的函数)
Box Collider 2D 方型碰撞器
Used by Composite 附加到2D复合碰撞器
如果你想让这个碰撞器被附加的2D复合碰撞器使用,启用这个。注意:当你启用Composite时,其他属性将从Box Collider 2D组件中消失,因为它们现在由附加的Composite Collider 2D控制。从Box Collider 2D中消失的属性是Material,Is Trigger,Used By Effector和Edge Radius。
Auto Tiling 自动瓷砖
如果所选精灵的Sprite Renderer组件将绘制模式设置为平铺,则启用此选项。这样可以自动更新Collider2D的形状,使形状自动当精灵图的尺寸改变时重新调整。如果你不启用自动平铺,碰撞器2D几何尝试不会自动重复。
Size
方形碰撞体的大小
Edge Radius 圆角半径
四个角切成圆角,设置圆角的半径
Polygon Collider 2D 多边形碰撞器
Edit Collider
编辑多边形碰撞器的形状及大小
Use Delaunay Mesh
使用三角网格
Points
多边形碰撞器的顶点数量、位置等设置
Composite Collider 2D 复合碰撞体
Geometry Type 几何类型
Outlines
中空
类似边缘碰撞器
Polygons
多边形
Generation Type 生成类型
Synchronous
同步生成
选择此选项,当复合碰撞器2D或构成它的任何碰撞器发生变化时,Unity立即生成新的几何形状。
Manual
手动生成
选择此选项使Unity只生成几何图形生成时发生你提出要求。
Vertex Distance 顶点间距
设置从复合碰撞体收集的任何顶点允许的最小间距值。比此限值更近的任何顶点都将被删除。此设置可用于控制顶点合成的有效分辨率。
Offset Distance 中心偏移距离
其他碰撞体
Capsule Collider 2D
胶囊碰撞器
Edge Collider 2D
边缘碰撞器
Custom Collider 2D
自定义碰撞体