Столкнулся с такой задачей, необходимо узнать размеры объекта (ОБ1) в сцене и изменить размеры другого объекта(ОБ2) в зависимости от размеров первого(ОБ1)
Кусочки кода = )
Синтаксис:
Используется csharp
using UnityEngine;
using System;
using System.Collections;
public class MC : MonoBehaviour
{
GameObject MOI;
GameObject YG;
/*при запуске ищу объекты в сцене над которыми будут производиться действия
MOI - ГУИ текст для отображения полученного значения размера
YG - рамка (объемный объект сцены, а не ГУИ текстура) которая будет появляться вокруг объекта при наведении мыши
*/
void Start ()
{
MOI= GameObject.Find("MOI");
YG= GameObject.Find("newRamka");
}
void OnMouseEnter()
{
YG.transform.localScale = new Vector3 (?,?,?);
MOI.guiText.text = this.collider.bounds.size.x + "";
}
}
using System;
using System.Collections;
public class MC : MonoBehaviour
{
GameObject MOI;
GameObject YG;
/*при запуске ищу объекты в сцене над которыми будут производиться действия
MOI - ГУИ текст для отображения полученного значения размера
YG - рамка (объемный объект сцены, а не ГУИ текстура) которая будет появляться вокруг объекта при наведении мыши
*/
void Start ()
{
MOI= GameObject.Find("MOI");
YG= GameObject.Find("newRamka");
}
void OnMouseEnter()
{
YG.transform.localScale = new Vector3 (?,?,?);
MOI.guiText.text = this.collider.bounds.size.x + "";
}
}
По идее за место new Vector3 (?,?,?); должны стоять некоторые размеры полученные посредством collider.bounds.size.(xyz) или renderer.bounds.size.(xyz), но при выводе в гуи текст я понял что эти значения слишком малы для YG.transform.localScale, если эти значения в сцене равны (1,1,1) то Bounds мне выдает число аж в -9 степени
я так понял что должен быть способ сконвертировать результаты полученные в Bound для Transform, но вот как это сделать?
Спасибо за внимание. Буду рад любой оказанной посильной помощи по данному вопросу.