private void OnSceneGUI()
    {
        lineSpawner     = target as LineSpawner;
        handleTransform = lineSpawner.transform;
        handleRotation  = Tools.pivotRotation == PivotRotation.Local?
                          handleTransform.rotation : Quaternion.identity;
        Vector3 p0, p1;

        p0 = handleTransform.TransformPoint(lineSpawner.p0);
        p1 = handleTransform.TransformPoint(lineSpawner.p1);

        Handles.color = Color.yellow;
        Handles.DrawLine(p0, p1);
        Handles.DoPositionHandle(p0, handleRotation);
        Handles.DoPositionHandle(p1, handleRotation);

        EditorGUI.BeginChangeCheck();
        p0 = Handles.DoPositionHandle(p0, handleRotation);
        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(lineSpawner, "Move p0");
            //EditorUtility.SetDirty(line);
            lineSpawner.p0 = handleTransform.InverseTransformPoint(p0);
        }

        EditorGUI.BeginChangeCheck();
        p1 = Handles.DoPositionHandle(p1, handleRotation);
        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(lineSpawner, "Move p1");
            //EditorUtility.SetDirty(line);
            lineSpawner.p1 = handleTransform.InverseTransformPoint(p1);
        }
    }
Example #2
0
    public override void Initialize(VisualizationSettings settings)
    {
        base.Initialize(settings);
        _minimumRadius = settings.minimumRadius;

        lineScales = new float[segments];

        _circleRenderer = LineSpawner.Initialize(lineRendererPrefab, material);
        _circleRenderer.positionCount = segments;
        _circleRenderer.startWidth    = _circleRenderer.endWidth = 0.5f;

        const float z = 0f;

        _circlePositions = new Vector3[segments];
        float angle = 20f;

        for (int i = 0; i < (segments); i++)
        {
            var x = Mathf.Sin(Mathf.Deg2Rad * angle) * _minimumRadius;
            var y = Mathf.Cos(Mathf.Deg2Rad * angle) * _minimumRadius;

            _circleRenderer.SetPosition(i, new Vector3(x, y, z));
            _circlePositions[i] = new Vector3(x, y, z);
            angle += (360f / segments);
        }

        audioVisualizationController.LineScales = lineScales;
    }
Example #3
0
    public override void Initialize(VisualizationSettings settings)
    {
        base.Initialize(settings);
        UpdateCameraPos(settings.offset);

        lineScales = new float[segments];
        lines      = new LineRenderer[lineScales.Length];

        for (int i = 0; i < lines.Length; i++)
        {
            lines[i] = LineSpawner.Initialize(lineRendererPrefab, material);
        }

        audioVisualizationController.LineScales = lineScales;
    }
    public override void Initialize(VisualizationSettings settings)
    {
        base.Initialize(settings);

        _minimumRadius = settings.minimumRadius;

        lineScales = new float[segments + 1];
        lines      = new LineRenderer[lineScales.Length];

        for (int i = 0; i < lines.Length; i++)
        {
            lines[i] = LineSpawner.Initialize(lineRendererPrefab, material);
        }

        _currentRadius = _minimumRadius;
        audioVisualizationController.LineScales = lineScales;
    }