Ошибка Assets\Scripts\WeaponSway.cs(20,9): error CS0246: The type or namespace name 'Quarternion' could not be found (are you missing a using directive or an assembly reference?)
Вот код:
using System;
using UnityEngine;
public class WeaponSway : MonoBehaviour
{
[Header("Sway Settings")]
[SerializeField] private float smooth;
[SerializeField] private float swayMultiplier;
void Update()
{
float mouseX = Input.GetAxisRaw("Mouse X") * swayMultiplier;
float mouseY = Input.GetAxisRaw("Mouse Y") * swayMultiplier;
Quaternion rotationX = Quaternion.AngleAxis(-mouseY, Vector3.right);
Quaternion rotationY = Quaternion.AngleAxis(mouseX, Vector3.up);
Quarternion targetRotation = rotationX * rotationY;
transform.localRotation = Quaternion.Slerp(transform.localRotation, targetRotation, smooth * Time.deltaTime);
}
}
C#
Выходит ошибка в Юнити
Ошибка в коде, которую вы указали, связана с опечаткой в слове Quarternion. Правильное написание этого слова - Quaternion. Исправьте эту опечатку и ошибка должна исчезнуть. Вот исправленный код:
using System;
using UnityEngine;
public class WeaponSway : MonoBehaviour
{
[Header("Sway Settings")]
[SerializeField] private float smooth;
[SerializeField] private float swayMultiplier;
void Update()
{
float mouseX = Input.GetAxisRaw("Mouse X") * swayMultiplier;
float mouseY = Input.GetAxisRaw("Mouse Y") * swayMultiplier;
Quaternion rotationX = Quaternion.AngleAxis(-mouseY, Vector3.right);
Quaternion rotationY = Quaternion.AngleAxis(mouseX, Vector3.up);
Quaternion targetRotation = rotationX * rotationY;
transform.localRotation = Quaternion.Slerp(transform.localRotation, targetRotation, smooth * Time.deltaTime);
}
}
Ошибка говорит о том, что Unity не может найти тип или пространство имен 'Quaternion'. Это может быть вызвано тем, что вы не добавили директиву using для пространства имен UnityEngine.Quaternion в ваш код.
Чтобы исправить ошибку, добавьте следующую директиву using в ваш код:
Вот полный исправленный код:
Чтобы исправить ошибку, добавьте следующую директиву using в ваш код:
using UnityEngine;
using UnityEngine.Quaternion;
После этого ошибка должна исчезнуть. Вот полный исправленный код:
using System;
using UnityEngine;
using UnityEngine.Quaternion;
public class WeaponSway : MonoBehaviour
{
[Header("Sway Settings")]
[SerializeField] private float smooth;
[SerializeField] private float swayMultiplier;
void Update()
{
float mouseX = Input.GetAxisRaw("Mouse X") * swayMultiplier;
float mouseY = Input.GetAxisRaw("Mouse Y") * swayMultiplier;
Quaternion rotationX = Quaternion.AngleAxis(-mouseY, Vector3.right);
Quaternion rotationY = Quaternion.AngleAxis(mouseX, Vector3.up);
Quaternion targetRotation = rotationX * rotationY;
transform.localRotation = Quaternion.Slerp(transform.localRotation, targetRotation, smooth * Time.deltaTime);
}
}
Сергей Парамонов
Огромное спасибо!
Похожие вопросы
- Сделал код в юнити, но он не работает. Как исправить ошибку?
- Всем привет , проблема с юнити файлом
- Можно ли считать расстояние до LayerMask в юнити?
- Нужен человек для Юнити
- Скрипт на юнити 3д
- Скрипт на юнити 3д
- Подскажите ГеймДев вуз для программиста, C# Юнити либои С++ Unreal Engine (Желательно хорошие/максимально хорошие)
- Как наложить сразу несколько текстур на модель Юнити?
- Помогите, делаю игру 2д юнити!!!
- Кто шарит в играх на юнити, помогите