Stingray 1.6 (1.6.1011.0)では、3ds Max と Stingray 間のワークフローを強化することに重点を置いています。この機能を使用すると、3ds Max からシーンを送信して、Stingray で魅力的なリアルタイム レンダリングを生成する作業を簡単に行うことができます。新しいフレームのレンダリング ツールにより、インタラクティブなプロジェクトのビデオを高画質でキャプチャして、オンラインで共有できるようになりました。
このトピックのセクション:
このセクションでは、この Stingray の最新バージョンで使用可能となったすべての主要な新機能を説明します。
ここでは、解決済みのバグと既知の制限事項を、ワークフロー領域別に紹介しています。
このセクションでは、Stingray の最新リリースで判明している既知の新しい制限事項を説明します。
このセクションでは、Stingray の以前のバージョンで開始したプロジェクトの作業を行う場合に、最新バージョンに正常にアップグレードするための手順を説明しています。
新しいレベルの同期ワークフローを使用すると、Stingray 内で 3ds Max のシーンを自動的に再構築することができます。3ds Max を Stingray エディタにリンクすると、シーンのアセットに自動または手動でタグ付けし、Stingray で同じレイアウトを使用して再現することができます。3ds Max 内でアセットに行った修正は、Stingray 内で更新されます。これにより、2 つのツール内でレイアウトを手動で再現しなくても、シーンのビルド、反復、確認、および変更を簡単に行うことができます。このワークフローにより、Stingray シェーダにさらに多くの V-Ray マテリアルのプロパティを取り込むことが可能になるため、Stingray でも 3ds Max と同じように V-Ray マテリアルを表示して、同じように操作することができます。「Maya、Maya LT、3ds Max とのレベルの同期」を参照してください。
注: 上図で使用されているプロジェクトは、Virtual Resolution 社から提供していただきました。
アクティブなカメラまたはビューポートをキャプチャして、フレームを OpenEXR ファイル形式でディスクに保存できるようになりました。新しい Capture Frames ツールは、テスト エンジンのフレームのキャプチャもサポートしています。詳細については、「Capture Frames ツール」を参照してください。
ソース コードにアクセスしなくても、Stingray エンジン用のプラグインを C で記述できるようになりました。これにより、すべてのお客様が Stingray を拡張できる機能が改善されました。ランタイム エンジンを他のサードパーティ製ライブラリおよびミドルウェア SDK にフックしたり、独自のカスタム データ型をサポートしたり、独自のゲームプレイ コードを C で記述したりできます。
作業を開始する方法については、「Stingray SDK ヘルプ」を参照してください。
新しい viewports 拡張機能を使用すると、エンジンのビューポートをプラグインのパネルおよびビューに取り込んで、このビューポートのエンジンにロードされる内容や、ユーザとビューポートの相互作用方法を完全にコントロールすることができます。詳細については、こちらを参照してください。
エンジン ビューポート内でアセットまたはレベル オブジェクトを右クリックしたときにエディタに表示される、新しいコンテキスト アクションを追加できます。詳細については、こちらを参照してください。
エディタの JavaScript 環境から、.dll ファイル内で指定した C 関数を呼び出せるようになりました。この機能の概要を参照してください。
views 拡張機能を使用すると、名前付きのビューおよびパネルを設定し、ご使用のプラグインや他のプラグイン内の他の拡張機能からこれらを開くことができます。詳細については、こちらを参照してください。
プロジェクトの実行中に Lua を使用して新しいジオメトリを即座に作成できるようになりました。メッシュを作成し、マテリアルを適用した後、Stingray エディタを使用してシーン内に配置した他のオブジェクトと同じように、生成されたオブジェクトに対して動的に照射およびシェーディングすることができます。
上記のシーンで作業を開始するためのサンプル コードを参照してください。
ライトのベイク処理および後処理のエフェクト(SSAO、SSR)を次のように改善したことにより、建築ビジュアライゼーション シーンにおけるライティングの品質とパフォーマンスが向上しました。
Stingray 1.6 では、新機能を学習する場合に必要となる 2 つの要素(より多くの時間をかけること、そしてどこから開始したらよいかに関してアドバイスすること)をユーザに提供しています。
愛好家、熱心なユーザ、早期導入者は非商用のスタートアップ ライセンスを使用して Stingray を実行できるようになりました。30 日間の試用期間で足りない場合は、使用条件を調べて、自分が非商用ライセンスの対象者であるかどうかを確認してください。このライセンスを使用した最新のインストール手順については、「Stingray インストールの補足情報」のトピックを参照してください。
注: 非商用ライセンスはすべての国で使用できるわけではありません。
チュートリアル ビデオをすべて見終わってしまったら、Stingray の Help メニューに新しく追加された極秘任務、Hands-on Training Mission をお試しださい。5 つの簡単なインタラクティブ チュートリアル レッスンを行えます。ユーザはこのレッスンを通して Stingray の基本を習得し、独自のプロジェクトを作成することができます。(このレッスンは実際は極秘ではありません。あなたの意見をお聞かせください!)「スタートアップ」トピックにこの点に関する注意事項を追加しました。
アニメーション コントローラに、式をランタイムで評価してトランジションのフローをコントロールする新しいノード TransitionSwitch が追加されました。この式は TransitionSwitch 内で定義され、アニメーション コントローラ変数および関数(「sin」、「cos」、「abs」など)を使用できます。アニメーション イベントによって TransitionSwitch の開始トランジション(TransitionSwitchEntry)がトリガされ、TransitionSwitch で定義されたこの終了時の間隔値に対する式の評価結果に応じて、終了トランジションの 1 つ(TransitionSwitchExit)が使用されます。「アニメーション コントローラの状態」を参照してください。
布地オブジェクトを読み込む場合、APEX Cloth の定義を対応する物理ファイルに手動で追加する必要はありません。オブジェクトとともに布地の定義が読み込まれるため、Unit Editor でオブジェクトに布地リソースを追加できるようになりました。「Apex Cloth を有効にする」を参照してください。
フローを使用してエンティティをコントロールできるようになりました。
レベル内でエンティティを動的にスポーンしたり、エンティティのコンポーネント内でデータを設定および取得したり、スポーンまたはスポーン解除されているエンティティに応答したりする場合に使用できる、複数の新しいノードが追加されました。
新しいフロー コンポーネントを使用して、エンティティにフロー グラフを割り当てることができます。これらのフロー コンポーネントを使用すると、このタイプのユニットに独自のユニット フローを設定する場合と同様に、エンティティに対して再使用可能な動作を設定することができます。「フローまたは Lua を使用してエンティティの動作を設定する」を参照してください。
Stingray プロジェクトに一意のファイル拡張子 .stingray_project が使用されるようになったため、プロジェクトの検索やオープンが容易になりました。エディタ内でプロジェクトを開くには、.stingray_project ファイルをダブルクリックします。「既存のプロジェクトを開く」や「プロジェクト構造について」などのヘルプ トピックが更新されました。
Stingray の旧バージョンでは、リソースおよびフォルダの名前で使用されている . 文字に、リソースの「バリアント」を示すという特殊な意味がありました。 このため、ファイルやフォルダに必要な名前を自由に付けることができず、ファイル名にピリオドが含まれているソース アート ファイルを読み込むときは問題が発生することがありました。このようなすべての制限が解除され、リソース名の中でピリオドを必要に応じて自由に使用できるようになりました。
Stingray には法線、リニアカラーのグレースケール、アルベド、アルベド不透明度、粗さ/メタリック/AO など、テクスチャを分類してテクスチャ設定を適用するのに役立つ新しいテクスチャ カテゴリおよびテンプレートが含まれています。Texture Manager に新たに追加されたテクスチャ テンプレートには、サポート対象の各プラットフォームで機能する既定の圧縮設定が付属しています。プロジェクトに読み込まれたテクスチャには既定の圧縮設定が割り当てられるようになりました。「テクスチャとマテリアルが含まれたモデルを読み込む」を参照してください。
Create メニューのオクルーダ ボックスを使用すると、オブジェクトを隠し、最終的なレンダリング フレームに視覚的な影響を与えないシャドウやオブジェクトのレンダリングを回避することで、パフォーマンスを改善することができます。詳細については、「オクルーダ ボックスを作成する」を参照してください。
Plugin Manager で Get more plugins を選択して、新しい Stingray プラグインをダウンロードし、既存のプラグインを更新します。使用可能なプラグインの中から選択し、Install をクリックしてダウンロードします。「Plugin Manager を使用してプラグインを追加および除去する」を参照してください。
ソースのお客様は、エディタ内のビューポート レンダラーとして DX11 と DX12 を切り替えられるようになりました(Edit > Engine > Renderer)。このオプションを使用できるのは、ご使用のエンジンが DX12 をサポートしているときに、--use-d3d12 フラグを指定してエンジンをコンパイルする場合に限られます。「DX11 と DX12 を切り替える」を参照してください。
このリリースの Stingray では、さまざまな面でセキュリティが向上している、FBX の最新バージョン(2017.1)が選択されます。
Lua API に含まれる関数の中には、最終リリースではなく、開発中にのみ使用することを目的としているものがあります。たとえば、デバッグ、エディタとのコンソール接続の使用、リソースの自動ロード、パフォーマンス監視などを行う関数が該当します。これらの関数はリリース ビルドでは使用できません。ゲームプレイ コードからこれらの関数のいずれかを呼び出そうとすると、エンジンがクラッシュします。
ゲームをリリースするときに、これらの関数に対する呼び出しが失敗しないようにするために、これらの関数のいずれかが呼び出された場合に警告を出力するようエンジンの開発ビルドに要求できるようになりました。
これらの警告のオン/オフを切り替えるには、stingray.Application.toggle_dev_only_warnings() 関数を使用します。リリース前に、これらの警告がログに表示されていないことを確認してください。
Stingray は WebGL を使用することにより、Web ブラウザ内でプロジェクトをすばやく実行できるようになりました。コンパイルされたデータを独立したフォルダにパッケージ化して、データを読み取るのではなく、URL からコンテンツをロードするように、起動プロセスが更新されました。この URL にはコンテンツ フォルダの場所も表示されます。
このセクションでは、Stingray の既知の制限事項と回避策について説明します。
「修正事項」セクションに特に記載のない限り、このリリースには以前のバージョンの「Stingray リリース ノート」に記載される「既知の制限事項」と同じ内容が適用されることにご注意ください。
以前の VR テンプレート上に構築されたプロジェクトが Stingray 1.6 で機能しない
Stingray 1.6 は VR に対して大幅な更新が加えられているため、以前の VR テンプレートで構築されたプロジェクトは機能しません。以前の VR プロジェクトから最新の VR テンプレートにアセットを手動で移行する必要があります。ご迷惑をおかけしますが、VR に対する改善点を問題点の解消にお役立てください。
Stingray レンダラーでインスタンス化された立体視レンダリングが実行されるようになったため、以前の vr_renderer.render_config は不要になりました。また、SteamVR および Oculus のフロー ノードが追加されて、トラッキングの遅れが解消されました。VR の改善点の詳細については、リリース ノートの新機能のセクションを確認してください。
GAME-18910 開発およびリリース環境設定の場合は任意のプラットフォームに配備できるが、デバッグ設定の場合はエンジン ランタイムが見つからなくなって失敗する
回避策 : ありません。
GAME-19224 Stingray 1.5 から移行したプロジェクトと Wwise プロジェクトの関連付けが失われる
Stingray 1.5 で作成したプロジェクトを移行した後に、Window > Wwise Audio を選択して関連付けられた Wwise オーディオ プロジェクトをロードすると動作が停止する。
対処法:
(注: .stingray_project ファイルを修正する前に、プロジェクトのバックアップを作成しておくことをお勧めします。)
プロジェクトのルートに置かれた .stingray_project ファイルの description 行と migrations の行の間に、次の行を追加します。
libraries = { wwise = { project_file = "YourProject.wproj" root_folder = "../YourProject_wwise" } }
GAME-18474 1GB iOS デバイスでテンプレート プロジェクトが実行されない
既定の Stingray テンプレート プロジェクトの 1 つをロードして、iPad mini などの 1GB iOS デバイスを配置するか、このデバイスに接続すると、プロジェクトが失敗します。
回避策: boot.package プロジェクト ファイル内の* = ["*"] 行をコメント アウトします。この修正が有効なのは、基本テンプレートと車両テンプレートのみです。キャラクタ テンプレートでは機能しません。
GAME-19295 Project Manager の Online Examples タブでプロジェクトをダウンロードすると、このプロジェクトを移行するように求めるメッセージが表示され、既定レベルをロードできない
Stingray を起動するときに Project Manager の Online Examples タブでサンプル プロジェクトをダウンロードすると、これらのプロジェクトが Stingray 1.6 で機能するように既に移行されている場合も、プロジェクトを移行するように求められます。単に Yes をクリックすると、Stingray はプロジェクトを再び移行できるようになります。
プロジェクトをロードしたら、作業するレベルを手動で開く必要があります。(File > Open Level を選択します。)
回避策: Gamedev Web サイトで同じサンプル プロジェクトを参照して、ダウンロードします。Stingray でこのプロジェクトを開くと、既定のレベルが自動的に起動します。
Stingray を含むオートデスク製品の完全なインストール ガイドが、Stingray オンライン ヘルプ(こちら)に含まれています。
このセクションでは、Stingray の旧バージョンを使用しているユーザ向けに、特定のアップグレード手順を必要とする改善点と修正事項について説明します。
このリリースの Lua API のすべての新しい要素、変更された要素、削除された要素の完全なリストについては、「バージョン履歴」を参照してください。
プロジェクト内の API 要素が変更または除去された場合は、それに応じてコードを調整する必要があります。
このリリースのすべての新しいフロー ノード、変更されたフロー ノード、削除されたフロー ノードの完全なリストについては、「バージョン履歴」を参照してください。
このリリースの主な特徴は、エンティティと連携するためのフロー ノードがいくつか追加されていることです。
削除されたノードは 1 つのみです(Application > Get Source Platform)。
読み込まれたアセット内で前方方向を維持するには、settings.ini ではなく .stingray_project で前方軸の設定(reverse_forward_axis)を行います。「ベスト プラクティス: 軸方向を保持する」を参照してください。
旧バージョンの Stingray から移行したプロジェクトでは、前方軸の設定が引き続き settings.ini から読み取られます。
既存のプロジェクトの中に、リソースのさまざまなバリアントを示すために古い Stingray リソース プロパティ システムを使用するものがある場合は、.stingray_project ファイルをさらにカスタマイズしなければならない可能性があります。リソース名に含まれている . 文字に基づいてエンジンがリソースをバリアントとして自動的に認識することはなくなりました。.stingray_project ファイル内の新しい data_compiler 設定によって、どのサフィックスがプロパティ名として処理されるのかがデータ コンパイラに正確に伝えられるようになりました。この変更は、プラットフォームのプロパティ名(.ps4 や .ios など)と、言語名やコンテンツのプロパティ名(.en、.ja、.lowres など)の両方に適用されます。これにより、プロパティ システムを詳細にコントロールできるようになり、ファイルやフォルダの名前内でピリオドの使用が制限されることがなくなりました。
プラットフォームに対して従来と同じ方法でリソースのサフィックスが機能するようにコンパイラを設定するには、ご使用の .stingray_project ファイル内に、最新のプロジェクト テンプレート内にあるのと同様な data_compiler ブロックが含まれていることを確認する必要があります。
data_compiler = { file_folder_extensions = [ ".s2d" ] resource_overrides = [ { platforms = [ "win32" ] suffix = ".win32" } { platforms = [ "ps4" ] suffix = ".ps4" } { platforms = [ "xb1" ] suffix = ".xb1" } { platforms = [ "ios" ] suffix = ".ios" } { platforms = [ "android" ] suffix = ".android" } ] }
また、言語ごとに異なるバージョンのリソースを使用している場合は、次に示す言語のサフィックスも含める必要があります。
data_compiler = { resource_overrides = [ {suffix = ".ja", flags = ["ja"]} {suffix = ".fr", flags = ["fr"]} ] }
さらに、新しい stingray.Application.set_resource_override(flag_name, priority) 関数を呼び出して、これらの言語フラグの中のいずれをアクティブにするのかの識別方法も変更する必要があります。
詳細については、「リソースをローカライズする」を参照してください。
このリリースは、ソース コードからすべてのコンポーネントを再ビルドするために Visual Studio 2012 をサポートする、最後の Stingray リリースになる予定です。開発ブランチは既に Visual Studio 2015 に移行しています。