Как поменять позицию у баунда (Bounds) - Форум Игроделов
Вт, 04 Фев 2025, 03:02 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Как поменять позицию у баунда (Bounds)
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
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025