2017-06-14 1 views
0

Je souhaite contrôler la direction d'une moto en inclinant un SteamVR-Controller vers la gauche ou vers la droite.Contrôleur SteamVR Rotation pour flotter

Ce que j'ai essayé est:

private SteamVR_Controller.Device controller; 
public Vector3 angle { get { return controller.transform.rot.eulerAngles.x; } } 
public float steerInput = 0f; 

void Inputs(){ 
steerInput = steerInput * angle; 
} 

Je reçois l'erreur suivante: ne peut pas convertir implicitement le type float' to UnityEngine.Vector3'

Avez-vous une idée de le réparer? Salutations de l'Allemagne :)

+0

Sur quelle ligne obtenez-vous cette erreur? – Programmer

+0

Dans le public Vector angle 3 –

Répondre

1

Votre variable angle est un type de Vector3.

La propriété controller.transform.rot.eulerAngles.x est un type de float.

Vous obtenez:

Error: Cannot implicitly convert type float' toUnityEngine.Vector3':

parce que vous liez de revenir controller.transform.rot.eulerAngles.x qui est un float dans une propriété qui est Vector3.

Retournez controller.transform.rot.eulerAngles à la place car eulerAngles est Vector3.

private SteamVR_Controller.Device controller; 
public Vector3 angle { get { return controller.transform.rot.eulerAngles;} } 
public float steerInput = 0f; 

Notez que la même chose s'applique à la steerInput = steerInput * angle; mais inversée cette fois-ci. Vous ne pouvez pas convertir Vector3 en float et vous devez résoudre ce problème aussi. Je ne peux pas dire exactement ce que vous faites là mais vous devez le réparer aussi.

+0

Merci pour votre réponse. Mais cela conduit à la même erreur :( –

+0

Je suppose que la même erreur mais à un endroit différent? – Philipp

+1

Je pense que c'est ce que l'OP voulait dire, je le dis dans ma réponse, je ne sais pas ce que OP essaie de faire avec steerInput = steerInput * angle; 'mais il attribue un mauvais type de données à' steerInput' – Programmer