![]() |
Ответ: Вопрос-Ответ (для новичков)
Не совсем понял какая именно игра, но если звезды маленькие - то можно и двума - тремя тайлами все сделать. Если уже чето там посложней нужно, а не только ради декорации...то делай как уже задумал..там ничего сложного нету.
1.Делишь всю карту на сектора. 2.Присваиваешь каждому сектору определенное число сида.(если нужен организованый порядок, то растваляй сам и создавай банк данных) 3.Записываешь все это дело в нужный тебе документ(карта.тхт к примеру) 4.При потребности загружаешь все(ну к примеру звездолет, или че там у тебя, когда оказался в нужном секторе - программа загружает нужное расположение звезд. ) |
Ответ: Вопрос-Ответ (для новичков)
Всем добрый вечер)
У меня есть вопрос вот, в командах ладшафта есть terrainheight, вроде так, которая возащает высоту террейна в точках X и Y. Допустим я сделал в максе ладшафт, экспортировал в б3д, загрузил, как мне узнать высоту ладшафта в точке Х и Y? |
Ответ: Вопрос-Ответ (для новичков)
Бльо, печатал с кпк в предыдущем посте, переведу на русский, допустим я сделал модель ладшафта в максе, загрузил в блитц, как мне узнать высоту ландшафта в точка Х и Y? Я знаю что в командах тиррейна есть terrainheight, но оно только для террейна...
|
Ответ: Вопрос-Ответ (для новичков)
Ну можешь колизиями узнавать его высоту.
|
Ответ: Вопрос-Ответ (для новичков)
Как отскалить Trimesh (PhysX)? Привычные Scale, MeshWidth... не помогают.
|
Ответ: Вопрос-Ответ (для новичков)
Цитата:
Скейли тот меш, из которого считаешь тримеш. |
Ответ: Вопрос-Ответ (для новичков)
Блин... У меня блитцевский куб (CreateCube). СОздал куб, ScaleEntity cube... А потом (из учебника автомата по физ-х' у брал функцию создания тримеша) BodyCreateMesh(cube, 30). И (_|_) ...
Качу динамический шарик на на тримеш-куб, а шарик проходит через куб. Без маштабирования всё коллизится. Я через RemoteDebugger проверял в чём собака зарыта, так физ. оболочка меньше оболочки куба. |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
Перечитал эту тему, но ответа не нашел. Расскажите пожалуйста попунктно. Зд уровень для блитцЗд. Делаю отрезок улицы.
Я в максе сделал отдельно несколько домиков. Конвертнул через пепилин в блиц. (b3d) Там собрал воедеино. Не очень удобно. Куча файов, куча текстур, бардак. Теперь чел, который пишет код, сказал, что есть прога Cartography Shop. в которой можно раставить флаги на объекты (пол, стена, дверь) Скачал прогу, она не поддержывает импорт из макса.. она вообще не поддержывает импорт... Теперь вопрос, если я слеплю весь уровень в максе, как мне поставить галочки на обьектах (так же как Cartography Shop)? Или, мы с челом, вообще все не правильно делаем?:4to: |
Ответ: Вопрос-Ответ (для новичков)
Ну,если в максе,то сначала экспортируешь на уровне все объекты,статические,то есть те с которыми не будет у тебя в игре взаимодействовать игрок. Дальше экспортируешь объекты - динамические,с которыми будешь непосредственно проводить какие-либо действия.
|
Ответ: Вопрос-Ответ (для новичков)
Darksoul
Чтобы импортировать объекты в CartographyShop используй прогу PrefabMaker |
Ответ: Вопрос-Ответ (для новичков)
У меня с прогой был конвертер моделей в .csm(название сказано выше) , а вообще имхо динамические объекты отдельно делать, а не динамические как единый объект, а если загружать как аниммеш то будет хуже(не динамические объекты будут грузиться по одному вроде как)
|
Ответ: Вопрос-Ответ (для новичков)
Цитата:
А код разделяет модель на чайлды, видит имя "rot+2+0+0" и записывает модель в тип rotate. И каждый проход цикла поворачивает лопасть на +2 +0 +0 |
Ответ: Вопрос-Ответ (для новичков)
тупой вопрос, как грузить шрифты:-D
смотрел в хелпе типа fntArial=LoadFont("Arial",15) SetFont fntArial Раньше мне это было не надо и я не обращал внимания... Но не давно я менял название шрифта, причем какое название не поставишь шрифт тотже:-D |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
да я так и делаю
Graphics3D 800,600,32,1 SetBuffer BackBuffer() Global ArialCyr=LoadFont("ArialCyr",15) Global Arial=LoadFont("Arial",15) Global Block=LoadFont("42854.ttf",15) While Not KeyDown(1) SetFont Arial Text 10,25,"Arial "+"english "+"русский" SetFont ArialCyr Text 10,45,"ArialCyr "+"english "+"русский" SetFont Block Text 10,65,"Block "+"english "+"русский" Flip Wend End |
Ответ: Вопрос-Ответ (для новичков)
А ты уверен что ArialCyr есть в твоих шифтах?
К тому же так делать нельзя: LoadFont("42854.ttf",15) |
Ответ: Вопрос-Ответ (для новичков)
... а его походу реально там нету(
а по поводу 42854.ttf, незнай, он в корневой папке программы находился, а как его еще подключать можно? |
Ответ: Вопрос-Ответ (для новичков)
таким образом, в б3д, шрифты подключать вообще нельзя, он обязательно должен находиться в папке "fonts"
|
Ответ: Вопрос-Ответ (для новичков)
Цитата:
у меня все нормально грузится из папки игры шрифт не будет грузится: если его имя совпадает с уже существующим если шрифт не подходит к блитцу по структуре проверяется отладкой смотрим значение переменной после загрузки |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
Как определить, находится ли объект внутри заданного бокса (в 3D) ?
То есть моем случае мне нужно определить, находится ли игрок в нужном мне помещении. Действие происходит в невесомости. |
Ответ: Вопрос-Ответ (для новичков)
ну координатный метод подойдет =) if EntityX(player) > EntityX(box)+widthbox/2 And ... и так далее где player игрок, box - область, widthbox соответсвенно ширина коробки, потом еще 5 проверок и все.
Это конечно, если бокс не повернут.. Кстати у меня вопрос, можно ли стандартными методами b3d сделать коллизию box and box? а то у них все сфера да сфера...Я просто дня 2-3 назад снова сел за программирование, и решил для разминки написать что-то типа езды по городу машинкой, а вот столкновения тупые получились машина ну ни как на сферу не подходит, а метод "сфера - полигон"... |
Ответ: Вопрос-Ответ (для новичков)
А EntityBox?
|
Ответ: Вопрос-Ответ (для новичков)
Хм.. Не знал, спасибо! Помогло.
|
Ответ: Вопрос-Ответ (для новичков)
Как к кваду прицепить коллизию?
EntityRadius пытался, но не работает. :) |
Ответ: Вопрос-Ответ (для новичков)
Значит не робит? Я просто понадеялся на ваш опыт))) не проверял, к квадрату я цеплял колизию по углам, напихал на них пивот и настроил чтоб пивоты постоянно на углах держались... ух намучался с этим быдлокодом, но по другому пока не умею...
|
Ответ: Вопрос-Ответ (для новичков)
квад - это не квадрат. Это плоскость состоящая из двух треугольников
Код:
Function CreateQuad (tex$,flag%=1) |
Ответ: Вопрос-Ответ (для новичков)
Хм.. ясно, слушай я не разобрался с EntityBox указываю параметры куба, а в итоге получаю сферу с радиусом 1 =( вот код создания энтити:
Код:
Function new_car(mes$, speed#, startx#, startz#, startangle, rk#, acs#) |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
Бокс может быть повернут, но тогда игрока к нему нужно "привязывать", на время вычисления :) |
Ответ: Вопрос-Ответ (для новичков)
киньте кто нить пример с контурированием обьектов...
|
Ответ: Вопрос-Ответ (для новичков)
Цитата:
PHP код:
|
Ответ: Вопрос-Ответ (для новичков)
Randomize, еще желательно добавить. :)
Код:
RotateEntity Outline_Entity,EntityPitch (Shaded_Entity, True),EntityYaw (Shaded_Entity, True),EntityRoll (Shaded_Entity, True) |
Ответ: Вопрос-Ответ (для новичков)
Народ, у меня проблема с рандомом, короче вот код:
в офтопе, по тому что большой.. В чем вообще суть, пока что есть немного, нужно нажать "У" , создастся новый типа муравейник, нажать "Й" из него выйдет юнит. Если юниты слижком близко друг к другу то передвигаться в в рандомную точку области 4х4 с центром где находится юнит, короче юнит в центре этой области. суть в чем, когда я закликиваю "й" то юниты толкаются, стараются распредилиться равномрно, только вот распределяются они почему-то по линии ну примерно по линии под 45 градусов, линия проходит через 0,0 на координатной плоскости, подскажите в че тут казус? или альтернативный спосо выбора рандомного направления... Заранее извиняюсь за быдлокод))) т.к. в Блитце сравнительно недавно... |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
верно будет так Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
Спасибо) при копировании видать поменять забыл.. Теперь все работает. Да,SeedRnd (MilliSecs()) ставил, результат один и тотже, оставлю так...
|
Ответ: Вопрос-Ответ (для новичков)
Рандомиз, а если перевести код в Ксорс то ругается на строчку
Код:
For j = 0 To xCountVertices(surf) - 1 |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
Ну и правильно, я бы тоже тебя послал вот за это: Код:
For i = 1 To xCountSurfaces(Outline_Entity) ?? В ксорсе все порядковые номера начинаются не с 1цы, как в б3д - а с 0. |
Ответ: Вопрос-Ответ (для новичков)
спасибо доктор, мне уже полегчало
|
Ответ: Вопрос-Ответ (для новичков)
У меня такая проблема: гружу аним меш, ставлю ему EntityOrder -1, ничего не происходит, ставлю его чилдам рекурсивно это значение:
Код:
Function EntityOrderCh(ent,ord) upd Мда, в справке написано, что у кого order<>0, у того не работает z-буфферизация... мб есть какой-то выход? upd2 Решил проблему вот как: разделил интити на слои, которые рендерятся по очереди (да, немного теряется производительность, но других вариантов нет) Код:
Type TIOrder |
Ответ: Вопрос-Ответ (для новичков)
Создал для врагов и пулей - типы с фиелдом для мешей
PHP код:
Enemy.EnemyType=New EnemyTypeNext Создал врагов и пули (при стрельбе) Настроил Collisions-ы: SolidEnemy и т.п. ; -код проги- ; ************** For Shot.ShotsType=Each ShotsType If EntityCollided(Shot\Model,SolidEnemy)NextFreeEntity EntityCollided(Shot\Model,SolidEnemy) ; - удаляет модель врага с которой столкнулась пуля... отсюда вопросEndIf Вопрос: В том месте удаляется модель (Enemy\Model), а как удалить тот Enemy, чья эта модель.. Знаю, что - Delete Enemy Но как у модели EntityCollided(Shot\Model,SolidEnemy) определить прикрепляемый тип? |
Ответ: Вопрос-Ответ (для новичков)
еще один перебор, только теперь тип енеми перебирать
Код:
For Shot.ShotsType=Each ShotsType |
Ответ: Вопрос-Ответ (для новичков)
Бредовый *овнокод.Надо тем более лучше Hideentity делать.Я в не состоянии разобрать далее...
|
Ответ: Вопрос-Ответ (для новичков)
EntityCollided? Неееет! Да вычто? Этож мега лаг.
Юзайте тупо EntityDistance и тормозов не будет. |
Ответ: Вопрос-Ответ (для новичков)
HideEntity - оставляет "прах" данных в памяти??
Мне нужно очищать от временно (а может и нет) не нужных данных. Сделал так: For Shot.ShotsType=Each ShotsType ; проверка каждой Пули If EntityCollided(Shot\Model,SolidEnemy) ; если Пуля столкнулась с ВрагомNextCollidedModel=EntityCollided(Shot\Model,SolidEnemy ) ; привязка столкнувшегося Нужнего ВрагаEndIf Попробую исправлять на EntityDistance. |
Ответ: Вопрос-Ответ (для новичков)
Перебор в переборе.
Получается чем больше пуль, и чем больше врагов, тем больше переборов и проверок на поподание. Если у нас 10 пуль, и 10 врагов, это 100 переборов. А если я на пулемёте и стреляю сдалека по кучке врагов, 350 пулей, многие из них уже давно пролетели и промахнулись, а врагов 40, то это 14,000 переборов! Внедряй разделения по местности и не используй глобальных списков. В Блице хотябы храни локации как массив, и проверяй локацию которая разделена на квады, пули, с той же и прилегающих локаций монстрами. Таким образом не нужно держать всё. К сожалению в Блице списков как таковой нету (загнать хандлы в массив? геморой). И подобные вещи реализовать большая головная боль.. ЗЫ, если новичёк не слушайте всё что написал в этом посте ;) |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
Blitz3d? Неееет! Да вычто? Этож мега лаг. Юзайте тупо НЕ Blitz3d и тормозов не будет |
Ответ: Вопрос-Ответ (для новичков)
Зачем же так критично? Не так давно ты и сам считал блитц классным движком. Но пошли темы "блитц устарел! нужен новый движок". Зачем же так кардинально менять взгляды под влиянием других? Пусть блитц и устарел, он остаётся замечательным средством обучения для новичков. А для казуалок блитц и вовсе не устарел
|
Ответ: Вопрос-Ответ (для новичков)
|
Ответ: Вопрос-Ответ (для новичков)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
LLI.T.A.L.K.E.R. Делал такие вещи. Слушай Moka). Только так и возможно. Hideentity - лесом. Проверка к дистанцией тоже норм способ. Только если хочешь чтобы пуля пролетала "подмышкой" (к примеру))) здесь он не подойдет. |
Ответ: Вопрос-Ответ (для новичков)
За меня все скажет скриншот:
![]() upd Не понимаю что это за хрень, никак не получается исправить :( |
Ответ: Вопрос-Ответ (для новичков)
ну думаю Команда разработчиков Xors3d выпустит Блицу достойную замену)) если сейчас много чего полезного реализовано)) то в дальнейшем думаю Хорс станет самостоятельным движком со всякими полезными фичами ))
|
Ответ: Вопрос-Ответ (для новичков)
Он и так вполне самостоятельный.
Но про рост, тут спорно. Развивать ту структуру которая сейчас у Ксорса, я лично не вижу смысла. Нужно двигаться вперёд, и смотреть на более современные структуры построения движков. |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
pxBodyCreateHull(tmp_m,4.0) - хрень BodyCreateHull(mesh%,mass# = float)\ % - это целое число # - число с точкой |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
Какие же мы все слепые - я по ошибке в начале команды px подставил :D
|
Ответ: Вопрос-Ответ (для новичков)
Вот есть у меня функция, проверяющяя, находится ли объект ногами на поверхности
Код:
Function GetStayOn(x1,y1,z1,pitch1,yaw1,roll1,x2,y2,z2) ;Где x/y/z2 - коорд. поверхности Код:
GetStayOn(0,1,0,0,0,0,0,0,0) Ставим вверх ногами: Код:
GetStayOn(0,0,0,2,0,0,0,1,0) |
Ответ: Вопрос-Ответ (для новичков)
Ну всё правильно, стоит головой на поверхности, значит ноль. У тебя моделька?
|
Ответ: Вопрос-Ответ (для новичков)
Цитата:
Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
Всем привет, у меня такой вопрос. Каким образом можно вставить в Blitz3D (в команду Text) возможность написать символ из таблицы символов имеющий юникод(? если это конечно называется юникодом))).
Скажем обычный текст: Text 100,100 "Hello Hell!" То что требуется: Text 100,100 "╬" (символ под кодом U+256C) |
Ответ: Вопрос-Ответ (для новичков)
Text 100,100,Chr(KeyCode), где KeyCode - значение твоего символа в ASCII от 0 до 255. Если в ASCII нету, то не ко мне.
Я точно помню что такая перекрестная фигня в ASCII есть, где-то между 200 и 255, в самом конце. |
Ответ: Вопрос-Ответ (для новичков)
Идея интересная спасибо ))
Только один минус... в блитце как я понял идет поддержка кодировки 1251, а нужный мне символ (да и другие интересные символы) в кодировке 866 например тот самый злополучный "╬" который имеет chr(206) в блитце переиначивается как "О" есть идеи как сменить кодировку для выдергивания символов? |
Ответ: Вопрос-Ответ (для новичков)
шрифты?
С такой же проблемой сталкивались разрабы Dwarf Fortress. Их решением были картинки, тоесть они имели графический шрифт для всех используемых в игре символов |
Часовой пояс GMT +4, время: 11:07. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot