[C#] - rotateObject.js - Rotation d'un objet à la souris

Cette section est destinée aux scripts partagés par la communauté. Chaque post est destiné à un script. Suivez bien les recommandations.
Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

[C#] - rotateObject.js - Rotation d'un objet à la souris

Message par cayou66 » 17 Mai 2012 15:25

- NOM DU SCRIPT: rotateObject

- AUTEUR(S): cAyou66

- PLATEFORME: Desktop. Possibilité de rajouter facilement le support mobile.

- DESCRIPTION: Script de rotation d'objet à la souris. La rotation est effectuée d'une manière smooth.

- UTILISATION: Placer le script sur l'objet qui va tourner.

- AMELIORATIONS ENVISAGEABLES: possibilité de double cliquer pour remettre l'objet à sa position initiale.

speed est la vitesse de rotation.

Code : Tout sélectionner

using UnityEngine;
using System.Collections;

public class rotateObject : MonoBehaviour {

    float speed = 1.0f; //how fast the object should rotate
   
   Vector3 centerPos, targetPos, refPos;

    void Update()
   {
      
      if(Input.GetMouseButtonDown(0))
      {
         centerPos = Input.mousePosition;
      }
      
      if(Input.GetMouseButton(0))
      {
         targetPos = Input.mousePosition;
      }
      centerPos = Vector3.SmoothDamp(centerPos,targetPos,ref refPos, 0.5f);
      Vector3 targetRotate = new Vector3(targetPos.y - centerPos.y, -(targetPos.x - centerPos.x), targetPos.z - centerPos.z);
      transform.Rotate(targetRotate * Time.deltaTime * speed,Space.World);
    }
}

Répondre

Revenir vers « Scripts »