UnigineずGodotのNevangerデモ

圌がゲヌム゚ンゞンUnigine2ずGodot3に粟通しおいる間に収集した、バむオマシンおよびbio-だけでなくを䜿甚した代替プロトタむプ。







ナニゞン゚ンゞン



Unigineバヌゞョンから始めたしょう。今春リリヌスされたバヌゞョン2.11を䜿甚しおおり、゚ンゞンに無料ラむセンスが登堎したした。珟時点では2.12がリリヌスされおおり、2.13が間もなくリリヌスされる予定です。



Unigineに぀いお䞀般的に知っおおく䟡倀があるのは、ベンチマヌクやシミュレヌションによく䜿甚されるTomskゲヌム゚ンゞンです。䜕幎にもわたっお、Oil Rush、Cradle、そしおここでは、たずえば、比范的最近のmmo DualUniverseなどのゲヌムをリリヌスしおきたした。



非垞に倚くの興味深く有望な゜リュヌションが内郚で䜿甚されおおり、かなり矎しい画像をレンダリングし、特に゚ンゞン自䜓ではなく、別の3Dパッケヌゞでモデル化する堎合、アヌティストにずっお非垞に魅力的です。



地圢は箱から出しおすぐに利甚でき、氎、雲、䜓積枬定、プロゞェクタヌ、その他の䟿利なものもありたす。地圢の䞊には、ディテヌルなどのためにさたざたなマスクが適甚されおいたす。これは、颚景を䜜成するための非垞に優れたツヌルですが、䜿いやすさの芳点からは、改善すべき点がたくさんありたす。



ゲヌム開発者向けのツヌルずしお、ここでは原則ずしお、UnityでCを䜿甚した経隓を適甚できたすが、Unigineには同じ皮類の既補のコンポヌネント゜リュヌションはありたせん。それにもかかわらず、いく぀かの基本的なこずが実装されおおり、ドキュメントは残りを曞くのに圹立ちたす。 C ++もどこにも行きたせんでした。



この゚ンゞンは、モバむルプラットフォヌムや、プログラミングなしの開発にはただ適しおいたせんただし、これらの分野でも開発する予定です。 Unrealク゚リレベルでのハヌドりェア芁件、最小アプリケヌションファむルサむズは非垞に倧きいです。しかし、それは玠晎らしく、よく最適化されおいたす。



しかし、ゲヌムのプロトタむプに戻りたす。 Unigineバヌゞョンでは、䞻な問題はタむプラむタヌの物理の芖芚的蚭蚈に関連しおいたした。これは、ドキュメントがコヌドを介しおこれらすべおを盲目的に行うこずを瀺唆しおいるだけでなく、あらゆる皮類の物理的蚭定が゚ディタヌのさたざたな堎所に散圚しおおり、芖芚的アセンブリパむプラむン自䜓が説明されおいないためです。぀たり、すべおのニュアンスに突入せずに倉曎できる簡単な既補の䟋はありたせんでした。 2.12では、トラクタヌが地面を掘るデモが登堎したしたが、おそらく再びコヌドで組み立おられおいるので、この瞬間は芋おいたせんでした。



ずはいえ、私は倚かれ少なかれ、ドキュメントに焊点を圓おおマシンを組み立おたした。以前に察応する蚘事を曞いたこずに぀いおUnigineでホむヌルの物理をどのように収集したか。



ゲヌムプレむに関しおは、たずえばナニゞヌンでは、ナニティやゎドットずは異なり、芖芚だけでなくホむヌルの䜍眮/サむズも含めお、車の物理をその堎で切り替えるのは非垞に簡単であるこずがわかりたした。床から萜ちないようにするために远加のトリックを考え出すこずなく、そしおモデルを再構築するこずなく。ただし、テクスチャに萜ちる可胜性はありたすが、たったく異なる状況であり、マシンの倉曎時ではありたせん。



単にその圢を倉え、倉圢し、適応し、他の次元で䜕が起こっおいるかを芋るなどの単䞀の車䞡の抂念は、これらすべおにうたく適合したす。必ずしもそうずは限りたせんが、少なくずもメむンのゲヌムプレむはそのような切り替えを䞭心に構築できたす。



゚ンゞンに぀いお悲しいのは、゚ディタヌからのUIのアセンブリです。すべおがなんずなく面倒で、むンタラクティブな芁玠ごずに個別のスクリプトがぶら䞋がっおいたす。ここでは、䟋にある実装のみを線集したしたが、あたり理解できたせんでした。たた、゚ディタヌで芖芚的な衚珟を確認するためにguiレむダヌを衚瀺する方法がすぐにはわかりたせんでした。

䞀方、よりコン゜ヌル指向のゲヌムを意味する堎合、むンタヌフェヌスの䜿甚を最小限に抑え、むンタヌフェヌス芁玠を最小限に抑えた、少数のボタンに関連付けられたゲヌムプレむに぀いおは、これはもはや目立った問題ではありたせん。



もう1぀の気のめいるこずは、内郚機噚であるトラッカヌに蚘録された単玔なアニメヌションです。はい、それはそれ自䜓の方法で匷力ですが、どういうわけか䜿甚するにはあたりにも正方圢のネストです。さらに、この方法で蚘録されたアニメヌションは、叀いUnigineScript蚀語を䜿甚しおのみ再生できたす。これは、UnityたたはGodotで、文字通り呚囲のすべおをアニメヌション化できる間です。はい、ボヌンアニメヌションをむンポヌトするこずはできたすが、それは少し異なりたすさらに、私はただこの方法を詊したこずがなく、それがどのようになっおいるのかわかりたせん。



繰り返しになりたすが、反察偎から芋るず、゚ンゞンは物理的なシミュレヌションず盞互䜜甚にさらに重点を眮いおいるので、プリセットアニメヌションをベむクする代わりに、これを䜿甚しおみたせんか。぀たり、゚ミッタヌ、スむッチ、構造の盞互䜜甚、力の適甚、重力の䜿甚など。したがっお、内郚アニメヌタヌがなくおも実行できたすが、適切に実装されおいれば、方向だけでもこれは倧きな問題になりたす。数回クリックするだけで、あらゆる皮類のむンタラクティブな芁玠を䜿甚しおステヌゞを暪切るカメラの飛行を蚘録できたす。これで完成したフィルムが完成したした。さらに、映画のような写真のためのそのような機䌚がありたす。



私のプロゞェクトに関しおは、珟時点では、䜕床か繰り返した埌、テストできる倚かれ少なかれ堅実なデモを最終的にコンパむルしお投皿したした。





Win64のためのアヌカむブはこちらからダりンロヌドできたす重量687MbDROPBOX

たたはitch.ioペヌゞ䞊NEWANGERSは

アンパックの3Gbを取る



そこにあるもの



  • ビルドには、「昌」ず「倜」高いグラフィック蚭定のプリセットを䜿甚ず「アラコミック」モヌド䜎いグラフィック蚭定を䜿甚の3぀の䞻芁な衚瀺モヌドがありたす。
  • モヌドを切り替えるには、Escキヌを抌しおマりスカヌ゜ルを衚瀺し、巊䞊のメニュヌで目的のオプションを遞択したす。
  • レベルにはむンタラクティブなオブゞェクトがありたす-青い星型のポヌタルは、車が他の䞖界に運ばれる通過し、その偎からポヌタルにドラむブするこずで戻るこずができたす。
  • レベルの倚くのオブゞェクトは透過性ですが、䞀郚にはコラむダヌがあり、レベル自䜓は倚かれ少なかれブロッキング壁に囲たれおいたす。
  • , , WASD. Q E. , , , R. Tab , , , .
  • , .
  • 1,2,3,4,5,6,7 — . .
  • , «» .
  • PgUp , . PgDown — .
  • P — , L — .


知人は、このプロトタむプの以前の゜ヌスを、元のバヌゞョンのホむヌルの物理に関するいく぀かの線集ずずもに、圌のペヌゞに投皿したしたGITLAB。



ゎドット゚ンゞン



リストの次の゚ンゞンに移動したす。巚倧な機胜を備えたオヌプン゜ヌスのコンパクトな゜リュヌションゲヌム゚ンゞンの䞖界のBlenderですが、既補のコンポヌネントの倚様性の点でUnityよりも劣っおいたす。さたざたな非公匏の解決策や、Godotの゜ヌスコヌドを䜿甚した䟋がすでに倚数䜜成されおおり、新機胜の実装が比范的単玔で高速であるため、珟時点ではこれが䜕らかの問題であるずは蚀えたせん。



Godotは、2D専甚に開発されたさたざたなツヌルのおかげで、2D゚ンゞンずしおの評刀が高くなっおいたすが、3Dの远加の利点であり、ゲヌムUIの䜜成がはるかに簡単です。私の堎合、Unityよりもさらに簡単です。珟時点では、開発䞭のGodotは安定した3.2.3バヌゞョンに到達しおいたすただし、火山や最適化などのために、誰もが4を埅っおいたす。ちなみに、4぀の䞍安定なアセンブリは、すでに詊すこずができたす-少なくずも画像を評䟡しおください。



゚ンゞンは3Dグラフィックスに匷力なハヌドりェアを必芁ずせず、かなりたずもな画像を生成したす。既補の3次元ツヌルはそれほど倚くありたせんが、最も必芁で、䟿利で、普遍的なツヌルがいく぀か実装されおいたす。同じこずが最適化にも圓おはたりたす。たずえば、゚ンゞンは通垞の錐台カリングを実装したす。これは、カメラの芖野からゞオメトリを切り取りたす。オクルヌゞョンカリング壁で閉じられたオブゞェクトを数えないようにするためでは、実装を自分で考え出す必芁がありたすこれは、特に䞀郚の堎所で、必芁なすべおのゲヌムでそれほど難しくはありたせん。たた、゚ンゞンの箱から出しお、ゞオメトリのバッチ凊理gles2甚に郚分的にありたすず地圢はありたせんが、これはそれほど問題ではありたせん。手動で䜕かを最適化する必芁がありたす-いく぀かのメッシュをステッチしたり、ゞオメトリを小さなパヌツに分割したり、チャンクを䜿甚したりしたすさらに。たずえば、プロゞェクトに既補の地圢゜リュヌションを远加するなど、地元の小さな店で䜕らかの実装を芋぀けるこずができたす。



ちなみに、゚ンゞンのむンタヌフェヌスは非垞に思慮深くカスタマむズ可胜ですただし、柔軟性のない芁玠がいく぀かありたす。䞀般的に䜿甚するず䟿利です。さたざたなレベルの没頭に十分なサポヌトされおいる蚀語がありたす。 C ++ずCの䞡方があり、別の環境を起動しなくおも゚ディタヌ内で実行できる䟿利な内郚GDScriptがありたす。ビゞュアルスクリプティングも存圚するため、プログラミングの知識がなくおも、Godotは生きるこずができたす。最小限のロゞックを蚭蚈し、䜕かをアニメヌション化するこずができたすGodotには、アニメヌションを蚘録するためのシンプルでクヌルなツヌルがありたす。



アプリケヌションの軜量化、マルチプラットフォヌムの性質、開発のスピヌド、さたざたなサヌドパヌティ゜リュヌションの実装の容易さも、゚ンゞンの重芁な利点です。 gles2ずgles3の2぀のレンダリングオプションがあり、どちらも3Dをサポヌトしたすが、最初は単玔で、䞀般的に2Dや携垯電話に適しおいたす。 Gles3は、より高床なレベルのグラフィックスを提䟛し、モバむルデバむスの䞀郚もそれをサポヌトしおいたす。



この゚ンゞンをベヌスにしたゲヌムのプロトタむプに移りたしょう。 Godotでは、単玔な物理的な車䞡モデルがほずんど箱から出おくるので、ここに車を持ち蟌むのは非垞に簡単でした。



いく぀かの問題が発生したした。たずえば、ある地点から別の地点にテレポヌトしたり、その堎で車のホむヌルの䜍眮を倉曎したりするなど、発射された物理オブゞェクトに介入するのはそれほど簡単ではありたせん。したがっお、ここではUnigineのようなトリックは機胜せず、私が理解しおいるように、Godotでは、物理構成などをその堎で倉曎するよりも、オブゞェクトを再䜜成する方が簡単です。しかし実際には、これは本圓に必芁なこずではありたせん。このプロトタむプでは、別の車に乗っお、特別な別の堎所で別の堎所に移動するずきに、ゲヌムプレむの暙準的なアむデアに戻りたした。



Godotには、CGSオブゞェクトやマルチメッシュなどの興味深いツヌルがありたす。私は蚘事でそれらの䜿甚の特城に぀いおより詳现に曞きたしたGodot、1000の小さなもの



この゚ンゞンのNevangerのプロトタむプは別の名前を受け取りたした-ワむルド゚ンゞン。䞀般的に、私は奇劙な䞖界を旅する奇劙な車の抂念によっお団結した、同様のプロゞェクトの家族のようになりたす。そしお、実甚的な総称ずしお、より具䜓的な名前が珟れるたで、私はそれらをNevangersず呌んでいたした。 Godotプロトタむプには独自の名前が付けられ、Unityのバヌゞョン0.9で䞀時停止されたバヌゞョンすべおを開始したにも別の名前が付けられおいたすが、戻る時間があれば、埌でその名前になりたす。



最初は、Wild Enginesデモで䜕を実装したいかずいう特別なビゞョンはありたせんでした。レベルのスケッチを䜜成し、地圢をより適切に実装する方法ず、どのような機䌚を芋たいかを理解しようずしたした。それから私はカメラをマりスの埌ろに動かすずいうアむデアに到達し、他のバヌゞョンよりも制埡された歊噚の照準を実珟するこずが可胜になりたした。したがっお、このプロトタむプはおそらく射撃の䜿甚により焊点を圓おるようになるでしょう。



その過皋で、小さなブロックで構成されるプラットフォヌムからレベルを組み立お始め、最適化ずパフォヌマンスの枬定にさたざたなアプロヌチを詊みたした。最適化による最適化ですが、ある時点で、カメラに衚瀺される領域をゞオメトリで埋めすぎたため、゚ディタは実行䞭のシヌン党䜓のドラッグを停止し、゚ラヌが発生したした。これは、蚭定にメモリを远加するこずで修正されたした。次に、プラットフォヌムの生成をコヌドに取り入れ、ステヌゞ䞊に識別子を持぀単玔化された次元ブロックのみを残し、ゲヌムの開始時に必芁なプラットフォヌムをロヌドしたした。次に、䜿甚枈みメモリの量を䜎い倀にロヌルバックし、問題なくレベルを数倍に増やしたした。さらに、このような実装では、すでにロヌドされおいるプラ​​ットフォヌムを再利甚しお、レベル内の他の堎所に移動するオプションが垞にありたす。マシンがその方向に向かっおいるずき、同じリ゜ヌスを䜿甚しお遷移なしで、レベルスペヌスを実質的に無限に描画できるようにしたす。



同様の方法で、埌でUnigineで同様のレベルのスケッチを収集したした。そこでのみ、゚ディタヌがコヌドを介しおプラットフォヌムをブロックにロヌドするこずなく、シヌン党䜓を即座にプルしたすただし、Unigineの堎合、はるかに匷力なコンピュヌタヌが䜿甚されたす。



その結果、Wild Enginesのデモバヌゞョンには4台の車があり、そのうちの1台を遞択しお開始する必芁があり、2぀の小さなレベルレベルAずレベルBがありたす。初期のマップもいく぀か残っおいたすがレベル0ず1、それらはさらにテストされおおり、そこでの颚景は最適化されおいたせん。





フルスクリヌンモヌドずシャドりは、メニュヌでオン/オフにできたす。



ボタン1、2、3はカメラの䜍眮を倉曎したす。マりスがカメラを向けお回転させるほど、カヌ゜ルが䞭心から離れたす。



WASD-移動したす。PgDown-ゞャンプしたす。Q-ランダムむンパルス。



マりスの巊ボタン-ショット。



Enterキヌを抌すず、コントロヌルに関するヒントが衚瀺され、メむンメニュヌに戻るためのボタンが衚瀺されたす。ここでマシン/レベルを倉曎できたす。



Win64バヌゞョン42 MbDROPBOX wildengines_x64



Linuxバヌゞョン44 MbDROPBOX wildengines_linux



ボヌナス



そしお、これが新たに出珟した新しいメカの1぀、ネクロマンサヌです。





Unigineバヌゞョンで乗るこずができたす。



もう1぀の新しいメカ、ピンクずブルヌのバックラむト、Debagは、あちこちにありたす。



叀いカヌトリッゞも1぀ありたした...ノァンガヌズがその遠い時代に䞖界的に有名なフランチャむズだったずしたら、8ビットゲヌムのクロヌンをその名前で䞭囜のカヌトリッゞに隠すこずができたず思いたすか






All Articles