Unigine Engine - Novo e exclusivo

Prólogo


Não faz muito tempo, vi um motor showreel que parece mais do que competitivo

showreel


Neste artigo, falarei brevemente sobre esse mecanismo e o compararei indiretamente com os concorrentes diretos.

cadastre-se e faça o download aqui

Um pouco sobre a história


Tudo começou em 2004 (!) Com Alexander Zapryagaev e seu projeto de código-fonte aberto.

Em 2010, o Heaven Benchmark baseado no Unigine foi lançado.

Em 2012 saiu controverso em termos de jogabilidade, mas bastante OilRush.

Oilush

Funny turkey saiu em 2017

Sumoan

Estado atual


Em 10 de abril de 2020, a versão comunitária foi lançada, que pode ser usada se sua empresa tiver uma renda inferior a US $ 100 mil ou para um projeto sem fins lucrativos.

Interface


Sob o spoiler de relance
, Unity, :

image

Unreal engine: LOD ,Render ,Collision etc.

image

:

image

, , :

image alt

image alt

, , Unreal engine .

asset browser , :

image
,

Script e API


Descrição
: ++ #
#

using Unigine;

namespace UnigineApp
{
	class AppWorldLogic : WorldLogic
	{
/* .. */
		public override bool Update()
		{
	// getting current controls
	Controls controls = Game.Player.Controls;

	// checking controls states and reporting which buttons were pressed
	if (controls.ClearState(Controls.STATE_FORWARD) != 0 || controls.ClearState(Controls.STATE_TURN_UP) != 0)
	{
		Log.Message("FORWARD or UP key pressed\n");
	}
	else if (controls.ClearState(Controls.STATE_BACKWARD) != 0  || controls.ClearState(Controls.STATE_TURN_DOWN) != 0 )
	{
		Log.Message("BACKWARD or DOWN key pressed\n");
	}
	else if (controls.ClearState(Controls.STATE_MOVE_LEFT) != 0  || controls.ClearState(Controls.STATE_TURN_LEFT) != 0 )
	{
		Log.Message("MOVE_LEFT or TURN_LEFT key pressed\n");
	}
	else if (controls.ClearState(Controls.STATE_MOVE_RIGHT) != 0  || controls.ClearState(Controls.STATE_TURN_RIGHT) != 0 )
	{
		Log.Message("MOVE_RIGHT or TURN_RIGHT key pressed\n");
	}

			return true;
		}
	}
}

++

#include <UnigineGame.h>

/* .. */

int AppWorldLogic::update() 
{

	// getting current controls
	ControlsPtr controls = Game::getPlayer()->getControls();

	// checking controls states and reporting which buttons were pressed
	if (controls->clearState(Controls::STATE_FORWARD) || controls->clearState(Controls::STATE_TURN_UP))
	{
		Log::message("FORWARD or UP key pressed\n");
	}
	else if (controls->clearState(Controls::STATE_BACKWARD) || controls->clearState(Controls::STATE_TURN_DOWN))
	{
		Log::message("BACKWARD or DOWN key pressed\n");
	}
	else if (controls->clearState(Controls::STATE_MOVE_LEFT) || controls->clearState(Controls::STATE_TURN_LEFT))
	{
		Log::message("MOVE_LEFT or TURN_LEFT key pressed\n");
	}
	else if (controls->clearState(Controls::STATE_MOVE_RIGHT) || controls->clearState(Controls::STATE_TURN_RIGHT))
	{
		Log::message("MOVE_RIGHT or TURN_RIGHT key pressed\n");
	}

	return 1;
}

T , :

image

, 100 10 , . ,
vr


Plataformas


Brevemente sobre plataformas suportadas
:

  • Windows
  • linux OSX
  • VR: steamvr
  • android, ios, playstation, etc…


Render - sombreamento - vfx


Em detalhe
: AAx4
500 vfx 300+fps
Particicle editor

image

pbr, UE4.

:

image

:

image

:
[Practical Cascaded Shadow Maps](https://developer.download.nvidia.com/SDK/10.5/opengl/src/cascaded_shadow_maps/doc/cascaded_shadow_maps.pdf)

Que bom é isso?


  • muitos exemplos, guias e código de referência
  • suporte adequado para todos os recursos modernos da nvidia sobre os quais você precisa escrever um artigo separado
  • limite de entrada relativamente baixo, mesmo que a interface do usuário ainda seja bruta

Epílogo


Agora o Unigine, apesar de bruto, não suporta as principais plataformas, mas já parece promissor e, talvez em alguns anos, o Unigine se juntará às fileiras do Unreal Engine e do Unity.
[Canal de telegrama do autor] ( tglink.ru/response1000000 )

meus jogos



Sitelinks


[grande entrevista] (https://secretmag.ru/trends/players/unigine.htm)
[para migrantes com mecanismo irreal] (https://developer.unigine.com/en/docs/2.11/migration/from_ue/?rlang = cpp)
[para migrantes com mecanismo de unidade] (https://developer.unigine.com/en/docs/2.11/migration/from_unity/?rlang=cpp)
Há sete anos [o jogo] saiu (http: // flying-cafe .com / ru.shtml)

All Articles