![]() |
Re: FAQ по B3D
Спасибо всем кто вызвался помочь мне с Rects-ами в FastImage. Оказывается все было просто, надо было просто скачать апдейт либы 1.6, тама уже есть команда на проверку сопрекосновения точки с имажой - TestImage. Вообщем всем ссори за беспокойство.
P.S. либа тут http://blitz.pp.ru/forum/showthread....=&pagenumber=1 в первом посту |
Re: FAQ по B3D
У меня вопрос: как сделать спрайт двухсторонним, что бы сделать иммитацию пули. А то спрайт имеет только одну сторону. Может есть какойто флаг? В справке я почитал вот это: "Вы будете видеть только одну сторону спрайта, если только не используете флажок EntityFX 16", но увы я таки не нашел где включить этот флаг.
P.S. у обоих сторон одна и таже картинка. |
Re: FAQ по B3D
EntityFX entity,16
|
Re: FAQ по B3D
может кто-то знает. у меня такая проблема: создаю в 3ДМаксе 7.0 простую модельку, накладываю на нее скин, присоединяю кости и создаю анимацию автоматической расстановкой ключей (Автокей). затем экспортирую в формат .b3d. потом этот файл вставляю в Блитц. короче сама модель ходит в пространстве а вот самой анимации модели нет. в чем дело? помогите пжалста кто может и хочет)) заранее спасибо!
|
Re: FAQ по B3D
NovICE, найди у неё чайлд, самый первый обычно, это и есть сама модель. Когда ты грузишь как анимированную, получаеться ты грузишь пачку, поэтому анимировать нужно один из её чайлдов к которому прикреплен скелет, название обычно совпадает как в 3д максе.
Юзай FindChild, CountChildren, GetChild, EntityName функции для нахождения. |
Re: FAQ по B3D
2NovICE то, что тебе уже посоветовали, плюс возожно при экспорте у тебя отсутствует анимация вертексов. проверь правильность расстановки всех галочек... и опиши подробнее как и что ты делаешь, поэтапно... тогда будет проще тебе помочь и найти ошибку.
|
Re: FAQ по B3D
Всем доброго времени суток!
Хотел задать вопрос который меня очень беспокоит - - как лучше сделать анимированный обьект - например нам надо чтобы сфера подпрыгивала бесконечно : так что будет лучше - анимировать сам обьект или прикрутить к нему кость и анимироватькость.? Заранее благодарен за ответ! (програмировать анимацию не предлагать) |
Re: FAQ по B3D
Alex_Noc, ИМХО один кер.
Только если ты сделаешь просто объектом, то те нада будет делать примерно так: Шар = LoadAnimMesh ("путь к модельге шара") Animate Шар А если костями, то Animate FindChild (Шар, "имя объекта в максе") второе ИМХО геморройнее, хотя если заюзаешь кости, можно сделать, например, чтоб в прыжке шарик вытягивался, а при контакте с землёй сплющивался. В общем, решай по своим потребностям. |
Re: FAQ по B3D
Только не:
Шар = LoadMesh ("путь к модельге шара") А: Шар = LoadAnimMesh ("путь к модельге шара") |
Re: FAQ по B3D
PLEASE! HELP ME!
последую твоему совету Avel, и постараюсь объяснить все поконкретнее: 1. вот полный код: strelki: LEFT, RIGHT - povorot, UP\DOWN - camera UP\DOWN Код:
; A - vpered, Z - nazad Итак, я запустила МАКС и создала в сцене примитив цилиндр. Перевела его сетку в эдитейбл мэш. Затем наложила модификатор скин. Создала два бокса. поставила один на другого и расположила их внутри цилиндра и присоединила их в качестве костей. короче получилаось такое примитивное подобие ноги, сгинающейся в колене. И теперь перехожу File -> Export и сохраняю в формате b3d. под именем torus(для этого я установила B3D Pipeline). теперь после этого включила автоматическую расстановку ключей . анимация в 40 кадров. с 0 по 10 я с помощью наклоняю верхний бокс. с 10 по 20 возвращаю его в исходное положение. с 20 по 30 также наклоняю только в другую сторону и с 30 по 40 снова в обратном направлении возвращаю в исходное положение. И все. Дальше опять перехожу File -> Export и сохраняю в формате b3d. под именем walk. Еще скажу что когда экспортирую в формат .b3d, появляется окно с опциями экспорта. В этом окне галочки выставлены абсолютно везде уже с самого начала. (сама я не знаю какие именно галочки надо проставлять) Теперь запускаю Блитц3Д и в вышеприведенном коде использую свои файлы. нажимаю F5. короче цилиндр в пространстве есть. нажимаю клавиши A и Z для перемещения. И тут цилиндр хотя сам двигается (или правильнее скользит как и все объекты по умолчанию), самой анимации цилиндра, а он должен нагинаться в разные стороны при передвижении, нет. вот такая вот загогулина. А мог бы кто нибудь показать как именно надо ипользовать в Блитце модели, сохраненные в формате b3d. если можно конечно. а то может код неправильный? Заранее Спасибо |
Re: FAQ по B3D
2Alex_Noc если объект простой типа шар, то проще обойтись без костей, конечно.
|
Re: FAQ по B3D
2NovICE
Цитата:
Цитата:
про код в блице и галочки тебе, вроде, уже сказали. ну, в принципе, если непонятно, то выставляй все, что слева и убирай все, что справа... а код можно посмотреть в стандартном примере для анимации из справки блица. только не забудь про файндчилд... |
Re: FAQ по B3D
кто-нибудь знает, почему может не работать SetGamma?
(видеокарта Radeon 9550) не работает даже стандартный пример... и еще вопрос немного не в тему... кто-нибудь знает, где можно надыбать модели реального огнестрельного оружия(желательно посовременнее) или хотя бы чертежи и картинки, чтобы можно было смоделить. |
Re: FAQ по B3D
Цитата:
|
Re: FAQ по B3D
Цитата:
|
Re: FAQ по B3D
Цитата:
|
Re: FAQ по B3D
Этот вопрос уже задавался, но я не увидела на него ответ. Поэтому задю его снова в надежде на вашу помощь:
У меня седьмой МАКС а вопрос по поводу установки и использования плагина B3D Pipeline 1. Для каких версий 3dsmax подходит плагин? На семёрку или на восьмёрку ставится? 2. Я установил плагин B3dPipeline (перекинул все папки с файлами в max) и при входе в 3dsmax7 у меня возникает такое предупреждение "Loading DLLs ! DDL <C:\3dsmax7\plugins\b3dexp.dle> failed to initialize. Error code: 127 - Не найдена указанная процедура." Я так понимаю этот фаил отвечает за экспорт файлов. Т. к. после того как я зашел в max, у меня не было путя для сохранения File>Export...>*b3d. :SOS: Или я что то не правельно сделал или этот плагин не подходит для данной версии max? Хотя в матерьялах, что то появилось. 3. И как установить или пользоватся B3dExtensions? P.s. Если кто знает, как решить эти проблемы, подскажите мне пожалуйста. |
Re: FAQ по B3D
NovICE,
1. работает на 8-ом точно, на 70ом тоже должен по идее. 2. скопируй dle файл из папки patch_max6 (что то типа етого) 3. мм. там есть примеры. к проекту надо будет приинклюдить соответствующий файл. при выгрузке в b3d надо поставить соответствующие галки. лично мое мнения - забить на bb extensions. |
Re: FAQ по B3D
1. работает с максами:
- 5 - 6-8 (нужен патч Max6_patch.zip), я пользуюсь седьмым максом 2. Цитата:
Для 7-го поможет патч ,что лежит в архиве Max6_patch.zip 3. А оно тебе надо?) ИМХО в 99% случаев они - лишнее, но если очень надо, чти хелп. |
Re: FAQ по B3D
Цитата:
|
Re: FAQ по B3D
2NovICE ну, повторю то, что уже сказано...
1 на седьмом работает. у меня у самого седьмой и все путем. так же на 5, 6, 8. на девятом к сожалению не прет... 2 чтобы ошибки не было надо поставить патч. иначе с 6 по 8 версии будет выдаваться эта ошибка. 3 устанавливать ничего не надо, они ставятся вместе с пипелайном. использовать прямо из свойств объектов. если все правильно установлено, то появляются доп. команды. при экспорте необходимо выставить галочки (те, что справа). но ИМХО использовать их особого смысла нет... проще все это сделать в самом блице. потому что возникают глюки, несостыковки и т. д. про команды читай подробнее в хелпе пипелайна или спрашивай про конкретную команду. |
Re: FAQ по B3D
вот, новая оффлайн версия FAQ по B3D.
что нового: 1) я слегка отформатировал все, что там было. 2) добавил новые посты, которых не было в старой оффлайн версии. 3) перераспределил все по разделам. 4) добавил некоторые новые вопросы, которых здесь нет, так что смотрите. 5) отдельно выделил участки с кодом. 6) преобразовал все в формат *.chm весит это чудо всего 50 кбайт, а полезности - на все 100%! я и сам, бывает, забуду какую-нибудь функцию, или, просто, лень писать по памяти, и тут фак приходит на помощь... все основные вопросы, возникающие в процессе программирования на блице у новичков и не только тут рассмотрены. изложено все максимально понятно и при этом достаточно локанично. короче, юзайте наздоровье! надеюсь, что я не зря потратил свое время и оно вам будет полезно. качать тут |
Re: FAQ по B3D
круто :super:
только подредактируй ещё на предмет орфографических ошибок (они редки, но как-то очень досадны: Цитата:
Цитата:
Цитата:
Цитата:
|
Re: FAQ по B3D
У меня вопрос: как сделать, чтобы объект начинал анимацию при нажатой кнопке, а при отжатой прекращал и двигаться и "анимироваться".
У меня вот такой простенький код: Graphics3D 640,480,16,2 SetBuffer BackBuffer() HidePointer cam=CreateCamera(player) PositionEntity cam,0,10,-10 TurnEntity cam,0,0,0 lit=CreateLight() TurnEntity lit,45,45,0 pln=CreatePlane() tex=LoadTexture("12.jpg") ScaleTexture tex,10,10 EntityTexture pln,tex player=LoadAnimMesh("bbb.b3d") ScaleEntity player,.1,.1,.1 TurnEntity player,0,180,0 Repeat If KeyDown(17) Animate FindChild(player,"bbb") RenderWorld() UpdateWorld() Flip Until KeyHit(1) End но когда запускаю, объект анимируется когда я нажимаю кнопку, НО когда отпускаю объект не прекращает анимацию.. что делать? |
Ответ: FAQ по B3D
NovICE перечитай весь FAQ этот вопрос уже есть и на него отвечено! смотри это:
Цитата:
|
Ответ: FAQ по B3D
NovICE
Код:
If KeyDown(17) Then |
Ответ: FAQ по B3D
|
Ответ: FAQ по B3D
2avel: Средствами Блица так прокатит замечательно.
Хоть бы так, к примеру: Код:
IF KEYDOWN(17)=1 THEN |
Ответ: FAQ по B3D
Diplomat ладно, признаю. прокатит.
я просто имел ввиду, что если, просто, написать внутри Animate, то толку не будет... Все равно надо вводить переменную-флаг. а jimon этого не указал. Думаешь до новичков дойдет, что там надо ее написать? я думаю, что нет. именно это я и имел ввиду. а то, что это можно реализовать я и сам знаю. и давно уже указал как... просто, некоторые плохо читают темы... да и все-равно этот вариант как-то через Ж... слишком много условий... ИМХО мой вариант проще... хотя бы не надо лишней переменной... для множества моделей в твоем случае прийдется массив задавать для одних только флагов... хотя, конечно, это кому как удобнее. посему я и указал, что вариантов много... вот, решил все же продублировать... Цитата:
|
Ответ: FAQ по B3D
Такое количество ветвлений необходимо. Более того, логичным решением в сколь-нибудь более серьезной ситуации было бы вынести модуль анимаций в отдельную функцию. Но в условном случае данного простейшего примера это было бы все таки не вполне целесообразно.
А насчет твоего решения... Если представить ситуацию, когда обьект должен иметь несколько различных анимационных последовательностей и не замирать намертво при остановках, а проявлять признаки жизнедеятельности, то оно теряет свою прелесть. А так- для примера конечно может жить. ) |
Ответ: FAQ по B3D
|
Ответ: FAQ по B3D
в маленькой аркадке функция управления анимацией занимает 230 строк.
Там сам черт ногу сломит. :))) Нужно пользоваться переменными . тогда все просто Код:
he\a_seq=AnimSeq (he\en) Главное - понять принцип Он удобен |
Re: FAQ по B3D
Вопрос: Как пользоватся командами - "таймер1 = CreateTimer("длительность"), WaitTimer("таймер1") , FreeTimer("таймер1") ".
Сколько не эксперементировал, нечего путнего не вышло... |
Ответ: FAQ по B3D
Crayzi, в справке блица, есть примеры для работы с этими функциями.
|
Ответ: FAQ по B3D
попробуй создай таймер Createtimer(200) и помести команду Waittimer() в цикл перед Renderworld(), сразу поймешь как это работает, а значит и научишься как ими пользоваться. В общем говоря, это таймер который затормаживает работы программы на установленное время ( в миллисекундах ).
|
Ответ: FAQ по B3D
хм. имхо одна из бесполезнейших команд.
Delay(200) сделает то же самое. или, имеется ввиду на 200мс с последнего вызова? |
Ответ: FAQ по B3D
Нет, сравнивать таймер с задержкой- нельзя.
Таймер- есть самый простой, наиболее стабильный и наименее затратный по ресурсам из существующих ныне способов стабилизации ФПС в Блице. Можно сказать, что он является одним из лучших способов синхронизации. Копий на этот счёт сломано немало, но факт остаётся фактом: для маленькой игры таймер предпочтительней любых других методов синхронизации. Delay методом синхронизации очевидно не является. Createtimer(200) создавать не стОит. Диапазон оптимальных значений для таймера- 30-40. В крайнем случае- 25-60. Кроме того, для придания эксперименту чистоты логично выключить вертикальную синхронизацию. |
Ответ: FAQ по B3D
Цитата:
while a_time+30>millisecs() wend a_time=millisecs() ? |
Ответ: FAQ по B3D
Ну, почти. Во-первых, таймеру указывается желаемый ФПС, а не желаемая задержка; во-вторых, таймер просто останавливает выполнение программы, уменьшая ФПС до нормы, а не глушит систему намертво пустым циклом для этих же целей; и в-третьих... гм.. в нем меньше букафф. ))
|
Ответ: FAQ по B3D
Да. Таймер полезная функция. У себя в игрушке (небольшая аркада) я им и пользуюсь. Ограничиваю FPS до 60.
|
Ответ: FAQ по B3D
Вот поэтому, лучше именно другая синхронизация, где разделение на логику и рендер. Тогда не страдают оба, а только один.
|
Ответ: FAQ по B3D
такое разделение хорошо только для проектов с быстрой логикой и медленным рендером.
т.е. почти для всех блицовых. |
Ответ: FAQ по B3D
Чтобы логика не подтормаживала из-за тормозов рендера, ничто не мешает прикрутить помимо таймера еще и фреймскип. Только это не нужно, ибо плавное замедление игры до поры не заметно, а вот слайдшоу- заметно сразу. )
Ну а уж если тормозят и рендер, и логика- тут уж никакая синхронизация не спасет. Так что фантастика это всё. Единственный недостаток таймера- ограничение ФПС, которые никогда не поднимутся выше планки. Но с ресурсоёмкостью блицевских проектов, глючным моушн-твинингом и классически недопрофессиональным качеством наработок- сей мелкий недостаток останется незамеченным 90% игроков. В общем, таймерный холивар- фарева! ) |
Ответ: FAQ по B3D
не знаю, кто как, а я таймер практически не использую. по его прямому назначению его использовать проблемматично и неудобно, лучше millisecs юзать, а для прочих нужд тоже есть другие способы. тот же дельтатайминг, например.
|
Ответ: FAQ по B3D
Чем использование таймера проблематично?
Ты уже изобрел безгючный дельтатайминг на Блице? ... В общем, спорить о том, что топор лучше чашки- я не буду. Но прежде, чем возжигать весьма-весьма древний холивар, ты бы изучил вопрос детально... Ничто не идеально, но что-то еще менее идеально, чем всё остальное. |
Ответ: FAQ по B3D
ну, дельтатайминг у меня относительно безглючный. а насчет детального изучения вопроса, так с этим все впорядке. давно уже изучил. :)
|
Re: Ответ: FAQ по B3D
спасибо jimon за совет. а то в FAQ так и не нашла нормального варианта решения моего вопроса.
|
Ответ: FAQ по B3D
NovICE
всегда пожалуйста :) |
Ответ: FAQ по B3D
Не все знают - если 3ий аргумент ф-ции MID задать как "-1" - то будет взята вся строка:
Код:
Print Mid("1234567890",2,-1) |
Ответ: FAQ по B3D
кстати, можно также указывать запредельное значение.
например: Цитата:
|
Ответ: FAQ по B3D
Видимо, последний аргумент рассматривается как беззнаковое целое. Вэтом случае -1 и 255 для компилятора - одно и то же значение.
|
Re: FAQ по B3D
Вопрос 1: Есть ли возможность перематывать звук запущенный командой PlaySound или PlayMusic? Если да, то как это сделать?
Вопрос 2: Как работать с массивами, и можно ли их сохранять в файл(допустим месторасположение ботов, игроков, количество НР ботов... или для хранения таких данных лучше использовать другой способ?), желательно хотябы простенький пример, для наглядности. |
Ответ: FAQ по B3D
1 нет. для такого используй сторонние звуковые либы
2 естестно. см группу команд файл |
Ответ: FAQ по B3D
|
Ответ: FAQ по B3D
Люди, тока не ругайтесь, задам самый тупой вопрос))) как привязать конус к кубу?!
пробывал вот так Код:
EntityParent Cone(конус),Cube(мой кубик-плеер) |
Ответ: FAQ по B3D
EntityParent Cone(конус),Cube(мой кубик-плеер)
все правильно. |
Include "_"+Str(0)+".bb";пример
Возможен ли импорт "*.bb"-модуля со сконкатенированным наименованием?
|
Ответ: Include "_"+Str(0)+".bb";пример
Цитата:
|
Арехаф стало еще больше...
Цитата:
нет, файло "*.bb" так не линкуется.( Палюбому.( |
Ответ: FAQ по B3D
Подскажите кто-нибудь! Только начал изучать Blitz3D, и застопорился.. Прочитал в учебниках про вызов 2D анимации командами LoadAnimImage и DrawImage.
Вот такая проблема: Анимационные файлы формата gif данными командами не поддерживаются. В примерах (help rus,) показан вызов файла bmp и говорится, что это анимационный файл с кадрами. Насколько я знаю, BMP - это файл только с одним кадром. В общем, у меня простая задумка - создать небольшую 2D анимацию в виде идущего человечка (героя), но как это сделать с помощью LoadAnimImage и DrawImage не знаю. :( |
Ответ: FAQ по B3D
ты смотрел, как выглядит семпл из примера? Это стрип - кадры склеенные в одно изображение. Разрез растра на кадры просиходит на основе их размера, переданного в функцию загрузки.
Для gif надо использовать команды категории DirectShow, но там есть некторый гемор - нет тайминга как у видео-файла, а потому необходимо самому сделать систему удержания кадра и его смены с заданной частотой (рекомендуется 10Гц). |
Ответ: FAQ по B3D
impersonalis
Моя беда в том, что я не смог посмотреть семпл так как директории C:Program Files\Blitz\Basic\samples\graphics у меня в блице нету. Только что до меня наконец дошло - кадры там должны разбиватся самим блицом. Огромное спасибо за быстрый ответ. |
Ответ: FAQ по B3D
помогите сделать такой редактор. http://www.youtube.com/watch?v=VfJca...yer_detailpage
и вопрос в догонку, я примерно понимаю как это сделано. Но вот как узнать в какой ячейке маркер? |
Часовой пояс GMT +4, время: 19:38. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot