Четверг, 09 Мая 2024, 23:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • RacotДата: Пятница, 10 Августа 2012, 02:19 | Сообщение # 2701
    постоянный участник
    Сейчас нет на сайте
    Quote (ReSeR)
    Подскажите какой функцией можно создать систему частиц или обьект в определённом месте?

    Instantiate


    Специалист "во всем" - специалист "ни в чем"
    ------------------------------------
    Script Reference для Unity3D
    Помогу со скриптами for Unity3D
    KasperskyДата: Пятница, 10 Августа 2012, 06:47 | Сообщение # 2702
    частый гость
    Сейчас нет на сайте
    Quote
    Ээээээ.......сфера касается "Кнопки"(Куба) и выдвигается другой куб.
    Часть кода я написал(Как выдвигается куб), я прошу помочь с Collision( нужно что бы "Кнопка" реагировала только на Сollider сферы( ну или хотя бы вообще реагировала), и та часть кода (Как выдвигается куб) обращалась к нужному кубу)

    Я тут подумал, что может надо указать имя обьекта который касается "кнопки" - тоесть game.object "Sphere" onCollisionEnter, а потом указать какому обьекту присвоить этот код
    Code

    public float myTimer = 2.0f;
    if(myTimer > 0){
    myTimer -= Time.deltaTime;
    transform.Translate(new Vector3(0.0f, 0.0f, 0.1f));
    if (myTimer <= 0.0f) {
    transform.Translate(new Vector3(0.0f, 0.0f, 0.0f));

    и проблемма, конечно же, в том, что я незнаю как сделать все это рабочим dry .
    Извените за надоедливость)


    Сообщение отредактировал Kaspersky - Пятница, 10 Августа 2012, 06:58
    IIyxMASTERДата: Пятница, 10 Августа 2012, 07:45 | Сообщение # 2703
    постоянный участник
    Сейчас нет на сайте
    я не понимаю , тебе впадлу чтоль загуглить на тему "unity3d onCollisionEnter" ???
    Или ты вообще не понимаешь как в юнити триггер сделать?
    sk0rpi0nДата: Пятница, 10 Августа 2012, 09:32 | Сообщение # 2704
    Tiberium
    Сейчас нет на сайте
    Quote
    При колизии с обьектом сделать его тригером (потом не забыть включить назад smile ) , отключать соллайдер

    В этом случае уберётся вся коллизия у объекта вообще. Воспользуюсь методом Alkatraz'a. Спасибо.




    Adventures of the Purple Ball - готов.
    Wanderer - готов.
    KasperskyДата: Пятница, 10 Августа 2012, 09:51 | Сообщение # 2705
    частый гость
    Сейчас нет на сайте
    IIyxMASTER, ты вообще вопрос читал?
    Quote (Kaspersky)
    надо указать имя обьекта который касается "кнопки"

    Quote (Kaspersky)
    и проблемма, конечно же, в том, что я незнаю как сделать все это рабочим
    .
    Quote (IIyxMASTER)
    я не понимаю , тебе впадлу чтоль загуглить на тему "unity3d onCollisionEnter" ???

    Я всегда (перед тем как задать свой вопрос) гуглю.
    Quote (IIyxMASTER)
    Или ты вообще не понимаешь как в юнити триггер сделать?

    ахах, да, и еще как компьютер включить - без понятия tongue


    Сообщение отредактировал Kaspersky - Пятница, 10 Августа 2012, 10:02
    sk0rpi0nДата: Пятница, 10 Августа 2012, 09:58 | Сообщение # 2706
    Tiberium
    Сейчас нет на сайте
    Quote
    Воспользуюсь методом Alkatraz'a.

    Не работает. Возможно, потому что коллайдер у First Person Controller задаётся скриптом, или ещё по какой-то причине, но ему плевать на игнор коллизий.

    UPD: Хм, а теперь работает. Не знаю даже, что и думать. biggrin
    UPD #2: Опять не работает. Говно функция.
    Я так понял, оно только с ригидбоди работает, а я его отключаю на момент включение этой функции...




    Adventures of the Purple Ball - готов.
    Wanderer - готов.


    Сообщение отредактировал sk0rpi0n - Пятница, 10 Августа 2012, 10:09
    BrightSpotДата: Пятница, 10 Августа 2012, 21:36 | Сообщение # 2707
    заслуженный участник
    Сейчас нет на сайте
    Возможно вопрос покажется дурацким, но как определять столкновения???
    Code
    void OnCollisionEnter(Collision collision){
          Destroy(gameobject);
    }

    не реагирует...(код вытащен из справки, колизии везде проставлены, ригидбоди использовать не надо)

    Добавлено (10.08.2012, 21:36)
    ---------------------------------------------
    Уже решил(хотя и пришлось ригидбоди юзать)
    другие вопросы:
    можно ли у ригидбоди убрать гравитацыю и
    как сделать что бы при достаточно высокой скорости и небольшом размере обьект не пролетал сквозь другие обьекты??



    Более мощный компьютер глючит быстрее и точнее.
    sk0rpi0nДата: Пятница, 10 Августа 2012, 21:40 | Сообщение # 2708
    Tiberium
    Сейчас нет на сайте
    Quote
    можно ли у ригидбоди убрать гравитацыю и

    Code
    rigidbody.UseGravity=false;


    Как сделать возможность сохранения сцены во время игры?(Мне нужно сделать, чтобы сохранялось положение предметов, переменные и т.д., т.е. обычный сейвгейм, ну или как в редакторе сцена сохраняется, так же надо в игре)




    Adventures of the Purple Ball - готов.
    Wanderer - готов.
    AlcatrazДата: Пятница, 10 Августа 2012, 22:35 | Сообщение # 2709
    Unity3D Game Developer
    Сейчас нет на сайте
    useGravity, с маленькой буквы, а то ошибка будет.

    Сохранение через Xml или плеер префсы, лучше 1-е.


    Flight Dream Studio.
    Unity Game Designer.
    iNikitДата: Пятница, 10 Августа 2012, 22:58 | Сообщение # 2710
    участник
    Сейчас нет на сайте
    *Удалённый ответ*


    Самый лучший юзер GCUP :3


    Сообщение отредактировал iNikit - Пятница, 10 Августа 2012, 22:58
    sk0rpi0nДата: Суббота, 11 Августа 2012, 10:17 | Сообщение # 2711
    Tiberium
    Сейчас нет на сайте
    Quote
    useGravity, с маленькой буквы, а то ошибка будет.

    Да, постоянно забываю про этот нюанс, а в коде автоматом пишу с маленькой. biggrin
    Quote
    Сохранение через Xml или плеер префсы, лучше 1-е.

    Через префсы можно разве что сохранять деньги, очки и прочее такого типа, положение объектов запоминать через них - нужно быть совсем упоротым. biggrin
    А с Xml ещё не работал пока в Unity... А просто сцену сохранить нельзя в файл scene? biggrin

    И ещё: можно ли как-то на стандартном скайбоксе со своими текстурами убрать швы?:[Решено]


    UPD: В Unity 3.5.0 нужно включать режим мультиплеера, чтобы работали функции Network?[Решено]




    Adventures of the Purple Ball - готов.
    Wanderer - готов.


    Сообщение отредактировал sk0rpi0n - Суббота, 11 Августа 2012, 19:05
    KasperskyДата: Суббота, 11 Августа 2012, 15:42 | Сообщение # 2712
    частый гость
    Сейчас нет на сайте
    Немного не так написал предыдущий вопрос, извините happy
    Вот сам вопрос: обьект Cube должен выполнять эту часть кода
    Code
    public float myTimer = 2.0f;   
    if(myTimer > 0){   
    myTimer -= Time.deltaTime;   
    transform.Translate(new Vector3(0.0f, 0.0f, 0.1f));   
    if (myTimer <= 0.0f) {   
    transform.Translate(new Vector3(0.0f, 0.0f, 0.0f));

    (это не весь код, это часть кода которую должен выполнять обьект Куб)
    Если я не ошибаюсь, то что-бы Куб начал выполнять код, нужно указать его имя ====> game.object "Cube" и и прибавить ту часть кода, но у меня неполучается все это правильно написать.
    P.S. после решения этой проблеммы, появится новая тема в "Проекты в разработке"... smile


    Сообщение отредактировал Kaspersky - Суббота, 11 Августа 2012, 18:32
    ЛевшаДата: Суббота, 11 Августа 2012, 15:53 | Сообщение # 2713
    почти ветеран
    Сейчас нет на сайте
    Quote (sk0rpi0n)
    И ещё: можно ли как-то на стандартном скайбоксе со своими текстурами убрать швы?:

    В настройках текстур поставь:



    X.cor.R (Prologue)
    KasperskyДата: Суббота, 11 Августа 2012, 18:37 | Сообщение # 2714
    частый гость
    Сейчас нет на сайте
    Немного не так написал предыдущий вопрос, извините
    Вот сам вопрос: обьект Cube должен выполнять эту часть кода

    Если я не ошибаюсь, то что-бы Куб начал выполнять код, нужно указать его имя ====> game.object "Cube" и и прибавить ту часть кода, но у меня неполучается все это правильно написать.
    P.S. после решения этой проблеммы, появится новая тема в "Проекты в разработке"...
    IIyxMASTERДата: Суббота, 11 Августа 2012, 19:18 | Сообщение # 2715
    постоянный участник
    Сейчас нет на сайте
    Господи как ты задрал с этим тупняком =\
    создаешь куб, на который надо нажать. Создаешь сферу, вешаешь на нее ригидбоди, вешаешь на нее скрипт
    Code
    void OnTriggerEnter(Collider collider)
          {
           if (collider.name.Equals("megaSuperPuperCub") )
           {
               collider.transform.SendMessage("go");
           }
          }


    на куб вешаешь обработчик

    Code

    bool canGo = false;
    void Update()
    {
      if(canGo)
      {
       if(myTimer > 0)
        {
       myTimer -= Time.deltaTime;
       transform.Translate(new Vector3(0.0f, 0.0f, 0.1f));
       ... blablabla ...
        }
      }
    }

    void go() // - принимает сообщение от сферы
    {
    canGo = true;
    }


    Сообщение отредактировал IIyxMASTER - Суббота, 11 Августа 2012, 19:20
    KasperskyДата: Воскресенье, 12 Августа 2012, 02:45 | Сообщение # 2716
    частый гость
    Сейчас нет на сайте
    IIyxMASTER, Cпасибо! А с тупняком я действительно достал уже всех, извините...
    UPD пишет Assets/Tests2.cs(25,7): error CS0116: A namespace can only contain types and namespace declarations
    на void Go ()
    {
    canGo = true;
    }


    Сообщение отредактировал Kaspersky - Воскресенье, 12 Августа 2012, 03:32
    IIyxMASTERДата: Воскресенье, 12 Августа 2012, 11:08 | Сообщение # 2717
    постоянный участник
    Сейчас нет на сайте
    давай сюда весь код, под спойлер ток засунь, надо смотреть...
    sk0rpi0nДата: Воскресенье, 12 Августа 2012, 14:38 | Сообщение # 2718
    Tiberium
    Сейчас нет на сайте
    Code

    Instantiated=(GameObject)Network.Instantiate(PlayerShip,transform.position, transform.rotation,1);
    Instantiated.transform.FindChild("Camera").GetComponent<Camera>().active=false;

    Объект задаётся, камера же не выключается(это уже самый изощрённый способ, который я попробовал, не работает так же, как и другие, более простые). В чём дело? help




    Adventures of the Purple Ball - готов.
    Wanderer - готов.
    iNikitДата: Воскресенье, 12 Августа 2012, 14:54 | Сообщение # 2719
    участник
    Сейчас нет на сайте
    Quote (sk0rpi0n)
    Instantiated.transform.FindChild("Camera").GetComponent<Camera>().active=false;

    sk0rpi0n, а если попробовать так:
    Code
    Instantiated.transform.FindChild("Camera").camera.active=false;



    Самый лучший юзер GCUP :3
    KasperskyДата: Воскресенье, 12 Августа 2012, 17:17 | Сообщение # 2720
    частый гость
    Сейчас нет на сайте
    IIyxMASTER,
    Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг