Пятница, 15 Ноября 2024, 18:03

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • Nekit_AutДата: Пятница, 11 Мая 2012, 15:25 | Сообщение # 2041
    The Dizziness - Man
    Сейчас нет на сайте
    White9, Моя статья про NevMesh.

    andarkyДата: Пятница, 11 Мая 2012, 15:34 | Сообщение # 2042
    старожил
    Сейчас нет на сайте
    что за проблема?
    Я делаю SWF-проект, потом все это склеится с флешем.

    Не срабатывает функция Start
    Code

    var Col:Color = Color(0,0,0,0);

    function Start () {
    var r0:float=renderer.material.GetColor("_Color").r*0.6;
    var g0:float=renderer.material.GetColor("_Color").g*0.6;
    var b0:float=renderer.material.GetColor("_Color").b*0.6;

    var r1:float = Random.value/7+0.15;
    var g1:float = Random.value/8+0.1;
    var b1:float = Random.value/19;

    Col=Color(r1+r0,g1+g0,b1+b0,1);
    renderer.material.SetColor("_Color",Col);
    }


    я уже тут писал об этом - думал что не работает material.color
    заменил на renderer.material.SetColor("_Color",Col);
    а проблема не в этом

    дописал еще
    Code
    transform.position.y=transform.position.y+0.5;


    и оно тоже не работает...
    при компиляции в логе ошибок не выдает

    В чем может быть проблема?



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик


    Сообщение отредактировал andarky - Пятница, 11 Мая 2012, 15:34
    seamanДата: Пятница, 11 Мая 2012, 17:08 | Сообщение # 2043
    старожил
    Сейчас нет на сайте
    Quote
    А как можно сделать задержку?

    Достаточно "общий" код. В большинстве случаев можно упростить, например вставив код того что нужно сделать напрямую в корутину.
    Code
    bool flagTimer; //сигнализирует, что таймер уже запущен
    bool flagEndTimer; //сигнализирует, что время таймера вышло
    bool flagAction; //сигнализирует, что то, что хотели - сделали
    ...
    void Update()
    {
    ...
          //Если то что нужно сделать - не сделано а таймер не запущен
          if(!flagAction && !flagTimer)
          {
        //сигнал - таймер запущен
        flagTimer = true;
        //сигнал - время не вышло
        flagEndTimer = false;
        //собственно запускаем таймер
        StartCoroutine(Timer(10));
       }
          //Если таймер запущен и время вышло
          if(flagTimer && flagEndTimer)
       {
        //сигнал - можно снова запускать таймер
        flagTimer = false;
        //сигнал - действие сделали!
              flagAction = true;
              делаем что надо
          }
    ...
    }
    ...
    public IEnumerator Timer(float waitTime)
    {
          //Ждем заданное время
          yeld return new WaitForSeconds(waitTime);
          //Указываем, что таймер вышел
          flagEndTimer = true;
    }


    Сообщение отредактировал seaman - Пятница, 11 Мая 2012, 17:08
    White9Дата: Пятница, 11 Мая 2012, 17:10 | Сообщение # 2044
    заслуженный участник
    Сейчас нет на сайте
    Nekit_Aut, спасибо ) Но, как я понимаю, работает это только в Pro версии? Просто окно Navigation не активно. Активны только те два компонента, которые я упоминал ранее
    Nekit_AutДата: Пятница, 11 Мая 2012, 17:44 | Сообщение # 2045
    The Dizziness - Man
    Сейчас нет на сайте
    Quote (White9)
    Nekit_Aut, спасибо ) Но, как я понимаю, работает это только в Pro версии? Просто окно Navigation не активно. Активны только те два компонента, которые я упоминал ранее

    Да. Это только в про версии...


    andarkyДата: Пятница, 11 Мая 2012, 18:48 | Сообщение # 2046
    старожил
    Сейчас нет на сайте
    у объекта есть 1 чилд.
    Я использую данный код:
    Code

    for (var child : Transform in transform) {
      Col=child.renderer.material.GetColor("_Color");  
      }

    из справки по Унити.

    так меняется цвет у всех чилдов.
    Но у меня всего один чилд.
    А как обратиться к одному чилду?

    Имеется несколько объектов- коллайдеров, которые имеют ОДИН чилд (имена могут быть разными),
    иначе я бы просто transform.Find(<nameChild>) написал бы...

    Добавлено (11.05.2012, 18:48)
    ---------------------------------------------
    Спасибо Всем!!
    я сам дотыкался:

    Code
    transform.GetChild(0).transform.renderer.material.color



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик
    PingwinofДата: Воскресенье, 13 Мая 2012, 06:13 | Сообщение # 2047
    почетный гость
    Сейчас нет на сайте
    Кто знает, как сделать взаимодействие и игрока и других обьектов???
    к примеру игрок толкает куб и он двигается и т.д.


    все нах больше с игроделом даже связываться не буду! пошло оно все в ЖОПУ!!!!!!
    JSentДата: Воскресенье, 13 Мая 2012, 08:33 | Сообщение # 2048
    постоянный участник
    Сейчас нет на сайте
    Quote (Pingwinof)
    Кто знает, как сделать взаимодействие и игрока и других обьектов???
    к примеру игрок толкает куб и он двигается и т.д.


    rigidbody.AddForce - можно приложить силу.


    Программист — человек, больной тяжёлой формой поражения коры головного мозга — интеллектом, который выражается в маниакально-деструктивном стремлении писать непонятные и бессмысленные наборы символов и словосочетаний.
    Nekit_AutДата: Воскресенье, 13 Мая 2012, 13:23 | Сообщение # 2049
    The Dizziness - Man
    Сейчас нет на сайте
    Quote (Pingwinof)
    Кто знает, как сделать взаимодействие и игрока и других обьектов???
    к примеру игрок толкает куб и он двигается и т.д.

    К примеру можно:
    Code

    public GameObject Player;
    public int Push = 5;
    void OnCollisionEnter(Collision collis){
    if(collis.gameObject == cube){
    cube.AddForce(Player.trasform.forward * Push, ForceMode.Impulse);
    }
    }


    Knight1032Дата: Воскресенье, 13 Мая 2012, 18:08 | Сообщение # 2050
    заслуженный участник
    Сейчас нет на сайте
    Как убрать указатель мыши?

    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    SnakeRДата: Воскресенье, 13 Мая 2012, 18:24 | Сообщение # 2051
    постоянный участник
    Сейчас нет на сайте
    Screen.showCursor = false;

    Добавлено (13.05.2012, 18:24)
    ---------------------------------------------
    Юзайте справку и утилиту - "Голова".


    Unity3D Developer
    Ваш лучший помощник при разработке в Unity3D
    MyACTДата: Понедельник, 14 Мая 2012, 07:31 | Сообщение # 2052
    C# CODERS
    Сейчас нет на сайте
    SnakeR, а как можно сделать чтобы курсор был в центре экрана постоянно?
    Все разобрался smile


    3дэшечки: https://sketchfab.com/myactyindie
    Курентли воркс он: https://myacty.itch.io/raskopnik


    Сообщение отредактировал MyACT - Понедельник, 14 Мая 2012, 07:39
    andarkyДата: Понедельник, 14 Мая 2012, 11:17 | Сообщение # 2053
    старожил
    Сейчас нет на сайте
    проект скомпилирован в SWF,
    я гружу проект в другой SWF с GUI.
    Все работает.

    А каким образом увязать UNITY-контент с AS3-кодом главного SWF?
    т.е. типа ExternalCall (<funcName>) - чтоб вызывались функции главного SWFа?



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик
    Knight1032Дата: Понедельник, 14 Мая 2012, 17:33 | Сообщение # 2054
    заслуженный участник
    Сейчас нет на сайте
    Если есть задача создать мир в десятки или сотни км2 , то как лучше реализовать это? )

    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    SnakeRДата: Понедельник, 14 Мая 2012, 18:50 | Сообщение # 2055
    постоянный участник
    Сейчас нет на сайте
    Knight1032, мир делится на кусочки, грузишь те которые тебе нужны в нужное время. Сделать такую систему, хорошо оптимизированную довольно не просто.

    Unity3D Developer
    Ваш лучший помощник при разработке в Unity3D
    andarkyДата: Вторник, 15 Мая 2012, 12:10 | Сообщение # 2056
    старожил
    Сейчас нет на сайте
    Quote (andarky)
    Не срабатывает функция Start

    ЭТУ проблему я решил.
    С кодами всё правильно.
    Косяк был в том что скрипт имел имя: "matcolor-r.js"
    FLASH ругался: The class defined in script file named 'matcolor-r' does not match the file name!

    а Unity-проект компилировался нормально...

    я семнил имя на "matcolorr.js" и всё заработало!



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик
    Knight1032Дата: Вторник, 15 Мая 2012, 14:05 | Сообщение # 2057
    заслуженный участник
    Сейчас нет на сайте
    Как сделать покачивание камеры?

    Добавлено (15.05.2012, 14:05)
    ---------------------------------------------
    при ходьбе


    Да, я программист, дизайнер, сценарист,
    Я сам себе издатель и сам себе игрок...
    Nekit_AutДата: Вторник, 15 Мая 2012, 14:36 | Сообщение # 2058
    The Dizziness - Man
    Сейчас нет на сайте
    Quote (Knight1032)
    Как сделать покачивание камеры?

    В скрипте. Поднимать и опускать камеру. То есть двигать её.


    andarkyДата: Вторник, 15 Мая 2012, 15:07 | Сообщение # 2059
    старожил
    Сейчас нет на сайте
    качание камеры:
    Code

    var freq:float=5;
    var amp:float=3;
    var cam:Transform;

    function Start(){

    cam=transform.Find("Camera1");
    }

    function Update(){

    cam.transform.localPosition.y=cam.transform.localPosition.y+Mathf.Cos((transform.position.x+transform.position.z)*freq)*amp;

    }


    играй значениями freq, amp...



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик


    Сообщение отредактировал andarky - Вторник, 15 Мая 2012, 15:08
    Knight1032Дата: Среда, 16 Мая 2012, 00:49 | Сообщение # 2060
    заслуженный участник
    Сейчас нет на сайте
    andarky, чёта не робить

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

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