Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
SnakeR | Дата: Понедельник, 02 Апреля 2012, 12:46 | Сообщение # 1821 |
постоянный участник
Сейчас нет на сайте
| Делаю кнопки на плашках. Стандартный GUI не нравится. Но вот вопрос, как сделать событие нажатия на плашку мышкой/пальцем(для мобильника) ??
Unity3D Developer Ваш лучший помощник при разработке в Unity3D
|
|
| |
MyACT | Дата: Понедельник, 02 Апреля 2012, 13:38 | Сообщение # 1822 |
C# CODERS
Сейчас нет на сайте
| Через команду,пробуй Touch или как то так,что то похожее видел когда набирал
3дэшечки: https://sketchfab.com/myactyindie Курентли воркс он: https://myacty.itch.io/raskopnik
|
|
| |
SnakeR | Дата: Понедельник, 02 Апреля 2012, 13:39 | Сообщение # 1823 |
постоянный участник
Сейчас нет на сайте
| MyACT, про тач я знаю =) Вопрос именно как узнать что я нажал там где надо и именно на свою плашку. Луч пускать что ли...
Unity3D Developer Ваш лучший помощник при разработке в Unity3D
Сообщение отредактировал SnakeR - Понедельник, 02 Апреля 2012, 13:40 |
|
| |
Povstalez | Дата: Понедельник, 02 Апреля 2012, 14:48 | Сообщение # 1824 |
постоянный участник
Сейчас нет на сайте
| Quote (SnakeR) про тач я знаю =) Вопрос именно как узнать что я нажал там где надо и именно на свою плашку. Луч пускать что ли... а отслеживать нажатие в самой плашке? Вроди OnMouseDown за это отвечает.
|
|
| |
Самоделкин | Дата: Понедельник, 02 Апреля 2012, 17:24 | Сообщение # 1825 |
участник
Сейчас нет на сайте
| Че-то я не догоняю в чем сложность. Разве обязательно Touch должен быть привязан к button? Видимо не понял вопрос. Если интересует конкретное место тыка на экране, то мб touch.position вам поможет?Добавлено (02.04.2012, 17:24) --------------------------------------------- Подскажите почему когда я делаю chek for updates то вижу сообщение: "The Unity Editor is up to date. Curently installed version 3.4.2f3". Как именно обновиться до версии 3.5 (и стоит ли?)
|
|
| |
Kp0c124578 | Дата: Понедельник, 02 Апреля 2012, 19:45 | Сообщение # 1826 |
был не раз
Сейчас нет на сайте
| Кто подскажет как получать процент загрузки при использрвании Application.LoadLevelAsync ?
|
|
| |
_LeVoID_ | Дата: Понедельник, 02 Апреля 2012, 22:45 | Сообщение # 1827 |
VoID
Сейчас нет на сайте
| Можете подсказать пожалуйста, как реализовать такой момент. Получается, когда игрок становится на платформу, то подлетает вверх (действин аналогично прыжку, только сильнее и срабатывает только при соприкосновении с платформой).
QLines v1.3 Forest Owl
|
|
| |
Povstalez | Дата: Вторник, 03 Апреля 2012, 00:08 | Сообщение # 1828 |
постоянный участник
Сейчас нет на сайте
| Quote (_LeVoID_) Можете подсказать пожалуйста, как реализовать такой момент. Получается, когда игрок становится на платформу, то подлетает вверх (действин аналогично прыжку, только сильнее и срабатывает только при соприкосновении с платформой). Ну тут через триггер. OnTriggerEnter(Stay) и даёшь импульс игроку по оси y
|
|
| |
MyACT | Дата: Вторник, 03 Апреля 2012, 06:12 | Сообщение # 1829 |
C# CODERS
Сейчас нет на сайте
| _LeVoID_, как сказали выше,но ты только добавь Vector3 и будет готово
3дэшечки: https://sketchfab.com/myactyindie Курентли воркс он: https://myacty.itch.io/raskopnik
|
|
| |
YeT_1 | Дата: Вторник, 03 Апреля 2012, 18:39 | Сообщение # 1830 |
3D Rad Guru
Сейчас нет на сайте
| Всем привет. Может и был уже такой вопрос, может и нет, я не видел. (Может и плохо смотрел ). Суть вопроса в экспорте моделей из Google SketchUP в формат, который годен для Unity ( насколько я знаю это *.fbx ). Есть ли у кого ссылка на данный плагин? Буду очень благодарен, ну и как стимул - плюс в репутацию
|
|
| |
Самоделкин | Дата: Вторник, 03 Апреля 2012, 19:49 | Сообщение # 1831 |
участник
Сейчас нет на сайте
| PlayUp tools называется плагин. Ссылку посеял, но ее легко нагуглить. . Также этот плагин бесплатно доступен на Asset Store прямо из Интерфейса Юнити. Плагин ставится на сам СкетчАп и в Юнити. На сайте самих разработчиков плагина рекомендую также прочесть все рекомендации о том как лучше делать модели для Юнити и перегонять их (там страничка всего) и подробный туториал. Рекомендую поставить на ScetchUp еще и плагины которые на своей странице рекомендуют авторы PlayUp - это поможет избежать некоторых косяков ScetchUp типо того, что вместо нескольких полигонов создается целая куча. И вообще на их сайте много полезных и простых советов (всегда все объединять в компоненты, уменьшать простыми способами кол-во полигонов и тому подобное) Вспомнил! http://www.playuptools.com/ ---------------------------------------------------------------------
А я зашел свой вопрос задать Есть платформа на которую падают предметы (если грбо,то 3Dтетрис). Требуется озвучить столкновение предметов с платформой. Платформа неподвижна и можно если что использовать координаты падающего предмета как условие. Самое простое для меня, что пришло в голову - это добавить аудиоисточники к префабам падающих предметов и задать срабатывание при достижении нужного значения Y. Но тогда создается очень много аудиоисточников. Я пробовал добавить в скрипт падающего объекта (добавив к нему аудиокомпонент) следующее: Code void Update(){ if (myTransform.position.y <= 1) myTransform.audio.Play(); }
Но не работает. (правда иногда внезапно и невпопад клип вдруг проигрывается) А вот добавить в платформу аудиоисточник и в скрипте привязанному к платформе заставить его срабатывать я никак не могу. Прошу помощи (С#) ЗЫЫ: Если я хочу (но это необязательно), чтобы звук исходил именно из точки соприкосновения падающего предмета и платформы, уадиоисточник нужно добавить в префаб падающих объектов или в платформу и как-то "двигать" его? спс
Сообщение отредактировал Самоделкин - Вторник, 03 Апреля 2012, 20:51 |
|
| |
SnakeR | Дата: Вторник, 03 Апреля 2012, 20:41 | Сообщение # 1832 |
постоянный участник
Сейчас нет на сайте
| Самоделкин, сделай префаб (пустышка с источником звука), создавай префаб в точке столкновения и звук будет проигрываться в этом месте.
Unity3D Developer Ваш лучший помощник при разработке в Unity3D
|
|
| |
Самоделкин | Дата: Вторник, 03 Апреля 2012, 21:41 | Сообщение # 1833 |
участник
Сейчас нет на сайте
| SnakeR спс за подсказку Я создал префаб "boom" по твоему совету (в нем только transform и audiosourse). И поскольку у меня одновременно несколько клонов объектов могут падать, я добавил строки для аудио в скрипт прикрепленный к падающем объекту (это правильно или стоило крепить скрипт к чему другому в сцене?). Звук должен срабатывать когда объект достигает y=1. Если коротко, то приблизительно так: Code public class BrickScript : MonoBehaviour
{ //myTransform это падающий объект, boom - это префаб со звуком private Transform myTransform; public Transform boom; void Update(){ if (myTransform.position.y > 1) myTransform.position -= Vector3.up * fallspeed * Time.deltaTime; if (myTransform.position.y <= 1) ypos =1 - myTransform.position.y; myTransform.position =myTransform.position +new Vector3(0,ypos,0); // Создание префаба boom в сцене при достижении Y=1 if (myTransform.position.y <= 1) Instantiate(boom, myTransform.position,Quaternion.identity); } } Но вот при приземлении звук начинает запускаться постоянно и бесконечно и накладываться. Это из-за функции Update видимо? Но она ведь необходима чтобы y-координата отслеживалась постоянно. Посоветуйте как нужно поступить? И что делать с префабом boom после того как звук проиграется? Уничтожить или замьютить и как именно? Он ведь уничтожится еще до того как проиграет звук?
Сообщение отредактировал Самоделкин - Вторник, 03 Апреля 2012, 21:47 |
|
| |
SnakeR | Дата: Вторник, 03 Апреля 2012, 22:06 | Сообщение # 1834 |
постоянный участник
Сейчас нет на сайте
| Самоделкин, используй audio.loop = false; Вообще почитай - AudioSourceДобавлено (03.04.2012, 22:06) --------------------------------------------- И еще, хотя код давать не в моих принципах, но все же. Code using UnityEngine; using System.Collections;
public class Death : MonoBehaviour {
IEnumerator DestroySoundIE () { audio.Play(); gameObject.renderer.enabled = false; gameObject.collider.enabled = false; while (audio.isPlaying) yield return null; Destroy(gameObject); } void OnTriggerEnter (Collider bullet) { if (bullet.gameObject.tag == "Bullet") { if (audio != null) StartCoroutine("DestroySoundIE"); else Destroy(gameObject); } } }
Это код смерти противника при попадании в него пули и проигрывание звука, переписать под твой случай труда составить не должно. Вешать на префаб со звуком. Суть в том, что при срабатывании коллайдера, запускается корутина с проигрыванием звука, пока звук не проиграется до конца, объект не уничтожится. А когда закончится звук, объект уничтожится. Собственно и цикличности проигрывания звука не будет.
Unity3D Developer Ваш лучший помощник при разработке в Unity3D
|
|
| |
Самоделкин | Дата: Вторник, 03 Апреля 2012, 22:57 | Сообщение # 1835 |
участник
Сейчас нет на сайте
| Спасибо. Но вообще не в цикличности проигрывания была засада (loop отключен и так), а в том что префаб со звуком создавался постоянно пока условие верно, а как сделать это однократно при постоянно верном условии я не знаю. У меня ведь создается огромное кол-во префабов со звуком для одного и того же объекта. Попробую под свои нужды переписать. Вот только разберусь с Coroutine и YieldInstruction
-------------------------------------- UPD Не могу победить эту фигню. Пуля ведь в твоем случае тоже уничтожается (как и враг). А у меня все объекты остаются на месте и префаб со звуком продолжает создаваться. ------------------------------ Как-то осилил я вчера эту фигню. Другим способом, но пока еще толком не понял каким подтормаживает только, но робит
Сообщение отредактировал Самоделкин - Среда, 04 Апреля 2012, 22:49 |
|
| |
Knight1032 | Дата: Пятница, 06 Апреля 2012, 19:51 | Сообщение # 1836 |
заслуженный участник
Сейчас нет на сайте
| как реализовать код движения предмета в мышь но только при её нажатии? (какой скрипт обеспечивает движение в координаты мыши(цешка или жаба-без разницы)).
Да, я программист, дизайнер, сценарист, Я сам себе издатель и сам себе игрок...
|
|
| |
Eye | Дата: Пятница, 06 Апреля 2012, 19:55 | Сообщение # 1837 |
заслуженный участник
Сейчас нет на сайте
| Knight1032, http://gcup.ru/publ/unity3d_dvizhenie_v_storonu_kursora/1-1-0-291
ICQ: 422190728, E-Mail: funnyalien@yandex.ru, Jabber: funnyalien@jabber.ru, Steam: funnyalienvalentine, Twitter: MrFunnyAlien, Skype: happyconsole, ВКонтакте: vk.com/twinemen, Мобильный: +79199212414.
Сообщение отредактировал Eye - Пятница, 06 Апреля 2012, 19:55 |
|
| |
Knight1032 | Дата: Пятница, 06 Апреля 2012, 20:01 | Сообщение # 1838 |
заслуженный участник
Сейчас нет на сайте
| Eye,
Да, я программист, дизайнер, сценарист, Я сам себе издатель и сам себе игрок...
|
|
| |
Левша | Дата: Суббота, 07 Апреля 2012, 18:34 | Сообщение # 1839 |
почти ветеран
Сейчас нет на сайте
| Quote (Knight1032) как реализовать код движения предмета в мышь но только при её нажатии? Code var plrCam : Camera; var moveSpeed : int = 5; var rotateSpeed : int = 1; var targPos : Vector3;
function Update () { if(Input.GetMouseButtonDown(0)) { var ray = plrCam.ScreenPointToRay (Input.mousePosition); var hit : RaycastHit; if (Physics.Raycast(ray, hit)) targPos = hit.point; } var targDir = targPos - transform.position; var targDist = Vector3.Distance(transform.position, targPos); if (targDist > 1.5) { transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation(targDir), rotateSpeed * Time.deltaTime); transform.rotation.z = 0; transform.rotation.x = 0; transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime); } }
X.cor.R (Prologue)
Сообщение отредактировал Левша - Суббота, 07 Апреля 2012, 18:35 |
|
| |
ReSeR | Дата: Воскресенье, 08 Апреля 2012, 21:42 | Сообщение # 1840 |
постоянный участник
Сейчас нет на сайте
| удалено...
FastRoad[PC][Android](Забыто) COSMO 3D[PC][Android](Забыто) SnowBall[PC][Android](Замороженно)
Сообщение отредактировал ReSeR - Воскресенье, 08 Апреля 2012, 21:43 |
|
| |