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

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

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

Закрытая тема
 
Опции темы
Старый 09.08.2010, 22:12   #226
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 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>
Миниатюры
Нажмите на изображение для увеличения
Название: Ada.jpg
Просмотров: 838
Размер:	80.5 Кб
ID:	10957  
(Offline)
 
Старый 11.08.2010, 08:01   #227
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 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
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений
(для 7,192 пользователей)
Ответ: Exotic Engine

Скажи, будет ли поддерживаться экспорт скиннинга-плагина Bones Pro 4?
Если да, аниматоры будут тебя на руках носить =)
__________________
Вертекс в глаз или в пиксель раз?
(Offline)
 
Старый 11.08.2010, 12:39   #229
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 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
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений
(для 142 пользователей)
Ответ: Exotic Engine

Новый скриншот:
Миниатюры
Нажмите на изображение для увеличения
Название: Lighting.jpg
Просмотров: 879
Размер:	123.1 Кб
ID:	10981  
(Offline)
 
Старый 15.08.2010, 00:05   #231
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений
(для 142 пользователей)
Ответ: Exotic Engine

Первая своя модель, сделаная ведущим 3D-Дизайнером проекта =)
Миниатюры
Нажмите на изображение для увеличения
Название: SurvivorsMedic.jpg
Просмотров: 901
Размер:	115.3 Кб
ID:	10983  
(Offline)
 
Эти 3 пользователя(ей) сказали Спасибо Igor' за это полезное сообщение:
baton4ik (15.08.2010), Nuprahtor (15.08.2010), Reks888 (15.08.2010)
Старый 15.08.2010, 15:27   #232
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Exotic Engine

за эффектами и светом не видно модели. и мне кажется у него со лбом чето не то.
(Offline)
 
Сообщение было полезно следующим пользователям:
Randomize (15.08.2010)
Старый 19.08.2010, 02:48   #233
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 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
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Exotic Engine

Што такое deamage?
__________________

(Offline)
 
Эти 4 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
baton4ik (01.02.2011), falcon (19.08.2010), Mr_F_ (19.08.2010), Randomize (19.08.2010)
Старый 19.08.2010, 04:59   #235
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений
(для 142 пользователей)
Ответ: Exotic Engine

Сообщение от .Squid Посмотреть сообщение
Што такое deamage?
Это мой кривой английский , а так это повреждения =)
(Offline)
 
Старый 19.08.2010, 13:18   #236
Dream
быдло
 
Регистрация: 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 за это полезное сообщение:
falcon (19.08.2010), Mr_F_ (19.08.2010)
Старый 19.08.2010, 14:56   #237
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений
(для 142 пользователей)
Ответ: Exotic Engine

Сообщение от Dream Посмотреть сообщение
ооо да. это так красиво! столько мусора в базовом классе, имхо
Посмотри сколько так называемого мусора в таких базовых классах у дядек из Valve,Epic Games...
ЗЫ Иногда я просто удивляюсь некоторым людям с этого форума...
(Offline)
 
Старый 19.08.2010, 16:48   #238
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Exotic Engine

не универсально.
вдруг я хочу сделать игру про колобков, некоторые из которых телепаты. где bool GameEntity::isTelepathy()?

на всякий случай напишу что это сарказм был.
просто Dream прав.
вся эта муть вроде isVehicle должна быть уровнем выше. в моем собственно классе, который я буду от твоего наследовать.
(Offline)
 
Эти 3 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
Dream (19.08.2010), falcon (19.08.2010), Mr_F_ (21.08.2010)
Старый 19.08.2010, 16:49   #239
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Exotic Engine

а я не перестаю удивлятся некоторым движкоделам, которые в случае чего говрят смотреть на движки дядек из Epica и Valve
(Offline)
 
Сообщение было полезно следующим пользователям:
falcon (19.08.2010)
Старый 19.08.2010, 17:35   #240
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 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)
 
Закрытая тема


Опции темы

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

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


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


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