Суббота, 16 Ноября 2024, 11:46

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • pixeyeДата: Воскресенье, 25 Марта 2012, 11:48 | Сообщение # 1761
    Red Winter Software
    Сейчас нет на сайте
    Quote (DarkScorp24)
    Есть скрипт атаки врага(он атакует меня). В скрипте присутствует команда атаки, срабатывающая в случае выполнения всех условий. Требуется сделать так, что команда атаки, могла выполнится , а могла и нет (Некая вероятность 50%/50%). Как провернуть данное дело? Если можно, то с примером


    Code
    int chance = Random.Range(0,101);

    if (chance>50)
    return;

    hp-=dmg;

    Добавлено (25.03.2012, 11:48)
    ---------------------------------------------

    Quote (Eizahler)
    Еще возник вопрос. Я так понял, что абсолютно все связанное с C# для работы с Unity учить не нужно.


    Сильно зависит от сложности проекта и опыта. Я например нередко пользуюсь linq, проблема в том, что зная только базовый синтаксис языка ты очень сильно себя ограничиваешь. Многие задачи которые на самом деле решаются проще чем тебе кажется ты будешь делать окольными тяжелыми путями.

    Quote (Eizahler)
    Там где есть возможность сравнить код на US и C#, мне показалось, что языки не очень то одинаковы в написании.


    Желательно использовать только один язык , исключение прикладные скрипты которые обычно ты содержишь отдельно от игровой логики. По эффективности сейчас особо нет различий, для новичков US чаще проще для понимания. Однако он бесполезен вне своей среды юнити.


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    EizahlerДата: Воскресенье, 25 Марта 2012, 18:40 | Сообщение # 1762
    участник
    Сейчас нет на сайте
    Quote (pixeye)
    Я забыл/лень искать сейчас про соотношения в юнити и максе метрики, однако такая проблема у меня возникала и я смотрел на глаз, подгоняя маштабы в максе под маштбы юнити.

    Вот, в Unity Manual > User Guide > Asset Import and Creation > Meshes нашел: "Use File Units: This option is available only for 3dsMax files. If enabled it imports 3dsMax file with one Max unit equal to one Unity unit, otherwise it imports with 1 cm equal to 1 Unity unit."
    Если я правильно понял, то если объект из 3dsMax имеет y = 100, то и в Unity объекты должны иметь y = 100, что бы быть одинаковой высоты?

    И еще. Вот эту строчку не совсем понял: "Scale Factor: Unity's physics system expects 1 meter in the game world to be 1 unit in the imported file."
    Объясните пожалуйста.
    sk0rpi0nДата: Воскресенье, 25 Марта 2012, 19:38 | Сообщение # 1763
    Tiberium
    Сейчас нет на сайте
    Подскажите, как сделать управление камерой, как в стратегии? Т.е. чтобы когда подводишь курсор к краю экрана, то камера начинает двигаться в ту сторону, где курсор? И как, собственно, мне отобразить курсор? Остальное, типа "невылета" камеры за карту, я и сам знаю, как сделать, и с этим разберусь, а вот с управлением как - хз...



    Adventures of the Purple Ball - готов.
    Wanderer - готов.
    pixeyeДата: Воскресенье, 25 Марта 2012, 19:44 | Сообщение # 1764
    Red Winter Software
    Сейчас нет на сайте
    Quote (Eizahler)
    И еще. Вот эту строчку не совсем понял: "Scale Factor: Unity's physics system expects 1 meter in the game world to be 1 unit in the imported file."
    Объясните пожалуйста.


    Ну о чем собственно и гвоорил - метрика объективно влияет только на физику. Физика заточена под юнитевские метры. В таком случае она максимально реалистична. Тоесть если ты например включишь своим объектам гравитацию и сделаешь эти объекты непомерны большими относительно заложенной метрики то он будет очень медленно "падать"

    Добавлено (25.03.2012, 19:44)
    ---------------------------------------------
    Quote (sk0rpi0n)
    И как, собственно, мне отобразить курсор?

    Создаешь объект курсора. И двигаешь его.
    Code

    void Awake(){   
    StartCoroutine(coCursorHandler());
    }   

    IEnumerator coCursorHandler(){   
              Screen.showCursor = false;   
       Transform cursTransform  = GameObject.Find("myCursor").transform;
       while(true){   
       cursTransform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);   
       yield return 0;
       }
       }   


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю



    Сообщение отредактировал pixeye - Воскресенье, 25 Марта 2012, 19:46
    sk0rpi0nДата: Воскресенье, 25 Марта 2012, 19:54 | Сообщение # 1765
    Tiberium
    Сейчас нет на сайте
    Quote
    Создаешь объект курсора. И двигаешь его.

    Пишет мол
    Assets/Scripts/CameraMoving.js(12,8): UCE0001: ';' expected. Insert a semicolon at the end.
    Assets/Scripts/CameraMoving.js(9,12): UCE0001: ';' expected. Insert a semicolon at the end.
    Что я не так делаю?(код скопипастил, ошибок не вижу вроде) biggrin




    Adventures of the Purple Ball - готов.
    Wanderer - готов.
    pixeyeДата: Воскресенье, 25 Марта 2012, 19:58 | Сообщение # 1766
    Red Winter Software
    Сейчас нет на сайте
    Quote (sk0rpi0n)
    Пишет мол
    Assets/Scripts/CameraMoving.js(12,8): UCE0001: ';' expected. Insert a semicolon at the end.
    Assets/Scripts/CameraMoving.js(9,12): UCE0001: ';' expected. Insert a semicolon at the end.
    Что я не так делаю?(код скопипастил, ошибок не вижу вроде)


    очевидно, если ты суешь в js код из cs.


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    sk0rpi0nДата: Воскресенье, 25 Марта 2012, 21:35 | Сообщение # 1767
    Tiberium
    Сейчас нет на сайте
    Quote (pixeye)
    очевидно, если ты суешь в js код из cs.

    biggrin
    Ох блин, надо идти отдыхать...




    Adventures of the Purple Ball - готов.
    Wanderer - готов.
    Knight1032Дата: Понедельник, 26 Марта 2012, 16:50 | Сообщение # 1768
    заслуженный участник
    Сейчас нет на сайте
    Пытался создать мультиплеер . Начал с этого http://unity3dscripts.ru/05/index.html . Пытался запустить в локалке. Но добиться того чтобы было видно двух игроков(я два клиента одновременно запустил) не получается. Помогите. Скиньте уроки попроще или обьясните что как делать.

    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    seamanДата: Понедельник, 26 Марта 2012, 19:23 | Сообщение # 1769
    старожил
    Сейчас нет на сайте
    1.Сайт, который Вы указали, не работает. Поэтому посмотреть какой урок Вы считаете сложным,- никак.
    2. Мультиплейер сам по себе сложная штука. Раз Вы за него взялись - видимо Вы уже сделали пару синглов? Покажите их, чтобы можно было оценить ваш уровень. wink
    PS^ Ну, а скорее всего Вы еще ничего не сделали. Поэтому совет - раз Вам такое сложно - беритесь за то, что проще. Сделайте тетрис. Если получится - тогда можно попробовать что-то посложнее. Вы что, считаете, что хирург сразу делает операцию по пересадке сердца? Да наверняка перед этим сотню раз аппендицит вырежет.
    Knight1032Дата: Понедельник, 26 Марта 2012, 19:34 | Сообщение # 1770
    заслуженный участник
    Сейчас нет на сайте
    seaman, 1) Да у меня тож не работает. Странно. Ну хотяб в кеше сохранилось. могу скинуть копию.
    2) да . Но мне то нужно просто чтоб два игрока могли бегать по терейну 20х20. и всё. Игр как таковых нет. но я же учусь. Учась создавать мультиплеер.


    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    seamanДата: Понедельник, 26 Марта 2012, 21:42 | Сообщение # 1771
    старожил
    Сейчас нет на сайте
    Quote
    но я же учусь.

    Еще раз - представьте хирурга, который учится вскрыв Вам грудную клетку. Зашить не сумел - "но я же учусь." biggrin
    Но вообще - Ваше дело - учитесь. Мое дело - посоветовать.
    Этот урок видели?-
    Урок
    Knight1032Дата: Понедельник, 26 Марта 2012, 22:15 | Сообщение # 1772
    заслуженный участник
    Сейчас нет на сайте
    seaman, Я нашел укороченную версию: http://blogs.unity3d.ru/2010/09/networking-m2h_2b/

    Добавлено (26.03.2012, 22:15)
    ---------------------------------------------
    Помогите со скриптом. Даю кусок скрипта-он из урока. Ругается на выделенный фрагмент.



    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    seamanДата: Понедельник, 26 Марта 2012, 22:18 | Сообщение # 1773
    старожил
    Сейчас нет на сайте
    Как ругается? Мы не экстрасенсы.
    _LeVoID_Дата: Понедельник, 26 Марта 2012, 22:32 | Сообщение # 1774
    VoID
    Сейчас нет на сайте
    Здравствуйте!
    Мне срочно нужна помощь в создании скрипта.
    Значит у нас есть игрок и движущаяся платформа. И игрок должен при соприкосновении с платформой продолжать двигаться вместе с ней до тех пор, пока не спрыгнет (классический платформер).
    Мне нужен именно скрипт, а не советы: "Возьми стандартный контроллер".
    Буду очень признателен, если вы мне поможете. happy


    QLines v1.3
    Forest Owl
    Knight1032Дата: Понедельник, 26 Марта 2012, 22:48 | Сообщение # 1775
    заслуженный участник
    Сейчас нет на сайте
    seaman,
    Не то. Вот:
    Я понимаю что дело в > но убрав его, или ; оно продолжает ругаться.

    Добавлено (26.03.2012, 22:48)
    ---------------------------------------------
    Блин там вместо > должно быть & g t ; (без пробелов). (Долбаный форум и хтмл в целом)


    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...


    Сообщение отредактировал Knight1032 - Понедельник, 26 Марта 2012, 22:46
    seamanДата: Понедельник, 26 Марта 2012, 22:57 | Сообщение # 1776
    старожил
    Сейчас нет на сайте
    Quote
    Не то. Вот:

    Что не то?

    Вы читать умеете? Еще раз:
    Quote
    Как ругается? Мы не экстрасенсы.
    Knight1032Дата: Понедельник, 26 Марта 2012, 22:59 | Сообщение # 1777
    заслуженный участник
    Сейчас нет на сайте
    seaman, самое елементарное при простом удалении & g t ;

    Добавлено (26.03.2012, 22:59)
    ---------------------------------------------
    Дальше начинает не просто ругаться а диким матом ругаться .


    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    ShadowZiДата: Понедельник, 26 Марта 2012, 23:09 | Сообщение # 1778
    постоянный участник
    Сейчас нет на сайте
    А что ты хочешьто сделать?)

    В указанном тобой коде тупо проверяется длинна массива и если она больше 0 (больше или равна 1), выполняется действие
    убираешь > в >= и получаешь операцию присваивания, те пытаешься в длину массива записать 1, но эта длинна доступна только для чтения(о чём говорит ошибка которую ты привёл).

    зачем там qt и куда ты его пытаешься засунуть
    seamanДата: Понедельник, 26 Марта 2012, 23:10 | Сообщение # 1779
    старожил
    Сейчас нет на сайте
    А зачем Вы пытаетесь присвоить какой-то значение System.Array.Length? Что такое >=? И что Вы из него пытаетесь получить, убрав >?

    >= - оператор сравнения. Значит именно то, что написано - больше или равно. В данном случае проверяется длина массива >= 1, т.е есть ли хоть один элемент в массиве.
    = - оператор присваивания. Значит - левому выражению присваивается значение справа от =.
    Убрав ">" Вы превратили сравнение в присваивание! Ну а длину массива присваиванием нельзя менять,- она только для чтения. Естественно он и ругается.
    PS^ Это настолько элементарные вещи, что слов нет.
    Knight1032Дата: Понедельник, 26 Марта 2012, 23:11 | Сообщение # 1780
    заслуженный участник
    Сейчас нет на сайте
    все кажись понял это ж хтмл походу запорол всё . Пасиба .

    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    Поиск:

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