Пятница, 17 Января 2025, 02:38

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • iXeroxДата: Воскресенье, 04 Декабря 2011, 21:43 | Сообщение # 1201
    частый гость
    Сейчас нет на сайте
    pixeye,  Спасибо. noTformaT, Спасибо, но плюс поставлю только через 6 дней.

    Еще вопрос. Я прописывал, чтобы какое либо действие происходило если текст(который меняется каждые 5 сек). Что типа:
    Code

    if(itext == "Владивосток")
    {
    Application.LoadLevel(1)
    }
     
    И т.д. А возможно ли сделать, чтобы действие происходило в зависимости от текстуры натянутой на объект. Так я ввел переменную:
    var texture : GUITexture;
    И так несколько раз texture1, texture2.
    Как сделать, чтобы если texture1, то грузился уровень 1, а если текстура 2, то грузился уровень 2.
    pixeyeДата: Воскресенье, 04 Декабря 2011, 21:46 | Сообщение # 1202
    Red Winter Software
    Сейчас нет на сайте
    Quote (iXerox)
    И т.д. А возможно ли сделать, чтобы действие происходило в зависимости от текстуры натянутой на объект. Так я ввел переменную:
    var texture : GUITexture;
    И так несколько раз texture1, texture2.
    Как сделать, чтобы если texture1, то грузился уровень 1, а если текстура 2, то грузился уровень 2.


    ММ..не вижу реального применения, но вот тебе костыль.

    Ты вводишь какую то переменную в виде скажем числа. Например TextureNum.

    var TextureNum = 2;

    switch (TextureNum){

    case 2:
    ....текстура такая то;
    действие такое то.
    Application.LoadLevel(1) ;
    break;

    }

    А вообще завязывай с ГУИ текстурами))) в юнити гуи убог - лучше не использовать, думать над альтернативой.


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



    Сообщение отредактировал pixeye - Воскресенье, 04 Декабря 2011, 21:47
    noTformaTДата: Воскресенье, 04 Декабря 2011, 21:49 | Сообщение # 1203
    Ukrainian independent game developer
    Сейчас нет на сайте
    Quote (iXerox)
    И т.д. А возможно ли сделать, чтобы действие происходило в зависимости от текстуры натянутой на объект. Так я ввел переменную:
    var texture : GUITexture;
    И так несколько раз texture1, texture2.
    Как сделать, чтобы если texture1, то грузился уровень 1, а если текстура 2, то грузился уровень 2.

    мммм, как я понял что=то типа этого????

    if(texture == texture1)
    {
    //переходим на уровень 1
    }
    else
    {
    if(texture == texture2)
    {
    //переходим на уровень 2
    }
    }
    ......

    можно попробывать заменить на switch, но я хз, вроде бы в switch работает с enum типами (перечисление), точно не знаю.


    @noTformaT
    granizaДата: Воскресенье, 04 Декабря 2011, 21:51 | Сообщение # 1204
    GraNiza-DeveLoper
    Сейчас нет на сайте
    Скажите пожалуйста если знаешь основы С# что следующее делать?Хотелось бы уже в Unity что-то делать но с чего начать?

    pixeyeДата: Воскресенье, 04 Декабря 2011, 21:58 | Сообщение # 1205
    Red Winter Software
    Сейчас нет на сайте
    Quote (noTformaT)
    можно попробывать заменить на switch, но я хз, вроде бы в switch работает с enum типами (перечисление), точно не знаю.

    integral type, bool, char, string, enum or nullable type

    Добавлено (04.12.2011, 21:58)
    ---------------------------------------------

    Quote (graniza)
    Скажите пожалуйста если знаешь основы С# что следующее делать?Хотелось бы уже в Unity что-то делать но с чего начать?


    Тетрис.


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

    granizaДата: Воскресенье, 04 Декабря 2011, 22:02 | Сообщение # 1206
    GraNiza-DeveLoper
    Сейчас нет на сайте
    Quote (pixeye)
    Тетрис.

    Черт!Совсем забыл про тетрис!Спасибо что напомнил.


    noTformaTДата: Воскресенье, 04 Декабря 2011, 22:06 | Сообщение # 1207
    Ukrainian independent game developer
    Сейчас нет на сайте
    Quote (pixeye)
    integral type, bool, char, string, enum or nullable type

    да, видимо только типы перечислений... Печалька, но, тогда можно ввести новый флаг с типом данных перечисление, и сделать как это предположил pixeye, и не плодить кучу ифов и илсов...
    Quote (graniza)
    Хотелось бы уже в Unity что-то делать но с чего начать?

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

    Начни с написание клона той игрухи на юнити, про жабу+космонафт+уфо...


    @noTformaT
    granizaДата: Воскресенье, 04 Декабря 2011, 22:08 | Сообщение # 1208
    GraNiza-DeveLoper
    Сейчас нет на сайте
    Quote (noTformaT)
    Начни с написание клона той игрухи на юнити, про жабу+космонафт+уфо...

    Не очень понял... smile


    noTformaTДата: Воскресенье, 04 Декабря 2011, 22:11 | Сообщение # 1209
    Ukrainian independent game developer
    Сейчас нет на сайте
    Quote (graniza)
    Не очень понял...

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

    Инопланетная жаба космонавт... Она есть в двух оффициальных туториалах - 3д платформер, и 2д платформер с физикой.


    @noTformaT
    granizaДата: Понедельник, 05 Декабря 2011, 14:13 | Сообщение # 1210
    GraNiza-DeveLoper
    Сейчас нет на сайте
    Quote (noTformaT)
    стандартный туториал который идет на офф сайте самым первым...

    Инопланетная жаба космонавт... Она есть в двух оффициальных туториалах - 3д платформер, и 2д платформер с физикой.

    Нее...Я начну с танчиков в 3d.

    Добавлено (05.12.2011, 14:13)
    ---------------------------------------------
    Если сделал модель в ScethUp я могу экспортировать прямо в unity?


    SlavyanOOsДата: Понедельник, 05 Декабря 2011, 14:38 | Сообщение # 1211
    Problems, developer?
    Сейчас нет на сайте
    Quote (graniza)
    Если сделал модель в ScethUp я могу экспортировать прямо в unity?

    Простой и Pro SketchUp?
    granizaДата: Понедельник, 05 Декабря 2011, 14:49 | Сообщение # 1212
    GraNiza-DeveLoper
    Сейчас нет на сайте
    Quote (SlavyanOOs)
    Простой и Pro SketchUp?

    SketchUp Pro 8 smile


    iXeroxДата: Понедельник, 05 Декабря 2011, 15:58 | Сообщение # 1213
    частый гость
    Сейчас нет на сайте
    Прошу прощения, перепутал(с телефона писал, исходников не было).
    Я натягиваю текстуру на куб, делаю так, чтобы она менялась каждые 5 секунд(как реализовал честно говоря не помню и знать не буду до пятницы, ибо у компа не буду). Суть вопроса в том, как сделать, чтобы в зависимости он того, какая текстура на кубе изменялись действия которые происходят при нажати на куб(другой, а не тот, на который натянута текстура).

    P.S.: Если гуй в юнити плохой, то случайно нет программ в которых можно реализовать гуй для юнити.
    Заранее СПС.
    pixeyeДата: Понедельник, 05 Декабря 2011, 18:41 | Сообщение # 1214
    Red Winter Software
    Сейчас нет на сайте
    Quote (iXerox)
    Прошу прощения, перепутал(с телефона писал, исходников не было).
    Я натягиваю текстуру на куб, делаю так, чтобы она менялась каждые 5 секунд(как реализовал честно говоря не помню и знать не буду до пятницы, ибо у компа не буду). Суть вопроса в том, как сделать, чтобы в зависимости он того, какая текстура на кубе изменялись действия которые происходят при нажати на куб(другой, а не тот, на который натянута текстура).

    P.S.: Если гуй в юнити плохой, то случайно нет программ в которых можно реализовать гуй для юнити.
    Заранее СПС.


    Это сложнее, но с практикой обычная рутинная задача.

    Допустим у тебя есть куб А на который ты хочешь воздействовать.
    смена текстуры куба Б отвечает за то какое действие ты собираешься сделать.

    Введи глобальную переменную ( айдишник ) для текстуры. ТеxtureNum = 1 и тп итд.
    ТеxtureNum меняется в зависимости от выбранной текстуры куба Б.

    В своем скрипте куба А ты просто делаешь
    switch (TextureNum){

    case 2:
    действие такое то.
    break;

    }

    Если не понятно, то составлю полноценный кусок кода.

    Насчет гуи - сложнее - есть много готовых решений разной степени стоимости. Бесплатно это сделать систему плашек с текстурами ( Плоские модельки, фейковый спрайт ), По сути написать систему для нормального отображения 2д.
    Кликни меня! - оптимальное решение по цене/качеству.


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

    iXeroxДата: Понедельник, 05 Декабря 2011, 22:09 | Сообщение # 1215
    частый гость
    Сейчас нет на сайте
    pixeye, В целом все ясно. Спасибо за ответ. Но кто-то шепчет мне на ухо(кеп?), что когда буду пытаться реализовывать возникнут вопросы....

    P.S.: Плюс поставить не могу ибо уже ставил. Поставлю через 6 дней.
    andarkyДата: Вторник, 06 Декабря 2011, 13:06 | Сообщение # 1216
    старожил
    Сейчас нет на сайте
    я вопрос с переходом по этажам решил так: отключаю коллайдеры пола, ставлю на +1000.у и включаю обратно.
    Это меня устраивает.

    НО! не могу решить, казалось бы элементарную задачку:
    читать пиксели GrayScale-текстуры и там где черная точка - ставить кубик.

    Пример из справки неработает
    Code

    var heightmap : Texture2D;
    var size = Vector3 (100, 10, 100);
    function Update () {
    var x : int = transform.position.x / size.x * heightmap.width;
    var z : int = transform.position.z / size.z * heightmap.height;
    transform.position.y = heightmap.GetPixel(x, z).grayscale * size.y;
    }


    я изменил его под себя:
    Code

    public var col1:float=128;
    public var col2:float=128;
    public var xr:float=1.2;
    public var zr:float=1.2;
    public var yi:float=1.8;
    public static var icm: Transform;
    var prefab : Transform;
    var t2d:Texture2D;
    function Start ()  
    {
      var colo:Color=Color(0,0,0,0);
       
      var xp = prefab.position.x;
      var zp = prefab.position.z;

      //var t2d:Texture2D=renderer.material.mainTexture;
       
    for (var j : int = 0; j < col1; j++)  
      {
      for (var i : int = 0; i < col2; i++)  
       {
       colo=t2d.GetPixel(j, i);
        
       if (colo.r<0.5)
        {
         icm=Instantiate (prefab, Vector3(xp-i*xr,prefab.position.y, zp-j*zr), Quaternion.identity);
         icm.name="icu"+i+j;
        }
        
       }
      }  
      prefab.transform.renderer.enabled=false;
    }


    а он пишет свое:
    Texture 'nametexture' is not readable, the texture memory can not be accesse from scripts. You make the texture readable in the TextureImport Settings.

    - Что за бред??
    ...
    я не собираюсь её менять, мне надо прочитать пиксель по координатам (x,y) я же не SetPixel делаю...
    а найти TextureImport Settings я не смог.
    Где это?



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик
    RipDevДата: Вторник, 06 Декабря 2011, 13:49 | Сообщение # 1217
    гейм-дизайнер
    Сейчас нет на сайте
    andarky,ставь Texture type: Advensed. И галочку Read/Write Enable. Должно работать.

    Добавлено (06.12.2011, 13:49)
    ---------------------------------------------

    Quote (andarky)
    читать пиксели GrayScale-текстуры и там где черная точка - ставить кубик.

    Хм, черная точка может сказаться на терейне. А если это только для расстановки объектов, то очень странный подход.


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    andarkyДата: Вторник, 06 Декабря 2011, 15:19 | Сообщение # 1218
    старожил
    Сейчас нет на сайте
    RipDev,
    попробую...

    Добавлено (06.12.2011, 15:19)
    ---------------------------------------------
    да есть!
    спасибо, RipDev, + !



    Моя страничка по дизайну
    GameDev//Design//3D
    Ютубчик
    RipDevДата: Среда, 07 Декабря 2011, 22:59 | Сообщение # 1219
    гейм-дизайнер
    Сейчас нет на сайте
    Здравствуйте. Сразу к делу
    Мне нужно сделать кантование куба, с условиями:
    1) Куб не должен проваливаться(своим углом) в пол.
    2) Карта сделана из кубов, и куб должен ложится на куб(четко) 1 в 1.
    3) Уже по сетке(из кубов) я определяю где лежит куб. Т.е обычный 2мерный массив.
    4)Логика, куб стоит на клетке (1,1), затем перемещается за счет кантования в след клетку(1,2).Движение по клеточкам.

    Подскажите как бы это сделать?


    Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
    noTformaTДата: Четверг, 08 Декабря 2011, 00:18 | Сообщение # 1220
    Ukrainian independent game developer
    Сейчас нет на сайте
    ммм, кантование это что то типа этого?


    @noTformaT
    Поиск:

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