Здравствуйте. Такая проблемка у меня. После билда проект отображается не так, как он отображается при запуске прямо из движка. Я выяснил, что это из-за одной переменной в коде, т.к. убрав ее, результат не изменился, а при запуске из движка от нее многое зависит.
О переменной: Переменная типа Vector3. Вот куски кода, которые связаны с этой переменной:
Код
public Vector3 vel; vel = tr.InverseTransformDirection(rigidbody.velocity); if (vel.sqrMagnitude > 0.001f) vel = Quaternion.Inverse(Quaternion.LookRotation(vel))*vel*Mathf.Sign(vel.z) * velspeed; rb.velocity = tr.TransformDirection (vel + (new Vector3(0f, inp.y * Time.deltaTime * speed, inp.z * Time.deltaTime * speed)));
Что делать? Помогите, пожалуйста. Может знает кто.
Сообщение отредактировал lakoris - Четверг, 12 Декабря 2013, 22:22
if (ClosestBirthplace != null && dist < 0.15f) ЧТО-ТО ДЕЛАЕМ;
Делаем тестовый запуск в среде и видим, что условие проверяется верно, если в переменной не пусто и расстояние до объекта меньше 0.15 все работает как надо. !НО, если это сбилдить, то условие не проходит, в совершенно идентичных обстоятельствах, даже если в объекте действительно не 0. Далее видоизменяем условие с "!= null" на "!= 0". Производим теже действия и о чудо, и в среде и после билда все работает как надо, условие проверяется корректно. Я возможно что-то не понимаю, но какого дьявола?! Уж извините за эмоции.
public class Car : MonoBehaviour { public Rigidbody rb; public Transform tr; private Vector3 inp = Vector3.zero; private Vector3 vel = Vector3.zero; public float speed; public int RotateSpeed; public float velspeed; public float speed2;
// Use this for initialization void Start () { rb = rigidbody; tr = transform; }
// Update is called once per frame void Update () {
robertono, переменная vel отвечает за движение моего объекта при нажатии на клавишу. В редакторе робит отлично, а вот в билде передвигается неимоверно медленно...
Добавлено (13.12.2013, 00:40) --------------------------------------------- Мда.. Жестоко. То ли это баг, то ли я такой криворукий...
ClosestBirthplace != null это не ClosestBirthplace != 0
Можно еще писать if(!ClosestBirthplace) если не существует тоесть if(ClosestBirthplace == null) и еще if(ClosestBirthplace) для проверки если существует
allods, Вы не поняли. ClosestBirthplace - это не мое. Это у кого-то такая-же проблема была, я вам сюда цитатнул.
Добавлено (13.12.2013, 19:53) --------------------------------------------- set16, не помогло. Все так-же.
Добавлено (25.12.2013, 19:01) --------------------------------------------- Проблему решил Решение как-всегда простейшее - надо просто исправить все "Предупреждения / Warnings" в консоли. У меня их было куча из-за того, что я удалил папку со скриптами в проекте, а скрипты эти висели на объектах активных. Всем удачи)