محرك Unigine - جديد فريد

مقدمة


منذ وقت ليس ببعيد رأيت محرك عرض يبدو أكثر تنافسية

showreel


في هذه المقالة ، سأتحدث باختصار عن هذا المحرك وأقارنه بشكل غير مباشر مع المنافسين المباشرين.

سجل و حمل هنا

قليلا عن القصة


بدأ كل شيء في عام 2004 (!) مع ألكسندر زابرياجيف ومشروعه المفتوح المصدر.

في عام 2010 ، تم إصدار Heaven Benchmark استنادًا إلى Unigine.

في عام 2012 خرجت مثيرة للجدل من حيث اللعب ، ولكن OilRush جميلة.

أويلوش

ظهرت تركيا مضحك في عام 2017

السوموان

الوضع الحالي


في 10 أبريل 2020 ، تم إصدار إصدار المجتمع ، والذي يمكن استخدامه إذا كان دخل شركتك أقل من 100 ألف دولار أو لمشروع غير ربحي.

واجهه المستخدم


تحت المفسد في لمحة
, Unity, :

image

Unreal engine: LOD ,Render ,Collision etc.

image

:

image

, , :

image alt

image alt

, , Unreal engine .

asset browser , :

image
,

البرمجة و api


وصف
: ++ #
#

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


المنصات


باختصار حول المنصات المدعومة
:

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


جعل - التظليل - vfx


بالتفصيل
: 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)

ما هو الخير؟


  • العديد من الأمثلة والأدلة والرمز المرجعي
  • دعم مناسب لجميع الميزات الحديثة من نفيديا التي تحتاج إلى كتابة مقال منفصل عنها
  • حد دخول منخفض نسبيًا على الرغم من أن واجهة المستخدم لا تزال خامًا

الخاتمة


الآن Unigine ، على الرغم من الخام ، لا تدعم المنصات الرئيسية ، لكنها تبدو واعدة بالفعل ، وربما في غضون بضع سنوات ، ستنضم Unigine إلى صفوف Unreal Engine و Unity.
[قناة برقية المؤلف] ( tglink.ru/response1000000 )

ألعابي



روابط أقسام الموقع


[مقابلة كبيرة] (https://secretmag.ru/trends/players/unigine.htm)
[للمهاجرين الذين لديهم محرك غير واقعي] (https://developer.unigine.com/en/docs/2.11/migration/from_ue/؟rlang = cpp)
[للمهاجرين ذوي محرك الوحدة] (https://developer.unigine.com/en/docs/2.11/migration/from_unity/؟rlang=cpp)
منذ سبع سنوات ظهرت [اللعبة] (http: // flying-cafe .com / ru.shtml)

All Articles