|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
15.05.2016, 01:59
|
#2371
|
Гигант индустрии
Регистрация: 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
|
Бывалый
Регистрация: 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
|
Unity/C# кодер
Регистрация: 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(); ничего не происходит?
|
(Offline)
|
|
18.05.2016, 17:06
|
#2374
|
Бывалый
Регистрация: 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
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Я обычно вызываю функцию GUIUtility.ExitGUI(); и потом return после таких изменений.
Последний раз редактировалось pax, 19.05.2016 в 09:18.
|
(Offline)
|
|
21.05.2016, 13:46
|
#2376
|
Бывалый
Регистрация: 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
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
А никак нельзя узнать для какого свойства было вызвано OnValidate?
Или хотя бы для свойства оно было вызвано или нет? Ибо оно вызывается перед Awake и после OnDestroy.
|
(Offline)
|
|
25.05.2016, 16:54
|
#2378
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
А никак нельзя узнать для какого свойства было вызвано OnValidate?
Или хотя бы для свойства оно было вызвано или нет? Ибо оно вызывается перед Awake и после OnDestroy.
|
Первый раз про эту функцию услышал, к сожалению видимо в ней не определить что изменилось.
|
(Offline)
|
|
25.05.2016, 18:53
|
#2379
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Как же мешает, что изменение GUI.matrix влияет на Area или Group, которые были заданы до изменения матрицы!!!
Т.е. чтобы было что-то типа GL.PushMatrix.
Ибо часто надо рисовать с перевернутой Y координатой и в других масштабах.
Надеялся что в Unity 5 исправят, но нет(
|
(Offline)
|
|
29.05.2016, 20:15
|
#2380
|
Бывалый
Регистрация: 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
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
2WISHMASTER35
1. В OnGUI можно рисовать с использованием GL, это не решит проблемы? В целом можно так же рисовать в событии EventType.Repaint, когда Layout уже рассчитан, тогда изменение матрицы не должно повлиять на него, ну и в целом свои функции push и pop можно попробовать сделать.
2. В целом да, надо еще проверять, в какой сцене ты его редактируешь наверное) Но лучше использовать Undo.
Постоянно путаю ARA с Жекой по аватарке... немного бесить уже начинает
|
(Offline)
|
|
30.05.2016, 18:27
|
#2383
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Вопросы от новичка
Постоянно путаю ARA с Жекой по аватарке... немного бесить уже начинает
|
Как? Мы такие разные!
|
(Offline)
|
|
30.05.2016, 20:18
|
#2384
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от ARA
Как? Мы такие разные!
|
Все время казалось, что это твоя ава)
|
(Offline)
|
|
30.05.2016, 22:42
|
#2385
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от pax
2WISHMASTER35
1. В OnGUI можно рисовать с использованием GL, это не решит проблемы? В целом можно так же рисовать в событии EventType.Repaint, когда Layout уже рассчитан, тогда изменение матрицы не должно повлиять на него, ну и в целом свои функции push и pop можно попробовать сделать.
|
GL текстуру вроде бы не может нарисовать. Разве через какие-то ухищрения.
А вот вторая идея - интересная. Странно, что сам не догадался, что можно изменять матрицу не для всех событий)
pax, ты уже работал с новым UNET?
Как при спавне передать некоторые параметры (цвет, имя)?
В фотоне были photonView.owner.customProperties. И то мне этот способ не нравился ибо эти свойства будут там постоянно висеть.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:45.
|