Воскресенье, 17 Ноября 2024, 15:21

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • RipDevДата: Четверг, 08 Декабря 2011, 00:24 | Сообщение # 1221
    гейм-дизайнер
    Сейчас нет на сайте
    noTformaT, да оно самое, и блинн я думал я гений sad (хотя и отличается, все равно возьму пару идей :))
    Ссылка есть на игру?


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.


    Сообщение отредактировал RipDev - Четверг, 08 Декабря 2011, 00:27
    noTformaTДата: Четверг, 08 Декабря 2011, 00:33 | Сообщение # 1222
    Ukrainian independent game developer
    Сейчас нет на сайте
    Quote (RipDev)
    Ссылка есть на игру?

    игра на юнити, название есть, знал людей которые ее делают, вроде бы сидят еще в песочнице, на руском офф сайте есть пост про игру. Игра вроде бы для айфонов smile

    Добавлено (08.12.2011, 00:33)
    ---------------------------------------------
    поищи в гугле, у меня просто сайт заблочен sad


    @noTformaT
    andarkyДата: Четверг, 08 Декабря 2011, 08:36 | Сообщение # 1223
    старожил
    Сейчас нет на сайте
    я даже не думал что с этим возникнут сложности. НО...

    вот задача: камера находится в некой точке и можно смотреть по сторонам,
    видны активные точки ткнув на которые мы должны плавно перенять коортдинаты той точки, т.е переместится плавно и повернутся на такой же угол.
    Как только мы выбрали цель - он меняет свойства (цвет, размер, текстуру) и ждет нашего прибытия. - ЭТО решено.
    Встав на нужное место м ы опять переходим в режим MouseLook - можем опять глядеть по сторонам.

    Я нагуглил кучу вариантов и просто запутался.

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

    Вот мой код:
    Code

    function LateUpdate () {
       if (target) {
        if (smooth)
        {
         var rotation = Quaternion.LookRotation(target.position - transform.position);
           
         transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * damping);
         transform.Translate(Vector3.forward * Time.deltaTime * damping);
        }
        else
        {
            transform.LookAt(target);
        }
       }
    }

    в этом случае он иногда проваливается

    вот по-другому:
    Code

    function LateUpdate () {
       if (target) {
        if (smooth)
        {
         var rotation = Quaternion.LookRotation(target.position - transform.position);
           
         transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * damping);
         transform.position=Vector3.Lerp(transform.position,target.position,Time.deltaTime * damping);
        }
        else
        {
            transform.LookAt(target);
        }
       }
    }


    если так, то он иногда не долетает до цели (наверное если встретил препятствие)

    еще читал что MoveTowards какой-то есть - но я не нашел примеров использование его.

    какие еще варианты подскажите?

    и еще



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


    Сообщение отредактировал andarky - Четверг, 08 Декабря 2011, 08:47
    RipDevДата: Четверг, 08 Декабря 2011, 12:34 | Сообщение # 1224
    гейм-дизайнер
    Сейчас нет на сайте
    andarky, есть itween в Ассет стор.

    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    andarkyДата: Четверг, 08 Декабря 2011, 13:55 | Сообщение # 1225
    старожил
    Сейчас нет на сайте
    RipDev,
    для такой простой задачи качать iTween?
    да там же элементарщина: от точки к точке...
    10 - 20 строк JS-кода.
    просто я чего-то у себя не учел вот и глючит



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик
    RipDevДата: Четверг, 08 Декабря 2011, 16:57 | Сообщение # 1226
    гейм-дизайнер
    Сейчас нет на сайте
    andarky, да она 40 килобайт весит, и очень удобная посмотри сайт .
    Quote (andarky)
    10 - 20 строк JS-кода.

    а так будет меньше smile

    Вопрос про кантование куба закрыт.

    Quote (RipDev)
    если так, то он иногда не долетает до цели (наверное если встретил препятствие)

    Как не долетает. как ты проверяешь долетел не долетел? Просто у меня были как то траблы с Distance.


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.


    Сообщение отредактировал RipDev - Четверг, 08 Декабря 2011, 16:58
    LevinДата: Пятница, 09 Декабря 2011, 22:31 | Сообщение # 1227
    Художник
    Сейчас нет на сайте
    есть исходники гонок??? ток не пример с офф сайта. норм какието)

    Добавлено (09.12.2011, 22:31)
    ---------------------------------------------
    есть урок по Waypoints?



    BrightSpotДата: Суббота, 10 Декабря 2011, 09:52 | Сообщение # 1228
    заслуженный участник
    Сейчас нет на сайте
    возможно глупый вопрос, но чем открывать и компилить жава скрипты?? ато когда в юнити нажимаю open или 2ЛКМ то реакции никакой...пробывал через MonoDevelop, но ругается на коды с туторов...

    Добавлено (10.12.2011, 09:52)
    ---------------------------------------------
    Даже елементарный

    Code
    function Update() {
         transform.Rotate(0, 5, 0);
    }

    ругает=\\



    Более мощный компьютер глючит быстрее и точнее.
    EyeДата: Суббота, 10 Декабря 2011, 10:17 | Сообщение # 1229
    заслуженный участник
    Сейчас нет на сайте
    BrightSpot, читай справку.

    ICQ: 422190728,
    E-Mail: funnyalien@yandex.ru,
    Jabber: funnyalien@jabber.ru,
    Steam: funnyalienvalentine,
    Twitter: MrFunnyAlien,
    Skype: happyconsole,
    ВКонтакте: vk.com/twinemen,
    Мобильный: +79199212414.
    RipDevДата: Суббота, 10 Декабря 2011, 11:15 | Сообщение # 1230
    гейм-дизайнер
    Сейчас нет на сайте
    Quote (BrightSpot)
    возможно глупый вопрос, но чем открывать и компилить жава скрипты?? ато когда в юнити нажимаю open или 2ЛКМ то реакции никакой...пробывал через MonoDevelop, но ругается на коды с туторов...

    Компилит и билдит сама юня, моно просто среда. И странно у меня ява скрипт работает в Моно. Может у вас какая ошибка? что пишет Моно/Юня?

    Добавлено (10.12.2011, 11:15)
    ---------------------------------------------
    #pragma strict - это отключение динамической верстки, вроде как в новых версиях включена по умолчанию.
    К сожалению не знаю/не юзаю жаву.
    Вообще лучше жаву не использовать в юне.


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.


    Сообщение отредактировал RipDev - Суббота, 10 Декабря 2011, 11:19
    LevinДата: Суббота, 10 Декабря 2011, 11:32 | Сообщение # 1231
    Художник
    Сейчас нет на сайте
    вот у меня есть аи скрипт для машины. Как Waypoints сделать чтобы он по ним двигался. мне только их не хватает.


    EyeДата: Суббота, 10 Декабря 2011, 18:54 | Сообщение # 1232
    заслуженный участник
    Сейчас нет на сайте
    Levin, вейпоинты были в FPS Tutorial.

    ICQ: 422190728,
    E-Mail: funnyalien@yandex.ru,
    Jabber: funnyalien@jabber.ru,
    Steam: funnyalienvalentine,
    Twitter: MrFunnyAlien,
    Skype: happyconsole,
    ВКонтакте: vk.com/twinemen,
    Мобильный: +79199212414.
    LevinДата: Суббота, 10 Декабря 2011, 20:15 | Сообщение # 1233
    Художник
    Сейчас нет на сайте
    кто шарит хорошо?


    iXeroxДата: Суббота, 10 Декабря 2011, 22:11 | Сообщение # 1234
    частый гость
    Сейчас нет на сайте
    Вот, написал такой скрипт:
    Code

    var iS = 0;
    var Texture1 : Texture;
    var Texture2 : Texture;
    var Texture3 : Texture;

    function Update()
    {
        if(iS==0)
        {
        renderer.material.mainTexture = Texture1;
        }
    }

    function OnMouseUp()
    {
        if(iS==0)
        {
          renderer.material.mainTexture = Texture2;
          iS = 1;
        }
        else if(iS==1)
        {
          renderer.material.mainTexture = Texture3;          
          iS = 2;
        }
        else if(iS==2)
        {

          iS = 0;
        }
    }

    Он меняет скрипт на кубе, когда я жму на этот куб, но я так и не смог разобраться, как реализовать смены текстуры на другом кубе.
    Заранее спасибо.


    Сообщение отредактировал iXerox - Суббота, 10 Декабря 2011, 22:12
    pixeyeДата: Воскресенье, 11 Декабря 2011, 00:08 | Сообщение # 1235
    Red Winter Software
    Сейчас нет на сайте
    Quote (iXerox)
    Он меняет скрипт на кубе, когда я жму на этот куб, но я так и не смог разобраться, как реализовать смены текстуры на другом кубе.
    Заранее спасибо.


    делаешь ссылку на другой объект.

    var otherCube : GameObject;

    и ставишь otherCube.renderer....и так далее.

    По идее так.


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

    iXeroxДата: Воскресенье, 11 Декабря 2011, 04:22 | Сообщение # 1236
    частый гость
    Сейчас нет на сайте
    pixeye, спасибо. Теперь еще вопрос:
    Использую скрипт:
    Code

    var step = 0;
    var ScoreID0 = 0;
    var ScoreID1 = 0;
    var ScoreGUIP1 : GUIText;
    var ScoreID = 0;
    var Texture0 : Texture;
    var Texture1 : Texture;
    var Texture2 : Texture;
    var ScoreID2 = 0;
    var cube : GameObject;

    function Start ()
    {  
      step = 0;
       cube.renderer.material.mainTexture = Texture0;
        yield new WaitForSeconds (3);
      step = 1;
       cube.renderer.material.mainTexture = Texture1;
        yield new WaitForSeconds (3);
      step = 2;
       cube.renderer.material.mainTexture = Texture2;
        yield new WaitForSeconds (3);
       
    }

    function OnMouseUp()
    {
       if(step == 0)
       {
           ScoreID0 = ScoreID + 1;
       ScoreGUIP1.text = "" + ScoreID0;

       }
       else if(step == 1)
       {
           ScoreID1 = ScoreID0 + 1;
       ScoreGUIP1.text = "" + ScoreID1;

       }
       else if(step == 2)
       {
           ScoreID2 = ScoreID1 + 1;
       ScoreGUIP1.text = "" + ScoreID2;     
       }
    }


    Данный скрипт меняет счет(Score) в зависимости от текстуры. Скрипт прикрепил к кубу. Текстура меняется на другом кубе. Есть я делаю:
    Текстура сменилась=>Жму куб; Текстура сменилась=>Жму куб и т.д. то все нормально, но если я:
    Текстура сменилась =>Жму куб; Текстура сменилась=> Жду, ничего не делаю; Текстура сменилась=>Жму куб.
    После последнего, значение Score обнуляется и к нему прибавляется . То есть получается 0+1=1.
    Вопрос как этого избежать. Я сделал так т.к. хотел, чтобы во время одной текстуры нельзя было много раз нажать на куб и увеличить счет несколько раз.

    Помогите пожалуйста как решить данную проблему. Может быть вообще надо использовать другой способ, если да, то какой?
    Заранее спасибо за ответ.
    RipDevДата: Воскресенье, 11 Декабря 2011, 18:30 | Сообщение # 1237
    гейм-дизайнер
    Сейчас нет на сайте
    Локальные и мировые координаты
    Не могу понять почему я не могу выставить точку в локальных координатах куба.

    Code
        if(Input.GetButtonDown("Fire1"))
       {
        tPivot.transform.DetachChildren();  
        tPivot.parent=Cube;
        tPivot.localPosition=(new Vector3(-0.5f,-0.5f,0));
    //Вот сдесь я поставил, в локальных координатах куба, т.е левый нижний угол. Но точка остается на месте, и куб движется по кругу.
        Cube.transform.DetachChildren();
        Cube.parent=tPivot;
        animFlag=true;
       }

    if(animFlag)
       {
       iTween.RotateAdd(Pivot,iTween.Hash("z", 90, "easeType", "linear", "loopType", "once", "delay", .4));
       if(tPivot.localEulerAngles.z>=- 90)  
        {
         animFlag=false;    
        }   
       }



    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    pixeyeДата: Воскресенье, 11 Декабря 2011, 19:46 | Сообщение # 1238
    Red Winter Software
    Сейчас нет на сайте
    Quote (iXerox)
    Текстура сменилась=>Жму куб; Текстура сменилась=>Жму куб и т.д. то все нормально, но если я:
    Текстура сменилась =>Жму куб; Текстура сменилась=> Жду, ничего не делаю; Текстура сменилась=>Жму куб.


    У тебя судя по коду один раз в три секунды меняется степ. Ты кликаешь мышкой один раз в промежутке этих трех секунд и поэтому работает все нормально, тоесть ты успеваешь следуя своему коду обновить переменные.

    Во втором варианте ( если читать твое сообщение буквально ) текстура сменилась дважды и после этого ты нажал на куб. После отпуска клавиши мышки происходит проверка, так как текстура сменилась дважды, то у тебя уже идет подбор следующих параметров которые изначально равны нулю ( ведь ты пропустил предыдущую проверку прождав не нажимая на мышку). И получается пресловутый 0+1=1;

    В принципе этой информации тебе должно быть достаточно чтобы логически понять в чем ты ошибся, так как написал ты все правильно ( с точки зрения кода) и программа делает ровно то, о чем ты ее попросил.

    Объясни пожалуйста зачем тебе такое большое кол-во переменных отвечающих за счет? Какого эффекта ты хочешь добиться? Возможно тогда мне будет проще понять что конкретно ты хочешь.


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

    iXeroxДата: Воскресенье, 11 Декабря 2011, 20:50 | Сообщение # 1239
    частый гость
    Сейчас нет на сайте
    pixeye, я хочу, чтобы.... Короче говоря раз в 3 секунды меняются текстуры. В один шаг смены текстуры можно увеличить счет только один раз. Если же я не жму на то ход про пускается и я могу величине счет через ход. Суть игры true/false. Задаются вопросы:
    - 2+2=4?
    Если я считаю, что это утверждение верно, то я жму на куб, если считаю, что неверно, то пропускаю ход. Если он ответ верен, то +1, если неверен, то -1, если я пропустил ход, то 0 и т.д.
    Как это реализовать?


    Сообщение отредактировал iXerox - Воскресенье, 11 Декабря 2011, 20:50
    RipDevДата: Воскресенье, 11 Декабря 2011, 21:33 | Сообщение # 1240
    гейм-дизайнер
    Сейчас нет на сайте
    iXerox, ээ это же очень просто, школа.
    Клик
    trueflag=false;
    if(2+2==4) trueFlag=true; if (trueFlag) score+=1;
    if(!trueFlag) score-=1;
    Next();
    biggrin


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    Поиск:

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