Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions DisguiseUnityRenderStream/Editor/DisguiseRenderStreamBuild.cs
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ public void OnPostprocessBuild(BuildReport report)
};

Debug.Log($"Processing scene {scene.name} {indexMessage}");
AddSceneToSchema(schema, sceneIndex, managedName);
AddSceneToSchema(schema, sceneIndex, managedName, settings.exposePresenter);
}

var pathToBuiltProject = report.summary.outputPath;
Expand All @@ -154,8 +154,10 @@ public void OnPostprocessBuild(BuildReport report)
}
}

static void AddSceneToSchema(ManagedSchema schema, int sceneIndex, string name)
static void AddSceneToSchema(ManagedSchema schema, int sceneIndex, string name, bool exposePresenter)
{
var isNewSceneSchema = schema.scenes[sceneIndex] == null;

var channels = new HashSet<string>(schema.channels);
channels.UnionWith(Camera.allCameras.Select(camera => camera.name));
schema.channels = channels.ToArray();
Expand All @@ -169,6 +171,11 @@ static void AddSceneToSchema(ManagedSchema schema, int sceneIndex, string name)
var parameters = currentScene.parameters
.Concat(Object.FindObjectsByType<DisguiseRemoteParameters>(FindObjectsSortMode.InstanceID)
.SelectMany(p => p.exposedParameters()));

if (exposePresenter && isNewSceneSchema)
{
parameters = DisguisePresenter.GetManagedRemoteParameters().Concat(parameters);
}

currentScene.parameters = parameters.ToArray();
}
Expand Down
190 changes: 190 additions & 0 deletions DisguiseUnityRenderStream/Resources/DisguisePresenter.prefab
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &360651681370543317
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 360651681370543319}
- component: {fileID: 360651681370543318}
m_Layer: 0
m_Name: Output Presenter
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &360651681370543319
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 360651681370543317}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 360651681440703413}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &360651681370543318
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 360651681370543317}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a76b687eeb2f3eb4ab0f3cdb0e21cb99, type: 3}
m_Name:
m_EditorClassIdentifier:
m_source: {fileID: 0}
m_sourceColorSpace: -1
m_strategy: 5
m_autoFlipY: 1
m_clearScreen: 1
m_mode: 0
--- !u!1 &360651681440703410
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 360651681440703413}
- component: {fileID: 360651681440703412}
- component: {fileID: 360651681440703411}
m_Layer: 0
m_Name: DisguisePresenter
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &360651681440703413
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 360651681440703410}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 360651681370543319}
- {fileID: 360651682882557475}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &360651681440703412
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 360651681440703410}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2c135780edf6e674ca031a94a2e3b4ee, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Mode: 1
m_Index: 0
m_OutputResizeStrategy: 2
m_InputResizeStrategy: 4
m_OutputPresenter: {fileID: 360651681370543318}
m_InputPresenter: {fileID: 360651682882557474}
--- !u!114 &360651681440703411
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 360651681440703410}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: af5276befa899474cb1ba07f3cd321ba, type: 3}
m_Name:
m_EditorClassIdentifier:
exposedObject: {fileID: 360651681440703412}
prefix: unity-screen-presenter
fields:
- exposed: 0
fieldName: Script
groupName:
- exposed: 1
fieldName: Mode
groupName: Local Screen Presenter
- exposed: 1
fieldName: Index
groupName: Local Screen Presenter
- exposed: 0
fieldName: Output Presenter
groupName:
- exposed: 0
fieldName: Input Presenter
groupName:
- exposed: 1
fieldName: Output Resize Strategy
groupName: Local Screen Presenter
- exposed: 1
fieldName: Input Resize Strategy
groupName: Local Screen Presenter
--- !u!1 &360651682882557473
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 360651682882557475}
- component: {fileID: 360651682882557474}
m_Layer: 0
m_Name: Input Presenter
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &360651682882557475
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 360651682882557473}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 360651681440703413}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &360651682882557474
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 360651682882557473}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e11750ce543afca48962fc383425bc33, type: 3}
m_Name:
m_EditorClassIdentifier:
m_source: {fileID: 0}
m_sourceColorSpace: -1
m_strategy: 6
m_autoFlipY: 1
m_clearScreen: 1
Loading