Среда, 04 Декабря 2024, 22:45

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
SkorpyXДата: Вторник, 24 Ноября 2015, 19:49 | Сообщение # 61 | Тема: [3D] - LowPoly - [Survival RPG]
участник
Сейчас нет на сайте


Жанр игры: Survival RPG
На каком движке/конструкторе: Unity 5
В каком пространстве: 3D
Какой вид в игре: От первого лица
Какие есть похожие игры: Unturned, DayZ, Rust
Какой Язык Пр. используется в игре: JS
Для какой платформы: Android
Сроки разработки: 1 сентября 2015 - ...
Состав имеющейся команды: Я

Прошу протестировать на ваших Android устройствах : LowPoly (RGhost)



Сообщение отредактировал SkorpyX - Вторник, 24 Ноября 2015, 20:17
SkorpyXДата: Суббота, 14 Ноября 2015, 15:55 | Сообщение # 62 | Тема: Вопрос-[ответ] по Unity
участник
Сейчас нет на сайте
Цитата Artem93region ()
пробовал тоже их убирать, тогда аж 6 ошибок появляется

TriggerPapers - это название вашего префаба, должно быть :
Код

gs.GetComponent.<TriggerForDestroy>()._visable == true;
SkorpyXДата: Суббота, 14 Ноября 2015, 15:45 | Сообщение # 63 | Тема: Вопрос-[ответ] по Unity
участник
Сейчас нет на сайте
Цитата Artem93region ()
gs.GetComponent.<"TriggerPapers">()._visable == true)

Кавычки лишние


Сообщение отредактировал SkorpyX - Суббота, 14 Ноября 2015, 15:47
SkorpyXДата: Суббота, 14 Ноября 2015, 13:57 | Сообщение # 64 | Тема: Вопрос-[ответ] по Unity
участник
Сейчас нет на сайте
Artem93region, во-первых, в вашем скрипте gos это массив GameObjectов, там вы обращаетесь напрямую к массиву, а нужно перебирать его в цикле.
Во-вторых _visable - это переменная вашего скрипта, а не GameObjectа, следовательно нужно обращаться к скрипту через GetComponent. Пример на js :
Код

var gos : GameObject[] = GameObject.FindGameObjectsWithTag("TriggerPapers");

for (gs in gos) {
    if (gs.GetComponent.<TriggerForDestroy>()._visable == true) {
        Debug.Log("visable == true");
    }
}


Сообщение отредактировал SkorpyX - Суббота, 14 Ноября 2015, 13:57
SkorpyXДата: Пятница, 13 Ноября 2015, 23:35 | Сообщение # 65 | Тема: Cry engine важный вопрос)
участник
Сейчас нет на сайте
Цитата Vip4ell ()
знаю что в Юнити3 шутеры с большим скоплением игроков нуждаются в очень большой скорости интернета

Чем больше человек, тем больше нужна скрость интернета, это же естесственно, и это не проблема отдельного движка. Несколько лет назад играл я как то на юсб модеме с очень маленькой скоростью, и из всех игр по сети, которые были у меня тогда (Crysis, Warface, CS), с моей скоростью нормально работала только Critical Strike, которая сделана на Unity. Так что это вопрос оптимизации.
Цитата Vip4ell ()
И ещё реально ли на нем соорудить игровую локацию скажем 30 на 30 км чтоб она запустилась на средних конфигурациях пк?

Да, если локация - это плоскость 30км на 30км с одной текстурой. Чем больше детализованность локации, тем больше требуется ресурсов.


Сообщение отредактировал SkorpyX - Пятница, 13 Ноября 2015, 23:36
SkorpyXДата: Пятница, 13 Ноября 2015, 23:20 | Сообщение # 66 | Тема: Создание гуманоидной анимации средствами Unity
участник
Сейчас нет на сайте
Цитата Feareles ()
возникла идея.
А нельзя ли для этого использовать blend tree. Допустим есть анимация извлечения оружия и есть state, в котором вызывается этот метод и всё это пихнуть в blend tree

"Из-за таких идей ты и лишился жемчужины".
Насколько я знаю, blend tree вообще для другого, для смешивания нескольких анимаций. В состояние можно добавить скрипт любой, но он будет каждый кадр вызываться. Легче всего сделать то, что вам нужно - это добавить метод в настройках импорта анимации.

Добавлено (13 ноября 2015, 23:20)
---------------------------------------------

SkorpyXДата: Пятница, 13 Ноября 2015, 22:33 | Сообщение # 67 | Тема: Создание гуманоидной анимации средствами Unity
участник
Сейчас нет на сайте
Цитата Feareles ()
Мне надо чтоб я мог создавать анимацию непосредственно в юнити.

Создаёте скелет своей 3D модели в 3D Max или Blender и делаете анимацию.
Цитата Feareles ()
Просто мне надо будет посреди анимации вызвать метод, который переназначит меч из ножен в руку персонажу.

Это можно сделать в настройках импорта анимации.

Добавлено (13 ноября 2015, 22:33)
---------------------------------------------
Цитата SkorpyX ()
Создаёте скелет своей 3D модели и делаете анимацию.

Но лучше использовать для этого сторонний софт, например Blender. Он имеет больше возможностей в этом плане. Например, поддерживает инверсную кинематику.


Сообщение отредактировал SkorpyX - Пятница, 13 Ноября 2015, 22:36
SkorpyXДата: Пятница, 13 Ноября 2015, 22:23 | Сообщение # 68 | Тема: Вопрос-[ответ] по Unity
участник
Сейчас нет на сайте
Artem93region, данный скрипт вешается на нужный UI элемент.
Вы забыли про подключение интерфейсов, четвёртая строчка должна выглядеть так :
Код

public class MYCLASSNAME : MonoBehaviour, IPointerDownHandler, IPointerUpHandler  {


Цитата Artem93region ()
И если с этим методом ни чего не выйдет то тогда такой вопрос:
как уничтожить триггер в котором я нахожусь из другого скрипта, например в новом UI я сделал кнопку со своим скриптом и у меня на сцене несколько одинаковых тригеров с одинаковыми в них обьектами и мне надо сделать так, что бы я мог убирать только те в которых я нахожусь?

Можно добавить скрипт на триггер, в котором будет массив коллайдеров в триггере, и проверять принадлежит ли игрок массиву, или создать boolean переменную. Рассмотрим подробнее второй вариант:

1) Присваиваете тэг префабу игрока "Player", создаёте скрипт, который вешаете на триггер. В нём создаёте boolean переменную. В OnTriggerEnter проверяете если тэг коллайдера равен "Player", то присваеваете bool = true. Аналогично в OnTriggerExit проверяете и присваиваете bool = false.
2) Присваиваете префабу триггера свой тэг, например "Trigger". В скрипте кнопки в OnPointerDown ищете все объекты с данным тэгом, через GetComponent ищете скрипт триггера и проверяете bool переменную, если она true, то удаляете префаб


Сообщение отредактировал SkorpyX - Пятница, 13 Ноября 2015, 22:23
SkorpyXДата: Пятница, 13 Ноября 2015, 20:23 | Сообщение # 69 | Тема: Вопрос-[ответ] по Unity
участник
Сейчас нет на сайте
Цитата Artem93region ()
а и из image (тот что из UI) не вставляется и в справке разобраться не могу

Сам с этим долго разбирался, вот пример кода js :
Код

#pragma strict

import UnityEngine.UI;
import UnityEngine.EventSystems;

class Название_Вашего_Скрипта extends MonoBehaviour implements IPointerDownHandler, IPointerUpHandler {

    function Start () {
  
    }
    
    function OnPointerDown (data : PointerEventData) {
  
    }
    
    function Update () {
  
    }
    
    function OnPointerUp (data : PointerEventData) {
  
    }

}


В implements подставляете нужные вам интерфейсы, вот список : EventSystems.IPointerDownHandler
SkorpyXДата: Вторник, 10 Ноября 2015, 15:10 | Сообщение # 70 | Тема: Вопрос-[ответ] по Unity
участник
Сейчас нет на сайте
Цитата Artem93region ()
как реализовать проверку видит ли камера тот или иной объект или нет

Первая ссылка (или третья) : Unity
SkorpyXДата: Воскресенье, 08 Ноября 2015, 11:16 | Сообщение # 71 | Тема: Поблема с Ragdoll
участник
Сейчас нет на сайте
Vasiliy_Ivanovich, можно ещё сделать труп отдельным префабом
SkorpyXДата: Суббота, 07 Ноября 2015, 17:52 | Сообщение # 72 | Тема: Проблема с Unity
участник
Сейчас нет на сайте
dzrone3488, мой скрипт подразумевает, что целью может быть не только игрок, но и любой объект с Rigidbody и амплитудой скорости больше detectionTreshold, что и показано на видео

Сообщение отредактировал SkorpyX - Суббота, 07 Ноября 2015, 20:33
SkorpyXДата: Среда, 04 Ноября 2015, 00:09 | Сообщение # 73 | Тема: Проблема с Unity
участник
Сейчас нет на сайте
KamiRonin, спасибо за ответ! Мне начинает казаться, что это баг Unity. Я проводил тест с Debug.Log, в ходе которого выясил, что сначала идёт событие старта, а потом триггера, но когда задействуется аниматор, то происходит такая штука:
Как правильно:
Код
Start {
animator.SetTrigger("Sleep");
}

OnTriggerEnter {
animator.SetTrigger("Run");
}

Как происходит:
Start {
OnTriggerEnter {
animator.SetTrigger("Run");
}

animator.SetTrigger("Sleep");
}

Получается, что событие триггера происходит как бы в середине события старта, такое вообще возможно?

Добавлено (04 ноября 2015, 00:03)
---------------------------------------------
В старте ведь я присваивал Sleep, а во время входа в триггер выводит Idle. Возможно я понял в чём дело...

Добавлено (04 ноября 2015, 00:08)
---------------------------------------------
Действительно! Если я правильно понял, то она возникает из за того, что OnTriggerEnter вызывается во время перехода между Idle и Sleep, который длится 0.1 секунду.

Добавлено (04 ноября 2015, 00:09)
---------------------------------------------
Так и есть, решением оказалось присвоение Sleep статуса начального состояния (до этого был Idle).
SkorpyXДата: Вторник, 03 Ноября 2015, 23:18 | Сообщение # 74 | Тема: Проблема с Unity
участник
Сейчас нет на сайте
Здравствуйте! Я написал ИИ для зомби, который вроде бы работает, но есть одна ошибка в коде, которую я не могу найти и исправить. Есть префаб зомби, у которого есть триггер, при входе в который, состояние зомби меняется на активное, а состояние mechanim меняется на "Run", если игрок появляется вне триггера, то всё работает нормально, но если игра начинается тогда, когда игрок уже находится в триггере, то анимации назначаются неправильно (вместо анимации бега проигрывается анимация сна, скорее всего я напутал с присвоением триггеров). Пожалуйста, помогите мне, я переписал код полностью несколько раз, но ошибка осталась.
Прилагаю сам js код, скриншот mechanim и видео ошибки:
Код

#pragma strict

enum ZombieState { Active, Inactive };
var state : ZombieState = ZombieState.Inactive;

@Header("Настройки зомби")
var hp : float = 100;
var zombieDeadPrefab : GameObject;
@Space(8)
var armLength : float = 1.5;
var radius : float = 16;
var detectionTreshold : float = 1;
var maxInterest : float = 15;

// Локальные переменные
private var target : Transform;
private var interest : float;

private var agent : NavMeshAgent;
private var animator : Animator;
private var head : Transform;

private var canAttack : boolean = true;

function Start () {
    // Базовая настройка
    agent = GetComponent.<NavMeshAgent>();
    animator = GetComponent.<Animator>();
    head = transform.Find("Armature/Spin/Head");
    
    animator.SetInteger("Run ID", Random.Range(0, 2));
    animator.SetTrigger("Sleep");
}

function Update () {
    StateMachine();
    
    if ((Input.GetKeyDown("e")) || (MobileInput.GetButtonDown("Jump"))) Die();
}

function StateMachine () {
    switch (state) {
     case ZombieState.Active :
      ActiveState();
      break;
  case ZombieState.Inactive :
   InactiveState();
   break;
    }
}

function ActiveState () {
    if (Vector3.Distance(transform.position, target.position) > radius) {
  GoToSleep();
  return;
    }
    
    switch (target.tag) {
  case "Player" :
   RunToTarget();
   AttackTarget();
   break;
  default :
   if (interest <= 0) {
    GoToSleep();
    return;
   }
   
   interest -= Time.deltaTime;
   RunToTarget();
   break;
    }
}

function InactiveState () {
    
}

function GoToSleep () {
    target = null;
    interest = 0;
    agent.ResetPath();
    animator.SetTrigger("Sleep");
    state = ZombieState.Inactive;
}

function SetTarget (tg : Transform) {
    target = tg;
    if (state != ZombieState.Active) animator.SetTrigger("Run");
    state = ZombieState.Active;
}

function RunToTarget () {
    agent.SetDestination(target.position);
    animator.SetFloat("Blend", agent.velocity.magnitude / agent.speed);
}

function AttackTarget () {
    if ((Vector3.Distance(transform.position, target.position) <= armLength) && (canAttack)) {
  animator.SetInteger("Attack ID", Random.Range(0, 3));
  animator.SetTrigger("Attack");
  canAttack = false;
    }
}

function SetCanAttack () {
    canAttack = true;
}

function Hit () {
    if (target == null) return;
}

function Die () {
    var dead : ZombieDead = Instantiate(zombieDeadPrefab, transform.position, transform.rotation).GetComponent.<ZombieDead>();
    
    dead.zombie = transform;
    dead.zombieMaterial = GetComponentInChildren.<SkinnedMeshRenderer>().sharedMaterial;
    dead.zombieVelocity = agent.velocity;
    dead.SetupMyself();
    
    Destroy(gameObject);
}

function OnTriggerEnter (other : Collider) {
    if ((state == ZombieState.Active) && (target.tag == "Player")) return;
    
    if (other.tag == "Player") {
  SetTarget(other.transform);
  return;
    }
    
    if (other.attachedRigidbody == null) return;
    if (other.attachedRigidbody.velocity.magnitude < detectionTreshold) return;
    
    if (target == null) {
  SetTarget(other.transform);
  interest = maxInterest;
    }
    
    if (other.attachedRigidbody.velocity.magnitude < target.GetComponent.<Rigidbody>().velocity.magnitude) return;
    
    SetTarget(other.transform);
    interest = maxInterest;
}


Видео в процессе загрузки...

Добавлено (03 ноября 2015, 23:18)
---------------------------------------------
Добавил видео (модель зомби не украдена с Unturned :D):


Сообщение отредактировал SkorpyX - Вторник, 03 Ноября 2015, 23:25
SkorpyXДата: Пятница, 30 Октября 2015, 17:41 | Сообщение # 75 | Тема: Аниматор
участник
Сейчас нет на сайте
Цитата Valik_Fenko ()
Проблема заключается в том что эта самая анимация вопроизводится на сцене только один раз

Зациклите анимацию в настройках импорта


Сообщение отредактировал SkorpyX - Пятница, 30 Октября 2015, 17:41
SkorpyXДата: Вторник, 13 Октября 2015, 14:32 | Сообщение # 76 | Тема: Базы для email и смс рассылок
участник
Сейчас нет на сайте
shOrtle, теперь знаю кого благодарить за спам в смс
SkorpyXДата: Среда, 30 Сентября 2015, 22:25 | Сообщение # 77 | Тема: Продаю тайлы 32x32 (продано)
участник
Сейчас нет на сайте
Написал в личку.
SkorpyXДата: Среда, 16 Сентября 2015, 19:24 | Сообщение # 78 | Тема: Вопрос-[ответ] по Unity
участник
Сейчас нет на сайте
andarky, а путь для jdk указали?
SkorpyXДата: Среда, 09 Сентября 2015, 17:01 | Сообщение # 79 | Тема: Mobile Multitouch Controller + Car and FPS demo (Unity)
участник
Сейчас нет на сайте
Mobile Multitouch Controller - это отличное кроссплатформенное решение для ваших Unity игр. Контроллер поддерживает следующие типы ввода: тачпад, джойстик и кнопка. Всё кастомизируется и вы можете легко расширить возможности контроллера. Все скрипты написаны на JS. Ассет включает в себя справки на русском и английском языках, дополнительные 18 видов джойстиков и кнопок а также демо уровень.
MobileMultitouchController (15$)

По всем вопросам можете обращаться в ЛС

Скриншоты:


Добавлено (31 августа 2015, 02:07)
---------------------------------------------
Скоро версия 1.1!
Что нового?
- Добавлено демо с машинкой
- Улучшен джойстик
- Исправлены недочёты
Car Demo (Youtube)

Добавлено (09 сентября 2015, 17:01)
---------------------------------------------
Вышла новая версия с машинкой Mobile Multitouch Controller v1.1!


Сообщение отредактировал SkorpyX - Понедельник, 05 Октября 2015, 20:19
SkorpyXДата: Четверг, 03 Сентября 2015, 17:52 | Сообщение # 80 | Тема: Planar reflection Unity5.
участник
Сейчас нет на сайте
JessyStorm, может matcap? В asset store есть бесплатный matcap шейдер Asset Store
Поиск:

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