Unity (ゲームエンジン)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Unity
開発元 ユニティ・テクノロジーズ英語版
最新版 4.3.4 / 2014年3月
プログラミング言語 C/C++[1]
対応OS
対応言語 英語
種別 ゲームクリエイションシステム英語版
ライセンス プロプライエタリ
公式サイト www.unity3d.com
テンプレートを表示

Unity(別名:Unity3D)とは、統合開発環境を内蔵し、複数のプラットホームに対応する、ユニティ・テクノロジーズ英語版が開発したゲームエンジンである。日本法人はユニティテクノロジーズジャパン合同会社。ウェブプラグイン、デスクトッププラットフォーム、ゲーム機、携帯機器向けのコンピュータゲームを開発するために用いられ、100万人以上の開発者が利用している[2]。Unityは主にモバイルブラウザゲーム製作に使用されるが、ゲーム機及びPCにゲームをインストールすることもできる。このゲームエンジンはC言語/C++で書かれているが、C#JavaScriptBooで書かれたコードにも対応できる。2005年にOS Xに対応したゲーム開発ツールとして誕生してから、今日ではマルチプラットフォームに対応したゲームエンジンにまで成長した[2]

2014年3月にリリースされたUnity 4.3.4が最新バージョンである。現在iOSAndroidWindowsOS XLinux、ウェブブラウザ、FlashPlayStation 3Xbox 360Wii U向けの開発に対応している[3]。UnityとUnity Proの2つの異なるバージョンが公式サイトからダウンロードできる。

機能[編集]

レンダリング[編集]

グラフィックエンジンはDirect3D (Windows)、OpenGL (Mac, Windows, Linux)、OpenGL ES (Android, iOS)、プロプライエタリのAPIを使用、バンプマッピング環境マッピング視差マッピングスクリーンスペースアンビエントオクルージョン英語版(SSAO)、シャドーマップ英語版を使ったダイナミック・シャドウ、テクスチャレンダリング英語版、フルスクリーンポストプロセッシングエフェクトに対応している[4]

また、3ds MaxMayaSoftimageBlendermodoZBrushCinema 4DCheetah3DAdobe PhotoshopAdobe Fireworks、Allegorithmic Substanceのアートアセットとファイル形式に対応しており、これらの資産をゲームプロジェクトに追加したり、Unityのグラフィカルユーザーインターフェースで管理することができる[5]

ShaderLabの言語はシェーダのために使用され、修正ファンクションパイプラインとGLSLCgで書かれたシェーダのプログラム両方の宣言している「プログラミング」に対応している。シェーダは複数のバリエーションや宣言されたフォールバック仕様を含むことができるため、Unityは現在使用しているビデオカードに最もよいバリエーションを検出したり互換性が無い場合でもパフォーマンスを出すために機能を犠牲にできる代替のシェーダをフォールバックすることができる[6]。また、Nvidia(かつてはAgeia)のPhysX物理エンジンを内蔵サポートしており、Unity 3.0では任意かつスキンされたメッシュでのリアルタイムクロスシミュレーション、シックレイキャスト、衝突レイヤーへの対応が追加された[7]

スクリプティング[編集]

ゲームエンジンのスクリプティングはMonoという.NET Frameworkのオープンソース実装で構築されている。プログラマーはUnityScript(ECMAScriptの影響を受けた構文のカスタム言語)、C#、Boo(Pythonの影響を受けた言語)を使用出来る[8]。3.0のリリースが始まり、Unityはデバッギングスクリプト向けにMonoDevelopのカスタマイズバージョンを公開した[9]

アセットトラッキング[編集]

UnityにはまたUnity Asset Serverという開発者のゲーム資産とスクリプト向けバージョンコントロールソリューションが含まれている。これはバックエンドにPostgreSQLを使用し、オーディオシステムはFMODのライブラリ(Ogg Vorbis圧縮オーディオの再生が可能)で構築され、ビデオ再生はTheoraコーデックを使用、地形と植生エンジン(樹木のビルボーディングやUmbraを使ったオクルージョンカリングに対応)、Beastを使った内蔵ライトマッピングやグローバルイルミネーション、RakNetを使用したマルチプレイヤーネットワーク、内蔵パスファインディングナビゲーションメッシュを使用している[10]

プラットフォーム[編集]

複数のプラットフォームに対応しており、プロジェクトにおいて、開発者は携帯機器、ウェブブラウザ、デスクトップ、ゲーム機への配信をコントロールすることができる[11]。また、ゲームが対応している各プラットフォーム用のテキスチャ圧縮英語版や解像度設定を指定することができる[11]

現在対応しているプラットフォームはWindowsMacAndroidiOS、Unity Web Player、Adobe FlashPlayStation 3Xbox 360Wiiであるが、公式には未確認であるもののPlayStation Vita対応のEscape Plan英語版というゲームでUnityが使用されている。開発者向けウェブサイトに掲載されている回答によると、Linuxに対応する計画は現在無いという[12]

将来、BlackBerry 10Wii UWindows 8Windows Phone 8への対応が予定されている。

アセットストア[編集]

2010年11月にスタートしたUnity Asset StoreはUnity editorで利用可能なリリースである。このストアには3Dモデル、テクスチャ、マテリアル、パーティクルシステム、音楽、効果音、チュートリアル、プロジェクト、スクリプティングパッケージ、エディタエクステンション、オンラインサービスといった4,400以上のアセットパッケージがある。

また、多くのエクステンション、ツールやタシャレン・エンターテインメントによるNGUI: Next-Gen UI[13]のようなアセットパッケージ、デトックス・スタジオのuScriptといったビジュアルスクリプティングエクステンション、Tidy Tile Mapper、ドップラー・インタラクティブの2D/3Dタイル型ゲームデザインエクステンション[14]、FingerGesturesという入力スクリプティングパッケージ[15]もストアで入手できる。

バージョン[編集]

最初のバージョンは2005年にアップルのWorldwide Developers Conferenceで提供が開始された。Macコンピュータ上で機能やプロジェクトを構築するもので、他のプラットフォーム用のエンジンやツールの開発を継続するのに十分な成功を得た[2]。2010年9月にUnity 3が公開、これはハイエンドなスタジオが所有しているツールを多く導入することに力を入れたものだった。また、自社がインディーズや小規模チームにゲームエンジンを手頃な価格のパッケージとして提供しながら大手の開発企業の関心を取り込むことができた。2012年終わり頃に公開されたバージョン4.0ではMecanimアニメーションやDirectX 11などへの対応がなされた。

Unity 3.5[編集]

Unity 3.5はUnityの開発プラットフォームに向けた最も大規模なリリースの1つで、既存技術向けに新機能や改善が図られ[16]、Shurikenパーティクルシステム、パスファインディング向けのNavMesh、障害物回避、線形空間(ガンマコレクト)ライトニング、HDRレンダリング、マルチスレッドレンダリング、ライトプローブ、Google Native Clientへの対応、再記述されたオクルージョンカリング英語版詳細度英語版のビルトイン対応、Adobe Flash Playerのアドオンプレビュー、GPUプロファイラー、指向性ライトマップがそれに当たる[17]

Unity 4[編集]

2012年6月18日に発表されたUnity 4では当初の公開ではいくつかの新機能が追加されることになっていた。リリースサイクルは過去のリリースのようにライフスパンの過程で機能追加などの複数のアップデートがされる予定だったが、将来の4.xのアップデートにより新しいGUIが保留となり、結局リリースされたのは2012年11月14日だった[18]

DirectX 11の対応やMecanimアニメーションといった新機能が加わった。モバイルグラフィックの機能強化として、リアルタイムシャドウ、スキンメッシュのインスタント化、ライトマップをベークしたときに通常のマップを使用する機能、GPUプロファイラーの改善が実行された。さらに、Adobe Flashのアドオン対応もなされたが、既にUnity 3.5互換のベータ版ツールで可能となっていた。それでも対応アドオンの最終版ではUnity 4でしか動作しないようになっている[19]

Unity 4にはまた、デスクトップにゲームを公開するためのオプションも搭載された[20][21][22]。アドオンを展開する時は潜在的にLinuxの様々な形式で動作し、主にUbuntuで動作させることに主眼を置いている[23]。この展開オプションは追加料金無しでUnity 4の全ユーザーに提供される[24]。Unityを使う技術者はゲームの標準的なチームにおいてUbuntuを使って作業をしている[25]。バージョン4以降、自身のUnity Web Playerを通したソーシャルプラットフォームで改善したUnityのエクスペリエンスを立ち上げるためにFacebookを使った協働作業が行われている[26]

Mecanim[編集]

MecanimとはUnityのアニメーション技術で最初の数年間は同名企業が手がけていたが、その後買収によりUnityのカナダオフィスが手がけている。この技術は効率的なインターフェイスでキャラクターを流体的かつ自然的に動かすように構築している。またMecanimにはステートマシンやブレンドツリー、IKリギングを生成するツールが含まれ、Unity editorでアニメーションを自動的にリターゲットできるようになっている[27]

加えて、リターゲット可能なアニメーションのアレイはツールの起動時にUnity Asset Storeで入手できるようになっている。これらのアニメーションファイルの多くはモーションキャプチャーで使用され、ユニティ・テクノロジーズによって無料で提供されている。

他の機能強化[編集]

  • Shurikenパーティクルシステムは外力、ベントノーマル、自動カリングに対応している
  • 3Dテクスチャ対応
  • ナビゲーション:動的障害物や回避優先度
  • UnityGUIのパフォーマンスやメモリ使用のメジャーな最適化
  • HTMLのような記述方式を使った、全プラットフォーム向けのダイナミックフォント
  • Unity Web Playerの遠隔デバッギング
  • 新しいプロジェクトのウインドウワークフロー
  • 反復ライトマップベーキング
  • 改善されたコンポーネント型ワークフロー
  • カスタムクラス向けの拡張インスペクター
  • パイプラインへインポートするキューブマップの改善
  • 巨大なメモリとパフォーマンスの節約のためにジオメトリデータを改善
  • メッシュを効率的に非三角形ジオメトリのレンダーポイントとラインで構築
  • プロジェクトウインドウからの検索、ライブプレビュー、Asset Storeでのアセットの購入

ライセンス[編集]

開発者向けにUnityとUnity Proの2種類のライセンスがある[28]。プロバージョンは1500ドルだが、レギュラーバージョンは無料でダウンロード出来る。プロバージョンではテクスチャーへのレンダリング、オクルージョンカリング、グローバルライトニング、ポストプロセッシングエフェクトといった機能が追加される。一方無料バージョンではスプラッシュスクリーン(スタンドアロンのゲームにおいて)やウォーターマーク(ウェブゲームにおいて)の表示を変更や解除することができない。

UnityとUnity Proは両方とも開発環境、チュートリアル、サンプルのプロジェクトとコンテンツ、ウェブフォーラムを通したサポート、ウィキアクセス、同じメジャーバージョンへの将来的なアップデート(例としてUnity Pro 3を購入したら将来出る全てのUnity Pro 3.xへのアップデートが無料)が含まれている。

Android、iOS、Adobe Flash Player、Windows Phone 8(開発中)版Unityは既に購入したUnityのアドオンとして提供されている。Unity ProライセンスはAndroid ProやiOS Proのライセンスを購入するために必要である。通常のAndoroid、iOS版のライセンスはUnityの無料バージョンで使用可能である。

ソースコード、PlayStation 3Xbox 360Wiiのライセンスはケースバイケースでの交渉となる[29]

脚注[編集]

[ヘルプ]
  1. ^ Meijer, Lucas. “Is Unity Engine written in Mono/C# or C++?”. 2011年4月26日閲覧。
  2. ^ a b c Unity - Fast Facts”. 2013年2月5日閲覧。
  3. ^ Unity - Multiplatform”. Unity Technologies. 2013年2月5日閲覧。
  4. ^ Using DirectX11 in Unity 4”. Unity Technologies. 2013年2月19日閲覧。
  5. ^ How do I import objects from my 3D app?”. Unity Technologies. 2013年2月19日閲覧。
  6. ^ Shaders”. Unity Technologies. 2013年2月19日閲覧。
  7. ^ Physics”. Unity Technologies. 2013年2月19日閲覧。
  8. ^ Using Scripts”. Unity Technologies. 2013年2月19日閲覧。
  9. ^ Getting started with Mono Develop”. Unity Technologies. 2013年2月19日閲覧。
  10. ^ Asset Server (Pro Only)”. Unity Technologies. 2013年2月19日閲覧。
  11. ^ a b Unleash your game with effortless deployment to 10 global platforms”. Unity Technologies. 2013年2月19日閲覧。
  12. ^ http://answers.unity3d.com/questions/15227/is-there-an-unity-webplayer-for-linux-.html
  13. ^ NGUI: Next-Gen UI kit, Tasheren, http://www.tasharen.com/?page_id=140 
  14. ^ Tidy TileMapper: Streaming Maps - the update!”. Doppler Interactive (2012年9月4日). 2012年9月23日閲覧。
  15. ^ http://www.mixamo.com/c/mixamo-unity-asset-store
  16. ^ http://www.lynda.com/Unity-D-training-tutorials/1243-0.html
  17. ^ Unity 3.5”. 2012年9月23日閲覧。
  18. ^ Unity 4.0 Launches”. MarketWire. 2013年2月5日閲覧。
  19. ^ What's new in Unity 4?”. Unity Technologies. 2013年2月19日閲覧。
  20. ^ Introducing Unity 4 - Unity Videos”. Video.unity3d.com. 2012年11月7日閲覧。
  21. ^ Unity 4 Details”. Forum.unity3d.com. 2012年11月7日閲覧。
  22. ^ Unity 4 - Linux Export - Unity Videos”. Video.unity3d.com. 2012年11月7日閲覧。
  23. ^ Linux Support :D”. Forum.unity3d.com. 2012年11月7日閲覧。
  24. ^ UNITY: License Comparison”. Unity3d.com. 2012年11月7日閲覧。
  25. ^ three engineers from games company Unity 3D
  26. ^ http://www.marketwatch.com/story/unity-technologies-releases-facebook-functionality-update-to-unity-4-2013-03-26
  27. ^ http://blog.mixamo.com/uncategorized/mixamo-and-unity-introduce-the-mecanim-animation-store/
  28. ^ Unity License Comparison, Unity Technologies, http://unity3d.com/unity/licenses 
  29. ^ UNITY, Unity Technologies, https://store.unity3d.com/shop/ 

外部リンク[編集]