Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 15.05.2016, 01:59   #2371
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
А перезапуск VS не помогает?
То, что ты описал происходит, когда ты открыл конкретный файл, а не проект.
Может ты не нажал Reload All, когда юнити изменил файл проекта.
Жму Reload All, но может быть иногда жму не то, что надо.

Сообщение от WISHMASTER35 Посмотреть сообщение
Подскажите, из объекта можно получить ссылку на префаб?
Попробуй это PrefabUtility.GetPrefabParent
(Offline)
 
Ответить с цитированием
Старый 15.05.2016, 15:01   #2372
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Никто не знает как в инспекторе отрисовать интерактивное превью GameObject'а?
Вот чтобы меш отрисовать есть класс PreviewRenderUtility.

    public override void OnInteractivePreviewGUI(Rect rect, GUIStyle background) {
        if(Event.current.type == EventType.MouseDrag) {
            angles.x += Event.current.delta.y;
            angles.x = Mathf.Clamp( angles.x, -60, 60 );
            angles.y += Event.current.delta.x;
            Event.current.Use();
        }

        if(Event.current.type == EventType.Repaint) {
            previewRender.m_Camera.transform.position = Vector3.zero;
            previewRender.m_Camera.transform.rotation = Quaternion.Euler( angles );
            previewRender.m_Camera.transform.Translate( 0, 0, -10 );
            previewRender.m_Camera.farClipPlane = 100;

            previewRender.BeginPreview( rect, null );

            Vector3 pos = -mesh.bounds.center;
            for(int i = 0; i < mesh.subMeshCount; i++) {
                previewRender.DrawMesh( mesh, pos, Quaternion.identity, materials[i], i );
            }

            previewRender.m_Camera.Render();
            var texture = previewRender.EndPreview();
            GUI.DrawTexture( rect, texture );

            Event.current.Use();
        }
    }
А как GameObject отрисовать не ясно. Можно конечно в тупую достать из него все меши и их рисовать. Но может есть способ по лучше?
(Offline)
 
Ответить с цитированием
Старый 15.05.2016, 18:55   #2373
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Если это ассет, то можно наверное этим методом получить превью:
http://docs.unity3d.com/ScriptRefere...etPreview.html

PS: а если GO поставить перед камерой previewRender.m_Camera перед строчкой previewRender.m_Camera.Render(); ничего не происходит?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 18.05.2016, 17:06   #2374
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Я пока использую AssetPreview.GetAssetPreview, но это просто текстура. Никакого интерактива, еще и разрешение маленькое.

PreviewRenderUtility давно появился? Почему-то только недавно я его обнаружил.
Раньше я вручную ставил и камеру и объект, чтобы отрендерить привью, но ничего хорошего так и не вышло. Лучше обойдусь GetAssetPreview.

А как правильно по нажатию мышки удалять\добавлять GUI элементы?
В редакторе вроде никаких проблем не было, а в игре кидает ошибку, что между Layout и Repaint были изменения.
ArgumentException: Getting control 2's position in a group with only 2 controls when doing mouseDown
Aborting
(Offline)
 
Ответить с цитированием
Старый 18.05.2016, 22:51   #2375
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Я обычно вызываю функцию GUIUtility.ExitGUI(); и потом return после таких изменений.
__________________
Blitz3d to Unity Wiki

Последний раз редактировалось pax, 19.05.2016 в 09:18.
(Offline)
 
Ответить с цитированием
Старый 21.05.2016, 13:46   #2376
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

В Unity 5 что-нибудь изменилось с execution order ?
Ибо в 4й версии он явно был сделан от балды.
Было бы лучше задавать execution order атрибутом для каждого класса и даже для конкретного уровня программы (namespace, например).

Сейчас же заметил, что инстансированному объекту пофиг на его execution order. Но это в юнити 4. Может в 5й уже исправили.
(Offline)
 
Ответить с цитированием
Старый 25.05.2016, 16:19   #2377
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

А никак нельзя узнать для какого свойства было вызвано OnValidate?
Или хотя бы для свойства оно было вызвано или нет? Ибо оно вызывается перед Awake и после OnDestroy.
(Offline)
 
Ответить с цитированием
Старый 25.05.2016, 16:54   #2378
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
А никак нельзя узнать для какого свойства было вызвано OnValidate?
Или хотя бы для свойства оно было вызвано или нет? Ибо оно вызывается перед Awake и после OnDestroy.
Первый раз про эту функцию услышал, к сожалению видимо в ней не определить что изменилось.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 25.05.2016, 18:53   #2379
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Как же мешает, что изменение GUI.matrix влияет на Area или Group, которые были заданы до изменения матрицы!!!
Т.е. чтобы было что-то типа GL.PushMatrix.
Ибо часто надо рисовать с перевернутой Y координатой и в других масштабах.
Надеялся что в Unity 5 исправят, но нет(
(Offline)
 
Ответить с цитированием
Старый 29.05.2016, 20:15   #2380
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Теперь EditorUtility.SetDirty не работает для объектов сцены.
Надо использовать SerializedObject, Undo.RecordObject или EditorSceneManager.MarkSceneDirty
Я теперь каждый раз должен вручную проверять принадлежит ли объект сцене или нет?!

В самой юнити, я так понял, пишут так:
	SerializedProperty damageProp;
	SerializedProperty armorProp;
	SerializedProperty gunProp;
	
	void OnEnable () {
		// Setup the SerializedProperties.
		damageProp = serializedObject.FindProperty ("damage");
		armorProp = serializedObject.FindProperty ("armor");
		gunProp = serializedObject.FindProperty ("gun");
	}
Но это же кошмар.
(Offline)
 
Ответить с цитированием
Старый 30.05.2016, 07:21   #2381
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Вопросы от новичка

Я недавно увидел полезный пункт в меню Create окна Hierarchy - "Create Empty Child", это позволяет создавать пустышку внутри выделенного объекта. скрин https://yadi.sk/i/91zF1aYxs6vKV
(Offline)
 
Ответить с цитированием
Старый 30.05.2016, 09:48   #2382
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

2WISHMASTER35
1. В OnGUI можно рисовать с использованием GL, это не решит проблемы? В целом можно так же рисовать в событии EventType.Repaint, когда Layout уже рассчитан, тогда изменение матрицы не должно повлиять на него, ну и в целом свои функции push и pop можно попробовать сделать.
2. В целом да, надо еще проверять, в какой сцене ты его редактируешь наверное) Но лучше использовать Undo.

Постоянно путаю ARA с Жекой по аватарке... немного бесить уже начинает
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 30.05.2016, 18:27   #2383
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений
(для 7,192 пользователей)
Ответ: Вопросы от новичка

Постоянно путаю ARA с Жекой по аватарке... немного бесить уже начинает
Как? Мы такие разные!
(Offline)
 
Ответить с цитированием
Старый 30.05.2016, 20:18   #2384
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от ARA Посмотреть сообщение
Как? Мы такие разные!
Все время казалось, что это твоя ава)
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 30.05.2016, 22:42   #2385
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Сообщение от pax Посмотреть сообщение
2WISHMASTER35
1. В OnGUI можно рисовать с использованием GL, это не решит проблемы? В целом можно так же рисовать в событии EventType.Repaint, когда Layout уже рассчитан, тогда изменение матрицы не должно повлиять на него, ну и в целом свои функции push и pop можно попробовать сделать.
GL текстуру вроде бы не может нарисовать. Разве через какие-то ухищрения.

А вот вторая идея - интересная. Странно, что сам не догадался, что можно изменять матрицу не для всех событий)


pax, ты уже работал с новым UNET?
Как при спавне передать некоторые параметры (цвет, имя)?
В фотоне были photonView.owner.customProperties. И то мне этот способ не нравился ибо эти свойства будут там постоянно висеть.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 13:51.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com