Dushik Дата: Пн, 23 Сен 2013, 12:03 | Сообщение # 1
Сообщений: 22
Награды:
0
Репутация:
0
Статус: Offline
Народ помогите решить проблемму ! У меня есть два бокса и я нашел у них все 16 координат для каждого угла (по 8 на каждый бокс), а теперь мне надо как то присвоить позиции угла одного бокса, позиции угла другого.. Сдвигать центр пивот кубов с помошью пустого объекта не катит Все углы нашел спомошью этого кода: Код
using UnityEngine; using System.Collections; public class example : MonoBehaviour { public Vector3[] vec = new Vector3[8]; public Vector3[] vec2 = new Vector3[8]; public GameObject GO1; void Update() { Vector3 center = gameObject.renderer.bounds.center; //Находим баунды для первого бокса Vector3 extends = gameObject.renderer.bounds.extents; vec[0] = new Vector3(center.x - extends.x, center.y + extends.y, center.z + extends.z); vec[1] = new Vector3(center.x + extends.x, center.y + extends.y, center.z + extends.z); vec[2] = new Vector3(center.x - extends.x, center.y - extends.y, center.z + extends.z); vec[3] = new Vector3(center.x + extends.x, center.y - extends.y, center.z + extends.z); vec[4] = new Vector3(center.x - extends.x, center.y + extends.y, center.z - extends.z); vec[5] = new Vector3(center.x + extends.x, center.y + extends.y, center.z - extends.z); vec[6] = new Vector3(center.x - extends.x, center.y - extends.y, center.z - extends.z); vec[7] = new Vector3(center.x + extends.x, center.y - extends.y, center.z - extends.z); Vector3 center2 = GO1.collider.bounds.center;//Находим баунды для второго бокса Vector3 extends2 = GO1.collider.bounds.extents; vec2[0] = new Vector3(center2.x - extends2.x, center2.y + extends2.y, center2.z + extends2.z); vec2[1] = new Vector3(center2.x + extends2.x, center2.y + extends2.y, center2.z + extends2.z); vec2[2] = new Vector3(center2.x - extends2.x, center2.y - extends2.y, center2.z + extends2.z); vec2[3] = new Vector3(center2.x + extends2.x, center2.y - extends2.y, center2.z + extends2.z); vec2[4] = new Vector3(center2.x - extends2.x, center2.y + extends2.y, center2.z - extends2.z); vec2[5] = new Vector3(center2.x + extends2.x, center2.y + extends2.y, center2.z - extends2.z); vec2[6] = new Vector3(center2.x - extends2.x, center2.y - extends2.y, center2.z - extends2.z); vec2[7] = new Vector3(center2.x + extends2.x, center2.y - extends2.y, center2.z - extends2.z);
Для большей ясности вот картинка: Блиин ребята буду очень блогадарен за помощь, а то я уже третий день понять не могу.
Сообщение отредактировал Dushik - Пн, 23 Сен 2013, 12:04
Сообщение Народ помогите решить проблемму ! У меня есть два бокса и я нашел у них все 16 координат для каждого угла (по 8 на каждый бокс), а теперь мне надо как то присвоить позиции угла одного бокса, позиции угла другого.. Сдвигать центр пивот кубов с помошью пустого объекта не катит Все углы нашел спомошью этого кода: Код
using UnityEngine; using System.Collections; public class example : MonoBehaviour { public Vector3[] vec = new Vector3[8]; public Vector3[] vec2 = new Vector3[8]; public GameObject GO1; void Update() { Vector3 center = gameObject.renderer.bounds.center; //Находим баунды для первого бокса Vector3 extends = gameObject.renderer.bounds.extents; vec[0] = new Vector3(center.x - extends.x, center.y + extends.y, center.z + extends.z); vec[1] = new Vector3(center.x + extends.x, center.y + extends.y, center.z + extends.z); vec[2] = new Vector3(center.x - extends.x, center.y - extends.y, center.z + extends.z); vec[3] = new Vector3(center.x + extends.x, center.y - extends.y, center.z + extends.z); vec[4] = new Vector3(center.x - extends.x, center.y + extends.y, center.z - extends.z); vec[5] = new Vector3(center.x + extends.x, center.y + extends.y, center.z - extends.z); vec[6] = new Vector3(center.x - extends.x, center.y - extends.y, center.z - extends.z); vec[7] = new Vector3(center.x + extends.x, center.y - extends.y, center.z - extends.z); Vector3 center2 = GO1.collider.bounds.center;//Находим баунды для второго бокса Vector3 extends2 = GO1.collider.bounds.extents; vec2[0] = new Vector3(center2.x - extends2.x, center2.y + extends2.y, center2.z + extends2.z); vec2[1] = new Vector3(center2.x + extends2.x, center2.y + extends2.y, center2.z + extends2.z); vec2[2] = new Vector3(center2.x - extends2.x, center2.y - extends2.y, center2.z + extends2.z); vec2[3] = new Vector3(center2.x + extends2.x, center2.y - extends2.y, center2.z + extends2.z); vec2[4] = new Vector3(center2.x - extends2.x, center2.y + extends2.y, center2.z - extends2.z); vec2[5] = new Vector3(center2.x + extends2.x, center2.y + extends2.y, center2.z - extends2.z); vec2[6] = new Vector3(center2.x - extends2.x, center2.y - extends2.y, center2.z - extends2.z); vec2[7] = new Vector3(center2.x + extends2.x, center2.y - extends2.y, center2.z - extends2.z);
Для большей ясности вот картинка: Блиин ребята буду очень блогадарен за помощь, а то я уже третий день понять не могу. Автор - Dushik Дата добавления - 23 Сен 2013 в 12:03