コード例 #1
0
        public static void DrawPane()
        {
            if (targetObject == null || editor == null)
            {
                targetObject = PhononSimulationSettings.GetObject();
                editor       = Editor.CreateEditor(targetObject.GetComponent <SimulationSettings>());
            }

            editor.OnInspectorGUI();
        }
コード例 #2
0
        public static PropagationSettings SimulationSettings()
        {
            SimulationSettings simSetings = PhononSimulationSettings.GetSimulationSettings();
            SceneType          rayTracer  = PhononSettings.GetRayTracerOption();
            float simDuration             = simSetings.Value.Duration;
            int   simAmbisonicsOrder      = simSetings.Value.AmbisonicsOrder;
            int   simMaxSources           = simSetings.Value.MaxSources;

            int simRays          = 0;
            int simSecondaryRays = 0;
            int simBounces       = 0;

            bool editorInEditMode = false;

#if UNITY_EDITOR
            editorInEditMode = Application.isEditor && !UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode;
#endif
            //When in edit mode use baked settings, when in play mode or standalone application mode use realtime setttings.
            if (editorInEditMode)
            {
                simRays          = simSetings.Value.BakeRays;
                simSecondaryRays = simSetings.Value.BakeSecondaryRays;
                simBounces       = simSetings.Value.BakeBounces;
            }
            else
            {
                simRays          = simSetings.Value.RealtimeRays;
                simSecondaryRays = simSetings.Value.RealtimeSecondaryRays;
                simBounces       = simSetings.Value.RealtimeBounces;
            }

            PropagationSettings simulationSettings = new PropagationSettings
            {
                sceneType             = rayTracer,
                rays                  = simRays,
                secondaryRays         = simSecondaryRays,
                bounces               = simBounces,
                irDuration            = simDuration,
                ambisonicsOrder       = simAmbisonicsOrder,
                maxConvolutionSources = simMaxSources,
            };

            return(simulationSettings);
        }