トップページ > 記事閲覧
DxlibにおけるUnityのRaycastに相当する関数を
名前:巨人に登る 日時: 2018/09/16 23:57

題名の通りです キャラクターの視界システムを構築しようと思っているのですが 内積を使って二つのベクトルの角度を求めるのは見当がついているのです。 内積の計算結果が視野角を下回ったらレイを飛ばしたいのですが、 Dxlibにおける「レイ」に相当するものがわからず困っております。 どなたかご存知でしょうか?
メンテ

Page: 1 |

Re: DxlibにおけるUnityのRaycastに相当する関数を ( No.1 )
名前:管理人 日時:2018/09/17 00:46

Unity のレイに相当するものはDXライブラリでは MV1CollCheck_Line となります モデルと直線で当たり判定を行います // 線とモデルの当たり判定 MV1_COLL_RESULT_POLY MV1CollCheck_Line( int MHandle, int FrameIndex, VECTOR PosStart, VECTOR PosEnd ) ; // 当たり判定結果代入用構造体 struct MV1_COLL_RESULT_POLY { // ヒットフラグ( 1:ヒットした 0:ヒットしなかった ) int HitFlag ; // ヒット座標 VECTOR HitPosition ; // 当たったポリゴンが含まれるフレームの番号 int FrameIndex ; // 当たったポリゴンの番号 int PolygonIndex ; // 当たったポリゴンが使用しているマテリアルの番号 int MaterialIndex ; // 当たったポリゴンを形成する三点の座標 VECTOR Position[ 3 ] ; // 当たったポリゴンの法線 VECTOR Normal ; // 当たった座標は、当たったポリゴンの三点それぞれどの割合で影響しているか、の値( 当たった座標 = Position[ 0 ] * PositionWeight[ 0 ] + Position[ 1 ] * PositionWeight[ 1 ] + Position[ 2 ] * PositionWeight[ 2 ] ) float PositionWeight[ 3 ] ; // 当たったポリゴンの座標がそれぞれ最も影響を受けているフレームの番号 int PosMaxWeightFrameIndex[ 3 ] ; } ; ただ、Unity のレイは『レベル上に存在する全てのオブジェクトに対して一括して当たり判定を行う』ですが、 DXライブラリではモデル一つ一つに対して MV1CollCheck_Line で当たり判定を行う必要があります
メンテ
Re: DxlibにおけるUnityのRaycastに相当する関数を ( No.2 )
名前:巨人に登る(解決) 日時:2018/09/17 09:30

管理人さん 回答ありがとうございました。おかげで助かりました
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存