|
09.08.2010, 22:12
|
#226
|
ПроЭктировщик
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений (для 142 пользователей)
|
Ответ: Exotic Engine
Сделал потдержку скриптования постфилтров, пишем шейдеры и скрипт и всё новый пост фильтр готов, никокого лишнего кода.
Пример блума:
<?xml version="1.0"?>
<Register>
<ScreenTexture register="screen" />
<RenderTarget register="bright0" width="ScreenWidthDiv2" height="ScreenHeightDiv2" format="R8G8B8" wrap="Clamp" filter="Linear" />
<RenderTarget register="bright1" width="ScreenWidthDiv4" height="ScreenHeightDiv4" format="R8G8B8" wrap="Clamp" filter="Linear" />
<RenderTarget register="ds0" width="ScreenWidthDiv2" height="ScreenHeightDiv2" format="R8G8B8" wrap="Clamp" filter="Linear" />
<RenderTarget register="ds1" width="ScreenWidthDiv4" height="ScreenHeightDiv4" format="R8G8B8" wrap="Clamp" filter="Linear" />
<Shader register="blurX" file="XBlur.ps" />
<Shader register="blurY" file="YBlur.ps" />
<Shader register="bright" file="Bright.ps" />
<Shader register="bloom" file="Bloom.ps" />
<Float register="threshold" value="0.1" />
<Float register="scale" value="1.0" />
</Register>
<Pass>
<SetRenderTarget register="ds0" slot="0" />
<SetTexture register="screen" name="screen" />
<SetFloat register="threshold" />
<SetShader register="bright" />
</Pass>
<Pass>
<SetRenderTarget register="bright0" slot="0" />
<SetTexture register="ds0" name="screen" />
<SetShader register="blurX" />
</Pass>
<Pass>
<SetRenderTarget register="ds0" slot="0" />
<SetTexture register="bright0" name="screen" />
<SetShader register="blurY" />
</Pass>
<Pass>
<SetRenderTarget register="ds1" slot="0" />
<SetTexture register="screen" name="screen" />
<SetFloat register="threshold" name="threshold" />
<SetShader register="bright" />
</Pass>
<Pass>
<SetRenderTarget register="bright1" slot="0" />
<SetTexture register="ds1" name="screen" />
<SetShader register="blurX" />
</Pass>
<Pass>
<SetRenderTarget register="ds1" slot="0" />
<SetTexture register="bright1" name="screen" />
<SetShader register="blurY" />
</Pass>
<Pass>
<SetTexture register="ds0" name="downsample0" />
<SetTexture register="ds1" name="downsample1" />
<SetTexture register="screen" name="screen" />
<SetShader register="bloom" />
<SetFloat register="scale" name="scale" />
</Pass>
|
(Offline)
|
|
11.08.2010, 08:01
|
#227
|
ПроЭктировщик
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений (для 142 пользователей)
|
Ответ: Exotic Engine
Закончил написание експортёра скелетной анимации, также самой анимации в движке:
// add animation
int addAnimation( const AnimationSet& anim , int bone = -1 );
// set animation blend weight
void setAnimationWeight( int id , float weight , int bone = -1 );
// get animation blend weight
float getAnimationWeight( int id , int bone = -1 )const;
// set animation playing speed
void setAnimationSpeed( int id , float speed , int bone = -1 );
// get animation playing speed
float getAnimationSpeed( int id , int bone = -1 )const;
// is animation playing
bool isAnimationPlaying( int id , int bone = -1 )const;
// play animation
void playAnimation( int id , int bone = -1 );
// pause animation
void pauseAnimation( int id , int bone = -1 );
// stop animation
void stopAnimation( int id , int bone = -1 );
Можно применять отдельно анимации к определёной кости для этого в функциях есть аргумент bone - айди кости, cама анимация как и везде плавная интерполяция между кадрами и блендинг.
Сейчас осталось поправить пару багов и добавить инверсную кинематику и всё будет шаколадно =).
|
(Offline)
|
|
11.08.2010, 10:17
|
#228
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Exotic Engine
Скажи, будет ли поддерживаться экспорт скиннинга-плагина Bones Pro 4?
Если да, аниматоры будут тебя на руках носить =)
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
11.08.2010, 12:39
|
#229
|
ПроЭктировщик
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений (для 142 пользователей)
|
Ответ: Exotic Engine
Сообщение от ARENSHI
Скажи, будет ли поддерживаться экспорт скиннинга-плагина Bones Pro 4?
Если да, аниматоры будут тебя на руках носить =)
|
А что это такое? В первый раз о таком слышу...
ЗЫ Вот записал видео теста анимации http://www.youtube.com/watch?v=z46TVjqr3Lc
ЗЫЗЫ Вот ещё одно но с настроеной прозрачностью стекляной защитки на шлеме http://www.youtube.com/watch?v=j6lNqRv4WvE
|
(Offline)
|
|
13.08.2010, 16:30
|
#230
|
ПроЭктировщик
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений (для 142 пользователей)
|
Ответ: Exotic Engine
Новый скриншот:
|
(Offline)
|
|
15.08.2010, 00:05
|
#231
|
ПроЭктировщик
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений (для 142 пользователей)
|
Ответ: Exotic Engine
Первая своя модель, сделаная ведущим 3D-Дизайнером проекта =)
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Igor' за это полезное сообщение:
|
|
15.08.2010, 15:27
|
#232
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Exotic Engine
за эффектами и светом не видно модели. и мне кажется у него со лбом чето не то.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
19.08.2010, 02:48
|
#233
|
ПроЭктировщик
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений (для 142 пользователей)
|
Ответ: Exotic Engine
Сообщение от Mr_F_
за эффектами и светом не видно модели. и мне кажется у него со лбом чето не то.
|
О да, а эпики то и незнают что из за такого то освещения моделей не видно , ориентировался при настройке освещения в сцене на Gears Of War.
All
Разрабатывается фраймворк для создания игр Client-Server, конечно большенство классов будет специально для разработки шутеров и экшенов, но это по сути не будет мишать делать тот-же рейсинг, так-как есть класс транспорта.
Есть базовый класс GameEntity от которого наследуются свои интии, уже есть всячески триггеры, чарактеры и тому подобное, приведу листинг GameEntity:
class GameEntity : public GameClass {
public:
enum {
FIELD_SPAWNED = EX_BIT(0),
FIELD_KILLED = EX_BIT(1),
FIELD_ACTIVE = EX_BIT(2),
};
GameEntity();
virtual ~GameEntity();
// set name
void setName( const String& name );
// get name
String getName()const;
// get name hash
int getNameHash()const;
// get class name
virtual String getClassName()const;
// is player
virtual bool isPlayer()const;
// is character
virtual bool isCharacter()const;
// is pickup
virtual bool isPickup()const;
// is trigger
virtual bool isTrigger()const;
// is vehicle
virtual bool isVehicle()const;
// is server side entity
virtual bool isServerEntity()const;
// is not dead
bool isAlive()const;
// is active
bool isActive()const;
// is spawned
bool isSpawned()const;
// spawn
virtual void spawn();
// kill
virtual void kill( GameEntity* attacker );
// activate
virtual void activate();
// touch
virtual void touch( GameEntity* caller );
// use
virtual void use( GameEntity* caller );
// set health
virtual void setHealth( int health );
// get health
virtual int getHealth()const;
// take deamage
virtual void takeDeamage( GameEntity* attacker , int deamage );
protected:
String name;
int nameHash;
int state;
};
В первую очередь конечно же фраймворк разрабатывается для игры которую мы в техую разрабатываем, мультиплеерный шутер, пока это всё что я могу сказать по поводу этого .
|
(Offline)
|
|
19.08.2010, 02:54
|
#234
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Exotic Engine
Што такое deamage?
__________________
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
|
|
19.08.2010, 04:59
|
#235
|
ПроЭктировщик
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений (для 142 пользователей)
|
Ответ: Exotic Engine
Сообщение от .Squid
Што такое deamage?
|
Это мой кривой английский , а так это повреждения =)
|
(Offline)
|
|
19.08.2010, 13:18
|
#236
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Exotic Engine
// is player
virtual bool isPlayer()const;
// is character
virtual bool isCharacter()const;
// is pickup
virtual bool isPickup()const;
// is trigger
virtual bool isTrigger()const;
// is vehicle
virtual bool isVehicle()const;
// is server side entity
virtual bool isServerEntity()const;
|
ооо да. это так красиво! столько мусора в базовом классе, имхо
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Dream за это полезное сообщение:
|
|
19.08.2010, 14:56
|
#237
|
ПроЭктировщик
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений (для 142 пользователей)
|
Ответ: Exotic Engine
Сообщение от Dream
ооо да. это так красиво! столько мусора в базовом классе, имхо
|
Посмотри сколько так называемого мусора в таких базовых классах у дядек из Valve,Epic Games...
ЗЫ Иногда я просто удивляюсь некоторым людям с этого форума...
|
(Offline)
|
|
19.08.2010, 16:48
|
#238
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Exotic Engine
не универсально.
вдруг я хочу сделать игру про колобков, некоторые из которых телепаты. где bool GameEntity::isTelepathy()?
на всякий случай напишу что это сарказм был.
просто Dream прав.
вся эта муть вроде isVehicle должна быть уровнем выше. в моем собственно классе, который я буду от твоего наследовать.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
19.08.2010, 16:49
|
#239
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Exotic Engine
а я не перестаю удивлятся некоторым движкоделам, которые в случае чего говрят смотреть на движки дядек из Epica и Valve
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
19.08.2010, 17:35
|
#240
|
ПроЭктировщик
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений (для 142 пользователей)
|
Ответ: Exotic Engine
Сообщение от HolyDel
не универсально.
вдруг я хочу сделать игру про колобков, некоторые из которых телепаты. где bool GameEntity::isTelepathy()?
на всякий случай напишу что это сарказм был.
просто Dream прав.
вся эта муть вроде isVehicle должна быть уровнем выше. в моем собственно классе, который я буду от твоего наследовать.
|
Ок, будем мыслить логически, нам нужно узнать к какому типу оносится наша интития к классу GameVehicle или например к классу GameCharacter так-как например у триггера тачем может воспользоватся только либо чарактер, либо транспорт в котором находется чарактер, и тут встаёт вопрос как это сделать как можно удобнее чем многочисленые проверки на пренадлеженость класса к типа чарактера или транспорта так-как у всех интитий наследуюемых от GameEntity свой ClassName, таже если мы будем хранить SuperClass у всех своих интитий нам придётся долго рекурсией проверять не пренадлеженость интитии или её супер класса к типа чарактера, для этого и нужны такие функции базовые как isCharacter,isVehicle, так-как GameTrigger,GamePickup,GameCharacter и т.р базовые классы игровой логики, твой же калабок будет отнаследован либо от GameCharacter если это будет персонаж управляемый ИИ либо от GamePlayer если им будет управлять игрок а то что это именно твой колобок можно будет узнать по getClassName() функции которая возвращает имя класса интити или по хешу названия класса.
На доступном языке объяснил?
Сообщение от Dream
а я не перестаю удивлятся некоторым движкоделам, которые в случае чего говрят смотреть на движки дядек из Epica и Valve
|
Привожу в пример Epic Games \ Valve из за того что таким как ты безполезно что-то обяснять, приходится приводить примеры.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:07.
|