Gameware Navigation 2015.0.x の新機能

このページでは、2015.0.x リリースの新機能を紹介します。

2015.0.2

単一の SDK ライブラリ セット

これまでは、2 つのライブラリ セット(-md と – mt)が Win 32 および Win 64 用の MSVC 8.0MSVC 9.0、および MSVC 10.0 の各Navigation パッケージに含まれていました。Gameware Navigation 2015.0.2 からは、lib ディレクトリに単一のライブラリ セットのみが含まれます。新しいライブラリ セットにリンクするよう、プロジェクトのビルド構成に合わせて、次のようにリンカを設定する必要があります。win<プラットフォーム>_<ツールセット>.debugwin<プラットフォーム>_<ツールセット>.release、または win<プラットフォーム>_<ツールセット>.shipping。このライブラリ セットは、–md または –mt によってビルドされた外部ライブラリに対してもリンクすることができます。

InsidePosFromOutsidePosQuery クラスのモード

現在、InsidePosFromOutsidePosQuery クラスには、NavMesh の(X,Y)境界の外部にある指定された位置(m_inputPos3f)から NavMesh 内の有効な位置を検索するための次の 2 つのモードがあります。

  • INSIDEPOSFROMOUTSIDE_FROM_NEAREST_HALFEDGE — 指定した位置から最も近い NavMesh の境界が検出され、NavMesh の境界内の有効な位置が計算されます。
  • INSIDEPOSFROMOUTSIDE_FROM_RAYCAST – 指定された方向(m_castDirection)の指定された位置からのレイを使用して最も近い NavMesh の境界が検出されます。NavMesh の境界内の有効な位置の計算には、レイと交差する境界のみが使用されます。

2015.0.0

Bot クラスに BotOutput を追加

World::Update() の後に、Bot::GetBotOutput() にアクセスして、outputVelocityoutputFrontDirectionavoidanceResultupperBoundType を取得することができます。

パスを再計算する必要があるかどうかを確認するには、BotOutput::IsPathRecomputationNeeded() 関数を呼び出します。IsPathRecomputationNeeded() が true を返す場合は、パスを再計算する必要があります。詳細については、「パス フォローイングをモニタする」を参照してください。

狭いチャネルでのスプライン計算

これまでは、チャネルの境界からの距離の計算に浮動小数点のパラメータである(distToBorder)が使用されていました。channelWidth が小さすぎる(distToBorder の 2 倍未満の)場合、この距離は、スプラインが狭いチャネルの中央を通過するようにリラックスされていました。この distToBorder パラメータは、新しい DistanceToInnerCorner() 関数に置き換えられました。DistanceToInnerCorner() を使用すると、狭いチャネルの各サイドにある内側のコーナーからスプラインの最小距離をカスタマイズすることができます。詳細については、「軌道の計算と追従用のチャネル」を参照してください。

新しい NavMesh 生成パラメータ

めったにないシナリオですが、NavMesh を崖から張り出させたい場合は、新しい GeneratorAdvancedParameters::m_forceNoErosionFromHoles パラメータを true に設定します。この設定によって、GeneratorAdvancedParameters::m_distanceFromHoles の動作を修正し、NavMesh を崖から張り出させます。

地形の NavMesh の境界と穴の間のデフォルトの距離を変更して、キャラクタが穴に落ちたり崖から誤って落下するのを防ぐために GeneratorAdvancedParameters::m_distanceFromHoles パラメータを利用します。GeneratorAdvancedParameters::m_forceNoErosionFromHoles が false (デフォルト値)に設定されている場合、NavMesh の境界と穴の間の距離は少なくとも m_distanceFromHoles です。m_distanceFromHoles が negative (デフォルト値)の場合、m_distanceFromHolesentityRadius/2 に設定されています。

チャネルの CircleArcSpline へのアクセス

スプラインにアクセスすると、現在の Bot の位置とそのスプラインの計算方法が分かります。詳細については、「CircleArcSpline にアクセスする」を参照してください。

チャネルのプリチャネル セクションと ポストチャネル セクション

チャネルには、プリチャネル セクションとポストチャネル セクションがあります。詳細については、「軌道の計算と追従用のチャネル」を参照してください。

修正された不具合

このリリースには、修正された不具合が多数含まれています。詳細については、Autodesk Gameware の開発者用サイト(http://gameware.autodesk.com)のリリース履歴を参照してください。