forked from cgvr/DeltaVR
Compare commits
32 Commits
9fbd08eb25
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e55b7e9ab | |||
| dea42068f7 | |||
| b021fd0110 | |||
| 7b45d623d1 | |||
| f42356dd7a | |||
| 50002adb61 | |||
| ee629e2593 | |||
| 4796869a29 | |||
| 398f22efdd | |||
| b40b075540 | |||
| cad4c2cbbc | |||
| 6a77893ed7 | |||
| 439094f74a | |||
| c78886e492 | |||
| 3edef118af | |||
| d6c2878491 | |||
| f101de5390 | |||
| 58d5f24069 | |||
| 2c8c146a5f | |||
| db60947749 | |||
| 717964affd | |||
| e0492595e1 | |||
| e56e3f3618 | |||
| fc083e7d81 | |||
| a6a6b036ca | |||
| b1fe32bdf2 | |||
| 6e9e5cb4d4 | |||
| f6b46784bf | |||
| fca8453a26 | |||
| 07e42ea60b | |||
| d85953e02f | |||
| d969d3b77c |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -104,6 +104,9 @@ NetrworkManagerUI.prefab.meta
|
||||
CustomNetworkManager.prefab
|
||||
CustomNetworkManager.prefab.meta
|
||||
|
||||
#FMOD Studio
|
||||
DeltaVRFMOD/.cache
|
||||
|
||||
|
||||
# Project-specific files
|
||||
config.json
|
||||
@@ -1,26 +1,24 @@
|
||||
### TODO
|
||||
* korralik teleportation minigame'idesse, kasutades TeleportProviderit, nagu button
|
||||
* quest marker peaks jätma nähtavad noolekesed enda liikumise teele
|
||||
* teha build kus archery range'is spawnitud objektid
|
||||
* pidev krabamise heli, kui kahe käega korraga krabada: "(Un)requesting ownership of Cube"
|
||||
* FMOD ChannelControl errorid
|
||||
* keyboard numbrid ei tööta pärast minigame'i completemist?
|
||||
* speech-to-text:
|
||||
* vahepeal lakkab töötamast lih??? tundub et siis kui pikalt tühjust salvestab? ei, vahepeal läheb kohe alguses ka
|
||||
* sööta talle nulle kui on disabled, sest ikka kuidagi tuvastab eelnevat rääkimist
|
||||
* uurida miks buildis Whisper halvemini töötab
|
||||
* proovida suuremat Whisperi mudelit, äkki töötab mürases keskkonnas paremini
|
||||
* npc character:
|
||||
* klaas on näha temast eespool
|
||||
* voicelines: list listidest, mille hulgast saab valida
|
||||
* shape detection:
|
||||
* ring liiga raske
|
||||
* professor võiks öelda "good job, continue..." pärast esimest successi
|
||||
* kui kõik configurationid tehtud, siis professor ütleb "thank you"
|
||||
* peab mängijale kuidagi selgitama, kuidas scale'ida prinditud objekte
|
||||
* prinditud objekti scale'imisele min ja max size limiit
|
||||
* 3d printerile soft particle'id, et ei oleks teravaid ääri seina sisse minnes
|
||||
* archery range:
|
||||
* archery targetite rework, et buildis ka töötaks
|
||||
* võiks jääda kordama viimast instruktsiooni, kui mängija ei progressi edasi
|
||||
* kui archery range läbi, võiks npc öelda "good job, try again..."
|
||||
* UFO möödalendamise animation/cutscene alguses kui ütleb "delta attacked by ufos" + panna juba alguses kapsli sisse ufo pöörlema
|
||||
* cafe:
|
||||
* võiks saada hinnata saadud tellimust
|
||||
* npc võiks olla keeratud sinu poole juba kaugelt
|
||||
* "order again" nupp
|
||||
|
||||
Can't/Won't Do:
|
||||
* glTF loading: vahetada ära shader Universal render pipeline Lit, mitte panna buildi kaasa glTf oma - **ei saa, objekt on siis ilma tekstuurita, lihtsalt hall**
|
||||
@@ -34,3 +32,8 @@ Can't/Won't Do:
|
||||
* Getting Whisper stream to work with FMOD instead of Unity default audio
|
||||
* TRELLIS: added functionality to specify texture baking optimisation total steps as an argument (`texture_opt_total_steps`), to replace the hardcoded 2500. But this is not tracked in Git (because modified this https://github.com/IgorAherne/trellis-stable-projectorz/releases/tag/latest)
|
||||
* Custom Shader Variant Collection to include glTF-pbrMetallicRoughness shader in build
|
||||
|
||||
Katse tähelepanekud:
|
||||
* peab väga proper english accenti tegema
|
||||
* mõne inimese puhul kuuleb "cat" asemel "cut"
|
||||
* kui helitugevus oli liiga suur siis cafe waiter kuulis kohviku taustaheli taldriku klirinat kui "piano music"
|
||||
|
||||
@@ -6,9 +6,17 @@ import numpy as np
|
||||
FRAME_DURATION = 0.02 # 20 ms windows
|
||||
GAIN = 1.0 # multiply RMS values (set to e.g. 30.0 if you want larger values)
|
||||
EXTENSION = ".txt" # output file extension
|
||||
OVERWRITE = False # set True to regenerate even if .txt exists
|
||||
|
||||
|
||||
def process_wav(filepath):
|
||||
# Compute output path first (so we can decide whether to skip)
|
||||
out_path = os.path.splitext(filepath)[0] + EXTENSION
|
||||
|
||||
if not OVERWRITE and os.path.exists(out_path):
|
||||
print(f"Skipping (already exists): {out_path}")
|
||||
return
|
||||
|
||||
print(f"Processing: {filepath}")
|
||||
|
||||
# Load audio
|
||||
@@ -29,7 +37,6 @@ def process_wav(filepath):
|
||||
rms = rms * GAIN
|
||||
|
||||
# Save to .txt
|
||||
out_path = os.path.splitext(filepath)[0] + EXTENSION
|
||||
np.savetxt(out_path, rms, fmt="%.8f")
|
||||
|
||||
print(f"Saved RMS → {out_path}")
|
||||
@@ -49,4 +56,4 @@ def process_folder(folder_path):
|
||||
# === Run script ===
|
||||
if __name__ == "__main__":
|
||||
folder = input("Enter folder path: ").strip()
|
||||
process_folder(folder)
|
||||
process_folder(folder)
|
||||
|
||||
@@ -0,0 +1,242 @@
|
||||
0.00000005
|
||||
0.00000003
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00036824
|
||||
0.03882600
|
||||
0.04177133
|
||||
0.02403286
|
||||
0.09960490
|
||||
0.10405141
|
||||
0.07374308
|
||||
0.07527987
|
||||
0.03196403
|
||||
0.01316589
|
||||
0.01331185
|
||||
0.03220127
|
||||
0.12253414
|
||||
0.14686617
|
||||
0.12083520
|
||||
0.10250615
|
||||
0.04661508
|
||||
0.01492038
|
||||
0.01040760
|
||||
0.01080491
|
||||
0.03343014
|
||||
0.03452057
|
||||
0.08047014
|
||||
0.13933837
|
||||
0.10572984
|
||||
0.09591001
|
||||
0.09608150
|
||||
0.08540177
|
||||
0.09933743
|
||||
0.10790430
|
||||
0.11058167
|
||||
0.13160037
|
||||
0.06650670
|
||||
0.03915674
|
||||
0.03693420
|
||||
0.04971446
|
||||
0.03620111
|
||||
0.06649657
|
||||
0.11552364
|
||||
0.10445996
|
||||
0.09714538
|
||||
0.08278799
|
||||
0.09152920
|
||||
0.08658629
|
||||
0.05098534
|
||||
0.02467363
|
||||
0.02987090
|
||||
0.02563231
|
||||
0.02510932
|
||||
0.02980772
|
||||
0.02069706
|
||||
0.01281166
|
||||
0.00566670
|
||||
0.00150570
|
||||
0.00020095
|
||||
0.00000742
|
||||
0.00000009
|
||||
0.00000012
|
||||
0.00000011
|
||||
0.00000010
|
||||
0.00000010
|
||||
0.00000009
|
||||
0.00000022
|
||||
0.00000005
|
||||
0.00001097
|
||||
0.04429267
|
||||
0.09924962
|
||||
0.09210955
|
||||
0.10632528
|
||||
0.10751414
|
||||
0.06163353
|
||||
0.05821634
|
||||
0.06596723
|
||||
0.04842441
|
||||
0.05856047
|
||||
0.10333158
|
||||
0.10103170
|
||||
0.08816345
|
||||
0.04771255
|
||||
0.04730519
|
||||
0.04158855
|
||||
0.05243348
|
||||
0.05098458
|
||||
0.03500115
|
||||
0.08092596
|
||||
0.09854711
|
||||
0.04113061
|
||||
0.01454402
|
||||
0.01907839
|
||||
0.03828202
|
||||
0.05046624
|
||||
0.04319734
|
||||
0.03666504
|
||||
0.04976141
|
||||
0.10466427
|
||||
0.13796268
|
||||
0.06061497
|
||||
0.07129071
|
||||
0.05450837
|
||||
0.05630979
|
||||
0.03684894
|
||||
0.01367352
|
||||
0.00608366
|
||||
0.06432867
|
||||
0.11517638
|
||||
0.05077915
|
||||
0.02521306
|
||||
0.09515605
|
||||
0.10619617
|
||||
0.08939873
|
||||
0.07993037
|
||||
0.04875693
|
||||
0.01546201
|
||||
0.00356502
|
||||
0.00079084
|
||||
0.02424777
|
||||
0.06102380
|
||||
0.11638185
|
||||
0.07587082
|
||||
0.02516444
|
||||
0.00761989
|
||||
0.00276396
|
||||
0.00242381
|
||||
0.11056973
|
||||
0.12456685
|
||||
0.11282478
|
||||
0.09799541
|
||||
0.08472683
|
||||
0.07964602
|
||||
0.05019686
|
||||
0.03458880
|
||||
0.06462081
|
||||
0.13280798
|
||||
0.10013983
|
||||
0.07293872
|
||||
0.04550291
|
||||
0.01720131
|
||||
0.00380182
|
||||
0.00101899
|
||||
0.02245994
|
||||
0.06382865
|
||||
0.10524299
|
||||
0.13267922
|
||||
0.10135622
|
||||
0.05452089
|
||||
0.03518274
|
||||
0.01694293
|
||||
0.00530868
|
||||
0.00184345
|
||||
0.02273818
|
||||
0.11510796
|
||||
0.11920995
|
||||
0.08493148
|
||||
0.08406932
|
||||
0.07499230
|
||||
0.04316685
|
||||
0.01455623
|
||||
0.00360244
|
||||
0.00098371
|
||||
0.00005477
|
||||
0.00000010
|
||||
0.00000002
|
||||
0.00000016
|
||||
0.00000019
|
||||
0.00000010
|
||||
0.00000005
|
||||
0.00000003
|
||||
0.00000004
|
||||
0.00000005
|
||||
0.00000004
|
||||
0.00000005
|
||||
0.00000005
|
||||
0.00000005
|
||||
0.00000005
|
||||
0.00000004
|
||||
0.00000004
|
||||
0.00000004
|
||||
0.00000004
|
||||
0.00000003
|
||||
0.00000003
|
||||
0.00000003
|
||||
0.00000003
|
||||
0.00000002
|
||||
0.00000003
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000000
|
||||
0.00000001
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00464831
|
||||
0.01679505
|
||||
0.01644613
|
||||
0.00761335
|
||||
0.04794521
|
||||
0.15165883
|
||||
0.14422260
|
||||
0.11421057
|
||||
0.10831729
|
||||
0.10226198
|
||||
0.09510653
|
||||
0.08230808
|
||||
0.06091324
|
||||
0.08704218
|
||||
0.11292138
|
||||
0.11823592
|
||||
0.07064166
|
||||
0.08501519
|
||||
0.10195074
|
||||
0.08617997
|
||||
0.09215603
|
||||
0.08520056
|
||||
0.07150462
|
||||
0.07387789
|
||||
0.07179367
|
||||
0.07710328
|
||||
0.09889054
|
||||
0.11394204
|
||||
0.12855592
|
||||
0.09594936
|
||||
0.05344614
|
||||
0.02629551
|
||||
0.00702043
|
||||
0.00639688
|
||||
0.00356133
|
||||
0.00343324
|
||||
0.00178488
|
||||
0.00017040
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d9e3dd6a9520c354e998bd0ad3a81f46
|
||||
guid: 38bc01876ee396a46b03ca91e612e687
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 42e58ab8243a8c3449d391cc548d895c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,257 @@
|
||||
0.00000005
|
||||
0.00000003
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.02866505
|
||||
0.03807113
|
||||
0.04488242
|
||||
0.10851473
|
||||
0.09911134
|
||||
0.08479626
|
||||
0.10611577
|
||||
0.12813284
|
||||
0.08128907
|
||||
0.07260925
|
||||
0.04148039
|
||||
0.01129543
|
||||
0.03132603
|
||||
0.04842420
|
||||
0.12944126
|
||||
0.12574370
|
||||
0.09939571
|
||||
0.08343700
|
||||
0.04287383
|
||||
0.01194310
|
||||
0.00638063
|
||||
0.00868709
|
||||
0.01998390
|
||||
0.03058048
|
||||
0.05329744
|
||||
0.13083695
|
||||
0.12668352
|
||||
0.10024661
|
||||
0.10386836
|
||||
0.08472306
|
||||
0.11218496
|
||||
0.14319295
|
||||
0.13648318
|
||||
0.13254981
|
||||
0.04781179
|
||||
0.03629516
|
||||
0.03413614
|
||||
0.03457404
|
||||
0.03213657
|
||||
0.05343652
|
||||
0.09439317
|
||||
0.12365869
|
||||
0.09173419
|
||||
0.09353486
|
||||
0.07192323
|
||||
0.03836626
|
||||
0.01338022
|
||||
0.00760281
|
||||
0.01999712
|
||||
0.02072252
|
||||
0.01272902
|
||||
0.00845736
|
||||
0.00641201
|
||||
0.00285632
|
||||
0.00061737
|
||||
0.00005392
|
||||
0.00000020
|
||||
0.00000018
|
||||
0.00000019
|
||||
0.00000017
|
||||
0.00000015
|
||||
0.00000016
|
||||
0.00000013
|
||||
0.00000011
|
||||
0.00000011
|
||||
0.00000008
|
||||
0.00000010
|
||||
0.00000006
|
||||
0.00000007
|
||||
0.00000003
|
||||
0.00782415
|
||||
0.01642422
|
||||
0.02543612
|
||||
0.05934152
|
||||
0.07718527
|
||||
0.11592234
|
||||
0.11971953
|
||||
0.06149256
|
||||
0.03805179
|
||||
0.05762681
|
||||
0.05818856
|
||||
0.04659332
|
||||
0.08668210
|
||||
0.10497145
|
||||
0.12429776
|
||||
0.11524499
|
||||
0.04751239
|
||||
0.02633372
|
||||
0.03824132
|
||||
0.04337949
|
||||
0.03293408
|
||||
0.03691372
|
||||
0.03303327
|
||||
0.07757192
|
||||
0.13191013
|
||||
0.09265970
|
||||
0.02088793
|
||||
0.02473713
|
||||
0.02916055
|
||||
0.03506608
|
||||
0.05408846
|
||||
0.03094980
|
||||
0.10444548
|
||||
0.15158002
|
||||
0.08798907
|
||||
0.04625344
|
||||
0.06151570
|
||||
0.05407208
|
||||
0.03231843
|
||||
0.01555239
|
||||
0.00728854
|
||||
0.04916612
|
||||
0.10232492
|
||||
0.07878979
|
||||
0.06246471
|
||||
0.05366619
|
||||
0.10158715
|
||||
0.11886908
|
||||
0.07526539
|
||||
0.02821623
|
||||
0.01340943
|
||||
0.00232617
|
||||
0.00036846
|
||||
0.03731488
|
||||
0.03152382
|
||||
0.03894958
|
||||
0.03209079
|
||||
0.00981623
|
||||
0.00146699
|
||||
0.00014517
|
||||
0.00534313
|
||||
0.06100523
|
||||
0.15190409
|
||||
0.10988420
|
||||
0.12650685
|
||||
0.11347217
|
||||
0.05970725
|
||||
0.04618064
|
||||
0.05150063
|
||||
0.03090077
|
||||
0.03317851
|
||||
0.08775605
|
||||
0.13566470
|
||||
0.10128807
|
||||
0.04527346
|
||||
0.01804154
|
||||
0.00596208
|
||||
0.00167694
|
||||
0.00009594
|
||||
0.00012192
|
||||
0.01358539
|
||||
0.07102436
|
||||
0.12123850
|
||||
0.12106773
|
||||
0.10533741
|
||||
0.13110749
|
||||
0.05361572
|
||||
0.02358464
|
||||
0.01034726
|
||||
0.00343355
|
||||
0.00162977
|
||||
0.03254148
|
||||
0.12353230
|
||||
0.12104879
|
||||
0.10228956
|
||||
0.07902068
|
||||
0.03294208
|
||||
0.01555405
|
||||
0.00885278
|
||||
0.00349990
|
||||
0.00085096
|
||||
0.00030811
|
||||
0.00001531
|
||||
0.00000017
|
||||
0.00000016
|
||||
0.00000014
|
||||
0.00000013
|
||||
0.00000013
|
||||
0.00000011
|
||||
0.00000029
|
||||
0.00000028
|
||||
0.00000010
|
||||
0.00000008
|
||||
0.00000007
|
||||
0.00000007
|
||||
0.00000005
|
||||
0.00000005
|
||||
0.00000003
|
||||
0.00000005
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000000
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00000001
|
||||
0.00000002
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000456
|
||||
0.01129090
|
||||
0.01738315
|
||||
0.02089866
|
||||
0.01380159
|
||||
0.13116765
|
||||
0.11541200
|
||||
0.10767516
|
||||
0.11273928
|
||||
0.10450145
|
||||
0.08044391
|
||||
0.08610874
|
||||
0.07811639
|
||||
0.08932848
|
||||
0.09916812
|
||||
0.08233824
|
||||
0.07835159
|
||||
0.08648565
|
||||
0.08551071
|
||||
0.11009068
|
||||
0.12401471
|
||||
0.09915505
|
||||
0.07595969
|
||||
0.06414745
|
||||
0.06739331
|
||||
0.06131895
|
||||
0.09213228
|
||||
0.09952611
|
||||
0.08556054
|
||||
0.09036897
|
||||
0.08143000
|
||||
0.04082204
|
||||
0.01703065
|
||||
0.00659234
|
||||
0.00967564
|
||||
0.00593357
|
||||
0.00343951
|
||||
0.00107827
|
||||
0.00010090
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5898d7a0def449d47856bcc1ca7a29d6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7cb93a4fb1b04374eaf023113b75af18
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,287 @@
|
||||
0.00000005
|
||||
0.00000003
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.01041133
|
||||
0.11050373
|
||||
0.11571781
|
||||
0.09685160
|
||||
0.06781394
|
||||
0.06115836
|
||||
0.02671054
|
||||
0.01714665
|
||||
0.01123293
|
||||
0.00581291
|
||||
0.00527384
|
||||
0.03901498
|
||||
0.11867370
|
||||
0.15407452
|
||||
0.09560385
|
||||
0.05615886
|
||||
0.04482845
|
||||
0.02856232
|
||||
0.08357130
|
||||
0.12180025
|
||||
0.11046895
|
||||
0.08895491
|
||||
0.08778770
|
||||
0.09132081
|
||||
0.04692575
|
||||
0.01269024
|
||||
0.00540550
|
||||
0.01323932
|
||||
0.03548777
|
||||
0.09886734
|
||||
0.10633425
|
||||
0.06211413
|
||||
0.04629371
|
||||
0.03601964
|
||||
0.03145342
|
||||
0.03699398
|
||||
0.02851260
|
||||
0.09810046
|
||||
0.12985127
|
||||
0.10250688
|
||||
0.07980689
|
||||
0.08739660
|
||||
0.04454322
|
||||
0.01042159
|
||||
0.02879480
|
||||
0.04266862
|
||||
0.01084313
|
||||
0.04596614
|
||||
0.13443977
|
||||
0.10879387
|
||||
0.04520948
|
||||
0.04018075
|
||||
0.02624859
|
||||
0.00865528
|
||||
0.00220818
|
||||
0.00292230
|
||||
0.00325043
|
||||
0.01547375
|
||||
0.10285073
|
||||
0.13288546
|
||||
0.06569756
|
||||
0.04191129
|
||||
0.00984927
|
||||
0.00487799
|
||||
0.00717907
|
||||
0.07125617
|
||||
0.14066201
|
||||
0.12093860
|
||||
0.12668209
|
||||
0.08771859
|
||||
0.08893538
|
||||
0.11586918
|
||||
0.09410246
|
||||
0.11251948
|
||||
0.06581375
|
||||
0.01573470
|
||||
0.00798749
|
||||
0.00473720
|
||||
0.00184862
|
||||
0.00599098
|
||||
0.01365598
|
||||
0.00891943
|
||||
0.00741468
|
||||
0.00870850
|
||||
0.12349596
|
||||
0.20865980
|
||||
0.11312929
|
||||
0.08664145
|
||||
0.12243897
|
||||
0.12067145
|
||||
0.08424711
|
||||
0.05526139
|
||||
0.04627320
|
||||
0.10428049
|
||||
0.08349684
|
||||
0.07010089
|
||||
0.02950357
|
||||
0.01629749
|
||||
0.01049282
|
||||
0.01468810
|
||||
0.02427274
|
||||
0.02904649
|
||||
0.02663092
|
||||
0.02238721
|
||||
0.01449317
|
||||
0.00891655
|
||||
0.00328868
|
||||
0.00101202
|
||||
0.00018072
|
||||
0.00000018
|
||||
0.00000022
|
||||
0.00001380
|
||||
0.00340936
|
||||
0.01070781
|
||||
0.02272540
|
||||
0.02303817
|
||||
0.01339627
|
||||
0.01482264
|
||||
0.02972042
|
||||
0.16883568
|
||||
0.13453023
|
||||
0.14972425
|
||||
0.08440456
|
||||
0.09065786
|
||||
0.05294919
|
||||
0.02135629
|
||||
0.00819955
|
||||
0.00474883
|
||||
0.00529746
|
||||
0.00265304
|
||||
0.00225529
|
||||
0.01425153
|
||||
0.08025608
|
||||
0.12780648
|
||||
0.10383718
|
||||
0.06637228
|
||||
0.06980769
|
||||
0.06826495
|
||||
0.05187644
|
||||
0.03362885
|
||||
0.01408524
|
||||
0.02797011
|
||||
0.04798624
|
||||
0.04473467
|
||||
0.06783500
|
||||
0.07362254
|
||||
0.03932714
|
||||
0.01432003
|
||||
0.00567656
|
||||
0.02164616
|
||||
0.02448191
|
||||
0.12810233
|
||||
0.14456984
|
||||
0.12034076
|
||||
0.12263951
|
||||
0.10216748
|
||||
0.08076008
|
||||
0.06284898
|
||||
0.04605800
|
||||
0.01751118
|
||||
0.04122978
|
||||
0.05452909
|
||||
0.06921396
|
||||
0.07712647
|
||||
0.05760632
|
||||
0.03222826
|
||||
0.02906787
|
||||
0.05488998
|
||||
0.05686560
|
||||
0.04881791
|
||||
0.06627714
|
||||
0.07501493
|
||||
0.06122237
|
||||
0.04391065
|
||||
0.04513443
|
||||
0.05685579
|
||||
0.06692855
|
||||
0.11950159
|
||||
0.09488340
|
||||
0.05996871
|
||||
0.12589936
|
||||
0.12426486
|
||||
0.08167235
|
||||
0.08727088
|
||||
0.09361180
|
||||
0.05560031
|
||||
0.02492296
|
||||
0.01225502
|
||||
0.02261247
|
||||
0.10637776
|
||||
0.10854032
|
||||
0.08564665
|
||||
0.06367619
|
||||
0.03858946
|
||||
0.01254055
|
||||
0.00857360
|
||||
0.00521010
|
||||
0.03276831
|
||||
0.05026552
|
||||
0.07917455
|
||||
0.12885508
|
||||
0.09776132
|
||||
0.04524392
|
||||
0.02057937
|
||||
0.00684326
|
||||
0.00172701
|
||||
0.00501310
|
||||
0.00338763
|
||||
0.00062568
|
||||
0.00007869
|
||||
0.00000011
|
||||
0.07221141
|
||||
0.13406493
|
||||
0.11343215
|
||||
0.06939244
|
||||
0.05757182
|
||||
0.05019560
|
||||
0.02351180
|
||||
0.00653620
|
||||
0.01007761
|
||||
0.03060259
|
||||
0.07896144
|
||||
0.11751062
|
||||
0.06696402
|
||||
0.03085680
|
||||
0.01771194
|
||||
0.05062816
|
||||
0.12535316
|
||||
0.09691679
|
||||
0.05669325
|
||||
0.03652356
|
||||
0.04995165
|
||||
0.10247808
|
||||
0.14754270
|
||||
0.10729573
|
||||
0.09490211
|
||||
0.08105871
|
||||
0.03237764
|
||||
0.01436423
|
||||
0.02403967
|
||||
0.06067147
|
||||
0.09486736
|
||||
0.11827907
|
||||
0.06557996
|
||||
0.01828207
|
||||
0.00410462
|
||||
0.00560886
|
||||
0.02666351
|
||||
0.10461742
|
||||
0.12328171
|
||||
0.11638515
|
||||
0.07130920
|
||||
0.06859463
|
||||
0.04690340
|
||||
0.02583032
|
||||
0.02004467
|
||||
0.04906425
|
||||
0.06766128
|
||||
0.10911208
|
||||
0.11592212
|
||||
0.09715220
|
||||
0.03466866
|
||||
0.01872768
|
||||
0.01205066
|
||||
0.03613232
|
||||
0.09832279
|
||||
0.14594945
|
||||
0.10550399
|
||||
0.13000724
|
||||
0.09247153
|
||||
0.04398929
|
||||
0.06428571
|
||||
0.04855256
|
||||
0.05265495
|
||||
0.02728924
|
||||
0.01480956
|
||||
0.01000638
|
||||
0.00291081
|
||||
0.00050468
|
||||
0.00004996
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7d61563367dd2174ebac733fc96d5a7c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/CharacterVoicelines/Alien/Madis_Different_Target-001.wav
LFS
Normal file
BIN
Assets/StreamingAssets/CharacterVoicelines/Alien/Madis_Different_Target-001.wav
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 264f1b0a1d60ee44fb83104376fe62d6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,292 @@
|
||||
0.00000005
|
||||
0.00000003
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00017371
|
||||
0.00397631
|
||||
0.00645893
|
||||
0.03636703
|
||||
0.11108588
|
||||
0.09490587
|
||||
0.05810735
|
||||
0.03614677
|
||||
0.01433622
|
||||
0.02562395
|
||||
0.03500152
|
||||
0.11138436
|
||||
0.11492082
|
||||
0.08813144
|
||||
0.11754254
|
||||
0.09585521
|
||||
0.05497217
|
||||
0.08569790
|
||||
0.10671677
|
||||
0.09063023
|
||||
0.10238150
|
||||
0.10540754
|
||||
0.07553490
|
||||
0.04124249
|
||||
0.01229520
|
||||
0.00533037
|
||||
0.00913266
|
||||
0.02397980
|
||||
0.10611945
|
||||
0.10192107
|
||||
0.07391837
|
||||
0.05137710
|
||||
0.05373237
|
||||
0.05023317
|
||||
0.03660126
|
||||
0.04064788
|
||||
0.03359168
|
||||
0.05470684
|
||||
0.14775619
|
||||
0.13745435
|
||||
0.10754745
|
||||
0.10044444
|
||||
0.08634765
|
||||
0.04968073
|
||||
0.02235863
|
||||
0.00676216
|
||||
0.01762132
|
||||
0.03200046
|
||||
0.01515087
|
||||
0.02490337
|
||||
0.03465642
|
||||
0.08731771
|
||||
0.05780291
|
||||
0.04214677
|
||||
0.03614981
|
||||
0.01129049
|
||||
0.00178883
|
||||
0.00043622
|
||||
0.00002077
|
||||
0.00790669
|
||||
0.03906181
|
||||
0.13493988
|
||||
0.12611340
|
||||
0.10359488
|
||||
0.05120334
|
||||
0.02121265
|
||||
0.00780912
|
||||
0.02118601
|
||||
0.08881138
|
||||
0.13246961
|
||||
0.13096575
|
||||
0.08698378
|
||||
0.07840307
|
||||
0.08006902
|
||||
0.08267396
|
||||
0.07665613
|
||||
0.06423858
|
||||
0.02234341
|
||||
0.00549498
|
||||
0.00242034
|
||||
0.00047552
|
||||
0.00005966
|
||||
0.03320520
|
||||
0.06114354
|
||||
0.05643975
|
||||
0.11037107
|
||||
0.13888292
|
||||
0.16179177
|
||||
0.10823945
|
||||
0.09318663
|
||||
0.08210272
|
||||
0.05253165
|
||||
0.04468418
|
||||
0.08318146
|
||||
0.09999528
|
||||
0.05302287
|
||||
0.02463017
|
||||
0.00933137
|
||||
0.00975701
|
||||
0.01784607
|
||||
0.02833371
|
||||
0.03651267
|
||||
0.04211179
|
||||
0.03161097
|
||||
0.02936525
|
||||
0.02278606
|
||||
0.01299867
|
||||
0.00431430
|
||||
0.00138863
|
||||
0.00027162
|
||||
0.00000123
|
||||
0.00000004
|
||||
0.00000005
|
||||
0.00000004
|
||||
0.00073564
|
||||
0.00535114
|
||||
0.01484067
|
||||
0.02635980
|
||||
0.02197363
|
||||
0.01175617
|
||||
0.01850840
|
||||
0.13574521
|
||||
0.13955091
|
||||
0.16727531
|
||||
0.10608624
|
||||
0.09235191
|
||||
0.08989335
|
||||
0.03222363
|
||||
0.01007234
|
||||
0.00426795
|
||||
0.00493753
|
||||
0.00278311
|
||||
0.00285112
|
||||
0.00889112
|
||||
0.02711722
|
||||
0.11798907
|
||||
0.12569274
|
||||
0.08584248
|
||||
0.06597847
|
||||
0.07110602
|
||||
0.05414321
|
||||
0.04401594
|
||||
0.01751132
|
||||
0.01334137
|
||||
0.03514252
|
||||
0.04998326
|
||||
0.05386503
|
||||
0.08303778
|
||||
0.05580477
|
||||
0.03294466
|
||||
0.01155389
|
||||
0.01592658
|
||||
0.01961545
|
||||
0.04122524
|
||||
0.14904048
|
||||
0.13972428
|
||||
0.12943657
|
||||
0.10712221
|
||||
0.08562635
|
||||
0.07122923
|
||||
0.05961891
|
||||
0.02759550
|
||||
0.01993110
|
||||
0.04310589
|
||||
0.07547285
|
||||
0.08173466
|
||||
0.06247975
|
||||
0.04214621
|
||||
0.03760689
|
||||
0.03115748
|
||||
0.05670190
|
||||
0.05714985
|
||||
0.06260712
|
||||
0.07415769
|
||||
0.07433423
|
||||
0.05062892
|
||||
0.04170515
|
||||
0.04818286
|
||||
0.05886082
|
||||
0.10128240
|
||||
0.10150870
|
||||
0.05131475
|
||||
0.11870202
|
||||
0.12748007
|
||||
0.09922212
|
||||
0.09134800
|
||||
0.11311474
|
||||
0.05401089
|
||||
0.04061917
|
||||
0.01249508
|
||||
0.00948702
|
||||
0.04186318
|
||||
0.11898167
|
||||
0.09532230
|
||||
0.09337173
|
||||
0.04848767
|
||||
0.02473678
|
||||
0.01069614
|
||||
0.00484177
|
||||
0.01662082
|
||||
0.04742326
|
||||
0.06200481
|
||||
0.12276933
|
||||
0.10882907
|
||||
0.08602326
|
||||
0.03015586
|
||||
0.00973329
|
||||
0.00328402
|
||||
0.00226518
|
||||
0.00784843
|
||||
0.00278660
|
||||
0.00034507
|
||||
0.00005544
|
||||
0.00514254
|
||||
0.11737227
|
||||
0.11911432
|
||||
0.06987587
|
||||
0.06208072
|
||||
0.05524339
|
||||
0.03672045
|
||||
0.01023218
|
||||
0.00268005
|
||||
0.02696391
|
||||
0.03711095
|
||||
0.11534176
|
||||
0.07793026
|
||||
0.06439523
|
||||
0.02477391
|
||||
0.02580977
|
||||
0.12326863
|
||||
0.10718736
|
||||
0.06945094
|
||||
0.04225161
|
||||
0.04650784
|
||||
0.05684860
|
||||
0.14646806
|
||||
0.12088709
|
||||
0.10804930
|
||||
0.09149216
|
||||
0.06569657
|
||||
0.01902741
|
||||
0.00708923
|
||||
0.03978205
|
||||
0.06555759
|
||||
0.13457091
|
||||
0.07263914
|
||||
0.03940162
|
||||
0.01395208
|
||||
0.00407308
|
||||
0.00785582
|
||||
0.07307136
|
||||
0.14730501
|
||||
0.12630911
|
||||
0.09076075
|
||||
0.05463418
|
||||
0.05033695
|
||||
0.03686942
|
||||
0.02131259
|
||||
0.03664210
|
||||
0.03732653
|
||||
0.07706883
|
||||
0.10262816
|
||||
0.11299729
|
||||
0.08176315
|
||||
0.03037785
|
||||
0.01326680
|
||||
0.01651880
|
||||
0.08489019
|
||||
0.12672557
|
||||
0.12814839
|
||||
0.13081826
|
||||
0.10027778
|
||||
0.06042381
|
||||
0.05928643
|
||||
0.04862963
|
||||
0.05942964
|
||||
0.03829884
|
||||
0.02554955
|
||||
0.01399406
|
||||
0.00600915
|
||||
0.00526958
|
||||
0.00088941
|
||||
0.00000848
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a12bca9c495f844788cac4b3dc01528
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/CharacterVoicelines/Alien/Madis_Different_Target-002.wav
LFS
Normal file
BIN
Assets/StreamingAssets/CharacterVoicelines/Alien/Madis_Different_Target-002.wav
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8ff483912820c0c458c2960593f32d01
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,306 @@
|
||||
0.00000005
|
||||
0.00000003
|
||||
0.00000000
|
||||
0.00000000
|
||||
0.00008677
|
||||
0.02555647
|
||||
0.06356105
|
||||
0.06754274
|
||||
0.12535521
|
||||
0.11968394
|
||||
0.10654067
|
||||
0.08807448
|
||||
0.03094069
|
||||
0.01887335
|
||||
0.04522886
|
||||
0.10707195
|
||||
0.10807064
|
||||
0.11986617
|
||||
0.15139525
|
||||
0.12412844
|
||||
0.08856518
|
||||
0.09356070
|
||||
0.09514336
|
||||
0.07740945
|
||||
0.06272630
|
||||
0.05835729
|
||||
0.05653152
|
||||
0.04069148
|
||||
0.02248743
|
||||
0.00993187
|
||||
0.00186555
|
||||
0.00107107
|
||||
0.00120904
|
||||
0.00187453
|
||||
0.00111695
|
||||
0.00004033
|
||||
0.00000578
|
||||
0.00000037
|
||||
0.00000047
|
||||
0.00000041
|
||||
0.00000041
|
||||
0.00000036
|
||||
0.00000037
|
||||
0.00000030
|
||||
0.00000033
|
||||
0.00000027
|
||||
0.00000021
|
||||
0.00000026
|
||||
0.00000013
|
||||
0.00000017
|
||||
0.00000012
|
||||
0.00000011
|
||||
0.01054585
|
||||
0.05012132
|
||||
0.13717458
|
||||
0.13160563
|
||||
0.06083952
|
||||
0.03850145
|
||||
0.06312518
|
||||
0.08917529
|
||||
0.07733954
|
||||
0.03812576
|
||||
0.02091784
|
||||
0.02317895
|
||||
0.09112280
|
||||
0.10568590
|
||||
0.05461230
|
||||
0.01764572
|
||||
0.00752449
|
||||
0.00855657
|
||||
0.01883113
|
||||
0.11905217
|
||||
0.15466592
|
||||
0.14110537
|
||||
0.12407092
|
||||
0.09104393
|
||||
0.06492120
|
||||
0.05765026
|
||||
0.03929679
|
||||
0.01446094
|
||||
0.01584649
|
||||
0.01906035
|
||||
0.00225289
|
||||
0.03853673
|
||||
0.04068287
|
||||
0.12364593
|
||||
0.11614482
|
||||
0.09028992
|
||||
0.06433237
|
||||
0.02383663
|
||||
0.01381440
|
||||
0.00635609
|
||||
0.01836661
|
||||
0.02473579
|
||||
0.11016511
|
||||
0.10806321
|
||||
0.03348883
|
||||
0.01009692
|
||||
0.03878922
|
||||
0.07220570
|
||||
0.08639481
|
||||
0.07928380
|
||||
0.10606322
|
||||
0.10445405
|
||||
0.11997829
|
||||
0.09822565
|
||||
0.08011347
|
||||
0.04837793
|
||||
0.03226493
|
||||
0.03607234
|
||||
0.03278252
|
||||
0.03711180
|
||||
0.06834672
|
||||
0.07951122
|
||||
0.08939215
|
||||
0.08045211
|
||||
0.06378602
|
||||
0.03623512
|
||||
0.03542983
|
||||
0.13810526
|
||||
0.13145922
|
||||
0.08724828
|
||||
0.07982137
|
||||
0.07484215
|
||||
0.06310783
|
||||
0.03040927
|
||||
0.02398604
|
||||
0.01799416
|
||||
0.01170484
|
||||
0.00820995
|
||||
0.00466642
|
||||
0.00173959
|
||||
0.00026183
|
||||
0.00000286
|
||||
0.00000056
|
||||
0.00000045
|
||||
0.00000036
|
||||
0.00000037
|
||||
0.00000035
|
||||
0.00000034
|
||||
0.00000032
|
||||
0.00000030
|
||||
0.00000027
|
||||
0.00000027
|
||||
0.00000023
|
||||
0.00000022
|
||||
0.00000018
|
||||
0.00000018
|
||||
0.00000013
|
||||
0.00000013
|
||||
0.00000010
|
||||
0.00000010
|
||||
0.00000008
|
||||
0.00000004
|
||||
0.00000004
|
||||
0.00000003
|
||||
0.00000002
|
||||
0.00000003
|
||||
0.00000003
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00000004
|
||||
0.00000002
|
||||
0.01210695
|
||||
0.03104685
|
||||
0.09687874
|
||||
0.10992987
|
||||
0.06612710
|
||||
0.05232693
|
||||
0.07025713
|
||||
0.07789180
|
||||
0.05726887
|
||||
0.05102119
|
||||
0.05531616
|
||||
0.07071804
|
||||
0.07324490
|
||||
0.12500001
|
||||
0.13551877
|
||||
0.11463275
|
||||
0.09164570
|
||||
0.07969173
|
||||
0.08745047
|
||||
0.09294610
|
||||
0.08758718
|
||||
0.04984579
|
||||
0.01199116
|
||||
0.01887675
|
||||
0.01864040
|
||||
0.07235581
|
||||
0.10418790
|
||||
0.03615440
|
||||
0.00980441
|
||||
0.00221446
|
||||
0.03594533
|
||||
0.06812992
|
||||
0.11332203
|
||||
0.06093310
|
||||
0.05594898
|
||||
0.06496126
|
||||
0.08740044
|
||||
0.12233238
|
||||
0.09580570
|
||||
0.04772820
|
||||
0.02361993
|
||||
0.01078867
|
||||
0.03802064
|
||||
0.07909553
|
||||
0.08012012
|
||||
0.07333743
|
||||
0.05754400
|
||||
0.05097869
|
||||
0.07664723
|
||||
0.05694538
|
||||
0.04448567
|
||||
0.09419085
|
||||
0.06582000
|
||||
0.06082845
|
||||
0.03704552
|
||||
0.02209460
|
||||
0.00290526
|
||||
0.00198855
|
||||
0.00014714
|
||||
0.00000098
|
||||
0.00000014
|
||||
0.00000015
|
||||
0.00003012
|
||||
0.00101211
|
||||
0.00025446
|
||||
0.00000087
|
||||
0.00000012
|
||||
0.00000008
|
||||
0.00000007
|
||||
0.00000005
|
||||
0.00017385
|
||||
0.00057944
|
||||
0.00056784
|
||||
0.00059026
|
||||
0.00004644
|
||||
0.01499533
|
||||
0.03538585
|
||||
0.06983574
|
||||
0.06200712
|
||||
0.06784921
|
||||
0.06938390
|
||||
0.08049586
|
||||
0.07614776
|
||||
0.05881132
|
||||
0.11806823
|
||||
0.15041181
|
||||
0.12342727
|
||||
0.11753254
|
||||
0.10245495
|
||||
0.09522798
|
||||
0.09911717
|
||||
0.09732006
|
||||
0.07817753
|
||||
0.08756886
|
||||
0.05415813
|
||||
0.02474579
|
||||
0.02446261
|
||||
0.11357070
|
||||
0.11718469
|
||||
0.09938256
|
||||
0.08500034
|
||||
0.07520326
|
||||
0.07641556
|
||||
0.06648254
|
||||
0.06731120
|
||||
0.07971697
|
||||
0.08603772
|
||||
0.05109902
|
||||
0.09391770
|
||||
0.12228667
|
||||
0.05145732
|
||||
0.05202519
|
||||
0.06156273
|
||||
0.01560635
|
||||
0.00427968
|
||||
0.02421295
|
||||
0.03267565
|
||||
0.07683574
|
||||
0.02789398
|
||||
0.01183625
|
||||
0.01795142
|
||||
0.02549900
|
||||
0.04912534
|
||||
0.10022978
|
||||
0.09703911
|
||||
0.06528247
|
||||
0.05660536
|
||||
0.05310062
|
||||
0.02857801
|
||||
0.00309033
|
||||
0.00894551
|
||||
0.02781632
|
||||
0.00307855
|
||||
0.00136751
|
||||
0.01259168
|
||||
0.03591923
|
||||
0.02849875
|
||||
0.03123168
|
||||
0.01485326
|
||||
0.00356870
|
||||
0.00102485
|
||||
0.00086726
|
||||
0.00025258
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9e4ecb709f95cd241a9c5dc5558ab3b7
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5aa14328feee8ad47a37f50a3b07ae47
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,309 @@
|
||||
0.00000005
|
||||
0.00000003
|
||||
0.00000002
|
||||
0.00000004
|
||||
0.00001575
|
||||
0.00056058
|
||||
0.10512087
|
||||
0.06247878
|
||||
0.13907126
|
||||
0.10796085
|
||||
0.08928745
|
||||
0.04296236
|
||||
0.01589850
|
||||
0.03041418
|
||||
0.09944262
|
||||
0.09935775
|
||||
0.09998433
|
||||
0.11296503
|
||||
0.11884489
|
||||
0.10825495
|
||||
0.09847742
|
||||
0.08814481
|
||||
0.09157983
|
||||
0.09493581
|
||||
0.08478543
|
||||
0.06469711
|
||||
0.06443882
|
||||
0.04607481
|
||||
0.01910205
|
||||
0.00103388
|
||||
0.00010046
|
||||
0.00071292
|
||||
0.00033006
|
||||
0.00008951
|
||||
0.00007941
|
||||
0.00000031
|
||||
0.00011136
|
||||
0.00000019
|
||||
0.00000021
|
||||
0.00000018
|
||||
0.00000026
|
||||
0.00000008
|
||||
0.00000014
|
||||
0.00000015
|
||||
0.00000016
|
||||
0.00000012
|
||||
0.00000009
|
||||
0.00000007
|
||||
0.00000006
|
||||
0.00000005
|
||||
0.00000004
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00005185
|
||||
0.00000828
|
||||
0.02832398
|
||||
0.12830395
|
||||
0.16844831
|
||||
0.12687734
|
||||
0.06460033
|
||||
0.01894131
|
||||
0.03220102
|
||||
0.05880868
|
||||
0.06527510
|
||||
0.05140930
|
||||
0.03658038
|
||||
0.01398638
|
||||
0.02421561
|
||||
0.08997451
|
||||
0.08377688
|
||||
0.02418836
|
||||
0.00973439
|
||||
0.00599007
|
||||
0.00905722
|
||||
0.02651637
|
||||
0.10164079
|
||||
0.14320731
|
||||
0.12904300
|
||||
0.11029114
|
||||
0.07977970
|
||||
0.05571616
|
||||
0.06751201
|
||||
0.01764874
|
||||
0.00617195
|
||||
0.02489195
|
||||
0.01025172
|
||||
0.00284820
|
||||
0.04030944
|
||||
0.02575630
|
||||
0.11017919
|
||||
0.11959197
|
||||
0.06856420
|
||||
0.03276161
|
||||
0.01958396
|
||||
0.01616774
|
||||
0.02088996
|
||||
0.05009602
|
||||
0.07843453
|
||||
0.06901982
|
||||
0.02250954
|
||||
0.01337707
|
||||
0.02803325
|
||||
0.06195528
|
||||
0.07357799
|
||||
0.06418665
|
||||
0.09644670
|
||||
0.09922776
|
||||
0.11329394
|
||||
0.10822823
|
||||
0.09179486
|
||||
0.06035907
|
||||
0.05104551
|
||||
0.03396708
|
||||
0.05817677
|
||||
0.06630339
|
||||
0.04054824
|
||||
0.07112641
|
||||
0.05802667
|
||||
0.06763632
|
||||
0.06566662
|
||||
0.05350130
|
||||
0.03097204
|
||||
0.01398106
|
||||
0.03965144
|
||||
0.13338506
|
||||
0.14704359
|
||||
0.09780610
|
||||
0.06288150
|
||||
0.05591090
|
||||
0.05028389
|
||||
0.02308469
|
||||
0.02326990
|
||||
0.01427633
|
||||
0.01059657
|
||||
0.00597096
|
||||
0.00265677
|
||||
0.00096331
|
||||
0.00027705
|
||||
0.00081122
|
||||
0.00029532
|
||||
0.00003557
|
||||
0.00000033
|
||||
0.00000033
|
||||
0.00000032
|
||||
0.00000030
|
||||
0.00000028
|
||||
0.00000030
|
||||
0.00000022
|
||||
0.00000023
|
||||
0.00000021
|
||||
0.00000018
|
||||
0.00000015
|
||||
0.00000015
|
||||
0.00000014
|
||||
0.00000010
|
||||
0.00000007
|
||||
0.00000008
|
||||
0.00000004
|
||||
0.00000004
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00008707
|
||||
0.00058412
|
||||
0.00013537
|
||||
0.00000516
|
||||
0.02347101
|
||||
0.04357265
|
||||
0.11365347
|
||||
0.08669745
|
||||
0.05095782
|
||||
0.06836279
|
||||
0.07590245
|
||||
0.07837829
|
||||
0.06091340
|
||||
0.05027740
|
||||
0.07152368
|
||||
0.12868381
|
||||
0.13290957
|
||||
0.11694506
|
||||
0.10228214
|
||||
0.10048629
|
||||
0.08879036
|
||||
0.03953559
|
||||
0.01065895
|
||||
0.02042474
|
||||
0.02315973
|
||||
0.05589612
|
||||
0.10023368
|
||||
0.05182547
|
||||
0.00905302
|
||||
0.00198392
|
||||
0.02186030
|
||||
0.04189350
|
||||
0.14410524
|
||||
0.09991421
|
||||
0.04756368
|
||||
0.06668478
|
||||
0.09321541
|
||||
0.11032545
|
||||
0.10434034
|
||||
0.08342411
|
||||
0.03306899
|
||||
0.01367741
|
||||
0.06044695
|
||||
0.09034430
|
||||
0.06164889
|
||||
0.06296910
|
||||
0.05844286
|
||||
0.04815272
|
||||
0.05400948
|
||||
0.07309759
|
||||
0.08802762
|
||||
0.15068236
|
||||
0.11547473
|
||||
0.05514836
|
||||
0.03452749
|
||||
0.01822943
|
||||
0.00416943
|
||||
0.00182502
|
||||
0.00100153
|
||||
0.00051689
|
||||
0.00018493
|
||||
0.00159059
|
||||
0.00043061
|
||||
0.00000588
|
||||
0.00000041
|
||||
0.00000057
|
||||
0.00000034
|
||||
0.00000041
|
||||
0.00015376
|
||||
0.00000841
|
||||
0.00085780
|
||||
0.01958037
|
||||
0.03508846
|
||||
0.08052298
|
||||
0.05665231
|
||||
0.05217534
|
||||
0.07203114
|
||||
0.06636944
|
||||
0.06487500
|
||||
0.06899809
|
||||
0.05801162
|
||||
0.13297467
|
||||
0.10661902
|
||||
0.09435981
|
||||
0.09961571
|
||||
0.10622018
|
||||
0.11464507
|
||||
0.10977937
|
||||
0.09725338
|
||||
0.09613403
|
||||
0.07686792
|
||||
0.04782833
|
||||
0.04779501
|
||||
0.02959961
|
||||
0.04014716
|
||||
0.10748242
|
||||
0.09299997
|
||||
0.08187937
|
||||
0.08289372
|
||||
0.10451850
|
||||
0.09585603
|
||||
0.10306562
|
||||
0.09885249
|
||||
0.09429167
|
||||
0.08828995
|
||||
0.08491156
|
||||
0.05210634
|
||||
0.06902108
|
||||
0.06840731
|
||||
0.03392952
|
||||
0.05985209
|
||||
0.05023765
|
||||
0.01092744
|
||||
0.00683205
|
||||
0.02457151
|
||||
0.09223298
|
||||
0.04956920
|
||||
0.01651768
|
||||
0.00484253
|
||||
0.00325285
|
||||
0.01828707
|
||||
0.03094625
|
||||
0.08162503
|
||||
0.09403877
|
||||
0.07717906
|
||||
0.05836591
|
||||
0.07295292
|
||||
0.03507503
|
||||
0.00875005
|
||||
0.00378138
|
||||
0.01026982
|
||||
0.00332591
|
||||
0.00306266
|
||||
0.01591836
|
||||
0.03091518
|
||||
0.02433426
|
||||
0.02051376
|
||||
0.00947862
|
||||
0.00142537
|
||||
0.00069377
|
||||
0.00004064
|
||||
0.00000018
|
||||
0.00000003
|
||||
0.00000002
|
||||
0.00007110
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d0ebb29a4c0d68b4da17bc19e7384990
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 97f150ec0d3d48a4db1ea667fe05b072
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,293 @@
|
||||
0.00000006
|
||||
0.00000004
|
||||
0.00000000
|
||||
0.00000876
|
||||
0.00000012
|
||||
0.00004277
|
||||
0.05436340
|
||||
0.17665382
|
||||
0.12990713
|
||||
0.12583591
|
||||
0.13277286
|
||||
0.13517515
|
||||
0.12306246
|
||||
0.12600669
|
||||
0.12459808
|
||||
0.10394835
|
||||
0.09309749
|
||||
0.09333178
|
||||
0.07643553
|
||||
0.05511052
|
||||
0.04393115
|
||||
0.02941259
|
||||
0.03382056
|
||||
0.02038616
|
||||
0.01548435
|
||||
0.01363530
|
||||
0.01174366
|
||||
0.00893834
|
||||
0.00600578
|
||||
0.00371616
|
||||
0.00200703
|
||||
0.00146441
|
||||
0.00025279
|
||||
0.00000120
|
||||
0.00000023
|
||||
0.00000033
|
||||
0.00000023
|
||||
0.00000020
|
||||
0.00000020
|
||||
0.00000015
|
||||
0.00000013
|
||||
0.00000013
|
||||
0.00000010
|
||||
0.00000008
|
||||
0.00000008
|
||||
0.00011547
|
||||
0.03884210
|
||||
0.11290570
|
||||
0.14032798
|
||||
0.11392568
|
||||
0.10667438
|
||||
0.11704497
|
||||
0.08145794
|
||||
0.03876734
|
||||
0.01617737
|
||||
0.00410597
|
||||
0.03786850
|
||||
0.01552934
|
||||
0.08146030
|
||||
0.12936532
|
||||
0.10310936
|
||||
0.04261066
|
||||
0.01968959
|
||||
0.01155729
|
||||
0.01246085
|
||||
0.01643562
|
||||
0.02611092
|
||||
0.06975007
|
||||
0.06647281
|
||||
0.04812134
|
||||
0.06127471
|
||||
0.04931017
|
||||
0.05622455
|
||||
0.09936404
|
||||
0.13729018
|
||||
0.09841577
|
||||
0.05966850
|
||||
0.01680984
|
||||
0.00261750
|
||||
0.00143242
|
||||
0.01419471
|
||||
0.04943705
|
||||
0.04137772
|
||||
0.03587830
|
||||
0.03199233
|
||||
0.03906901
|
||||
0.03574416
|
||||
0.03229308
|
||||
0.03190199
|
||||
0.04779297
|
||||
0.04261694
|
||||
0.04245671
|
||||
0.04589238
|
||||
0.05662980
|
||||
0.05274693
|
||||
0.05354149
|
||||
0.04374932
|
||||
0.03250221
|
||||
0.01861564
|
||||
0.01963406
|
||||
0.00308434
|
||||
0.00011245
|
||||
0.00000138
|
||||
0.00004786
|
||||
0.00000296
|
||||
0.00000008
|
||||
0.00040744
|
||||
0.01232126
|
||||
0.00401640
|
||||
0.00080837
|
||||
0.00001568
|
||||
0.00000014
|
||||
0.00000001
|
||||
0.00000000
|
||||
0.00000001
|
||||
0.00000000
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00000001
|
||||
0.00137698
|
||||
0.00120946
|
||||
0.00037309
|
||||
0.00001546
|
||||
0.00019473
|
||||
0.05597774
|
||||
0.05349650
|
||||
0.07315911
|
||||
0.10007664
|
||||
0.12148964
|
||||
0.10390536
|
||||
0.11813873
|
||||
0.12236188
|
||||
0.07448173
|
||||
0.07163881
|
||||
0.03668909
|
||||
0.00482586
|
||||
0.00674204
|
||||
0.03587620
|
||||
0.16254307
|
||||
0.15529911
|
||||
0.04756048
|
||||
0.01177680
|
||||
0.00713155
|
||||
0.09382056
|
||||
0.10292054
|
||||
0.16375251
|
||||
0.13605520
|
||||
0.05452843
|
||||
0.09455058
|
||||
0.12224557
|
||||
0.13256259
|
||||
0.09879588
|
||||
0.06324653
|
||||
0.02657961
|
||||
0.01032267
|
||||
0.00230831
|
||||
0.02871299
|
||||
0.07454104
|
||||
0.13230723
|
||||
0.08707617
|
||||
0.04283587
|
||||
0.02152865
|
||||
0.08970764
|
||||
0.15705778
|
||||
0.13232288
|
||||
0.11249097
|
||||
0.12094339
|
||||
0.09471517
|
||||
0.08165064
|
||||
0.05688582
|
||||
0.06236089
|
||||
0.06496719
|
||||
0.07772935
|
||||
0.07066742
|
||||
0.06583010
|
||||
0.06023704
|
||||
0.05579713
|
||||
0.03196885
|
||||
0.02167577
|
||||
0.00885445
|
||||
0.00054829
|
||||
0.00120143
|
||||
0.05003724
|
||||
0.05701566
|
||||
0.05554289
|
||||
0.06652608
|
||||
0.06286423
|
||||
0.07321317
|
||||
0.10022882
|
||||
0.08733696
|
||||
0.05627337
|
||||
0.00893717
|
||||
0.05115506
|
||||
0.02904028
|
||||
0.03742857
|
||||
0.05691869
|
||||
0.04722928
|
||||
0.04761178
|
||||
0.11284457
|
||||
0.06448554
|
||||
0.01647628
|
||||
0.00811301
|
||||
0.00184246
|
||||
0.00095617
|
||||
0.03380137
|
||||
0.05253933
|
||||
0.09993897
|
||||
0.08770414
|
||||
0.06539877
|
||||
0.06725874
|
||||
0.05866503
|
||||
0.02927921
|
||||
0.00474572
|
||||
0.00449728
|
||||
0.00220470
|
||||
0.03732991
|
||||
0.16716687
|
||||
0.13160835
|
||||
0.11313587
|
||||
0.09361040
|
||||
0.08533838
|
||||
0.05350770
|
||||
0.01132886
|
||||
0.00188624
|
||||
0.00224469
|
||||
0.04322987
|
||||
0.14946128
|
||||
0.11786281
|
||||
0.09559109
|
||||
0.08745537
|
||||
0.06887340
|
||||
0.06453345
|
||||
0.14468354
|
||||
0.15365960
|
||||
0.08112232
|
||||
0.05636847
|
||||
0.05092329
|
||||
0.06082837
|
||||
0.05791784
|
||||
0.03492959
|
||||
0.01728887
|
||||
0.01145544
|
||||
0.03110087
|
||||
0.06301248
|
||||
0.08440568
|
||||
0.02886192
|
||||
0.02436969
|
||||
0.06101014
|
||||
0.06737709
|
||||
0.12571132
|
||||
0.13595617
|
||||
0.11148004
|
||||
0.02669337
|
||||
0.00637604
|
||||
0.00583108
|
||||
0.04190948
|
||||
0.12353806
|
||||
0.13185968
|
||||
0.10900982
|
||||
0.09392569
|
||||
0.07719076
|
||||
0.06124953
|
||||
0.04566133
|
||||
0.03477211
|
||||
0.02629414
|
||||
0.02993021
|
||||
0.03762943
|
||||
0.05084812
|
||||
0.03652138
|
||||
0.05007470
|
||||
0.11358684
|
||||
0.14574684
|
||||
0.11534683
|
||||
0.09708887
|
||||
0.06805480
|
||||
0.04739871
|
||||
0.04391212
|
||||
0.04065108
|
||||
0.02693054
|
||||
0.01430396
|
||||
0.00508704
|
||||
0.00183298
|
||||
0.00007207
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 62632355e21a84c4c84e476062ab8670
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/CharacterVoicelines/Professor/Madis_Worry-001.wav
LFS
Normal file
BIN
Assets/StreamingAssets/CharacterVoicelines/Professor/Madis_Worry-001.wav
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7a43d69a404558844883b6d1e9ccc6a6
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,268 @@
|
||||
0.00000005
|
||||
0.00000003
|
||||
0.00240253
|
||||
0.02907968
|
||||
0.10503523
|
||||
0.13422142
|
||||
0.12195620
|
||||
0.13128196
|
||||
0.13441545
|
||||
0.10902201
|
||||
0.11511548
|
||||
0.12498570
|
||||
0.10779791
|
||||
0.08748529
|
||||
0.09270831
|
||||
0.08885102
|
||||
0.07140992
|
||||
0.07817293
|
||||
0.05512253
|
||||
0.07312962
|
||||
0.05332483
|
||||
0.02952465
|
||||
0.00628433
|
||||
0.00322687
|
||||
0.01116481
|
||||
0.02963358
|
||||
0.09202230
|
||||
0.10785520
|
||||
0.09845226
|
||||
0.10343045
|
||||
0.09329684
|
||||
0.04513930
|
||||
0.02688077
|
||||
0.01212403
|
||||
0.04465980
|
||||
0.02088372
|
||||
0.02843172
|
||||
0.14170074
|
||||
0.14037681
|
||||
0.08236120
|
||||
0.02720438
|
||||
0.01238582
|
||||
0.01198153
|
||||
0.01171427
|
||||
0.04087922
|
||||
0.11383022
|
||||
0.10109381
|
||||
0.08515322
|
||||
0.04896748
|
||||
0.04567009
|
||||
0.02929136
|
||||
0.06172283
|
||||
0.11550593
|
||||
0.09598164
|
||||
0.07837296
|
||||
0.02478683
|
||||
0.00525718
|
||||
0.00181524
|
||||
0.00970324
|
||||
0.07209075
|
||||
0.09798092
|
||||
0.07967266
|
||||
0.06513842
|
||||
0.05123381
|
||||
0.05027419
|
||||
0.04282681
|
||||
0.04678136
|
||||
0.06629726
|
||||
0.04876049
|
||||
0.04369129
|
||||
0.03766395
|
||||
0.04394144
|
||||
0.04186778
|
||||
0.05153219
|
||||
0.04662358
|
||||
0.03369124
|
||||
0.02084255
|
||||
0.01368451
|
||||
0.00168093
|
||||
0.00043239
|
||||
0.00004149
|
||||
0.00041319
|
||||
0.00029644
|
||||
0.00001294
|
||||
0.00009876
|
||||
0.01724320
|
||||
0.00515795
|
||||
0.00088585
|
||||
0.00000051
|
||||
0.00000013
|
||||
0.00000001
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00000002
|
||||
0.00029903
|
||||
0.00017885
|
||||
0.00173300
|
||||
0.03660622
|
||||
0.08778569
|
||||
0.08299683
|
||||
0.08249202
|
||||
0.07836448
|
||||
0.07183830
|
||||
0.09798677
|
||||
0.10288965
|
||||
0.07641125
|
||||
0.07789677
|
||||
0.06810252
|
||||
0.00654751
|
||||
0.00414498
|
||||
0.01800906
|
||||
0.10378619
|
||||
0.10797114
|
||||
0.02479648
|
||||
0.00965088
|
||||
0.01219227
|
||||
0.07751130
|
||||
0.11227150
|
||||
0.14128794
|
||||
0.06956887
|
||||
0.05905581
|
||||
0.10559428
|
||||
0.11890519
|
||||
0.08814315
|
||||
0.05743459
|
||||
0.02042473
|
||||
0.00343255
|
||||
0.02520813
|
||||
0.04550547
|
||||
0.11568366
|
||||
0.09366174
|
||||
0.04345708
|
||||
0.03914818
|
||||
0.07486159
|
||||
0.13059510
|
||||
0.15400928
|
||||
0.13821089
|
||||
0.12171482
|
||||
0.10681405
|
||||
0.08661242
|
||||
0.06828332
|
||||
0.04075309
|
||||
0.05218672
|
||||
0.07257383
|
||||
0.07887270
|
||||
0.08816109
|
||||
0.09971622
|
||||
0.08168958
|
||||
0.05080761
|
||||
0.02718288
|
||||
0.00490109
|
||||
0.00417936
|
||||
0.01302431
|
||||
0.01342031
|
||||
0.01449505
|
||||
0.01702639
|
||||
0.01002846
|
||||
0.00135636
|
||||
0.00615288
|
||||
0.00988699
|
||||
0.05511121
|
||||
0.13424085
|
||||
0.13549428
|
||||
0.12707625
|
||||
0.10175641
|
||||
0.09349026
|
||||
0.08078031
|
||||
0.10017768
|
||||
0.09641082
|
||||
0.05651959
|
||||
0.02388979
|
||||
0.03372757
|
||||
0.02807933
|
||||
0.06420366
|
||||
0.05765516
|
||||
0.10705915
|
||||
0.12931576
|
||||
0.06605592
|
||||
0.01316365
|
||||
0.00862626
|
||||
0.00548033
|
||||
0.00231362
|
||||
0.05162323
|
||||
0.02771896
|
||||
0.04052469
|
||||
0.06053808
|
||||
0.04970683
|
||||
0.04813053
|
||||
0.03046989
|
||||
0.00504421
|
||||
0.00297387
|
||||
0.00175442
|
||||
0.03428232
|
||||
0.16087463
|
||||
0.14309265
|
||||
0.11838740
|
||||
0.07561675
|
||||
0.07153413
|
||||
0.06790428
|
||||
0.03115408
|
||||
0.00911597
|
||||
0.03592220
|
||||
0.12518162
|
||||
0.14040351
|
||||
0.13036409
|
||||
0.08447693
|
||||
0.08117232
|
||||
0.06552082
|
||||
0.09590764
|
||||
0.13285699
|
||||
0.12561189
|
||||
0.06799156
|
||||
0.04766290
|
||||
0.04445734
|
||||
0.03842782
|
||||
0.02435055
|
||||
0.01544531
|
||||
0.01147488
|
||||
0.01724531
|
||||
0.10274742
|
||||
0.08165291
|
||||
0.02878892
|
||||
0.04548312
|
||||
0.05494404
|
||||
0.07406324
|
||||
0.12911624
|
||||
0.12757473
|
||||
0.11833390
|
||||
0.03788988
|
||||
0.01097155
|
||||
0.00298281
|
||||
0.00275654
|
||||
0.02835943
|
||||
0.14801164
|
||||
0.12368125
|
||||
0.11705162
|
||||
0.08316845
|
||||
0.07073751
|
||||
0.07032350
|
||||
0.07200280
|
||||
0.05796322
|
||||
0.03717402
|
||||
0.02600084
|
||||
0.02813455
|
||||
0.03365216
|
||||
0.03137246
|
||||
0.02250615
|
||||
0.06806763
|
||||
0.12442078
|
||||
0.12454491
|
||||
0.12151590
|
||||
0.09865309
|
||||
0.07201285
|
||||
0.05476528
|
||||
0.04899836
|
||||
0.04472922
|
||||
0.04327874
|
||||
0.03483583
|
||||
0.02293462
|
||||
0.01217319
|
||||
0.00345893
|
||||
0.00050839
|
||||
0.00024330
|
||||
0.00011198
|
||||
0.00018678
|
||||
0.00008502
|
||||
0.00005998
|
||||
0.00000075
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6789c915ab4332b4f9a2a5e01a0b1d32
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/CharacterVoicelines/Professor/Madis_Worry-002.wav
LFS
Normal file
BIN
Assets/StreamingAssets/CharacterVoicelines/Professor/Madis_Worry-002.wav
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7bb958a26428f774dae23140e390d603
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/Whisper/ggml-base.en.bin
Normal file
BIN
Assets/StreamingAssets/Whisper/ggml-base.en.bin
Normal file
Binary file not shown.
7
Assets/StreamingAssets/Whisper/ggml-base.en.bin.meta
Normal file
7
Assets/StreamingAssets/Whisper/ggml-base.en.bin.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4fef61b9ad4f7eb488ea2657f1cc700e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/StreamingAssets/Whisper/ggml-tiny.bin
Normal file
BIN
Assets/StreamingAssets/Whisper/ggml-tiny.bin
Normal file
Binary file not shown.
7
Assets/StreamingAssets/Whisper/ggml-tiny.bin.meta
Normal file
7
Assets/StreamingAssets/Whisper/ggml-tiny.bin.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f5a0c98d09a6dc4d9d570e23dc96ab9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -85,7 +85,6 @@ public class ArcheryRange : NetworkBehaviour
|
||||
_presentPlayers.Remove(exitedPlayer); // Shifts others left automatically
|
||||
|
||||
if (exitedPlayer == _scoredPlayer) keyboardManager.DeActivate(); // If the player <20>refuses to enter their name.
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,11 @@ public class KeyboardManager : NetworkBehaviour
|
||||
{
|
||||
public enum ShiftMode { Lowercase, NextUppercase, Uppercase }
|
||||
|
||||
public delegate void OnActivateDelegate();
|
||||
public event OnActivateDelegate OnActivate;
|
||||
public delegate void OnSubmitDelegate();
|
||||
public event OnSubmitDelegate OnSubmit;
|
||||
|
||||
[Header("UI References")]
|
||||
public TMP_Text nameTextField;
|
||||
public TMP_Text scoreTextField;
|
||||
@@ -57,6 +62,7 @@ public class KeyboardManager : NetworkBehaviour
|
||||
gameObject.transform.position = assignedTransform.position;
|
||||
gameObject.transform.rotation = assignedTransform.rotation;
|
||||
|
||||
OnActivate?.Invoke();
|
||||
}
|
||||
|
||||
public void DeActivate()
|
||||
@@ -64,7 +70,7 @@ public class KeyboardManager : NetworkBehaviour
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
private void addToInput(string newInput)
|
||||
private void AddToInput(string newInput)
|
||||
{
|
||||
|
||||
if (_input.Length < inputTextLimit)
|
||||
@@ -82,13 +88,13 @@ public class KeyboardManager : NetworkBehaviour
|
||||
switch (_shiftMode)
|
||||
{
|
||||
case ShiftMode.Lowercase:
|
||||
addToInput(letter.ToLower());
|
||||
AddToInput(letter.ToLower());
|
||||
break;
|
||||
case ShiftMode.Uppercase:
|
||||
addToInput(letter.ToUpper());
|
||||
AddToInput(letter.ToUpper());
|
||||
break;
|
||||
case ShiftMode.NextUppercase:
|
||||
addToInput(letter.ToUpper());
|
||||
AddToInput(letter.ToUpper());
|
||||
_shiftMode = ShiftMode.Lowercase;
|
||||
UpdateKeyLabels();
|
||||
break;
|
||||
@@ -124,6 +130,7 @@ public class KeyboardManager : NetworkBehaviour
|
||||
void OnEnterPressed()
|
||||
{
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.LetterEnter, enterButton.gameObject);
|
||||
OnSubmit?.Invoke();
|
||||
|
||||
if (_input.Length > 0)
|
||||
{
|
||||
@@ -136,7 +143,7 @@ public class KeyboardManager : NetworkBehaviour
|
||||
{
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.LetterEnter, spaceButton.gameObject);
|
||||
|
||||
addToInput(" ");
|
||||
AddToInput(" ");
|
||||
UpdateOutput();
|
||||
}
|
||||
|
||||
|
||||
@@ -10365,6 +10365,11 @@ PrefabInstance:
|
||||
propertyPath: leftHand
|
||||
value:
|
||||
objectReference: {fileID: 8597422041532106397}
|
||||
- target: {fileID: 3290095342561961842, guid: d90913a7f0b00844a8c4482b2afc2c66,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3290095342561961842, guid: d90913a7f0b00844a8c4482b2afc2c66,
|
||||
type: 3}
|
||||
propertyPath: rightHand
|
||||
@@ -10390,6 +10395,11 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: TutorialController
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6405559763661037305, guid: d90913a7f0b00844a8c4482b2afc2c66,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
|
||||
@@ -168,20 +168,14 @@ public class TutorialAudioListener : MonoBehaviour
|
||||
|
||||
private EventReference GetGrabEvent(GrabSoundType type)
|
||||
{
|
||||
switch (type)
|
||||
return type switch
|
||||
{
|
||||
case GrabSoundType.Bow:
|
||||
return FMODEvents.Instance.BowGrab;
|
||||
|
||||
case GrabSoundType.Sprayer:
|
||||
return FMODEvents.Instance.SprayerGrab;
|
||||
|
||||
GrabSoundType.Bow => FMODEvents.Instance.BowGrab,
|
||||
GrabSoundType.Sprayer => FMODEvents.Instance.SprayerGrab,
|
||||
//Add more objects for grabbing here and do not forget to define them in FMODEvents.cs
|
||||
//Add the GrabAudioProfile.cs component to an object instance
|
||||
|
||||
default:
|
||||
return FMODEvents.Instance.DefaultGrab;
|
||||
}
|
||||
_ => FMODEvents.Instance.DefaultGrab,
|
||||
};
|
||||
}
|
||||
|
||||
private void HandleGrab(XRGrabInteractable grab)
|
||||
@@ -195,10 +189,6 @@ public class TutorialAudioListener : MonoBehaviour
|
||||
: GrabSoundType.Default;
|
||||
|
||||
EventReference grabEvent = GetGrabEvent(type);
|
||||
Debug.Log(grabEvent);
|
||||
AudioManager.Instance.PlayAttachedInstance(grabEvent, grab.gameObject);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace _PROJECT.NewHandPresence
|
||||
|
||||
private XRControllerHintController _leftHintController;
|
||||
private XRControllerHintController _rightHintController;
|
||||
private XRBaseInteractor lastInteractor = null;
|
||||
|
||||
private SmartHandPresence _leftSmartHandPresence;
|
||||
private SmartHandPresence _rightSmartHandPresence;
|
||||
@@ -244,18 +245,24 @@ namespace _PROJECT.NewHandPresence
|
||||
StopCoroutine(initializationInfoCoroutine);
|
||||
}
|
||||
|
||||
private void OnGripPerformed(SelectEnterEventArgs arg0)
|
||||
private void OnGripPerformed(SelectEnterEventArgs args)
|
||||
{
|
||||
var grab = arg0.interactableObject as XRGrabInteractable;
|
||||
|
||||
// Notify any listeners
|
||||
OnGrab?.Invoke(grab);
|
||||
var interactor = args.interactorObject as XRBaseInteractor;
|
||||
var interactable = args.interactableObject as XRGrabInteractable;
|
||||
|
||||
if (_state != TutorialState.Grip) return;
|
||||
Debug.Log("Grip performed");
|
||||
UpdateState(_state.Next());
|
||||
if (lastInteractor == interactor)
|
||||
return; // same hand grabbing again
|
||||
|
||||
lastInteractor = interactor;
|
||||
|
||||
|
||||
OnGrab?.Invoke(interactable as XRGrabInteractable);
|
||||
|
||||
if (_state == TutorialState.Grip)
|
||||
UpdateState(_state.Next());
|
||||
}
|
||||
|
||||
|
||||
private void OnTeleportPerformed(LocomotionSystem obj)
|
||||
{
|
||||
if (_state != TutorialState.Teleport) return;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -93,6 +93,7 @@ GameObject:
|
||||
- component: {fileID: 7699707098595015193}
|
||||
- component: {fileID: 1413215456818694348}
|
||||
- component: {fileID: 483845010817450077}
|
||||
- component: {fileID: 8646891389811022226}
|
||||
m_Layer: 0
|
||||
m_Name: ArcheryRangeNPC
|
||||
m_TagString: Untagged
|
||||
@@ -267,7 +268,7 @@ MonoBehaviour:
|
||||
_initializeOrder: 0
|
||||
_defaultDespawnType: 0
|
||||
NetworkObserver: {fileID: 0}
|
||||
<PrefabId>k__BackingField: 18
|
||||
<PrefabId>k__BackingField: 6
|
||||
<SpawnableCollectionId>k__BackingField: 0
|
||||
_scenePathHash: 0
|
||||
<SceneId>k__BackingField: 0
|
||||
@@ -465,6 +466,27 @@ MonoBehaviour:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
--- !u!135 &8646891389811022226
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4663194936290788516}
|
||||
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_Radius: 5
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &7802421088258943189
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -195,6 +195,7 @@ GameObject:
|
||||
- component: {fileID: 7699707098595015193}
|
||||
- component: {fileID: 1413215456818694348}
|
||||
- component: {fileID: 483845010817450077}
|
||||
- component: {fileID: 8270600859684143550}
|
||||
m_Layer: 0
|
||||
m_Name: CafeWaiterNPC
|
||||
m_TagString: Untagged
|
||||
@@ -270,7 +271,7 @@ MonoBehaviour:
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
--- !u!114 &6105090838799004608
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -569,6 +570,27 @@ MonoBehaviour:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
--- !u!135 &8270600859684143550
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4663194936290788516}
|
||||
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_Radius: 5
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &7802421088258943189
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -93,6 +93,7 @@ GameObject:
|
||||
- component: {fileID: 1653195237934660084}
|
||||
- component: {fileID: 1413215456818694348}
|
||||
- component: {fileID: 483845010817450077}
|
||||
- component: {fileID: 1179918406964740421}
|
||||
m_Layer: 0
|
||||
m_Name: ShapeDetectionNPC
|
||||
m_TagString: Untagged
|
||||
@@ -233,10 +234,14 @@ MonoBehaviour:
|
||||
questMarker: {fileID: 0}
|
||||
radio: {fileID: 0}
|
||||
computerKeyboardKey: {fileID: 0}
|
||||
computerPrinter: {fileID: 0}
|
||||
printerInsertionHole: {fileID: 0}
|
||||
computerPrinter: {fileID: 0}
|
||||
shapeScanner: {fileID: 0}
|
||||
staticRadio: {fileID: 0}
|
||||
questMarkerPoint: {fileID: 0}
|
||||
radioAmount: 1
|
||||
movementPath: []
|
||||
moveSpeedPerSecond: 2
|
||||
--- !u!114 &1413215456818694348
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -459,6 +464,27 @@ MonoBehaviour:
|
||||
X: 0
|
||||
Y: 0
|
||||
Z: 0
|
||||
--- !u!135 &1179918406964740421
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4663194936290788516}
|
||||
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_Radius: 5
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &7802421088258943189
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -29,7 +29,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1659788510314838016}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.4, y: 0.35, z: 0.4}
|
||||
m_LocalScale: {x: 0.4, y: 0.38386, z: 0.4}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4211436824399037528}
|
||||
@@ -149,7 +149,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4039766663692926199}
|
||||
m_LocalRotation: {x: -0, y: 0.000000014901158, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalPosition: {x: 0, y: -0.36, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -4,9 +4,9 @@ using System.Runtime.InteropServices;
|
||||
using UnityEngine;
|
||||
using FMOD;
|
||||
using FMODUnity;
|
||||
using Whisper; // WhisperManager, WhisperStream, WhisperResult
|
||||
using Whisper;
|
||||
using Whisper.Utils;
|
||||
using Debug = UnityEngine.Debug; // AudioChunk
|
||||
using Debug = UnityEngine.Debug;
|
||||
|
||||
/// <summary>
|
||||
/// FMOD mic is initialized once (Start) and runs continuously in a ring buffer.
|
||||
@@ -28,12 +28,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
public int channels = 1;
|
||||
[Range(1, 10)] public int bufferLengthSec = 5;
|
||||
|
||||
[Header("Loopback (monitor your voice)")]
|
||||
public bool playLoopback = true;
|
||||
[Tooltip("If true, loopback plays only while active; otherwise it’s always on.")]
|
||||
public bool loopbackOnlyWhenActive = true;
|
||||
[Range(0f, 2f)] public float loopbackVolume = 1.0f;
|
||||
|
||||
public delegate void OnWhisperSegmentUpdatedDelegate(string result);
|
||||
public event OnWhisperSegmentUpdatedDelegate OnWhisperSegmentUpdated;
|
||||
|
||||
@@ -44,7 +38,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
private FMOD.System _core;
|
||||
private Sound _recSound;
|
||||
private Channel _playChannel;
|
||||
private ChannelGroup _masterGroup;
|
||||
private uint _soundPcmLength; // in samples
|
||||
private int _nativeRate;
|
||||
private int _nativeChannels;
|
||||
@@ -54,7 +47,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
|
||||
// Whisper
|
||||
private WhisperStream _stream;
|
||||
private bool _streamStarted;
|
||||
|
||||
// temp conversion buffer
|
||||
private float[] _floatTmp = new float[0];
|
||||
@@ -138,24 +130,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
_core.getRecordPosition(recordDriverId, out _lastRecordPos);
|
||||
Debug.Log("[FMOD→Whisper] Recording started.");
|
||||
|
||||
// Loopback channel (optional). Start once; pause when inactive if desired.
|
||||
_core.getMasterChannelGroup(out _masterGroup);
|
||||
if (playLoopback)
|
||||
{
|
||||
res = _core.playSound(_recSound, _masterGroup, false, out _playChannel);
|
||||
if (res == RESULT.OK && _playChannel.hasHandle())
|
||||
{
|
||||
_playChannel.setMode(MODE._2D);
|
||||
_playChannel.setVolume(loopbackVolume);
|
||||
if (loopbackOnlyWhenActive) _playChannel.setPaused(true); // keep muted until Activate
|
||||
Debug.Log("[FMOD→Whisper] Loopback playback ready.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"[FMOD→Whisper] playSound failed or channel invalid: {res}");
|
||||
}
|
||||
}
|
||||
|
||||
// No Whisper stream here. It will be created on ActivateRecording().
|
||||
await System.Threading.Tasks.Task.Yield();
|
||||
}
|
||||
@@ -179,6 +153,11 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
|
||||
int rate = (_nativeRate > 0) ? _nativeRate : desiredSampleRate;
|
||||
|
||||
if (_stream != null)
|
||||
{
|
||||
_stream.StopStream();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_stream = await whisper.CreateStream(rate, _nativeChannels);
|
||||
@@ -187,7 +166,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
{
|
||||
Debug.LogError($"[FMOD→Whisper] CreateStream exception: {e}");
|
||||
_stream = null;
|
||||
_streamStarted = false;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -208,16 +186,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
whisper.useVad = useVadInStream;
|
||||
|
||||
_stream.StartStream();
|
||||
_streamStarted = true;
|
||||
|
||||
|
||||
// --- NEW: Clear the ring buffer and reset read pointer ---
|
||||
// Pause loopback while we clear (optional, but avoids clicks)
|
||||
if (playLoopback && _playChannel.hasHandle())
|
||||
_playChannel.setPaused(true);
|
||||
|
||||
// Clear buffer bytes
|
||||
ClearRecordRingBuffer();
|
||||
|
||||
// Reset our read pointer to the current write head
|
||||
_core.getRecordPosition(recordDriverId, out _lastRecordPos);
|
||||
@@ -225,13 +193,8 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
// We’ll skip feeding for one frame to guarantee a clean start
|
||||
_skipOneFeedFrame = true;
|
||||
|
||||
// Unpause loopback if we want it active during recording
|
||||
if (playLoopback && _playChannel.hasHandle() && (!loopbackOnlyWhenActive || isRecordingActivated))
|
||||
_playChannel.setPaused(loopbackOnlyWhenActive ? false : _playChannel.getPaused(out var paused) == FMOD.RESULT.OK && paused ? false : false);
|
||||
|
||||
isRecordingActivated = true;
|
||||
Debug.Log("[FMOD→Whisper] Stream activated (buffer cleared; reading from current head).");
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -239,24 +202,10 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
/// </summary>
|
||||
public void DeactivateRecording()
|
||||
{
|
||||
if (!isRecordingActivated && !_streamStarted)
|
||||
if (!isRecordingActivated)
|
||||
return;
|
||||
|
||||
isRecordingActivated = false;
|
||||
|
||||
// Pause loopback if it should only be active during recording
|
||||
if (playLoopback && loopbackOnlyWhenActive && _playChannel.hasHandle())
|
||||
_playChannel.setPaused(true);
|
||||
|
||||
// Tear down Whisper stream
|
||||
if (_streamStarted)
|
||||
{
|
||||
try { _stream.StopStream(); } catch { /* ignore */ }
|
||||
_streamStarted = false;
|
||||
}
|
||||
_stream = null;
|
||||
|
||||
Debug.Log("[FMOD→Whisper] Stream deactivated (Whisper stopped; FMOD still recording).");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -281,7 +230,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
return Mathf.Clamp01(Mathf.InverseLerp(-60f, -15f, db));
|
||||
}
|
||||
|
||||
|
||||
private void Update()
|
||||
{
|
||||
// Always tick FMOD
|
||||
@@ -289,8 +237,7 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
if (!_recSound.hasHandle()) return;
|
||||
|
||||
// Compute how many samples recorded since last frame.
|
||||
uint recPos;
|
||||
_core.getRecordPosition(recordDriverId, out recPos);
|
||||
_core.getRecordPosition(recordDriverId, out uint recPos);
|
||||
|
||||
uint deltaSamples = (recPos >= _lastRecordPos)
|
||||
? (recPos - _lastRecordPos)
|
||||
@@ -303,10 +250,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
return;
|
||||
}
|
||||
|
||||
// If not active, we *still* advance the ring (so we don't backlog data),
|
||||
// but we *don't* push chunks to Whisper.
|
||||
bool shouldFeed = isRecordingActivated && _streamStarted && _stream != null;
|
||||
|
||||
// Calculate byte range to lock (16-bit)
|
||||
uint bytesToRead = deltaSamples * (uint)_nativeChannels * 2; // 2 bytes per sample
|
||||
uint startBytes = _lastRecordPos * (uint)_nativeChannels * 2;
|
||||
@@ -323,7 +266,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
float rmsAccumulator = 0f;
|
||||
int rmsSampleCount = 0;
|
||||
|
||||
@@ -345,11 +287,21 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
currentVolumeRms = Mathf.Lerp(currentVolumeRms, rms, 1f - Mathf.Pow(1f - volumeSmoothing, Time.deltaTime * 60f));
|
||||
}
|
||||
|
||||
// 2) Feed audio to Whisper ONLY when active
|
||||
if (shouldFeed && !_skipOneFeedFrame)
|
||||
// 2) Feed audio to Whisper
|
||||
if (_stream != null)
|
||||
{
|
||||
if (len1 > 0) CopyPcm16ToFloatAndFeed(p1, len1);
|
||||
if (len2 > 0) CopyPcm16ToFloatAndFeed(p2, len2);
|
||||
if (isRecordingActivated && !_skipOneFeedFrame)
|
||||
{
|
||||
// Feed real mic
|
||||
if (len1 > 0) CopyPcm16ToFloatAndFeed(p1, len1);
|
||||
if (len2 > 0) CopyPcm16ToFloatAndFeed(p2, len2);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Feed same-size silence instead
|
||||
if (len1 > 0) FeedSilentChunk(len1);
|
||||
if (len2 > 0) FeedSilentChunk(len2);
|
||||
}
|
||||
}
|
||||
|
||||
// If skipping, we just discard this frame to ensure no stale data leaks.
|
||||
@@ -362,12 +314,30 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
if (_skipOneFeedFrame) _skipOneFeedFrame = false;
|
||||
|
||||
_lastRecordPos = recPos;
|
||||
|
||||
}
|
||||
|
||||
private string PostProcessInput(string input)
|
||||
{
|
||||
return input.Replace("[silence]", "").Replace("[ Silence ]", "").Replace("BLANK_AUDIO", "").Replace("[", "").Replace("]", "").Trim();
|
||||
return input.Replace("[silence]", "").Replace("[ Silence ]", "").Replace("BLANK_AUDIO", "").Replace("[", "").Replace("]", "").Replace("END PLAYBACK", "").Trim();
|
||||
}
|
||||
|
||||
private void FeedSilentChunk(uint byteLen)
|
||||
{
|
||||
int samples = (int)(byteLen / 2);
|
||||
EnsureTmpCapacity(samples);
|
||||
|
||||
// fill existing _floatTmp with zeros (efficient)
|
||||
Array.Clear(_floatTmp, 0, samples);
|
||||
|
||||
var chunk = new AudioChunk
|
||||
{
|
||||
Data = _floatTmp.AsSpan(0, samples).ToArray(),
|
||||
Frequency = (_nativeRate > 0) ? _nativeRate : desiredSampleRate,
|
||||
Channels = _nativeChannels,
|
||||
IsVoiceDetected = false
|
||||
};
|
||||
|
||||
_stream.AddToStream(chunk);
|
||||
}
|
||||
|
||||
private void CopyPcm16ToFloatAndFeed(IntPtr src, uint byteLen)
|
||||
@@ -429,56 +399,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void ClearRecordRingBuffer()
|
||||
{
|
||||
if (!_recSound.hasHandle() || _soundPcmLength == 0) return;
|
||||
|
||||
uint totalBytes = _soundPcmLength * (uint)_nativeChannels * 2; // PCM16
|
||||
IntPtr p1, p2;
|
||||
uint len1, len2;
|
||||
|
||||
// Lock the whole buffer (start=0, length=totalBytes)
|
||||
var r = _recSound.@lock(0, totalBytes, out p1, out p2, out len1, out len2);
|
||||
if (r != FMOD.RESULT.OK)
|
||||
{
|
||||
Debug.LogWarning($"[FMOD→Whisper] Could not lock ring buffer to clear: {r}");
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (len1 > 0)
|
||||
{
|
||||
// zero p1
|
||||
// We’ll reuse a static zero array to avoid allocating huge buffers repeatedly
|
||||
ZeroMem(p1, (int)len1);
|
||||
}
|
||||
if (len2 > 0)
|
||||
{
|
||||
ZeroMem(p2, (int)len2);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
_recSound.unlock(p1, p2, len1, len2);
|
||||
}
|
||||
}
|
||||
|
||||
// cheap zeroing helper (avoids allocating len-sized arrays each time)
|
||||
private static readonly byte[] _zeroChunk = new byte[16 * 1024]; // 16 KB
|
||||
private static void ZeroMem(IntPtr dst, int byteLen)
|
||||
{
|
||||
int offset = 0;
|
||||
while (byteLen > 0)
|
||||
{
|
||||
int n = Math.Min(_zeroChunk.Length, byteLen);
|
||||
Marshal.Copy(_zeroChunk, 0, dst + offset, n);
|
||||
offset += n;
|
||||
byteLen -= n;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Computes RMS (root mean square) from a PCM16 block using only safe code.
|
||||
/// Uses the shared _shortOverlay buffer (no allocations).
|
||||
|
||||
@@ -36,6 +36,7 @@ public class ModelGenerationUtils : MonoBehaviour
|
||||
{
|
||||
XROrigin xrOrigin = FindObjectOfType<XROrigin>(includeInactive: true);
|
||||
xrOrigin.transform.position = minigamePoints[0].position;
|
||||
xrOrigin.transform.rotation = minigamePoints[0].rotation;
|
||||
}
|
||||
|
||||
|
||||
@@ -43,12 +44,14 @@ public class ModelGenerationUtils : MonoBehaviour
|
||||
{
|
||||
XROrigin xrOrigin = FindObjectOfType<XROrigin>(includeInactive: true);
|
||||
xrOrigin.transform.position = minigamePoints[1].position;
|
||||
xrOrigin.transform.rotation = minigamePoints[1].rotation;
|
||||
}
|
||||
|
||||
if (Keyboard.current.digit3Key.wasPressedThisFrame)
|
||||
{
|
||||
XROrigin xrOrigin = FindObjectOfType<XROrigin>(includeInactive: true);
|
||||
xrOrigin.transform.position = minigamePoints[2].position;
|
||||
xrOrigin.transform.rotation = minigamePoints[2].rotation;
|
||||
}
|
||||
|
||||
if (Keyboard.current.digit0Key.wasPressedThisFrame)
|
||||
|
||||
@@ -15,6 +15,7 @@ public class ArcheryRangeNPC : NPCController
|
||||
public ModelDisplay modelDisplay;
|
||||
public float modelDisplaySize = 0.75f;
|
||||
public Transform startTargetQuestMarkerPoint;
|
||||
public KeyboardManager keyboardManager;
|
||||
|
||||
private Texture2D GeneratedTexture;
|
||||
|
||||
@@ -25,6 +26,8 @@ public class ArcheryRangeNPC : NPCController
|
||||
// 3 - player pressed the image generation button
|
||||
// 4 - player pressed the model generation button
|
||||
// 5 - model spawned into the game
|
||||
// 6 - round completed
|
||||
// 7 - name submitted
|
||||
private int state;
|
||||
|
||||
private void Awake()
|
||||
@@ -37,6 +40,8 @@ public class ArcheryRangeNPC : NPCController
|
||||
microphoneStand.OnPlayerUsedMicrophone += OnPlayerUsedMicrophone;
|
||||
imageGenerationButton.OnButtonPressed += OnImageGenerationButtonPressed;
|
||||
modelGenerationButton.OnButtonPressed += OnModelGenerationButtonPressed;
|
||||
keyboardManager.OnActivate += OnRoundComplete;
|
||||
keyboardManager.OnSubmit += OnNameSubmitted;
|
||||
}
|
||||
|
||||
protected async override void OnPlayerApproach()
|
||||
@@ -119,4 +124,23 @@ public class ArcheryRangeNPC : NPCController
|
||||
|
||||
modelGenerationButton.Deactivate();
|
||||
}
|
||||
|
||||
private void OnRoundComplete()
|
||||
{
|
||||
if (state == 5)
|
||||
{
|
||||
state = 6;
|
||||
SpeakVoiceLine(6);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void OnNameSubmitted()
|
||||
{
|
||||
if (state == 6)
|
||||
{
|
||||
state = 7;
|
||||
}
|
||||
SpeakVoiceLine(7);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ public class CafeWaiterNPC : NPCController
|
||||
} else if (state == 2)
|
||||
{
|
||||
fmodWhisperBridge.DeactivateRecording();
|
||||
bool positiveAnswer = playerText.ToLower().Contains("ye") || playerText.ToLower().Contains("correct") | playerText.ToLower().Contains("right");
|
||||
bool positiveAnswer = IsPlayerAnswerPositive(playerText);
|
||||
SpeakVoiceLine(positiveAnswer ? 2 : 3);
|
||||
// Flip notepad back
|
||||
notepad.transform.DOLocalRotate(notepadOriginalRotation, 0.5f).OnComplete(() =>
|
||||
@@ -159,7 +159,18 @@ public class CafeWaiterNPC : NPCController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private bool IsPlayerAnswerPositive(string playerText)
|
||||
{
|
||||
string lower = playerText.ToLower();
|
||||
return lower.Contains("ye")
|
||||
|| lower.Contains("correct")
|
||||
|| lower.Contains("right")
|
||||
|| lower.Contains("sure")
|
||||
|| lower.Contains("of course")
|
||||
|| lower.Contains("okay")
|
||||
|| lower.Contains("yup")
|
||||
|| lower.Contains("affirmative");
|
||||
}
|
||||
|
||||
private async void BringFood()
|
||||
{
|
||||
@@ -193,6 +204,7 @@ public class CafeWaiterNPC : NPCController
|
||||
private void InitializeSpawnedObject(GameObject spawnedObject)
|
||||
{
|
||||
Rigidbody rigidbody = spawnedObject.AddComponent<Rigidbody>();
|
||||
rigidbody.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
|
||||
|
||||
//spawnedObject.AddComponent<NetworkObject>();
|
||||
//spawnedObject.AddComponent<NetworkTransform>();
|
||||
|
||||
@@ -26,25 +26,13 @@ public abstract class NPCController : MonoBehaviour
|
||||
|
||||
private float[] rmsCurve;
|
||||
private EventInstance currentVoicelineEvent;
|
||||
private bool isSpeaking;
|
||||
private float smoothed;
|
||||
|
||||
// If you change RMS window in Python, update this
|
||||
private const float FRAME_DURATION = 0.02f;
|
||||
private float sampleRate = 1f / FRAME_DURATION; // RMS samples per second (20ms windows)
|
||||
private readonly float sampleRate = 1f / FRAME_DURATION; // RMS samples per second (20ms windows)
|
||||
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Awake()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
@@ -65,7 +53,7 @@ public abstract class NPCController : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
if (isSpeaking && rmsCurve != null && currentVoicelineEvent.isValid())
|
||||
if (rmsCurve != null && currentVoicelineEvent.isValid())
|
||||
{
|
||||
AnimateMouth();
|
||||
}
|
||||
@@ -105,30 +93,14 @@ public abstract class NPCController : MonoBehaviour
|
||||
mouth.localScale = s;
|
||||
}
|
||||
|
||||
|
||||
private void StopSpeaking()
|
||||
{
|
||||
isSpeaking = false;
|
||||
smoothed = inverted ? maxScaleY : minScaleY;
|
||||
|
||||
if (mouth != null)
|
||||
{
|
||||
var scale = mouth.localScale;
|
||||
scale.y = smoothed;
|
||||
mouth.localScale = scale;
|
||||
}
|
||||
|
||||
currentVoicelineEvent.release();
|
||||
}
|
||||
|
||||
public void PlayerApproach(Transform player) {
|
||||
playerTransform = player;
|
||||
public void PlayerApproach() {
|
||||
|
||||
OnPlayerApproach();
|
||||
}
|
||||
|
||||
public void PlayerLeave()
|
||||
{
|
||||
playerTransform = null;
|
||||
|
||||
OnPlayerLeave();
|
||||
}
|
||||
|
||||
@@ -136,6 +108,22 @@ public abstract class NPCController : MonoBehaviour
|
||||
|
||||
protected virtual void OnPlayerLeave() {}
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (other.gameObject.tag == "Player Head")
|
||||
{
|
||||
playerTransform = other.transform;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
if (other.gameObject.tag == "Player Head")
|
||||
{
|
||||
playerTransform = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void SpeakVoiceLine(int voiceLineId, GameObject emitter = null, float radioAmount = 0f)
|
||||
{
|
||||
if (voiceLineId < 0 || voiceLineId >= voiceLineKeys.Length)
|
||||
@@ -152,21 +140,15 @@ public abstract class NPCController : MonoBehaviour
|
||||
|
||||
LoadCurve(key); // load RMS data
|
||||
|
||||
emitter = emitter ?? gameObject;
|
||||
emitter = emitter != null ? emitter : gameObject;
|
||||
currentVoicelineEvent = AudioManager.Instance.PlayDialogue(characterSpecificFolder + "/" + key, emitter, radioAmount);
|
||||
if (!currentVoicelineEvent.isValid())
|
||||
{
|
||||
Debug.LogError("Failed to start dialogue event.");
|
||||
return;
|
||||
}
|
||||
isSpeaking = true;
|
||||
|
||||
// Stop mouth on end
|
||||
float voicelineDuration = rmsCurve.Length * FRAME_DURATION;
|
||||
Invoke(nameof(StopSpeaking), voicelineDuration + 0.1f);
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------
|
||||
// Load RMS Timeline (.txt)
|
||||
// ---------------------------
|
||||
|
||||
@@ -24,7 +24,7 @@ public class NPCTriggerArea : MonoBehaviour
|
||||
if (isEnter && other.gameObject.tag == "Player Head")
|
||||
{
|
||||
|
||||
npcController.PlayerApproach(other.transform);
|
||||
npcController.PlayerApproach();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using DG.Tweening;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -12,6 +11,7 @@ public class ShapeDetectionNPC : NPCController
|
||||
public Printer3DInputHole printerInsertionHole;
|
||||
public ComputerPrinter computerPrinter;
|
||||
public ShapeScanner shapeScanner;
|
||||
public GameObject staticRadio;
|
||||
public Transform questMarkerPoint;
|
||||
public float radioAmount = 1f;
|
||||
public Transform[] movementPath;
|
||||
@@ -25,8 +25,9 @@ public class ShapeDetectionNPC : NPCController
|
||||
// 3 - player spoke into the radio
|
||||
// 4 - player pressed enter on keyboard
|
||||
// 5 - player inserted picture into printer
|
||||
// 6 - shape scanner completed
|
||||
// 7 - moving away
|
||||
// 6 - player completed first shape scanner config
|
||||
// 7 - shape scanner completed
|
||||
// 8 - moving away
|
||||
private int state;
|
||||
private float lastPlayerApproachTime;
|
||||
|
||||
@@ -42,7 +43,8 @@ public class ShapeDetectionNPC : NPCController
|
||||
radio.OnPlayerFinishedSpeaking += OnPlayerSpokeIntoRadio;
|
||||
printerInsertionHole.OnPlayerInsertedPrintable += OnPlayerInitiatedPrinting;
|
||||
computerPrinter.OnImagePrinted += OnPlayerPrintedImage;
|
||||
shapeScanner.OnShapeScannerCompleted += OnShapeScannerCompleted;
|
||||
shapeScanner.OnConfigCompleted += OnPlayerCompletedFirstConfiguration;
|
||||
shapeScanner.OnAllCompleted += OnShapeScannerCompleted;
|
||||
}
|
||||
|
||||
protected async override void OnPlayerApproach()
|
||||
@@ -131,10 +133,22 @@ public class ShapeDetectionNPC : NPCController
|
||||
}
|
||||
}
|
||||
|
||||
private void OnPlayerCompletedFirstConfiguration()
|
||||
{
|
||||
if (state == 5)
|
||||
{
|
||||
SpeakVoiceLine(6, radio.gameObject, radioAmount);
|
||||
state = 6;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnShapeScannerCompleted()
|
||||
{
|
||||
state = 6;
|
||||
questMarker.MoveTo(questMarkerPoint);
|
||||
if (state == 6)
|
||||
{
|
||||
state = 7;
|
||||
questMarker.MoveTo(questMarkerPoint);
|
||||
}
|
||||
}
|
||||
|
||||
private void MoveToNextPoint(int pointIndex)
|
||||
@@ -152,11 +166,13 @@ public class ShapeDetectionNPC : NPCController
|
||||
|
||||
public async void OnPlayerEnteredRoom()
|
||||
{
|
||||
if (state == 6)
|
||||
if (state == 7)
|
||||
{
|
||||
state = 7;
|
||||
state = 8;
|
||||
staticRadio.SetActive(false);
|
||||
questMarker.gameObject.SetActive(false);
|
||||
await Task.Delay(2500);
|
||||
SpeakVoiceLine(7, gameObject, 0);
|
||||
await Task.Delay(6500);
|
||||
MoveToNextPoint(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public class Printer3D : MonoBehaviour
|
||||
|
||||
private void InitializeSpawnedObject(GameObject spawnedObject)
|
||||
{
|
||||
GameObject spawnedObjectParent = new GameObject("SpawnedModelParent");
|
||||
GameObject spawnedObjectParent = new("SpawnedModelParent");
|
||||
spawnedObjectParent.transform.parent = spawnPoint;
|
||||
spawnedObjectParent.transform.position = spawnPoint.transform.position;
|
||||
spawnedObjectParent.layer = ignorePlayerCollisionLayer;
|
||||
|
||||
@@ -20,7 +20,7 @@ public class RadioTransmitter : XRGrabInteractable
|
||||
public float baseEmissionRate = 3;
|
||||
public float maxExtraEmissionRate = 50;
|
||||
|
||||
private bool isProcessing;
|
||||
private bool isRecording;
|
||||
private ParticleSystem.EmissionModule particleEmission;
|
||||
|
||||
// Start is called before the first frame update
|
||||
@@ -29,7 +29,7 @@ public class RadioTransmitter : XRGrabInteractable
|
||||
radioButton.OnButtonPressed += OnRadioButtonPressed;
|
||||
radioButton.OnButtonReleased += OnRadioButtonReleased;
|
||||
radioButton.Lock();
|
||||
isProcessing = false;
|
||||
isRecording = false;
|
||||
|
||||
particleEmission = particles.emission;
|
||||
particleEmission.enabled = false;
|
||||
@@ -41,7 +41,13 @@ public class RadioTransmitter : XRGrabInteractable
|
||||
if (particleEmission.enabled)
|
||||
{
|
||||
particles.transform.LookAt(computerScreen.transform.position);
|
||||
particleEmission.rateOverTime = baseEmissionRate + fmodWhisperBridge.GetNormalizedVolume01() * maxExtraEmissionRate;
|
||||
if (isRecording)
|
||||
{
|
||||
particleEmission.rateOverTime = baseEmissionRate + fmodWhisperBridge.GetNormalizedVolume01() * maxExtraEmissionRate;
|
||||
} else
|
||||
{
|
||||
particleEmission.rateOverTime = baseEmissionRate;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,41 +60,43 @@ public class RadioTransmitter : XRGrabInteractable
|
||||
radioButton.Unlock();
|
||||
}
|
||||
|
||||
protected override void OnSelectExited(SelectExitEventArgs args)
|
||||
{
|
||||
base.OnSelectExited(args);
|
||||
radioButton.Lock();
|
||||
}
|
||||
|
||||
private void OnRadioButtonPressed()
|
||||
{
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.RadioButton, gameObject);
|
||||
if (!isProcessing)
|
||||
{
|
||||
isProcessing = true;
|
||||
fmodWhisperBridge.OnWhisperSegmentUpdated += OnPlayerSpeechUpdated;
|
||||
fmodWhisperBridge.OnWhisperSegmentFinished += OnPlayerSpeechFinished;
|
||||
fmodWhisperBridge.ActivateRecording();
|
||||
fmodWhisperBridge.OnWhisperSegmentUpdated += OnPlayerSpeechUpdated;
|
||||
fmodWhisperBridge.OnWhisperSegmentFinished += OnPlayerSpeechFinished;
|
||||
fmodWhisperBridge.ActivateRecording();
|
||||
|
||||
particleEmission.enabled = true;
|
||||
}
|
||||
isRecording = true;
|
||||
particleEmission.enabled = true;
|
||||
}
|
||||
|
||||
private void OnRadioButtonReleased()
|
||||
{
|
||||
fmodWhisperBridge.DeactivateRecording();
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.RadioButton, gameObject);
|
||||
|
||||
isRecording = false;
|
||||
}
|
||||
|
||||
private void OnPlayerSpeechUpdated(string text)
|
||||
{
|
||||
computerScreen.text = text;
|
||||
//OnPlayerFinishedSpeaking?.Invoke();
|
||||
}
|
||||
|
||||
private void OnPlayerSpeechFinished(string playerText)
|
||||
{
|
||||
computerScreen.text = playerText;
|
||||
isProcessing = false;
|
||||
OnPlayerFinishedSpeaking?.Invoke();
|
||||
|
||||
fmodWhisperBridge.OnWhisperSegmentUpdated -= OnPlayerSpeechUpdated;
|
||||
fmodWhisperBridge.OnWhisperSegmentFinished -= OnPlayerSpeechFinished;
|
||||
fmodWhisperBridge.DeactivateRecording();
|
||||
|
||||
|
||||
particleEmission.enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.XR.Interaction.Toolkit;
|
||||
@@ -35,11 +35,13 @@ public class ShapeScannerConfiguration
|
||||
|
||||
public class ShapeScanner : MonoBehaviour
|
||||
{
|
||||
public delegate void OnShapeScannerCompletedDelegate();
|
||||
public event OnShapeScannerCompletedDelegate OnShapeScannerCompleted;
|
||||
public delegate void OnConfigCompletedDelegate();
|
||||
public event OnConfigCompletedDelegate OnConfigCompleted;
|
||||
public delegate void OnAllCompletedDelegate();
|
||||
public event OnAllCompletedDelegate OnAllCompleted;
|
||||
|
||||
[Header("Static References")]
|
||||
public List<ShapeScannerConfiguration> configurations = new List<ShapeScannerConfiguration>();
|
||||
public List<ShapeScannerConfiguration> configurations = new();
|
||||
public ShapeScannerRay rayPrefab;
|
||||
public Transform raySpawnCorner1;
|
||||
public Transform raySpawnCorner2;
|
||||
@@ -68,8 +70,8 @@ public class ShapeScanner : MonoBehaviour
|
||||
private float raySpawnDistanceX;
|
||||
private float raySpawnDistanceZ;
|
||||
private int currentConfiguration;
|
||||
private int rayCount;
|
||||
private int correctRayStates;
|
||||
private int totalRayCount;
|
||||
private int correctRayCount;
|
||||
private bool isCompleted;
|
||||
|
||||
|
||||
@@ -99,21 +101,14 @@ public class ShapeScanner : MonoBehaviour
|
||||
|
||||
private void InitializeConfiguration(ShapeScannerConfiguration configuration)
|
||||
{
|
||||
// Recreate all existing rays
|
||||
foreach (ShapeScannerRay ray in existingRays)
|
||||
{
|
||||
Destroy(ray.gameObject);
|
||||
}
|
||||
existingRays.Clear();
|
||||
|
||||
// Create rays
|
||||
int rayRowCount = configuration.rows.Count;
|
||||
for (int i = 0; i < rayRowCount; i++)
|
||||
{
|
||||
float rayPosX = raySpawnCorner1.localPosition.x + i * raySpawnDistanceX / (rayRowCount - 1);
|
||||
float rayPosZ = raySpawnCorner1.localPosition.z + i * raySpawnDistanceZ / (rayRowCount - 1);
|
||||
for (int j = 0; j < rayRowCount; j++)
|
||||
{
|
||||
// Local position
|
||||
float rayPosZ = raySpawnCorner1.localPosition.z + j * raySpawnDistanceZ / (rayRowCount - 1);
|
||||
float rayPosX = raySpawnCorner1.localPosition.x + j * raySpawnDistanceX / (rayRowCount - 1);
|
||||
Vector3 rayPos = new Vector3(rayPosX, 0, rayPosZ);
|
||||
ShapeScannerRay ray = Instantiate(rayPrefab, rayParent);
|
||||
ray.transform.localPosition = rayPos;
|
||||
@@ -131,14 +126,17 @@ public class ShapeScanner : MonoBehaviour
|
||||
}
|
||||
}
|
||||
// Count total rays and required collision rays
|
||||
rayCount = configuration.rows.SelectMany(row => row.cells).Count();
|
||||
correctRayStates = configuration.rows.SelectMany(row => row.cells).Count(cell => !cell);
|
||||
UpdateDisplay(calculateCorrectPercentage());
|
||||
totalRayCount = configuration.rows.SelectMany(row => row.cells).Count();
|
||||
correctRayCount = configuration.rows.SelectMany(row => row.cells).Count(cell => !cell);
|
||||
|
||||
float percentage = CalculateCorrectPercentage();
|
||||
UpdateDisplay(percentage);
|
||||
}
|
||||
|
||||
private void OnConfigurationComplete()
|
||||
{
|
||||
HashSet<GameObject> allCollidingObjects = new HashSet<GameObject>();
|
||||
// Destroy colliding scannable objects
|
||||
HashSet<GameObject> allCollidingObjects = new();
|
||||
foreach (ShapeScannerRay ray in existingRays)
|
||||
{
|
||||
allCollidingObjects.UnionWith(ray.GetCollidingObjects());
|
||||
@@ -149,31 +147,37 @@ public class ShapeScanner : MonoBehaviour
|
||||
var grab = collidingObject.GetComponent<XRGrabInteractable>();
|
||||
if (grab != null && grab.isSelected)
|
||||
{
|
||||
var interactor = grab.firstInteractorSelecting; // the hand/controller currently holding it
|
||||
if (interactor != null)
|
||||
{
|
||||
// Transfer ownership: tell the manager to stop the selection
|
||||
interactionManager.SelectExit(interactor, grab);
|
||||
}
|
||||
grab.enabled = false;
|
||||
}
|
||||
collidingObject.transform.position = Vector3.zero;
|
||||
Destroy(collidingObject);
|
||||
}
|
||||
|
||||
// Destroy all existing rays
|
||||
foreach (ShapeScannerRay ray in existingRays)
|
||||
{
|
||||
Destroy(ray.gameObject);
|
||||
}
|
||||
existingRays.Clear();
|
||||
correctRayCount = 0;
|
||||
|
||||
// Play sound effect and emit particles
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.ShapeScannerSuccess, gameObject);
|
||||
if (!particles.isPlaying) particles.Play();
|
||||
particles.Emit(100);
|
||||
|
||||
OnConfigCompleted?.Invoke();
|
||||
}
|
||||
|
||||
private float calculateCorrectPercentage()
|
||||
private float CalculateCorrectPercentage()
|
||||
{
|
||||
return (float) correctRayStates / rayCount * 100;
|
||||
return (float) correctRayCount / totalRayCount * 100;
|
||||
}
|
||||
|
||||
public void IncrementCorrectRayCount()
|
||||
public async void IncrementCorrectRayCount()
|
||||
{
|
||||
correctRayStates++;
|
||||
float correctPercentage = calculateCorrectPercentage();
|
||||
correctRayCount++;
|
||||
float correctPercentage = CalculateCorrectPercentage();
|
||||
UpdateDisplay(correctPercentage);
|
||||
if (isCompleted)
|
||||
{
|
||||
@@ -182,14 +186,16 @@ public class ShapeScanner : MonoBehaviour
|
||||
if (correctPercentage >= configurations[currentConfiguration].requiredCorrectPercentage)
|
||||
{
|
||||
OnConfigurationComplete();
|
||||
await Task.Delay(1000);
|
||||
|
||||
UpdateCurrentConfigurationDisplay(currentConfiguration + 1);
|
||||
if (currentConfiguration + 1 < configurations.Count)
|
||||
{
|
||||
currentConfiguration++;
|
||||
InitializeConfiguration(configurations[currentConfiguration]);
|
||||
UpdateCurrentConfigurationDisplay(currentConfiguration);
|
||||
} else
|
||||
{
|
||||
// Initialize configuration with all rays requiring collision
|
||||
// Initialize configuration with no rays requiring collision
|
||||
List<BoolRow> rows = Enumerable.Repeat(new BoolRow(Enumerable.Repeat(false, 6).ToList()), 6).ToList();
|
||||
ShapeScannerConfiguration configuration = new ShapeScannerConfiguration(6, 100, rows);
|
||||
InitializeConfiguration(configuration);
|
||||
@@ -200,8 +206,8 @@ public class ShapeScanner : MonoBehaviour
|
||||
|
||||
public void DecrementCorrectRayCount()
|
||||
{
|
||||
correctRayStates--;
|
||||
UpdateDisplay(calculateCorrectPercentage());
|
||||
correctRayCount--;
|
||||
UpdateDisplay(CalculateCorrectPercentage());
|
||||
}
|
||||
|
||||
private void UpdateDisplay(float percentage)
|
||||
@@ -233,6 +239,6 @@ public class ShapeScanner : MonoBehaviour
|
||||
// Create line renderer from shape scanner to door card reader
|
||||
lineRenderer.enabled = true;
|
||||
|
||||
OnShapeScannerCompleted?.Invoke();
|
||||
OnAllCompleted?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,9 +40,10 @@ public class ShapeScannerRay : MonoBehaviour
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (other.gameObject.tag == scannableTag)
|
||||
if (other.gameObject.CompareTag(scannableTag))
|
||||
{
|
||||
collidingObjects.Add(other.gameObject);
|
||||
GameObject parent = other.transform.parent.gameObject;
|
||||
collidingObjects.Add(parent);
|
||||
// Only activate when this was the first object that entered collision
|
||||
if (collidingObjects.Count == 1)
|
||||
{
|
||||
@@ -64,9 +65,10 @@ public class ShapeScannerRay : MonoBehaviour
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
if (other.gameObject.tag == "ShapeScannable")
|
||||
if (other.gameObject.CompareTag(scannableTag))
|
||||
{
|
||||
collidingObjects.Remove(other.gameObject);
|
||||
GameObject parent = other.transform.parent.gameObject;
|
||||
collidingObjects.Remove(parent);
|
||||
if (collidingObjects.Count == 0)
|
||||
{
|
||||
foreach (MeshRenderer meshRenderer in meshRenderers)
|
||||
|
||||
@@ -32,7 +32,6 @@ public class TwoHandScaleGrabInteractable : XRGrabInteractable
|
||||
|
||||
protected override void OnSelectExited(SelectExitEventArgs args)
|
||||
{
|
||||
Debug.Log("current local scale: " + transform.localScale);
|
||||
base.OnSelectExited(args);
|
||||
UpdateTwoHandState();
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user