このプロジェクトについて

Scytheは、Raylib上に構築された軽量なC#ベースのゲームエンジンです。最新のレンダリングパイプライン、完全に統合されたエディタ、ランタイムを単一のコードベースに統合し、変更容易性と迅速な反復に重点を置いています。作者はこれを個人の趣味プロジェクトとして説明しており、開発初期段階(アルファ版やベータ版の前)にあるため、機能はいつでも変更または削除される可能性があり、商業作業の基盤として推奨されません。 対象ユーザーは、エンジン内部を制御したいインディー開発者、変更可能でスクリプト可能なゲームアーキテクチャに興味がある開発者、レンダリング、物理、ツールに関する学習指向のプロジェクト、そしてブラックボックスエンジンよりもコードファーストのワークフローを好む人々です。 アーキテクチャ:ECSではなくコンポーネントベースのオブジェクトモデルを採用し、エディタとゲーム実行の両方で共有ランタイムを使用します。プロジェクトは.NET 10ランタイムをターゲットにしています。 コア機能には、ハイブリッドなランタイム/エディタ環境、ファイルシステム監視によるホットリロードを備えた集中型アセットマネージャが含まれます。サポートされるアセットには、モデル(.fbx、.obj、.gltf)、テクスチャ(.png、.jpg、.jpeg、.tga、.bmp)、シェーダ(.vs、.fs)が含まれます。 グラフィックス:シェーダベースのPBRレンダリング、リアルタイムシャドウマッピングを備えた動的光源、深度ソートされた透明レンダリングキュー、キューブマップスカイボックスレンダリング。リストされているポストプロセッシングオプションには、SSAO、FXAA、SMAA、ジッター付きTAA、ブルーム、ブラー、ピクセライザー、クロスハッチング、クロスステッチ、ソーベルエッジ検出、スキャンライン、魚眼、ドリームビジョン、プレデター、グレースケール、ポスタリゼーションが含まれます。 アニメーション:メッシュスキニングとボーンアニメーションを備えたスケルタルアニメーション、およびスムーズな遷移のためのアニメーションブレンディング。 物理:完全にC#で書かれたJitter2統合を備え、動的および静的オブジェクトをサポートします。 エディタ:自由にドッキング可能なウィンドウを備えたImGuiベースのドッキングインターフェース、階層構造を持つ階層レベルブラウザ、リアルタイムオブジェクトプロパティパネル、元に戻す/やり直しシステム、内蔵ミュージックプレーヤー。 スクリプティング:自動コンパイルとエンジンコンポーネントへのアクセスを備えたC#スクリプティング、およびエディタとスクリプティングレイヤーの両方のための動的なマウスとキーボード入力管理。 READMEは、このプロジェクトが何でないかを明示的に述べています:本格的なAA/AAAエンジンではない、ECSファーストではない、ビジュアルスクリプティングに焦点を当てていない。 ビルドには.NET SDK 10.0以降が必要です。リポジトリをクローンし、ディレクトリに移動してdotnet buildを実行します。実行はdotnet runで行い、プロジェクトランチャーが開き、プロジェクトを開くか作成できます。F5でプレイモードに入ります。 ライセンス:プロジェクトはMITライセンスです。RaylibとrlImGui(zlib/libpng)のC#バインディング、およびImGui、Newtonsoft.Json、Jitter Physics 2、NLayer、AssimpNet(MIT)を使用しています。多くのポストプロセッシングおよびその他のシェーダは、Raylibの例から来ているか、それに基づいています。バンドルされたフォントには、Font Awesome、Montserrat、Cascadia Codeが含まれます。サンプルアセットは、CC BY 4.0の下で作成者にクレジットされています。