Ejemplo n.º 1
0
        public static NoteData ConvertNoteData(NoteData note, RawNoteData rawNoteData, float3 lineOffset)
        {
            float3 position = GetPosition(rawNoteData.LineIndex, rawNoteData.LineLayer, lineOffset);

            note.TransformData.Position = position;

            if (rawNoteData.CutDirection >= 1000)
            {
                note.TransformData.LocalRotation = Quaternion.Euler(0, 0, -(rawNoteData.CutDirection - 1000));
            }

            return(note);
        }
Ejemplo n.º 2
0
        public static NoteData ConvertNoteData(NoteData note, RawNoteData rawNoteData, float3 lineOffset)
        {
            note.TransformData = ConvertTransform(note.TransformData, rawNoteData.CustomData, 0, 0, lineOffset);

            return(note);
        }
Ejemplo n.º 3
0
        public static NoteData ConvertNoteDataWithVanillaMethod(RawNoteData rawNoteData, float3 lineOffset)
        {
            float3     euler    = new float3();
            quaternion rotation = new quaternion();

            switch ((CutDirection)rawNoteData.CutDirection)
            {
            case CutDirection.Upwards:
                euler    = new float3(0, 0, 180);
                rotation = new quaternion(0, 0, 1, 0);
                break;

            case CutDirection.Downwards:
                rotation = new quaternion(0, 0, 0.0008726948f, 0.9999996f);
                break;

            case CutDirection.TowardsLeft:
                euler    = new float3(0, 0, -90);
                rotation = new quaternion(0, 0, -0.7071068f, 0.7071068f);
                break;

            case CutDirection.TowardsRight:
                euler    = new float3(0, 0, 90);
                rotation = new quaternion(0, 0, 0.7071068f, 0.7071068f);
                break;

            case CutDirection.TowardsTopLeft:
                euler    = new float3(0, 0, -135);
                rotation = new quaternion(0, 0, -0.9238796f, 0.3826833f);
                break;

            case CutDirection.TowardsTopRight:
                euler    = new float3(0, 0, 135);
                rotation = new quaternion(0, 0, 0.9238796f, 0.3826834f);
                break;

            case CutDirection.TowardsBottomLeft:
                euler    = new float3(0, 0, -45);
                rotation = new quaternion(0, 0, -0.3826834f, 0.9238796f);
                break;

            case CutDirection.TowardsBottomRight:
                euler    = new float3(0, 0, 45);
                rotation = new quaternion(0, 0, 0.3826834f, 0.9238796f);
                break;

            case CutDirection.Any:
                rotation = new quaternion(0, 0, 0.0008726948f, 0.9999996f);
                break;

            default:
                break;
            }

            var note = new NoteData
            {
                Time          = rawNoteData.Time,
                CutDirection  = rawNoteData.CutDirection,
                Type          = rawNoteData.Type,
                TransformData = new TransformData
                {
                    Position      = GetVanillaPosition(rawNoteData.LineIndex, rawNoteData.LineLayer, lineOffset),
                    LocalRotation = rotation,
                },
            };

            return(note);
        }