示例#1
0
    ////////////////////////////////////////////////////////////////////////////////

    /// <summary>
    /// Draw map area bounds.
    /// </summary>
    void OnDrawGizmos()
    {
        Gizmos.color = Color.red;
        Vector3 offset = FogConversion.FogPlaneToWorld(MapOffset.x, MapOffset.y, 0, Plane);
        Vector3 size   = FogConversion.FogPlaneToWorld(MapSize, MapSize, 0, Plane);

        Gizmos.DrawWireCube(offset, size);

        Gizmos.color = new Color(1, 0, 0, 0.2f);
        Gizmos.DrawCube(offset, size);
    }
示例#2
0
    ///////////////////////////////////////////////////////////////////////////

    void FillShape(FogManager fow, FogShape shape)
    {
        if (AntiFlicker)
        {
            // snap to nearest fog pixel
            shape.EyePosition = FogConversion.SnapWorldPositionToNearestFogPixel(fow, FogConversion.WorldToFogPlane(_Transform.position, fow.Plane), fow.MapOffset, fow.MapResolution, fow.MapSize);
            shape.EyePosition = FogConversion.FogPlaneToWorld(shape.EyePosition.x, shape.EyePosition.y, _Transform.position.y, fow.Plane);
        }
        else
        {
            shape.EyePosition = _Transform.position;
        }
        shape.Forward = FogConversion.TransformFogPlaneForward(_Transform, fow.Plane);
        shape.Offset  = Offset;
        shape.Radius  = Radius;
    }