私はパノラマシーンに取り組んでいます。そして、カーソルで平面を動かしたい。マウスを動かすとき、平面はマウス座標でなければなりません。そして、平面の3D座標(x、y、z)を特にz座標に取りたいです。以下のコードを試します。しかし、正しく動作しません。マウスと平面は、画面上の同じ座標ではありません。どうすればいいですか?
public class RayTracer
{
public static function getIntersection(viewport:Viewport3D, camera:CameraObject3D, normal:Array):Number3D
{
var plane3D:Plane3D=new Plane3D();
plane3D.setNormalAndPoint(new Number3D(0, 1, 0), new Number3D(0, 0, 0));
var cameraPosition:Number3D=new Number3D(camera.x, camera.y, camera.z);
var ray:Number3D=camera.unproject(viewport.containerSprite.mouseX, viewport.containerSprite.mouseY);
ray=Number3D.add(ray, cameraPosition);
var intersect:Number3D=plane3D.getIntersectionLineNumbers(cameraPosition, ray);
return intersect;
}
}