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); } } } } } }
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); } } } } } }