void Awake()
 {
     rigidBody     = GetComponent <Rigidbody> ();
     sea           = GameObject.FindGameObjectWithTag("SEA");
     updateObjMesh = new UpdateObjMesh(this.gameObject, this.sea);
     // underWaterMesh = underWaterObj.GetComponent<MeshFilter> ().mesh;
 }
    void Awake()
    {
        this.particles   = new LinkedList <Particle>();
        this.heightfield = GetComponent <HeightField>();
        this.CreateSidePlanes();
        this.buckets = new HashSet <Particle> [gridnum + 1, gridnum + 1];
        GameObject floatItem = GameObject.FindGameObjectWithTag("ITEM");

        floatItemRB   = floatItem.GetComponent <Rigidbody> ();
        objectForce   = floatItem.GetComponent <ObjectForce> ();
        volecityDir   = 0f;
        updateObjMesh = objectForce.updateObjMesh;
        for (int i = 0; i < gridnum + 1; ++i)
        {
            for (int j = 0; j < gridnum + 1; ++j)
            {
                this.buckets[i, j] = new HashSet <Particle> ();
            }
        }
    }