[РЕШЕНО]Исчезает объект при повороте камеры, изм. localscale

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

[РЕШЕНО]Исчезает объект при повороте камеры, изм. localscale

Сообщение niteko 06 сен 2013, 18:56

Спасибо огромное этому человеку seaman, он помог решить мне данную проблему.
ОТВЕТ:
Вся проблема была в том, что я изменял размер кубов при одной камере, а бегал и наблюдал их при другой, поэтому и возник этот баг. Решил я его с помощью этого скрипта:
Синтаксис:
Используется csharp
GameObject[] go = GameObject.FindGameObjectsWithTag("Saved");
for (int i = 0; i < go.Length; i++)
{
        go[i].GetComponent<MeshFilter>().mesh.RecalculateBounds();
}
 

Saved - это таг объектов, которым я изменял размер.
Я запускаю этот скрипт после того, как меняю камеру и создаю ферст персон!!!

Сам вопрос:
Я динамически изменяю размер объекта(куба) вот так:
Синтаксис:
Используется csharp
GUI.Box(new Rect(Screen.width - 110, 10, 100, 125), "Размер");
toolbarInt = GUI.Toolbar (new Rect (Screen.width - 105, 35, 90, 20), toolbarInt, toolbarStrings);
if (GUI.Button(new Rect(Screen.width - 105, 60, 90, 20), "X"))
{
        if (toolbarInt == 0)
                target.transform.localScale += new Vector3(0.5f, 0, 0);
        else
                if (target.transform.localScale.x > 0.5f)
                        target.transform.localScale += new Vector3(-0.5f, 0, 0);
}
                       
if (GUI.Button(new Rect(Screen.width - 105, 85, 90, 20), "Y"))
{
        if (toolbarInt == 0)
                target.transform.localScale += new Vector3(0, 0.5f, 0);
        else
                if (target.transform.localScale.y > 0.5f)
                        target.transform.localScale += new Vector3(0, -0.5f, 0);
}
                       
if (GUI.Button(new Rect(Screen.width - 105, 110, 90, 20), "Z"))
{
        if (toolbarInt == 0)
                target.transform.localScale += new Vector3(0, 0, 0.5f);
        else
                if (target.transform.localScale.z > 0.5f)
                        target.transform.localScale += new Vector3(0, 0, -0.5f);
}


Проблема: Все это дело наблюдает фёрст персон контроллер, но если камера уходит в строну(увеличенный объект-куб еще в поле зрения), то текстура куба пропадает. Тень остается и по нему еще можно бегать.

Вопрос: Как правильно изменять размер объекта динамически чтобы таких проблем не наблюдать?
З.Ы. Если менять размер объекта в самом редакторе, то проблем с отображением текстур куба не наблюдается при любых поворотах камеры.
Видел подобную тему на англ. форумах, но ответов там не было.
Последний раз редактировалось niteko 14 сен 2013, 18:42, всего редактировалось 1 раз.
niteko
UNец
 
Сообщения: 8
Зарегистрирован: 26 июл 2013, 20:04

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение niteko 07 сен 2013, 14:51

Никто с подобным не встречался?
niteko
UNец
 
Сообщения: 8
Зарегистрирован: 26 июл 2013, 20:04

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение Receptor 07 сен 2013, 16:10

Анимация есть на кубе?
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение getAlex 07 сен 2013, 16:28

niteko писал(а):if (GUI.Button(new Rect(Screen.width - 105, 60, 90, 20), "X"))
{
if (toolbarInt == 0)
target.transform.localScale += new Vector3(0.5f, 0, 0);
else
if (target.transform.localScale.x > 0.5f)
target.transform.localScale += new Vector3(-0.5f, 0, 0);
}

Ты хоть понял что ты написал?
Если ты кликаешь на кнопку "Х" и у тебя первая закладка тулбара, то ты увеличиваешь скейл, а если у тебя закладка не первая, то ты проверяешь чтоб скейл был не больше 0.5 и в противном случае его уменьшаешь.
getAlex
Адепт
 
Сообщения: 1775
Зарегистрирован: 10 авг 2013, 18:30

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение niteko 07 сен 2013, 17:13

Receptor писал(а):Анимация есть на кубе?


Нету никакой анимации.

getAlex писал(а):Ты хоть понял что ты написал?
Если ты кликаешь на кнопку "Х" и у тебя первая закладка тулбара, то ты увеличиваешь скейл, а если у тебя закладка не первая, то ты проверяешь чтоб скейл был не больше 0.5 и в противном случае его уменьшаешь.


Я прекрасно понимаю что пишу. Вы, наверно, неправильно меня поняли, у меня нет проблем с изменением размера объекта, у меня проблема в исчезновении объекта при передвижении камеры. И в условии у меня не "не больше", а "не меньше".

Если более разжевано: Я изменяю размер через скрипт во время игры у куба, нажимаю десять раз на кнопочку Х при вкладке увеличения. Объект увеличивается по оси Х в 10 раз. Все нормально, все работает, если бы только не одно но... Но если я поворачиваю камеру так, чтобы я мог видеть только 1\3 куба, то текстура куба ИСЧЕЗАЕТ, исчезает только текстура. У меня есть подозрения, что когда камера перестает наблюдать первоначальный размер куба, то текстура убирается(типо для уменьшения нагрузки).

Пример на смайликах:
Скрытый текст:
1. :D (первоначальный куб)
2. :) :) :D :) :) (после увеличения по оси Х)
3. :) :) :D :) (сдвигаем камеру)
4. :) :) :D (еще сдвигаем камеру)
5. текстура исчезла ( должен был быть результат :) :) )
niteko
UNец
 
Сообщения: 8
Зарегистрирован: 26 июл 2013, 20:04

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение niteko 11 сен 2013, 21:29

Поднимаю тему, ответ до сих пор не найден [curved_hands]
niteko
UNец
 
Сообщения: 8
Зарегистрирован: 26 июл 2013, 20:04

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение seaman 11 сен 2013, 21:44

Интересно, Вы не думали - а почему у других все работает?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение jetyb 12 сен 2013, 07:55

мутно, такое может быть если боунды неправильно просчитаны
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение seaman 12 сен 2013, 09:57

такое может быть если боунды неправильно просчитаны

Т.е. обычно это сгенерированные меши. У топикастера такой меш? НУ в крайнем случае вызовите RecalculateBounds
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение niteko 12 сен 2013, 19:18

seaman писал(а):
такое может быть если боунды неправильно просчитаны

Т.е. обычно это сгенерированные меши. У топикастера такой меш? НУ в крайнем случае вызовите RecalculateBounds

jetyb писал(а):мутно, такое может быть если боунды неправильно просчитаны


Я не очень хорошо разбираюсь в мешах, но могу сказать что я делаю:
1. Создаю примитив(куб).
2. Даю ему текстуру через renderer.sharedMaterial .
3. Изменяю его размер с помощью кнопок по одной оси.
Текстура не развертка.
НО!
Если я увеличиваю равноценно куб по всем осям, никаких багов не происходит

З.Ы. перерасчет боундов не помогает. :(
niteko
UNец
 
Сообщения: 8
Зарегистрирован: 26 июл 2013, 20:04

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение seaman 12 сен 2013, 21:21

Выкладывайте проект.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Исчезает объект при поворотах камеры, после изм. localscale

Сообщение niteko 13 сен 2013, 22:28

seaman писал(а):Выкладывайте проект.

Как залью проект на дропбокс, кину вам ссылку на скачивание в личку.
niteko
UNец
 
Сообщения: 8
Зарегистрирован: 26 июл 2013, 20:04

Re: [РЕШЕНО]Исчезает объект при повороте камеры, изм. localscale

Сообщение niteko 14 сен 2013, 18:43

Вопрос решен!
niteko
UNец
 
Сообщения: 8
Зарегистрирован: 26 июл 2013, 20:04


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 29