Exemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        ready       = false;
        menuvisible = false;

        //メソッドポインタ初期化
        actions = new userAction[] { moveToARMode, moveToMapMode, changeEclipseData, showHelpMessage };

        //カメラ関連変数初期化
        maincam      = Camera.main;
        camcontainer = GameObject.Find("CameraContainer");
        camposition  = new Vector3();

        //アプリデータ
        appdata = ApplicationData.getApplicationData();
        //データ選択クラス
        datachooser = gameObject.GetComponent <EclipseDataChooser>();
        //時計
        clock = gameObject.GetComponent <Clock>();
        //データ格納用配列
        posdata = new double[7];
        //位置の初期設定を行う
        positionUpdated(0.0f, 0.0f);

        //影を描くクラス
        shadowrenderer = new UmbralShadowRenderer();

        //日光
        sunlight = GameObject.Find("SunLight");

        //地球の影を描くテクスチャ
        earthshadow = new Texture2D(512, 512);
        StartCoroutine("getTextureAsset", appmenu);

        //地球モデルのサイズ
        //Debug.Log("earthsize = "+ earth.GetComponent<Renderer>().bounds.size.x);
        //地球モデルにテクスチャを張る
        GameObject earth = GameObject.Find("perfectsphere");

        Material[] mats = earth.GetComponent <Renderer>().materials;
        mats[1].SetTexture("_MainTex", earthshadow);

        //データセット
        //StartCoroutine("initEclipseDataFromAssetBundle", "20301125.json");
        //initEclipseData(datafile);
        initFromEclipseDataHolder();

        //初回のヘルプ表示は終わっているか
        if (!appdata.has3DHelpShown)
        {
            showHelpMessage();
            appdata.has3DHelpShown = true;
            appdata.saveApplicationData();
        }
    }
Exemplo n.º 2
0
    void Start()
    {
        ready       = false;
        menuvisible = false;
        helpvisible = false;
        //カメラ
        maincam = Camera.main;
        //時計
        clock = gameObject.GetComponent <Clock>();

        //メソッドポインタ初期化
        actions   = new userAction[] { moveToARMode, moveTo3DMode, changeEclipseData, showHelpMessage };
        container = GameObject.Find("CameraContainer");

        //データ格納用配列
        posdata = new double[7];
        //アプリデータ
        appdata = ApplicationData.getApplicationData();
        //影を描くクラス
        shadowrenderer = new UmbralShadowRenderer();
        //データを選ぶクラス
        chooser       = gameObject.GetComponent <EclipseDataChooser>();
        mapcontroller = gameObject.GetComponent <MapControll>();

        //テクスチャ
        earthshadow = new Texture2D(512, 512);
        StartCoroutine("getTextureAsset", appmenu);

        //地球モデルにテクスチャを貼る
        GameObject earth = GameObject.Find("MapBoard");

        Material[] mats = earth.GetComponent <Renderer>().materials;
        mats[1].SetTexture("_MainTex", earthshadow);

        //データセット
        //StartCoroutine("initEclipseDataFromAssetBundle", "20211125.json");
        //initEmptyEclipseData();
        initFromEclipseDataHolder();

        //初回のヘルプ表示は終わっているか
        if (!appdata.hasMapHelpShown)
        {
            showHelpMessage();
            appdata.hasMapHelpShown = true;
            appdata.saveApplicationData();
        }
    }
Exemplo n.º 3
0
    void Start()
    {
        ready       = false;
        menuvisible = false;
        //メソッドポインタ初期化
        actions = new userAction[] { moveToMapMode, moveTo3DMode, changeEclipseData, setCurrentLocation, setMapPoint, moveToCalibration, showHelpMessage };

        //時計
        clock = gameObject.GetComponent <Clock>();
        //選択クラス
        chooser = gameObject.GetComponent <EclipseDataChooser>();
        //地点の選択
        pointchooser = gameObject.GetComponent <ARPointChooser>();
        //画像の読み込み
        images = new Texture2D[imagepaths.Length];
        foreach (string path in imagepaths)
        {
            StartCoroutine("getTextureAsset", path);
        }
        //数字の読み込み
        numbers = new Texture2D[10];
        for (int i = 0; i < 10; i++)
        {
            StartCoroutine("getTextureAsset", "numero/" + i.ToString() + ".png");
        }
        //誘導サインを読み込む
        signboards = new Texture2D[signboardpaths.Length];
        for (int i = 0; i < signboardpaths.Length; i++)
        {
            StartCoroutine("getTextureAsset", signboardpaths[i]);
        }

        //点滅
        blink = true;

        //表示位置格納用Rect
        sunrect = new Rect();
        //カメラ
        maincam = Camera.main;
        //データから読みだした天体の位置格納用配列
        posdata = new double[7];

        //デバイスの回転の保存用
        camrotation = Quaternion.identity;

        //カメラ画像を表示するクラス
        GameObject quad = GameObject.Find("Quad");

        camview = quad.GetComponent <CameraView>();
        //アプリケーションの保存してあるデータ
        appdata = ApplicationData.getApplicationData(); horizontalFOV = appdata.HorizontalAngle;


        //画角の読み込み
        //キャリブレーションが実行された後
        if (Calibration.calibrated)
        {
            horizontalFOV           = Calibration.horizontal;
            verticalFOV             = Calibration.vertical;
            calibrated_orientation  = (int)Calibration.deviceOrientation;
            appdata.HorizontalAngle = horizontalFOV;
            appdata.VerticalAngle   = verticalFOV;
            appdata.Orientation     = calibrated_orientation;
            appdata.saveApplicationData();
            calibrated = true;
        }
        else
        {
            horizontalFOV          = appdata.HorizontalAngle;
            verticalFOV            = appdata.VerticalAngle;
            calibrated_orientation = appdata.Orientation;

            if (horizontalFOV == 0.0f | verticalFOV == 0.0f)
            {
                calibrated = false;
            }
            else
            {
                calibrated = true;
            }
        }

        //観測地点読み込み
        locationmode = MAP_LOCATION;
        longitude    = appdata.ARLongitude;
        latitude     = appdata.ARLatitude;

        Input.gyro.enabled = true;
        Input.location.Start();
        Input.compass.enabled = true;

        initFromEclipseDataHolder();
        //initEclipseData("20300601.json");
        //StartCoroutine("initEclipseDataFromAssetBundle", "20300601.json");

        //初回のヘルプ表示は終わっているか
        if (!appdata.hasARHelpShown)
        {
            showHelpMessage();
            appdata.hasARHelpShown = true;
            appdata.saveApplicationData();
        }
    }