Четверг, 14 Ноября 2024, 11:59

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Результаты поиска
GomgДата: Воскресенье, 03 Февраля 2013, 10:17 | Сообщение # 1 | Тема: проблемы с импортом развертки вышки!
был не раз
Сейчас нет на сайте
может в максе просто UV координаты слетели?
GomgДата: Пятница, 28 Декабря 2012, 04:00 | Сообщение # 2 | Тема: Глубина объектов
был не раз
Сейчас нет на сайте
Покопался по форуму нашел похожую проблему. Как настроить правильно глубину чтобы если сверху подходишь к объекту он был на переднем плане, на если снизу подходишь, то на заднем. глубина = - y не предлагать, не работает и не профессионально как-то.

Добавлено (28.12.2012, 04:00)
---------------------------------------------

GomgДата: Понедельник, 17 Сентября 2012, 07:25 | Сообщение # 3 | Тема: Баг UV координат
был не раз
Сейчас нет на сайте
где это?

Добавлено (17.09.2012, 07:25)
---------------------------------------------
а все я решил проблему путем колапсирования (Collapse to) в максе

GomgДата: Воскресенье, 16 Сентября 2012, 05:35 | Сообщение # 4 | Тема: Баг UV координат
был не раз
Сейчас нет на сайте
http://unity3d.ru/distribution/viewtopic.php?f=5&t=11161 вот тут все написано.
GomgДата: Воскресенье, 05 Августа 2012, 05:47 | Сообщение # 5 | Тема: Редактирование вертексов и Quaternion
был не раз
Сейчас нет на сайте
1.Как сделать анимацию с редактированием вертексов, дело в том что из макса она портируется неправильно, то есть при проигрывании ее ничего не происходит.
2.И еще вопрос по Quaternoin, как она действует? Например чтобы повернуть объект только по х, надо писать transform.rotation = Quaternion.Slerp(Quaternion.Identity, ??? тут как, и тут что пишется?)
GomgДата: Четверг, 02 Августа 2012, 05:24 | Сообщение # 6 | Тема: Массивы в Unity
был не раз
Сейчас нет на сайте
gmmmm,
как дистанцию рассчитать это понятно но как указать объект, короче щас скрипт скину

Code

   public Transform myTransform;
   public string typeItem;
   public string subtype;
   public float distance;
   public List<Transform> items;
     
   void Start () {
   items = new List<Transform>();
   myTransform = transform;
   AddAllItems();
   }

   void Update () {   
    if (typeItem == "Meat")
     if(subtype == "DeerMeat")
     distance = Vector3.Distance(transform.position, //вот тут как указать объект с тем же тегом и скриптом, но с другой переменной typeItem, например = fire
   }   
     
   private void AddAllItems(){
   GameObject[] go = GameObject.FindGameObjectsWithTag("Item");
    foreach (GameObject item in go)
     AddItemInList(item.transform);
   }
     
   private void AddItemInList(Transform item){
    items.Add(item);
   }
}


Сообщение отредактировал Gomg - Четверг, 02 Августа 2012, 05:25
GomgДата: Четверг, 02 Августа 2012, 03:07 | Сообщение # 7 | Тема: Массивы в Unity
был не раз
Сейчас нет на сайте
а замена именно объекта с# предусматривает? и как включить проверку на дистанцию от одного объекта до другого? ведь у костра должно жариться.
GomgДата: Среда, 01 Августа 2012, 16:54 | Сообщение # 8 | Тема: Массивы в Unity
был не раз
Сейчас нет на сайте
У меня есть Лист расширяющийся массив в нем забиты объекты с тегом Item, у каждого объекта есть идентификатор ItemType типа String, как произвести поиск по этой переменной ItemType, с тегом Item, и добавить их в другой массив.

Короче моя задумка такова: хочу чтобы мясо с тегом Item, ItemType = "Meat", subtype = "RatMeat" Жарилось то есть через некоторое время превращалось в модель уже готового мяса, но возле костра - объекта с тегом Item, ItemType ="Static", subtype ="Fire"
проблема в том, что у меня есть кусок кода
Code
  
void Update () {  
  if (ItemType == "Meat")
   if(subtype == "RatMeat")
                    // тут надо добавить в другой массив объект с ItemType = "Fire"
      if(transform.position - //тут будет что-то

но как реализовать? код конечно корявый но если подскажете буду благодарен, заранее спасибо!
GomgДата: Четверг, 26 Июля 2012, 14:25 | Сообщение # 9 | Тема: Выбор цели
был не раз
Сейчас нет на сайте
У меня есть улучшенный мной PlayerAttack и улучшенный target, вот они
Доступно только для пользователей

Доступно только для пользователей

он собственно выбирает ближайшего врага и проверяет дистанцию и направление для удара.
Вопрос: как сделать чтобы хелсбар первого атакованного мной врага убирался при атаке второго, индекс при Targets[Индекс] постоянно ноль для выбора ближайшей цели. Таймер не пойдет, потому что тормозить выход хелсбара будет.


Сообщение отредактировал Gomg - Четверг, 26 Июля 2012, 14:28
GomgДата: Воскресенье, 22 Июля 2012, 09:23 | Сообщение # 10 | Тема: Targetting
был не раз
Сейчас нет на сайте
donos, не так не получится через десять секунд после бездействия он выключит бар а враг будет все равно бить, а надо чтобы как бы режим боя был.
GomgДата: Воскресенье, 22 Июля 2012, 09:18 | Сообщение # 11 | Тема: Targetting
был не раз
Сейчас нет на сайте
donos, извини что загружаю, ладно тогда как нибудь покручу код. спасибо
GomgДата: Воскресенье, 22 Июля 2012, 09:06 | Сообщение # 12 | Тема: Targetting
был не раз
Сейчас нет на сайте
donos, спасибо получилось!

но у меня есть еще проблема, я хочу так чтобы подходишь к врагу ударяешь появляется его хелсбар ( это я сделал), но когда отходишь например distance > 40 то хелсбар исчезает. то есть если поставить строку ( distance = Vector3.Distance (target.transform.position, transform.position); ) в void Attack, то она обновляется при вызове атаки (то есть при нажатии F), а если эту строку поставить в void update, то distance почему-то увеличивается, то есть атака становится невозможной и здоровье врагу не отнимается (потому что distance растет и становится больше 2). Куда надо поставить эту строку чтобы бар исчезал корректно.

public class PlayerAttack : MonoBehaviour {
public GameObject target;
public float coolDown;
public float attackTimer = 0;
public float distance;

void Start () {
if (coolDown <= 0 )
coolDown = 1.8f;
}


void Update () {
if (attackTimer > 0)
attackTimer -= Time.deltaTime;
if (attackTimer < 0)
attackTimer = 0;
if (Input.GetKeyUp(KeyCode.F))
if (attackTimer == 0){
Attack();
attackTimer = coolDown; }
}



private void Attack () {
distance = 0;
distance = Vector3.Distance (target.transform.position, transform.position);
Vector3 dir = (target.transform.position - transform.position).normalized;
float direction = Vector3.Dot(dir, transform.forward);
EnemyHealth eh = (EnemyHealth)target.GetComponent("EnemyHealth");
if (distance < 2 && direction > 0.7) {
eh.AdjustCurrentHealth(-10);
eh.showHealthBar = true; }
if (distance > 40 || eh.currentHealth == 0){
eh.showHealthBar = false;}
}
}

Добавлено (22.07.2012, 09:06)
---------------------------------------------
donos, может быть код непонятен но я не умею вставлять его как у тебя построчно

GomgДата: Воскресенье, 22 Июля 2012, 08:41 | Сообщение # 13 | Тема: Targetting
был не раз
Сейчас нет на сайте
можешь привести пример кусочка кода? про типы donos,

Добавлено (22.07.2012, 08:41)
---------------------------------------------
donos,
нет насчет конпонента не работает вот http://firepic.org/?v=2.2012-07-22_ezxm6ef2ifzl.png


Сообщение отредактировал Gomg - Воскресенье, 22 Июля 2012, 08:42
GomgДата: Воскресенье, 22 Июля 2012, 07:08 | Сообщение # 14 | Тема: Targetting
был не раз
Сейчас нет на сайте
спасибо, но обязательно писать так перед каждым условием?
{
A0001 a = (A0001)target.GetComponent("A0001")
if (a.bool)
тыры-пыры
}
{
A0001 a = (A0001)target.GetComponent("A0001")
else if (a.bool = false)
тыры пыры
}
то есть я имел ввиду перед каждым условием надо писать то что красным?

и как делается новый тип?


Сообщение отредактировал Gomg - Воскресенье, 22 Июля 2012, 07:09
GomgДата: Воскресенье, 22 Июля 2012, 05:25 | Сообщение # 15 | Тема: Targetting
был не раз
Сейчас нет на сайте
donos,
ну кроме нпс есть еще и монстры же, потом когда диалоги будут, будет каша если теги назначить неверно.

и еще как правильно при условии проверить значение переменной из другого скрипта.
например: у меня в скрипте A0001 есть переменная bool со значением False, как мне из скрипта B0001 проверить (БУЛ == true),
надо писать:
A0001 a = (A0001).target.GetComponent("A0001")

if (a.bool())
...
?

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


Сообщение отредактировал Gomg - Воскресенье, 22 Июля 2012, 05:26
GomgДата: Воскресенье, 22 Июля 2012, 04:03 | Сообщение # 16 | Тема: Targetting
был не раз
Сейчас нет на сайте
спасибо попробую, но можно все таки сделать массив объектов по нескольким тегам? как записывается?
GomgДата: Суббота, 21 Июля 2012, 17:56 | Сообщение # 17 | Тема: Targetting
был не раз
Сейчас нет на сайте
donos, я же написал что нужно появление хелсбара, при ударе ЛЮБОГО живого объекта, будь то монстр, или человек, или животное, а не на кнопку последовательно все подряд. Пример: как в Готике или Скайриме.

Добавлено (21.07.2012, 17:56)
---------------------------------------------
donos, и причем у него листинг, а не массив объектов с тегом.

GomgДата: Суббота, 21 Июля 2012, 17:23 | Сообщение # 18 | Тема: Targetting
был не раз
Сейчас нет на сайте
Я хочу чтобы при атаке ЛЮБОГО живого объекта делалась на него наводка, объясните как этого можно добиться?

Добавлено (21.07.2012, 17:23)
---------------------------------------------
я так понял что надо массив объектов делать , типа нпс, монстры и т.д. и там выбирать ближайшего и если расстояние до него меньше заданного при атаке показывать ГУИ, но как правильно записать это

GomgДата: Суббота, 21 Июля 2012, 17:18 | Сообщение # 19 | Тема: RPG на UDK
был не раз
Сейчас нет на сайте
Quote (KrisGames)
свет и перса поставить

уже могу, правда пока с анимацией не разбирался
GomgДата: Четверг, 19 Июля 2012, 17:12 | Сообщение # 20 | Тема: RPG на UDK
был не раз
Сейчас нет на сайте
а в нем физика есть?
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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