예제 #1
0
/// private メソッド
///---------------------------------------------------------------------------

        /// Y軸ビルボード用姿勢セット
        protected void setBillboardMatrixY(DemoGame.Camera camera)
        {
            Vector3 look = (camera.Pos - BasePos);

            look.Y = 0.0f;

            Common.MatrixUtil.LookTrgVec(ref BaseMtx, look);
            objFix.SetMatrixNoUpdate(BaseMtx);
        }
예제 #2
0
        /// Y軸ビルボード用姿勢セット
        private void SetBillboardMatrixY(DemoGame.Camera camera)
        {
            Vector3 look = camera.Pos - BasePos;

            look.Y = 0.0f;

            Common.MatrixUtil.LookTrgVec(ref BaseMtx, look);
            objMark.SetMatrix(BaseMtx);
        }
예제 #3
0
        /// Y軸ビルボード用姿勢セット
        protected void SetBillboardMatrixY(DemoGame.Camera camera)
        {
            Vector3 look = (camera.Pos - BasePos);

            look.Y = 0.0f;

            Common.MatrixUtil.LookTrgVec(ref BaseMtx, look);
            SetPlace(BaseMtx);
        }
예제 #4
0
/// private
///---------------------------------------------------------------------------

        /// ビルボード用姿勢セット
        private void SetBillboardMatrix(DemoGame.Camera camera)
        {
            Common.MatrixUtil.LookTrgVec(ref BaseMtx, camera.Pos - BasePos);
            objMark.SetMatrix(BaseMtx);

            Matrix4 mtx = objMark.Mtx;

            mtx.M41 = BaseMtx.M41 + BaseMtx.M31 * 2.0f;
            mtx.M42 = BaseMtx.M42 + BaseMtx.M32 * 2.0f;
            mtx.M43 = BaseMtx.M43 + BaseMtx.M33 * 2.0f;
            objMark.SetMatrix(mtx);
        }
예제 #5
0
        /// 登録開始
        public void EntryStart()
        {
            DemoGame.Camera camCore = GameCtrlManager.GetInstance().CtrlCam.GetCurrentCameraCore();
            Matrix4         mtx     = camCore.View.Inverse();

            Common.MatrixUtil.SetTranslate(ref mtx, camCore.Pos);
            cullingShape.SetMult(mtx);

            camPos = GameCtrlManager.GetInstance().CtrlCam.GetCamTrgPos();

            clear();
        }
예제 #6
0
/// デバック用
///---------------------------------------------------------------------------

        /// デバック用:描画
        public void Draw(DemoGame.GraphicsDevice graphDev, Rgba color)
        {
            DemoGame.RenderGeometry drawTri = new DemoGame.RenderGeometry();
            drawTri.MakeTriangle();

            DemoGame.Camera camera = graphDev.GetCurrentCamera();

            for (int i = 0; i < EntryNum; i++)
            {
                drawTri.DrawTriangle(graphDev.Graphics, Triangle[i], camera, color);
            }

            drawTri = null;
        }
예제 #7
0
/// private メソッド
///---------------------------------------------------------------------------



/// デバック用
///---------------------------------------------------------------------------

        /// デバック用:描画
        public void Draw(DemoGame.GraphicsDevice graphDev, int hitIdx, Rgba color1, Rgba color2)
        {
            DemoGame.RenderGeometry drawSph = new DemoGame.RenderGeometry();
            drawSph.MakeSphere();

            DemoGame.Camera camera = graphDev.GetCurrentCamera();

            if (hitIdx < 0)
            {
                drawSph.DrawSphere(graphDev.Graphics, this.Sphre, camera, color1);
            }
            else
            {
                drawSph.DrawSphere(graphDev.Graphics, this.Sphre, camera, color2);
            }

            drawSph = null;
        }
예제 #8
0
        /// カメラとプレイヤーとの位置関係をセット
        private void setCamPlBehindFlg()
        {
            DemoGame.Camera camCore = GameCtrlManager.GetInstance().CtrlCam.GetCurrentCameraCore();

            Vector3 plVec;

            plVec.X = actorCh.BaseMtx.M31;
            plVec.Y = actorCh.BaseMtx.M32;
            plVec.Z = actorCh.BaseMtx.M33;
            float dot = camCore.LookVec.Dot(plVec);

            if (dot > 0.0f)
            {
                AppInput.GetInstance().SetPlBehind(true);
            }
            else
            {
                AppInput.GetInstance().SetPlBehind(false);
            }
        }
예제 #9
0
 /// 破棄
 public override void DoTerm()
 {
     camCore = null;
 }
예제 #10
0
 /// 継承メソッド
 ///---------------------------------------------------------------------------
 /// 初期化
 public override bool DoInit()
 {
     camCore = new DemoGame.Camera();
     return true;
 }
예제 #11
0
 /// 破棄
 public override void DoTerm()
 {
     camCore = null;
 }
예제 #12
0
/// 継承メソッド
///---------------------------------------------------------------------------

        /// 初期化
        public override bool DoInit()
        {
            camCore = new DemoGame.Camera();
            return(true);
        }
예제 #13
0
 /// 開始
 public void Start()
 {
     DemoGame.Camera camCore = GameCtrlManager.GetInstance().CtrlCam.GetCurrentCameraCore();
     cullingShape.Set(camCore.Projection.Inverse());
 }
예제 #14
0
/// protected メソッド
///---------------------------------------------------------------------------

        /// ビルボード用姿勢セット
        protected void SetBillboardMatrix(DemoGame.Camera camera)
        {
            Common.MatrixUtil.LookTrgVec(ref BaseMtx, (camera.Pos - BasePos));
            SetPlace(BaseMtx);
        }