![]() |
Ответ: Я новичок!
SetBuffer TextureBuffer(tex)
кажется |
Ответ: Я новичок!
это я знаю а исчо над вывести на камеру наложить маску ,и как ?
|
Ответ: Я новичок!
посмотри встроенный пример tex_render
маску класть не на камеру а на квад с текстурой, приклееный к экрану |
Ответ: Я новичок!
знаю я как накладывать а вот как прикрепить к камере меш на который проецируется радар ? проблема в позицие
|
Ответ: Я новичок!
и непроще ли рендить в изображение накладывать маску и выводить на экран ?
|
Ответ: Я новичок!
Спасибо!
|
Ответ: Я новичок!
Товарищи!
смотрю пример castle.bb, где ещё как бы Марио бегает, и не могу найти, где там сделано так, чтобы спрайт выстрела не содержал чёрного фона... Поскольку при копировании кода из примера в мой файл этот самый чёрный фон имеется. Кто может ткнуть носом в ответ? |
Ответ: Я новичок!
Поставь флаг: http://help.boolean.name/commands/3d...LoadSprite.htm
|
Ответ: Я новичок!
Цитата:
UPD. причина оказалась в источнике света... В тени спрайт меняется, на свету - то, что и должно быть. |
Ответ: Я новичок!
помогите, пожалуйста!
считываю стоки из файла: Код:
Global cur_name$[10] Код:
name_set() Код:
Function name_set() Код:
Function score() http://rghost.ru/36685694 где я ошибся? |
Ответ: Я новичок!
А что, если в name_set() перед циклом обнулить n?
|
Ответ: Я новичок!
Цитата:
|
Ответ: Я новичок!
Может быть названия русские а шрифт русский не может отобразить?
Попробуй вот так поменять функцию: Цитата:
|
Ответ: Я новичок!
Если сильно помучиться:
совместим ли Blitz3D с Simplygon-ом? (автоматическая LOD система) http://www.donyalabs.com/features/integration-api Книжка по API: http://www.donyalabs.com/img/media/P...UsersGuide.pdf |
Ответ: Я новичок!
- Слышите треск?
- Да, - сказали люди, - а что это? - Это моя задница лопается от усердия... |
Ответ: Я новичок!
Доброго времени суток!Я новичок в программировании, раньше изучал pascal, но потом случайно наткнулся на Blitz3d, язык понравился, потому что он более современный и ориентирован на новичков. Пару раз перечитал книгу по основам, где рассматриваются массивы, циклы, функции и т.д. Посмотрел примеры из хелпа, но проблема в том, что сам я ничего не могу написать. Здесь некоторые форумчане советуют начать с простых игрушек, таких как тетрис,арканоид, но я понятия не имею как все это реализовано, и в чужих исходниках не могу разобраться. Короче, помогите тормозу! Может есть какие нибудь книги, где все это рассматривается от простого к сложному. :"(
|
Ответ: Я новичок!
начни с еще более простой.
например ездит палка и отбивает один мяч. разбей ее на этапы. 1) просто вывести палку внизу экана 2) двигать палку по нажатиям на клавиши 3) ограничить движение палкой экраном 4) вывести мяч по центру экрана 5) заставить двигаться мяч 6) ограничить движение мяча экраном ну как то так. строк 40 кода будет в итоге. |
Ответ: Я новичок!
А как определить траекторию и угол движения мяча когда он отскакивает?
|
Ответ: Я новичок!
ты покажи как сделал движение мяча.
если как то так x = x +dx y = y +dy то отскакивание от горизонтальной поверхности будет dy = - dy, а от вертикальной dx = - dx |
Ответ: Я новичок!
Удивительно, на B3D еще что-то делают)))
|
Ответ: Я новичок!
B3D вечен
|
Ответ: Я новичок!
Цитата:
|
Ответ: Я новичок!
|
Ответ: Я новичок!
|
Ответ: Я новичок!
До тех времён пока MSWin не прекратит поддержку старых систем
|
Ответ: Я новичок!
после экспериментов с блитцем3д наткнулся на проблему чрезмерной загрузки процессора. Например, код:
"repeat print "hello world" until keyhit(1)" при исполнении грузит проц на 99%. это нормально?дебуггер отключен. |
Ответ: Я новичок!
Вложений: 1
Необходимо реализовать передачу кванта процессорного времени другим потокам. Самый ломовой (учитывая б3д) способ - вставить Delay 1 в конце тела цикла (ну можно ив начале - сами там, исходя из конкретики решаемой задачи, определитесь). По идее это должно спровоцировать переключение на другой поток и выделение ему некоторого дискретного минимального времени (вероятно, большего чем 1мс). В том виде, в каком код приведён сейчас, вы, фактически и говорите системе: выполнять с такой производительностью, с какой только возможно - именно поэтому нагрузка на цп 99%.
Вложение 18934 (фрагмент статьи про многопоточность, касающийся темы) А вообще - концептуально касаясь производительности код, условно (ох сейчас меня закидают за придумывание терминологии) можно разделить на два типа: "взаимодействие" и "работа". Первый вариант кода: подгруздка данных из сети, мониторинг портов, обновление GUI, реакция на ввод пользователя - не должны выполняться в бесконечном цикле без всяких ограничений, как то: событие от таймера, от внешнего потока, сообщающего о необходимости перерисовать окошко, прочитать сетевые пакеты из буфера и т.п. Второй вариант кода: грубо говоря, разнообразные расчёты (так или иначе решаемые на ПК задачи формализуются до вычислений). Причём во втором случае - всю необходимую для вычислений информацию мы уже получили благодаря коду "взаимодействия". Глупо ограничивать себя и не стараться выполнить задачу как можно быстрее. Последнее, разумеется не касается неких гибридных вариантов, где вычисления выполняются фоном, так как их тяжесть (негативный эффект создаваемый неконтролируемой нагрузкой) критичнее, времени их работы (например: архивация большого обёъма данных; размазанный во времени обработчик ИИ юнитов в RTS [когда каждый кадр принимается решение только по некоторому количеству юнитов, чтобы сгладить выбросы в нагрузке, избежав подлагивания картинки]). Вы привели код явно для "взаимодействия" а закодили его как "работа". Пример из жизни: код для вычисления сотни примеров: быстро-быстро берём и решаем первый, затем второй и т.д. код для взаимодействия: -Петя, как освободишься - дай знать, а я пока посплю. Неудачная архитектура (применения подхода "работа" в задаче "взаимодействие"): В данном случае, Ослу не имеет смысл создавать повышенную нагрузку на ЦП (Шрек* - будем рассматривать именно их диалог, хотя Шрека то и дело подменяет Феона), т.к. очевидно, что: 1) такое разрешение по времени не нужно; 2) рациональнее "уснуть" и ждать наступления события. *-на самом деле по аналогии это сущность персонализирующая собой совокупность "ЦП+поток оценки геоположения". Можно рассмотреть ситуацию иначе: первый поток - это Осёл, второй - Шрек, воздух (среда, позволяющая информации распространятся в виде звуковых колебаний) - шина передачи данных. Вместо того, чтобы ожидать сигнального пакета от второго потока, первый флудит в шину с максимальной частотой, делая невозможной работу третьего потока - Феоны - из-за перманентной занятости шины. ЦП - это некий формальный исполнитель программы с тремя потоками**: два из них постоянно работают со структурой (интерфейсной частью шины данных), третий поток спит (т.к. его культурность алгоритмически обозначает необходимость дождаться одновременной доступности в течение некоторого времени*** шины [разрешающего значения сигнального поля интерфейсной структуры] и доступности одного из потоков, с которым предстоит вести диалог - нетрудно заметить что это событие не наступит никогда: Осел или Шрек свободны, только когда говорит второй из них, т.е. занята шина). **- ну это уже вопрос философии. С солипсистской точки зрения, все живые существа управляются на единственном реальном cpu - вашем мозге. См. ещё Телеология, Логос. Здесь же мы рассматриваем локальный участок вселенной (внутри кареты), поэтому строим модель только для него. *** - задержку можно интерпретировать как долгую реакцию, связанную с низким приоритетом потока Феона (планировщик выделяет квант Феоне так редко, что возможность говорить к этому времени всегда уже обнаруживает Осёл или Шрек), или как искусственную задержку в работе, величина которой позволяет отделить событие "пауза между словами" и "тишина". Цитата:
|
Ответ: Я новичок!
Цитата:
Во, Impersonalis опередил :) апд: Моё 1000-е сообщение! Юбилей :) |
Ответ: Я новичок!
спасибо за ответы, хотя я уже почти решил переходить на BlitzMax - там есть альфа-прозрачность для изображений по умолчанию(или в B3d тоже есть?)
|
Ответ: Я новичок!
Цитата:
|
Ответ: Я новичок!
Здравствуйте. У меня беда с загрузкой b3d. Загружаю и ставлю камеру в позицию объекта “geroy”. Но камера оказывется совершенно в другом месте.
For q%=1 To CountChildren (vr%) vr1%=GetChild (vr%,q%) vrt$=EntityName$(vr1%) If vrt$<>"" Then vrt1$=Lower$(vrt$) If Instr(vrt1$,"door")>0 Then EntityParent vr1%,0 t%=CopyEntity (vr1%) FreeEntity vr1% End If If Instr(vrt1$,"geroy")>0 Then;ãëàâíûé ãåðîé EntityParent vr1%,0 pl%=CopyEntity (vr1%,0) cam%=CreateCamera (pl%) End If End If Next Что я не так делаю? |
Ответ: Я новичок!
Цитата:
|
Ответ: Я новичок!
vr%=loadanimmesh("lab.b3d");Загрузка комнаты
For q%=1 To CountChildren (vr%);Перебор всех элементов b3d vr1%=GetChild (vr%,q%);Очередной элемент vrt$=EntityName$(vr1%);Его имя If vrt$<>"" Then;Если имя есть vrt1$=Lower$(vrt$);Все буквочки делаем строчные If Instr(vrt1$,"door")>0 Then;Если это дверь EntityParent vr1%,0 t%=CopyEntity (vr1%) FreeEntity vr1% End If If Instr(vrt1$,"geroy")>0 Then;Если это глав герой EntityParent vr1%,0;Отвязываем его от всего B3d pl%=CopyEntity (vr1%,0);Создаем копию cam%=CreateCamera (pl%);привязываем камеру к копии End If End If Next Камера оказывается ровно в центре а не там где должна. Объект geroy находится на месте. |
Ответ: Я новичок!
harmon, если ты ставишь координаты только
cam%=CreateCamera (pl%);привязываем камеру к копии То координаты камеры от этого не меняются, используй PositionEntity (ent,x,y,z) Зачем ты вбрасываешь куски кода? Думаешь здесь сидят программисты-гадалки, по огрызку кода понимают проблему =/ |
Ответ: Я новичок!
Не получилось. Камера оказывается ровно по середине меша.
|
Ответ: Я новичок!
Цитата:
Сейчас я покурю каучук и прозрею в чём твоя проблема... [затягивает] Вижу PositionEntity неправильно используешь ты... [затягивает] Камера в координатах объекта что бы была, EntityX() (а так же EntityY() и EntityZ()) применит надо тебе. PositionEntity cam,EntityX (obj),EntityY (obj),EntityZ (obj) cam - камера (или любой другой энтити) obj - объект в чьи координаты надо ставить камеру... [затягивает] Файлы помощи блица держи Вложение 19679, на русский переведён он. Найдёшь помощь сильную там... Распаковывать сюда ...\Blitz3D\help - подтвердить замену файлов. [затягивает] Ап окай что то я и правда укурился... А вот так например написать несудьба? PositionEntity cam,EntityX (obj),EntityY (obj)+5,EntityZ (obj) |
Ответ: Я новичок!
Я именно так и применил PositionEntity cam%,EntityX(pl%),EntityY(pl%),EntityZ(pl%)
Объект (кубик geroy) находится в углу. Камера находится по середине. Вывел координаты совпадают а реальное положение нет. Странно но координаты всех getchild 0,0,0. |
Ответ: Я новичок!
Цитата:
"Камера находится по середине" по середине кубика, или просто в центре 3D пространства? Если просто применить позишен, камера оказывается в координатах кубика, то бишь в его центре, так? Не понимаю в чём у тебя проблема, мало информации. |
Ответ: Я новичок!
Есть комната с дверью. В углу комнаты кубик с именем geroy (именно на его месте должна появляться камера). Загружаю узнаю где кубик (ставлю камеру). Камера не на месте кубика а ровно посередине комнаты. Проверил координаты всех CHILD - они все 0,0,0.
Проблема в том что камера не появляется на месте кубика. Как сделать вложение в сообщение? |
Ответ: Я новичок!
Цитата:
Выложи исходник с медией, посмотрю что там. Надеюсь там не ололо-сто страниц кода :-) |
Ответ: Я новичок!
Вложений: 1
Вот эта штука не работает.
|
Ответ: Я новичок!
Брррр... Ничего не понял.
Учитывая что ты пользуешься картогрфшопом, думаю косяк в нём, что-то непонятное с координатами :dontknow: Лучше воспользуйся 3D Max 2008 с B3d Pipeline, для блица самое оно :super: |
Ответ: Я новичок!
Сохранение всё равно в b3d. Камера должна появиться на месте кубика - который в углу на против двери. Может какие-то преобразования нужны (из локальных в глобальные) координат?
|
Ответ: Я новичок!
Цитата:
Преобразования не какие ненужны, всё должно и так работать. Может конечно в коде косяк не увидел, однако уверен что дело в картографе. Я давным давно его забросил, когда столкнулся с подобными инфернальными проблемами. |
Ответ: Я новичок!
проверь, находится ли искомый объект в б3д.
сдаётся мне, что он даже не находится, и камера остаётся в нулевой точке. объект может быть чайлдом другого объекта а не корня модели - искать надо тогда рекурсивно. |
Ответ: Я новичок!
Цитата:
|
Ответ: Я новичок!
Цитата:
PositionEntity cam%,EntityX(pl%,1),EntityY(pl%,1),EntityZ(pl%,1), 1 |
Ответ: Я новичок!
EntityParent vr1%,0
cam%=CreateCamera (vr1%) PositionEntity cam%,EntityX(vr1%,1),EntityY(vr1%,1),EntityZ(vr1%, 1),1 Так тоже не получилось. Камера получается в середине а не на месте кубика. |
Ответ: Я новичок!
Цитата:
Это косяк редактора моделей Код:
FitMesh vr1, -(MeshWidth (vr1) / 2), -(MeshHeight (vr1) / 2), -(MeshDepth (vr1) / 2), MeshWidth (vr1), MeshHeight (vr1), MeshDepth (vr1) |
Ответ: Я новичок!
Вложений: 1
Переделал пропал кубик.
|
Ответ: Я новичок!
Проблема в особенности работы редактора: координаты всех вершин заданны от единого центра. Координаты обьектов равны нулю и не меняются.
Тебе нужно задавать координаты точкой. |
Ответ: Я новичок!
Вот твой кубик: под землей с сбитым центром
Код:
Graphics3D 800,600,32,2 |
Ответ: Я новичок!
Не юзай 3Д ворлд студио, он УГ. + коверкает имена обьектам и задает единый центр ко всем префабам. ( последний недостаток можно вылечить при загрузке )
Не юзай гайлс, он к иерархии добавляет корневой пивот со всякой ересью в имени. Юзай 3Дмакс + б3дПиплайн. |
Ответ: Я новичок!
Дабы не плодить тем спрошу тут.
Дано: текстура размером 64х64 (пиксели); квад размером 1х1 (единица в блице); Вопрос: как сделать что бы на кваде эта текстура отображалась как 128х128, но в добавленой части картинка не дублировалась? т.е. из вот этого (на уровне текстуры, а не объекта): Код:
______ Код:
__________ Код:
__________ Код:
|
Ответ: Я новичок!
ЕМНИП включить клампинг для текстуры по X и Y и задать текстурные координаты правильно.
|
Ответ: Я новичок!
Добавляй во флаги грузимой текстуры 16+32
|
Ответ: Я новичок!
Цитата:
Сейчас сделал таки ручками создание текстуры, но в таком случае теряется альфаканал изначального изображение. А если устанавливать флаги - текстура получается монотонной. |
Ответ: Я новичок!
16 - ClampU ( не повторять текстуру по U-координате )
32 - ClampV ( не повторять текстуру по V-координате ) чтобы не было косяков сделай 1 пиксель по краям текстуры нужным цветом, или призрачным |
Ответ: Я новичок!
Цитата:
Но вот возник как раз указанный косяк - т.к. текстуры нарисованы от края сразу, то возникают полосы при переносе текстуры командой PositionTexture. От них как то избавиться можно не перерисовывая туеву хучу текстур? Использование позиционирования текстур крайне необходимо. UPD Собственно, избавиться от этого косяка не получилось никак, не пересовывая все нужные мне текстуры по совету Diablo1909. Ну да ладно, зато теперь всё нормально. Спасибо всем кто советовал! |
Ответ: Я новичок!
|
Часовой пояс GMT +4, время: 12:25. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot