|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
09.02.2013, 15:17
|
#1291
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
Продемонстрируйте. Потому как полная лажа. Пока не инстансируете объект из префаба не существует ни одного экземпляра скриптов, "нацепленных" на префаб. Вызывать просто нечего.
ЗЫ:
Okay уменьши картинку. Форум сильно рвет.
|
(Offline)
|
|
09.02.2013, 15:48
|
#1292
|
Знающий
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений (для 74 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от seaman
ЗЫ:
Okay уменьши картинку. Форум сильно рвет.
|
Уменьшил.
Кстати вот код спавна при успешном подключение к серверу
GameObject newplayer = GameObject.Instantiate(PlayerPrefab) as GameObject;
|
(Offline)
|
|
09.02.2013, 15:51
|
#1293
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
seaman, не знаю. Может меши не грузятся, но скрипты отлично работают.
blockSet.transform.position = Vector3.one;
Debug.Log( blockSet.transform.position );
Такой код работал.
Я вот думаю может ScriptableObject использовать. Точно не знаю, но у него OnEnable должен вызываться после его загрузки.
|
(Offline)
|
|
09.02.2013, 16:24
|
#1294
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
Что есть blockSet в данном случае?
Нет на сцене префаба, какой может быть у него position? На сцене только объекты. Или вручную помещенные туда в редакторе, или сгенерированные скриптом или инстанируемые из префабов, других объектов. Ну и что такое position у того чего нет на сцене?
Насчет ScriptableObject не знаю точно. Насколько я понимаю его нужно создавать ScriptableObject.CreateInstance или загружать из бандлов. Тогда вызовется OnEnable. Час посмотрю. Может что-то пойму получше.
|
(Offline)
|
|
09.02.2013, 16:28
|
#1295
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
seaman, position это просто поле(или свойство) скрипта Transform. Проверь, все отлично вызывается. Видно объекты все же создаются.
У ScriptableObject OnEnable вызывается и при загрузке редактора и при загрузки сцены. В моем случае с ним оказалось удобнее работать.
|
(Offline)
|
|
09.02.2013, 16:38
|
#1296
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
поле(или свойство) скрипта Transform
|
Вы вообще понимаете, что прежде чем изменить поле какого то скрипта (класса) нужно создать экземпляр этого класса? Нет экземпляра скрипта transform пока не создашь объект на котором этот скрипт висит! Если у Вас эти две строчи работают, значит у Вас есть на сцене объект blockSet. Значит вы его как то уже создали. Как - вам виднее.
|
(Offline)
|
|
09.02.2013, 16:46
|
#1297
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
Ну в -общем частично был не прав. Получается что я совсем не понимаю работы Юнити с префабами. Приношу свои извинения.
|
(Offline)
|
|
09.02.2013, 16:47
|
#1298
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Префаб в ресурсах это тоже объект, на нем висят скрипты и т.д., он просто не в сцене. Изменять его параметры и вызывать на нем функции не надо, т.к. это ведет к изменению ассета.
|
(Offline)
|
|
09.02.2013, 16:56
|
#1299
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Изменять его параметры и вызывать на нем функции не надо, т.к. это ведет к изменению ассета.
|
Ну во первых я вызывал из режима игры.
Во вторых даже если из редактора это делать, то у изменяемого скрипта должен быть атрибут [ExecuteInEditMode], еще и SetDirty возможно нужно вызывать.
|
(Offline)
|
|
09.02.2013, 16:58
|
#1300
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Из режима игры в редакторе меняются ассеты, так что осторожнее с этим.
|
(Offline)
|
|
09.02.2013, 20:07
|
#1301
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Продолжаю делать свой формат. Делаю чтобы список материалов содержался в xml файле. Т.е. хранились пути к материалам.
Получить путь к ассету легко AssetDatabase.GetAssetPath
Но как загрузить ассет зная этот путь? Resources.LoadAssetAtPath работает только в редакторе.
Или можно сохранять ID материала, а потом как-то загружать его по id?
|
(Offline)
|
|
09.02.2013, 20:23
|
#1302
|
Знающий
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений (для 74 пользователей)
|
Ответ: Вопросы от новичка
Помогите с PlayerIO. Очень нужно. Проект стоит из-за этой проблемы. А в документации ничего не написано про синхронизацию
|
(Offline)
|
|
09.02.2013, 20:27
|
#1303
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Okay, не многие с сетью работали вообще. Создай тему на профильном форуме.
|
(Offline)
|
|
09.02.2013, 21:10
|
#1304
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
Продолжаю делать свой формат. Делаю чтобы список материалов содержался в xml файле. Т.е. хранились пути к материалам.
Получить путь к ассету легко AssetDatabase.GetAssetPath
Но как загрузить ассет зная этот путь? Resources.LoadAssetAtPath работает только в редакторе.
Или можно сохранять ID материала, а потом как-то загружать его по id?
|
Грузить можно только из папки Resources. Остальные ассеты подключаются к объектам и не попадают в билд, если на них нет ссылок.
|
(Offline)
|
|
09.02.2013, 21:16
|
#1305
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
Я и так в Resources все кинул.
В документации написано что Resources.LoadAssetAtPath возвращает null в сборках.
Видимо никак не получится хранить ссылку или путь на объект, чтобы потом можно было его загрузить.
Интересно как Resources.Load поведет себя, если будет несколько ассетов с одинаковыми именами. Или он может и полный путь принимать, а не только имя?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:32.
|