Unity 2017.2では、2D新機能、新しいXRプラットフォームサポートが追加されるほか、オートデスク(Autodesk)との協業によりMaya/3DS MaxとUnity間のデータのインポートやエクスポートがより高速になります。 Unity 2017.2ではTimelineとCinemachineのアップデートのほか、ARCoreサポート、ARKit、Vuforia、Windows Mixed Reality対応ヘッドセットのサポートが含まれます。ぜひUnity 2017.2をダウンロードしてお試しください!
このブログ記事では、最初にUnity 2017.2の新機能の概要と、続いて詳細や改善点などをご紹介します。
2D
Unity 2017.2では2Dツールに新しく2Dタイルマップ機能とCinemachine 2Dが追加されます。2Dタイルマップ機能ではイテレーションサイクルを短縮でき、Cinemachine 2Dによりコンポジションとトラッキングにかかる手間を省けます。
Cinemachineの動的でプロシージャルなカメラを2Dゲーム制作に使用することにより、自動的にコンポジションとトラッキングを簡単に行えるようになります。これにより2Dゲームプレイとキャラクターと環境をより改善することができます。
タイルマップによりレベルデザインにおける作業のイテレーションを簡単に素早く行うことができ、2Dゲーム制作においてアーティストとデザイナーがプロトタイプをより早く制作することができます。
XR
Unity 2017.2では新しいXRプラットフォームのサポートが追加されました。Windows Mixed Reality、Vuforia、macOS上のOpenVRのネイティブサポートが追加。これにより、より幅広いユーザーを対象にしたアプリやゲーム開発を行うことができます。ネイティブサポートは、デバイス上でのパフォーマンス最適化や開発ワークフローの改善にも有利です。
プラットフォームサポート:
ARゲームやアプリ開発がより効率よくなるよう、GoogleのARCore SDK と AppleのARKitをUnityのARKitプラグインでサポートします。私たちも今後のARの広がりを楽しみにしていますし、最新のARプラットフォームのサポートを拡充しながら貢献できることを嬉しく思います。
また、Windows Mixed Realityのサポートにより、開発者がより多くのユーザーへ配布することをお手伝いします。
パフォーマンス:
2017.2ではVRにおいてパフォーマンスの最適化機能が追加されました。 Stereo Instancing(シングルパスレンダリングの次のイテレーション)が追加され、DX11を使用するPCプラットフォームにて利用できます。 これによりレンダリングにおいてハードウェアの性能を引き出す最適化を行うことができ、VR体験の質が向上します。
もう一つの新機能は、Google VRのためのビデオ非同期リプロジェクションで、Daydreamビューにおいて動画再生の質が向上します。
これらの新しいプラットフォームのサポートや改善により、VRとARのクロスプラットフォーム開発をより早く簡単に行うことができます。
デジタルコンテンツクリエーションツールのFBXサポート
ユニティ・テクノロジーズ(Unity Technologies)とオートデスク(Autodesk)は協業することにより、UnityにおけるFBXサポートを劇的に改善しました。この協業では、直接FBX SDKソースコードへのアクセスを得ることで、UnityとMaya/3ds Maxツール間のワークフローがシームレスに行えるようになりました。
アーティストやデザイナーを含む全てのユーザーは、Maya/MaxとUnityをまたいでシーンを行き来することができ、シーンの忠実性を高く保ちながら作業できます。2017.2では新しいFBX インポーター/エクスポーターが追加され、それにはカスタムMayaプラグインが含まれます。また、これらの機能も追加されます:ヒエラルキー、マテリアル、テクスチャー、Stingray PBSシェーダー、アニメ化されたカスタムプロパティのサポート
他にも多くの新機能が追加!
Unity 2017.2の主な新機能を紹介しましたが、他にも多くの新機能が追加されています。
Cinemachineの2Dサポート
Cinemachineのダイナミックでプロシージャルなカメラが2Dゲームデザインに利用できるようになりました。これにより2Dゲームプレイ、キャラクターと環境のコンポジションとトラッキングを強化し自動化することができます。つまりユーザーのゲーム体験は向上し、またコーディングの手間が減らせます。Cinemachineの機能はUnityアセットストアから利用できます。プロジェクトで活用してみてください!Cinemachineの2Dサポートに加えて、以下の2Dの新機能を追加しました。
フレーミングトランスポーザー: オブジェクトを追跡してカメラが動きます。
グループターゲット: 複数のオブジェクトの中心をトラックし、オブジェクト間のウェイトとそれぞれのオブジェクトの影響を調整します。
グループコンポーザー: カメラのズームとドリーにより、ターゲットのグループがシーンに映るようにします。(2.5Dまたは‘3D’よりの2Dゲーム向けの機能)
Orthographic Projection レンダリング: Unityのメインカメラを2Dゲーム用に正投影のプロジェクションにセットします。(実際の視差と遠近法を使いたい2.5Dゲーム用の3Dでも使えます)
そして最後に、スプライトレンダーで描写される9Sliceスプライトを、マイナスの幅・高さの値においてはTileモードに変えることでより洗練されたレンダリングを得られます。
2D Extra
2D Extraは、カスタムルールに基づいたタイルマップなど、便利なカスタムタイルとブラシが含まれるレポジトリーです。カスタムルールに基づいたタイルマップについては
Unite Austin 2017基調講演にて説明されています。このデモではEpichouse Studiosによる2DゲームPhasedのアセットが使われています。
今後もチュートリアルのコンテンツを増やすだけでなく、チュートリアルを作成するツールを提供する予定で、それによりコミュニティのメンバーがUnityプロジェクトやアセットストアのアセットのためのチュートリアルを作ることができます。このツールについてのご意見を是非お聞かせください!このブログのコメントか、フォーラムのスレッドにてお知らせ下さい!
デバッグのためのNevMeshのリアルタイム可視化
`NavMeshEditorHelpers.DrawBuildDebug()`を使うと、NavMeshBuilder APIを使ってNavMeshを構築する際のプロセスのデバッグデータが選択的に収集され、エディター内で可視化できます。
デジタルコンテンツクリエーションツール(DCCツール)とのワークフロー
FBX インポーター/エクスポーター:
ユニティ・テクノロジーズ(Unity Technologies)とオートデスク(Autodesk)は、協業により両者の提供するツール間でのFBXサポートを強化します。これにより、デジタルコンテンツ作成とワークフローパイプラインをできるだけ機能の制限がなく効率よく行えるようになります。この協業により、FBX SDKソースコードへ直接アクセスすることができ、 UnityのFBXインポーター/エクスポーターとUnityプラグイン for Mayaの改善を行い、両社のツールを使う際のより良いワークフローを構築することができました。
Unity FBXエクスポーターを使うと、FBXファイルにジオメトリ情報を持たせることができ、Unity以外でもその情報を使うことができます。 UnityからMaya/Maxへのファイルのやりとりが容易になることで、Maya/Maxでの作業内容を損なうことなくUnityのアセットへインポートすることができます。エクスポーターはマテリアルとテクスチャーをサポートし、コライダー、リジットボディ、スクリプトや音声などのコンポーネントをサポートします。
UnityのカスタムMayaエクスポータープラグインにより、MayaからUnityへのエクスポートで内容を損なうことなくより簡単に行えるようになりました。Maya側でワンクリックするだけで、FBXファイルをUnityで使用できる品質でエクスポートすることができ、それにはマテリアル、テクスチャー、Stingray PBシェーダーが含まれます。
改良されたUnity FBXインポーターにより、ヒエラルキー、マテリアル、テクスチャー、Stingray PBシェーダー、アニメ化されたカスタムプロパティ(FBXファイル内に存在する場合)がサポートされます。これらの改良により、Unityで行われた作業はMayaのアセットスロットに保持され、Unityのシーンに反映されるので、作業を止めたところからまた始めることができます。
FBXエクスポーターパッケージ(ベータ版)がUnityアセットストアからご利用頂けます。(Mayaプラグインが含まれます)
インポート時の組み込みマテリアル
インポートするプレハブの中にマテリアルを制作することができます。これまでのように「Materials」フォルダーに分けられることはありません。FBXファイルは組み込まれたテクスチャーやマテリアルが含まれることがありますが、最近までは、最初のインポートでのみ追加のアセットを作成しており、それに続くインポートでは生成されたマテリアルが移動されるか削除されるまでは追加のアセットを作成せず、テクスチャーはインポートの度に上書きされていました。そこで、オプションを追加し、プロジェクトのFBXファイルの中の組み込みマテリアルを読み込みのみ可能として作成することができるようにしました。また、インスペクターにあるインポートボタンにて、テクスチャーを手動で展開することができます。最後に、FBXファイルをプロジェクトに展開するときに、編集可能なクローンを生成することができます。このクローンはインポートする側のメタデータにより、明示的にオリジナルのFBXメッシュにひも付けられます。
アニメ化されたカスタムプロパティ
様々なDCCツール(Mayaや3DSMaxなど)のオブジェクトのカスタムプロパティー(または属性)が サポートされます。
UnityはカスタムプロパティのアニメーションカーブをFBXファイルからインポートできるようになりました(デフォルトではこの機能はOffになっています):
アニメーションウィンドウにアニメータープロパティとして、インポートされたクリップから作られた追加のカーブと同様に表示されます:
Maya 2016のStingray PBSマテリアル:
Unityにインポートされた同じマテリアル:
2017.2では、マスク更新のためのワークフローとUIが改善され、更新されたヒエラルキーの表示について無効なマスクパスを赤で表示します。無効なパスのマスクのチェックボックスは動作しません。
新しいアセットバンドルAPI
アセットバンドルによって、アプリは複数のファイルにセグメント分けされます。ローカルやリモートに問わず、必要に応じてそれらのファイルを呼び出すことができます。 これによりパフォーマンスの最適化とアプリのファイル分散の管理が改善されます。2017.2からアセットバンドルの新しいAPIが提供されます。コンテンツをCDNからより安全に引き出すためにアセットバンドルを使用している場合は、この新しいAPIが役に立ちます。
以前はアセットバンドルのロード元はファイルかメモリーでした。また、データをセキュアなCDNからロードするためには、多くの手間が必要でした。しかし、新しいAPIではこういった問題を解決します。以前は暗号化されたコンテンツがストリームとして提供され、データを使用可能なフォーマットにするためにコードを書くなどの必要がありました。今後は、新しいAssetBundle.LoadFromStreamAPIにより、マネージドストリームオブジェクトからデータを直接読み込むことができ、コードを書く必要はありません。
VuforiaサポートはUnityダウンロードアシスタントでインストールできますし、UnityではProject Settings→layer Settings→XR SettingsからONにすることができます。 Vuforiaについてはこちらからご参照ください。またコアサンプルアセットはこちらから無料でご利用いただけます。
Vuforiaについて:
Vuforiaは手持ちの端末や頭部装着型のデバイス上動くオーギュメントリアリティアプリケーションのためのソフトウェアプラットフォームで、デジタルコンテンツを画像や3次元物体にアタッチするためのクロスプラットフォームソリューションです。Vuforiaでは世界中の375000以上の開発者と45000以上のリリースされたアプリケーションによるエコシステムに支えられています。
Unityは全く新しいWindows Mixed Reality対応のヘッドセットをネイティブサポートし、MicrosoftストアへのVRコンテンツの公開をお手伝いします。
HMDデバイスでどのように見えるかのプレビューをUnityエディターから見れるなど、ワークフローの改善も含まれます。このデバイス用にコンテンツを開発する場合でも、既存のVRコンテンツをポーティングする場合でも、全ての新しいVRデバイスをサポートします。より詳しい情報はこちらのWindows Mixed Realityのドキュメントをご参照ください。
UnityはAppleとValveと協力してUnityの既存のVRレンダリングパス、マルチパス、シングルパスの様々なバリエーションにおいてMetal2の最適化を行いました。最終リリースにおいては、インスタンシングを利用することで、WWDCにて発表された新しいMetal2の機能を利用してアプリのパフォーマンスを向上させることができるでしょう。これにより必要なドローコールを半減させることができます。UnityでのVR開発について詳細は、Unityのマニュアルをご参照ください。
Android 7.0 以降において、GoogleのARCore サポートを追加しました。ARCore APIではより正確なデバイスの位置と方向の情報を提供すると同時にユーザーのいる場所の物理空間を認識する特徴点検知を提供します。
UnityがARCoreをサポートすることにより、Unity内のカメラが現実世界でのデバイスの位置と方向情報を使いやすくなります。 デバイスの周辺環境を表すPlane(平面)を作成でき、カラーカメラのイメージをARの背景として描写できます。
現在SDKではGoogle Pixel、Pixel XL、Samsung Galaxy S8のAndroid 7.0 Nougat 以降のAndoroidのアプリ開発をサポートします。またAndroid API SDK v.24またはそれ以降が必要です。
SDKをセットアップする方法:
ARCoreを使って素晴らしいアプリや作品が作られることを楽しみにしています。フォーラムにてARCoreについてのディスカッションに参加してください。
6月のWWDCでの最初の発表以来、ARKitとUnity ARKitプラグインについてコミュニティから多くの反応をいただきました。 開発者と共にプラグインの改良を継続しています。
Unity ARKitプラグインはARKitの機能へのアクセスを容易にします: モーショントラッキング、ライブビデオレンダリング、平面の検出とヒットテスト、環境光の推定、点群データ(ローデータ)などなど。また、新しいARアプリを制作するのを簡単にしたり、既存のUnityプロジェクトにAR機能を組み込むUnityのコンポーネントもあります。
UnityのARKitプラグインには開発時間を短縮する独特の機能が含まれています: Unity ARKit Remoteでは、シーンとUnityエディタ内のデバッグスクリプトをデバイス用にビルドせずにリアルタイムに変更できるため、イテレーションをより早く行うことができます。
プラグインにより、以下の機能へアクセスできます:
ARプロジェクトを素早く立ち上げるための新しいサンプル:
オクルージョン (本物の物体の後ろの仮想オブジェクトを隠すシェーダーとマテリアル)
シャドウ(仮想オブジェクトを実際の世界に配置するシェーダーとマテリアル)
Unity ARKitプラグインはUnityアセットストアのパッケージとしてご利用いただけます。オープンソースのレポジトリとしてBitBucketからもご利用いただくことができ、改善作業に参加することができます。フォーラムでは議論に参加したり質問することができます。
ステレオインスタンシング(またはシングルパスインスタンスレンダリング)はUnityのシングルパスレンダリングの革新的方法で、DX11を使ってビルドする際にサポートされます。Vive、Oculus Rift、Windows Mixed Reality対応ヘッドセット向けのアプリのパフォーマンス最適化を可能にします。
この技術を使うことでAPI側で生成されるドローコールを(時には半分ほど)減らすことができ、CPUでの計算時間を減らすことができます。さらに、GPUでのドローの効率化(同量のワークが生成されますが)を行うことができます。備考:ステレオインスタンシングはフォワードレンダリングのみサポートします。
この機能を使うためには、Player Settingsを開きます(メニュー: Edit→ Project Settings→ Player)。Player SettingsでXR設定にてVirtual Reality Supportedチェックボックスにチェックが入っていることを確認してください。
それからSingle-Pass Stereo Renderingチェックボックスにチェックを入れてください。注意:ステレオインスタンシングはWindows 10でのみ稼働します。詳細な情報はこちらをご参照下さい。
Tracked Pose Driverは新しいクロスプラットフォームコンポーネントで、ゲームシーン内のオブジェクトとデバイスの認識をより簡単に直感的にできるようにします。詳細な情報はこちらをご参照下さい。
Vive HMDのエディターシミュレーション
この新機能では、HMDがなくても、特定の観点からVive HMDをエディター内でシミュレーションすることができます。この機能はPlayer Settings→XR Settingsにて"Mock HMD‒Vive"をVirtual Reality
SDKに追加することで使用できます。
シミュレートされたHMDは本物のHMDと同じ非同期プロジェクションマトリックス、描画しないオクルージョンメッシュ、カメラ視野角、アスペクト比、Eyeテクスチャーのサイズ(Vive用)を使います。シミュレートされたHMDはマルチとシングル両方のレンダリングパスで使用でき、エディター内では二つに分けられたステレオのスクリーンとして表示されます。
Nintendo Switchのネイティブレンダリングブラグインのサポート
Nintendo Switchをサポートするネイティブレンダリングにより、Unityのマルチスレッドレンダリングとマシンに近い低レベルのレンダリングとワークを実装することができます。
macOSのRetina解像度をサポートしました。
Windowsのスタンドアロンプレイヤーを別の一つのDLL("UnityPlayer.dll")に移動し、実行ファイルはラッパーとしてDLLを呼び出すだけのものにしました。
Unity 2017.2はSamsung TizenとSmartTVをサポートする最後のバージョンになります。これ以降はUnityは12ヶ月のサポートを提供し、修正パッチとセキュリティパッチを提供します。詳しくはパートナーページ:Samsungをご参照ください。
HDRエミッション
グローバルイルミネーションエミッションでは、リアルタイムとベイクされたGIにおいて16bit浮動小数点形式を使用するようになりました。HDRカラーピッカーの制限が99から64Kになりほぼ制限がなくなります。これにより、より強い光を放射する光源が可能になります。
よりMPIレベルの低い(プッシュ-プル拡張)コンテンツでライトマップの空エリアを埋めることができます。これにより、ライトマップでレンダリングした際にジオメトリの端の暗いピクセルが見えてしまう事象を修正できます。この事象は低いMPIがアクセスされると暗い背景のテクセルがにじむためです。
WebGL 2.0でのリニアレンダリング
リニアレンダリングの入出力と計算が正しいカラースペースにあることを確認できます。最終イメージの明るさがシーン内の光量に合わせて正しく調整されるため、詳しくは こちらをご参照ください。
リニアレンダリングがサポートされるプラットフォーム:
リニアレンダリングは特に、テンポラルアンチエイリアスを含むUnity Post Processing Stackを使うことができるため、WebGLでは特に素晴らしい結果をもたらします。UnityのWebGLプレイヤーでは、WebGL2.0をサポートするどのブラウザでも、このリニアレンダリングを利用できます。
カスタムデータモジュールのラベルが編集可能に
カスタムデータモジュールにより様々な用途でデータを定義できますが、カーブやグラデーションのラベルを編集可能にすることで、カスタムデータが何に使われているのかわかるようになりました。
サブエミッターパーティクルのライフタイムを引き継ぐことが可能に
サブエミッターのInheritドロップダウンメニューに新しいオプションが追加され、親システムの残りのライフタイムを子システムのライフタイムとして引き継ぐかどうか指定できるようになりました。
エフェクトを特定の時間内にのみ残したい場合に有効で、例えば、エフェクトが衝突して新しいパーティクルを作成する時などに利用できます。
リニア摩擦
Limit Velocity Over Lifetime モジュールの新しいオプションでは、パーティクルにリニア摩擦をつけることができます。様々なサイズのパーティクルを使った効果で、例えば小さいパーティクルは大きいパーティクルより早く遠くに飛ぶといった効果がつけられます。爆発の破片のエフェクトを作成する時などに役立ちます。
自動破壊/停止
プレイバック終了時にパーティクルシステムを自動的に破壊したり停止することができるようになりました。自動破壊は1回きりのエフェクトに便利です。自動化により、クリーンナップ用のコードが不要になります。また、プールしたパーティクルシステムのゲームオブジェクトを管理するのにも便利です。
バーストエミッション
他のパーティクルシステムのプロパティと同様にバースト回数のカウントをカーブのオプションの設定を使って構成できるようになりました。
リスタートボタン
リスタートボタンをシーンビューオーバーレイに追加し、エフェクトを再スタートさせるために「Stop」と「Play」ボタンを押さなくても済むようにしました。
ゲームをライブサービスとして運用するにあたり、ゲームプレイヤーのニーズに適応させ、ゲームの新鮮な体験や楽しさを継続する必要があります。Unity 2017.2では、Unity AnalyticsのRemote Settingsが正式にリリースされました。
Remote Settings
Remote Settingsは簡単に使用できます。Unityエンジンにネイティブ実装され、Unityユーザーの間では最も人気のあるPlayerPrefsのようなAPIを持っているので特別に難しい使い方ではありません。
このRemote Settingsは大きく改善され、セグメントをサポートしました。セグメントとはある条件を満たすグループのことで、特定の条件を満たすプレイヤーのグループに対してアクションを起こすなどのカスタマイズができ、デプロイせずに即時に変更をゲームに反映できます。上のデモ動画では、
大型タイトルのモバイル版となるFinal Fantasy XV Pocket EditionでどのようにRemote Settingsが使われているかご覧頂けます。
Remote Settingsはベータ版だったものが正式にリリースされ、Analyticsダッシュボードからご利用いただけます。
レコーダー(実験的機能)
レコーダーは、ゲームプレイのフレームをキャプチャーしてイメージシーケンス(JPG, PNG, GIF, OpenEXR)とビデオファイル(WebMとWindows版H.264のみ)を生成します。この機能はUnityアセットストアからダウンロードしてエディターから利用できます。
このレコーダーには、レコーダーウィンドウが追加され、以下のスクリーンショットにあるようなオプションが利用できます:
「Frame Recorder Track」を使ってTimelineから直接レコーディングセッションをトリガーできます:
新機能や改善、修正のすべてのリストについてはリリースノートをご参照ください。
ベータ版のテストに参加いただき、2017.2のリリースを可能にしてくださったすべての方に感謝いたします。ご協力いただきありがとうございました!
2017.2ベータ版参加キャンペーンについて
現在、2017.2ベータ版参加キャンペーンの応募リストを確認しているところです。当選者はEメールでのご連絡をもって発表とさせていただきます。
2017.3ベータ版のテストにご協力ください
もしまだベータ版のテストに参加いただいていない場合、この機会にぜひご検討ください。プロジェクトがベータ版のバージョンと互換性がある場合、最新の新機能をお試しいただけます。
ベータ版にアクセスするには、
ベータ版ホームページにて手順をご確認の上、インストーラーをダウンロードしてください。ベータプログラムに参加いただくと、最新の機能をお試しいただけます。また、バグをご報告いただくことで、ソフトウェアとしての品質を改善していくことができます。まずは「効果的なベータテスターになるためのガイド」をご参照ください。また、任意ですので登録は必須ではありませんが、以下よりベータテスターのメーリングリストへご登録いただくと、新しいバージョンが利用可能になった際にこちらから通知をお送りするだけでなく、効果的なベータテスターになるためのコツなどもお送りすることができます。
ベータニュースレターの購読フォーム
Is this article helpful for you?
Thank you for your feedback!