unity-物理系统

刚体与碰撞器

 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

 

 

联合组件

添加组件:

 

 (不想要游戏世界中这些东西移动)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值