Esempio n. 1
0
    private void OnSceneGUI()
    {
        BezierController bezier = target as BezierController;

        Handles.color = Color.white;
        Handles.DrawDottedLine(bezier.t0.position, bezier.t3.position, 5f);
        DoPositionHandle(bezier.t0);
        DoPositionHandle(bezier.t1);
        DoPositionHandle(bezier.t2);
        DoPositionHandle(bezier.t3);
        Handles.DrawBezier(bezier.t0.position, bezier.t3.position, bezier.t1.position, bezier.t2.position, Color.white, null, 4f);
        GUIStyle style = new GUIStyle();

        style.fontSize = 20;
        Handles.Label(bezier.t0.position, "T0", style);
        Handles.Label(bezier.t1.position, "T1", style);
        Handles.Label(bezier.t2.position, "T2", style);
        Handles.Label(bezier.t3.position, "T3", style);
        for (int i = 0; i < STEPS; i++)
        {
            float t = (float)i / STEPS;
            Handles.color = Color.green;
            Vector3 point    = bezier.GetPoint(t);
            Vector3 velocity = bezier.GetVelocity(t);
            Handles.DrawLine(point, point + velocity.normalized * 2f);
        }
    }
    void Awake()
    {
        flameParticleSystem = GetComponentInChildren <ParticleSystem> ();
        source = GetComponent <CardboardAudioSource> ();

        bezier       = Instantiate(bezierPrefab);
        bezier.name += "(" + gameObject.name + ")";
    }
Esempio n. 3
0
    public override void OnInspectorGUI()
    {
        BezierController controller = (BezierController)target;

        GUILayout.Button("Hi");
        DrawDefaultInspector();

        if (GUI.changed)
        {
            Undo.SetCurrentGroupName("Blah " + controller.name);
            EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
        }

        serializedObject.ApplyModifiedProperties();
    }