Пятница, 15 Ноября 2024, 16:38

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • iNikitДата: Четверг, 14 Июня 2012, 19:38 | Сообщение # 2341
    участник
    Сейчас нет на сайте
    romgerman, юзай это и это


    Самый лучший юзер GCUP :3
    romgermanДата: Четверг, 14 Июня 2012, 19:55 | Сообщение # 2342
    старожил
    Сейчас нет на сайте
    iNikit, спасибо, посмотрю.
    robertonoДата: Четверг, 14 Июня 2012, 21:16 | Сообщение # 2343
    Чокнутый Кот
    Сейчас нет на сайте
    Есть моделька - палка. Хочу поместить её в воздухе (уже поместил) и после того как я нажму кнопку включения игры (в юнити) я хочу что бы эта палка упала. Как это сделать?
    По моему в юнити есть что то типо Nvidia Physics или как то так.
    SomeFunДата: Четверг, 14 Июня 2012, 21:22 | Сообщение # 2344
    частый гость
    Сейчас нет на сайте
    Нажми на палку, дальше: Component-Physics-Rigid Body happy

    pixeyeДата: Четверг, 14 Июня 2012, 21:34 | Сообщение # 2345
    Red Winter Software
    Сейчас нет на сайте
    Quote (robertono)
    Есть моделька - палка. Хочу поместить её в воздухе (уже поместил) и после того как я нажму кнопку включения игры (в юнити) я хочу что бы эта палка упала. Как это сделать?
    По моему в юнити есть что то типо Nvidia Physics или как то так.


    Quote (SomeFun)
    Нажми на палку, дальше: Component-Physics-Rigid Body


    И незабудь, что там бокс "use gravity" должен быть активен


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

    SomeFunДата: Четверг, 14 Июня 2012, 21:45 | Сообщение # 2346
    частый гость
    Сейчас нет на сайте
    да biggrin

    robertonoДата: Четверг, 14 Июня 2012, 22:49 | Сообщение # 2347
    Чокнутый Кот
    Сейчас нет на сайте
    Спасибо. Вам +. Это я думаю как сделать падение дерева biggrin a chto znachit Is Kinematic ?

    Добавлено (14.06.2012, 22:49)
    ---------------------------------------------
    cry cry cry
    Палка проходит сквозь террайн. Как исправить ?

    pixeyeДата: Четверг, 14 Июня 2012, 22:54 | Сообщение # 2348
    Red Winter Software
    Сейчас нет на сайте
    Quote (robertono)
    Палка проходит сквозь террайн. Как исправить ?


    очевидно поставив коллайдеры на меши.

    Quote (robertono)
    a chto znachit Is Kinematic ?

    Обозначает, что объект нереагирует на физику в игре, а только на твои манипуляции


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

    robertonoДата: Четверг, 14 Июня 2012, 22:55 | Сообщение # 2349
    Чокнутый Кот
    Сейчас нет на сайте
    Спасибо
    AmmokuДата: Пятница, 15 Июня 2012, 04:50 | Сообщение # 2350
    частый гость
    Сейчас нет на сайте
    У меня очередной глупый вопрос... есть код на яваскрипте:
    Code

    private var runOnce=true;

    function somefunction() {
    if (runOnce){
       var a = 2.15;
       runOnce = false;
      }
    print(a);
    }

    function fixedUpdate(){
      somefunction();
    }


    Внимание вопрос, почему у меня выдача в консоли имеет вид:
    2.15
    0
    0
    0
    ...

    хотя по идее я нигде не обнуляю переменную вообще...
    RacotДата: Пятница, 15 Июня 2012, 05:05 | Сообщение # 2351
    постоянный участник
    Сейчас нет на сайте
    Quote (Ammoku)
       runOnce = false;

    после первого вызова функции runOnce возвращает значение false потому и первый вызов 2,15 а остальные 0


    Специалист "во всем" - специалист "ни в чем"
    ------------------------------------
    Script Reference для Unity3D
    Помогу со скриптами for Unity3D
    iNikitДата: Пятница, 15 Июня 2012, 12:35 | Сообщение # 2352
    участник
    Сейчас нет на сайте
    Ammoku, потому что в коде есть
    Code
    print(a);

    biggrin



    Самый лучший юзер GCUP :3
    PovstalezДата: Пятница, 15 Июня 2012, 15:22 | Сообщение # 2353
    постоянный участник
    Сейчас нет на сайте
    Quote (Ammoku)
    Внимание вопрос, почему у меня выдача в консоли имеет вид: 2.15 0 0 0

    а я бы код изменил так:
    Code

    private var runOnce=true;
    var a = 0;   

      function somefunction() {  
      if (runOnce){  
        a = 2.15;  
        runOnce = false;  
       }  
      print(a);  
      }  

      function fixedUpdate(){  
       somefunction();  
      }


    тогда всегда будет выводится 2.15
    AmmokuДата: Пятница, 15 Июня 2012, 15:40 | Сообщение # 2354
    частый гость
    Сейчас нет на сайте
    ммм...ок, а почему она обнулилась-то в моем вариаете? ^^

    Сообщение отредактировал Ammoku - Пятница, 15 Июня 2012, 15:41
    PovstalezДата: Пятница, 15 Июня 2012, 17:06 | Сообщение # 2355
    постоянный участник
    Сейчас нет на сайте
    Quote (Ammoku)
    ммм...ок, а почему она обнулилась-то в моем вариаете?

    потому что ты её объявляешь в теле if, соответственно если бул = false, он его заново создаёт после тела if. А переменные типа инт, флоат и тд без значения приравниваются к 0.
    AmmokuДата: Пятница, 15 Июня 2012, 20:36 | Сообщение # 2356
    частый гость
    Сейчас нет на сайте
    А разве это нормальное поведение - при заходе в функцию каждый раз пересоздавать переменные которые в этой функции были объявлены и уже созданы в ней при предыдущих обращениях, да еще при том, что эта команда по идее вообще не должна выполнятся никогда кроме первого захода в функцию? Это на багу похоже вообще...
    Knight1032Дата: Суббота, 16 Июня 2012, 00:50 | Сообщение # 2357
    заслуженный участник
    Сейчас нет на сайте
    Есть скрипт самоуничтожения:


    Как сделать так чтоб уничтожало только клонов?

    Добавлено (16.06.2012, 00:08)
    ---------------------------------------------
    Ладно это решил.Но теперь из двух клонов уничтожает только одного, как сделать так чтоб уничтожало всех?
    Вот код:

    Добавлено (16.06.2012, 00:50)
    ---------------------------------------------
    Ладно не надо уже.


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


    Сообщение отредактировал Knight1032 - Пятница, 15 Июня 2012, 23:03
    PovstalezДата: Суббота, 16 Июня 2012, 01:04 | Сообщение # 2358
    постоянный участник
    Сейчас нет на сайте
    Quote (Knight1032)
    .Но теперь из двух клонов уничтожает только одного, как сделать так чтоб уничтожало всех?

    Переносим всех клонов (ГО) в массив и после этого делаем дестрой всех по очерёдности через цикл.
    Knight1032Дата: Суббота, 16 Июня 2012, 17:40 | Сообщение # 2359
    заслуженный участник
    Сейчас нет на сайте
    Povstalez, Решил проблему клонированием скрипта и выставлением разного времени уничтожения.

    Добавлено (16.06.2012, 10:41)
    ---------------------------------------------
    Есть сцена:
    Пушка, из неё летят снаряды. Я поставил префаб взрыва чтобы симулировать выстрел, но снаряды у которых стоит взрыв при колизии не хотят пролетать через префаб. По идеи они не реагируют на префаб, так как взрыва нет, но и пройти через него не могут. Что делать? Может задержку префаба сделать, чтоб вспышка после выстрела была? Но как в апдейт задержку тогда сделать?

    Добавлено (16.06.2012, 17:40)
    ---------------------------------------------
    Всё разобрался-глупая проблема была.


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


    Сообщение отредактировал Knight1032 - Суббота, 16 Июня 2012, 10:51
    mobillkoДата: Суббота, 16 Июня 2012, 21:10 | Сообщение # 2360
    был не раз
    Сейчас нет на сайте
    Вопрос, скрипт бара состояния здоровья, не выдаёт никаких ошибок, но при этом , он не отображается на экране, в чём может быть дело?
    Вот он сам:
    //выводит бар показывающий здоровье игрока
    using UnityEngine;
    using System.Collections;

    public class PlayerHealth : MonoBehaviour {
    //Публичные переменные для настроек
    public int maxHealth = 100;
    //блок переменных локального пользывания
    private int _curHealth =100;
    private float healthBarLength;
    // Производятся начальные расчёты при создании объекта
    void Start () {
    //Задаём начальную ширину бара здоровья
    healthBarLength = Screen.width/2;
    //предотвращаем ввод неправильного значения
    //максимального здоровья
    if (maxHealth<1) maxHealth=1;
    _curHealth=maxHealth;

    }

    // Update is called once per frame
    void Update () {
    AddjustCurrentHealth (_curHealth);
    }
    //выводится сам бар по средствам графического интерфейса
    void onGUI (){
    //выводится бар состояния здоровья и числовые значения его
    GUI.Box (new Rect(10,10,healthBarLength,20),_curHealth +"/"+ maxHealth);
    }
    //производим расчёт нужной ширины бара состояния здоровья
    public void AddjustCurrentHealth (int adj){
    //adj- это изменение состояния здоровья а не его значение
    //_curHealth = adj -старое значение
    _curHealth += adj;//новое значение
    //блок по предотваращению получения неверного состояния здоровья
    //меньше нкля или больше максимума,
    // так как изменяем здоровье из вне
    if (_curHealth<0)_curHealth=0;
    if (_curHealth>maxHealth)_curHealth=maxHealth;
    //Расчёт бара непосредственно
    healthBarLength =(Screen.width/2)*(_curHealth /(float)maxHealth);
    }

    }


    Сообщение отредактировал mobillko - Суббота, 16 Июня 2012, 22:06
    Поиск:

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