Суббота, 20 Апреля 2024, 06:56

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • roma3fonДата: Среда, 12 Июля 2017, 14:45 | Сообщение # 8341
    участник
    Сейчас нет на сайте
    EchoIT, Не так страшен чёрт, как его малюют. Не на цпу же считать такое.
    ProsstoBRO, (все операции далее в 2д) на вход берешь все слои, поворачиваешь на нужный угол, потом скейлишь процентов на 70 по оси Y(если это изометрия), потом накладываешь слои друг на друга смещая на коэффициент умноженный на расстояние между слоями. Вот и все.
    berilДата: Среда, 12 Июля 2017, 17:16 | Сообщение # 8342
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Что то типо такого заюзай My WebPage в Asset store полно конвертеров, имитаторов под 2.5D



    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)
    2DtyanДата: Воскресенье, 16 Июля 2017, 18:18 | Сообщение # 8343
    уже был
    Сейчас нет на сайте
    Пытаюсь в цикл "for". И по какой-то(неизвестной) мне причине, после запуска сцены Unity виснет намертво.
    Код
    using UnityEngine;
    using System.Collections;

    public class JellyPhy : MonoBehaviour {
        public SpringJoint J1;
        public float Spring;
        public float Damper;
        public float maxDist;
        public float minDist;
        public float vertexMass;
        // Use this for initialization
        void Start () {
        

        }
        
        // Update is called once per frame
        void Update () {
      SpringJoint hingeJoints = gameObject.GetComponentInChildren<SpringJoint>();
      for(SpringJoint joint = hingeJoints; joint.GetComponent<SpringJoint>();){

      }
        }
    }

    В чем проблема ?


    Des des
    HerrPotapovДата: Воскресенье, 16 Июля 2017, 20:53 | Сообщение # 8344
    заслуженный участник
    Сейчас нет на сайте
    2Dtyan,
    Код
    foreach(SpringJoint joint in hingeJoints)


    Смысл того что написано в твоем for(...) от меня ускользает


    Discord: alpotapov#1741

    Интервью с разработчиком WarCastle - Читаем и вникаем!
    2DtyanДата: Воскресенье, 16 Июля 2017, 22:36 | Сообщение # 8345
    уже был
    Сейчас нет на сайте
    HerrPotapov, Простите :C. В любом случае, вы мне помогли, спасибо C:

    Des des
    BESS55555Дата: Четверг, 20 Июля 2017, 14:31 | Сообщение # 8346
    Three Dollar Bill Y'All$
    Сейчас нет на сайте
    Доброго времени суток! Большое количество времен насидел в Construct 2, и в целом очень доволен данной программой в некоторых аспектах, но увы нынешних её возможностей касательно производительности мне уже не хватает. Собственно, ввиду её маломощности и назрел вопрос, есть ли в Unity5 плагины или встроенные возможности для визуального программирования на подобии C2?

    AndrewNovakДата: Четверг, 20 Июля 2017, 16:13 | Сообщение # 8347
    почетный гость
    Сейчас нет на сайте
    Цитата BESS55555 ()
    для визуального программирования

    Play Maker
    Есть еще парочка, но не такие популярные


    COLD DEPTH Steam
    PUSS!
    COLD DEPTH
    berilДата: Четверг, 20 Июля 2017, 20:34 | Сообщение # 8348
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Цитата BESS55555 ()
    Доброго времени суток! Большое количество времен насидел в Construct 2, и в целом очень доволен данной программой в некоторых аспектах, но увы нынешних её возможностей касательно производительности мне уже не хватает. Собственно, ввиду её маломощности и назрел вопрос, есть ли в Unity5 плагины или встроенные возможности для визуального программирования на подобии C2?

    Выбирай что по карману и какие возможности нужны My WebPage




    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)
    BESS55555Дата: Пятница, 21 Июля 2017, 09:51 | Сообщение # 8349
    Three Dollar Bill Y'All$
    Сейчас нет на сайте
    AndrewNovak, beril, спасибо. ^_^

    ProsstoBROДата: Вторник, 25 Июля 2017, 03:05 | Сообщение # 8350
    был не раз
    Сейчас нет на сайте
    Всем добрый день.

    Начал недавно делать игрульку и захотелось встроить GooglePS с таблицами рекордов и тд. И я прошёл через 12 кругов ада пока таблица не начала показываться. Сейчас она показывается, но через раз, хоть бы какие ошибки выдавал.

    В общем, есть одна сцена, в ней главный Canvas, в этом canvas'е уже отдельные экраны game, menu ну и так далее, и по мере того что нужно показывать на экране они скрываются или отображаются с помощью например: "menu.SetActiv(false);". И почему то много гемора, например я хотел в экране gameOver сделать кнопку чтобы можно было отрывать таблицу рекордов, но не открывается, я плюнул и оставил одну кнопку в меню. Вроде работает. Поставил AdMob реклама появляется, вроде все хорошо. Но теперь, ты проиграл, например, и вышел в меню, кнопка с таблицей работает, а если после проигрыша показывается реклама на полный экран, то кнопка не работает.


    В общем, прошу добрых людей, кто откликнется на моё сообщение, помочь разобраться в этом ужасе, может что кто подскажет, может в вк можно с кем то списаться или в скайпе.

    Всем заранее спасибо за любые предложения, замечания и помощь.




    Сообщение отредактировал ProsstoBRO - Вторник, 25 Июля 2017, 03:07
    Jon_TonДата: Суббота, 29 Июля 2017, 21:37 | Сообщение # 8351
    был не раз
    Сейчас нет на сайте
    У меня есть вопрос. Делаю игру в Unity 5 на Android, Жанр Clicker, и у меня отображаются клики в виде текста. Хочу что бы (Например) когда число кликов доходит до 1000 что бы отображалось не 1000, а 1K и.т.д, но не могу сообразить как это сделать.

    Сообщение отредактировал Jon_Ton - Воскресенье, 30 Июля 2017, 13:15
    hunter555Дата: Четверг, 03 Августа 2017, 23:05 | Сообщение # 8352
    уже был
    Сейчас нет на сайте
    Почему у меня пуля стоит на месте а не летит?
    sem6666Дата: Воскресенье, 06 Августа 2017, 14:17 | Сообщение # 8353
    участник
    Сейчас нет на сайте
    Собрался продолжить изучение Unity. Какой лучше качать 2017 или 5? Вроде как посвежее обнова на пятый. Или пятый продолжат поддерживать, а развивать будут 2017-й?
    BoДата: Воскресенье, 06 Августа 2017, 20:08 | Сообщение # 8354
    почетный гость
    Сейчас нет на сайте
    Прохожу сейчас курс онлайн (на английском) по Unity.
    Обычно на все вопросы отвечают понятно и вразумительно, но тут реально затык - не въезжаю, не могу понять.
    Есть код:

    Код
    foreach (Transform child in transform) {
      GameObject enemy = Instantiate (enemyPrefab, child.transform.position , Quaternion.identity) as GameObject;
      enemy.transform.parent = child;
    }

    И вот это выражение "Transform child in transform" просто не укладывается у меня в голове.
    Прочитал на эту тему тут: http://answers.unity3d.com/questio....je.html
    Но все равно не догоняю. Может кто-нибудь на русском ликбез провести?

    p.s. Вопрос не про то как работает foreach, например в случае с
    Код
    foreach (int fVar in myArr)
    Console.WriteLine("{0} Squared is equal to {1}",fVar,fVar*fVar);
    всё понятно.
    Вопрос именно с указанной конструкцией.


    Сообщение отредактировал Bo - Воскресенье, 06 Августа 2017, 20:11
    b_earДата: Воскресенье, 06 Августа 2017, 20:30 | Сообщение # 8355
    Покорители космоса
    Сейчас нет на сайте
    Bo, насколько я понимаю, есть объект или массив transform который содержит элементы (объекты) типа Transform (это такой класс).
    child - переменная типа Transform.

    В указанной тобой строке ты перебираешь все элементы данного массива/объекта transform, при этом на каждом проходе цикла тебе в переменную child кладут очередной объект из массива/объекта transform.
    Пример с типом int один в один такой же, только тип другой у элементов int->Transform. Разница еще в том, что в случае с int это больше похоже на массив элементов, а в случае с Transform это похоже все таки на объект, который содержит другие объекты. То есть не классический массив, а именованный. Но это не очевидно, так как код не весь приведен.




    Сообщение отредактировал b_eat - Воскресенье, 06 Августа 2017, 20:44
    BoДата: Воскресенье, 06 Августа 2017, 20:48 | Сообщение # 8356
    почетный гость
    Сейчас нет на сайте
    b_eat, мне не понятно почему мы вообще имеем дело с Transform, а не с GameObject.
    Transform, как я понимаю (и согласно документации) - компонент. Почему мы перебираем компоненты, а не объекты?
    Выполняет ли child функцию обычной переменной (видимой лишь внутри foreach) или это ключевое слово несущее еще какой-то смысл?
    b_earДата: Воскресенье, 06 Августа 2017, 22:38 | Сообщение # 8357
    Покорители космоса
    Сейчас нет на сайте
    Bo, опять же, могу конечно ошибаться, но это примерно как в Дельфи и других IDE, любой компонент является классом, но не каждый класс имеет одноименный компонент. Немного поясню, изначально создают класс Transform, потом к нему прикручивают некие дополнительные свойства, чтобы можно было отображать его в инспекторе объектов и визуальной среде, и тут он становится компонентом, со всякими фишками по настройке мышью. Но при этом он конечно не перестает быть классом.
    Надеюсь доступно объяснил)
    в цикле Transform - это конечно класс (тип)


    BoДата: Воскресенье, 06 Августа 2017, 22:53 | Сообщение # 8358
    почетный гость
    Сейчас нет на сайте
    Цитата b_eat ()
    могу конечно ошибаться, но это примерно как в Дельфи и других IDE

    Дело в том, что тут речь идет конкретно о Unity, в котором любой GameObject обязательно имеет компонент Transform. Поэтому в данном случае речь идет не о сферическом ООП в вакууме а о работе с конкретным движком.

    То что Вы пишете - понятно (и спасибо), но это не даёт ответа на поставленный вопрос: почему мы перебираем компоненты, а не объекты?
    b_earДата: Воскресенье, 06 Августа 2017, 23:18 | Сообщение # 8359
    Покорители космоса
    Сейчас нет на сайте
    Bo, да я понимаю что речь идет о Unity конкретно, но все таки еще раз. GameObject имеет внутри себя компонент Transform. А также и другие компоненты и объекты.
    В цикле явно указано что надо перебирать объекты (не компоненты, а именно объекты) типа Transform.
    Компонентом он в этом случае мог и не быть вовсе.

    Цикл перебирает объекты, я так считаю. Так правильнее говорить. То что именно данный объект класса Transform является еще и Компонентом, ну это да, это никак не влияет на цикл. Фишка которая остается в данном коде сбоку, не используется.
    Дело в том что циклы - это базовый механизм С#, он существует и без Unity, но в юнити придумали свои компоненты.
    Компонент=класс+фичи для инспектора+фичи для GameObject. Имя компонента=имени класса.
    Когда мы добавляем в GameObject новый компонент, реально для C# мы добавляем еще один обьект класса ___компонентХХХ__
    Вот мое мнение)




    Сообщение отредактировал b_eat - Воскресенье, 06 Августа 2017, 23:22
    BoДата: Воскресенье, 06 Августа 2017, 23:29 | Сообщение # 8360
    почетный гость
    Сейчас нет на сайте
    b_eat, еще раз спасибо.
    Дело в том, что я все равно не могу вот чего понять: ну есть у нас компонент типа Transform,
    У нас есть локальная переменная child (которая, как я понимаю инициализируется и существует исключительно внутри
    цикла), но transform (lower case) это же по сути свойство объекта. Почему мы перебираем свойства, а не объекты, если уж на то пошло. (Я понимаю что наверное уже утомил, но я действительно не въезжаю до конца, а я хотел бы уже понять наконец)
    p.s На англоязычном форуме так же предлагалось использовать
    Код
    enemy.transform.SetParent(child)
    вместо
    Код
    enemy.transform.parent = child
    , однако для меня оба эти выражения выглядят дико.
    p.s Плюс утверждается что (не проверял)
    Цитата
    Unity developers made their own realisation of the interface for foreach, so it return its children if called on transform. And it`s 100% not equal to regular array. If you want to get into this deeper - you need articles about IEnumerable interface in C#.


    Сообщение отредактировал Bo - Воскресенье, 06 Августа 2017, 23:38
    Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
    Поиск:

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