Advertisemen
Part - 1
Part - 2
If you want to rotate an object, like wheel in unity3D.
For c#, go ahead and create c# script in unity and name it whatever you want then attached it to the object you want to rotate. Then, type following in the script.
Part - 2
If you want to rotate an object, like wheel in unity3D.
For c#, go ahead and create c# script in unity and name it whatever you want then attached it to the object you want to rotate. Then, type following in the script.
using UnityEngine;
using System.Collections;
public class rotate : MonoBehaviour {
private float baseAngle = 0.0f;
void OnMouseDown(){
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
baseAngle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
baseAngle -= Mathf.Atan2(transform.right.y, transform.right.x) *Mathf.Rad2Deg;
}
void OnMouseDrag(){
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
using System.Collections;
public class rotate : MonoBehaviour {
private float baseAngle = 0.0f;
void OnMouseDown(){
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
baseAngle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
baseAngle -= Mathf.Atan2(transform.right.y, transform.right.x) *Mathf.Rad2Deg;
}
void OnMouseDrag(){
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
"color: #f7f7f1;"> float ang = Mathf.Atan2(pos.y, pos.x) *Mathf.Rad2Deg - baseAngle;
transform.rotation = Quaternion.AngleAxis(ang, Vector3.forward);
}
}
For javascript, type followings.
It should do the magic.
transform.rotation = Quaternion.AngleAxis(ang, Vector3.forward);
}
}
For javascript, type followings.
#pragma strict
private var baseAngle = 0.0;
function OnMouseDown(){
var pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
baseAngle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
baseAngle -= Mathf.Atan2(transform.right.y, transform.right.x) *Mathf.Rad2Deg;
}
function OnMouseDrag(){
var pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
var ang = Mathf.Atan2(pos.y, pos.x) *Mathf.Rad2Deg - baseAngle;
transform.rotation = Quaternion.AngleAxis(ang, Vector3.forward);
}
private var baseAngle = 0.0;
function OnMouseDown(){
var pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
baseAngle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
baseAngle -= Mathf.Atan2(transform.right.y, transform.right.x) *Mathf.Rad2Deg;
}
function OnMouseDrag(){
var pos = Camera.main.WorldToScreenPoint(transform.position);
pos = Input.mousePosition - pos;
var ang = Mathf.Atan2(pos.y, pos.x) *Mathf.Rad2Deg - baseAngle;
transform.rotation = Quaternion.AngleAxis(ang, Vector3.forward);
}
It should do the magic.
Advertisemen
Tidak ada komentar:
Posting Komentar