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); } }
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; }
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; }