易车网汽车之家,福州seo推广外包,湛江seo计费管理,网架公司名字大全Unity限制在一个范围内移动
这个例子中#xff0c;我们学习Vector3.ClampMagnitude的用法#xff0c;限制小球在范围内移动。
在地图上放了一个小球#xff0c;让他移动#xff0c;但是不想让他掉下去#xff0c;限制在一个球星范围内#xff0c;就好像绳子拴住了一样我们学习Vector3.ClampMagnitude的用法限制小球在范围内移动。
在地图上放了一个小球让他移动但是不想让他掉下去限制在一个球星范围内就好像绳子拴住了一样可以这样来实现。
Demo小球设置
我的小球上挂的刚体物理摩擦力0 模拟杆子上有绳子牵制他在一定范围内。
代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;public class MoveRange : MonoBehaviour
{public Transform center;public float radius;Rigidbody rig;public float moveSpeed 2f;void Start(){rig gameObject.GetComponentRigidbody();}// Update is called once per framevoid Update(){//给小球一个移动速度Vector3 movement new Vector3(Input.GetAxis(Horizontal), 0, Input.GetAxis(Vertical));Vector3 nowVelocity movement * moveSpeed * Time.deltaTime;nowVelocity.y 0f;rig.velocity nowVelocity;//限制小球范围Vector3 offset transform.position - center.position;transform.position center.position Vector3.ClampMagnitude(offset, radius);}
}
效果图 参考