質問

ボタンをクリックすると、非常に滑らかでクロスブラウザー/プラットフォームです。これは、エンジン全体が現在使用しているものよりも本質的に優れていると結論付ける非技術タイプをリードしています。 Unity WebPlayerのすべてのブラウザー/OSプラグインバージョンをすべて実装して磨くのに時間がかかったということですか、それともエンジンアーキテクチャのセットアップ方法に深いものがありますか?

役に立ちましたか?

解決

Unityは、c#、unityscript(javascriptに基づく)、またはboo(pythonに基づく)で書かれたスクリプトを取り、それらをモノアセンブリにコンパイルします。これらのアセンブリ +ゲームに必要な3Dモデル、サウンド、テクスチャは、ブラウザプラグインによってロードされる.UNITY3Dファイルに圧縮されます。ゲームのロジックのほとんどすべてが管理されたモノアセンブリにあるため、プラットフォーム固有の癖はほとんどなく、クロスプラットフォームが実行されます。

彼らは最近、プラグインの検出とインストールコードを書き直しました。これにより、ユーザーがプラグインを持っている場合、または他のコンテンツ(画像、フラッシュ、ビデオ)を持っている場合、ユニティコンテンツを表示するWebページにJavaScriptのブロックを簡単にドロップできるようになりました。しないでください。プラグインはMacとWindowsのすべてのAクラスブラウザをサポートしており、ブラウザを再起動せずにプラグインをインストールできると思います。

Unityエンジンの利点の1つは、多くの既製のマネージャーアセンブリを取り、プロジェクトにそれらを含めてUnityコードから電話をかけることができることです。ただし、これらのアセンブリは.unity3Dファイルのサイズを本当に膨らませることができることに注意する必要があります。

もう1つの利点は、非技術的な人々が変更できる調整可能なパラメーターを公開するコンポーネントを簡単に記述できることです。

さらにもう1つの利点は、1日以内に、iPhone、Standalone、Android、Webなどとの間で、よく書かれたプロジェクトを移植できることです。入力ハンドラーを変更し、テクスチャ圧縮を変更するだけで、iPhoneをWebに個人的に実行しました。

1つの大きな欠点は、アプリケーションが管理されているコードを実行しているため、好奇心が強いまたは悪意のある人がアセンブリを完全に読みやすいコードに逆コンパイルすることはそれほど難しくないことです。そのため、誰かがその情報で何ができるかを考える必要があります(マルチプレイヤーでチート、ボットを書き、ハイスコアを偽造するなど)。アセンブリを難読化することは可能ですが、ビルドプロセスにこのステップを追加することは些細なことではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top