このページでは、2015.0.x リリースの新機能を紹介します。
これまでは、2 つのライブラリ セット(-md と – mt)が Win 32 および Win 64 用の MSVC 8.0、MSVC 9.0、および MSVC 10.0 の各Navigation パッケージに含まれていました。Gameware Navigation 2015.0.2 からは、lib ディレクトリに単一のライブラリ セットのみが含まれます。新しいライブラリ セットにリンクするよう、プロジェクトのビルド構成に合わせて、次のようにリンカを設定する必要があります。win<プラットフォーム>_<ツールセット>.debug、win<プラットフォーム>_<ツールセット>.release、または win<プラットフォーム>_<ツールセット>.shipping。このライブラリ セットは、–md または –mt によってビルドされた外部ライブラリに対してもリンクすることができます。
現在、InsidePosFromOutsidePosQuery クラスには、NavMesh の(X,Y)境界の外部にある指定された位置(m_inputPos3f)から NavMesh 内の有効な位置を検索するための次の 2 つのモードがあります。
World::Update() の後に、Bot::GetBotOutput() にアクセスして、outputVelocity、outputFrontDirection、avoidanceResult、upperBoundType を取得することができます。
パスを再計算する必要があるかどうかを確認するには、BotOutput::IsPathRecomputationNeeded() 関数を呼び出します。IsPathRecomputationNeeded() が true を返す場合は、パスを再計算する必要があります。詳細については、「パス フォローイングをモニタする」を参照してください。
これまでは、チャネルの境界からの距離の計算に浮動小数点のパラメータである(distToBorder)が使用されていました。channelWidth が小さすぎる(distToBorder の 2 倍未満の)場合、この距離は、スプラインが狭いチャネルの中央を通過するようにリラックスされていました。この distToBorder パラメータは、新しい DistanceToInnerCorner() 関数に置き換えられました。DistanceToInnerCorner() を使用すると、狭いチャネルの各サイドにある内側のコーナーからスプラインの最小距離をカスタマイズすることができます。詳細については、「軌道の計算と追従用のチャネル」を参照してください。
めったにないシナリオですが、NavMesh を崖から張り出させたい場合は、新しい GeneratorAdvancedParameters::m_forceNoErosionFromHoles パラメータを true に設定します。この設定によって、GeneratorAdvancedParameters::m_distanceFromHoles の動作を修正し、NavMesh を崖から張り出させます。
地形の NavMesh の境界と穴の間のデフォルトの距離を変更して、キャラクタが穴に落ちたり崖から誤って落下するのを防ぐために GeneratorAdvancedParameters::m_distanceFromHoles パラメータを利用します。GeneratorAdvancedParameters::m_forceNoErosionFromHoles が false (デフォルト値)に設定されている場合、NavMesh の境界と穴の間の距離は少なくとも m_distanceFromHoles です。m_distanceFromHoles が negative (デフォルト値)の場合、m_distanceFromHoles は entityRadius/2 に設定されています。
スプラインにアクセスすると、現在の Bot の位置とそのスプラインの計算方法が分かります。詳細については、「CircleArcSpline にアクセスする」を参照してください。
チャネルには、プリチャネル セクションとポストチャネル セクションがあります。詳細については、「軌道の計算と追従用のチャネル」を参照してください。
このリリースには、修正された不具合が多数含まれています。詳細については、Autodesk Gameware の開発者用サイト(http://gameware.autodesk.com)のリリース履歴を参照してください。