Среда, 11 Декабря 2019, 13:36

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Динамический прицел (советы по созданию прицела)
Динамический прицел
redinardДата: Среда, 02 Апреля 2014, 02:29 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Я начал создание динамического прицела,сделал наброски его кода,но перед созданием некоторых его частей хотелось бы услышать толкове предложения как лучше их реализовать,а именно меня интересуют следующи вопросы:
-как лучше сделать быстрое расхождение рисок при нажатии кнопки стрельбы
-функция плавного расширения рисок на максимальное растояние при беге
-индикатор попадания в цель
-смена цвета рисок при наведении на союзника

вот собственно код
Код
using UnityEngine;
using System.Collections;

public class Crosshair : MonoBehaviour
{

     public Texture2D tx;
     public float maxSize = 100.0F;
     public float minSize = 20.0F;
     public float changeSpeed = 0.1F;
     float tempRange = 0.0F;

    void Update()
  {
   if (Input.GetButton ("Fire1"))  
   {
          if (tempRange < maxSize)
          {
              tempRange += changeSpeed;
          }
   }
   else
   {
    if (tempRange > 0)
    {
     tempRange -= changeSpeed;
    }
   }
  }

     void OnGUI()
     {

         GUI.DrawTexture(new Rect(Screen.width / 2 - 35 - tempRange, Screen.height / 2-1, 20, 2), tx);// левая риска
   GUI.DrawTexture(new Rect(Screen.width / 2 + 15 + tempRange, Screen.height / 2-1, 20, 2), tx);// правая риска
   GUI.DrawTexture(new Rect(Screen.width / 2-1, Screen.height / 2 - 35 - tempRange, 2, 20), tx);// верхняя риска  
   GUI.DrawTexture(new Rect(Screen.width / 2-1, Screen.height / 2 + 15 + tempRange, 2, 20), tx);// нижняя риска  
     }

}


Я белый и пушистый но имею когти и зубы
DantorSДата: Среда, 02 Апреля 2014, 05:16 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
А что такое рисок? Рис? цвет прицела(перекрестия)?

Сообщение отредактировал DantorS - Среда, 02 Апреля 2014, 05:18
robertonoДата: Среда, 02 Апреля 2014, 10:46 | Сообщение # 3
Чокнутый Кот
Сейчас нет на сайте
redinard, Я вот тоже скоро до этой части своего проекта дойду. И я собираюсь в отдельный скрипт, допустим Crosshair (как у тебя) сделать паблик переменную в % насколько будет расширен прицел. Если 0 - то он маленький. Если 100 - то он большой. И уже через другие скрипты, отвечающие за передвижение и стрельбу я уже буду контролировать % расхождения прицела.
KamiRoninДата: Среда, 02 Апреля 2014, 12:16 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Цитата DantorS ()
А что такое рисок?

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

Цитата redinard ()
-как лучше сделать быстрое расхождение рисок при нажатии кнопки стрельбы

я бы сделал расчет позиции риски от диаметра круга - риски привязаны к позициям на круге - по определенному градусу окружности (0, 90, 180, 270). локальный поворот легко сделать - ведь центр круга известен. так можно сделать и косой крест -- просто меняешь градус расположения на круге.
увеличил диаметр - риски разошлись, уменьшил - сошлись. дополнительно бы добавил коэффициент скалинга для риски, в прямой зависимости от диаметра круга - когда расходятся немного их увеличивать, сходятся уменьшать.

Цитата redinard ()
-функция плавного расширения рисок на максимальное растояние при беге

при расположении по формуле от круга, плавность расхождения легко сделать лерпом.

Цитата redinard ()
-индикатор попадания в цель

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

Цитата redinard ()
-смена цвета рисок при наведении на союзника

тут четыре вещи - рейкаст, тэг (союзник/враг), material.color, возврат к первичному цвету в любом другом случае (не враг, не союзник, любой объект)

как то так.


Мыслю - значит программирую...
Конструктивная критика - умных ведет к совершенству...
Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
redinardДата: Вторник, 22 Апреля 2014, 02:00 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
было бы не плохо показывать свои советы на примере кода,который я буду адоптировать,и выкладывать тут чтобы другие ребята могли воспользоватся)

Добавлено (16.04.2014, 01:10)
---------------------------------------------
народ подскажите как сделать риски прицела в окантовке как в игре Contract Wars ?
вот ссылка на игру Contract Wars

Добавлено (22.04.2014, 02:00)
---------------------------------------------
народ кто может помочь перевести с код из видео с джавы в шарп ? видеоурок по прицелу


Я белый и пушистый но имею когти и зубы
Storm54Дата: Вторник, 22 Апреля 2014, 05:52 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Не думаю, что кому-то очень охота переписывать текст с видео. Хотя бы оригинал сюда скинь для начала.

Более 10 лет опыта разработки на разных языках высокого уровня.
Отличные знания .NET, Unity.
Разбираюсь в протоколах TCP, UDP.
Наличие выпущенных коммерческих проектов.
Занимаюсь разработкой WebGL проекта (с применением технологии WebSocket)
Пишите в Л.С.
FolleahДата: Вторник, 22 Апреля 2014, 06:55 | Сообщение # 7
Архитектор
Сейчас нет на сайте
А я хотел бы увидеть прицел, вектор которого передвигается относительно оружия (т.е. при беге, прицел уводит в бок и он шатается), вот это было бы круто.

redinardДата: Вторник, 22 Апреля 2014, 16:50 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Цитата Storm54 ()
Не думаю, что кому-то очень охота переписывать текст с видео. Хотя бы оригинал сюда скинь для начала.

хорошо,вскоре выложу


Я белый и пушистый но имею когти и зубы
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Динамический прицел (советы по созданию прицела)
  • Страница 1 из 1
  • 1
Поиск:

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