1
0
forked from cgvr/DeltaVR

3 Commits

21 changed files with 860 additions and 104 deletions

View File

@@ -33,7 +33,7 @@ async def main():
input_prompt = args.prompt input_prompt = args.prompt
print(f"Input prompt: {input_prompt}") print(f"Input prompt: {input_prompt}")
image_generation_prompt = input_prompt + ", realistic style, single object, front and side fully visible, plain neutral background, clear details, soft studio lighting, true-to-scale" image_generation_prompt = input_prompt + ", single object, front and side fully visible, realistic style, plain neutral background, clear details, soft studio lighting, true-to-scale"
pipeline_folder = Path(__file__).resolve().parent pipeline_folder = Path(__file__).resolve().parent
timestamp = get_timestamp() timestamp = get_timestamp()

View File

@@ -26,6 +26,7 @@ public class ArcheryRange : NetworkBehaviour
public float roundLength = 60f; public float roundLength = 60f;
public float targetSpawnTime = 3f; public float targetSpawnTime = 3f;
public ModelGenerationBox modelGenerationBox;
public KeyboardManager keyboardManager; public KeyboardManager keyboardManager;
private List<ArcheryTarget> _targets; private List<ArcheryTarget> _targets;
@@ -37,8 +38,6 @@ public class ArcheryRange : NetworkBehaviour
private float _nextTargetTime; private float _nextTargetTime;
private bool _roundActive; private bool _roundActive;
private string targetModelName;
private readonly List<XROrigin> _presentPlayers = new(); private readonly List<XROrigin> _presentPlayers = new();
private XROrigin _scoredPlayer; private XROrigin _scoredPlayer;
@@ -132,7 +131,8 @@ public class ArcheryRange : NetworkBehaviour
async private Task<ArcheryTarget> SpawnTarget(Vector3 randomPos) async private Task<ArcheryTarget> SpawnTarget(Vector3 randomPos)
{ {
var targetObject = Instantiate(targetPrefab, randomPos, Quaternion.identity, null); var targetObject = Instantiate(targetPrefab, randomPos, Quaternion.identity, null);
GameObject targetReplacement = await PipelineManager.Instance.SpawnModel(targetModelName); string targetModelPath = modelGenerationBox.LastModelPath;
GameObject targetReplacement = await PipelineManager.Instance.SpawnModel(targetModelPath);
// TODO: replace target prefab's child with the generated model // TODO: replace target prefab's child with the generated model
targetReplacement.transform.parent = targetObject.transform; targetReplacement.transform.parent = targetObject.transform;
targetReplacement.transform.position = targetObject.transform.position; targetReplacement.transform.position = targetObject.transform.position;
@@ -183,12 +183,10 @@ public class ArcheryRange : NetworkBehaviour
SetTimeLeftText(""); SetTimeLeftText("");
} }
async public void StartRound() public void StartRound()
{ {
if (!IsServer) return; if (!IsServer) return;
targetModelName = await PipelineManager.Instance.GenerateModelAsync("unicorn with golden horn and long fluffy tail and butterfly wings");
_roundEndTime = Time.time + roundLength; _roundEndTime = Time.time + roundLength;
_nextTargetTime = Time.time; _nextTargetTime = Time.time;
_roundActive = true; _roundActive = true;

View File

@@ -17,6 +17,7 @@ public class ContinuoslocomotionConfigurator : MonoBehaviour
turnOnButton.onClick.AddListener(enableLocomotion); turnOnButton.onClick.AddListener(enableLocomotion);
turnOffButton.onClick.AddListener(disableLocomotion); turnOffButton.onClick.AddListener(disableLocomotion);
turnOffButton.gameObject.SetActive(false); // off by default turnOffButton.gameObject.SetActive(false); // off by default
enableLocomotion();
} }
public void UpdateSpeed(float speed) public void UpdateSpeed(float speed)
{ {

View File

@@ -4262,7 +4262,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!224 &9206012036671205809 --- !u!224 &9206012036671205809
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -5926,7 +5926,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &8444771935628625875 --- !u!224 &8444771935628625875
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -0,0 +1,133 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Yellow
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 0.70276463, b: 0, a: 1}
- _Color: {r: 1, g: 0.70276463, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
--- !u!114 &6221994712197478572
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 7

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 33390c6f2eb32df47809c60975868a0c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 385d2126f75fee943a7071a35bcdec82
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,156 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &8617702063501079407
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1000498446801613149}
- component: {fileID: 2692232214199165587}
- component: {fileID: 3054822165453666587}
- component: {fileID: 6212693736535064192}
- component: {fileID: 104473305465913916}
- component: {fileID: 998178908997684460}
m_Layer: 0
m_Name: ModelGenerationTestBox
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1000498446801613149
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8617702063501079407}
m_LocalRotation: {x: -0, y: 1, z: -0, w: -0.00000035762784}
m_LocalPosition: {x: -77.521, y: 5.092, z: -13.493}
m_LocalScale: {x: 0.75, y: 0.75, z: 0.75}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 34
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!33 &2692232214199165587
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8617702063501079407}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &3054822165453666587
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8617702063501079407}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 707a698b0ec80454a8c68700bca72941, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &6212693736535064192
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8617702063501079407}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 1
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &104473305465913916
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8617702063501079407}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 46e67223dce9b7a4783ed36b8ed65f19, type: 3}
m_Name:
m_EditorClassIdentifier:
inactiveMaterial: {fileID: 2100000, guid: 707a698b0ec80454a8c68700bca72941, type: 2}
loadingMaterial: {fileID: 2100000, guid: 33390c6f2eb32df47809c60975868a0c, type: 2}
modelSpawnPoint: {fileID: 0}
voiceTranscriptionTestBox: {fileID: 0}
--- !u!114 &998178908997684460
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8617702063501079407}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b781fe673a5534e91b1e802df4b9362e, type: 3}
m_Name:
m_EditorClassIdentifier:
importSettings:
nodeNameMethod: 0
animationMethod: 1
generateMipMaps: 0
texturesReadable: 0
defaultMinFilterMode: 9729
defaultMagFilterMode: 9729
anisotropicFilterLevel: 1
url:
loadOnStartup: 1
sceneId: -1
playAutomatically: 1
streamingAsset: 0
instantiationSettings:
mask: -1
layer: 0
skinUpdateWhenOffscreen: 1
lightIntensityFactor: 1
sceneObjectCreation: 2

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3c049d2c1ae5f3442805c07fd16458a3
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,475 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &669736891457552810
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4986844661789441171}
- component: {fileID: 6879637936960607693}
- component: {fileID: 4986639446023588421}
- component: {fileID: 2985025283767969105}
m_Layer: 0
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4986844661789441171
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 669736891457552810}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.857}
m_LocalScale: {x: 0.01, y: 0.01, z: 0.01}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1316560435299418524}
m_Father: {fileID: 4044330358026692072}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 1.204}
m_SizeDelta: {x: 400, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!223 &6879637936960607693
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 669736891457552810}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &4986639446023588421
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 669736891457552810}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 1
--- !u!114 &2985025283767969105
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 669736891457552810}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!1 &4272551361409990479
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1316560435299418524}
- component: {fileID: 1778346978591138474}
- component: {fileID: 6421992870879591294}
m_Layer: 0
m_Name: Panel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1316560435299418524
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4272551361409990479}
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: 2556055579199580382}
m_Father: {fileID: 4986844661789441171}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1778346978591138474
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4272551361409990479}
m_CullTransparentMesh: 1
--- !u!114 &6421992870879591294
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4272551361409990479}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &5221842104383226931
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4044330358026692072}
- component: {fileID: 3449909605412981856}
- component: {fileID: 6459420328961123364}
- component: {fileID: 4974450515678071712}
- component: {fileID: 4391541691227486968}
- component: {fileID: 8181450788903950503}
m_Layer: 0
m_Name: VoiceTranscriptionBox
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4044330358026692072
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5221842104383226931}
m_LocalRotation: {x: -0, y: 1, z: -0, w: 0.00000058114523}
m_LocalPosition: {x: -76, y: 5.1475, z: -13.509}
m_LocalScale: {x: 0.75, y: 0.75, z: 0.75}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4986844661789441171}
m_Father: {fileID: 0}
m_RootOrder: 36
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
--- !u!33 &3449909605412981856
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5221842104383226931}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &6459420328961123364
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5221842104383226931}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 707a698b0ec80454a8c68700bca72941, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &4974450515678071712
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5221842104383226931}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 1
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &4391541691227486968
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5221842104383226931}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3bc03a4c19604ea394e364f8fc632928, type: 3}
m_Name:
m_EditorClassIdentifier:
maxLengthSec: 60
loop: 0
frequency: 16000
chunksLengthSec: 0.5
echo: 1
useVad: 1
vadUpdateRateSec: 0.1
vadContextSec: 30
vadLastSec: 1.25
vadThd: 1
vadFreqThd: 100
vadIndicatorImage: {fileID: 0}
vadStop: 1
dropVadPart: 1
vadStopTime: 3
microphoneDropdown: {fileID: 0}
microphoneDefaultLabel: Default microphone
--- !u!114 &8181450788903950503
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5221842104383226931}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d28857190597d9a46a8ddf3cf902cc81, type: 3}
m_Name:
m_EditorClassIdentifier:
activeMaterial: {fileID: 2100000, guid: 937c5f357ed270843bd43d1f7d5d475b, type: 2}
inactiveMaterial: {fileID: 2100000, guid: 707a698b0ec80454a8c68700bca72941, type: 2}
loadingMaterial: {fileID: 2100000, guid: 33390c6f2eb32df47809c60975868a0c, type: 2}
whisper: {fileID: 0}
microphoneRecord: {fileID: 4391541691227486968}
outputText: {fileID: 4513192310212875305}
currentTextOutput:
--- !u!1 &5819114791296431922
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2556055579199580382}
- component: {fileID: 525409158048368038}
- component: {fileID: 4513192310212875305}
m_Layer: 0
m_Name: StatusText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2556055579199580382
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5819114791296431922}
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: 1316560435299418524}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 380, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &525409158048368038
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5819114791296431922}
m_CullTransparentMesh: 1
--- !u!114 &4513192310212875305
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5819114791296431922}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Transcribing voice to text...
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 254d33525bc3919439f569ea33703c5b, type: 2}
m_sharedMaterial: {fileID: 4369893532151414794, guid: 254d33525bc3919439f569ea33703c5b,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 16
m_fontSizeBase: 16
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8c956d6c20b688e4facb7f343377043a
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,57 +0,0 @@
using System.Diagnostics;
using UnityEngine;
using Whisper;
using Whisper.Utils;
public class VoiceTranscription : MonoBehaviour
{
public WhisperManager whisper;
public MicrophoneRecord microphoneRecord;
private string _buffer;
private void Awake()
{
whisper.OnNewSegment += OnNewSegment;
microphoneRecord.OnRecordStop += OnRecordStop;
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private async void OnRecordStop(AudioChunk recordedAudio)
{
_buffer = "";
var sw = new Stopwatch();
sw.Start();
var res = await whisper.GetTextAsync(recordedAudio.Data, recordedAudio.Frequency, recordedAudio.Channels);
if (res == null)
return;
var time = sw.ElapsedMilliseconds;
var rate = recordedAudio.Length / (time * 0.001f);
UnityEngine.Debug.Log($"Time: {time} ms\nRate: {rate:F1}x");
var text = res.Result;
UnityEngine.Debug.Log(text);
}
private void OnNewSegment(WhisperSegment segment)
{
_buffer += segment.Text;
UnityEngine.Debug.Log(_buffer + "...");
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: af83274dbfe8bab4599dda694e2545c2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,14 +1,24 @@
using Unity.XR.CoreUtils;
using UnityEngine; using UnityEngine;
public class ModelGenerationTestBox : MonoBehaviour public class ModelGenerationBox : MonoBehaviour
{ {
public Material activeMaterial;
public Material inactiveMaterial; public Material inactiveMaterial;
public Material loadingMaterial;
public Transform modelSpawnPoint; public Transform modelSpawnPoint;
public VoiceTranscriptionTestBox voiceTranscriptionTestBox; public VoiceTranscriptionBox voiceTranscriptionTestBox;
private MeshRenderer meshRenderer; private MeshRenderer meshRenderer;
private bool isLoading;
private string lastModelPath;
public string LastModelPath
{
get {
return lastModelPath;
}
}
// Start is called before the first frame update // Start is called before the first frame update
void Start() void Start()
@@ -24,29 +34,26 @@ public class ModelGenerationTestBox : MonoBehaviour
async void OnTriggerEnter(Collider other) async void OnTriggerEnter(Collider other)
{ {
KbmController controller = other.GetComponent<KbmController>(); if (isLoading) return;
if (controller != null)
{ KbmController controller = other.GetComponent<KbmController>();
meshRenderer.material = activeMaterial; XROrigin playerOrigin = other.GetComponent<XROrigin>();
if (controller != null || playerOrigin != null)
{
string inputPrompt = voiceTranscriptionTestBox.LastTextOutput;
isLoading = true;
meshRenderer.material = loadingMaterial;
string inputPrompt = voiceTranscriptionTestBox.currentTextOutput;
string modelPath = await PipelineManager.Instance.GenerateModelAsync(inputPrompt); string modelPath = await PipelineManager.Instance.GenerateModelAsync(inputPrompt);
//LoadModel("D:\\henrisel\\DeltaVR3DModelGeneration\\3d-generation-pipeline\\models\\2025-11-17-16-13-33\\mesh.glb"); lastModelPath = modelPath;
GameObject spawnedObject = await PipelineManager.Instance.SpawnModel(modelPath); GameObject spawnedObject = await PipelineManager.Instance.SpawnModel(modelPath);
spawnedObject.transform.parent = modelSpawnPoint; spawnedObject.transform.parent = modelSpawnPoint;
spawnedObject.transform.position = modelSpawnPoint.position; spawnedObject.transform.position = modelSpawnPoint.position;
}
}
private void OnTriggerExit(Collider other) isLoading = false;
{
KbmController controller = other.GetComponent<KbmController>();
if (controller != null)
{
meshRenderer.material = inactiveMaterial; meshRenderer.material = inactiveMaterial;
} }
} }
} }

View File

@@ -1,15 +1,18 @@
using System.Diagnostics; using System.Diagnostics;
using TMPro; using TMPro;
using Unity.XR.CoreUtils;
using UnityEngine; using UnityEngine;
using Whisper; using Whisper;
using Whisper.Utils; using Whisper.Utils;
public class VoiceTranscriptionTestBox : MonoBehaviour public class VoiceTranscriptionBox : MonoBehaviour
{ {
public Material activeMaterial; public Material activeMaterial;
public Material inactiveMaterial; public Material inactiveMaterial;
public Material loadingMaterial;
private MeshRenderer meshRenderer; private MeshRenderer meshRenderer;
private bool isLoading;
public WhisperManager whisper; public WhisperManager whisper;
@@ -17,10 +20,20 @@ public class VoiceTranscriptionTestBox : MonoBehaviour
public TextMeshProUGUI outputText; public TextMeshProUGUI outputText;
private string _buffer; private string _buffer;
public string currentTextOutput;
private string lastTextOutput;
public string LastTextOutput
{
get
{
return lastTextOutput;
}
}
private void Awake() private void Awake()
{ {
isLoading = false;
whisper.OnNewSegment += OnNewSegment; whisper.OnNewSegment += OnNewSegment;
whisper.OnProgress += OnProgressHandler; whisper.OnProgress += OnProgressHandler;
@@ -41,8 +54,14 @@ public class VoiceTranscriptionTestBox : MonoBehaviour
void OnTriggerEnter(Collider other) void OnTriggerEnter(Collider other)
{ {
if (isLoading)
{
return;
}
KbmController controller = other.GetComponent<KbmController>(); KbmController controller = other.GetComponent<KbmController>();
if (controller != null) XROrigin playerOrigin = other.GetComponent<XROrigin>();
if (controller != null || playerOrigin != null)
{ {
meshRenderer.material = activeMaterial; meshRenderer.material = activeMaterial;
microphoneRecord.StartRecord(); microphoneRecord.StartRecord();
@@ -52,10 +71,12 @@ public class VoiceTranscriptionTestBox : MonoBehaviour
private void OnTriggerExit(Collider other) private void OnTriggerExit(Collider other)
{ {
KbmController controller = other.GetComponent<KbmController>(); KbmController controller = other.GetComponent<KbmController>();
if (controller != null) XROrigin playerOrigin = other.GetComponent<XROrigin>();
if (controller != null | playerOrigin != null)
{ {
meshRenderer.material = inactiveMaterial;
microphoneRecord.StopRecord(); microphoneRecord.StopRecord();
meshRenderer.material = loadingMaterial;
isLoading = true;
} }
} }
@@ -77,8 +98,11 @@ public class VoiceTranscriptionTestBox : MonoBehaviour
var text = res.Result; var text = res.Result;
currentTextOutput = text; lastTextOutput = text;
outputText.text = text; outputText.text = text;
meshRenderer.material = inactiveMaterial;
isLoading = false;
} }
private void OnProgressHandler(int progress) private void OnProgressHandler(int progress)