Unigine Engine - Nouveau Unique

Prologue


Il n'y a pas si longtemps, j'ai vu un moteur showreel qui avait l'air plus que compétitif

showreel


Dans cet article, je parlerai brièvement de ce moteur et le comparerai indirectement avec des concurrents directs.

inscrivez-vous et téléchargez ici

Un peu d'histoire


Tout a commencé en 2004 (!) Avec Alexander Zapryagaev et son projet open source.

En 2010, Heaven Benchmark basé sur Unigine est sorti.

En 2012 est sorti controversé en termes de gameplay, mais assez OilRush.

Oilush

Funny Turkey est sorti en 2017

Sumoan

État actuel


Le 10 avril 2020, la version communautaire a été publiée, qui peut être utilisée si votre entreprise a un revenu inférieur à 100 000 $ ou pour un projet à but non lucratif.

Interface


Sous le spoiler en un coup d'œil
, Unity, :

image

Unreal engine: LOD ,Render ,Collision etc.

image

:

image

, , :

image alt

image alt

, , Unreal engine .

asset browser , :

image
,

Script et api


La description
: ++ #
#

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


Plateformes


En bref sur les plateformes prises en charge
:

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


Rendu - ombrage - vfx


En détail
: 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)

À quoi ça sert?


  • de nombreux exemples, guides et code de référence
  • support approprié pour toutes les fonctionnalités modernes de nvidia sur lesquelles vous devez écrire un article séparé
  • seuil d'entrée relativement bas même si l'interface utilisateur est encore brute

Épilogue


Désormais, Unigine, bien que brut, ne prend pas en charge les principales plates-formes, mais il semble déjà prometteur, et peut-être que dans quelques années, Unigine rejoindra les rangs d'Unreal Engine et d'Unity.
[Chaîne de télégramme de l'auteur] ( tglink.ru/response1000000 )

mes jeux



Liens annexes


[grande interview] (https://secretmag.ru/trends/players/unigine.htm)
[pour les migrants avec un moteur irréel] (https://developer.unigine.com/ru/docs/2.11/migration/from_ue/?rlang = cpp)
[pour les migrants avec le moteur de l'unité] (https://developer.unigine.com/en/docs/2.11/migration/from_unity/?rlang=cpp)
Il y a sept ans [le jeu] est sorti (http: // flying-cafe .com / ru.shtml)

All Articles