Ejemplo n.º 1
0
        public Vector3 Vector(int seed2)
        {
            var i1 = _hash1.Range(-100.0f, 100.0f, seed2);
            var i2 = _hash2.Range(-100.0f, 100.0f, seed2);
            var i3 = _hash3.Range(-100.0f, 100.0f, seed2);

            return(new Vector3(
                       Perlin.Fbm(_time + i1, _fractal) * _fbmNorm,
                       Perlin.Fbm(_time + i2, _fractal) * _fbmNorm,
                       Perlin.Fbm(_time + i3, _fractal) * _fbmNorm));
        }
Ejemplo n.º 2
0
        public override void PrepareFrame(Playable playable, FrameData info)
        {
            if (_target == null)
            {
                return;
            }

            const float _fbmNorm = 1 / 0.75f;

            var time = (float)playable.GetTime();

            if (_positionAmplitude != Vector3.zero)
            {
                var t  = time * _positionFrequency;
                var tx = _hash.Range(-1e3f, 1e3f, 0) + t;
                var ty = _hash.Range(-1e3f, 1e3f, 1) + t;
                var tz = _hash.Range(-1e3f, 1e3f, 2) + t;

                var n = new Vector3(
                    Perlin.Fbm(tx, _positionFractalLevel),
                    Perlin.Fbm(ty, _positionFractalLevel),
                    Perlin.Fbm(tz, _positionFractalLevel)
                    );

                n = Vector3.Scale(n, _positionAmplitude) * _fbmNorm;

                _target.localPosition = n;
            }

            if (_rotationAmplitude != Vector3.zero)
            {
                var t  = time * _rotationFrequency;
                var tx = _hash.Range(-1e3f, 1e3f, 3) + t;
                var ty = _hash.Range(-1e3f, 1e3f, 4) + t;
                var tz = _hash.Range(-1e3f, 1e3f, 5) + t;

                var n = new Vector3(
                    Perlin.Fbm(tx, _rotationFractalLevel),
                    Perlin.Fbm(ty, _rotationFractalLevel),
                    Perlin.Fbm(tz, _rotationFractalLevel)
                    );

                n = Vector3.Scale(n, _rotationAmplitude) * _fbmNorm;

                _target.localRotation = Quaternion.Euler(n);
            }
        }
Ejemplo n.º 3
0
        public float Value01(int seed2)
        {
            var i1 = _hash1.Range(-100.0f, 100.0f, seed2);

            return(Perlin.Fbm(_time + i1, _fractal) * _fbmNorm * 0.5f + 0.5f);
        }