Четверг, 03 Июля 2025, 23:11

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
afqДата: Вторник, 10 Октября 2017, 12:34 | Сообщение # 821 | Тема: Делимся проектами
Разработчик
Сейчас нет на сайте



https://www.youtube.com/watch?v=Gp2YFRcoLUE&feature=youtu.be
afqДата: Суббота, 07 Октября 2017, 19:40 | Сообщение # 822 | Тема: Столкновения пули и цели Unity C#
Разработчик
Сейчас нет на сайте
А пуля исчезает?
afqДата: Пятница, 06 Октября 2017, 16:27 | Сообщение # 823 | Тема: Делимся проектами
Разработчик
Сейчас нет на сайте
покер 3d

afqДата: Пятница, 06 Октября 2017, 07:07 | Сообщение # 824 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
ArtemS, вот на всякий случай.
Код

GameObject[] enemy;

...
/* где то в коде */
enemy = new GameObject [10];

/* в цикле */
foreach ( GameObject e in enemy ) {

/* также, вот у тебя класс есть, например называется enemy, я например храню сценарии в Scripts, но скорее всего их можно
    загрузить из любой другой папки, так вот как происходит добавление класса к объекту. */
  e.AddComponent<enemy>(); /* легко да? */

}


Сообщение отредактировал afq - Пятница, 06 Октября 2017, 07:08
afqДата: Четверг, 05 Октября 2017, 21:07 | Сообщение # 825 | Тема: На Android не работают триггеры
Разработчик
Сейчас нет на сайте
mraklbrw, ну вот хорошо.
afqДата: Четверг, 05 Октября 2017, 20:51 | Сообщение # 826 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
drcrack, https://habrahabr.ru/company/nixsolutions/blog/268781/
не зашел бы разговор, может быть так и думал бы, что coroutine в отдельном потоке выполняется.

Добавлено (05 октября 2017, 20:51)
---------------------------------------------
drcrack,

Цитата

И вообще, мы спорим на полтос или как?

Ты что в покер никогда не играл? Кто ж делает ставки, когда все уже вскрылись.
afqДата: Четверг, 05 Октября 2017, 20:46 | Сообщение # 827 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
drcrack, не может быть.
Цитата

все активные корутины выполняются каждый кадр после всех Update

Откуда такая информация. Coroutine не начнётся выполнятся вновь, он один раз запускается, и только yield способен уступить поток. Я раньше читал про устройство ос и также помню, что в си можно написать для линукс pthread_yield, что значит, уступить другому потом выполнение. В программе, если несколько потоков, вот уже не помню точно, подзабыл, но вроде менеджер есть какой-то, который знает о потоках, которые есть в программе, и чтобы например не затрачивать время на один поток, когда в нем уже не нуждаются, делают yield. И тогда процессор другим занимается, если нужно.

А что если в update применяется процессор видеокарты, потому как покадровое обновление, а на coroutine применяется pc процессор.

Цитата

Оно будет работать, но станет намного медленнее чем было, потому что запуск корутины это более затратная операция чем просто цикл, и делать это 100 раз в секунду ради 1 итерации это как-то глупо.

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

Да и вообще хочешь сказать, что ты бы в кадре выполнял проверку на какое нибудь действие и использовал свойства, как в той книге советуют? А в coroutine ты что тогда бы выполнял?

Добавлено (05 октября 2017, 20:41)
---------------------------------------------
Цитата

Никаких потоков не создается, в моем варианте вообще 1 корутина для всего, это ты зачем-то запускаешь их каждый кадр

Цитата

хочешь сказать, что начал выполнятся coroutine, и он не успел выполнится, и начнется заного выполнятся?

ты чего drcrack, ты сам попросил вычислить каждый кадр милион раз

Добавлено (05 октября 2017, 20:46)
---------------------------------------------
drcrack, а точно, нашел инфу, где написано, что в основном потоке выполняется.

Сообщение отредактировал afq - Четверг, 05 Октября 2017, 20:42
afqДата: Четверг, 05 Октября 2017, 20:22 | Сообщение # 828 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
вызвать coroutine не накладно, потому как возвращает мгновенно результат. А вот вичислять все конечно затормозит. 60 кадров в секунду, создастся отдельный поток, который будет миллион раз вычислять корень. 60 потоков в секунду. Ты сам знаешь, от чего тормозить будет.
afqДата: Четверг, 05 Октября 2017, 20:18 | Сообщение # 829 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
ArtemS, классы будут прикреплены к объекту, если ты сделаешь префаб с классом.

Добавлено (05 октября 2017, 20:04)
---------------------------------------------
drcrack,
Код


IEnumerator w ()
{
  /* вычислить корень */
  yield return null;
}

void Update ()
{
  
    StartCoroutine ( w () );

}

Добавлено (05 октября 2017, 20:06)
---------------------------------------------
drcrack, это может повлиять на fps, если будут затрачиваться процесорное время на вычисление, когда нужно затрачивать на отрисовку.

Добавлено (05 октября 2017, 20:18)
---------------------------------------------
drcrack,

Цитата

Функция StartCoroutine всегда возвращает управление немедленно, однако вы можете получить результат.


Сообщение отредактировал afq - Четверг, 05 Октября 2017, 20:05
afqДата: Четверг, 05 Октября 2017, 18:45 | Сообщение # 830 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
ArtemS, ты знаешь как с помощью кода создать много врагов и добавить к каждому EnemyHealth?

Сообщение отредактировал afq - Четверг, 05 Октября 2017, 18:45
afqДата: Четверг, 05 Октября 2017, 18:22 | Сообщение # 831 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
ArtemS, попробуй поменять так.
Код

  public void Death()
    {

        Destroy(slider);              //убить слайдер        
        die = true;        //объект мертв
    }

А то мало ли.

Ты знаешь название твоего объекта, к которому прикреплен PlayerExp? Сделай у врага так как написано ниже. Думаю ту поймешь что я хочу сказать.
Код

GameObject player;
EnemyHealth eh;

void Start ( )
{
  player = GameObject.Find ( "название объекта, к которому прикреплен PlayerExp" );
  eh = player.GetComponent<PlayerExp>();

}
...
/* там, где враг умирает, напиши */
  eh.up_xp ( 10 );
...

А в коде PlayerExp
Код

public void up_xp ( int wow_xp )
{
  xp += wow_xp;
}

И все. Тогда.

Добавлено (05 октября 2017, 18:21)
---------------------------------------------
drcrack, но coroutine будет растягиваться на кадры, когда как в update придется в том же кадре ждать, пока выполнится все команды. А coroutine будет выполнятся, пока в update много обновлений уже пройдет. Как ты собираешься производить вычисления, если они не успевают за кадр выполниться?

Добавлено (05 октября 2017, 18:22)
---------------------------------------------
я там ошибку сделал и исправил, пересмотри еще раз текст.

Сообщение отредактировал afq - Четверг, 05 Октября 2017, 18:22
afqДата: Четверг, 05 Октября 2017, 14:37 | Сообщение # 832 | Тема: Warbanners
Разработчик
Сейчас нет на сайте
Vlad_Konung, игра бесплатная будет?
afqДата: Четверг, 05 Октября 2017, 09:57 | Сообщение # 833 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
drcrack, я может потом посмотрю. А что, в update если этот цикл вставишь, не будет тормозить? Вот такой
Код


            for (var i = 0; i < 10000000; i++) {
                x = Mathf.Sqrt(x);
            }

        

А что если сделать так?
Код

  IEnumerator Slow() {

        var x = float.MaxValue;

        while (true) {

            for (var i = 0; i < 10000000; i++) {
                x = Mathf.Sqrt(x);
                yield return null;
            }

            yield return null;
        }

    }

Можешь проверить, будет лагать?


Сообщение отредактировал afq - Четверг, 05 Октября 2017, 09:59
afqДата: Четверг, 05 Октября 2017, 06:59 | Сообщение # 834 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
drcrack, а где написано тогда, что в coroutine замедляет кадр, если к кадрам относится например update и т.д. Я помню, где-то в книге об этом читал.

Вот смотри.
click

Особенно строку прочти.
Цитата
. Корутины - прекрасное средство когда моделируется поведение, растянутое на несколько кадров.

Так что это выполняется не каждый кадр, а не зависимо от кадров.
afqДата: Среда, 04 Октября 2017, 21:53 | Сообщение # 835 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
drcrack, так это что получается, EnemyHealt на gui рисуется, или что это за объект? Не пойму вообще. Ладно. Потом пойму.

Добавлено (04 октября 2017, 21:52)
---------------------------------------------
drcrack, так ты мне ссылку на классы дал. Я под объекты подразумевал только объекты unity3d.

Цитата
да, теперь вообще полная дичь)

смешно.

Цитата
в update они или где-то еще, тяжелые вычисления каждый кадр в любом случае будут просаживать фпс

Поэтому чтобы вычисления не производит в кадре, делают в IEnumerator coroutine, в такое случае уже не в кадре будут вычисляться, и не будет нагрузки на fps.

Добавлено (04 октября 2017, 21:53)
---------------------------------------------
drcrack, может тебе тоже стоит книжку почитать? Или ты считаешь себя умнее автора?


Сообщение отредактировал afq - Четверг, 05 Октября 2017, 07:20
afqДата: Среда, 04 Октября 2017, 21:09 | Сообщение # 836 | Тема: Прокачка персонажа / Повышение уровня
Разработчик
Сейчас нет на сайте
drcrack,
Цитата
кроме того, она никогда не завершится
.
Я не ошибся, она же даже не в while? Выполнится один раз и все.
Цитата

totalxp = enemy1.xp;

Да, не подумал. Бывает, и о чем я думал.
Цитата
если эта книжка и вдохновила тебя на эти корявые примеры, ее лучше не читать ))

Я ее когда читал, не все понимал, потому как и c# плохо знал и все еще наверное многого незнаю. Но там написано то, что если мне понадобиться, я знаю точно, что там есть это, и когда нужно будет, прочту может быть вновь. Это не тоже самое, что читать
комментарии. Там любое предложение что-то значит.

Цитата
Это свойство должно называться isDead

Почему так? Потому что логично?

Цитата
и то и другое — ссылки на обьекты

А что, EnemyHealth разве не класс? Я думал что это класс, который прикреплен к объекту.

А отредактировал то сообщение.

Вот он например в Update поставил debug.log, это тоже лучше в IEnumerator coroutine делать. В книге той, которую я приводил в пример советовалось не производить вычисления в update, в update например делать мелкие вычисления. Также не забывал о свойствах, которые выполняются как события если то или иное присвоено, такое тоже можно в update, все равно, уже не в update будет выполнятся.


Сообщение отредактировал afq - Четверг, 05 Октября 2017, 07:20
afqДата: Среда, 04 Октября 2017, 20:17 | Сообщение # 837 | Тема: Blender анимация не экспортируется кто поможет ?
Разработчик
Сейчас нет на сайте
Цитата
а ты в какой программе 3д анимацию делаешь ?

В blender. Она бесплатная. Тем более у меня линукс. Так что выбора особого нет ( какой программой пользоваться ).
Да, кстати, есть ещё проект, makehuman называется. Там можно людей создавать. Потом их экспортировать в формат mhx2, который, если я правильно помню нужно как плагин подключать. А в blender нужно добавить плагин makehuman, и тогда можно с костями импортировать людей из makehuman с костями, если в makehuman установишь кости. В blender потом анимируешь и всё.
afqДата: Среда, 04 Октября 2017, 19:47 | Сообщение # 838 | Тема: Blender анимация не экспортируется кто поможет ?
Разработчик
Сейчас нет на сайте
COOLGAMER, что такое fps creator увидел только щас в youtube. Тогда экспорт наверное нормально происходит. Тогда может в самом fpscreator дело?

Добавлено (04 октября 2017, 19:47)
---------------------------------------------
COOLGAMER,

Цитата
afq, есть то он есть но я открывал модель в программе Fragmotion и там ни костей ни анимации вот :'(

Не незнаю тогда. Такой тоже не пользовался, не подскажу.
afqДата: Среда, 04 Октября 2017, 19:41 | Сообщение # 839 | Тема: Blender анимация не экспортируется кто поможет ?
Разработчик
Сейчас нет на сайте
COOLGAMER, ага, вижу, есть экспорт костей. Export armature bones.
afqДата: Среда, 04 Октября 2017, 19:37 | Сообщение # 840 | Тема: Blender анимация не экспортируется кто поможет ?
Разработчик
Сейчас нет на сайте
COOLGAMER, что это за x формат? fbx, direct x?
Поиск:

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