Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Vector3.ClampMagnitude

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public static function ClampMagnitude(vector: Vector3, maxLength: float): Vector3;
public static Vector3 ClampMagnitude(Vector3 vector, float maxLength);

Параметры

Описание

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

	// 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);
	}
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); } }