Example #1
0
        public override void OnEnabled()
        {
//			guiComponent = new ARConfigGuiComponent();
//
//			guiComponent.WwwImageReplaceTrackerEventMethods += HandleGuiComponentWwwImageReplaceTrackerEventMethods;
//			guiComponent.PhotoReplaceTrackerEventMethods += HandleGuiComponentPhotoReplaceTrackerEventMethods;
//			guiComponent.ScaleEventMethods += SetScale;

            GameObject _mcFieldGO = new GameObject("MC Field");

            mcField = _mcFieldGO.AddComponent <McField>();

            mcField.blockMaterial = Resources.Load("triplanar") as Material;

//			ImageTargetBehaviour _tracker = GameObject.FindObjectOfType(typeof(ImageTargetBehaviour)) as ImageTargetBehaviour;
//
//			if(_tracker!=null) {
//
//				_mcFieldGO.transform.parent = _tracker.transform;
//				_mcFieldGO.transform.position = new Vector3(0,0,-0.5f);
//
//			}

            base.OnEnabled();
        }
Example #2
0
        public McValues(McField mcField)
        {
            // values are 2units bigger than the actual field, so surrounding values are zero;

            //PerlinNoiseI _noiseGenerator = new PerlinNoiseI(123);
            //double [,,] _dvalues = _noiseGenerator.Generate3D(_rezX+1, _rezY+1, _rezZ+1, 0, 0, 0);

            this.mcField = mcField;

            values = new float[_rezX + 1, _rezY + 1, _rezZ + 1];

            for (_x = 0; _x < _rezX; _x++)
            {
                for (_y = 0; _y < _rezY; _y++)
                {
                    for (_z = 0; _z < _rezZ; _z++)
                    {
                        // if it's around the edge, set it to zero
                        if (_x == 0 || _y == 0 || _z == 0 ||
                            _x == _rezX || _y == _rezY || _z == _rezZ)
                        {
                            values[_x, _y, _z] = 0f;
                        }
                        else
                        {
                            if (shape == INITIAL_SHAPE.SPHERE)
                            {
                                float _mag = (new Vector3(_x, _y, _z) - new Vector3(_rezX / 2, _rezY / 2, _rezZ / 2)).magnitude;

                                float _pwr = _mag / (_rezX - 2);                                 // -2 is for the border

                                if (_pwr < 0.4f)
                                {
                                    _pwr = 1.0f;
                                }

                                values[_x, _y, _z] = 1 - _pwr;                             // reverse value

                                // values[_x,_y,_z] += Random.Range(.0f,.01f);
                            }
                            else
                            {
                                values[_x, _y, _z] = Random.Range(.5f, 1f);
                            }
                        }
                    }
                }
            }
        }
Example #3
0
        public override void OnEnabled()
        {
            //			guiComponent = new ARConfigGuiComponent();
            //
            //			guiComponent.WwwImageReplaceTrackerEventMethods += HandleGuiComponentWwwImageReplaceTrackerEventMethods;
            //			guiComponent.PhotoReplaceTrackerEventMethods += HandleGuiComponentPhotoReplaceTrackerEventMethods;
            //			guiComponent.ScaleEventMethods += SetScale;

            GameObject _mcFieldGO = new GameObject("MC Field");
            mcField = _mcFieldGO.AddComponent<McField>();

            mcField.blockMaterial = Resources.Load("triplanar") as Material;

            //			ImageTargetBehaviour _tracker = GameObject.FindObjectOfType(typeof(ImageTargetBehaviour)) as ImageTargetBehaviour;
            //
            //			if(_tracker!=null) {
            //
            //				_mcFieldGO.transform.parent = _tracker.transform;
            //				_mcFieldGO.transform.position = new Vector3(0,0,-0.5f);
            //
            //			}

            base.OnEnabled ();
        }
        public McValues(McField mcField)
        {
            // values are 2units bigger than the actual field, so surrounding values are zero;

            //PerlinNoiseI _noiseGenerator = new PerlinNoiseI(123);
            //double [,,] _dvalues = _noiseGenerator.Generate3D(_rezX+1, _rezY+1, _rezZ+1, 0, 0, 0);

            this.mcField = mcField;

            values = new float[_rezX+1, _rezY+1, _rezZ+1];

            for(_x=0;_x<_rezX;_x++) {

                for(_y=0;_y<_rezY;_y++) {

                    for(_z=0;_z<_rezZ;_z++) {

                        // if it's around the edge, set it to zero
                        if(_x == 0 || _y == 0 || _z == 0 ||
                           _x == _rezX || _y == _rezY || _z == _rezZ )
                            values[_x,_y,_z] = 0f;
                        else {

                            if(shape==INITIAL_SHAPE.SPHERE) {

                                float _mag = (new Vector3(_x, _y, _z) - new Vector3(_rezX/2, _rezY/2, _rezZ/2)).magnitude;

                                float _pwr = _mag / (_rezX - 2); // -2 is for the border

                                if(_pwr < 0.4f)
                                    _pwr = 1.0f;

                                values[_x,_y,_z] = 1-_pwr; // reverse value

                                // values[_x,_y,_z] += Random.Range(.0f,.01f);

                            } else {

                                values[_x,_y,_z] = Random.Range(.5f,1f);

                            }

                        }

                    }

                }

            }
        }