コード例 #1
0
    // Add one water plane
    void AddWaterPlane(float xCoord, float zCoord, float yCoord, float squareWidth, float spacing)
    {
        GameObject waterPlane = Instantiate(waterSqrObj, transform.position, transform.rotation) as GameObject;

        waterPlane.SetActive(true);

        // Update position
        Vector3 centerPos = transform.position;

        centerPos.x += xCoord;
        centerPos.y  = yCoord;
        centerPos.z += zCoord;

        waterPlane.transform.position = centerPos;

        // Parent it
        waterPlane.transform.parent = transform;

        // Give it moving water
        //WaterSquare newWaterSquare = new WaterSquare (waterPlane, squareWidth, spacing);
        WaterSquare newWaterSquare = waterPlane.AddComponent <WaterSquare>();

        newWaterSquare.Init(waterPlane, squareWidth, spacing);

        waterSquares.Add(newWaterSquare);
    }
コード例 #2
0
    void AddWaterPlane(float xCoord, float zCoord, float yPos, float squareWidth, float spacing)
    {
        GameObject waterPlane = Instantiate(waterSqrObj, transform.position, transform.rotation) as GameObject;

        waterPlane.SetActive(true);
        Vector3 centerPos = transform.position;

        centerPos.x += xCoord;
        centerPos.y  = yPos;
        centerPos.z += zCoord;

        waterPlane.transform.position = centerPos;

        waterPlane.transform.parent = transform;

        WaterSquare newWaterSquare = new WaterSquare(waterPlane, squareWidth, spacing);

        waterSquares.Add(newWaterSquare);
    }
コード例 #3
0
    //Add a new water square if needed
    private void AddNewWaterSquare()
    {
        //Create a new water chunk
        WaterChunk newChunk = new WaterChunk();

        //Add it to the list of all chunks
        allWaterChunks.Add(newChunk);

        //Need to set its width and resolution before instantiating a chunk because we
        //are creating the mesh in awake
        WaterSquare waterSquareScript = waterSquareObj.GetComponent <WaterSquare>();

        waterSquareScript.width = chunkWidth;


        //Add water chunks with different resolutions
        waterSquareScript.resolution = 2;

        GameObject highDetailedWaterChunk = Instantiate(waterSquareObj, transform) as GameObject;

        newChunk.highDetailedWaterChunk = highDetailedWaterChunk;


        waterSquareScript.resolution = 5;

        GameObject mediumDetailedWaterChunk = Instantiate(waterSquareObj, transform) as GameObject;

        newChunk.mediumDetailedWaterChunk = mediumDetailedWaterChunk;


        waterSquareScript.resolution = 50;

        GameObject lowDetailedWaterChunk = Instantiate(waterSquareObj, transform) as GameObject;

        newChunk.lowDetailedWaterChunk = lowDetailedWaterChunk;

        //Deactivate the chunk
        newChunk.DeactivateChunk();
    }
コード例 #4
0
    //Add one water plane
    void AddWaterPlane(float xCoord, float zCoord, float yPos, float squareWidth, float spacing)
    {
        GameObject waterPlane = Instantiate(waterSqrObj, transform.position, transform.rotation) as GameObject;

        waterPlane.SetActive(true);

        //Change its position
        Vector3 centerPos = transform.position;

        centerPos.x += xCoord;
        centerPos.y  = yPos;
        centerPos.z += zCoord;

        waterPlane.transform.position = centerPos;

        //Parent it
        waterPlane.transform.parent = transform;

        //Give it moving water properties and set its width and resolution to generate the water mesh
        WaterSquare newWaterSquare = new WaterSquare(waterPlane, squareWidth, spacing);

        waterSquares.Add(newWaterSquare);
    }