delphiでMMO
■ このスレッドは過去ログ倉庫に格納されています
009791
04/07/14 11:05ID:PzgWFfKg// クライアント座標から-1.0〜1.0に変換
half.X := (ClientWidth div 2);
half.Y := (ClientHeight div 2);
pos.x := ((pos.x - half.X)/(ClientWidth));
pos.y := - ((pos.y - half.Y)/(ClientHeight));
//適当にそれっぽい値にする
pos.x := pos.x * ((1+pos.Z));
pos.y := ((pos.y * Scene.FovH)*(1+pos.Z))/2;//
// プロジェクションマトリクスで座標変換します。
pos:=NowTransform(pos, NowInvMatrix(Scene.ProjectionMatrix));
testFigure2.Figure.TopFrame.SetTranslation(Camera ,pos);
これで適当なZ値で2点を取ってその直線に交差する平面を探せば良いのかな?
DirectXにD3DXIntersectって関数があるらしいけどQDの場合は自前でやるしかないのかなぁ・・
■ このスレッドは過去ログ倉庫に格納されています