forked from cgvr/DeltaVR
Compare commits
13 Commits
c78886e492
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e55b7e9ab | |||
| dea42068f7 | |||
| b021fd0110 | |||
| 7b45d623d1 | |||
| f42356dd7a | |||
| 50002adb61 | |||
| ee629e2593 | |||
| 4796869a29 | |||
| 398f22efdd | |||
| b40b075540 | |||
| cad4c2cbbc | |||
| 6a77893ed7 | |||
| 439094f74a |
@@ -1,23 +1,22 @@
|
||||
### TODO
|
||||
* 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
|
||||
* shape detection:
|
||||
* kui kõik configurationid tehtud, siis professor tuleb uksest välja ja ütleb "thank you"
|
||||
* peab mängijale kuidagi selgitama, kuidas scale'ida prinditud objekte
|
||||
* prinditud objekti scale'imisele min ja max size limiit
|
||||
* soft particle'id, et ei clipiks
|
||||
* 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"
|
||||
* UFO möödalendamise animation/cutscene alguses kui ütleb "delta attacked by ufos" + panna juba alguses kapsli sisse ufo pöörlema
|
||||
* cafe:
|
||||
* audio detection sama heaks nagu ülejäänud 2 mängul!
|
||||
* continuous krabamise heli miskipärast
|
||||
* võiks saada hinnata saadud tellimust
|
||||
* "order again" nupp
|
||||
|
||||
@@ -33,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"
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38bc01876ee396a46b03ca91e612e687
|
||||
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:
|
||||
@@ -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:
|
||||
@@ -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/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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
@@ -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.
@@ -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();
|
||||
}
|
||||
@@ -181,8 +155,7 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
|
||||
if (_stream != null)
|
||||
{
|
||||
try { _stream.StopStream(); } catch { }
|
||||
_streamStarted = false;
|
||||
_stream.StopStream();
|
||||
}
|
||||
|
||||
try
|
||||
@@ -193,7 +166,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
{
|
||||
Debug.LogError($"[FMOD→Whisper] CreateStream exception: {e}");
|
||||
_stream = null;
|
||||
_streamStarted = false;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -214,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);
|
||||
@@ -231,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>
|
||||
@@ -245,14 +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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -277,7 +230,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
return Mathf.Clamp01(Mathf.InverseLerp(-60f, -15f, db));
|
||||
}
|
||||
|
||||
|
||||
private void Update()
|
||||
{
|
||||
// Always tick FMOD
|
||||
@@ -285,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)
|
||||
@@ -337,7 +288,7 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
}
|
||||
|
||||
// 2) Feed audio to Whisper
|
||||
if (_streamStarted && _stream != null)
|
||||
if (_stream != null)
|
||||
{
|
||||
if (isRecordingActivated && !_skipOneFeedFrame)
|
||||
{
|
||||
@@ -353,7 +304,6 @@ public class FMODWhisperBridge : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If skipping, we just discard this frame to ensure no stale data leaks.
|
||||
}
|
||||
finally
|
||||
@@ -364,12 +314,11 @@ 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)
|
||||
@@ -450,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).
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,22 +93,6 @@ 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() {
|
||||
|
||||
OnPlayerApproach();
|
||||
@@ -168,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)
|
||||
// ---------------------------
|
||||
|
||||
@@ -171,7 +171,8 @@ public class ShapeDetectionNPC : NPCController
|
||||
state = 8;
|
||||
staticRadio.SetActive(false);
|
||||
questMarker.gameObject.SetActive(false);
|
||||
await Task.Delay(2500);
|
||||
SpeakVoiceLine(7, gameObject, 0);
|
||||
await Task.Delay(6500);
|
||||
MoveToNextPoint(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"isContinuousLocomotion": true,
|
||||
"continuousLocomotionSpeed": 3.0,
|
||||
"volumeMaster": 0.5,
|
||||
"volumeMaster": 0.5969846844673157,
|
||||
"volumeAmbient": 0.1889490932226181,
|
||||
"volumeMusic": 0.5,
|
||||
"volumeSFX": 0.5,
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"HighScore":416.0}
|
||||
{"HighScore":212.0}
|
||||
@@ -1,44 +1,64 @@
|
||||
{
|
||||
"entries": [
|
||||
{
|
||||
"name": "Perfoon",
|
||||
"score": 416.0
|
||||
"name": "karlkolm",
|
||||
"score": 241.0
|
||||
},
|
||||
{
|
||||
"name": "jass",
|
||||
"score": 212.0
|
||||
},
|
||||
{
|
||||
"name": "andreas",
|
||||
"score": 207.0
|
||||
},
|
||||
{
|
||||
"name": "karlkaks",
|
||||
"score": 198.0
|
||||
},
|
||||
{
|
||||
"name": "rikkss",
|
||||
"score": 195.0
|
||||
},
|
||||
{
|
||||
"name": "noob",
|
||||
"score": 195.0
|
||||
},
|
||||
{
|
||||
"name": "jjkujkkg",
|
||||
"score": 194.0
|
||||
},
|
||||
{
|
||||
"name": "andeas",
|
||||
"score": 161.0
|
||||
"name": "kuues",
|
||||
"score": 186.0
|
||||
},
|
||||
{
|
||||
"name": "h",
|
||||
"score": 138.0
|
||||
"name": "gert",
|
||||
"score": 184.0
|
||||
},
|
||||
{
|
||||
"name": "raimps",
|
||||
"score": 115.0
|
||||
"name": "karl",
|
||||
"score": 183.0
|
||||
},
|
||||
{
|
||||
"name": "andreas",
|
||||
"score": 96.0
|
||||
"name": "f",
|
||||
"score": 181.0
|
||||
},
|
||||
{
|
||||
"name": "k",
|
||||
"score": 58.0
|
||||
"name": "kosta",
|
||||
"score": 180.0
|
||||
},
|
||||
{
|
||||
"name": "kr",
|
||||
"score": 53.0
|
||||
"name": "gg",
|
||||
"score": 179.0
|
||||
},
|
||||
{
|
||||
"name": "krr",
|
||||
"score": 34.0
|
||||
"name": "gert",
|
||||
"score": 164.0
|
||||
},
|
||||
{
|
||||
"name": "rikkss",
|
||||
"score": 163.0
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user