Вопрос-[ответ] по Unity
| |
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
lentinant | Дата: Воскресенье, 16 Марта 2014, 01:25 | Сообщение # 5761 |
ленивый программист
Сейчас нет на сайте
| Voresh, я могу ошибаться, но, вроде бы, если вы не назначили значение массиву tile вручную в инспекторе, то надо его инстансировать в коде. Код Tile[] tile= new Tile[5]; Добавлено (16.03.2014, 00:58) --------------------------------------------- Да, у меня внезапно возник такой вопрос - а какое значение transform.parent у объекта, который выше всех в иерархии? null? Или есть какой-то абстрактный объект, типа root с флэша? Добавлено (16.03.2014, 01:25) --------------------------------------------- Все, ясно, null. Жаль, получается, надо еще одну заглушку писать.
Когда-то тут будут ссылки на крутые проекты. Или нет.
Сообщение отредактировал lentinant - Воскресенье, 16 Марта 2014, 00:50 |
|
| |
AntonioAD | Дата: Воскресенье, 16 Марта 2014, 17:58 | Сообщение # 5762 |
был не раз
Сейчас нет на сайте
| Есть ли какой то Glow, а лучше Bloom для Unity indie. Пришлось переехать с BGE на Unity free (free - т.к. будущая игра коммерческая). Indie Glow не работает.
|
|
| |
allods | Дата: Воскресенье, 16 Марта 2014, 21:05 | Сообщение # 5763 |
почти ветеран
Сейчас нет на сайте
| У меня есть один вопросик, что и куда нужно кидать чтоб использовать функции из всяких SDK(в моем случае samsung SDK) Нужео сделать apk с фишками для samsung
Ответ
jar файл в Plugins/android
Сообщение отредактировал allods - Воскресенье, 16 Марта 2014, 21:11 |
|
| |
zaicev9797 | Дата: Воскресенье, 16 Марта 2014, 21:26 | Сообщение # 5764 |
AbRaKaDaBrA
Сейчас нет на сайте
| Цитата allods ( ) Есть ли какой то Glow, а лучше Bloom для Unity indie. Пришлось переехать с BGE на Unity free (free - т.к. будущая игра коммерческая). Indie Glow не работает.
во фри версии юнити полноэкранные шейдеры не доступны
проект Mysterious Space. The losted moment
|
|
| |
lentinant | Дата: Понедельник, 17 Марта 2014, 18:20 | Сообщение # 5765 |
ленивый программист
Сейчас нет на сайте
| В общем, есть код перетягивания камеры мышкой, где, в GetMouseButtonDown (или просто GetButtonDown, не суть важно), запоминаем координату мышки и положение экрана, а в GetMouseButton отслеживаем изменение первого и соответственным образом меняем второе. Но. При этом, мне нужно будет организовывать обычный клик мышкой по GetMouseButtonDown, с определенным функционалом.
Так вот, как нормально организовать различие между щелчком мыши, и зажатой кнопкой? Пока у меня два варианта - либо делать некое время, начиная с которого щелчок считается как начало передвижения камеры, а если кнопку отпустили раньше, то это считается обычным "функциональным" щелчком, либо, прикрепить к камере объект с коллайдером, сделать так, чтобы он был под другими объектами, и реализовать передвижение с помощью функций OnMouse; по задумке, если мы щелкнем на какой-то объект, то он перекроет коллайдер, и в том не вызовется соответственная функция, поправьте меня, если я не прав.Добавлено (17.03.2014, 18:20) --------------------------------------------- Конечно, можно реализовать взаимодействие с объектами по OnMouseUp, однако, получится, можно будет зажать кнопку, потягать камеру, после чего навести курсор на объект, отпустить кнопку, и действие выполнится.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
allods | Дата: Вторник, 18 Марта 2014, 01:17 | Сообщение # 5766 |
почти ветеран
Сейчас нет на сайте
| Какой самый быстрый в плане производительности метод для послания переменных из одного объекта другому в js? GetComponent очень медленный
Сообщение отредактировал allods - Вторник, 18 Марта 2014, 01:17 |
|
| |
beril | Дата: Вторник, 18 Марта 2014, 01:24 | Сообщение # 5767 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| почему нельзя кешировать GetComponent ?
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
allods | Дата: Вторник, 18 Марта 2014, 02:26 | Сообщение # 5768 |
почти ветеран
Сейчас нет на сайте
| Цитата beril ( ) кешировать GetComponent ? А можно подробней?
|
|
| |
lentinant | Дата: Вторник, 18 Марта 2014, 13:48 | Сообщение # 5769 |
ленивый программист
Сейчас нет на сайте
| Цитата allods ( ) А можно подробней? Вместо того, чтобы брать GetComponent каждый раз, загоняешь его в начале игры в переменную, и обращаешься уже к переменной.Добавлено (18.03.2014, 13:48) --------------------------------------------- Возник такой вопрос - как лучше всего реализовать тактическую паузу (остановку геймплея, с целью раздачи команд и т.д.).
Первая мысль была через TimeScale. Однако, это повлияет на выполнение Update, а это уже мешает реализации некоторых геймплейных фич (например, у меня отказывает зум камеры, который реализован через Update). Вторая мысль - переменная-заглушка, которая меняется по нажатии кнопки, и мешает выполнять соответственные функции. Но это очень кривой метод, так как требует внедрения в куче мест в коде, и может довольно криво отобразиться на игре (к примеру, игра остановится, а анимации продолжатся).
В общем, нужны ваши мысли по этому поводу. Было бы неплохо узнать о каком-то аналоге TimeScale, существующим локально в каждом объекте (вдруг такой есть, как в UDK).
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
Storm54 | Дата: Вторник, 18 Марта 2014, 19:41 | Сообщение # 5770 |
постоянный участник
Сейчас нет на сайте
| Мне в голову пришел такой способ: Создаем свой класс, который наследуем от MonoBehaviour. Пишем там пару виртуальных методов - аналоги Update() и FixedUpdate() (возможно и других методов, которые будут необходимы) В этом классе объявляем свою переменную pause и делаем ее статической. Теперь в методах Update() FixedUpdate() и т.д. (стандартные юнитековские) прописываем условие, если pause == false, то вызывать наши виртуальные методы. Теперь классы всех объектов, у которых нужно просчитывать логику(юниты и т.д.) наследуем от класса, который написали. Переопределяем все методы, которые описали и используем их вместо стандартных. Теперь они выполняются только тогда, когда игра не стоит на паузе. Идеальный вариант, если хочется красивого кода. Насчет анимации я пока не придумал
|
|
| |
lentinant | Дата: Вторник, 18 Марта 2014, 21:34 | Сообщение # 5771 |
ленивый программист
Сейчас нет на сайте
| Storm54, очень даже неплохая идея, спасибо. Добавлено (18.03.2014, 21:34) --------------------------------------------- Главное, что текущий код требует минимум изменений.
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
Adom | Дата: Среда, 19 Марта 2014, 12:30 | Сообщение # 5772 |
Печенька!
Сейчас нет на сайте
| В общем такая проблема. Я сделал системку падения так-вот и она у меня действует так что если прыгнешь то будет коцать. Я хотел решить эту проблему путем обнуления....Но не получилось. Код using UnityEngine; using System.Collections;
public class HealthBox : MonoBehaviour { public Transform Player; public float CurHealth; public float MaxHealth; public float CurEXP=0; public float MaxEXP=500; public int levl=1; public int Energy= 20; public int WeaponDamage=10; public Texture2D Bar; public GUISkin Skin; public bool Levl_Up; public CharacterController Cc; public float Fall; public GameObject Blood; public float BloodTime; public AudioClip Hit; // Use this for initialization void Start () { } // Update is called once per frame void Update () { if(!Cc.isGrounded){ Fall+=Time.deltaTime*2; return; } if(Cc.isGrounded){ BloodTime+=Time.deltaTime*5; return; } if(Cc.isGrounded&&Fall>=1.5f){ CurHealth-=Fall; Fall=0; Blood.SetActive(true); audio.clip = Hit; audio.Play(); }else{ if(BloodTime>=5.0f){ Blood.SetActive(false);
} } } void OnGUI(){ GUI.skin = Skin; //HealthBar GUI.Label(new Rect(60,700,150,50),CurHealth+"/"+MaxHealth); GUI.Box(new Rect(60,700,50,20),""); //EXPBar GUI.Label(new Rect(60,725,150,50),CurEXP+"/"+MaxEXP); GUI.Box(new Rect(60,725,75,20),""); //Bar GUI.DrawTexture(new Rect(10,700,50,50),Bar); if(CurEXP==MaxEXP){ Levl_Up=!Levl_Up; GUI.Label(new Rect(30,725,50,50),levl+""); } } public void LevlUp(){ if(CurEXP==MaxEXP&&Levl_Up){ levl+=1; MaxEXP+=2000; } CurEXP+=500; } } Вот код может вы поможете разобраться ?Добавлено (19.03.2014, 12:30) --------------------------------------------- Хотя... Все решил )
|
|
| |
lentinant | Дата: Среда, 19 Марта 2014, 13:25 | Сообщение # 5773 |
ленивый программист
Сейчас нет на сайте
| Adom, а почему нельзя было вместо собственной переменной использовать rigidbody.velocity.magnitude?
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
Adom | Дата: Среда, 19 Марта 2014, 18:21 | Сообщение # 5774 |
Печенька!
Сейчас нет на сайте
| lentinant, Можно было но... Я с этой штукой еще не дружу )
|
|
| |
lentinant | Дата: Среда, 19 Марта 2014, 20:51 | Сообщение # 5775 |
ленивый программист
Сейчас нет на сайте
| Для подвижного окна достаточно добавить GUI.DragWindow() в конец функции окна? В каких случаях это может не работать?
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
PoqXert | Дата: Четверг, 20 Марта 2014, 10:15 | Сообщение # 5776 |
постоянный участник
Сейчас нет на сайте
| Нужно ещё менять rect окна. т.е. надо писать rectWindow = GUI.Window(0, rectWindow, ........
Расширения для Unity3D Блог программиста - PoqXert.ru
|
|
| |
lentinant | Дата: Четверг, 20 Марта 2014, 12:19 | Сообщение # 5777 |
ленивый программист
Сейчас нет на сайте
| PoqXert, делал, ноль толку.
Добавлено (20.03.2014, 12:19) --------------------------------------------- Но уже неважно, теперь нет необходимости в передвижении окна. Пока что.
Когда-то тут будут ссылки на крутые проекты. Или нет.
Сообщение отредактировал lentinant - Четверг, 20 Марта 2014, 12:20 |
|
| |
Adom | Дата: Пятница, 21 Марта 2014, 21:43 | Сообщение # 5778 |
Печенька!
Сейчас нет на сайте
| Можете помочь ? Я добавил на кубик DragRigidbody но игрок не хочет его поднимать в чем дело ? Сам Rigidbody ставил Добавлено (21.03.2014, 21:43) --------------------------------------------- Ау... Что никто не встречал такую проблему?
|
|
| |
allods | Дата: Суббота, 22 Марта 2014, 01:29 | Сообщение # 5779 |
почти ветеран
Сейчас нет на сайте
| Сделал лайт маппинг в проекте, теперь при запуске игра просто вылетает после значка unity Удалил лайт маппинг все ровно вылетает Что зв хрень? кто сталкивался с такой проблемой
|
|
| |
Voresh | Дата: Суббота, 22 Марта 2014, 13:38 | Сообщение # 5780 |
частый гость
Сейчас нет на сайте
| Делаю игру в 2D, подскажите, пожалуйста, как мне сдвинуть спрайт вправо(например) ровно на один пиксель?
|
|
| |
|