Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Как решить эту ошибку в юнити?

Всем привет! Сейчас я делаю шутер в юнити по ролику в ютуб. И я застрял на этой ошибке. Как её исправить?

По дате
По рейтингу
Аватар пользователя
Новичок

ClampMagnitude - вторая с конца буква должна быть не "b" а "d".

Аватар пользователя
Просветленный

Ошибка в вашем коде возникает из-за того, что метод ClampMagnitude не распознается как часть класса Vector3. Это происходит потому, что метод ClampMagnitude принадлежит пространству имен UnityEngine, и вам нужно явно указать, что вы используете UnityEngine при вызове этого метода.

12345678910111213141516171819202122232425262728293031
 using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
 
public class Походка : MonoBehaviour 
{ 
    public float _speed = 6.0f; 
    private CharacterController _characterController; 
 
    private void Start() 
    { 
        _characterController = GetComponent<CharacterController>(); 
        if (_characterController == null) 
        { 
            Debug.Log("CharacterController is NULL"); 
        } 
    } 
 
    private void Update() 
    { 
        float deltaX = Input.GetAxis("Horizontal") * _speed; 
        float deltaZ = Input.GetAxis("Vertical") * _speed; 
        Vector3 movement = new Vector3(deltaX, 0, deltaZ); 
        movement = UnityEngine.Vector3.ClampMagnitude(movement, _speed); 
 
        movement *= Time.deltaTime; 
        movement = transform.TransformDirection(movement); 
        _characterController.Move(movement); 
    } 
}