Суббота, 11 Июля 2020, 14:59

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 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.
Наличие выпущенных коммерческих проектов (Верхние рейтинги в Google Play и App Store).
Платные и бесплатные консультации по любым темам геймдева - Л.С.
FolleahДата: Вторник, 22 Апреля 2014, 06:55 | Сообщение # 7
Архитектор
Сейчас нет на сайте
А я хотел бы увидеть прицел, вектор которого передвигается относительно оружия (т.е. при беге, прицел уводит в бок и он шатается), вот это было бы круто.

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

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


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

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