返回介绍

Vector3.ClampMagnitude 限制长度

发布于 2019-12-18 15:38:43 字数 1827 浏览 884 评论 0 收藏 0

JavaScript => static function ClampMagnitude(vector: Vector3, maxLength: float): Vector3;
C# => static Vector3 ClampMagnitude(Vector3 vector, float maxLength);

Description 描述

Returns a copy of vector with its magnitude clamped to maxLength.

返回原向量的拷贝,并且它的模最大不超过maxLength所指示的长度。

也就是说,限制向量长度到一个特定的长度。

JavaScript:

	// Move the object around with the arrow keys but confine it
	// to a given radius around a center point.
	var centerPt: Vector3;
	var radius: float;
 
 
	function Update() {
		// Get the new position for the object.
		var movement = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
		var newPos = transform.position + movement;
 
		// Calculate the distance of the new position from the center point. Keep the direction
		// the same but clamp the length to the specified radius.
		var offset = newPos - centerPt;
		transform.position = centerPt + Vector3.ClampMagnitude(offset, radius);
	}

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    public Vector3 centerPt;
    public float radius;
    void Update() {
        Vector3 movement = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
        Vector3 newPos = transform.position + movement;
        Vector3 offset = newPos - centerPt;
        transform.position = centerPt + Vector3.ClampMagnitude(offset, radius);
    }
}

Vector3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文