Esempio n. 1
0
        private static Vector3 Quantize(Vector3 v, float step)
        {
            Vector3 s = new Vector3(Mathf.Sign(v.x), Mathf.Sign(v.y), Mathf.Sign(v.z));

            v += 0.125f * step * Vector3.one;
            v  = VectorUtil.CompDiv(v, 0.25f * step * Vector3.one);
            v  = VectorUtil.Abs(v);
            v  = new Vector3(Mathf.Floor(v.x), Mathf.Floor(v.y), Mathf.Floor(v.z));
            v  = VectorUtil.CompMul(s, v);
            return(v);
        }
Esempio n. 2
0
        public void Transform(Transform transform)
        {
            Vector3 center = transform.TransformPoint(Center);
            Vector3 extent = VectorUtil.CompMul(Extent, transform.localScale);

            if (transform.parent != null)
            {
                extent = VectorUtil.CompMul(extent, transform.parent.lossyScale);
            }
            Min = -extent;
            Max = extent;
            Rotate(transform.rotation);
            Min += center;
            Max += center;
        }