Суббота, 23 Ноября 2024, 15:18

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • EgodgornДата: Суббота, 20 Июля 2019, 21:56 | Сообщение # 8761
    был не раз
    Сейчас нет на сайте
    http://prntscr.com/ohs4wa
    шо за фигня,двигаю по Х ,а он куда-то не туда сдвигает и выдает ошибки


    Сообщение отредактировал Egodgorn - Воскресенье, 21 Июля 2019, 15:09
    drcrackДата: Воскресенье, 21 Июля 2019, 15:22 | Сообщение # 8762
    старожил
    Сейчас нет на сайте
    по скрину ниче не понятно
    EgodgornДата: Воскресенье, 21 Июля 2019, 17:57 | Сообщение # 8763
    был не раз
    Сейчас нет на сайте
    Цитата drcrack ()
    по скрину ниче не понятно

    а что надо еще сфоткать еще
    seamanДата: Воскресенье, 21 Июля 2019, 18:11 | Сообщение # 8764
    старожил
    Сейчас нет на сайте
    Ну для начала неплохо было бы сразу написать, что вопрос про ProBuilder/ProGrids.
    Второе - это не ошибки, а варнинги.
    Я с ProGrids не работал, но по другим плагинам - скорее всего прежде чем с ним работать - его надо инициализировать.
    EgodgornДата: Воскресенье, 21 Июля 2019, 19:35 | Сообщение # 8765
    был не раз
    Сейчас нет на сайте
    Цитата seaman ()
    Ну для начала неплохо было бы сразу написать, что вопрос про ProBuilder/ProGrids.
    Второе - это не ошибки, а варнинги.
    Я с ProGrids не работал, но по другим плагинам - скорее всего прежде чем с ним работать - его надо инициализировать.

    а как я его тогда использовал,если не инициализировал?)
    ДанилаСтержневДата: Понедельник, 22 Июля 2019, 00:55 | Сообщение # 8766
    постоянный участник
    Сейчас нет на сайте
    Кто-нибудь может дать ссылку на урок по созданию экранных уведомлений/подсказок в виде иконок, которые меняют положение на экране в зависимости от положения героя игры в игровом пространстве. Т.е. они как компас указывают направление объекта, который их заспавнил

    Красочная сюжетно ориентированная игра-головоломка
    ObiKenobiДата: Среда, 21 Августа 2019, 11:31 | Сообщение # 8767
    был не раз
    Сейчас нет на сайте
    Доброго времени суток. Может кто-то подсказать как реализовать проверку определенных параметров во время диалога? У меня диалоги хранятся в отдельных xml файлах и каждый атрибут, блок и всё остальное надо объявлять в скриптах, что бы можно было это считывать. Но как быть, если параметров для проверок много (навыки, наличие предметов, уровень и прочее)? По одному их вручную объявлять и прописывать в xml при необходимости? Или можно просто как-то целые классы/массивы с этими характеристиками задействовать? Я новичок, поэтому если кто-то имел дело с этим или просто хватает опыта для представления как это реализовать, очень хотелось бы послушать ваше мнение, в каком направлении копать или как бы вы это сделали.
    Спасибо за внимание!
    DorxelaДата: Среда, 21 Августа 2019, 13:34 | Сообщение # 8768
    был не раз
    Сейчас нет на сайте
    Всем привет.
    Я только вот совсем недавно сунул свой нос в создание игр, но имеются кое какие полезные навыки
    из смежной специализации. Хотя это не существенная информация.. ))
    Не знаю, в какую тему правильнее всего обратиться.

    А вопрос мой таков:

    Делаю я, к примеру, сайдскролер. RTS с элементами RPG.
    Что то похожее можно увидеть в игре Banner Saga, но там лишь переходы между локациями вид сбоку,
    а в моей и бои и все активные действия происходят с такого ракурса камеры.

    Поначалу я думал, что анимацию персонажей разумнее всего делать запечёнными спрайтами.
    То есть рендерить секвенции - и типа, один удар - это такая секвенция, следующий другая секвенция.
    Размер юнитов маленький 180 на 90 пикселей и по этому, поначалу мне это казалось прекрасной идеей..... )

    Сейчас я пришёл к тому, что движений много, персонажей тоже около 20 и ещё у них несколько вариантов текстур
    и всё это умножить на 2, потому что надо и в левую сторону ходить и в правую.

    В общем, теперь мне не кажется хорошей идеей создавать все эти секвенции.
    Возможно, стоит двигаться в сторону рига.

    Уважаемые спецы. Поделитесь опытом. Подскажите где искать инфу и чё делать.
    Пишу сюда, потому что знакомых в этой сфере нет.
    pixeyeДата: Среда, 21 Августа 2019, 14:25 | Сообщение # 8769
    Red Winter Software
    Сейчас нет на сайте
    Цитата Dorxela ()
    Всем привет.
    Я только вот совсем недавно сунул свой нос в создание игр, но имеются кое какие полезные навыки
    из смежной специализации. Хотя это не существенная информация.. ))
    Не знаю, в какую тему правильнее всего обратиться.

    А вопрос мой таков:

    Делаю я, к примеру, сайдскролер. RTS с элементами RPG.
    Что то похожее можно увидеть в игре Banner Saga, но там лишь переходы между локациями вид сбоку,
    а в моей и бои и все активные действия происходят с такого ракурса камеры.

    Поначалу я думал, что анимацию персонажей разумнее всего делать запечёнными спрайтами.
    То есть рендерить секвенции - и типа, один удар - это такая секвенция, следующий другая секвенция.
    Размер юнитов маленький 180 на 90 пикселей и по этому, поначалу мне это казалось прекрасной идеей..... )

    Сейчас я пришёл к тому, что движений много, персонажей тоже около 20 и ещё у них несколько вариантов текстур
    и всё это умножить на 2, потому что надо и в левую сторону ходить и в правую.

    В общем, теперь мне не кажется хорошей идеей создавать все эти секвенции.
    Возможно, стоит двигаться в сторону рига.

    Уважаемые спецы. Поделитесь опытом. Подскажите где искать инфу и чё делать.
    Пишу сюда, потому что знакомых в этой сфере нет.


    Делаю тоже ртс с элементами экшена влево/вправо.
    Гифка

    Если несколько вариантов текстур подразумевает просто смена цвета накидки - то это проще сделать шейдером который заменяет цвет. Выбери какой-то цвет который не используешь вообще ( например фиолетовый ) и по нему делай смену цвета.

    Во всех остальных случаях..вот from the bottom of my heart. Не запаривайся насчет оптимизации работы, просто делай игру. Наладь себе внятный и удобный воркфлоу, он может быть рутиным но главное чтобы ты мог быстро и предсказуемо добавлять свои анимашки.

    У меня работа с секвенциями и анимациями реализована самостоятельно. Честно говоря я замучался в свое время делать 2д анимашки средствами юнити. Куча файлов, аниматоров и прочей мути.
    Я всю инициализацию пишу из кода таким образом. Да, под каждый объект с анимациями мне надо делать метод который бы "расписал" все анимации, но печатаю и копипастю я в разы быстрее чем клацаю по интерфейсам юнити : )


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    DorxelaДата: Среда, 21 Августа 2019, 19:20 | Сообщение # 8770
    был не раз
    Сейчас нет на сайте
    Цитата pixeye ()
    Делаю тоже ртс с элементами экшена влево/вправо.
    Гифка

    Если несколько вариантов текстур подразумевает просто смена цвета накидки - то это проще сделать шейдером который заменяет цвет. Выбери какой-то цвет который не используешь вообще ( например фиолетовый ) и по нему делай смену цвета.

    Во всех остальных случаях..вот from the bottom of my heart. Не запаривайся насчет оптимизации работы, просто делай игру. Наладь себе внятный и удобный воркфлоу, он может быть рутиным но главное чтобы ты мог быстро и предсказуемо добавлять свои анимашки.

    У меня работа с секвенциями и анимациями реализована самостоятельно. Честно говоря я замучался в свое время делать 2д анимашки средствами юнити. Куча файлов, аниматоров и прочей мути.
    Я всю инициализацию пишу из кода таким образом. Да, под каждый объект с анимациями мне надо делать метод который бы "расписал" все анимации, но печатаю и копипастю я в разы быстрее чем клацаю по интерфейсам юнити : )


    Большое спасибо за ответ. Мне это поможет.
    Игра нарисована клёво! )

    Добавлено (21 Августа 2019, 19:27)
    ---------------------------------------------

    Цитата Dorxela ()
    У меня работа с секвенциями и анимациями реализована самостоятельно.


    А как это реализована самостоятельно?

    И ещё, вопрос такой появился. Вы же анимацию не 25 ФПС делаете, а с переменным ФПС как мультфильмах?
    Или я ошибаюсь?
    pixeyeДата: Четверг, 22 Августа 2019, 02:17 | Сообщение # 8771
    Red Winter Software
    Сейчас нет на сайте
    Цитата Dorxela ()
    А как это реализована самостоятельно?


    Я пишу на своем фреймворке . У меня просто есть система обрабатывающая спрайты. Без завязок на аниматоры юнити.

    Про фпс не совсем понял)


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    DorxelaДата: Четверг, 22 Августа 2019, 12:30 | Сообщение # 8772
    был не раз
    Сейчас нет на сайте
    Цитата pixeye ()
    Про фпс не совсем понял)


    А, ну это я незнаючи, видимо, тупые вопросы задаю.
    Просто, в мультипликации есть такая система экономии ресурсов:
    Кое где 1 кадр дублируется, кое где последовательно идут 3 одинаковых кадра, Движение будет прерывистым, но зато на 25 фпс надо не 25 отдельных картинок, а в 2-3 раза меньше. Ну конечно, где движение нужно детальное - там кадры идут нормально. По одному.
    Но это, видимо, всё не туда ))))


    Сообщение отредактировал Dorxela - Четверг, 22 Августа 2019, 12:30
    pixeyeДата: Четверг, 22 Августа 2019, 12:54 | Сообщение # 8773
    Red Winter Software
    Сейчас нет на сайте
    Цитата Dorxela ()
    Кое где 1 кадр дублируется, кое где последовательно идут 3 одинаковых кадра, Движение будет прерывистым, но зато на 25 фпс надо не 25 отдельных картинок, а в 2-3 раза меньше. Ну конечно, где движение нужно детальное - там кадры идут нормально. По одному.
    Но это, видимо, всё не туда ))))


    а) да нет все разумно и конечно так же делаем другое дело что не всегда вообще привязываемся к 25 фпс. Например на движение у нас 8 кадров и мы уже смотрим надо ли замедлять анимацию делая по 2 одинаковых кадра или оставляем 8.

    В отличии от мультфильмов далеко не всегда в играх стоит задача сделать супер плавные анимации) это затратно и дорого. Вы аниматор по профе?)


    ACTORS - мой фреймворк на Unity
    Until We Die - игра над которой работаю

    DorxelaДата: Четверг, 22 Августа 2019, 15:55 | Сообщение # 8774
    был не раз
    Сейчас нет на сайте
    Цитата pixeye ()
    В отличии от мультфильмов далеко не всегда в играх стоит задача сделать супер плавные анимации) это затратно и дорого. Вы аниматор по профе?)


    Ну не то чтоб...Вообще, в бродкасте работаю. Умею многое в разных направлениях,
    но не то чтоб прям супер-мастер хоть хотя бы в одном из них ))
    Анимировать персонажей приходится очень редко. Щас вот, Unreal сел учить и понеслась...

    Спасибо.


    Сообщение отредактировал Dorxela - Четверг, 22 Августа 2019, 15:55
    BeskaДата: Пятница, 01 Ноября 2019, 01:13 | Сообщение # 8775
    был не раз
    Сейчас нет на сайте
    Почему выдаёт ошибку? CS0106: the modifier 'private' is not valid for this item
    ссылается на этот код :
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class EnemyController : MonoBehaviour {
    public float Speed;
    public Transform[] Points = new Transform[2];
    Rigidbody2D EnemyRgb;
    SpriteRenderer SpREnemy;
    bool OnRight;


    void Awake () {
    SpREnemy = GetComponent<SpriteRenderer>();
    EnemyRgb = GetComponent<Rigidbody2D>();

    }

    void Update () {
    SpREnemy.flipX = OnRight;
    if (gameObject.transform.position.x < Points[0].position.x)
    {
    OnRight = true;
    }
    else if ((gameObject.transform.position.x > Points[1].position.x))
    {
    OnRight = false;
    }
    if (OnRight)
    {
    EnemyRgb.velocity = new Vector2(Speed, EnemyRgb.velocity.y);
    }
    else
    {
    EnemyRgb.velocity = new Vector2(-Speed, EnemyRgb.velocity.y);
    }
    private void OnTriggerEnter2D(Collider2D collider)
    {
    Unit unit = collider.GetComponent<Unit>();

    if (unit && unit is Shreiben)
    {
    unit.ReceiveDamage();
    }
    }


    }
    }


    Кря.
    seamanДата: Пятница, 01 Ноября 2019, 10:51 | Сообщение # 8776
    старожил
    Сейчас нет на сайте
    Метод Update скобкой не закрыт

    Сообщение отредактировал seaman - Пятница, 01 Ноября 2019, 10:51
    BeskaДата: Пятница, 01 Ноября 2019, 15:18 | Сообщение # 8777
    был не раз
    Сейчас нет на сайте
    Закрыт он(

    Кря.
    vampir0305Дата: Пятница, 01 Ноября 2019, 15:37 | Сообщение # 8778
    Unity C# Programmer
    Сейчас нет на сайте
    У тебя метод OnTriggerEnter2D стоит внутри метода Update.
    Вынеси его за Update.


    Красочная сюжетно-ориентированная игра-головоломка
    BeskaДата: Пятница, 01 Ноября 2019, 18:09 | Сообщение # 8779
    был не раз
    Сейчас нет на сайте
    Спасибо, ценю вашу помощь :)) lovegcup lovegcup ^_^ ^_^

    Добавлено (02 Ноября 2019, 01:08)
    ---------------------------------------------
    Еще одна проблема. Сделал полоску HP и ошибка CS0246.
    1) the type or namespace name 'Enemy' (мой враг) could not be found

    ссылается на этот код:using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;

    public class Hero : MonoBehaviour
    {
    [SerializeField]
    private bool faceRight = true;

    Rigidbody2D rb;
    public GameObject hat1;
    public GameObject gun1;
    int health = 10;
    void Start()
    {
    rb = GetComponent<Rigidbody2D> ();
    }

    void Update()
    {
    float moveX = Input.GetAxis ("Horizontal");
    if (Input.GetKeyDown(KeyCode.W))
    {
    pipirka();
    }
    if (moveX > 0 && !faceRight)
    flip ();
    else if (moveX < 0 && faceRight)
    flip();
    }
    private void OnCollisionEnter2D(Collision2D collision)
    {
    if (collision.gameObject.tag == "Enemy")
    {
    if (collision.gameObject.GetComponent<Enemy>() == true)
    health = -3;
    GameObject.Find ("Image (1)").GetComponent<image>().fillAmount = health / 10;
    }
    }
    void FixedUpdate()
    {
    rb.velocity = new Vector2 (Input.GetAxis ("Horizontal") * 34f, rb.velocity.y);
    }

    void pipirka()
    {
    rb.AddForce(transform.up * 120f, ForceMode2D.Impulse);
    }
    void flip ()
    {
    faceRight = !faceRight;
    transform.Rotate (0f, 180f, 0f);

    }

    }

    предпологаю, что на эту строчку:
    private void OnCollisionEnter2D(Collision2D collision)
    {
    if (collision.gameObject.tag == "Enemy")
    {
    if (collision.gameObject.GetComponent<Enemy>() == true)
    health = -3;
    GameObject.Find ("Image (1)").GetComponent<image>().fillAmount = health / 10;
    }
    }


    Кря.

    Сообщение отредактировал Beska - Суббота, 02 Ноября 2019, 01:08
    drcrackДата: Суббота, 02 Ноября 2019, 04:45 | Сообщение # 8780
    старожил
    Сейчас нет на сайте
    твой класс из предыдущего поста называется EnemyController а не Enemy
    +сравнение с true здесь лишнее
    +далее image должно быть с большой буквы


    Сообщение отредактировал drcrack - Суббота, 02 Ноября 2019, 06:13
    Поиск:

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