Суббота, 15 Августа 2020, 11:04

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Записи участника » MrBILL [21]
Результаты поиска
MrBILLДата: Среда, 13 Мая 2020, 13:54 | Сообщение # 1 | Тема: UI, слои... [РЕШЕНО]
был не раз
Сейчас нет на сайте
Огромное спасибо. В принципе получилось, нужно тестить как вдарит по производительности... Еще бы придумать, как "рамки телефона" обозначить для себя, когда буду работать в 2д камере. Ну это чтонить придумаю)
Еще раз спасибо.
MrBILLДата: Вторник, 12 Мая 2020, 22:02 | Сообщение # 2 | Тема: UI, слои... [РЕШЕНО]
был не раз
Сейчас нет на сайте
Доброго времени суток, друзья. Требуется Ваша помощь.
Столкнулся с проблемой... Разрабатываю хардкорную игру... одновременная смесь раннера и кучи других мелких игр, по типу змейки\3 в ряд\пакман и тд.

Имеется раннер, и телефон, на котором идет "2 игра". С раннером проблем нет, да и как , в принципе с "2 игрой", единственное, что не могу реализовать: на скриншоте белая панель, для примера. Это область, где проходит сама игра. Никак не пойму, как убрать выделенное красным, что-бы сама игра проходила непосредственно в зеленой зоне, внутри телефона.
Область, выходящая за пределы видимости "телефона" нужна, соответственно для разнообразных механик, в которых, тот-же инстантиейт происходит за пределами видимости экрана.
Никак не могу придумать. Подскажите, пожалуйста. Возможно как-то со слоями поработать? Честно говоря, не очень в них разбираюсь.


Сообщение отредактировал MrBILL - Среда, 13 Мая 2020, 13:55
MrBILLДата: Воскресенье, 29 Марта 2020, 13:21 | Сообщение # 3 | Тема: navmesh и blend tree [Решено]
был не раз
Сейчас нет на сайте
Больше спасибо!
Убрал Idle отдельно, и ввел bool , если скорость <= 0 -> idle.
Работает в разы лучше, но не идеально=) думаю, тут уже дело в самих анимациях.
MrBILLДата: Суббота, 28 Марта 2020, 18:27 | Сообщение # 4 | Тема: navmesh и blend tree [Решено]
был не раз
Сейчас нет на сайте
Всем доброго времени суток. Столкнулся с такой неприятной проблемой...
На данный момент мобы используют дерево смешиваний анимации отталкиваясь от скорости по z.

Настроил анимации, нав меш агент, все нормально. Но, если мобы по пути к цели сталкиваются между собой, то скорость сбрасывается, и анимации начинают очень сильно дергаться.

Все что можно перепробовал, не придумал ничего =(
Подскажите, пожалуйста, может, кто сталкивался с подобным?
Video


Сообщение отредактировал MrBILL - Воскресенье, 29 Марта 2020, 13:21
MrBILLДата: Четверг, 12 Декабря 2019, 22:26 | Сообщение # 5 | Тема: UI instantiate prefab
был не раз
Сейчас нет на сайте
А если я инстанциирую префаб, а потом удалю у него родителя и запущу анимацию движения вверх и увеличения прозрачности, он стартовую точку возьмёт как «до отмены» родителя?
MrBILLДата: Четверг, 12 Декабря 2019, 18:59 | Сообщение # 6 | Тема: UI instantiate prefab
был не раз
Сейчас нет на сайте
Всем спасибо, приеду домой попробую. А префабы можно будет анимировать с layout group ? Или там какие то пляски с бубном?
MrBILLДата: Четверг, 12 Декабря 2019, 16:50 | Сообщение # 7 | Тема: UI instantiate prefab
был не раз
Сейчас нет на сайте
Доброго времени суток.
Столкнулся с проблемой, которую никак не могу решить...
Имеется панель. Необходимо создавать туда заготовленный префаб состоящий из картинки и текста.

Суть в чем... если персонаж поднимает предмет в инвентарь, должен появляться префаб с информацией о предмете с анимацией движения вверх и постепенным исчезновением.
Проблема в том, что если поднять одновременно 2 и более предмета, то префабы накладываются друг на друга.
Не могу разобраться, как привязывать их друг к другу, чтобы например новый префаб привязывался к уже существующему и становился чуть ниже, следующий еще чуть ниже и т.д.
Пробовал с Horizontal Layout Group - ничего интересного, может я что-то делаю не правильно... не пойму.
Подскажите, пожалуйста, может кто сталкивался с подобными проблемами.
Спасибо.
MrBILLДата: Вторник, 24 Сентября 2019, 10:36 | Сообщение # 8 | Тема: Проблема с анимацией
был не раз
Сейчас нет на сайте
У меня такое было, когда я пивот у костей разместил не верно. Попробуй скелет пересобрать и заного загрузить в миксамо
MrBILLДата: Вторник, 24 Сентября 2019, 08:19 | Сообщение # 9 | Тема: Непонятки с лучами[РЕШЕНО]
был не раз
Сейчас нет на сайте
Цитата drcrack ()
во 2 случае по идее должно быть prev вместо go

Огромное спасибо! Все заработало как нужно.
MrBILLДата: Понедельник, 23 Сентября 2019, 22:26 | Сообщение # 10 | Тема: Непонятки с лучами[РЕШЕНО]
был не раз
Сейчас нет на сайте
Что то не очень понимаю как... можно по подробнее ?
MrBILLДата: Понедельник, 23 Сентября 2019, 16:49 | Сообщение # 11 | Тема: Непонятки с лучами[РЕШЕНО]
был не раз
Сейчас нет на сайте
День добрый. Знатоки , прошу помощи... С горем пополам реализовал полупрозрачность окружения, которое мешает обзору. Делаю рпг с видом сверху. Я пускаю луч из камеры в игрока, если луч попадает в тег Environment - скрывает его(меняет материал на прозрачный) и наоборот. Работает практически нормально... Иногда получаются баги, если например персонаж идет по прямо на право вдоль 3 деревьев которые плотно находятся друг у друга, соответственно, луч попадает на 1 дерево, а потом НЕ прекращая попадать на тег Environment попадает на 2 дерево, в итоге скрывает 2 , и не ресетает 1 дерево и тд... причем то срабатывает, то нет... Я в замешательстве, кто может помочь ? Заранее благодарю.

Код на Environment:
Код
public class VisibleInvisible : MonoBehaviour
{
    [SerializeField] Material standard;
    [SerializeField] Material invisible;

  
    public void Visible()
    {
        MeshRenderer thisRenderer = GetComponent<MeshRenderer>();
        thisRenderer.material = standard;
    }

    public void Invisible()
    {
        MeshRenderer thisRenderer = GetComponent<MeshRenderer>();
        thisRenderer.material = invisible;
    }
}


И , соответственно код с бросанием луча:
Код
public class HideOtherMaterial : MonoBehaviour
{
    public GameObject prev = null;
    public Camera Maincamera;
    public GameObject player;

    public void Start()
    {
        player = GameObject.FindGameObjectWithTag("Player");
    }

    

    public void Update()
    {
        RaycastHit hit;
        Ray ray = new Ray(Maincamera.transform.position, player.transform.position - Maincamera.transform.position);
        Debug.DrawRay(Maincamera.transform.position, player.transform.position - Maincamera.transform.position, Color.green);
        if (Physics.Raycast(ray, out hit, 10000))
            {
                GameObject go = hit.collider.gameObject;
                if (go.tag == "Environment")
                {
                    if (prev != hit.collider.gameObject)
                    {
                        go.GetComponent<VisibleInvisible>().Invisible();
                        if (prev != null)
                        {
                            go.GetComponent<VisibleInvisible>().Visible();
                        }
                        prev = hit.collider.gameObject;
                    }              
                }
                else Reset();
            }
            else Reset();
    }

    public void Reset()
    {
        if (prev != null)
        {
            prev.GetComponent<VisibleInvisible>().Visible();
            prev = null;
        }
    }
}


Сообщение отредактировал MrBILL - Вторник, 24 Сентября 2019, 08:21
MrBILLДата: Пятница, 08 Марта 2019, 19:35 | Сообщение # 12 | Тема: Unity непонятки с костями
был не раз
Сейчас нет на сайте
Извиняюсь, забыл отписаться... переделал модель , перепривязал кости. И в Юнити двигаю не меш, а сами кости. Назначил пивот в нужном месте пустышкой и вроде сносно... всем спасибо за помощь!
MrBILLДата: Пятница, 08 Марта 2019, 19:15 | Сообщение # 13 | Тема: Получить данные через скрипт, после его поиска [решено]
был не раз
Сейчас нет на сайте
Цитата drcrack ()
hit.collider.GetComponent<Enemy>().Enemy_name


Огромное спасибо! Все гениальное просто =)
MrBILLДата: Пятница, 08 Марта 2019, 18:03 | Сообщение # 14 | Тема: Получить данные через скрипт, после его поиска [решено]
был не раз
Сейчас нет на сайте
Добрый день. Столкнулся с проблемой...
Имеется 2 кода:
Код
public class MoveInput : MonoBehaviour
{

    public Transform Pointer;
    public PlayerClickMovement PlayerClickMovement_;
    public float minMovRange;
    public SpriteRenderer cursor;
    public GameObject Target;  

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {

            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit, 100))
            {
                if (hit.collider.tag == "Terrain")
                {
                    Debug.DrawLine(ray.origin, hit.point);
                    Pointer.position = new Vector3(hit.point.x, Pointer.position.y, hit.point.z);

                    if (Vector3.Distance(Pointer.position, PlayerClickMovement_.transform.position) > minMovRange)
                    {
                        PlayerClickMovement_.moving = true;
                        cursor.enabled = true;
                    }
                }

                if (hit.collider.tag == "Enemy")
                {
                    Debug.Log("ВОТ И ВРАГ!");
                    Target = hit.collider.gameObject;
                    
                }
            }
        }

        

    }


Если нажата левая кнопка мыши ,и она попала на террейн - устанавливаем 2д спрайт , и персонаж направляется в его сторону.
Если попадаем не в террейн, а в противника (enemy) , то он берется в "таргет".

Скрипт который есть на enemy:
Код
public class Enemy : MonoBehaviour
{

    public GameObject player;
    public MainStats MainStats;
    NavMeshAgent nav;
    [Header("Входящий урон от посохоа")]
    public float DMGStaff;
    [Header("Входящий урон от арбалета")]
    public float DMGCrossbow;
    [Header("Дистанция до player")]
    public float dist;
    [Header("Дистанция агро")]
    public float agro_radius = 15;
    [Header("Здоровье")]
    public float Health;
    [Header("Имя")]
    public string Enemy_name;
    [Header("Спокойствие")]
    public bool Idle = true;    
    
   

    void Start()
    {
        DMGStaff = MainStats.DamageStaff;   // Урон от посоха
        DMGCrossbow = MainStats.DamageCrossbow; // Урон с арбалета
        //Health = 20; // ХП
        nav = GetComponent<NavMeshAgent>();

    }

    void Death()
    {
        Destroy(gameObject);
    }

   
    void Update()
    {
        player = GameObject.FindGameObjectWithTag("Player"); // Назначаем Игрока
        dist = Vector3.Distance(player.transform.position, transform.position); // Дистанция до игрока

        if (!Idle & dist > agro_radius) // Близко нет игрока - включается скрипт с патрулированием
        {            
            gameObject.GetComponent<Enemy_patrol>().enabled = true; // включает патрулирование
        }

        if (!Idle & dist < agro_radius & dist > 4) // Игрок в зоне агро, но не в зоне атаки. Бежать за игроком
        {
            gameObject.GetComponent<Enemy_patrol>().enabled = false; // выключает патрулирование
            nav.enabled = true; // начинает движение
            nav.SetDestination(player.transform.position); // в сторону игрока
            gameObject.GetComponent<Animator>().SetBool("Run", true); // включает анимацию бега
        }

        if (!Idle & dist < 4)
        {
            gameObject.GetComponent<Animator>().SetTrigger("Attack"); // Игрок в зоне атаки. Атаковать.
            nav.enabled = false; // останавливает движение
        }

        if (Idle)
        {
            gameObject.GetComponent<Enemy_patrol>().enabled = false; // выключает патрулирование
            gameObject.GetComponent<Animator>().SetBool("Run", false); // выключает бег
            gameObject.GetComponent<Animator>().SetTrigger("Idle"); // включает анимацию покоя
            nav.enabled = false; // останавливает движение
            
        }
       

        if (Health <= 0)
        {
            Death();
        }
        return;
    }

    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Crossbow_strela_trigger")
        {
            Health = Health - DMGCrossbow; // Если в коллайдер попал арбалет - минус ХП ( количество ХП берется из скрипта MainStats )
        }
        if (other.tag == "Staff_trigger")
        {
            Health = Health - DMGStaff; // Если в коллайдер попал посох - минус ХП ( количество ХП берется из скрипта MainStats )
        }
    }

}


Необходимо получить инфу из таргета... Enemy_name , в последствии еще уровень , мб какие-то статы, и закинуть это в канвас. Канвас планирую включать выключать в зависимости от того есть ли таргет.
Грубо говоря:
Таргета нет, канвас выключен , тыкаем по террейну - перемещаемся. Тыкаем на противника , он взялся в таргет, включился канвас и взял с таргета необходимую инфу, которую сразу вывел на экран. Тыкнули опять на экран , таргет сбросился - канвас выключился.
Гуглю второй день, ничего не могу найти =( Не могу получить в скрипте ссылку на таргет, который нахожу через hit.collider.tag.
Может что-то другое посоветуете ?


Сообщение отредактировал MrBILL - Пятница, 08 Марта 2019, 22:01
MrBILLДата: Понедельник, 04 Марта 2019, 15:30 | Сообщение # 15 | Тема: Unity непонятки с костями
был не раз
Сейчас нет на сайте
Менять скинмешрендер на мешрендер и мешфильтр не помогло =(
MrBILLДата: Понедельник, 04 Марта 2019, 14:56 | Сообщение # 16 | Тема: Unity непонятки с костями
был не раз
Сейчас нет на сайте
Да, модель в принципе только по костям и можно перемещать на сцене. По отдельности модель ( 2 куска) не перемешаются , не вращаются и вообще как болванки а не модель смотрятся ... странно... а кости в блендере должны двигаться вместе с мешом, когда именно меш двигаешь? Как на 3 скриншоте?
MrBILLДата: Понедельник, 04 Марта 2019, 14:29 | Сообщение # 17 | Тема: Unity непонятки с костями
был не раз
Сейчас нет на сайте
День добрый. Может кто подсказать ? Скорее всего, что-то делаю не правильно...
Есть арбалет. Поделил его на 2 части : верх с косточками для натягивания тетивы, и низ( подставка ).
Создал кости на верхней стороне, прикрепил через ctrl+p с автоматическими весами. Подкорректировал цвета, чтобы лишнего не цепляло, все норм. При импорте в юнити ничего не могу сделать по отдельности с моделью... Юнити видит арбалет как оболочку, которую нельзя покрутить, повертеть по частям. Только всю вместе. Специально разделил на 2 части и сделал пивот внизу у подставки, чтобы через скрипт адекватно поворачивать арбалет.
Подскажет, кто , может я кости закрепил не правильно? И меня интересует, а должны ли кости двигаться вместе с мешем, если менять ротейшн непосредственно меша?( на 3 скрине видно)
1
2
3
MrBILLДата: Пятница, 25 Мая 2018, 11:52 | Сообщение # 18 | Тема: PlayerPrefs
был не раз
Сейчас нет на сайте
День добрый. Столкнулся с проблемой. Не могу понять принцип работы playerprefs. Если сможете объяснить на примере работы моего скрипта , буду признателен.
Как я понимаю playerprefs работает как сохранение определенных переменных в реестре. Но я не могу понять как осуществляется сохранение и обращение к другим скриптам.
У меня есть скрипт:

Код
public class LevelSelector : MonoBehaviour {

        public SceneFader fader;
        public Button Level01;
        public Button Level02;
        public int _interactable;
        
        private void Start()
        {               
                
        }

        void Update()
        {
                
                        if (_interactable == 1)
                {
                        Level02.interactable = true;
                }
                        if ( _interactable == 0)
                {
                        Level02.interactable = false;
                }

        }

        public void Select (string levelName)
        {
                fader.FadeTo(levelName);
        }

}


У меня есть на данный момент 2 кнопки , которые расположены на сцене выбора уровня. Необходимо включить interactable кнопки по окончании другой сцены. Не понимаю как осуществить. Ввел новую переменную, чтобы работать с playerprefs , но не могу понять как именно... Подскажите как осуществить, или дайте ссылку на нормальную литературу по playerprefs. Благодарю.
MrBILLДата: Среда, 27 Сентября 2017, 14:35 | Сообщение # 19 | Тема: Течение времени
был не раз
Сейчас нет на сайте
Добрый день! Нигде не могу найти информацию, как сделать в unity, чтобы, например я поставил строиться объект, который, например будет строиться 3 часа. Вышел из игры на какое-то время, а он в это время продолжал строиться? В итоге я войду в игру через 4-5 и т.д. часов, а как вернусь объект уже достроен. Подскажите, пожалуйста.
MrBILLДата: Пятница, 22 Сентября 2017, 13:54 | Сообщение # 20 | Тема: Реально ли?
был не раз
Сейчас нет на сайте
Просто не знаю с чего начать... Нашел курсы (не знаю можно ли ссылку выложить) , вроде бы подробно и с программированием , и с основами unity. Просто, на данный момент очень много свободного времени на работе, и можно заниматься ммм... саморазвитием, что ли ... blink
Форум игроделов » Записи участника » MrBILL [21]
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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