|
Unity Мультиплатформенный инструмент для разработки игр |
24.03.2012, 13:47
|
#736
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Фак по Юнити.
Оу. Понятно.
|
(Offline)
|
|
24.03.2012, 13:51
|
#737
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
С другой стороны можно использовать какую-то внешнюю программу, которая может считать время работы Unity.
|
(Offline)
|
|
24.03.2012, 13:57
|
#738
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Фак по Юнити.
Я просматривал такие программы, они считывают время Unity, но в целом, а я хотел бы такую фичу для каждого проекта (как в FL Studio, например, или в MapZone2).
Все же, проживу и без этой фичи.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.03.2012, 16:57
|
#739
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Фак по Юнити.
Как же плохо, что в инспекторе не отображаются свойства. Можно как-то обработать изменение поля в инспекторе?
Есть у меня скрипт Plane. Для удобства я в скрипте добавляю, настраиваю и скрываю MeshFilter и MeshRenderer. Но нужно как-то из скрипта Plane изменять материал. Да и не плохо было бы поле сделать, которое изменяло бы цвет, причем не материала, а вершин, для большей скорости.
|
(Offline)
|
|
25.03.2012, 17:44
|
#740
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
|
(Offline)
|
|
25.03.2012, 18:45
|
#741
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Фак по Юнити.
к Editor'у всегда можно обратиться.
В чем отличие sharedMaterial от material? Я так понимаю sharedMaterial надо использовать для чтения, а material для записи, но почему так.
И я так понимаю в шейдере можно отключить цвет вершин? А то в Unlit шейдерах цвет не работает(
|
(Offline)
|
|
25.03.2012, 19:07
|
#742
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
sharedMaterial общий материал на все экземпляры, при изменении - меняется ан всех моделях, material - индивидуальный(становится индивидуальным при изменении)
Можно включить, в большинстве случаев он не используется.
|
(Offline)
|
|
25.03.2012, 19:49
|
#743
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Фак по Юнити.
Сообщение от pax
Можно включить, в большинстве случаев он не используется.
|
Только, если через материал изменять цвет, то батчинг перестает работать(
Сейчас заметил какую-то странность. Есть поле [SerializeField] private Color color; Если в редакторе я его изменяю в своем Editor'е, то при запуске игры цвет меняется на прежний, а если через дефолтный инспектор меняю, то все норм. Как это понимать? Да и раньше не сталкивался с таким. Скрипт помечен как ExecuteInEditMode.
|
(Offline)
|
|
25.03.2012, 20:33
|
#744
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
|
(Offline)
|
|
28.03.2012, 19:12
|
#745
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Делаю пик-ап предметов.
Система для подъема такая: если персонаж находится на каком-то расстоянии от предмета с тегом 'tk', то при нажатии клавиши персонаж его "подымает", при нажатии той же клавиши еще раз - "бросает".
Проблема в том, что если положить префаб предмета на сцену при её редактировании и запустить проект, то поднять этот предмет персонаж сможет. При бросании спавнится предмет из того-же прифаба, с тем же тегом, но его поднять уже не получается. Почему?
|
(Offline)
|
|
28.03.2012, 19:44
|
#746
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Фак по Юнити.
Каким образом ты находишь список предметов, исходя из которых вычисляешь расстояние и далее поднимаешь?
Видимо ошибко в твоём коде, где-то логически ты возможно указал конкретный предмет, что использует его идентификатор, и при повторном спауне, его идентификатор меняется.
|
(Offline)
|
|
28.03.2012, 19:59
|
#747
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Фак по Юнити.
Пример:
private GameObject pickedGO = null; public float distance;
public void Update() { if(Input.GetMouseButtonDown(0)) { if(pickedGO!= null) { Throw(pickedGO); pickedGO = null; } else {
var distToPickedObject = float.MaxValue; GameObject picked = null; foreach (var obj in GameObject.FindGameObjectsWithTag("tk")) { var dist = Vector3.Distance(obj.transform.position, transform.position); if(dist<distToPickedObject) { distToPickedObject = dist; picked = obj; } }
if (picked != null && distToPickedObject <= distance) { PickUp(picked); pickedGO = picked; } } } }
функции Throw и PickUp надо создать самостоятельно для обработки бросания и подбора объекта соответственно.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.03.2012, 20:02
|
#748
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
MoKa, вот так я определяю предмет:
obj_rv_wp = GameObject.FindGameObjectWithTag("rv01").transform;
Так расстояние ('private Transform thtr;'):
Vector3.Distance(obj_rv_wp.position, thtr.position) < 4.0f
Ключевую роль здесь играет тег. Я попробовал заспавнить несколько одинаковых объектов из одного прифаба - теги у всех одинаковые. Но скрипт реагирует на предмет с тем же тегом, но установленным на сцену при её редактировании.
|
(Offline)
|
|
28.03.2012, 20:36
|
#749
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Фак по Юнити.
FindGameObjectWithTag, возвращает один объект, а не список объектов.
Тебе нужен список объектов, и затем цикл с проверкой на расстояния.
Посмотри на пример который привёл pax.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.03.2012, 22:02
|
#750
|
ПроЭктировщик
Регистрация: 15.06.2011
Сообщений: 111
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Фак по Юнити.
Как исправить данную ошибку? Скрипт не может найти предмет, координаты которого я пытаюсь узнать, хотя на сцене он присутствует.
error CS1061: Type `UnityEngine.GameObject' does not contain a definition for `position' and no extension method `position' of type `UnityEngine.GameObject' could be found (are you missing a using directive or an assembly reference?)
|
GameObject[] weaps = GameObject.FindGameObjectsWithTag("rv");
foreach (GameObject weap in weaps) {
if (Vector3.Distance(weap.position, myTransform.position) < 4.0F) {
if (Input.GetKeyUp("g")) {
weapon2_e = true; weapon1_e = false; weapon2_e = false;
weapon2_rv_pick = true; }
}
}
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:19.
|