Unity (ゲームエンジン)
| 開発元 | ユニティ・テクノロジーズ |
|---|---|
| 最新版 | 4.1 / 2013年3月 |
| プログラミング言語 | C/C++[1] |
| 対応OS |
対応
|
| 対応言語 | 英語 |
| 種別 | ゲームクリエイションシステム |
| ライセンス | プロプライエタリ |
| 公式サイト | www.unity3d.com |
Unity(別名:Unity3D)とはユニティ・テクノロジーズが開発しているゲームエンジンで統合開発環境を内蔵している。ウェブプラグイン、デスクトッププラットフォーム、ゲーム機、携帯端末向けコンピュータゲームを開発するのに使用され、100万人以上の開発者に利用されている[2]。Unityは主にモバイル、ウェブゲーム製作に使用されるが、ゲーム機やPC対応ゲームの製作にも使用出来る。このゲームエンジンはC言語/C++で書かれていて、C Sharp、JavaScript、Booで書かれたコードをサポートすることもできる。2005年にOS Xに対応したゲーム開発ツールとして誕生して以降今日マルチプラットフォームゲームへと成長した[2]。
2013年3月にリリースされたUnity 4.1が最新バージョンであり、現在iOS、Android、Windows、OS X、Linux、ウェブブラウザ、Flash、PlayStation 3、Xbox 360、Wii U対応ソフトの開発に対応している[3]。UnityとUnity Proの2つの異なるバージョンが公式サイトからダウンロードできる。
目次 |
機能 [編集]
レンダリング [編集]
グラフィックエンジンはDirect3D (Windows)、OpenGL (Mac, Windows, Linux)、OpenGL ES (Android, iOS)、プロプライエタリのAPIを使用、バンプマッピング、環境マッピング、視差マッピング、スクリーンスペースアンビエントオクルージョン(SSAO)、シャドーマップを使ったダイナミック・シャドウ、テクスチャレンダリング、フルスクリーンポストプロセッシングエフェクトに対応している[4]。
また、3ds Max、Maya、Softimage、Blender、modo、ZBrush、Cinema 4D、Cheetah3D、Adobe Photoshop、Adobe Fireworks、Allegorithmic Substanceのアートアセットとファイル形式に対応しており、これらの資産をゲームプロジェクトに追加したり、Unityのグラフィカルユーザーインターフェースで管理することができる[5]。
ShaderLabの言語はシェーダのために使用され、修正ファンクションパイプラインとGLSLやCgで書かれたシェーダのプログラム両方の宣言している「プログラミング」に対応している。シェーダは複数のバリエーションや宣言されたフォールバック仕様を含むことができるため、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]。
現在対応しているプラットフォームはWindows、Mac、Android、iOS、Unity Web Player、Adobe Flash、PlayStation 3、Xbox 360、Wiiであるが、公式には未確認であるもののPlayStation Vita対応のEscape PlanというゲームでUnityが使用されている。開発者向けウェブサイトに掲載されている回答によると、Linuxに対応する計画は現在無いという[12]。
将来、BlackBerry 10、Wii U、Windows 8、Windows 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の様々な形式で動作し、主にUbunttuで動作させることに主眼を置いている[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 3、Xbox 360、Wiiのライセンスはケースバイケースでの交渉となる[29]。
脚注 [編集]
- ^ Meijer, Lucas. “Is Unity Engine written in Mono/C# or C++?”. 2011年4月26日閲覧。
- ^ a b c “Unity - Fast Facts”. 2013年2月5日閲覧。
- ^ “Unity - Multiplatform”. Unity Technologies. 2013年2月5日閲覧。
- ^ “Using DirectX11 in Unity 4”. Unity Technologies. 2013年2月19日閲覧。
- ^ “How do I import objects from my 3D app?”. Unity Technologies. 2013年2月19日閲覧。
- ^ “Shaders”. Unity Technologies. 2013年2月19日閲覧。
- ^ “Physics”. Unity Technologies. 2013年2月19日閲覧。
- ^ “Using Scripts”. Unity Technologies. 2013年2月19日閲覧。
- ^ “Getting started with Mono Develop”. Unity Technologies. 2013年2月19日閲覧。
- ^ “Asset Server (Pro Only)”. Unity Technologies. 2013年2月19日閲覧。
- ^ a b “Unleash your game with effortless deployment to 10 global platforms”. Unity Technologies. 2013年2月19日閲覧。
- ^ http://answers.unity3d.com/questions/15227/is-there-an-unity-webplayer-for-linux-.html
- ^ NGUI: Next-Gen UI kit, Tasheren
- ^ “Tidy TileMapper: Streaming Maps - the update!”. Doppler Interactive (2012年9月4日). 2012年9月23日閲覧。
- ^ http://www.mixamo.com/c/mixamo-unity-asset-store
- ^ http://www.lynda.com/Unity-D-training-tutorials/1243-0.html
- ^ “Unity 3.5”. 2012年9月23日閲覧。
- ^ “Unity 4.0 Launches”. MarketWire. 2013年2月5日閲覧。
- ^ “What's new in Unity 4?”. Unity Technologies. 2013年2月19日閲覧。
- ^ “Introducing Unity 4 - Unity Videos”. Video.unity3d.com. 2012年11月7日閲覧。
- ^ “Unity 4 Details”. Forum.unity3d.com. 2012年11月7日閲覧。
- ^ “Unity 4 - Linux Export - Unity Videos”. Video.unity3d.com. 2012年11月7日閲覧。
- ^ “Linux Support :D”. Forum.unity3d.com. 2012年11月7日閲覧。
- ^ “UNITY: License Comparison”. Unity3d.com. 2012年11月7日閲覧。
- ^ three engineers from games company Unity 3D
- ^ http://www.marketwatch.com/story/unity-technologies-releases-facebook-functionality-update-to-unity-4-2013-03-26
- ^ http://blog.mixamo.com/uncategorized/mixamo-and-unity-introduce-the-mecanim-animation-store/
- ^ Unity License Comparison, Unity Technologies
- ^ UNITY, Unity Technologies
外部リンク [編集]
- 公式ウェブサイト
- 日本語版公式サイト
- Unity Script Reference
- Unity - Facebook
- Unity (unity3d) - Twitter
- Unity - 公式YouTubeチャンネル
- Unity Games