示例#1
0
        public virtual Vector3 ProjectOn(Vector3 worldPos, float distance = 0f)
        {
            var layerPos = LayerToWorld.InverseTransformPoint(worldPos);

            layerPos.z = distance;
            return(LayerToWorld.TransformPoint(layerPos));
        }
示例#2
0
        protected virtual void GenerateLayerData()
        {
            var layer = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one);
            var local = Matrix4x4.Scale(transform.localScale);

            LayerToWorld.Reset(layer);
            LocalToLayer.Reset(local);
            LocalToWorld.Reset(layer, local);
        }
示例#3
0
        protected virtual void GenerateLayerData()
        {
            var tr         = TargetTransform;
            var localScale = tr.localScale;

            localScale.z = 1f;

            var layer = Matrix4x4.TRS(tr.position, tr.rotation, Vector3.one);
            var local = Matrix4x4.Scale(localScale);

            LayerToWorld.Reset(layer);
            LocalToLayer.Reset(local);
            LocalToWorld.Reset(layer, local);
        }