トップページ > 記事閲覧
当たり判定の回転について
名前:初心者 N 日時: 2015/12/07 00:32

現在当たり判定をモデルに付けてそれを左右にモデル回転をするときに当たり判定(現在は赤い線で回転しているかを確認しています)が回転するように設定をしたいのですが、うまくいきません フォルダとしてはこちらになります。(pass 2784) リンク:ttp://fast-uploader.com/file/7004971082847/ 回転をするときに現在はモデルの中心から前方と後方に分けて当たり判定をしています.MV1CoolCheck_LineでStartPos,EndPosを設定しているのですが、自分の考えではEndPosの位置を左右の回転の際にモデルの回転と合わせることでうまくいくのかなと思いしたのですができないままで困っているという状況にあります。
メンテ

Page: 1 |

Re: 当たり判定の回転について ( No.1 )
名前:管理人 日時:2015/12/09 00:19

初心者Nさんが仰られている当たり判定とは何の当たり判定でしょうか?( 戦車全体の当たり判定でしょうか? ) 現在A,Dキーを押したときに変更される回転値が Player1->PCmr.HoutouAngle Player1->PCmr.SyuhouAngle Player1->PCmr.SonotaAngle の3つあるようですが、どの回転値に従って回転させたいのでしょうか?
メンテ
Re: 当たり判定の回転について ( No.2 )
名前:初心者 N 日時:2015/12/09 13:04

戦車全体の当たり判定をしたいと思っています。 回転値はPlayer1->PCmr.SonotaAngleを使って回転をしたいと考えています。
メンテ
Re: 当たり判定の回転について ( No.3 )
名前:管理人 日時:2015/12/10 00:35

ご返答ありがとうございます、把握できました 戦車の移動の時に向きによって進む方向を変えるために sin と cos と Player1->PCmr.SonotaAngle を使いましたが、 当たり判定も同じで sin と cos と Player1->PCmr.SonotaAngle を使って EndPos の位置を回転する必要があります とりあえずこちらの部分を Player1->HF.PlayerHitFrontCoordinate.z -= 10;//戦車モデル前方の当たり判定設定 Player1->HF.FrontEndPos = Player1->HF.PlayerHitFrontCoordinate; //FrontEndにモデル座標からz軸を-10したものを入れる このように //Player1->HF.PlayerHitFrontCoordinate.z -= 10;//戦車モデル前方の当たり判定設定 Player1->HF.FrontEndPos = Player1->HF.PlayerHitFrontCoordinate; //FrontEndにモデル座標からz軸を-10したものを入れる Player1->HF.FrontEndPos.x += sin(Player1->PCmr.SonotaAngle.y) * -10.0f; Player1->HF.FrontEndPos.z += cos(Player1->PCmr.SonotaAngle.y) * -10.0f; あと、こちらの部分も Player1->HF.PlayerHitFrontCoordinate.z += 10;//戦車モデル後方の当たり判定設定 Player1->HF.FrontEndPos = Player1->HF.PlayerHitFrontCoordinate; //FrontEndにモデル座標からz座標+10入れたものを入れる このように //Player1->HF.PlayerHitFrontCoordinate.z += 10;//戦車モデル後方の当たり判定設定 Player1->HF.FrontEndPos = Player1->HF.PlayerHitFrontCoordinate; //FrontEndにモデル座標からz座標+10入れたものを入れる Player1->HF.FrontEndPos.x += sin(Player1->PCmr.SonotaAngle.y) * 10.0f; Player1->HF.FrontEndPos.z += cos(Player1->PCmr.SonotaAngle.y) * 10.0f; 変更すれば当たり判定の向きが Player1->PCmr.SonotaAngle に合わせて回転します よろしければお試しください
メンテ
Re: 当たり判定の回転について ( No.4 )
名前:初心者 N 日時:2015/12/12 20:35

ありがとうございます。 当たり判定の向きが変わっていることが確認できました。 この線分がSonotaのAngleに合わせて回転することができるというのは理解できたのですが、線分が伸びたり縮んだりといったように回転時に感じるのですがこれは線分の方向が戦車と平行に設定ができていないために起こっている症状なのでしょうか? それとも別の原因があるのでしょうか?
メンテ
Re: 当たり判定の回転について ( No.5 )
名前:管理人 日時:2015/12/13 02:55

> この線分がSonotaのAngleに合わせて回転することができるというのは理解できたのですが、線分が伸びたり縮んだりといったように回転時に感じるのですがこれは線分の方向が戦車と平行に設定ができていないために起こっている症状なのでしょうか? 私が手元で確認する限りでは線分は伸びたり縮んだりはしていません プログラムとしても向きによって長さが変化するような計算は行っていませんので、気のせい( 3Dで描画しているので、向きによって 縮んでいるように見えるなど )ではないでしょうか?
メンテ
Re: 当たり判定の回転について ( No.6 )
名前:初心者 N 日時:2015/12/14 21:02

現状のプロジェクトの最新版がこちらになっているのですが、どうしても伸びたり縮んでいるように感じてしまいます。  URL : ttp://fast-uploader.com/file/7005649963894/ Pasu : 2784
メンテ
Re: 当たり判定の回転について ( No.7 )
名前:管理人 日時:2015/12/17 00:41

アップしていただいたプログラムを拝見しました 確かに伸びたり縮んだりしていました No.3 で申し上げました通り、こちらの2行をコメントアウトすれば伸びたり縮んだりしなくなります ( アップしていただいたプログラムではコメントアウトされていませんでした ) <116行目> Player1->HF.PlayerHitFrontCoordinate.z -= 10;//調整 <146行目> Player1->HF.PlayerHitFrontCoordinate.z += 10;//戦車モデル後方の当たり判定設定  ↓  ↓  コメントアウト  ↓ <116行目> //Player1->HF.PlayerHitFrontCoordinate.z -= 10;//調整 <146行目> //Player1->HF.PlayerHitFrontCoordinate.z += 10;//戦車モデル後方の当たり判定設定 よろしければお試しください
メンテ
Re: 当たり判定の回転について ( No.8 )
名前:初心者 N 日時:2015/12/17 10:35

ありがとうございます。 正しく回転できました
メンテ

Page: 1 |

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

   クッキー保存