Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты C++

Результаты опроса: Нужна ли подобная система
Да, хочу! 0 0%
Да, если будет плагин для макса 3 60.00%
Неа, уже есть юнити и прочие 1 20.00%
Ты ошибся годом 1 20.00%
Голосовавшие: 5. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы
Старый 11.11.2012, 21:59   #1
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
ProLevel

Есть у меня такая самописная система обработки уровней. Позволяет в любом редакторе( макс, милка ) настраивать игровые объекты( пока совместим только с Xors3D ). Триггеры тоже поддерживаются. В общем мысли свои понятно излагать не умею поэтому приведу выдержку из справки к этой "супер" системе.
Параметры записываются в имени объекта
 
Справка по ProLevel
Как правильно записывать параметры объектов. Параметр имеет имя и значение. Значение - либо число, либо строка. Пример: · name=cube; · mass=1; Параметры отделяются друг от друга точкой с запятой. Пробелов может быть сколь угодно много - при разборе строки лишние пробелы удаляются. Чтобы сохранить пробелы строку нужно окружить кавычками. Пример: · objective="Receive data"; Если значение не поместить в кавычки, в качестве значения, параметру objective присвоится только Receive. Общие параметры - эти параметры могут иметь все объекты в игре · class - класс объекта. Возможны два значения: 1. classObject - объект 2. classLogic - логика( триггеры и т.п. ) · type - тип объекта 1. object - описывает обычный объект 2. light - источник света 3. trigger - триггер 4. sound - звук · name - имя объекта, используется для обращения к объекту из триггера · body - тип физического тела 1. sphere - сфера - радиус вычисляется автоматически и равен радиусу описанной вокруг объекта сферы 2. box - коробка, содержащая объект полностью 3. convex - выпуклое тело - строится из вершин объекта, тело не содержит вогнутых частей. 4. concave - вогнутое тело - может содержать вогнутые части( углубления и т.п.) 5. static - статическое тело( масса = 0 ), используется для описания геометрии уровня. · constraint *- тип ограничителя 1. hinge - петля · frict - трение ( 0 - нет трения ) · alpha - полупрозрачность ( от 0 до 1 ) · iskill - если 1, то убивает игрока при контакте. Используется для ловушек Параметры объектов - частные параметры - ими владеют только определенные объекты
Свет.
Пример: class = classObject; type = light; subtype=1; red=120;green=200;blue=255;range=1000; 1. red - красный цвет - от 0 до 255 2. green - зеленый цвет - от 0 до 255 3. blue - синий цвет - от 0 до 255 4. range - максимальная дальность освещения 5. subtype - всегда 1
Триггеры
Триггер - объект выполняющий определенные действия. Выключаются при выполнении условия, совершая указанные действия. Каждый триггер выполняет какие-то указанные действия. Чтобы указать действие, нужно написать action№=actionName(actionParameters); Здесь: · № - номер действия( нумерация может начинаться с любого числа, но последующее действие должно иметь номер на единицу больше чем номер предыдущего действия ) · actionName и actionParameters - любое действие из нижеперечисленных( в скобках параметры ) 1. Animate( имя_анимируемого_объекта, 3, скорость_анимации, 0); -анимирует объект 2. Enable( имя_включаемого_триггера ); - включает триггер 3. Disable(имя_выключаемого_триггера); - выключает триггер 4. AddForce(имя_объекта,силаПо_X, силаПо_Y, силаПо_Z ); прикладывает силу к объекту 5. AddTorque(имя_объекта,врМ_X,врМ_Y, врМ_Z); прикладывает вращающий момент 6. Hide(имя_объекта); - скрывает объект 7. Show(имя_объекта); - показывает объект 8. Win( ); -выиграть текущую карту Пример: class=classLogic;type=trigger;subtype=distanceTrigger;target=Player;distance=20;action0=Animate( pt1, 3,1,0); Каждый триггер после выполнения действий выключается. Чтобы триггер не выключался нужно добавить параметр nodisable = 1; Изначально триггер считается включенным - чтобы его отключить нужно добавить isenabled=0; Конкретный тип триггера указывается параметромsubtype, который может принимать следующие значения: Типы. distanceTrigger - триггер срабатывающий при приближении target объекта на расстояние меньшее distance. · Параметры: 1. target - имя объекта, на приближение которого реагирует триггер 2. distance - расстояние до объекта при котором срабатывает триггер nullTrigger - триггер без условий выполнения - т.е. делает указанные действия без какого либо условия. · Параметры: 1. только список действий timeTrigger- триггер выполняет указанные действия спустя time времени · Параметры: 1. time - время в миллисекундах( 1 секунда = 1000 миллисекунд ) zoneTrigger - триггер срабатывает при попадании target объекта в триггер( в редакторе триггером становится обычная коробка ( Box ) необходимых размеров ) · Параметры: 1. target - имя объекта, на который срабатывает триггер keyTrigger - триггер сочетает в себе distanceTrigger, но накладывается дополнительное условие срабатывания - нажатие на определенную кнопку.
Причем справка еще не закончена, есть еще куча триггеров и параметров.

Нужно ли такое кому-нибудь?( за примерами использования можно обратиться к моим недавним "проектам" )
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
impersonalis (12.11.2012), Program23 (14.11.2012)
Старый 11.11.2012, 22:07   #2
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: ProLevel

ты написал парсер строк с возможностями, которые именно тебе были нужны. такое по-мойму делает каждый новичок с ксорсом/блицем (да, я тоже практически то же самое делал).
нет варианта ответа - "Нет, самому проще написать чем разбираться в твоём" (забывая о годе и других движках).
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
impersonalis (12.11.2012), moka (12.11.2012), Wegox (13.11.2012)
Старый 11.11.2012, 22:21   #3
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: ProLevel

конечно "проще" написать самому, при условии что будешь потом долго и упорно отлаживать, потеряешь время - а тут уже проверенная несколькими людьми система.
(Offline)
 
Ответить с цитированием
Старый 11.11.2012, 22:26   #4
FREE MAN
Разработчик
 
Регистрация: 20.02.2010
Сообщений: 397
Написано 173 полезных сообщений
(для 565 пользователей)
Ответ: ProLevel

mr.Dimas лучше б ты написал редактор для Xors3d - толку больше было бы...
Да и людям он бы пригодился кто юзает движок.
(Offline)
 
Ответить с цитированием
Старый 11.11.2012, 22:30   #5
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: ProLevel

писать редактор в одиночку - никогда! я уже пробовал. Проще будет написать плагин для макса.
(Offline)
 
Ответить с цитированием
Старый 11.11.2012, 22:50   #6
jimon
 
Сообщений: n/a
Ответ: ProLevel

не проще ли не имя объекта юзать ? а метаданные, например как я сделал для фотошопа : http://forum.boolean.name/showthread...061#post238061
 
Ответить с цитированием
Старый 11.11.2012, 22:56   #7
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: ProLevel

Честно говоря я об этом не задумывался. Если не трудно, объясни подробнее. Из твоей темы я многое не понял. Где в максе можно разместить эти данные?
(Offline)
 
Ответить с цитированием
Старый 11.11.2012, 23:38   #8
jimon
 
Сообщений: n/a
Ответ: ProLevel

Сообщение от mr.DIMAS Посмотреть сообщение
Честно говоря я об этом не задумывался. Если не трудно, объясни подробнее. Из твоей темы я многое не понял. Где в максе можно разместить эти данные?
скажем есть абстрактный объект, в фотошопе это слой, в максе это любой объект на сцене, у такого объекта есть какие-то параметры, скажем позиция или поворот или имя, зачастую у объекта есть еще параметр user data (или metadata, или еще как-то), вот в нём можно хранить любую нужную информацию

в максе есть метаданные для всего файла :
http://docs.autodesk.com/3DSMAX/15/E...ber=d30e694761

а вот для объекта надо еще поискать
 
Ответить с цитированием
Старый 11.11.2012, 23:57   #9
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: ProLevel

есть user defined properties у каждого объекта. токо b3dpipeline их вряд ли экспортит.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (12.11.2012)
Старый 12.11.2012, 00:34   #10
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: ProLevel

Ну именно поэтому и использую имя объекта в качестве хранилища инфы.
(Offline)
 
Ответить с цитированием
Старый 13.11.2012, 02:21   #11
Wegox
Бывалый
 
Аватар для Wegox
 
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений
(для 1,133 пользователей)
Ответ: ProLevel

Сообщение от jimon Посмотреть сообщение
не проще ли не имя объекта юзать ? а метаданные, например как я сделал для фотошопа : http://forum.boolean.name/showthread...061#post238061
Не проще, проще скрипты написать в блокноте и успокоиться, но прятать от читеров скрипты в картинках тоже идея неплохая
(Offline)
 
Ответить с цитированием
Старый 13.11.2012, 10:54   #12
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: ProLevel

В синем канале цвета ?
(Offline)
 
Ответить с цитированием
Старый 14.11.2012, 10:49   #13
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: ProLevel

Имхо проще использовать дочерние объекты как контейнеры параметров, а не само имя объекта. Обозначить такие потомки например с символа # и это будет означать что это контейнер параметров для парента. Контейнеров может быть несколько для упрощения редактирования. После загрузки удалять эти чайлды.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (14.11.2012)
Старый 15.11.2012, 18:06   #14
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: ProLevel

Сообщение от pax Посмотреть сообщение
Имхо проще использовать дочерние объекты как контейнеры параметров, а не само имя объекта. Обозначить такие потомки например с символа # и это будет означать что это контейнер параметров для парента. Контейнеров может быть несколько для упрощения редактирования. После загрузки удалять эти чайлды.
да
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 07:52.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com