Exemple #1
0
    void TranslateViewerLatLng(float xmove, float zmove)
    {
        var bt    = moveplane.transform;
        var t     = transform;
        var p     = t.position;
        var postr = t.position.ToString("f3");

        var(vo, nrm, _) = qmm.GetWcMeshPosProjectedAlongY(p);
        var fwd = bt.forward;

        p += zmove * fwd + xmove * bt.right;
        var fwdstr = fwd.ToString("f2");

        var(vn, _, _) = qmm.GetWcMeshPosProjectedAlongY(p);
        //t.position = p + Vector3.up * (vn.y - vo.y);
        t.position = vn;
        //bt.position = t.position;
        if (Vector3.Dot(Vector3.up, nrm) < 0)
        {
            nrm = -nrm;
        }
        lstnrm = nrm;
        var nrmrot = Quaternion.FromToRotation(Vector3.up, nrm);

        body.transform.localRotation = nrmrot * bodyPrefabRotation;
        //bodypose.transform.localRotation = nrmrot;
        rodgo.transform.localRotation = nrmrot;
        var pnstr  = t.position.ToString("f3");
        var nrmstr = nrm.ToString("f3");
        //Debug.Log($"translate viewer = xmove:{xmove} zmove:{zmove} po:{postr}  pn:{pnstr}  fwd:{fwdstr}");
    }
Exemple #2
0
 public void InitViewer(QmapMesh qmm)
 {
     this.qmm          = qmm;
     viewerAvatar      = viewerAvatarDefaultValue;
     viewerCamPosition = ViewerCamPositionDefaultValue;
     viewerControl     = ViewerControlDefaultValue;
     //var (vo,_, istat) = qmm.GetWcMeshPosFromLambda(0.5f, 0.5f);
     var(vo, _, istat)       = qmm.GetWcMeshPosProjectedAlongY(viewerDefaultPosition);
     transform.position      = vo;
     transform.localRotation = Quaternion.Euler(viewerDefaultRotation);
     qcmdescriptor           = qmm.descriptor;
     BuildViewer();
 }