Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        if (fluidSim)
        {
            if (Input.GetMouseButton(0) || Input.GetMouseButton(1))
            {
                Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                RaycastHit hit;

                if (fluidSim.simCollider)
                {
                    //fluidSim.simCollider.enabled = true;
                    if (fluidSim.simCollider.Raycast(ray, out hit, 100))
                    {
                        if (Input.GetMouseButton(0))
                        {
                            fluidSim.PushVolume(hit.point, Vector3.down * strength);
                        }
                        else
                        {
                            fluidSim.PushVolume(hit.point, Vector3.up * strength);
                        }
                    }
                    //fluidSim.simCollider.enabled = false;
                }
            }
        }
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        //if(Input.GetKeyDown(KeyCode.UpArrow))
        {
            var rigidBody = GetComponent <Rigidbody>();
            if (rigidBody)
            {
                rigidBody.AddRelativeForce(Vector3.forward * 10.0f);
            }
        }

        if (fluidSim)
        {
            Vector3 wake      = transform.position + wakePos;
            Vector3 frontWave = transform.position + frontWavePos;

            /*
             * fluidSim.PushVolume(wake + Vector3.forward, Vector3.down * wakeForce);
             * fluidSim.PushVolume(wake + Vector3.back, Vector3.down * wakeForce);
             *
             * fluidSim.PushVolume(frontWave + Vector3.forward, Vector3.up * frontWaveForce);
             * fluidSim.PushVolume(frontWave + Vector3.back, Vector3.up * frontWaveForce);
             */

            fluidSim.PushVolume(wake, Vector3.down * wakeForce);
            //fluidSim.PushVolume(frontWave, Vector3.up * frontWaveForce);
            fluidSim.DisplaceVolume(frontWave, frontWaveForce / 50.0f);
        }
    }