J'explique mon problème. J'ai deux objets (un cube et une sphère). Ma sphère doit tourner en rond par rapport à mon cube. Je dois alors récupéré la distance entre ces deux objets ainsi que l'angle. J'obtient ce code-ci :
Code : Tout sélectionner
using System;
using UnityEngine;
using System.Collections;
public class PiegeFeu : MonoBehaviour {
// Use this for initialization
private RaycastHit hit;
private float distance;
private float angle;
public Transform Sphere;
void Start () {
Vector3 up = transform.TransformDirection(Vector3.up);
if (Physics.Raycast(transform.position, up, out hit))
{
if (hit.collider.name == "Sphere")
{
distance = hit.distance;
}
}
angle = AngleBetweenVector2(transform.position, Sphere.position);
}
// Update is called once per frame
void Update ()
{
Debug.Log(angle);
angle += 0.1f;
}
private float AngleBetweenVector2(Vector3 vec1, Vector3 vec2)
{
Vector3 diference = vec2 - vec1;
float sign = (vec2.y < vec1.y) ? -1.0f : 1.0f;
return Vector2.Angle(Vector2.right, diference) * sign;
}
}
Merci