刚体与碰撞器
2d俯视角平面游戏 ----不需要重力
![]()
给物体添加碰撞器
检测碰撞的条件
①双方要有碰撞器
②运动的一方带有刚体,静态的一方不要挂载
进一步优化:
①进入预制体中,修改碰撞盒子的大小
点击
![]()
拉动位置
②修复旋转问题
进入人物 把z轴固定住
③修复人物抖动问题
抖动产生原因:系统物理系统与所写代码产生冲突
控制物体移动------>控制刚体移动
using System.Collections; using System.Collections.Generic; using UnityEngine; public class RubyController : MonoBehaviour { private Rigidbody2D rigidbody2d; // Start is called before the first frame update void Start() { // Application.targetFrameRate = 30; 改变帧率 rigidbody2d = GetComponent<Rigidbody2D>(); } // Update is called once per frame void Update() { float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); Vector2 position = transform.position; position.x = position.x + 5 * horizontal * Time.deltaTime; position.y = position.y + 5 * vertical * Time.deltaTime; // transform.position = position; rigidbody2d.MovePosition(position); } }
调整碰撞器的大小 (更精准符合实际)
设置不可进区域:
方法一:
①建一个空物体
②挂载碰撞器及调整大小
方法二:
①创建地形碰撞器
挂载:
②将不用产生碰撞器组件的全部选中 设置None
联合组件
添加组件:
(不想要游戏世界中这些东西移动)