Ошибка 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д юнити!!!
- Кто шарит в играх на юнити, помогите
