![]() |
Гусеница
У меня тут вопрос назрел! Хочу сделать гусеницу. Я ее даже сделал, но есть одно НО...она появляется из начальной точки, а хотелось бы что бы при старте программы, все элементы уже были на ходу. (то есть что бы она сразу появилась, а не постепенно, как в коде)
Код:
Graphics3D 640,480,16,2 |
Re: Гусеница
Если есть еще какой-нить будь примерно похожий на мой способ реализовать так гусеницу я только за)
Неужели никто не знает как это сделать? |
Re: Гусеница
Я пробовал сделать. По идее, это вполне возможно, но немного трудно в голове эту гусень представить =) а более того - реализовать. В Блице с key-ами туговато, не то что в nebula... Может можно как-то по-другому решить эту проблему - через готовые анимации или еще... что именно в результате требуется? Это будет игра и хочется невероятной продуктивности, или?
|
Re: Гусеница
Полуофф:
Не восприми как навязывание мнения, но создание гусеницы [в смысле танковых траков?] из отдельных мешей- это неоптимальное решение в условно-стандартной ситуации. Иначе говоря, если вышеприведенный алгоритм с кубиками не является стилистически или техниески необходимым решением, то движущаяся гусеница с намного более высокой производительностью и, вероятно, реалистичностью, создается путем применения анимированной посредством PositionTexture текстуры траков на модели гусениц. А повторение гусеницей формы рельефа осуществляется путём управления сегментами гусеницы с помощью костей. |
Re: Гусеница
не понял я смысла слова "продуктивности"
Я знаю как НУЖНО делать гусеницу (подсказывали мне) но я хочу сденлать именно кубиками, которые крутятся вокруг оси! Посмотрю как-нить пример "небула" ?) У кого-нить еще есть варианты по этому поводу? |
Re: Гусеница
Цитата:
У вас случайно нет идеи как там можно....извратнуться? |
Re: Гусеница
Насчет nebula - не буду писать весь пример, потому как c exe-шником нужно париться, на это я столько времени не найду, а вот кратко, как в nebula это делается, могу сказать - это выглядит примерно так:
set start_time [/sys/servers/channel.getchannel1f "time"] new n3dnode gus1 sel gus1 new nipol move sel move .setreptype "loop" .connect txyz .addkey3f 0 0 0 0 .addkey3f $start_time 0 0 0 .addkey3f [expr $start_time+0.5] 10 0 0 и т.д., т.е. создать необходимый список ключей с координатами sel .. sel .. Я уже на nebula около 1Мб кода написал - в аркадных проектах (и в этом случае) - это отличное решение. Проблема в том, что нужно еще экзешник создавать, делать возможным использование D3D и OpenGL - хотя, разве это проблема ? - это в кое-каком роде расширенные возможности. |
Re: Гусеница
да у меня исходник небулы есть, но думаю, что это неоправданно сложный вариант реализации
|
Re: Гусеница
Мне кажется, не сложнее чем в Blitz'е. Просто в nebula нужно сначала понастраивать кучу прог и т.д. - от С-студии до удобного текстового редактора. Зато потом как все легко идет! Можно в С-коде создать класс nGusenicanode, который будет иметь одинаковый свойства или через linknode - мне, например, это кажется проще, хотя, наверное, одновременно умертвляю образ "проще Блица не бывает нигде", к которому все привыкли :-)
|
Re: Гусеница
Вообщем говоря более понятным языком. Как мне реализовать ЭТУ гусеницу?
|
Re: Гусеница
Да, над этой задачей нужно посидеть, логически подумать. В цикле проигрывать уже не нужно - это раз. Задержку можно перед циклом поставить, подождать, чтобы немного проиграло :) , или что-то типа этого, только оптимизировать:
Код:
|
Re: Гусеница
хотите извращаться, пожалуйста. мну ничего лутчего чем придумал г-н Diplomat неизвестно. вот ваш пример:
Код:
Graphics3D 640,480,16,2 Код:
For i=1 To 500 |
Re: Гусеница
2Vyacheslav ваш вариант интересный, хотя придется для каждого куба прописывать...
2HolyDel Так тоже можно сделать НО Есть две проблемки. Причем одна проблемка маленькая, а другая большая. Первое - это как остановить эту анимацию, а потом продолжить желателно с того же места А второе, что по моему мнению не реально сделать, так это сместить кубики. Ведь что делать если юзер захочет "поехать", то получается нужно смещать эту гусеницу, а тут она стоит на месте и не двигается ( |
Re: Гусеница
2HolyDel: Интресеный вариант! Я только до обычной delay на тот момент додумался :) .
2Fant: Нужно определиться с тем, что нужно, а что будет лишним, потому как таким образом не получиться добавить ей управления и анимацию довольно сложно остановить, потому как придется дописывать новые кадры или прописывать анимацию заново. Немного поприкалывались с Блица, а теперь давайте попробуем сделать, кто функциональнее, а? Т.е. Fant напишите тех. задание, что нужно: ирушку типа гусеницы, какое управление и т.д.(?) И давайте померяемся силами - у кого она наиболее будет хорошо работать с наименьшим количеством строк кода, как? :super: |
Re: Гусеница
2 Vyacheslav :
Дальнейший флуд, являющийся по совместительству оффтопом- будет удаляться. Если Вас интересует популяризация иных средств разработки- ставьте вопрос о создании соответствующего раздела перед администрацией. Для доказательства своих тезисов о превосходстве по производительности и удобству, создавайте в Болтовне или Форумных Конкурсах соответствующую тему с содержанием вроде следующего: "Вот мой тест производительности движка [встваить нужное название], использующего синтаксис языка программирования [встваить нужное название]. Всего N строк. На моей машине [подставить данные аппарата] выдает I FPS. Тест делает [описать работу] и использует [прикрепить к теме используемые ресурсы, ЕХЕ и исходники]. Пожалуйста, протестите у себя и, если возможно, постройте на используемом вами движке, в частности на Blitz3D, аналогичный тест для сравнения производительности. Спасибо!" А флудить- нинада. ;) |
Часовой пояс GMT +4, время: 10:38. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot