Среда, 25 Декабря 2024, 17:26

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

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

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

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

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • Nekit_AutДата: Пятница, 20 Апреля 2012, 23:40 | Сообщение # 1941
    The Dizziness - Man
    Сейчас нет на сайте
    Quote (Knight1032)
    Как реализовать движение предмета к игроку(js)?

    Можно установить ротацию (LookAt например) объекта на игрока и прибавлять позицию. Например:
    Code

    var thisObject : Transform;
    var Player : GameObject;
    var speed : float;

    function Start(){
    thisObject = transform;
    Player = GameObject.FindGameObjectWithTag("Player"); // Или Player = GameObject.Find("Player");
    }

    function Update(){
    var pos : Vector3 = Player.transform.position;
    pos.y = transform.position.y;
    transform.LookAt(pos);
    transform.position += thisObject.forward * speed * Time.deltaTime;
    }

    В общем как то так...




    Сообщение отредактировал Nekit_Aut - Пятница, 20 Апреля 2012, 23:41
    FroSTDSДата: Суббота, 21 Апреля 2012, 09:38 | Сообщение # 1942
    почетный гость
    Сейчас нет на сайте
    Есть ли такой урок по Unity, в котором описан весь процесс создания... игры? Например: создание простого шутера от первого лица, полное описание как все сделать, что настроить, какие писать скрипты и т.п.?
    dima9595Дата: Суббота, 21 Апреля 2012, 10:32 | Сообщение # 1943
    почти ветеран
    Сейчас нет на сайте
    FroSTDS, посмотри здесб клац

    JSentДата: Суббота, 21 Апреля 2012, 17:53 | Сообщение # 1944
    постоянный участник
    Сейчас нет на сайте
    А есть способы создать 2д уровень? Я понимаю, что можно настроить камеру перпендикуляроно плоскости и в этой плоскости размещать спрайты. Но это не джентльменски. smile Можно ли в Юнити сразу создать 2д уровень?

    Программист — человек, больной тяжёлой формой поражения коры головного мозга — интеллектом, который выражается в маниакально-деструктивном стремлении писать непонятные и бессмысленные наборы символов и словосочетаний.
    ЛевшаДата: Воскресенье, 22 Апреля 2012, 03:25 | Сообщение # 1945
    почти ветеран
    Сейчас нет на сайте
    Quote (JSent)
    Можно ли в Юнити сразу создать 2д уровень?

    Разве что на ГУИ, но не думаю что это хорошее решение...


    X.cor.R (Prologue)
    MyACTДата: Воскресенье, 22 Апреля 2012, 06:22 | Сообщение # 1946
    C# CODERS
    Сейчас нет на сайте
    JSent, можно,есть полно фишек для упрощения создания 2d.
    Поищи.


    3дэшечки: https://sketchfab.com/myactyindie
    Курентли воркс он: https://myacty.itch.io/raskopnik
    СамоделкинДата: Воскресенье, 22 Апреля 2012, 07:20 | Сообщение # 1947
    участник
    Сейчас нет на сайте
    Хочу сделать панель интерфейса справа при помощи объекта plane (без Ngui, просто пробую). Разместил объект, сделал его дочерним к main camera.
    1) Когда верчу камерой источники света в сцене действуют и на панель тоже (освещают ее). Как сделать чтоб она выглядела всегда одинаково?
    2) Хочу опробовать некоторые функции, например "панель уезжает в сторону".
    Мне необходимо прописать в скрипте панели направление движения с учетом позиции и угла камеры (она свободно перемещается) и пересчитывать это, или для дочернего объекта можно использовать какие-то относительные координаты сразу. То есть просто указать "сдвинуться вправо на ширину панели" и панель сама поймет что двигаться надо в плоскости перпендикулярной камере, а не в мировых координатах. Что-то типа примера в сообщении # 1941 этого топика, наверно.
    (Надеюсь понятно описал))


    Сообщение отредактировал Самоделкин - Воскресенье, 22 Апреля 2012, 07:53
    ЛевшаДата: Понедельник, 23 Апреля 2012, 09:47 | Сообщение # 1948
    почти ветеран
    Сейчас нет на сайте
    Quote (Самоделкин)
    Как сделать чтоб она выглядела всегда одинаково?

    Помести ее в слой, который игнорит ИС. Можно еще шейдеры повесить не реагирующие на свет.

    Quote (Самоделкин)
    какие-то относительные координаты

    transform.localPosition перемещает относительно родителя.


    X.cor.R (Prologue)

    Сообщение отредактировал Левша - Понедельник, 23 Апреля 2012, 09:49
    pixeyeДата: Понедельник, 23 Апреля 2012, 10:05 | Сообщение # 1949
    Red Winter Software
    Сейчас нет на сайте
    Quote (JSent)
    А есть способы создать 2д уровень? Я понимаю, что можно настроить камеру перпендикуляроно плоскости и в этой плоскости размещать спрайты. Но это не джентльменски. Можно ли в Юнити сразу создать 2д уровень?


    А как по джентльменски? Ну ты просто мне скажи, а то я видимо уже 5 раз не джентльмен.


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

    White9Дата: Понедельник, 23 Апреля 2012, 14:30 | Сообщение # 1950
    заслуженный участник
    Сейчас нет на сайте
    У меня два небольших вопроса
    1) Как получить координаты клика мыши по земле?
    2) Что надо сделать с текстурой, чтобы на неё можно было рендерить изображение с камеры?
    Заранее спасибо )
    seamanДата: Понедельник, 23 Апреля 2012, 15:22 | Сообщение # 1951
    старожил
    Сейчас нет на сайте
    1. Получаем луч из камеры через точку на экране в которую кликнули и получаем точку столкновения с чем то (необязательно с землей). Проверяем земля ли это.
    Code
    Vector3 hit = Vector3.zero;
      if (Input.GetButtonDown("Fire1"))
    {
           Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
           RaycastHit rhit;
           if (Physics.Raycast(ray, rhit))
           {
                 if(rhit.collider.tag == "Terrain") hit = rhit.point;
            }
    }

    2. Для начала - нужна ПРО. Затем создаем RenderTexture
    White9Дата: Понедельник, 23 Апреля 2012, 15:49 | Сообщение # 1952
    заслуженный участник
    Сейчас нет на сайте
    seaman, спасибо, но почему-то не работает...
    Вот как я это записал
    Code
    using UnityEngine;
    using System.Collections;

    public class Moveunit : MonoBehaviour  
    {
      void Update ()  
      {
       Vector3 hit = Vector3.zero;  
         if (Input.GetButtonDown("Fire1"))  
        {  
             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);  
              RaycastHit rhit;  
              if (Physics.Raycast(ray, rhit))  
              {  
                   if(rhit.collider.tag == "Terrain") hit = rhit.point;  
               }  
        }
      }
    }

    А вот выдаваемые ошибки:
    1)Assets/Scripts/Moveunit.cs(13,43): error CS0165: Use of unassigned local variable `rhit'
    2)Assets/Scripts/Moveunit.cs(13,30): error CS1502: The best overloaded method match for `UnityEngine.Physics.Raycast(UnityEngine.Ray, out UnityEngine.RaycastHit)' has some invalid arguments
    3)Assets/Scripts/Moveunit.cs(13,30): error CS1620: Argument `#2' is missing `out' modifier

    Причём если этот же код записать в js, то и в этом случае выдаёт ошибки, но уже другого рода.
    pixeyeДата: Понедельник, 23 Апреля 2012, 16:11 | Сообщение # 1953
    Red Winter Software
    Сейчас нет на сайте
    Quote (White9)
    Причём если этот же код записать в js, то и в этом случае выдаёт ошибки, но уже другого рода.


    поразительно учитывая что этот код от C#

    Quote (White9)
    1)Assets/Scripts/Moveunit.cs(13,43): error CS0165: Use of unassigned local variable `rhit'
    2)Assets/Scripts/Moveunit.cs(13,30): error CS1502: The best overloaded method match for `UnityEngine.Physics.Raycast(UnityEngine.Ray, out UnityEngine.RaycastHit)' has some invalid arguments
    3)Assets/Scripts/Moveunit.cs(13,30): error CS1620: Argument `#2' is missing `out' modifier


    чтобы "это" заработало или хотя бы не выдавало ошибок писать надо так.

    if (Physics.Raycast(ray, rhit))

    это заменить на

    if (Physics.Raycast(ray,out rhit, Mathf.Infinity))


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



    Сообщение отредактировал pixeye - Понедельник, 23 Апреля 2012, 16:12
    White9Дата: Понедельник, 23 Апреля 2012, 16:51 | Сообщение # 1954
    заслуженный участник
    Сейчас нет на сайте
    Quote (pixeye)
    поразительно учитывая что этот код от C#

    Я на всякий случай проверил. Разумеется, перед этим немного его подредактировав )

    Quote (pixeye)
    это заменить на if (Physics.Raycast(ray,out rhit, Mathf.Infinity))

    Большое спасибо, теперь ошибок не выдаёт и всё прекрасно работает =)
    ReSeRДата: Понедельник, 23 Апреля 2012, 21:57 | Сообщение # 1955
    постоянный участник
    Сейчас нет на сайте
    Люди вопросик. Как округлить переменную float тоесь у меня значение 30.12345 как сделать просто 30

    FastRoad[PC][Android](Забыто)
    COSMO 3D[PC][Android](Забыто)
    SnowBall[PC][Android](Замороженно)
    Nekit_AutДата: Понедельник, 23 Апреля 2012, 22:00 | Сообщение # 1956
    The Dizziness - Man
    Сейчас нет на сайте
    Quote (ReSeR)
    Люди вопросик. Как округлить переменную float тоесь у меня значение 30.12345 как сделать просто 30

    Хмм... В каком смысле округлить. Точнее где? В скрипте или где ещё?


    ReSeRДата: Понедельник, 23 Апреля 2012, 22:04 | Сообщение # 1957
    постоянный участник
    Сейчас нет на сайте
    Да Вскрипте) есть перемненная public float speed;
    В Апдейте у меня идёт нарастание значения этой переменной до 30. Но становится не ровно 30 а 30.12312....


    FastRoad[PC][Android](Забыто)
    COSMO 3D[PC][Android](Забыто)
    SnowBall[PC][Android](Замороженно)
    Nekit_AutДата: Понедельник, 23 Апреля 2012, 22:06 | Сообщение # 1958
    The Dizziness - Man
    Сейчас нет на сайте
    ReSeR, Так сделай условие!
    Code
    if(speed >= 30){
    speed = 30;
    }


    pixeyeДата: Понедельник, 23 Апреля 2012, 22:16 | Сообщение # 1959
    Red Winter Software
    Сейчас нет на сайте
    Quote (ReSeR)
    В Апдейте у меня идёт нарастание значения этой переменной до 30. Но становится не ровно 30 а 30.12312....


    Mathf.Round(speed);


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

    SnakeRДата: Понедельник, 23 Апреля 2012, 22:22 | Сообщение # 1960
    постоянный участник
    Сейчас нет на сайте
    Люди, юзайте справку, елки палки =) 90% ответов на ваши вопросы находятся там =)

    Unity3D Developer
    Ваш лучший помощник при разработке в Unity3D
    Поиск:

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