diff --git a/Library/ArtifactDB-lock b/Library/ArtifactDB-lock index 1f30d515..6c193e41 100755 Binary files a/Library/ArtifactDB-lock and b/Library/ArtifactDB-lock differ diff --git a/Library/Artifacts/00/0029553622f4652b4d04f3117b1be030 b/Library/Artifacts/00/0029553622f4652b4d04f3117b1be030 new file mode 100644 index 00000000..6115383f Binary files /dev/null and b/Library/Artifacts/00/0029553622f4652b4d04f3117b1be030 differ diff --git a/Library/Artifacts/01/018f77a97a5e5168638254a38477a88a b/Library/Artifacts/01/018f77a97a5e5168638254a38477a88a new file mode 100644 index 00000000..b9d7bf07 Binary files /dev/null and b/Library/Artifacts/01/018f77a97a5e5168638254a38477a88a differ diff --git a/Library/Artifacts/02/0235d73af3f17809d52b75063321a133 b/Library/Artifacts/02/0235d73af3f17809d52b75063321a133 new file mode 100644 index 00000000..8bf5650d Binary files /dev/null and b/Library/Artifacts/02/0235d73af3f17809d52b75063321a133 differ diff --git a/Library/Artifacts/03/0319e516784dd2531225ed315af35726 b/Library/Artifacts/03/0319e516784dd2531225ed315af35726 new file mode 100644 index 00000000..49872b9a Binary files /dev/null and b/Library/Artifacts/03/0319e516784dd2531225ed315af35726 differ diff --git a/Library/Artifacts/04/04826e3c71c091638b42fbe14fdead4b b/Library/Artifacts/04/04826e3c71c091638b42fbe14fdead4b new file mode 100644 index 00000000..4928e478 Binary files /dev/null and b/Library/Artifacts/04/04826e3c71c091638b42fbe14fdead4b differ diff --git a/Library/Artifacts/04/04f53218a4e356351cd24407acd771f4 b/Library/Artifacts/04/04f53218a4e356351cd24407acd771f4 new file mode 100644 index 00000000..4696d628 Binary files /dev/null and b/Library/Artifacts/04/04f53218a4e356351cd24407acd771f4 differ diff --git a/Library/Artifacts/05/05183f122ab25afdfe3f0a78226aa292 b/Library/Artifacts/05/05183f122ab25afdfe3f0a78226aa292 new file mode 100644 index 00000000..923019b1 Binary files /dev/null and b/Library/Artifacts/05/05183f122ab25afdfe3f0a78226aa292 differ diff --git a/Library/Artifacts/06/06678709961a32de6df7d467ba58e44f b/Library/Artifacts/06/06678709961a32de6df7d467ba58e44f new file mode 100644 index 00000000..df58d1d9 Binary files /dev/null and b/Library/Artifacts/06/06678709961a32de6df7d467ba58e44f differ diff --git a/Library/Artifacts/06/0691907d06fe1a00bb99b02867087383 b/Library/Artifacts/06/0691907d06fe1a00bb99b02867087383 new file mode 100644 index 00000000..888da98d Binary files /dev/null and b/Library/Artifacts/06/0691907d06fe1a00bb99b02867087383 differ diff --git a/Library/Artifacts/07/07a228cc8735ae9062bcbb7b875fc095 b/Library/Artifacts/07/07a228cc8735ae9062bcbb7b875fc095 new file mode 100644 index 00000000..e8aee214 Binary files /dev/null and b/Library/Artifacts/07/07a228cc8735ae9062bcbb7b875fc095 differ diff --git a/Library/Artifacts/07/07aea8528868d414bf6dc18babcdf8ac b/Library/Artifacts/07/07aea8528868d414bf6dc18babcdf8ac new file mode 100644 index 00000000..9b76128a Binary files /dev/null and b/Library/Artifacts/07/07aea8528868d414bf6dc18babcdf8ac differ diff --git a/Library/Artifacts/07/07ebb177881206ba5a9c666f457f779f b/Library/Artifacts/07/07ebb177881206ba5a9c666f457f779f new file mode 100644 index 00000000..9eb04662 Binary files /dev/null and b/Library/Artifacts/07/07ebb177881206ba5a9c666f457f779f differ diff --git a/Library/Artifacts/08/0864ef9ab5a29144ea912760a12da47b b/Library/Artifacts/08/0864ef9ab5a29144ea912760a12da47b new file mode 100644 index 00000000..1fc93331 Binary files /dev/null and b/Library/Artifacts/08/0864ef9ab5a29144ea912760a12da47b differ diff --git a/Library/Artifacts/09/09561b6216eb4bfcc7af5058de021aa2 b/Library/Artifacts/09/09561b6216eb4bfcc7af5058de021aa2 new file mode 100644 index 00000000..db00d1a7 Binary files /dev/null and b/Library/Artifacts/09/09561b6216eb4bfcc7af5058de021aa2 differ diff --git a/Library/Artifacts/09/0978d7bde126d881e6a8ab3aefe236f6 b/Library/Artifacts/09/0978d7bde126d881e6a8ab3aefe236f6 new file mode 100644 index 00000000..f758a204 Binary files /dev/null and b/Library/Artifacts/09/0978d7bde126d881e6a8ab3aefe236f6 differ diff --git a/Library/Artifacts/09/09940c50204ba97362498013542114f8 b/Library/Artifacts/09/09940c50204ba97362498013542114f8 new file mode 100644 index 00000000..178196e5 Binary files /dev/null and b/Library/Artifacts/09/09940c50204ba97362498013542114f8 differ diff --git a/Library/Artifacts/09/09d2d7da1621699eed5de228888a9dee b/Library/Artifacts/09/09d2d7da1621699eed5de228888a9dee new file mode 100644 index 00000000..f6dcaab2 Binary files /dev/null and b/Library/Artifacts/09/09d2d7da1621699eed5de228888a9dee differ diff --git a/Library/Artifacts/0a/0a36e336a69d2b3bd9d76d0700bdf040 b/Library/Artifacts/0a/0a36e336a69d2b3bd9d76d0700bdf040 new file mode 100644 index 00000000..30f3de1c Binary files /dev/null and b/Library/Artifacts/0a/0a36e336a69d2b3bd9d76d0700bdf040 differ diff --git a/Library/Artifacts/0b/0b4aa18a3b9492174a4e28db0e4e5782 b/Library/Artifacts/0b/0b4aa18a3b9492174a4e28db0e4e5782 new file mode 100644 index 00000000..0e2bdd9e Binary files /dev/null and b/Library/Artifacts/0b/0b4aa18a3b9492174a4e28db0e4e5782 differ diff --git a/Library/Artifacts/0b/0bec1044075e2f7823a2b77a9d5a9eda b/Library/Artifacts/0b/0bec1044075e2f7823a2b77a9d5a9eda new file mode 100644 index 00000000..89b97d8f Binary files /dev/null and b/Library/Artifacts/0b/0bec1044075e2f7823a2b77a9d5a9eda differ diff --git a/Library/Artifacts/0d/0d86772fdf9f57c1ffee2bdc554e51fd b/Library/Artifacts/0d/0d86772fdf9f57c1ffee2bdc554e51fd new file mode 100644 index 00000000..197e0944 Binary files /dev/null and b/Library/Artifacts/0d/0d86772fdf9f57c1ffee2bdc554e51fd differ diff --git a/Library/Artifacts/0f/0f194d15ef389f9b0b54dfab1be72e7f b/Library/Artifacts/0f/0f194d15ef389f9b0b54dfab1be72e7f new file mode 100644 index 00000000..da746f39 Binary files /dev/null and b/Library/Artifacts/0f/0f194d15ef389f9b0b54dfab1be72e7f differ diff --git a/Library/Artifacts/10/100bda1c9a8cb108b54f3ffbf4ddeafd b/Library/Artifacts/10/100bda1c9a8cb108b54f3ffbf4ddeafd new file mode 100644 index 00000000..1276b5e1 Binary files /dev/null and b/Library/Artifacts/10/100bda1c9a8cb108b54f3ffbf4ddeafd differ diff --git a/Library/Artifacts/10/10e1017b35bc3f7b653307aad2e82a09 b/Library/Artifacts/10/10e1017b35bc3f7b653307aad2e82a09 new file mode 100644 index 00000000..ec12c7f7 Binary files /dev/null and b/Library/Artifacts/10/10e1017b35bc3f7b653307aad2e82a09 differ diff --git a/Library/Artifacts/11/1164caf7e985bfb5e09f4d11462d4b17 b/Library/Artifacts/11/1164caf7e985bfb5e09f4d11462d4b17 new file mode 100644 index 00000000..57fe414d Binary files /dev/null and b/Library/Artifacts/11/1164caf7e985bfb5e09f4d11462d4b17 differ diff --git a/Library/Artifacts/11/11f75eb0777026409f2a97b7b774e3b2 b/Library/Artifacts/11/11f75eb0777026409f2a97b7b774e3b2 new file mode 100644 index 00000000..cc58f5c3 Binary files /dev/null and b/Library/Artifacts/11/11f75eb0777026409f2a97b7b774e3b2 differ diff --git a/Library/Artifacts/12/128ad65ec3ceeafcc3995a8aa16a87e0 b/Library/Artifacts/12/128ad65ec3ceeafcc3995a8aa16a87e0 new file mode 100644 index 00000000..07d9bb1c Binary files /dev/null and b/Library/Artifacts/12/128ad65ec3ceeafcc3995a8aa16a87e0 differ diff --git a/Library/Artifacts/12/129bb0e397b04ccfe80831aca4545d3d b/Library/Artifacts/12/129bb0e397b04ccfe80831aca4545d3d new file mode 100644 index 00000000..f15b4c12 Binary files /dev/null and b/Library/Artifacts/12/129bb0e397b04ccfe80831aca4545d3d differ diff --git a/Library/Artifacts/13/13aa377f7ecaca5d2eb23147726d36ed b/Library/Artifacts/13/13aa377f7ecaca5d2eb23147726d36ed new file mode 100644 index 00000000..2ab5d69d Binary files /dev/null and b/Library/Artifacts/13/13aa377f7ecaca5d2eb23147726d36ed differ diff --git a/Library/Artifacts/13/13e9dc6991e4f6c923a7bfb3ff572468 b/Library/Artifacts/13/13e9dc6991e4f6c923a7bfb3ff572468 new file mode 100644 index 00000000..09f05f9c Binary files /dev/null and b/Library/Artifacts/13/13e9dc6991e4f6c923a7bfb3ff572468 differ diff --git a/Library/Artifacts/15/151f92c0c965ceed78248bbed5ba6139 b/Library/Artifacts/15/151f92c0c965ceed78248bbed5ba6139 new file mode 100644 index 00000000..b5f4d6bc Binary files /dev/null and b/Library/Artifacts/15/151f92c0c965ceed78248bbed5ba6139 differ diff --git a/Library/Artifacts/16/16156164e9ebda19212b0f9fb181c502 b/Library/Artifacts/16/16156164e9ebda19212b0f9fb181c502 new file mode 100644 index 00000000..4e92fd79 Binary files /dev/null and b/Library/Artifacts/16/16156164e9ebda19212b0f9fb181c502 differ diff --git a/Library/Artifacts/16/16e9e4ba5be20f69bf3976cb19f3844a b/Library/Artifacts/16/16e9e4ba5be20f69bf3976cb19f3844a new file mode 100644 index 00000000..62114ab9 Binary files /dev/null and b/Library/Artifacts/16/16e9e4ba5be20f69bf3976cb19f3844a differ diff --git a/Library/Artifacts/17/1717f883727db3be9a6500f8c454fe56 b/Library/Artifacts/17/1717f883727db3be9a6500f8c454fe56 new file mode 100644 index 00000000..c9761fe4 Binary files /dev/null and b/Library/Artifacts/17/1717f883727db3be9a6500f8c454fe56 differ diff --git a/Library/Artifacts/18/188106e1a9bc702527d3eb740c1fd9ea b/Library/Artifacts/18/188106e1a9bc702527d3eb740c1fd9ea new file mode 100644 index 00000000..dcdd39f1 Binary files /dev/null and b/Library/Artifacts/18/188106e1a9bc702527d3eb740c1fd9ea differ diff --git a/Library/Artifacts/18/18d54db495959931997ee29a40c46ec8 b/Library/Artifacts/18/18d54db495959931997ee29a40c46ec8 new file mode 100644 index 00000000..dbb3cb63 Binary files /dev/null and b/Library/Artifacts/18/18d54db495959931997ee29a40c46ec8 differ diff --git a/Library/Artifacts/1a/1aa57bbb13d72155b0dbf6a92ec3e5dd b/Library/Artifacts/1a/1aa57bbb13d72155b0dbf6a92ec3e5dd new file mode 100644 index 00000000..5b2d8604 Binary files /dev/null and b/Library/Artifacts/1a/1aa57bbb13d72155b0dbf6a92ec3e5dd differ diff --git a/Library/Artifacts/1b/1b3b19b85995902ef625fb69e62399f6 b/Library/Artifacts/1b/1b3b19b85995902ef625fb69e62399f6 new file mode 100644 index 00000000..49f517d4 Binary files /dev/null and b/Library/Artifacts/1b/1b3b19b85995902ef625fb69e62399f6 differ diff --git a/Library/Artifacts/1b/1b947c385c1c919dbc7da4cf5ad1c3bf b/Library/Artifacts/1b/1b947c385c1c919dbc7da4cf5ad1c3bf new file mode 100644 index 00000000..52eb2256 Binary files /dev/null and b/Library/Artifacts/1b/1b947c385c1c919dbc7da4cf5ad1c3bf differ diff --git a/Library/Artifacts/1b/1bfd0003ed7d0e62ff47ee625478fbd9 b/Library/Artifacts/1b/1bfd0003ed7d0e62ff47ee625478fbd9 new file mode 100644 index 00000000..f0c8fd64 Binary files /dev/null and b/Library/Artifacts/1b/1bfd0003ed7d0e62ff47ee625478fbd9 differ diff --git a/Library/Artifacts/1c/1cb2d3230fde7ab38c27ad3638f1494c b/Library/Artifacts/1c/1cb2d3230fde7ab38c27ad3638f1494c new file mode 100644 index 00000000..a769132c Binary files /dev/null and b/Library/Artifacts/1c/1cb2d3230fde7ab38c27ad3638f1494c differ diff --git a/Library/Artifacts/1d/1d534fcda05926335b191fd84c38a0d5 b/Library/Artifacts/1d/1d534fcda05926335b191fd84c38a0d5 new file mode 100644 index 00000000..6ed369f5 Binary files /dev/null and b/Library/Artifacts/1d/1d534fcda05926335b191fd84c38a0d5 differ diff --git a/Library/Artifacts/1e/1e055896de29cde05f093b70f8cc4ccd b/Library/Artifacts/1e/1e055896de29cde05f093b70f8cc4ccd new file mode 100644 index 00000000..feda014d Binary files /dev/null and b/Library/Artifacts/1e/1e055896de29cde05f093b70f8cc4ccd differ diff --git a/Library/Artifacts/1f/1f4bd39e26a4853d8ffc6548bfd25379 b/Library/Artifacts/1f/1f4bd39e26a4853d8ffc6548bfd25379 new file mode 100644 index 00000000..fce628d6 Binary files /dev/null and b/Library/Artifacts/1f/1f4bd39e26a4853d8ffc6548bfd25379 differ diff --git a/Library/Artifacts/20/203ebf043b7883971e794d53f87519f2 b/Library/Artifacts/20/203ebf043b7883971e794d53f87519f2 new file mode 100644 index 00000000..54db8d8b Binary files /dev/null and b/Library/Artifacts/20/203ebf043b7883971e794d53f87519f2 differ diff --git a/Library/Artifacts/22/2227c75a8ae319f529e08066aac39d2a b/Library/Artifacts/22/2227c75a8ae319f529e08066aac39d2a new file mode 100644 index 00000000..4cf7ca70 Binary files /dev/null and b/Library/Artifacts/22/2227c75a8ae319f529e08066aac39d2a differ diff --git a/Library/Artifacts/22/224ec6a13599e6d17ce2325accf7fd81 b/Library/Artifacts/22/224ec6a13599e6d17ce2325accf7fd81 new file mode 100644 index 00000000..5eea18f8 Binary files /dev/null and b/Library/Artifacts/22/224ec6a13599e6d17ce2325accf7fd81 differ diff --git a/Library/Artifacts/22/22f6caa03b2f9dd789b94f0aedaf196c b/Library/Artifacts/22/22f6caa03b2f9dd789b94f0aedaf196c new file mode 100644 index 00000000..940cd9a1 Binary files /dev/null and b/Library/Artifacts/22/22f6caa03b2f9dd789b94f0aedaf196c differ diff --git a/Library/Artifacts/23/2354ac2a4860f8fa2f6e549023b0c512 b/Library/Artifacts/23/2354ac2a4860f8fa2f6e549023b0c512 new file mode 100644 index 00000000..425b6597 Binary files /dev/null and b/Library/Artifacts/23/2354ac2a4860f8fa2f6e549023b0c512 differ diff --git a/Library/Artifacts/23/236ea775f159b219e2f899f11fa657a1 b/Library/Artifacts/23/236ea775f159b219e2f899f11fa657a1 new file mode 100644 index 00000000..7a071930 Binary files /dev/null and b/Library/Artifacts/23/236ea775f159b219e2f899f11fa657a1 differ diff --git a/Library/Artifacts/24/24b0781da1483be7da27e64e13deaf01 b/Library/Artifacts/24/24b0781da1483be7da27e64e13deaf01 new file mode 100644 index 00000000..723ad022 Binary files /dev/null and b/Library/Artifacts/24/24b0781da1483be7da27e64e13deaf01 differ diff --git a/Library/Artifacts/25/25edf3423bd57d4ff609d635587d107d b/Library/Artifacts/25/25edf3423bd57d4ff609d635587d107d new file mode 100644 index 00000000..ce8de858 Binary files /dev/null and b/Library/Artifacts/25/25edf3423bd57d4ff609d635587d107d differ diff --git a/Library/Artifacts/29/2981d9e4371abc8570aecd1a2b474acd b/Library/Artifacts/29/2981d9e4371abc8570aecd1a2b474acd new file mode 100644 index 00000000..738226c3 Binary files /dev/null and b/Library/Artifacts/29/2981d9e4371abc8570aecd1a2b474acd differ diff --git a/Library/Artifacts/29/29efd15da8694506dbae418a3266fb0c b/Library/Artifacts/29/29efd15da8694506dbae418a3266fb0c new file mode 100644 index 00000000..65dde698 Binary files /dev/null and b/Library/Artifacts/29/29efd15da8694506dbae418a3266fb0c differ diff --git a/Library/Artifacts/29/29fc7860d2bc4a276bb845d66add609e b/Library/Artifacts/29/29fc7860d2bc4a276bb845d66add609e new file mode 100644 index 00000000..1117c200 Binary files /dev/null and b/Library/Artifacts/29/29fc7860d2bc4a276bb845d66add609e differ diff --git a/Library/Artifacts/2a/2a0a0e2b8855dade864a57ef78fa6096 b/Library/Artifacts/2a/2a0a0e2b8855dade864a57ef78fa6096 new file mode 100644 index 00000000..d86dbc6e Binary files /dev/null and b/Library/Artifacts/2a/2a0a0e2b8855dade864a57ef78fa6096 differ diff --git a/Library/Artifacts/2b/2b237c789dd92013876d4846702f25dd b/Library/Artifacts/2b/2b237c789dd92013876d4846702f25dd new file mode 100644 index 00000000..e608d851 Binary files /dev/null and b/Library/Artifacts/2b/2b237c789dd92013876d4846702f25dd differ diff --git a/Library/Artifacts/2b/2bd8b416c326a29384172dd93b03f112 b/Library/Artifacts/2b/2bd8b416c326a29384172dd93b03f112 new file mode 100644 index 00000000..f9727f0b Binary files /dev/null and b/Library/Artifacts/2b/2bd8b416c326a29384172dd93b03f112 differ diff --git a/Library/Artifacts/2c/2c8fda20103541bca7670095933d8319 b/Library/Artifacts/2c/2c8fda20103541bca7670095933d8319 new file mode 100644 index 00000000..e95f7e5b Binary files /dev/null and b/Library/Artifacts/2c/2c8fda20103541bca7670095933d8319 differ diff --git a/Library/Artifacts/2d/2d24c507aea9ed16cf7aae1ef98e0020 b/Library/Artifacts/2d/2d24c507aea9ed16cf7aae1ef98e0020 new file mode 100644 index 00000000..2c8fa4d2 Binary files /dev/null and b/Library/Artifacts/2d/2d24c507aea9ed16cf7aae1ef98e0020 differ diff --git a/Library/Artifacts/2e/2e76cf02d62238c7b0b698cf448d190c b/Library/Artifacts/2e/2e76cf02d62238c7b0b698cf448d190c new file mode 100644 index 00000000..40b8d8f6 Binary files /dev/null and b/Library/Artifacts/2e/2e76cf02d62238c7b0b698cf448d190c differ diff --git a/Library/Artifacts/2e/2ef4f5f364bee48a33baeb15f0a967c7 b/Library/Artifacts/2e/2ef4f5f364bee48a33baeb15f0a967c7 new file mode 100644 index 00000000..68cc93d6 Binary files /dev/null and b/Library/Artifacts/2e/2ef4f5f364bee48a33baeb15f0a967c7 differ diff --git a/Library/Artifacts/30/304f62abf756f4621ba65ebd641f3d35 b/Library/Artifacts/30/304f62abf756f4621ba65ebd641f3d35 new file mode 100644 index 00000000..a1918a2c Binary files /dev/null and b/Library/Artifacts/30/304f62abf756f4621ba65ebd641f3d35 differ diff --git a/Library/Artifacts/31/31945a6caa51332e9a6df65bc4fb459d b/Library/Artifacts/31/31945a6caa51332e9a6df65bc4fb459d new file mode 100644 index 00000000..a4f8d7e6 Binary files /dev/null and b/Library/Artifacts/31/31945a6caa51332e9a6df65bc4fb459d differ diff --git a/Library/Artifacts/32/320b3ceef7a57aec4ddd7e3c525bca4c b/Library/Artifacts/32/320b3ceef7a57aec4ddd7e3c525bca4c new file mode 100644 index 00000000..3917f857 Binary files /dev/null and b/Library/Artifacts/32/320b3ceef7a57aec4ddd7e3c525bca4c differ diff --git a/Library/Artifacts/32/32abc32c975b3836b2ed274acfccf53c b/Library/Artifacts/32/32abc32c975b3836b2ed274acfccf53c new file mode 100644 index 00000000..bebcbba4 Binary files /dev/null and b/Library/Artifacts/32/32abc32c975b3836b2ed274acfccf53c differ diff --git a/Library/Artifacts/33/3332ecd8e44400f6087306090b112b2b b/Library/Artifacts/33/3332ecd8e44400f6087306090b112b2b new file mode 100644 index 00000000..5f230f7a Binary files /dev/null and b/Library/Artifacts/33/3332ecd8e44400f6087306090b112b2b differ diff --git a/Library/Artifacts/33/33b7d8861d79a8b58de7caa5c61ec0bf b/Library/Artifacts/33/33b7d8861d79a8b58de7caa5c61ec0bf new file mode 100644 index 00000000..b09859db Binary files /dev/null and b/Library/Artifacts/33/33b7d8861d79a8b58de7caa5c61ec0bf differ diff --git a/Library/Artifacts/34/34853110ead7040c0872c4a4bf125307 b/Library/Artifacts/34/34853110ead7040c0872c4a4bf125307 new file mode 100644 index 00000000..63d74f17 Binary files /dev/null and b/Library/Artifacts/34/34853110ead7040c0872c4a4bf125307 differ diff --git a/Library/Artifacts/34/34a3a1f29149954d395622940719a91e b/Library/Artifacts/34/34a3a1f29149954d395622940719a91e new file mode 100644 index 00000000..f7b619e4 Binary files /dev/null and b/Library/Artifacts/34/34a3a1f29149954d395622940719a91e differ diff --git a/Library/Artifacts/34/34f83d522472dabf7bdea1f5cec9dd6d b/Library/Artifacts/34/34f83d522472dabf7bdea1f5cec9dd6d new file mode 100644 index 00000000..c212f9fc Binary files /dev/null and b/Library/Artifacts/34/34f83d522472dabf7bdea1f5cec9dd6d differ diff --git a/Library/Artifacts/35/352889b5da1c4eac43ea41bd1ca3c4af b/Library/Artifacts/35/352889b5da1c4eac43ea41bd1ca3c4af new file mode 100644 index 00000000..5a5db64c Binary files /dev/null and b/Library/Artifacts/35/352889b5da1c4eac43ea41bd1ca3c4af differ diff --git a/Library/Artifacts/35/353423a7a39b02ae206470d332899644 b/Library/Artifacts/35/353423a7a39b02ae206470d332899644 new file mode 100644 index 00000000..4ddf2d99 Binary files /dev/null and b/Library/Artifacts/35/353423a7a39b02ae206470d332899644 differ diff --git a/Library/Artifacts/35/3587a77daea791ca48112a1ee7a10017 b/Library/Artifacts/35/3587a77daea791ca48112a1ee7a10017 new file mode 100644 index 00000000..4278bc59 Binary files /dev/null and b/Library/Artifacts/35/3587a77daea791ca48112a1ee7a10017 differ diff --git a/Library/Artifacts/36/36f68805e14f8be8c5ac6b33da631007 b/Library/Artifacts/36/36f68805e14f8be8c5ac6b33da631007 new file mode 100644 index 00000000..ea3c78a1 Binary files /dev/null and b/Library/Artifacts/36/36f68805e14f8be8c5ac6b33da631007 differ diff --git a/Library/Artifacts/38/38452b9f0a486f74089817d199d33755 b/Library/Artifacts/38/38452b9f0a486f74089817d199d33755 new file mode 100644 index 00000000..b39cf9ae Binary files /dev/null and b/Library/Artifacts/38/38452b9f0a486f74089817d199d33755 differ diff --git a/Library/Artifacts/38/38d2169dc79e3d616dd2482ee13013e5 b/Library/Artifacts/38/38d2169dc79e3d616dd2482ee13013e5 new file mode 100644 index 00000000..1af083c3 Binary files /dev/null and b/Library/Artifacts/38/38d2169dc79e3d616dd2482ee13013e5 differ diff --git a/Library/Artifacts/39/39c13f94790d5eae484c7a422ed5a29f b/Library/Artifacts/39/39c13f94790d5eae484c7a422ed5a29f new file mode 100644 index 00000000..eaa7af16 Binary files /dev/null and b/Library/Artifacts/39/39c13f94790d5eae484c7a422ed5a29f differ diff --git a/Library/Artifacts/3b/3b074ca21462d01cfc2ee660f1410c92 b/Library/Artifacts/3b/3b074ca21462d01cfc2ee660f1410c92 new file mode 100644 index 00000000..0f65bf08 Binary files /dev/null and b/Library/Artifacts/3b/3b074ca21462d01cfc2ee660f1410c92 differ diff --git a/Library/Artifacts/3b/3b5017c081b93345d0a011d753dc7774 b/Library/Artifacts/3b/3b5017c081b93345d0a011d753dc7774 new file mode 100644 index 00000000..b47e5001 Binary files /dev/null and b/Library/Artifacts/3b/3b5017c081b93345d0a011d753dc7774 differ diff --git a/Library/Artifacts/3b/3b6424e29732be156d448fcf94e8a280 b/Library/Artifacts/3b/3b6424e29732be156d448fcf94e8a280 new file mode 100644 index 00000000..d376e393 Binary files /dev/null and b/Library/Artifacts/3b/3b6424e29732be156d448fcf94e8a280 differ diff --git a/Library/Artifacts/3b/3b69adb9f6edbab6a4e308fea3b6938f b/Library/Artifacts/3b/3b69adb9f6edbab6a4e308fea3b6938f new file mode 100644 index 00000000..0885cd5d Binary files /dev/null and b/Library/Artifacts/3b/3b69adb9f6edbab6a4e308fea3b6938f differ diff --git a/Library/Artifacts/3b/3bf061e49b972f0cb5a5af5868f736bd b/Library/Artifacts/3b/3bf061e49b972f0cb5a5af5868f736bd new file mode 100644 index 00000000..70d7d694 Binary files /dev/null and b/Library/Artifacts/3b/3bf061e49b972f0cb5a5af5868f736bd differ diff --git a/Library/Artifacts/3c/3cf62292aa7e235f59c535bcfcb45ca6 b/Library/Artifacts/3c/3cf62292aa7e235f59c535bcfcb45ca6 new file mode 100644 index 00000000..d1c615dd Binary files /dev/null and b/Library/Artifacts/3c/3cf62292aa7e235f59c535bcfcb45ca6 differ diff --git a/Library/Artifacts/3c/3cf81f281d892f723a9d66b574293809 b/Library/Artifacts/3c/3cf81f281d892f723a9d66b574293809 new file mode 100644 index 00000000..f8e5fadd Binary files /dev/null and b/Library/Artifacts/3c/3cf81f281d892f723a9d66b574293809 differ diff --git a/Library/Artifacts/3e/3e1657142e4a828b6f147f672d395401 b/Library/Artifacts/3e/3e1657142e4a828b6f147f672d395401 new file mode 100644 index 00000000..fc5cc853 Binary files /dev/null and b/Library/Artifacts/3e/3e1657142e4a828b6f147f672d395401 differ diff --git a/Library/Artifacts/3e/3e3b2f98d0d29d208523e5d1fe5860e2 b/Library/Artifacts/3e/3e3b2f98d0d29d208523e5d1fe5860e2 new file mode 100644 index 00000000..7665ab78 Binary files /dev/null and b/Library/Artifacts/3e/3e3b2f98d0d29d208523e5d1fe5860e2 differ diff --git a/Library/Artifacts/40/406667e0cc5682769fcdf8f6699be745 b/Library/Artifacts/40/406667e0cc5682769fcdf8f6699be745 new file mode 100644 index 00000000..9dc4d57f Binary files /dev/null and b/Library/Artifacts/40/406667e0cc5682769fcdf8f6699be745 differ diff --git a/Library/Artifacts/41/41a84cab0d072025bb53771fd8893c35 b/Library/Artifacts/41/41a84cab0d072025bb53771fd8893c35 new file mode 100644 index 00000000..d8755d7b Binary files /dev/null and b/Library/Artifacts/41/41a84cab0d072025bb53771fd8893c35 differ diff --git a/Library/Artifacts/42/420e4ba47707afd7407e3ee22ecb6a3d b/Library/Artifacts/42/420e4ba47707afd7407e3ee22ecb6a3d new file mode 100644 index 00000000..b653c69c Binary files /dev/null and b/Library/Artifacts/42/420e4ba47707afd7407e3ee22ecb6a3d differ diff --git a/Library/Artifacts/42/424c45d065a2d8cf1eff299c498e49fc b/Library/Artifacts/42/424c45d065a2d8cf1eff299c498e49fc new file mode 100644 index 00000000..af2a3462 Binary files /dev/null and b/Library/Artifacts/42/424c45d065a2d8cf1eff299c498e49fc differ diff --git a/Library/Artifacts/45/45c5e23ead47f77d42597b0c5d63a6f8 b/Library/Artifacts/45/45c5e23ead47f77d42597b0c5d63a6f8 new file mode 100644 index 00000000..5e530ed6 Binary files /dev/null and b/Library/Artifacts/45/45c5e23ead47f77d42597b0c5d63a6f8 differ diff --git a/Library/Artifacts/45/45d4b980bf1e4c3c67a71aa8c96653b3 b/Library/Artifacts/45/45d4b980bf1e4c3c67a71aa8c96653b3 new file mode 100644 index 00000000..a28b92b3 Binary files /dev/null and b/Library/Artifacts/45/45d4b980bf1e4c3c67a71aa8c96653b3 differ diff --git a/Library/Artifacts/46/4604ae599492d72d6d7711ff0ba6926d b/Library/Artifacts/46/4604ae599492d72d6d7711ff0ba6926d new file mode 100644 index 00000000..cda7ae9f Binary files /dev/null and b/Library/Artifacts/46/4604ae599492d72d6d7711ff0ba6926d differ diff --git a/Library/Artifacts/46/4631034e8ff998a51a6066934e93691f b/Library/Artifacts/46/4631034e8ff998a51a6066934e93691f new file mode 100644 index 00000000..0b26875b Binary files /dev/null and b/Library/Artifacts/46/4631034e8ff998a51a6066934e93691f differ diff --git a/Library/Artifacts/49/49bb006419ba74e2b0fb7e971bf578d1 b/Library/Artifacts/49/49bb006419ba74e2b0fb7e971bf578d1 new file mode 100644 index 00000000..b004a2a9 Binary files /dev/null and b/Library/Artifacts/49/49bb006419ba74e2b0fb7e971bf578d1 differ diff --git a/Library/Artifacts/4a/4ae0c70a5192bc431d2713c41c473ad8 b/Library/Artifacts/4a/4ae0c70a5192bc431d2713c41c473ad8 new file mode 100644 index 00000000..89c8faff Binary files /dev/null and b/Library/Artifacts/4a/4ae0c70a5192bc431d2713c41c473ad8 differ diff --git a/Library/Artifacts/4b/4b29793b03d2af826cbf1d4b86c414ab b/Library/Artifacts/4b/4b29793b03d2af826cbf1d4b86c414ab new file mode 100644 index 00000000..cbc84d5a Binary files /dev/null and b/Library/Artifacts/4b/4b29793b03d2af826cbf1d4b86c414ab differ diff --git a/Library/Artifacts/4c/4c298ebd09a0ca6558380c4f062fe6f7 b/Library/Artifacts/4c/4c298ebd09a0ca6558380c4f062fe6f7 new file mode 100644 index 00000000..fecb3706 Binary files /dev/null and b/Library/Artifacts/4c/4c298ebd09a0ca6558380c4f062fe6f7 differ diff --git a/Library/Artifacts/4d/4d4e959f0be9775c2a504aa6be9c05d6 b/Library/Artifacts/4d/4d4e959f0be9775c2a504aa6be9c05d6 new file mode 100644 index 00000000..06092442 Binary files /dev/null and b/Library/Artifacts/4d/4d4e959f0be9775c2a504aa6be9c05d6 differ diff --git a/Library/Artifacts/4d/4d7304dde45857b53a4d1dbec5e98e63 b/Library/Artifacts/4d/4d7304dde45857b53a4d1dbec5e98e63 new file mode 100644 index 00000000..bc34d2c5 Binary files /dev/null and b/Library/Artifacts/4d/4d7304dde45857b53a4d1dbec5e98e63 differ diff --git a/Library/Artifacts/4d/4dd260c46c332d0257e8c05afe86723b b/Library/Artifacts/4d/4dd260c46c332d0257e8c05afe86723b new file mode 100644 index 00000000..f6691039 Binary files /dev/null and b/Library/Artifacts/4d/4dd260c46c332d0257e8c05afe86723b differ diff --git a/Library/Artifacts/4f/4f22116333244dd1da6ef105875cd32d b/Library/Artifacts/4f/4f22116333244dd1da6ef105875cd32d new file mode 100644 index 00000000..6448cf7b Binary files /dev/null and b/Library/Artifacts/4f/4f22116333244dd1da6ef105875cd32d differ diff --git a/Library/Artifacts/4f/4f99927a3a18e52e3e116a2d2a571c62 b/Library/Artifacts/4f/4f99927a3a18e52e3e116a2d2a571c62 new file mode 100644 index 00000000..05308264 Binary files /dev/null and b/Library/Artifacts/4f/4f99927a3a18e52e3e116a2d2a571c62 differ diff --git a/Library/Artifacts/50/50f780043df38608c1a89851e0f00472 b/Library/Artifacts/50/50f780043df38608c1a89851e0f00472 new file mode 100644 index 00000000..676f5454 Binary files /dev/null and b/Library/Artifacts/50/50f780043df38608c1a89851e0f00472 differ diff --git a/Library/Artifacts/54/5451d6c779275a710c178a4358733479 b/Library/Artifacts/54/5451d6c779275a710c178a4358733479 new file mode 100644 index 00000000..92ba1f2a Binary files /dev/null and b/Library/Artifacts/54/5451d6c779275a710c178a4358733479 differ diff --git a/Library/Artifacts/54/546ddeaeb7ff2b87b8e4604d7b208817 b/Library/Artifacts/54/546ddeaeb7ff2b87b8e4604d7b208817 new file mode 100644 index 00000000..ddd87942 Binary files /dev/null and b/Library/Artifacts/54/546ddeaeb7ff2b87b8e4604d7b208817 differ diff --git a/Library/Artifacts/54/547146d67f76a9e6e3119a81fdc4d9c5 b/Library/Artifacts/54/547146d67f76a9e6e3119a81fdc4d9c5 new file mode 100644 index 00000000..e1629b07 Binary files /dev/null and b/Library/Artifacts/54/547146d67f76a9e6e3119a81fdc4d9c5 differ diff --git a/Library/Artifacts/54/54bfc44f51ffc0294ba020608f81046c b/Library/Artifacts/54/54bfc44f51ffc0294ba020608f81046c new file mode 100644 index 00000000..e6bc1ba8 Binary files /dev/null and b/Library/Artifacts/54/54bfc44f51ffc0294ba020608f81046c differ diff --git a/Library/Artifacts/55/554bfd9e663480607e342b531a8c7b5c b/Library/Artifacts/55/554bfd9e663480607e342b531a8c7b5c new file mode 100644 index 00000000..aef9374e Binary files /dev/null and b/Library/Artifacts/55/554bfd9e663480607e342b531a8c7b5c differ diff --git a/Library/Artifacts/55/5577302bc316cd4dd66349f830e65d91 b/Library/Artifacts/55/5577302bc316cd4dd66349f830e65d91 new file mode 100644 index 00000000..97fe0f99 Binary files /dev/null and b/Library/Artifacts/55/5577302bc316cd4dd66349f830e65d91 differ diff --git a/Library/Artifacts/56/56d9d60050f26a7a6fce178993df3da1 b/Library/Artifacts/56/56d9d60050f26a7a6fce178993df3da1 new file mode 100644 index 00000000..4e356c6f Binary files /dev/null and b/Library/Artifacts/56/56d9d60050f26a7a6fce178993df3da1 differ diff --git a/Library/Artifacts/57/5708a0c8a5ef97b0ad360337681b201d b/Library/Artifacts/57/5708a0c8a5ef97b0ad360337681b201d new file mode 100644 index 00000000..85c9e438 Binary files /dev/null and b/Library/Artifacts/57/5708a0c8a5ef97b0ad360337681b201d differ diff --git a/Library/Artifacts/5b/5b6127d2d88693c0dd48250c84ce84ad b/Library/Artifacts/5b/5b6127d2d88693c0dd48250c84ce84ad new file mode 100644 index 00000000..50fa0de1 Binary files /dev/null and b/Library/Artifacts/5b/5b6127d2d88693c0dd48250c84ce84ad differ diff --git a/Library/Artifacts/5c/5c24f9dcc64551ecf234f9557370ab51 b/Library/Artifacts/5c/5c24f9dcc64551ecf234f9557370ab51 new file mode 100644 index 00000000..b397e632 Binary files /dev/null and b/Library/Artifacts/5c/5c24f9dcc64551ecf234f9557370ab51 differ diff --git a/Library/Artifacts/5c/5c3c9a14c1653389c5bf59dd619ca029 b/Library/Artifacts/5c/5c3c9a14c1653389c5bf59dd619ca029 new file mode 100644 index 00000000..44bace03 Binary files /dev/null and b/Library/Artifacts/5c/5c3c9a14c1653389c5bf59dd619ca029 differ diff --git a/Library/Artifacts/5d/5d2763d7fe83e5315d2c0814e6261fc2 b/Library/Artifacts/5d/5d2763d7fe83e5315d2c0814e6261fc2 new file mode 100644 index 00000000..95a7448f Binary files /dev/null and b/Library/Artifacts/5d/5d2763d7fe83e5315d2c0814e6261fc2 differ diff --git a/Library/Artifacts/5d/5d631262502e4c66155f7600c2abef9c b/Library/Artifacts/5d/5d631262502e4c66155f7600c2abef9c new file mode 100644 index 00000000..0283aa4d Binary files /dev/null and b/Library/Artifacts/5d/5d631262502e4c66155f7600c2abef9c differ diff --git a/Library/Artifacts/5d/5dc813644eb6f963622c744efc5f1ac4 b/Library/Artifacts/5d/5dc813644eb6f963622c744efc5f1ac4 new file mode 100644 index 00000000..66cd83c8 Binary files /dev/null and b/Library/Artifacts/5d/5dc813644eb6f963622c744efc5f1ac4 differ diff --git a/Library/Artifacts/5f/5f03e37f66cabdf43a63357342f511f6 b/Library/Artifacts/5f/5f03e37f66cabdf43a63357342f511f6 new file mode 100644 index 00000000..429dd435 Binary files /dev/null and b/Library/Artifacts/5f/5f03e37f66cabdf43a63357342f511f6 differ diff --git a/Library/Artifacts/5f/5f28799c47374b2f9147e8afe59f85f0 b/Library/Artifacts/5f/5f28799c47374b2f9147e8afe59f85f0 new file mode 100644 index 00000000..9f02e12a Binary files /dev/null and b/Library/Artifacts/5f/5f28799c47374b2f9147e8afe59f85f0 differ diff --git a/Library/Artifacts/60/607ba79e923f1e8a7e13ce5d86fdb043 b/Library/Artifacts/60/607ba79e923f1e8a7e13ce5d86fdb043 new file mode 100644 index 00000000..24f17394 Binary files /dev/null and b/Library/Artifacts/60/607ba79e923f1e8a7e13ce5d86fdb043 differ diff --git a/Library/Artifacts/63/630aaf83b178d5e0af73a716e4d051fa b/Library/Artifacts/63/630aaf83b178d5e0af73a716e4d051fa new file mode 100644 index 00000000..05da2fe2 Binary files /dev/null and b/Library/Artifacts/63/630aaf83b178d5e0af73a716e4d051fa differ diff --git a/Library/Artifacts/63/634a21967e8e49a06accb7a952f866b5 b/Library/Artifacts/63/634a21967e8e49a06accb7a952f866b5 new file mode 100644 index 00000000..10de5939 Binary files /dev/null and b/Library/Artifacts/63/634a21967e8e49a06accb7a952f866b5 differ diff --git a/Library/Artifacts/63/635bc2b1ef7a91229d3d62e8d1d0f12e b/Library/Artifacts/63/635bc2b1ef7a91229d3d62e8d1d0f12e new file mode 100644 index 00000000..e0f95c55 Binary files /dev/null and b/Library/Artifacts/63/635bc2b1ef7a91229d3d62e8d1d0f12e differ diff --git a/Library/Artifacts/64/649c69c6a322d9841d2babe51987f41e b/Library/Artifacts/64/649c69c6a322d9841d2babe51987f41e new file mode 100644 index 00000000..a7d36516 Binary files /dev/null and b/Library/Artifacts/64/649c69c6a322d9841d2babe51987f41e differ diff --git a/Library/Artifacts/65/65ed9f65e348230d25dbd1d1ffd8a715 b/Library/Artifacts/65/65ed9f65e348230d25dbd1d1ffd8a715 new file mode 100644 index 00000000..48d6da57 Binary files /dev/null and b/Library/Artifacts/65/65ed9f65e348230d25dbd1d1ffd8a715 differ diff --git a/Library/Artifacts/67/672f517860da5bdd0cc2054954e98ab2 b/Library/Artifacts/67/672f517860da5bdd0cc2054954e98ab2 new file mode 100644 index 00000000..bd5d7fdb Binary files /dev/null and b/Library/Artifacts/67/672f517860da5bdd0cc2054954e98ab2 differ diff --git a/Library/Artifacts/68/680391bc9e7a703420c1670bc942547a b/Library/Artifacts/68/680391bc9e7a703420c1670bc942547a new file mode 100644 index 00000000..c44f804e Binary files /dev/null and b/Library/Artifacts/68/680391bc9e7a703420c1670bc942547a differ diff --git a/Library/Artifacts/68/684bdd2404ff09aa3d0b6bb769043111 b/Library/Artifacts/68/684bdd2404ff09aa3d0b6bb769043111 new file mode 100644 index 00000000..bc170e7a Binary files /dev/null and b/Library/Artifacts/68/684bdd2404ff09aa3d0b6bb769043111 differ diff --git a/Library/Artifacts/68/68c0ea01436b0bfa9706c09f2afd94e8 b/Library/Artifacts/68/68c0ea01436b0bfa9706c09f2afd94e8 new file mode 100644 index 00000000..74033488 Binary files /dev/null and b/Library/Artifacts/68/68c0ea01436b0bfa9706c09f2afd94e8 differ diff --git a/Library/Artifacts/6b/6b34e585142c9cd10c84522020fb3ee9 b/Library/Artifacts/6b/6b34e585142c9cd10c84522020fb3ee9 new file mode 100644 index 00000000..5c9df90c Binary files /dev/null and b/Library/Artifacts/6b/6b34e585142c9cd10c84522020fb3ee9 differ diff --git a/Library/Artifacts/6b/6bd378349c90e0156da8a8522dc42aed b/Library/Artifacts/6b/6bd378349c90e0156da8a8522dc42aed new file mode 100644 index 00000000..2a8b7727 Binary files /dev/null and b/Library/Artifacts/6b/6bd378349c90e0156da8a8522dc42aed differ diff --git a/Library/Artifacts/6b/6bf9bd506572220aad5b79233cbb8a77 b/Library/Artifacts/6b/6bf9bd506572220aad5b79233cbb8a77 new file mode 100644 index 00000000..b39c9fcc Binary files /dev/null and b/Library/Artifacts/6b/6bf9bd506572220aad5b79233cbb8a77 differ diff --git a/Library/Artifacts/6c/6c94abf3225039283c66beb87d46cade b/Library/Artifacts/6c/6c94abf3225039283c66beb87d46cade new file mode 100644 index 00000000..c0a582bf Binary files /dev/null and b/Library/Artifacts/6c/6c94abf3225039283c66beb87d46cade differ diff --git a/Library/Artifacts/6d/6d5a9ee6c59a98771eebc40ad54ec4fc b/Library/Artifacts/6d/6d5a9ee6c59a98771eebc40ad54ec4fc new file mode 100644 index 00000000..d2321d57 Binary files /dev/null and b/Library/Artifacts/6d/6d5a9ee6c59a98771eebc40ad54ec4fc differ diff --git a/Library/Artifacts/6f/6f4479102c1b3f82cb7e111db9e8853e b/Library/Artifacts/6f/6f4479102c1b3f82cb7e111db9e8853e new file mode 100644 index 00000000..b069e00b Binary files /dev/null and b/Library/Artifacts/6f/6f4479102c1b3f82cb7e111db9e8853e differ diff --git a/Library/Artifacts/70/706124cb62594864e3bd864ce310be13 b/Library/Artifacts/70/706124cb62594864e3bd864ce310be13 new file mode 100644 index 00000000..d4355d62 Binary files /dev/null and b/Library/Artifacts/70/706124cb62594864e3bd864ce310be13 differ diff --git a/Library/Artifacts/70/70693ec3297b9225047cc91365bc5b88 b/Library/Artifacts/70/70693ec3297b9225047cc91365bc5b88 new file mode 100644 index 00000000..79e4f891 Binary files /dev/null and b/Library/Artifacts/70/70693ec3297b9225047cc91365bc5b88 differ diff --git a/Library/Artifacts/70/7085caab76a988df0db81b693ee18919 b/Library/Artifacts/70/7085caab76a988df0db81b693ee18919 new file mode 100644 index 00000000..9f26b58e Binary files /dev/null and b/Library/Artifacts/70/7085caab76a988df0db81b693ee18919 differ diff --git a/Library/Artifacts/70/70e81d26234bc52a8a990d330cdce000 b/Library/Artifacts/70/70e81d26234bc52a8a990d330cdce000 new file mode 100644 index 00000000..79ccbf70 Binary files /dev/null and b/Library/Artifacts/70/70e81d26234bc52a8a990d330cdce000 differ diff --git a/Library/Artifacts/74/74c4f74fa4d4474449218023022a847e b/Library/Artifacts/74/74c4f74fa4d4474449218023022a847e new file mode 100644 index 00000000..31b43792 Binary files /dev/null and b/Library/Artifacts/74/74c4f74fa4d4474449218023022a847e differ diff --git a/Library/Artifacts/76/768f4b577c3db9aedbc2dcfd6c50a27f b/Library/Artifacts/76/768f4b577c3db9aedbc2dcfd6c50a27f new file mode 100644 index 00000000..3bd07af3 Binary files /dev/null and b/Library/Artifacts/76/768f4b577c3db9aedbc2dcfd6c50a27f differ diff --git a/Library/Artifacts/77/7730e40f312e025878c65055388330af b/Library/Artifacts/77/7730e40f312e025878c65055388330af new file mode 100644 index 00000000..7ebb9b16 Binary files /dev/null and b/Library/Artifacts/77/7730e40f312e025878c65055388330af differ diff --git a/Library/Artifacts/77/77421464921e5321041a8ca845969e43 b/Library/Artifacts/77/77421464921e5321041a8ca845969e43 new file mode 100644 index 00000000..b73e4b05 Binary files /dev/null and b/Library/Artifacts/77/77421464921e5321041a8ca845969e43 differ diff --git a/Library/Artifacts/77/7763db0057241e5973ca6c62b5f9843b b/Library/Artifacts/77/7763db0057241e5973ca6c62b5f9843b new file mode 100644 index 00000000..e4d25ef0 Binary files /dev/null and b/Library/Artifacts/77/7763db0057241e5973ca6c62b5f9843b differ diff --git a/Library/Artifacts/79/791597a4ab0a87a3d1816447a382dbdc b/Library/Artifacts/79/791597a4ab0a87a3d1816447a382dbdc new file mode 100644 index 00000000..d41d3725 Binary files /dev/null and b/Library/Artifacts/79/791597a4ab0a87a3d1816447a382dbdc differ diff --git a/Library/Artifacts/79/795e57af5419189e0bb54ed8e48ccc0f b/Library/Artifacts/79/795e57af5419189e0bb54ed8e48ccc0f new file mode 100644 index 00000000..b6a09310 Binary files /dev/null and b/Library/Artifacts/79/795e57af5419189e0bb54ed8e48ccc0f differ diff --git a/Library/Artifacts/79/79f23255d6bc737575c9e2b39f3d5778 b/Library/Artifacts/79/79f23255d6bc737575c9e2b39f3d5778 new file mode 100644 index 00000000..e5374807 Binary files /dev/null and b/Library/Artifacts/79/79f23255d6bc737575c9e2b39f3d5778 differ diff --git a/Library/Artifacts/7a/7ae7ae38dd3bf5e5c662a3666f38607d b/Library/Artifacts/7a/7ae7ae38dd3bf5e5c662a3666f38607d new file mode 100644 index 00000000..e6f54c9a Binary files /dev/null and b/Library/Artifacts/7a/7ae7ae38dd3bf5e5c662a3666f38607d differ diff --git a/Library/Artifacts/7c/7c6e72d7347d8786aefdc9c368ba7621 b/Library/Artifacts/7c/7c6e72d7347d8786aefdc9c368ba7621 new file mode 100644 index 00000000..f2992762 Binary files /dev/null and b/Library/Artifacts/7c/7c6e72d7347d8786aefdc9c368ba7621 differ diff --git a/Library/Artifacts/7c/7c953ca57e26d6f24101d746c85ee8be b/Library/Artifacts/7c/7c953ca57e26d6f24101d746c85ee8be new file mode 100644 index 00000000..311cd45d Binary files /dev/null and b/Library/Artifacts/7c/7c953ca57e26d6f24101d746c85ee8be differ diff --git a/Library/Artifacts/7d/7d3fb7fa7aace5545076cb78d23419ae b/Library/Artifacts/7d/7d3fb7fa7aace5545076cb78d23419ae new file mode 100644 index 00000000..1e35d1bb Binary files /dev/null and b/Library/Artifacts/7d/7d3fb7fa7aace5545076cb78d23419ae differ diff --git a/Library/Artifacts/7d/7d9ce3317d52a621690575c6dc805ac1 b/Library/Artifacts/7d/7d9ce3317d52a621690575c6dc805ac1 new file mode 100644 index 00000000..efd91151 Binary files /dev/null and b/Library/Artifacts/7d/7d9ce3317d52a621690575c6dc805ac1 differ diff --git a/Library/Artifacts/7f/7f2a83d8a47c7f95e7af4eed25a85b64 b/Library/Artifacts/7f/7f2a83d8a47c7f95e7af4eed25a85b64 new file mode 100644 index 00000000..0f7e003b Binary files /dev/null and b/Library/Artifacts/7f/7f2a83d8a47c7f95e7af4eed25a85b64 differ diff --git a/Library/Artifacts/7f/7f580219ae2620817e2342bf21aa0a4f b/Library/Artifacts/7f/7f580219ae2620817e2342bf21aa0a4f new file mode 100644 index 00000000..77436422 Binary files /dev/null and b/Library/Artifacts/7f/7f580219ae2620817e2342bf21aa0a4f differ diff --git a/Library/Artifacts/7f/7fed84bf36ce518cc3a7e6c84da16512 b/Library/Artifacts/7f/7fed84bf36ce518cc3a7e6c84da16512 new file mode 100644 index 00000000..d56724f0 Binary files /dev/null and b/Library/Artifacts/7f/7fed84bf36ce518cc3a7e6c84da16512 differ diff --git a/Library/Artifacts/82/8245b8fa0be6ceb3d205d726cc9d9dde b/Library/Artifacts/82/8245b8fa0be6ceb3d205d726cc9d9dde new file mode 100644 index 00000000..7730b863 Binary files /dev/null and b/Library/Artifacts/82/8245b8fa0be6ceb3d205d726cc9d9dde differ diff --git a/Library/Artifacts/82/829691f1d658a29ab544851f51914439 b/Library/Artifacts/82/829691f1d658a29ab544851f51914439 new file mode 100644 index 00000000..f10b8d70 Binary files /dev/null and b/Library/Artifacts/82/829691f1d658a29ab544851f51914439 differ diff --git a/Library/Artifacts/82/82ec7e22c34bc1d2723f60eed857852d b/Library/Artifacts/82/82ec7e22c34bc1d2723f60eed857852d new file mode 100644 index 00000000..9992f890 Binary files /dev/null and b/Library/Artifacts/82/82ec7e22c34bc1d2723f60eed857852d differ diff --git a/Library/Artifacts/83/832e24de61b4e85f1f5dc7dd361af2c7 b/Library/Artifacts/83/832e24de61b4e85f1f5dc7dd361af2c7 new file mode 100644 index 00000000..3a55fe6c Binary files /dev/null and b/Library/Artifacts/83/832e24de61b4e85f1f5dc7dd361af2c7 differ diff --git a/Library/Artifacts/84/84bf9a008bab6b0c7bd5b5b58a0935b3 b/Library/Artifacts/84/84bf9a008bab6b0c7bd5b5b58a0935b3 new file mode 100644 index 00000000..2878ade4 Binary files /dev/null and b/Library/Artifacts/84/84bf9a008bab6b0c7bd5b5b58a0935b3 differ diff --git a/Library/Artifacts/84/84ecd8956b31bf88db7cf16b65662776 b/Library/Artifacts/84/84ecd8956b31bf88db7cf16b65662776 new file mode 100644 index 00000000..3342b7ac Binary files /dev/null and b/Library/Artifacts/84/84ecd8956b31bf88db7cf16b65662776 differ diff --git a/Library/Artifacts/85/8500c4ea5fb8148f829bced786820819 b/Library/Artifacts/85/8500c4ea5fb8148f829bced786820819 new file mode 100644 index 00000000..d75d1acb Binary files /dev/null and b/Library/Artifacts/85/8500c4ea5fb8148f829bced786820819 differ diff --git a/Library/Artifacts/86/8640cd3a0a74de9beb6f984f37e67ee2 b/Library/Artifacts/86/8640cd3a0a74de9beb6f984f37e67ee2 new file mode 100644 index 00000000..4e568825 Binary files /dev/null and b/Library/Artifacts/86/8640cd3a0a74de9beb6f984f37e67ee2 differ diff --git a/Library/Artifacts/86/864300d0fc7108c233cbb53aa8a4ff54 b/Library/Artifacts/86/864300d0fc7108c233cbb53aa8a4ff54 new file mode 100644 index 00000000..7bc95325 Binary files /dev/null and b/Library/Artifacts/86/864300d0fc7108c233cbb53aa8a4ff54 differ diff --git a/Library/Artifacts/86/868b2fec188922bf71858caf666e59a0 b/Library/Artifacts/86/868b2fec188922bf71858caf666e59a0 new file mode 100644 index 00000000..64c28c76 Binary files /dev/null and b/Library/Artifacts/86/868b2fec188922bf71858caf666e59a0 differ diff --git a/Library/Artifacts/86/8699aa94a0390e28ba46cea2dd7ed320 b/Library/Artifacts/86/8699aa94a0390e28ba46cea2dd7ed320 new file mode 100644 index 00000000..bb16e133 Binary files /dev/null and b/Library/Artifacts/86/8699aa94a0390e28ba46cea2dd7ed320 differ diff --git a/Library/Artifacts/86/86fd02e2b638e200e20b6a15415c6bd2 b/Library/Artifacts/86/86fd02e2b638e200e20b6a15415c6bd2 new file mode 100644 index 00000000..f01eca3a Binary files /dev/null and b/Library/Artifacts/86/86fd02e2b638e200e20b6a15415c6bd2 differ diff --git a/Library/Artifacts/87/876b73ff201203a1160428d45cfc7b67 b/Library/Artifacts/87/876b73ff201203a1160428d45cfc7b67 new file mode 100644 index 00000000..0523cf2d Binary files /dev/null and b/Library/Artifacts/87/876b73ff201203a1160428d45cfc7b67 differ diff --git a/Library/Artifacts/87/877e39a02bb40f8a14f694b73ec9c9e0 b/Library/Artifacts/87/877e39a02bb40f8a14f694b73ec9c9e0 new file mode 100644 index 00000000..df8ed7b2 Binary files /dev/null and b/Library/Artifacts/87/877e39a02bb40f8a14f694b73ec9c9e0 differ diff --git a/Library/Artifacts/88/8844297634d89b981855d46e8e5f7b6a b/Library/Artifacts/88/8844297634d89b981855d46e8e5f7b6a new file mode 100644 index 00000000..b3f70a9c Binary files /dev/null and b/Library/Artifacts/88/8844297634d89b981855d46e8e5f7b6a differ diff --git a/Library/Artifacts/89/891f3f312958b8c7db19a2e4dcaaec64 b/Library/Artifacts/89/891f3f312958b8c7db19a2e4dcaaec64 new file mode 100644 index 00000000..d7fe53cc Binary files /dev/null and b/Library/Artifacts/89/891f3f312958b8c7db19a2e4dcaaec64 differ diff --git a/Library/Artifacts/89/895314592ecc78871810e4756634be58 b/Library/Artifacts/89/895314592ecc78871810e4756634be58 new file mode 100644 index 00000000..30c3e380 Binary files /dev/null and b/Library/Artifacts/89/895314592ecc78871810e4756634be58 differ diff --git a/Library/Artifacts/89/89fd0ac9b3476e8743afb1f872181baf b/Library/Artifacts/89/89fd0ac9b3476e8743afb1f872181baf new file mode 100644 index 00000000..4f124bc6 Binary files /dev/null and b/Library/Artifacts/89/89fd0ac9b3476e8743afb1f872181baf differ diff --git a/Library/Artifacts/8a/8aafe97eda77c767101c439a1f68a1af b/Library/Artifacts/8a/8aafe97eda77c767101c439a1f68a1af new file mode 100644 index 00000000..79c15491 Binary files /dev/null and b/Library/Artifacts/8a/8aafe97eda77c767101c439a1f68a1af differ diff --git a/Library/Artifacts/8b/8b8b78b2d33d6292242dd3aec1e30fbe b/Library/Artifacts/8b/8b8b78b2d33d6292242dd3aec1e30fbe new file mode 100644 index 00000000..b396d5b4 Binary files /dev/null and b/Library/Artifacts/8b/8b8b78b2d33d6292242dd3aec1e30fbe differ diff --git a/Library/Artifacts/8b/8bcad8b36423966a1ee080d46d66e31c b/Library/Artifacts/8b/8bcad8b36423966a1ee080d46d66e31c new file mode 100644 index 00000000..102bd484 Binary files /dev/null and b/Library/Artifacts/8b/8bcad8b36423966a1ee080d46d66e31c differ diff --git a/Library/Artifacts/8b/8bf501b0adaa3528873357b20d2dd4dd b/Library/Artifacts/8b/8bf501b0adaa3528873357b20d2dd4dd new file mode 100644 index 00000000..b47b2014 Binary files /dev/null and b/Library/Artifacts/8b/8bf501b0adaa3528873357b20d2dd4dd differ diff --git a/Library/Artifacts/8c/8c313fc1b464076901f04a82b3a49869 b/Library/Artifacts/8c/8c313fc1b464076901f04a82b3a49869 new file mode 100644 index 00000000..a662e361 Binary files /dev/null and b/Library/Artifacts/8c/8c313fc1b464076901f04a82b3a49869 differ diff --git a/Library/Artifacts/8c/8c63258101eb9bef240735ae2386f761 b/Library/Artifacts/8c/8c63258101eb9bef240735ae2386f761 new file mode 100644 index 00000000..a865b2ae Binary files /dev/null and b/Library/Artifacts/8c/8c63258101eb9bef240735ae2386f761 differ diff --git a/Library/Artifacts/8c/8c6cbd9e14cf4a915b08c6e4346c1a7e b/Library/Artifacts/8c/8c6cbd9e14cf4a915b08c6e4346c1a7e new file mode 100644 index 00000000..2e3e3489 Binary files /dev/null and b/Library/Artifacts/8c/8c6cbd9e14cf4a915b08c6e4346c1a7e differ diff --git a/Library/Artifacts/8c/8cab8ac701831f659d2d1c6f45105014 b/Library/Artifacts/8c/8cab8ac701831f659d2d1c6f45105014 new file mode 100644 index 00000000..03ece00b Binary files /dev/null and b/Library/Artifacts/8c/8cab8ac701831f659d2d1c6f45105014 differ diff --git a/Library/Artifacts/8d/8d34f9126778745ae03f0ff3fab4c1ef b/Library/Artifacts/8d/8d34f9126778745ae03f0ff3fab4c1ef new file mode 100644 index 00000000..7e187087 Binary files /dev/null and b/Library/Artifacts/8d/8d34f9126778745ae03f0ff3fab4c1ef differ diff --git a/Library/Artifacts/8d/8d493b69a3ccafc56b5e905b804a3e5c b/Library/Artifacts/8d/8d493b69a3ccafc56b5e905b804a3e5c new file mode 100644 index 00000000..2e5fdb59 Binary files /dev/null and b/Library/Artifacts/8d/8d493b69a3ccafc56b5e905b804a3e5c differ diff --git a/Library/Artifacts/8d/8d4d3419e56f4e25061eb17f738aadb6 b/Library/Artifacts/8d/8d4d3419e56f4e25061eb17f738aadb6 new file mode 100644 index 00000000..9a1d2b81 Binary files /dev/null and b/Library/Artifacts/8d/8d4d3419e56f4e25061eb17f738aadb6 differ diff --git a/Library/Artifacts/8e/8e0ba742967ca3b727b9f2d1bd74bbd5 b/Library/Artifacts/8e/8e0ba742967ca3b727b9f2d1bd74bbd5 new file mode 100644 index 00000000..232930ad Binary files /dev/null and b/Library/Artifacts/8e/8e0ba742967ca3b727b9f2d1bd74bbd5 differ diff --git a/Library/Artifacts/8e/8e79e033c94e618ea8f3fa79eb2b5994 b/Library/Artifacts/8e/8e79e033c94e618ea8f3fa79eb2b5994 new file mode 100644 index 00000000..49337ca1 Binary files /dev/null and b/Library/Artifacts/8e/8e79e033c94e618ea8f3fa79eb2b5994 differ diff --git a/Library/Artifacts/8f/8f06dc3f08add835cedb248a4d6130b4 b/Library/Artifacts/8f/8f06dc3f08add835cedb248a4d6130b4 new file mode 100644 index 00000000..e5f26c93 Binary files /dev/null and b/Library/Artifacts/8f/8f06dc3f08add835cedb248a4d6130b4 differ diff --git a/Library/Artifacts/8f/8f7e75f7eb5ba51fb923bc0fc4cc7842 b/Library/Artifacts/8f/8f7e75f7eb5ba51fb923bc0fc4cc7842 new file mode 100644 index 00000000..8787703e Binary files /dev/null and b/Library/Artifacts/8f/8f7e75f7eb5ba51fb923bc0fc4cc7842 differ diff --git a/Library/Artifacts/8f/8f87fcf1cb81e1f07e164dc70fe077e4 b/Library/Artifacts/8f/8f87fcf1cb81e1f07e164dc70fe077e4 new file mode 100644 index 00000000..8d2e9a44 Binary files /dev/null and b/Library/Artifacts/8f/8f87fcf1cb81e1f07e164dc70fe077e4 differ diff --git a/Library/Artifacts/91/91ed1f7406c68b2240c2e38f925096ea b/Library/Artifacts/91/91ed1f7406c68b2240c2e38f925096ea new file mode 100644 index 00000000..432ba1fd Binary files /dev/null and b/Library/Artifacts/91/91ed1f7406c68b2240c2e38f925096ea differ diff --git a/Library/Artifacts/92/92b078aa351457e9ca1daa6f636bb8d5 b/Library/Artifacts/92/92b078aa351457e9ca1daa6f636bb8d5 new file mode 100644 index 00000000..792467ab Binary files /dev/null and b/Library/Artifacts/92/92b078aa351457e9ca1daa6f636bb8d5 differ diff --git a/Library/Artifacts/93/93e91804692dac9e6179aebed3b328b3 b/Library/Artifacts/93/93e91804692dac9e6179aebed3b328b3 new file mode 100644 index 00000000..52670bec Binary files /dev/null and b/Library/Artifacts/93/93e91804692dac9e6179aebed3b328b3 differ diff --git a/Library/Artifacts/94/9475411c4d6773ebe0cd064441364a6d b/Library/Artifacts/94/9475411c4d6773ebe0cd064441364a6d new file mode 100644 index 00000000..054c63d0 Binary files /dev/null and b/Library/Artifacts/94/9475411c4d6773ebe0cd064441364a6d differ diff --git a/Library/Artifacts/94/947ce2831d1edc9528c651e19e130ccb b/Library/Artifacts/94/947ce2831d1edc9528c651e19e130ccb new file mode 100644 index 00000000..3bec7120 Binary files /dev/null and b/Library/Artifacts/94/947ce2831d1edc9528c651e19e130ccb differ diff --git a/Library/Artifacts/94/94bb5fb158ee362385d11652b283854a b/Library/Artifacts/94/94bb5fb158ee362385d11652b283854a new file mode 100644 index 00000000..d949b376 Binary files /dev/null and b/Library/Artifacts/94/94bb5fb158ee362385d11652b283854a differ diff --git a/Library/Artifacts/95/950e7471c56b06025124c4c83f15de81 b/Library/Artifacts/95/950e7471c56b06025124c4c83f15de81 new file mode 100644 index 00000000..95d7ce79 Binary files /dev/null and b/Library/Artifacts/95/950e7471c56b06025124c4c83f15de81 differ diff --git a/Library/Artifacts/97/9784f86376f7b78cdea55c5d454f3ce2 b/Library/Artifacts/97/9784f86376f7b78cdea55c5d454f3ce2 new file mode 100644 index 00000000..0f2c9950 Binary files /dev/null and b/Library/Artifacts/97/9784f86376f7b78cdea55c5d454f3ce2 differ diff --git a/Library/Artifacts/98/98e19a9cf34c320f1982320e02913393 b/Library/Artifacts/98/98e19a9cf34c320f1982320e02913393 new file mode 100644 index 00000000..a35a86d0 Binary files /dev/null and b/Library/Artifacts/98/98e19a9cf34c320f1982320e02913393 differ diff --git a/Library/Artifacts/99/99941cf4de4846b554f9c15f0c69a1d5 b/Library/Artifacts/99/99941cf4de4846b554f9c15f0c69a1d5 new file mode 100644 index 00000000..8eb135a2 Binary files /dev/null and b/Library/Artifacts/99/99941cf4de4846b554f9c15f0c69a1d5 differ diff --git a/Library/Artifacts/9a/9a124c6c66e96c4328051d24bd44b940 b/Library/Artifacts/9a/9a124c6c66e96c4328051d24bd44b940 new file mode 100644 index 00000000..8dc0a392 Binary files /dev/null and b/Library/Artifacts/9a/9a124c6c66e96c4328051d24bd44b940 differ diff --git a/Library/Artifacts/9a/9a1a6db0f843e7ca939ce1d8ea0effd8 b/Library/Artifacts/9a/9a1a6db0f843e7ca939ce1d8ea0effd8 new file mode 100644 index 00000000..c7443e18 Binary files /dev/null and b/Library/Artifacts/9a/9a1a6db0f843e7ca939ce1d8ea0effd8 differ diff --git a/Library/Artifacts/9b/9bc6b156a85885bf2825ffe87d8ab7ca b/Library/Artifacts/9b/9bc6b156a85885bf2825ffe87d8ab7ca new file mode 100644 index 00000000..8c46a86e Binary files /dev/null and b/Library/Artifacts/9b/9bc6b156a85885bf2825ffe87d8ab7ca differ diff --git a/Library/Artifacts/9c/9c0af0c1c272aee04823041ce54f7634 b/Library/Artifacts/9c/9c0af0c1c272aee04823041ce54f7634 new file mode 100644 index 00000000..f1b8d66b Binary files /dev/null and b/Library/Artifacts/9c/9c0af0c1c272aee04823041ce54f7634 differ diff --git a/Library/Artifacts/9d/9d0f97ee176335fb012c4d389e34772f b/Library/Artifacts/9d/9d0f97ee176335fb012c4d389e34772f new file mode 100644 index 00000000..96ed2bee Binary files /dev/null and b/Library/Artifacts/9d/9d0f97ee176335fb012c4d389e34772f differ diff --git a/Library/Artifacts/9f/9f8fbcba92dcbdedd531fa480b8fba8a b/Library/Artifacts/9f/9f8fbcba92dcbdedd531fa480b8fba8a new file mode 100644 index 00000000..1b7a7321 Binary files /dev/null and b/Library/Artifacts/9f/9f8fbcba92dcbdedd531fa480b8fba8a differ diff --git a/Library/Artifacts/9f/9f93bf121c09c72c7d37d2f3b06a0492 b/Library/Artifacts/9f/9f93bf121c09c72c7d37d2f3b06a0492 new file mode 100644 index 00000000..7d857ca8 Binary files /dev/null and b/Library/Artifacts/9f/9f93bf121c09c72c7d37d2f3b06a0492 differ diff --git a/Library/Artifacts/a0/a00673dabccc37aea81973823a6d4beb b/Library/Artifacts/a0/a00673dabccc37aea81973823a6d4beb new file mode 100644 index 00000000..f6fd4e91 Binary files /dev/null and b/Library/Artifacts/a0/a00673dabccc37aea81973823a6d4beb differ diff --git a/Library/Artifacts/a0/a0ab0da2120cfffe8d7a6a2352641819 b/Library/Artifacts/a0/a0ab0da2120cfffe8d7a6a2352641819 new file mode 100644 index 00000000..bb0a7bdc Binary files /dev/null and b/Library/Artifacts/a0/a0ab0da2120cfffe8d7a6a2352641819 differ diff --git a/Library/Artifacts/a1/a13e709d364b8a16d177676a73543990 b/Library/Artifacts/a1/a13e709d364b8a16d177676a73543990 new file mode 100644 index 00000000..6c561199 Binary files /dev/null and b/Library/Artifacts/a1/a13e709d364b8a16d177676a73543990 differ diff --git a/Library/Artifacts/a3/a39ac55c31dbe56f18fdc8e6f45047bc b/Library/Artifacts/a3/a39ac55c31dbe56f18fdc8e6f45047bc new file mode 100644 index 00000000..fed3308a Binary files /dev/null and b/Library/Artifacts/a3/a39ac55c31dbe56f18fdc8e6f45047bc differ diff --git a/Library/Artifacts/a3/a39f97b41150d1a27deb0c87cb40d4d9 b/Library/Artifacts/a3/a39f97b41150d1a27deb0c87cb40d4d9 new file mode 100644 index 00000000..1dcf24c2 Binary files /dev/null and b/Library/Artifacts/a3/a39f97b41150d1a27deb0c87cb40d4d9 differ diff --git a/Library/Artifacts/a4/a40b1f91dd8d7b675a6ee75d24266d71 b/Library/Artifacts/a4/a40b1f91dd8d7b675a6ee75d24266d71 new file mode 100644 index 00000000..1fca7ef0 Binary files /dev/null and b/Library/Artifacts/a4/a40b1f91dd8d7b675a6ee75d24266d71 differ diff --git a/Library/Artifacts/a4/a4b358324d88eef3fb5e819857a73ee1 b/Library/Artifacts/a4/a4b358324d88eef3fb5e819857a73ee1 new file mode 100644 index 00000000..76b548cf Binary files /dev/null and b/Library/Artifacts/a4/a4b358324d88eef3fb5e819857a73ee1 differ diff --git a/Library/Artifacts/a6/a686521d803512de55c55b43c7257c99 b/Library/Artifacts/a6/a686521d803512de55c55b43c7257c99 new file mode 100644 index 00000000..78b5268c Binary files /dev/null and b/Library/Artifacts/a6/a686521d803512de55c55b43c7257c99 differ diff --git a/Library/Artifacts/a8/a802d93a956c832f0d9869fd8ac5e1b2 b/Library/Artifacts/a8/a802d93a956c832f0d9869fd8ac5e1b2 new file mode 100644 index 00000000..80cdc881 Binary files /dev/null and b/Library/Artifacts/a8/a802d93a956c832f0d9869fd8ac5e1b2 differ diff --git a/Library/Artifacts/a8/a83a05fc1d758f2da6c3a11cbe3598d9 b/Library/Artifacts/a8/a83a05fc1d758f2da6c3a11cbe3598d9 new file mode 100644 index 00000000..eb7a43e0 Binary files /dev/null and b/Library/Artifacts/a8/a83a05fc1d758f2da6c3a11cbe3598d9 differ diff --git a/Library/Artifacts/a9/a9074548e04bfcb69dcba6a715b7250d b/Library/Artifacts/a9/a9074548e04bfcb69dcba6a715b7250d new file mode 100644 index 00000000..7caa7dbc Binary files /dev/null and b/Library/Artifacts/a9/a9074548e04bfcb69dcba6a715b7250d differ diff --git a/Library/Artifacts/a9/a9106fc22ac256fbc1bcf49831d52ebe b/Library/Artifacts/a9/a9106fc22ac256fbc1bcf49831d52ebe new file mode 100644 index 00000000..d372a74c Binary files /dev/null and b/Library/Artifacts/a9/a9106fc22ac256fbc1bcf49831d52ebe differ diff --git a/Library/Artifacts/aa/aa282dd2ccfc07edc915080853016c27 b/Library/Artifacts/aa/aa282dd2ccfc07edc915080853016c27 new file mode 100644 index 00000000..743280cf Binary files /dev/null and b/Library/Artifacts/aa/aa282dd2ccfc07edc915080853016c27 differ diff --git a/Library/Artifacts/ab/ab43aa5f3ebffaf2ed7c383234ab130d b/Library/Artifacts/ab/ab43aa5f3ebffaf2ed7c383234ab130d new file mode 100644 index 00000000..89d332f6 Binary files /dev/null and b/Library/Artifacts/ab/ab43aa5f3ebffaf2ed7c383234ab130d differ diff --git a/Library/Artifacts/ae/ae1ef527e4df060cca5ca88c3b2021d6 b/Library/Artifacts/ae/ae1ef527e4df060cca5ca88c3b2021d6 new file mode 100644 index 00000000..a9c01da6 Binary files /dev/null and b/Library/Artifacts/ae/ae1ef527e4df060cca5ca88c3b2021d6 differ diff --git a/Library/Artifacts/af/af02887aa55f6e6066c8e9668e37b62b b/Library/Artifacts/af/af02887aa55f6e6066c8e9668e37b62b new file mode 100644 index 00000000..cbdd15a4 Binary files /dev/null and b/Library/Artifacts/af/af02887aa55f6e6066c8e9668e37b62b differ diff --git a/Library/Artifacts/b0/b02fb0c95b8bcef6ed999fb35c18c9bd b/Library/Artifacts/b0/b02fb0c95b8bcef6ed999fb35c18c9bd new file mode 100644 index 00000000..cf788a01 Binary files /dev/null and b/Library/Artifacts/b0/b02fb0c95b8bcef6ed999fb35c18c9bd differ diff --git a/Library/Artifacts/b0/b070859f17b9e0774fb11ca5d2912781 b/Library/Artifacts/b0/b070859f17b9e0774fb11ca5d2912781 new file mode 100644 index 00000000..cb378817 Binary files /dev/null and b/Library/Artifacts/b0/b070859f17b9e0774fb11ca5d2912781 differ diff --git a/Library/Artifacts/b0/b08b13dfd055a75163ceb9d799d80503 b/Library/Artifacts/b0/b08b13dfd055a75163ceb9d799d80503 new file mode 100644 index 00000000..41754900 Binary files /dev/null and b/Library/Artifacts/b0/b08b13dfd055a75163ceb9d799d80503 differ diff --git a/Library/Artifacts/b0/b0e2f79f89ad0714b906cc8806bb593c b/Library/Artifacts/b0/b0e2f79f89ad0714b906cc8806bb593c new file mode 100644 index 00000000..47b0a5d8 Binary files /dev/null and b/Library/Artifacts/b0/b0e2f79f89ad0714b906cc8806bb593c differ diff --git a/Library/Artifacts/b1/b1152375cdacc90db920806f4ed39d24 b/Library/Artifacts/b1/b1152375cdacc90db920806f4ed39d24 new file mode 100644 index 00000000..3fd2a394 Binary files /dev/null and b/Library/Artifacts/b1/b1152375cdacc90db920806f4ed39d24 differ diff --git a/Library/Artifacts/b1/b121ed172309de754ccab5febf41e351 b/Library/Artifacts/b1/b121ed172309de754ccab5febf41e351 new file mode 100644 index 00000000..04445681 Binary files /dev/null and b/Library/Artifacts/b1/b121ed172309de754ccab5febf41e351 differ diff --git a/Library/Artifacts/b3/b3303afd6db875bdc41838fa90bc2f1d b/Library/Artifacts/b3/b3303afd6db875bdc41838fa90bc2f1d new file mode 100644 index 00000000..8c83975f Binary files /dev/null and b/Library/Artifacts/b3/b3303afd6db875bdc41838fa90bc2f1d differ diff --git a/Library/Artifacts/b3/b3b02779cb738f55b72cf8d82e91d9a0 b/Library/Artifacts/b3/b3b02779cb738f55b72cf8d82e91d9a0 new file mode 100644 index 00000000..4151ca64 Binary files /dev/null and b/Library/Artifacts/b3/b3b02779cb738f55b72cf8d82e91d9a0 differ diff --git a/Library/Artifacts/b4/b4521a7bb7c7d02279f64c6e8ca12295 b/Library/Artifacts/b4/b4521a7bb7c7d02279f64c6e8ca12295 new file mode 100644 index 00000000..0dc148ba Binary files /dev/null and b/Library/Artifacts/b4/b4521a7bb7c7d02279f64c6e8ca12295 differ diff --git a/Library/Artifacts/b4/b4d497b4df332d188357ca007a80f426 b/Library/Artifacts/b4/b4d497b4df332d188357ca007a80f426 new file mode 100644 index 00000000..884f8a40 Binary files /dev/null and b/Library/Artifacts/b4/b4d497b4df332d188357ca007a80f426 differ diff --git a/Library/Artifacts/b5/b59afd047afaffb66bdfa224fc653886 b/Library/Artifacts/b5/b59afd047afaffb66bdfa224fc653886 new file mode 100644 index 00000000..8b750a5d Binary files /dev/null and b/Library/Artifacts/b5/b59afd047afaffb66bdfa224fc653886 differ diff --git a/Library/Artifacts/b5/b5b8deb8ce31cdb8c09bf04e53af5749 b/Library/Artifacts/b5/b5b8deb8ce31cdb8c09bf04e53af5749 new file mode 100644 index 00000000..a108ca7a Binary files /dev/null and b/Library/Artifacts/b5/b5b8deb8ce31cdb8c09bf04e53af5749 differ diff --git a/Library/Artifacts/b5/b5ff872000b8243346bf550be81cc90f b/Library/Artifacts/b5/b5ff872000b8243346bf550be81cc90f new file mode 100644 index 00000000..0e94cbab Binary files /dev/null and b/Library/Artifacts/b5/b5ff872000b8243346bf550be81cc90f differ diff --git a/Library/Artifacts/b6/b680563f03d2cb85dc26a12bfd45f6aa b/Library/Artifacts/b6/b680563f03d2cb85dc26a12bfd45f6aa new file mode 100644 index 00000000..52f64b91 Binary files /dev/null and b/Library/Artifacts/b6/b680563f03d2cb85dc26a12bfd45f6aa differ diff --git a/Library/Artifacts/b8/b804c36535e4d448d0238c42a01f4b9a b/Library/Artifacts/b8/b804c36535e4d448d0238c42a01f4b9a new file mode 100644 index 00000000..cdbcf2e5 Binary files /dev/null and b/Library/Artifacts/b8/b804c36535e4d448d0238c42a01f4b9a differ diff --git a/Library/Artifacts/b8/b80f66a85347cca07b261c32af8ab94a b/Library/Artifacts/b8/b80f66a85347cca07b261c32af8ab94a new file mode 100644 index 00000000..546d78e7 Binary files /dev/null and b/Library/Artifacts/b8/b80f66a85347cca07b261c32af8ab94a differ diff --git a/Library/Artifacts/b8/b874713716580d52f3245935c092d238 b/Library/Artifacts/b8/b874713716580d52f3245935c092d238 new file mode 100644 index 00000000..9c42de4a Binary files /dev/null and b/Library/Artifacts/b8/b874713716580d52f3245935c092d238 differ diff --git a/Library/Artifacts/b8/b8aed71e2a745a10b78123b381d47bcb b/Library/Artifacts/b8/b8aed71e2a745a10b78123b381d47bcb new file mode 100644 index 00000000..5d2326ed Binary files /dev/null and b/Library/Artifacts/b8/b8aed71e2a745a10b78123b381d47bcb differ diff --git a/Library/Artifacts/b9/b96bb2c3690eb35cbd89413c3df073cd b/Library/Artifacts/b9/b96bb2c3690eb35cbd89413c3df073cd new file mode 100644 index 00000000..cbc5f387 Binary files /dev/null and b/Library/Artifacts/b9/b96bb2c3690eb35cbd89413c3df073cd differ diff --git a/Library/Artifacts/ba/ba3be77918dfdddaef51471962c73b95 b/Library/Artifacts/ba/ba3be77918dfdddaef51471962c73b95 new file mode 100644 index 00000000..e1b46db2 Binary files /dev/null and b/Library/Artifacts/ba/ba3be77918dfdddaef51471962c73b95 differ diff --git a/Library/Artifacts/ba/badff435652a698dd888a3b85ddc8c44 b/Library/Artifacts/ba/badff435652a698dd888a3b85ddc8c44 new file mode 100644 index 00000000..d8fd83d4 Binary files /dev/null and b/Library/Artifacts/ba/badff435652a698dd888a3b85ddc8c44 differ diff --git a/Library/Artifacts/bb/bb9092eac4ee5d660989e5916d23d000 b/Library/Artifacts/bb/bb9092eac4ee5d660989e5916d23d000 new file mode 100644 index 00000000..112231b3 Binary files /dev/null and b/Library/Artifacts/bb/bb9092eac4ee5d660989e5916d23d000 differ diff --git a/Library/Artifacts/bc/bc17fec3e1c9781537248d9116c82143 b/Library/Artifacts/bc/bc17fec3e1c9781537248d9116c82143 new file mode 100644 index 00000000..1cdb3ee9 Binary files /dev/null and b/Library/Artifacts/bc/bc17fec3e1c9781537248d9116c82143 differ diff --git a/Library/Artifacts/bc/bc340d52e69afdb53add921b7c6c972f b/Library/Artifacts/bc/bc340d52e69afdb53add921b7c6c972f new file mode 100644 index 00000000..34b306cc Binary files /dev/null and b/Library/Artifacts/bc/bc340d52e69afdb53add921b7c6c972f differ diff --git a/Library/Artifacts/bd/bd6fa0b9c59605d6ac08621ce9f4caac b/Library/Artifacts/bd/bd6fa0b9c59605d6ac08621ce9f4caac new file mode 100644 index 00000000..4d55c792 Binary files /dev/null and b/Library/Artifacts/bd/bd6fa0b9c59605d6ac08621ce9f4caac differ diff --git a/Library/Artifacts/bd/bdd798ee6d3f49d84aa073c37e3a598f b/Library/Artifacts/bd/bdd798ee6d3f49d84aa073c37e3a598f new file mode 100644 index 00000000..02956fca Binary files /dev/null and b/Library/Artifacts/bd/bdd798ee6d3f49d84aa073c37e3a598f differ diff --git a/Library/Artifacts/be/bed1afec2352f7ffe55ed24ccd04530b b/Library/Artifacts/be/bed1afec2352f7ffe55ed24ccd04530b new file mode 100644 index 00000000..8a64b4e3 Binary files /dev/null and b/Library/Artifacts/be/bed1afec2352f7ffe55ed24ccd04530b differ diff --git a/Library/Artifacts/be/bee418951f1361e1a5ed46ffe2c4c532 b/Library/Artifacts/be/bee418951f1361e1a5ed46ffe2c4c532 new file mode 100644 index 00000000..88e2497a Binary files /dev/null and b/Library/Artifacts/be/bee418951f1361e1a5ed46ffe2c4c532 differ diff --git a/Library/Artifacts/c0/c0dcd23f8d484ba09ded93e0b8270ce9 b/Library/Artifacts/c0/c0dcd23f8d484ba09ded93e0b8270ce9 new file mode 100644 index 00000000..074a04fa Binary files /dev/null and b/Library/Artifacts/c0/c0dcd23f8d484ba09ded93e0b8270ce9 differ diff --git a/Library/Artifacts/c1/c1446367bfc12f8ff6d058c0d0900223 b/Library/Artifacts/c1/c1446367bfc12f8ff6d058c0d0900223 new file mode 100644 index 00000000..9ba0bfc4 Binary files /dev/null and b/Library/Artifacts/c1/c1446367bfc12f8ff6d058c0d0900223 differ diff --git a/Library/Artifacts/c3/c3a9eb1ac83734c90e55eebdb47cff5a b/Library/Artifacts/c3/c3a9eb1ac83734c90e55eebdb47cff5a new file mode 100644 index 00000000..59ec2b8e Binary files /dev/null and b/Library/Artifacts/c3/c3a9eb1ac83734c90e55eebdb47cff5a differ diff --git a/Library/Artifacts/c5/c584ceefcf44c9543b4637dbbef3e9e1 b/Library/Artifacts/c5/c584ceefcf44c9543b4637dbbef3e9e1 new file mode 100644 index 00000000..342732a9 Binary files /dev/null and b/Library/Artifacts/c5/c584ceefcf44c9543b4637dbbef3e9e1 differ diff --git a/Library/Artifacts/c5/c5e9e90c9fb96b733b006eff64da0fe0 b/Library/Artifacts/c5/c5e9e90c9fb96b733b006eff64da0fe0 new file mode 100644 index 00000000..f280ed06 Binary files /dev/null and b/Library/Artifacts/c5/c5e9e90c9fb96b733b006eff64da0fe0 differ diff --git a/Library/Artifacts/c8/c80b49b40abefcc4ba491111e2a39158 b/Library/Artifacts/c8/c80b49b40abefcc4ba491111e2a39158 new file mode 100644 index 00000000..a435c7c7 Binary files /dev/null and b/Library/Artifacts/c8/c80b49b40abefcc4ba491111e2a39158 differ diff --git a/Library/Artifacts/c8/c85a2de30c28696d2b8e00c9ee9c0804 b/Library/Artifacts/c8/c85a2de30c28696d2b8e00c9ee9c0804 new file mode 100644 index 00000000..74aa1102 Binary files /dev/null and b/Library/Artifacts/c8/c85a2de30c28696d2b8e00c9ee9c0804 differ diff --git a/Library/Artifacts/c8/c8bcda2953ef6a133cda68fd7e61ac38 b/Library/Artifacts/c8/c8bcda2953ef6a133cda68fd7e61ac38 new file mode 100644 index 00000000..724a1a49 Binary files /dev/null and b/Library/Artifacts/c8/c8bcda2953ef6a133cda68fd7e61ac38 differ diff --git a/Library/Artifacts/c8/c8d7adf74b1bbe2c14e0b253aa48b51b b/Library/Artifacts/c8/c8d7adf74b1bbe2c14e0b253aa48b51b new file mode 100644 index 00000000..f2bd4fc9 Binary files /dev/null and b/Library/Artifacts/c8/c8d7adf74b1bbe2c14e0b253aa48b51b differ diff --git a/Library/Artifacts/c9/c9483c74d76be8693158fdf04302f4b0 b/Library/Artifacts/c9/c9483c74d76be8693158fdf04302f4b0 new file mode 100644 index 00000000..6464e167 Binary files /dev/null and b/Library/Artifacts/c9/c9483c74d76be8693158fdf04302f4b0 differ diff --git a/Library/Artifacts/c9/c9ae74aaf0f956d03dc45bfc365c66fa b/Library/Artifacts/c9/c9ae74aaf0f956d03dc45bfc365c66fa new file mode 100644 index 00000000..6d1bc9b0 Binary files /dev/null and b/Library/Artifacts/c9/c9ae74aaf0f956d03dc45bfc365c66fa differ diff --git a/Library/Artifacts/c9/c9bb953ac0be05357bad98fd3f056033 b/Library/Artifacts/c9/c9bb953ac0be05357bad98fd3f056033 new file mode 100644 index 00000000..ea9f63ef Binary files /dev/null and b/Library/Artifacts/c9/c9bb953ac0be05357bad98fd3f056033 differ diff --git a/Library/Artifacts/ca/caa3e53dc279c7b8ede2cbf8165bf3ee b/Library/Artifacts/ca/caa3e53dc279c7b8ede2cbf8165bf3ee new file mode 100644 index 00000000..cebaa4a1 Binary files /dev/null and b/Library/Artifacts/ca/caa3e53dc279c7b8ede2cbf8165bf3ee differ diff --git a/Library/Artifacts/cb/cb0a66a3aec67027f73b244dfaf247f4 b/Library/Artifacts/cb/cb0a66a3aec67027f73b244dfaf247f4 new file mode 100644 index 00000000..da49cb71 Binary files /dev/null and b/Library/Artifacts/cb/cb0a66a3aec67027f73b244dfaf247f4 differ diff --git a/Library/Artifacts/cb/cb3ecfd9b6aecf39c6e1cf78dcf19933 b/Library/Artifacts/cb/cb3ecfd9b6aecf39c6e1cf78dcf19933 new file mode 100644 index 00000000..a8a8b36e Binary files /dev/null and b/Library/Artifacts/cb/cb3ecfd9b6aecf39c6e1cf78dcf19933 differ diff --git a/Library/Artifacts/cb/cb53b6c70a1106a0f0e91e91bc167f56 b/Library/Artifacts/cb/cb53b6c70a1106a0f0e91e91bc167f56 new file mode 100644 index 00000000..2fe4fd48 Binary files /dev/null and b/Library/Artifacts/cb/cb53b6c70a1106a0f0e91e91bc167f56 differ diff --git a/Library/Artifacts/cb/cb94b31b81b621894b749ad183612c9a b/Library/Artifacts/cb/cb94b31b81b621894b749ad183612c9a new file mode 100644 index 00000000..41e256cc Binary files /dev/null and b/Library/Artifacts/cb/cb94b31b81b621894b749ad183612c9a differ diff --git a/Library/Artifacts/cb/cbf1eac94220a944c87e004d3aa5a144 b/Library/Artifacts/cb/cbf1eac94220a944c87e004d3aa5a144 new file mode 100644 index 00000000..d2dfd65d Binary files /dev/null and b/Library/Artifacts/cb/cbf1eac94220a944c87e004d3aa5a144 differ diff --git a/Library/Artifacts/cc/cc99967f6bf7de4e663a983e7dbc127d b/Library/Artifacts/cc/cc99967f6bf7de4e663a983e7dbc127d new file mode 100644 index 00000000..445ccea0 Binary files /dev/null and b/Library/Artifacts/cc/cc99967f6bf7de4e663a983e7dbc127d differ diff --git a/Library/Artifacts/cd/cda73b72691a996230031964ec798d61 b/Library/Artifacts/cd/cda73b72691a996230031964ec798d61 new file mode 100644 index 00000000..8474a46a Binary files /dev/null and b/Library/Artifacts/cd/cda73b72691a996230031964ec798d61 differ diff --git a/Library/Artifacts/ce/ce1686a328c989e0b6aa8e7a00903c07 b/Library/Artifacts/ce/ce1686a328c989e0b6aa8e7a00903c07 new file mode 100644 index 00000000..fa7dfe94 Binary files /dev/null and b/Library/Artifacts/ce/ce1686a328c989e0b6aa8e7a00903c07 differ diff --git a/Library/Artifacts/ce/ce88e41491a3740ba22340ce9852d01a b/Library/Artifacts/ce/ce88e41491a3740ba22340ce9852d01a new file mode 100644 index 00000000..9f26460b Binary files /dev/null and b/Library/Artifacts/ce/ce88e41491a3740ba22340ce9852d01a differ diff --git a/Library/Artifacts/ce/cecbe8dd7f013c1022b7c597c2611481 b/Library/Artifacts/ce/cecbe8dd7f013c1022b7c597c2611481 new file mode 100644 index 00000000..d4234eff Binary files /dev/null and b/Library/Artifacts/ce/cecbe8dd7f013c1022b7c597c2611481 differ diff --git a/Library/Artifacts/ce/ceede607a901bbf83aae57f5a755d0e5 b/Library/Artifacts/ce/ceede607a901bbf83aae57f5a755d0e5 new file mode 100644 index 00000000..88a3c72b Binary files /dev/null and b/Library/Artifacts/ce/ceede607a901bbf83aae57f5a755d0e5 differ diff --git a/Library/Artifacts/cf/cf79ec8703bfce3099395427972e048b b/Library/Artifacts/cf/cf79ec8703bfce3099395427972e048b new file mode 100644 index 00000000..d5993eb5 Binary files /dev/null and b/Library/Artifacts/cf/cf79ec8703bfce3099395427972e048b differ diff --git a/Library/Artifacts/d1/d131e970016a8bc5d6ff6790285bf045 b/Library/Artifacts/d1/d131e970016a8bc5d6ff6790285bf045 new file mode 100644 index 00000000..a9256ab7 Binary files /dev/null and b/Library/Artifacts/d1/d131e970016a8bc5d6ff6790285bf045 differ diff --git a/Library/Artifacts/d1/d146f4f6a7132ad29db8b1818c676d74 b/Library/Artifacts/d1/d146f4f6a7132ad29db8b1818c676d74 new file mode 100644 index 00000000..8170afa9 Binary files /dev/null and b/Library/Artifacts/d1/d146f4f6a7132ad29db8b1818c676d74 differ diff --git a/Library/Artifacts/d1/d1de53cb0d42999ea4b89db4ffd0b38c b/Library/Artifacts/d1/d1de53cb0d42999ea4b89db4ffd0b38c new file mode 100644 index 00000000..e0c27b90 Binary files /dev/null and b/Library/Artifacts/d1/d1de53cb0d42999ea4b89db4ffd0b38c differ diff --git a/Library/Artifacts/d2/d2299030eee74e2e51093d3d1147afdd b/Library/Artifacts/d2/d2299030eee74e2e51093d3d1147afdd new file mode 100644 index 00000000..8acb04bb Binary files /dev/null and b/Library/Artifacts/d2/d2299030eee74e2e51093d3d1147afdd differ diff --git a/Library/Artifacts/d2/d2fa02dcba0798f9bf4cd8822ecb437c b/Library/Artifacts/d2/d2fa02dcba0798f9bf4cd8822ecb437c new file mode 100644 index 00000000..a57589ea Binary files /dev/null and b/Library/Artifacts/d2/d2fa02dcba0798f9bf4cd8822ecb437c differ diff --git a/Library/Artifacts/d3/d352c79fa58b168e5a51dc934db43099 b/Library/Artifacts/d3/d352c79fa58b168e5a51dc934db43099 new file mode 100644 index 00000000..bc0a0e28 Binary files /dev/null and b/Library/Artifacts/d3/d352c79fa58b168e5a51dc934db43099 differ diff --git a/Library/Artifacts/d3/d369768522e1f4528f54a20fa4b5dc5f b/Library/Artifacts/d3/d369768522e1f4528f54a20fa4b5dc5f new file mode 100644 index 00000000..ba723e5e Binary files /dev/null and b/Library/Artifacts/d3/d369768522e1f4528f54a20fa4b5dc5f differ diff --git a/Library/Artifacts/d4/d421015c530e6ad4f154adbfeb84dad8 b/Library/Artifacts/d4/d421015c530e6ad4f154adbfeb84dad8 new file mode 100644 index 00000000..fdcb3b73 Binary files /dev/null and b/Library/Artifacts/d4/d421015c530e6ad4f154adbfeb84dad8 differ diff --git a/Library/Artifacts/d4/d4c1ab42710108d340bf2d6cc42bd1bc b/Library/Artifacts/d4/d4c1ab42710108d340bf2d6cc42bd1bc new file mode 100644 index 00000000..4c4a6a6c Binary files /dev/null and b/Library/Artifacts/d4/d4c1ab42710108d340bf2d6cc42bd1bc differ diff --git a/Library/Artifacts/d5/d501ce8de4e5dd84bd6a529447561a0d b/Library/Artifacts/d5/d501ce8de4e5dd84bd6a529447561a0d new file mode 100644 index 00000000..f22eda8a Binary files /dev/null and b/Library/Artifacts/d5/d501ce8de4e5dd84bd6a529447561a0d differ diff --git a/Library/Artifacts/d5/d5b23d4e0d04bfbfd94c0d979079d17d b/Library/Artifacts/d5/d5b23d4e0d04bfbfd94c0d979079d17d new file mode 100644 index 00000000..f0f6387a Binary files /dev/null and b/Library/Artifacts/d5/d5b23d4e0d04bfbfd94c0d979079d17d differ diff --git a/Library/Artifacts/d6/d69be43fcbf09cd955c78da2bc699580 b/Library/Artifacts/d6/d69be43fcbf09cd955c78da2bc699580 new file mode 100644 index 00000000..7610ee55 Binary files /dev/null and b/Library/Artifacts/d6/d69be43fcbf09cd955c78da2bc699580 differ diff --git a/Library/Artifacts/d6/d6d360ab46855b89d690ea08513111e7 b/Library/Artifacts/d6/d6d360ab46855b89d690ea08513111e7 new file mode 100644 index 00000000..0e267989 Binary files /dev/null and b/Library/Artifacts/d6/d6d360ab46855b89d690ea08513111e7 differ diff --git a/Library/Artifacts/d6/d6d66b3320e09c13d1e4caa9f00fa1f3 b/Library/Artifacts/d6/d6d66b3320e09c13d1e4caa9f00fa1f3 new file mode 100644 index 00000000..479e5983 Binary files /dev/null and b/Library/Artifacts/d6/d6d66b3320e09c13d1e4caa9f00fa1f3 differ diff --git a/Library/Artifacts/d6/d6f62c07ffa9460b932cbd0bb676ad5e b/Library/Artifacts/d6/d6f62c07ffa9460b932cbd0bb676ad5e new file mode 100644 index 00000000..c041d06a Binary files /dev/null and b/Library/Artifacts/d6/d6f62c07ffa9460b932cbd0bb676ad5e differ diff --git a/Library/Artifacts/d8/d83d3bb0ba702f09db686cb0044e6254 b/Library/Artifacts/d8/d83d3bb0ba702f09db686cb0044e6254 new file mode 100644 index 00000000..d58f998f Binary files /dev/null and b/Library/Artifacts/d8/d83d3bb0ba702f09db686cb0044e6254 differ diff --git a/Library/Artifacts/d8/d849d391c620a880ec9ef72fcbd91578 b/Library/Artifacts/d8/d849d391c620a880ec9ef72fcbd91578 new file mode 100644 index 00000000..12f5be5b Binary files /dev/null and b/Library/Artifacts/d8/d849d391c620a880ec9ef72fcbd91578 differ diff --git a/Library/Artifacts/d8/d88b94e14b545f134deda555cfdb8029 b/Library/Artifacts/d8/d88b94e14b545f134deda555cfdb8029 new file mode 100644 index 00000000..7d331816 Binary files /dev/null and b/Library/Artifacts/d8/d88b94e14b545f134deda555cfdb8029 differ diff --git a/Library/Artifacts/d9/d9a1b7fadfd80219b047c70a1344cb20 b/Library/Artifacts/d9/d9a1b7fadfd80219b047c70a1344cb20 new file mode 100644 index 00000000..a02aaf40 Binary files /dev/null and b/Library/Artifacts/d9/d9a1b7fadfd80219b047c70a1344cb20 differ diff --git a/Library/Artifacts/db/db8565082c3b2402b86778816ad68fb5 b/Library/Artifacts/db/db8565082c3b2402b86778816ad68fb5 new file mode 100644 index 00000000..f2ac429f Binary files /dev/null and b/Library/Artifacts/db/db8565082c3b2402b86778816ad68fb5 differ diff --git a/Library/Artifacts/db/dbce4734d00f6e9710c758c56d14bb0f b/Library/Artifacts/db/dbce4734d00f6e9710c758c56d14bb0f new file mode 100644 index 00000000..8390feb4 Binary files /dev/null and b/Library/Artifacts/db/dbce4734d00f6e9710c758c56d14bb0f differ diff --git a/Library/Artifacts/dc/dc3f2ef5513a1285d12efdbe4a6a7659 b/Library/Artifacts/dc/dc3f2ef5513a1285d12efdbe4a6a7659 new file mode 100644 index 00000000..e74b88b2 Binary files /dev/null and b/Library/Artifacts/dc/dc3f2ef5513a1285d12efdbe4a6a7659 differ diff --git a/Library/Artifacts/dc/dc4c56ca652fc59b96e1dfaf699b8b2c b/Library/Artifacts/dc/dc4c56ca652fc59b96e1dfaf699b8b2c new file mode 100644 index 00000000..3bcf2df9 Binary files /dev/null and b/Library/Artifacts/dc/dc4c56ca652fc59b96e1dfaf699b8b2c differ diff --git a/Library/Artifacts/dc/dc95be37595275ed0add1e71fc6d7f4c b/Library/Artifacts/dc/dc95be37595275ed0add1e71fc6d7f4c new file mode 100644 index 00000000..68bc8fd6 Binary files /dev/null and b/Library/Artifacts/dc/dc95be37595275ed0add1e71fc6d7f4c differ diff --git a/Library/Artifacts/dd/dd06731b3904fce3696ab9778a851429 b/Library/Artifacts/dd/dd06731b3904fce3696ab9778a851429 new file mode 100644 index 00000000..44734598 Binary files /dev/null and b/Library/Artifacts/dd/dd06731b3904fce3696ab9778a851429 differ diff --git a/Library/Artifacts/de/de3b3842ff8c7e085c65a1b60a890259 b/Library/Artifacts/de/de3b3842ff8c7e085c65a1b60a890259 new file mode 100644 index 00000000..55d5011e Binary files /dev/null and b/Library/Artifacts/de/de3b3842ff8c7e085c65a1b60a890259 differ diff --git a/Library/Artifacts/de/de78c36ede8206cc18b3a7602981eac8 b/Library/Artifacts/de/de78c36ede8206cc18b3a7602981eac8 new file mode 100644 index 00000000..571e3708 Binary files /dev/null and b/Library/Artifacts/de/de78c36ede8206cc18b3a7602981eac8 differ diff --git a/Library/Artifacts/de/dec9f6b32deb79ccc37236fb4eeeb165 b/Library/Artifacts/de/dec9f6b32deb79ccc37236fb4eeeb165 new file mode 100644 index 00000000..72116c14 Binary files /dev/null and b/Library/Artifacts/de/dec9f6b32deb79ccc37236fb4eeeb165 differ diff --git a/Library/Artifacts/e0/e003b6c481809c6347e51a31bf885b11 b/Library/Artifacts/e0/e003b6c481809c6347e51a31bf885b11 new file mode 100644 index 00000000..3c2a7a86 Binary files /dev/null and b/Library/Artifacts/e0/e003b6c481809c6347e51a31bf885b11 differ diff --git a/Library/Artifacts/e1/e10ef0873afca209e9913cdc5db76f10 b/Library/Artifacts/e1/e10ef0873afca209e9913cdc5db76f10 new file mode 100644 index 00000000..f73fb11a Binary files /dev/null and b/Library/Artifacts/e1/e10ef0873afca209e9913cdc5db76f10 differ diff --git a/Library/Artifacts/e2/e232c6021335e0493616b1e21ad8330f b/Library/Artifacts/e2/e232c6021335e0493616b1e21ad8330f new file mode 100644 index 00000000..c905d470 Binary files /dev/null and b/Library/Artifacts/e2/e232c6021335e0493616b1e21ad8330f differ diff --git a/Library/Artifacts/e2/e2a4d3acb43aaafc697da7b01c22ff36 b/Library/Artifacts/e2/e2a4d3acb43aaafc697da7b01c22ff36 new file mode 100644 index 00000000..b5a0b079 Binary files /dev/null and b/Library/Artifacts/e2/e2a4d3acb43aaafc697da7b01c22ff36 differ diff --git a/Library/Artifacts/e4/e415521198e2d59d14f4234aa9b50de4 b/Library/Artifacts/e4/e415521198e2d59d14f4234aa9b50de4 new file mode 100644 index 00000000..ba3a03de Binary files /dev/null and b/Library/Artifacts/e4/e415521198e2d59d14f4234aa9b50de4 differ diff --git a/Library/Artifacts/e6/e6076146e69d0c03995439f048af4a65 b/Library/Artifacts/e6/e6076146e69d0c03995439f048af4a65 new file mode 100644 index 00000000..edab45da Binary files /dev/null and b/Library/Artifacts/e6/e6076146e69d0c03995439f048af4a65 differ diff --git a/Library/Artifacts/e7/e775b6271334233d69b66aecdc387e81 b/Library/Artifacts/e7/e775b6271334233d69b66aecdc387e81 new file mode 100644 index 00000000..390c5bbe Binary files /dev/null and b/Library/Artifacts/e7/e775b6271334233d69b66aecdc387e81 differ diff --git a/Library/Artifacts/e8/e80a81d79ecb592315f3a5da6c06a8b8 b/Library/Artifacts/e8/e80a81d79ecb592315f3a5da6c06a8b8 new file mode 100644 index 00000000..9c1e7f8b Binary files /dev/null and b/Library/Artifacts/e8/e80a81d79ecb592315f3a5da6c06a8b8 differ diff --git a/Library/Artifacts/e8/e863aa0356bde1969a227c9db0455690 b/Library/Artifacts/e8/e863aa0356bde1969a227c9db0455690 new file mode 100644 index 00000000..d2da4388 Binary files /dev/null and b/Library/Artifacts/e8/e863aa0356bde1969a227c9db0455690 differ diff --git a/Library/Artifacts/e8/e8986757545075f8a7fa63a8618d708b b/Library/Artifacts/e8/e8986757545075f8a7fa63a8618d708b new file mode 100644 index 00000000..e5a7b5cb Binary files /dev/null and b/Library/Artifacts/e8/e8986757545075f8a7fa63a8618d708b differ diff --git a/Library/Artifacts/e8/e8b339bf7334f183fa90ed707b8d0111 b/Library/Artifacts/e8/e8b339bf7334f183fa90ed707b8d0111 new file mode 100644 index 00000000..2b2a3aa5 Binary files /dev/null and b/Library/Artifacts/e8/e8b339bf7334f183fa90ed707b8d0111 differ diff --git a/Library/Artifacts/ec/ec9c56978a26ff9bc731d108f73ff7e4 b/Library/Artifacts/ec/ec9c56978a26ff9bc731d108f73ff7e4 new file mode 100644 index 00000000..4dec456e Binary files /dev/null and b/Library/Artifacts/ec/ec9c56978a26ff9bc731d108f73ff7e4 differ diff --git a/Library/Artifacts/ef/efbd24915425674aa44822eed203d102 b/Library/Artifacts/ef/efbd24915425674aa44822eed203d102 new file mode 100644 index 00000000..b4db7dfb Binary files /dev/null and b/Library/Artifacts/ef/efbd24915425674aa44822eed203d102 differ diff --git a/Library/Artifacts/ef/eff34bd7695344aacd8a530849673b6e b/Library/Artifacts/ef/eff34bd7695344aacd8a530849673b6e new file mode 100644 index 00000000..ef88c46e Binary files /dev/null and b/Library/Artifacts/ef/eff34bd7695344aacd8a530849673b6e differ diff --git a/Library/Artifacts/ef/eff87ecac76ede0a6d0414693e51fb75 b/Library/Artifacts/ef/eff87ecac76ede0a6d0414693e51fb75 new file mode 100644 index 00000000..b575804f Binary files /dev/null and b/Library/Artifacts/ef/eff87ecac76ede0a6d0414693e51fb75 differ diff --git a/Library/Artifacts/f0/f06e564fdd30c8a74c9911d01b5ba8d0 b/Library/Artifacts/f0/f06e564fdd30c8a74c9911d01b5ba8d0 new file mode 100644 index 00000000..aaedd397 Binary files /dev/null and b/Library/Artifacts/f0/f06e564fdd30c8a74c9911d01b5ba8d0 differ diff --git a/Library/Artifacts/f1/f1783a158fe01115ce7d91a4c6122648 b/Library/Artifacts/f1/f1783a158fe01115ce7d91a4c6122648 new file mode 100644 index 00000000..843eea9c Binary files /dev/null and b/Library/Artifacts/f1/f1783a158fe01115ce7d91a4c6122648 differ diff --git a/Library/Artifacts/f2/f20bab22d66695eed9dd102f60a76085 b/Library/Artifacts/f2/f20bab22d66695eed9dd102f60a76085 new file mode 100644 index 00000000..607c96e0 Binary files /dev/null and b/Library/Artifacts/f2/f20bab22d66695eed9dd102f60a76085 differ diff --git a/Library/Artifacts/f7/f71595f677e22f8287eff029f8d30879 b/Library/Artifacts/f7/f71595f677e22f8287eff029f8d30879 new file mode 100644 index 00000000..6810b7d7 Binary files /dev/null and b/Library/Artifacts/f7/f71595f677e22f8287eff029f8d30879 differ diff --git a/Library/Artifacts/f7/f737ca1bc3a9f9feb40641cdc8bfcd0d b/Library/Artifacts/f7/f737ca1bc3a9f9feb40641cdc8bfcd0d new file mode 100644 index 00000000..69ebf4ad Binary files /dev/null and b/Library/Artifacts/f7/f737ca1bc3a9f9feb40641cdc8bfcd0d differ diff --git a/Library/Artifacts/f7/f7463f73153c3e497db2432a796cd1e8 b/Library/Artifacts/f7/f7463f73153c3e497db2432a796cd1e8 new file mode 100644 index 00000000..11f75c0b Binary files /dev/null and b/Library/Artifacts/f7/f7463f73153c3e497db2432a796cd1e8 differ diff --git a/Library/Artifacts/f8/f8084f0ce920f953f00a17db75e4ca8f b/Library/Artifacts/f8/f8084f0ce920f953f00a17db75e4ca8f new file mode 100644 index 00000000..f6ccdfbf Binary files /dev/null and b/Library/Artifacts/f8/f8084f0ce920f953f00a17db75e4ca8f differ diff --git a/Library/Artifacts/f8/f8d366e6d73f39a253ec9de965e22899 b/Library/Artifacts/f8/f8d366e6d73f39a253ec9de965e22899 new file mode 100644 index 00000000..4f83222e Binary files /dev/null and b/Library/Artifacts/f8/f8d366e6d73f39a253ec9de965e22899 differ diff --git a/Library/Artifacts/fa/fa0e10fb93626a94cc90e4b6ce659a95 b/Library/Artifacts/fa/fa0e10fb93626a94cc90e4b6ce659a95 new file mode 100644 index 00000000..2873528f Binary files /dev/null and b/Library/Artifacts/fa/fa0e10fb93626a94cc90e4b6ce659a95 differ diff --git a/Library/Artifacts/fa/faa07ce2d0ca4b519e46ccff36b549db b/Library/Artifacts/fa/faa07ce2d0ca4b519e46ccff36b549db new file mode 100644 index 00000000..c1c7cffc Binary files /dev/null and b/Library/Artifacts/fa/faa07ce2d0ca4b519e46ccff36b549db differ diff --git a/Library/Artifacts/fb/fba3fa67c416c61bcbb8a58f0193a78d b/Library/Artifacts/fb/fba3fa67c416c61bcbb8a58f0193a78d new file mode 100644 index 00000000..208107f7 Binary files /dev/null and b/Library/Artifacts/fb/fba3fa67c416c61bcbb8a58f0193a78d differ diff --git a/Library/Artifacts/fb/fbd06276b9c051ce2c0ba56f872f5340 b/Library/Artifacts/fb/fbd06276b9c051ce2c0ba56f872f5340 new file mode 100644 index 00000000..9382ee23 Binary files /dev/null and b/Library/Artifacts/fb/fbd06276b9c051ce2c0ba56f872f5340 differ diff --git a/Library/Artifacts/fc/fc9063d7ae9379ab031391e1fcb6a49c b/Library/Artifacts/fc/fc9063d7ae9379ab031391e1fcb6a49c new file mode 100644 index 00000000..e16574f2 Binary files /dev/null and b/Library/Artifacts/fc/fc9063d7ae9379ab031391e1fcb6a49c differ diff --git a/Library/Artifacts/fe/fe945148f45a37bc2803a0450418445e b/Library/Artifacts/fe/fe945148f45a37bc2803a0450418445e new file mode 100644 index 00000000..d52346a9 Binary files /dev/null and b/Library/Artifacts/fe/fe945148f45a37bc2803a0450418445e differ diff --git a/Library/Artifacts/ff/ff6542a233ff57d1889aee2603f505ba b/Library/Artifacts/ff/ff6542a233ff57d1889aee2603f505ba new file mode 100644 index 00000000..f1f5bd2c Binary files /dev/null and b/Library/Artifacts/ff/ff6542a233ff57d1889aee2603f505ba differ diff --git a/Library/Artifacts/ff/ff7b2758e7d0cf198d4be3fb3847117e b/Library/Artifacts/ff/ff7b2758e7d0cf198d4be3fb3847117e new file mode 100644 index 00000000..f7544aa8 Binary files /dev/null and b/Library/Artifacts/ff/ff7b2758e7d0cf198d4be3fb3847117e differ diff --git a/Library/Bee/CachedNodeOutput/658a09052c145150db87d71bb4095fda_out b/Library/Bee/CachedNodeOutput/658a09052c145150db87d71bb4095fda_out new file mode 100644 index 00000000..e69de29b diff --git a/Library/Bee/CachedNodeOutput/d6095ff2bb83b3a809f8d66cd680b92c_out b/Library/Bee/CachedNodeOutput/d6095ff2bb83b3a809f8d66cd680b92c_out new file mode 100644 index 00000000..e69de29b diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.UnityAdditionalFile.txt b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.UnityAdditionalFile.txt new file mode 100644 index 00000000..e1a51109 --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.UnityAdditionalFile.txt @@ -0,0 +1 @@ +/home/sascha/current_coding/TurnBasedStrategyCourse \ No newline at end of file diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll new file mode 100644 index 00000000..04fa2c33 Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll differ diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll.mvfrm b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll.mvfrm new file mode 100644 index 00000000..fc99e599 --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll.mvfrm @@ -0,0 +1,205 @@ +MaterialQuality +Utilities +MaterialQualityUtilities +PixelPerfectCamera +UnityEngine +Experimental +Rendering +Universal +CinemachineUniversalPixelPerfect +Light2D +Light2DBlendStyle +Renderer2DData +AssetModificationProcessor + +Sysroot +UnityEditor +LinuxStandalone +ChannelClient +Unity +MPE +ChannelClientScope +ChannelService +ChannelScope +EventDataSerialization +EventService +RoleProviderAttribute +ProcessEvent +ProcessLevel +ProcessState +RoleCapability +ChannelInfo +ChannelClientInfo +ProcessService +NavMeshBuilder +NavMeshVisualizationSettings +PrefabStage +Experimental +SceneManagement +PrefabStageUtility +AssetImportContext +AssetImporters +SpriteImportData +TextureGenerationOutput +SourceTextureInformation +TextureGenerationSettings +TextureGenerator +CollectImportedDependenciesAttribute +FBXMaterialDescriptionPreprocessor +SketchupMaterialDescriptionPreprocessor +ThreeDSMaterialDescriptionPreprocessor +AssetImporterEditor +AssetImporterEditorPostProcessAsset +ScriptedImporterEditor +ScriptedImporter +ScriptedImporterAttribute +EditorToolbarDropdownToggle +UnityEditor +Overlays +BrushGUIEditFlags +UnityEditor +Experimental +TerrainAPI +RepaintFlags +IOnPaint +IOnSceneGUI +IOnInspectorGUI +TerrainPaintTool<> +TerrainToolShortcutContext +TerrainInspectorUtility +TerrainPaintUtilityEditor +ObstacleAvoidanceType +UnityEngine +NavMeshAgent +NavMeshObstacleShape +NavMeshObstacle +OffMeshLinkType +OffMeshLinkData +OffMeshLink +NavMeshHit +NavMeshTriangulation +NavMesh +NavMeshPathStatus +NavMeshPath +AvatarMaskBodyPart +UnityEditor +Animations +AvatarMask +IAnimationJob +UnityEngine +Experimental +IAnimationJobPlayable +IAnimationWindowPreview +AnimationHumanStream +AnimationScriptPlayable +AnimationStream +TransformStreamHandle +PropertyStreamHandle +TransformSceneHandle +PropertySceneHandle +AnimationSceneHandleUtility +AnimationStreamHandleUtility +CustomStreamPropertyType +AnimatorJobExtensions +MuscleHandle +ExpressionEvaluator +UnityEditor +NumericFieldDraggerUtility +PixelPerfectRendering +UnityEngine +Experimental +U2D +SpriteBone +Profiler +PhotoCaptureFileOutputFormat +XR +WSA +WebCam +PhotoCapture +PhotoCaptureFrame +VideoCapture +CapturePixelFormat +WebCamMode +CameraParameters +PlayerLoopSystemInternal +LowLevel +PlayerLoopSystem +PlayerLoop +Initialization +EarlyUpdate +FixedUpdate +PreUpdate +Update +PreLateUpdate +PostLateUpdate +ConnectionTarget +Networking +PlayerConnection +IConnectionState +VertexAttribute +Rendering +RenderingThreadingMode +RayTracingSubMeshFlags +RayTracingInstanceCullingFlags +RayTracingInstanceCullingTest +RayTracingInstanceCullingShaderTagConfig +RayTracingInstanceMaterialConfig +RayTracingInstanceCullingMaterialTest +RayTracingInstanceTriangleCullingConfig +RayTracingSubMeshFlagsConfig +RayTracingInstanceCullingConfig +RayTracingInstanceMaterialCRC +RayTracingInstanceCullingResults +RayTracingMeshInstanceConfig +RayTracingAccelerationStructure +RendererList +RendererUtils +RendererListStatus +RayTracingShader +LocalizationAsset +UnityEditor +SpriteShapeParameters +UnityEngine +Experimental +U2D +SpriteShapeSegment +SpriteShapeRenderer +SpriteShapeMetaData +ShapeControlPoint +AngleRangeInfo +SpriteShapeUtility +TerrainCallbacks +UnityEngine +Experimental +TerrainAPI +TerrainUtility +BrushTransform +PaintContext +TerrainPaintUtility +BaseCompositeField<,,> +UnityEditor +UIElements +BasePopupField<,> +BoundsField +BoundsIntField +RectField +RectIntField +Vector2Field +Vector3Field +Vector4Field +Vector2IntField +Vector3IntField +DoubleField +EnumField +FloatField +Hash128Field +IntegerField +LongField +PopupField<> +ProgressBar +DeltaSpeed +IValueField<> +TextValueField<> +TextValueFieldTraits<,> +BaseFieldMouseDragger +FieldMouseDragger<> diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll.mvfrm.rsp b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll.mvfrm.rsp new file mode 100644 index 00000000..578d359f --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll.mvfrm.rsp @@ -0,0 +1,119 @@ +Library/Bee/artifacts/mvdfrm/Unity.RenderPipelines.Core.Runtime.ref.dll_02F9514DCF9F5D9D.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.RenderPipelines.Universal.2D.Runtime.ref.dll_988E296D8F51A883.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.RenderPipelines.Universal.Runtime.ref.dll_2AC8684548DD91E7.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.Timeline.ref.dll_7C45B17135AC6262.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UI.ref.dll_66C1A76E74A457C8.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UI.ref.dll_23277DC97AC68033.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.Graphs.dll_5F077ED34993B193.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.AdaptivePerformanceModule.dll_424C3499B391917C.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.CoreModule.dll_985FE9179966C861.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.DeviceSimulatorModule.dll_1B596B3D81663A30.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.DiagnosticsModule.dll_A3274A379F34607E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.EditorToolbarModule.dll_69F6C1C510190200.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.GraphToolsFoundationModule.dll_4FDE96B46A73F442.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.GraphViewModule.dll_96CB260BB8FF6095.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.GridAndSnapModule.dll_ACE030B922991D6D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.GridModule.dll_75D10505B1BB5E58.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.Physics2DModule.dll_FC10A13C4ED97AEB.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.PhysicsModule.dll_6B5A1D4F8B1AF299.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.PresetsUIModule.dll_52315EEDBB57B89A.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.PropertiesModule.dll_5A5C1BCA1AA820B5.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.QuickSearchModule.dll_2E36CB44F80B5CD7.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.RestServiceModule.dll_9512436C9A9AAC63.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SafeModeModule.dll_96FE5E0EF7462D22.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SceneTemplateModule.dll_8D9632830F05AC38.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SceneViewModule.dll_D57B0913AE222DA3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.ShaderFoundryModule.dll_CC7602C631B528C6.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SketchUpModule.dll_7F13435F4277C939.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SpriteMaskModule.dll_164D4F1BC92C51F3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SpriteShapeModule.dll_85BB5C01FDDA394E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TerrainModule.dll_85A098BE60D93B87.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TextCoreFontEngineModule.dll_2C44F723CF68D8BF.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TextCoreTextEngineModule.dll_742D2D955EEC91DD.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TextRenderingModule.dll_D73954BE61625D91.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TilemapModule.dll_249D003F78961C90.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TreeModule.dll_F60BDE26212C5DA0.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UIAutomationModule.dll_BE0ADBFD91268B3D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UIBuilderModule.dll_EB53D3282BB7D9C9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UIElementsModule.dll_853916E59AA075FD.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UIElementsSamplesModule.dll_6B9AAFE8EAC47A40.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UnityConnectModule.dll_08A3FA831996A797.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.VFXModule.dll_DFF4C23A2D82DE9A.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.VideoModule.dll_CC256763756E3A6D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.XRModule.dll_B9127EC22242794C.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.dll_DF02D382047E1364.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AIModule.dll_767C889A0683D495.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AccessibilityModule.dll_C03B9E1A0F7BD3D5.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AndroidJNIModule.dll_0381FFB8E3BFE4D3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AnimationModule.dll_6550A234935C353B.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AssetBundleModule.dll_721FFE365A7211C9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AudioModule.dll_6D489F5CE4594F6D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ClothModule.dll_D430FC57BE762E51.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ClusterInputModule.dll_88406F98CB1E7A5D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ClusterRendererModule.dll_21062DAEF12147B4.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.CommandStateObserverModule.dll_00A28A1CAC8F6519.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ContentLoadModule.dll_0B36577728F4B9B6.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.CoreModule.dll_BB80BC6A416C338C.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.CrashReportingModule.dll_CC2EF5713D2C76A4.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.DSPGraphModule.dll_976681F8ED71D5CA.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.DirectorModule.dll_9215208F7B1104A9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.GIModule.dll_0EB8D1A7A232BCAF.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.GameCenterModule.dll_2DCF49D3AA00D5C4.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.GraphToolsFoundationModule.dll_D351A3CBDF494A6D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.GridModule.dll_98F1D85859C0C983.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.HotReloadModule.dll_E699603A6E8F50BD.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.IMGUIModule.dll_A5A83EC3AA8AE34E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ImageConversionModule.dll_8CF82B5F7345FFA8.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.InputLegacyModule.dll_03651954F263C7BA.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.InputModule.dll_D3BE670D5A917411.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.JSONSerializeModule.dll_205327560EB7345F.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.LocalizationModule.dll_C68D39EB629A6D56.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.MarshallingModule.dll_1A889CCB3E9A3F1B.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ParticleSystemModule.dll_1F413EBDAB3E0232.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.PerformanceReportingModule.dll_21EF07AD7F02544B.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.Physics2DModule.dll_B1F6922534592CD0.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.PhysicsModule.dll_5DD4D5F9F029D9DE.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ProfilerModule.dll_C45B59C6146A8BB6.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.PropertiesModule.dll_5B0A89121CEC3A00.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll_47F4750948003D99.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ScreenCaptureModule.dll_3A3AD4DB232360C1.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SharedInternalsModule.dll_11096A34EA73FAF8.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SpriteMaskModule.dll_16FBBC63CB706B3E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SpriteShapeModule.dll_8B812B91101449D3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.StreamingModule.dll_19E58F84E2E3EC79.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SubstanceModule.dll_F690A3CE2E36EA87.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SubsystemsModule.dll_81A922C599B85351.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TLSModule.dll_6B37CC1EC6C58332.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TerrainModule.dll_781B5168C5E822CC.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TerrainPhysicsModule.dll_1FBBE790C480FCBF.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TextCoreFontEngineModule.dll_AAA47276E266978A.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TextCoreTextEngineModule.dll_F28CA8E871EA50A8.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TextRenderingModule.dll_637A46E5DA5AE0B6.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TilemapModule.dll_1717B8E9DDA503D5.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UIElementsModule.dll_85E7842D9CE48F48.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UIModule.dll_71F026C762CADA41.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UmbraModule.dll_E81D4B75717FFAE0.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityAnalyticsCommonModule.dll_BD2DC4F198EAF2A9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityAnalyticsModule.dll_3EE0AF875765542E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityConnectModule.dll_F6037E92141EA842.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityCurlModule.dll_986D436603702728.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityTestProtocolModule.dll_275D65DB44BFCF96.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestAssetBundleModule.dll_246574F9D399E97F.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestAudioModule.dll_99EB5B8C056D1EE3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestModule.dll_9E9733097E3A9A27.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestTextureModule.dll_ADAEB0FFD7F6BF18.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestWWWModule.dll_BD4EEE4461AA0D14.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VFXModule.dll_EC16648D9D32EC9F.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VRModule.dll_C4C24D4D04855FB9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VehiclesModule.dll_09D81A0EF53AD444.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VideoModule.dll_925223C7A6EB6B12.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VirtualTexturingModule.dll_186CB5FAA15AC72A.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.WindModule.dll_31CF9792D2A2B1F5.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.XRModule.dll_F78110518DBFAD17.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.dll_11A71A5A62F1A049.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.LinuxStandalone.Extensions.dll_F59A400854FB25BF.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.WindowsStandalone.Extensions.dll_C3732A552E79084F.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.VisualScripting.IonicZip.dll_3753AE2E22DD17B6.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.VisualScripting.YamlDotNet.dll_B9EB2E0105A28BA6.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.VisualScripting.TextureAssets.dll_51095754C66FE99E.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.VisualScripting.Antlr3.Runtime.dll_6B5854E2366B9BC5.mvfrm \ No newline at end of file diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.pdb b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.pdb new file mode 100644 index 00000000..aad1ca18 Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.pdb differ diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.ref.dll b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.ref.dll new file mode 100644 index 00000000..6748806e Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.ref.dll differ diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.rsp b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.rsp new file mode 100644 index 00000000..9d94420c --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.rsp @@ -0,0 +1,471 @@ +-target:library +-out:"Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.dll" +-refout:"Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.ref.dll" +-define:UNITY_2023_2_0 +-define:UNITY_2023_2 +-define:UNITY_2023 +-define:UNITY_5_3_OR_NEWER +-define:UNITY_5_4_OR_NEWER +-define:UNITY_5_5_OR_NEWER +-define:UNITY_5_6_OR_NEWER +-define:UNITY_2017_1_OR_NEWER +-define:UNITY_2017_2_OR_NEWER +-define:UNITY_2017_3_OR_NEWER +-define:UNITY_2017_4_OR_NEWER +-define:UNITY_2018_1_OR_NEWER +-define:UNITY_2018_2_OR_NEWER +-define:UNITY_2018_3_OR_NEWER +-define:UNITY_2018_4_OR_NEWER +-define:UNITY_2019_1_OR_NEWER +-define:UNITY_2019_2_OR_NEWER +-define:UNITY_2019_3_OR_NEWER +-define:UNITY_2019_4_OR_NEWER +-define:UNITY_2020_1_OR_NEWER +-define:UNITY_2020_2_OR_NEWER +-define:UNITY_2020_3_OR_NEWER +-define:UNITY_2021_1_OR_NEWER +-define:UNITY_2021_2_OR_NEWER +-define:UNITY_2021_3_OR_NEWER +-define:UNITY_2022_1_OR_NEWER +-define:UNITY_2022_2_OR_NEWER +-define:UNITY_2023_1_OR_NEWER +-define:UNITY_2023_2_OR_NEWER +-define:PLATFORM_ARCH_64 +-define:UNITY_64 +-define:UNITY_INCLUDE_TESTS +-define:ENABLE_AUDIO +-define:ENABLE_CACHING +-define:ENABLE_CLOTH +-define:ENABLE_MICROPHONE +-define:ENABLE_MULTIPLE_DISPLAYS +-define:ENABLE_PHYSICS +-define:ENABLE_TEXTURE_STREAMING +-define:ENABLE_VIRTUALTEXTURING +-define:ENABLE_LZMA +-define:ENABLE_UNITYEVENTS +-define:ENABLE_VR +-define:ENABLE_WEBCAM +-define:ENABLE_UNITYWEBREQUEST +-define:ENABLE_WWW +-define:ENABLE_CLOUD_SERVICES +-define:ENABLE_CLOUD_SERVICES_COLLAB +-define:ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS +-define:ENABLE_CLOUD_SERVICES_ADS +-define:ENABLE_CLOUD_SERVICES_USE_WEBREQUEST +-define:ENABLE_CLOUD_SERVICES_CRASH_REPORTING +-define:ENABLE_CLOUD_SERVICES_PURCHASING +-define:ENABLE_CLOUD_SERVICES_ANALYTICS +-define:ENABLE_CLOUD_SERVICES_BUILD +-define:ENABLE_EDITOR_GAME_SERVICES +-define:ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT +-define:ENABLE_CLOUD_LICENSE +-define:ENABLE_EDITOR_HUB_LICENSE +-define:ENABLE_WEBSOCKET_CLIENT +-define:ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API +-define:ENABLE_DIRECTOR_AUDIO +-define:ENABLE_DIRECTOR_TEXTURE +-define:ENABLE_MANAGED_JOBS +-define:ENABLE_MANAGED_TRANSFORM_JOBS +-define:ENABLE_MANAGED_ANIMATION_JOBS +-define:ENABLE_MANAGED_AUDIO_JOBS +-define:ENABLE_MANAGED_UNITYTLS +-define:INCLUDE_DYNAMIC_GI +-define:ENABLE_SCRIPTING_GC_WBARRIERS +-define:PLATFORM_SUPPORTS_MONO +-define:RENDER_SOFTWARE_CURSOR +-define:ENABLE_MARSHALLING_TESTS +-define:ENABLE_VIDEO +-define:ENABLE_ACCELERATOR_CLIENT_DEBUGGING +-define:PLATFORM_STANDALONE +-define:TEXTCORE_1_0_OR_NEWER +-define:PLATFORM_STANDALONE_LINUX +-define:UNITY_STANDALONE_LINUX +-define:UNITY_STANDALONE +-define:UNITY_STANDALONE_LINUX_API +-define:ENABLE_RUNTIME_GI +-define:ENABLE_MOVIES +-define:ENABLE_NETWORK +-define:ENABLE_CRUNCH_TEXTURE_COMPRESSION +-define:ENABLE_CLUSTER_SYNC +-define:ENABLE_CLUSTERINPUT +-define:ENABLE_SPATIALTRACKING +-define:ENABLE_MODULAR_UNITYENGINE_ASSEMBLIES +-define:ENABLE_MONO +-define:NET_STANDARD_2_0 +-define:NET_STANDARD +-define:NET_STANDARD_2_1 +-define:NETSTANDARD +-define:NETSTANDARD2_1 +-define:ENABLE_PROFILER +-define:DEBUG +-define:TRACE +-define:UNITY_ASSERTIONS +-define:UNITY_EDITOR +-define:UNITY_EDITOR_64 +-define:UNITY_EDITOR_LINUX +-define:ENABLE_UNITY_COLLECTIONS_CHECKS +-define:ENABLE_BURST_AOT +-define:UNITY_TEAM_LICENSE +-define:ENABLE_CUSTOM_RENDER_TEXTURE +-define:ENABLE_DIRECTOR +-define:ENABLE_LOCALIZATION +-define:ENABLE_SPRITES +-define:ENABLE_TERRAIN +-define:ENABLE_TILEMAP +-define:ENABLE_TIMELINE +-define:ENABLE_LEGACY_INPUT_MANAGER +-define:TEXTCORE_FONT_ENGINE_1_5_OR_NEWER +-define:TEXTCORE_TEXT_ENGINE_1_5_OR_NEWER +-define:CINEMACHINE_TIMELINE +-define:CINEMACHINE_PHYSICS_2D +-define:CINEMACHINE_PHYSICS +-define:CINEMACHINE_UGUI +-define:CINEMACHINE_LWRP_7_3_1 +-define:CINEMACHINE_UNITY_ANIMATION +-define:CINEMACHINE_UNITY_IMGUI +-define:CSHARP_7_OR_LATER +-define:CSHARP_7_3_OR_NEWER +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEditor.Graphs.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.AdaptivePerformanceModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.CoreModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.DeviceSimulatorModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.DiagnosticsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.EditorToolbarModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.GraphToolsFoundationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.GraphViewModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.GridAndSnapModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.GridModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.Physics2DModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.PhysicsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.PresetsUIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.PropertiesModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.QuickSearchModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.RestServiceModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SafeModeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SceneTemplateModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SceneViewModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.ShaderFoundryModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SketchUpModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SpriteMaskModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SpriteShapeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TerrainModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TextCoreFontEngineModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TextCoreTextEngineModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TextRenderingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TilemapModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TreeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UIAutomationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UIBuilderModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UIElementsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UIElementsSamplesModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UnityConnectModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.VFXModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.VideoModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.XRModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AccessibilityModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AndroidJNIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AnimationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AssetBundleModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AudioModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ClothModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterInputModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterRendererModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.CommandStateObserverModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ContentLoadModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.CoreModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.CrashReportingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.DSPGraphModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.DirectorModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.GIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.GameCenterModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.GraphToolsFoundationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.GridModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.HotReloadModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.IMGUIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ImageConversionModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.InputLegacyModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.InputModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.JSONSerializeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.LocalizationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.MarshallingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ParticleSystemModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.PerformanceReportingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.Physics2DModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.PhysicsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ProfilerModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.PropertiesModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ScreenCaptureModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SharedInternalsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteMaskModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteShapeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.StreamingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SubstanceModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SubsystemsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TLSModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainPhysicsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TextCoreFontEngineModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TextCoreTextEngineModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TextRenderingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TilemapModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UIElementsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UmbraModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityAnalyticsCommonModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityAnalyticsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityConnectModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityCurlModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityTestProtocolModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAssetBundleModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAudioModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestTextureModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestWWWModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VFXModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VRModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VehiclesModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VideoModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VirtualTexturingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.WindModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.XRModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/Extensions/2.0.0/System.Runtime.InteropServices.WindowsRuntime.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.ComponentModel.Composition.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Core.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Data.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Drawing.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.IO.Compression.FileSystem.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Net.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Numerics.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Runtime.Serialization.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.ServiceModel.Web.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Transactions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Web.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Windows.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Xml.Linq.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Xml.Serialization.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.Xml.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/System.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netfx/mscorlib.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/Microsoft.Win32.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.AppContext.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Buffers.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Collections.Concurrent.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Collections.NonGeneric.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Collections.Specialized.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Collections.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.ComponentModel.EventBasedAsync.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.ComponentModel.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.ComponentModel.TypeConverter.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.ComponentModel.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Console.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Data.Common.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Diagnostics.Contracts.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Diagnostics.Debug.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Diagnostics.FileVersionInfo.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Diagnostics.Process.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Diagnostics.StackTrace.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Diagnostics.TextWriterTraceListener.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Diagnostics.Tools.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Diagnostics.TraceSource.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Diagnostics.Tracing.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Drawing.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Dynamic.Runtime.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Globalization.Calendars.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Globalization.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Globalization.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.Compression.ZipFile.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.Compression.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.FileSystem.DriveInfo.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.FileSystem.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.FileSystem.Watcher.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.FileSystem.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.IsolatedStorage.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.MemoryMappedFiles.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.Pipes.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.UnmanagedMemoryStream.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.IO.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Linq.Expressions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Linq.Parallel.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Linq.Queryable.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Linq.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Memory.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.Http.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.NameResolution.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.NetworkInformation.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.Ping.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.Requests.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.Security.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.Sockets.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.WebHeaderCollection.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.WebSockets.Client.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Net.WebSockets.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Numerics.Vectors.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.ObjectModel.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Reflection.DispatchProxy.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Reflection.Emit.ILGeneration.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Reflection.Emit.Lightweight.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Reflection.Emit.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Reflection.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Reflection.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Reflection.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Resources.Reader.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Resources.ResourceManager.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Resources.Writer.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.CompilerServices.VisualC.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.Handles.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.InteropServices.RuntimeInformation.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.InteropServices.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.Numerics.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.Serialization.Formatters.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.Serialization.Json.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.Serialization.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.Serialization.Xml.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Runtime.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Security.Claims.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Security.Cryptography.Algorithms.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Security.Cryptography.Csp.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Security.Cryptography.Encoding.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Security.Cryptography.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Security.Cryptography.X509Certificates.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Security.Principal.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Security.SecureString.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Text.Encoding.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Text.Encoding.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Text.RegularExpressions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Threading.Overlapped.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Threading.Tasks.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Threading.Tasks.Parallel.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Threading.Tasks.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Threading.Thread.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Threading.ThreadPool.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Threading.Timer.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Threading.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.ValueTuple.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Xml.ReaderWriter.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Xml.XDocument.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Xml.XPath.XDocument.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Xml.XPath.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Xml.XmlDocument.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/compat/2.1.0/shims/netstandard/System.Xml.XmlSerializer.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/NetStandard/ref/2.1.0/netstandard.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/PlaybackEngines/LinuxStandaloneSupport/UnityEditor.LinuxStandalone.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/UnityEditor.WindowsStandalone.Extensions.dll" +-r:"Library/PackageCache/com.unity.ext.nunit@2.0.3/net40/unity-custom/nunit.framework.dll" +-r:"Library/PackageCache/com.unity.visualscripting@1.8.0/Editor/VisualScripting.Core/Dependencies/DotNetZip/Unity.VisualScripting.IonicZip.dll" +-r:"Library/PackageCache/com.unity.visualscripting@1.8.0/Editor/VisualScripting.Core/Dependencies/YamlDotNet/Unity.VisualScripting.YamlDotNet.dll" +-r:"Library/PackageCache/com.unity.visualscripting@1.8.0/Editor/VisualScripting.Core/EditorAssetResources/Unity.VisualScripting.TextureAssets.dll" +-r:"Library/PackageCache/com.unity.visualscripting@1.8.0/Runtime/VisualScripting.Flow/Dependencies/NCalc/Unity.VisualScripting.Antlr3.Runtime.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.RenderPipelines.Core.Runtime.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.RenderPipelines.Universal.2D.Runtime.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.RenderPipelines.Universal.Runtime.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.Timeline.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/UnityEditor.UI.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/UnityEngine.UI.ref.dll" +-analyzer:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Tools/Unity.SourceGenerators/Unity.Properties.SourceGenerator.dll" +-analyzer:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Tools/Unity.SourceGenerators/Unity.SourceGenerators.dll" +-analyzer:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Tools/Unity.SourceGenerators/Unity.UIToolkit.SourceGenerator.dll" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/AssemblyInfo.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/Cinemachine3rdPersonAim.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBlendListCamera.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBrain.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCameraOffset.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineClearShot.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCollider.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner2D.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineDollyCart.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineExternalCamera.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFollowZoom.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFreeLook.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineMixingCamera.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePath.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePipeline.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePixelPerfect.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineRecomposer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineSmoothPath.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStateDrivenCamera.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStoryboard.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineTargetGroup.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineVirtualCamera.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/Cinemachine3rdPersonFollow.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineBasicMultiChannelPerlin.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineComposer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineFramingTransposer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineGroupComposer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLockToTarget.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLookAt.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineOrbitalTransposer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachinePOV.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineSameAsFollowTarget.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTrackedDolly.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTransposer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/AxisState.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CameraState.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlend.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlenderSettings.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineComponentBase.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineCore.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineDebug.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineExtension.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineInputAxisDriver.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePathBase.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePropertyAttribute.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineVirtualCameraBase.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ConfinerOven.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/GaussianFilter.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineCamera.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineComponent.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/LensSettings.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/NoiseSettings.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/Predictor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/RuntimeUtility.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SignalSourceAsset.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SplineHelpers.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/TargetPositionCache.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UnityVectorExtensions.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UpdateTracker.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewFreeLook.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewVirtualCamera.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineInputProvider.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTouchInputMapper.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTriggerAction.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/GroupWeightManipulator.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineCollisionImpulseSource.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineFixedSignal.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseDefinition.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseListener.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseManager.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseSource.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineIndependentImpulseListener.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachinePostProcessing.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachineVolumeSettings.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty/clipper.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineMixer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShot.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShotPlayable.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineTrack.cs" +-langversion:9.0 + +/deterministic +/optimize- +/debug:portable +/nologo +/RuntimeMetadataVersion:v4.0.30319 + +/nowarn:0169 +/nowarn:0649 +/nowarn:0282 +/nowarn:1701 +/nowarn:1702 +/utf8output +/preferreduilang:en-US + +-warn:0 + +/additionalfile:"Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.UnityAdditionalFile.txt" \ No newline at end of file diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.rsp2 b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.rsp2 new file mode 100644 index 00000000..82e019ef --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.rsp2 @@ -0,0 +1 @@ +/pathmap:"/home/sascha/current_coding/TurnBasedStrategyCourse"=. \ No newline at end of file diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.UnityAdditionalFile.txt b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.UnityAdditionalFile.txt new file mode 100644 index 00000000..e1a51109 --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.UnityAdditionalFile.txt @@ -0,0 +1 @@ +/home/sascha/current_coding/TurnBasedStrategyCourse \ No newline at end of file diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll new file mode 100644 index 00000000..27de302b Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll differ diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll.mvfrm b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll.mvfrm new file mode 100644 index 00000000..98981315 --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll.mvfrm @@ -0,0 +1,196 @@ +MaterialQuality +Utilities +MaterialQualityUtilities +AssetModificationProcessor + +Sysroot +UnityEditor +LinuxStandalone +ChannelClient +Unity +MPE +ChannelClientScope +ChannelService +ChannelScope +EventDataSerialization +EventService +RoleProviderAttribute +ProcessEvent +ProcessLevel +ProcessState +RoleCapability +ChannelInfo +ChannelClientInfo +ProcessService +NavMeshBuilder +NavMeshVisualizationSettings +PrefabStage +Experimental +SceneManagement +PrefabStageUtility +AssetImportContext +AssetImporters +SpriteImportData +TextureGenerationOutput +SourceTextureInformation +TextureGenerationSettings +TextureGenerator +CollectImportedDependenciesAttribute +FBXMaterialDescriptionPreprocessor +SketchupMaterialDescriptionPreprocessor +ThreeDSMaterialDescriptionPreprocessor +AssetImporterEditor +AssetImporterEditorPostProcessAsset +ScriptedImporterEditor +ScriptedImporter +ScriptedImporterAttribute +EditorToolbarDropdownToggle +UnityEditor +Overlays +BrushGUIEditFlags +UnityEditor +Experimental +TerrainAPI +RepaintFlags +IOnPaint +IOnSceneGUI +IOnInspectorGUI +TerrainPaintTool<> +TerrainToolShortcutContext +TerrainInspectorUtility +TerrainPaintUtilityEditor +ObstacleAvoidanceType +UnityEngine +NavMeshAgent +NavMeshObstacleShape +NavMeshObstacle +OffMeshLinkType +OffMeshLinkData +OffMeshLink +NavMeshHit +NavMeshTriangulation +NavMesh +NavMeshPathStatus +NavMeshPath +AvatarMaskBodyPart +UnityEditor +Animations +AvatarMask +IAnimationJob +UnityEngine +Experimental +IAnimationJobPlayable +IAnimationWindowPreview +AnimationHumanStream +AnimationScriptPlayable +AnimationStream +TransformStreamHandle +PropertyStreamHandle +TransformSceneHandle +PropertySceneHandle +AnimationSceneHandleUtility +AnimationStreamHandleUtility +CustomStreamPropertyType +AnimatorJobExtensions +MuscleHandle +ExpressionEvaluator +UnityEditor +NumericFieldDraggerUtility +PixelPerfectRendering +UnityEngine +Experimental +U2D +SpriteBone +Profiler +PhotoCaptureFileOutputFormat +XR +WSA +WebCam +PhotoCapture +PhotoCaptureFrame +VideoCapture +CapturePixelFormat +WebCamMode +CameraParameters +PlayerLoopSystemInternal +LowLevel +PlayerLoopSystem +PlayerLoop +Initialization +EarlyUpdate +FixedUpdate +PreUpdate +Update +PreLateUpdate +PostLateUpdate +ConnectionTarget +Networking +PlayerConnection +IConnectionState +VertexAttribute +Rendering +RenderingThreadingMode +RayTracingSubMeshFlags +RayTracingInstanceCullingFlags +RayTracingInstanceCullingTest +RayTracingInstanceCullingShaderTagConfig +RayTracingInstanceMaterialConfig +RayTracingInstanceCullingMaterialTest +RayTracingInstanceTriangleCullingConfig +RayTracingSubMeshFlagsConfig +RayTracingInstanceCullingConfig +RayTracingInstanceMaterialCRC +RayTracingInstanceCullingResults +RayTracingMeshInstanceConfig +RayTracingAccelerationStructure +RendererList +RendererUtils +RendererListStatus +RayTracingShader +LocalizationAsset +UnityEditor +SpriteShapeParameters +UnityEngine +Experimental +U2D +SpriteShapeSegment +SpriteShapeRenderer +SpriteShapeMetaData +ShapeControlPoint +AngleRangeInfo +SpriteShapeUtility +TerrainCallbacks +UnityEngine +Experimental +TerrainAPI +TerrainUtility +BrushTransform +PaintContext +TerrainPaintUtility +BaseCompositeField<,,> +UnityEditor +UIElements +BasePopupField<,> +BoundsField +BoundsIntField +RectField +RectIntField +Vector2Field +Vector3Field +Vector4Field +Vector2IntField +Vector3IntField +DoubleField +EnumField +FloatField +Hash128Field +IntegerField +LongField +PopupField<> +ProgressBar +DeltaSpeed +IValueField<> +TextValueField<> +TextValueFieldTraits<,> +BaseFieldMouseDragger +FieldMouseDragger<> diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll.mvfrm.rsp b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll.mvfrm.rsp new file mode 100644 index 00000000..747d272c --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll.mvfrm.rsp @@ -0,0 +1,125 @@ +Library/Bee/artifacts/mvdfrm/Unity.RenderPipelines.Core.Editor.ref.dll_CE93AB90FB3862AE.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.RenderPipelines.Core.Runtime.ref.dll_02F9514DCF9F5D9D.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.RenderPipelines.Universal.Editor.ref.dll_31E059F8D0CF1604.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.RenderPipelines.Universal.Runtime.ref.dll_2AC8684548DD91E7.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.Timeline.Editor.ref.dll_B0AEC1412783A16F.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.Timeline.ref.dll_7C45B17135AC6262.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TestRunner.ref.dll_47F943A8BCEAAC06.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UI.ref.dll_66C1A76E74A457C8.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TestRunner.ref.dll_14178E56E8AE09F1.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UI.ref.dll_23277DC97AC68033.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.Graphs.dll_5F077ED34993B193.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.AdaptivePerformanceModule.dll_424C3499B391917C.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.CoreModule.dll_985FE9179966C861.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.DeviceSimulatorModule.dll_1B596B3D81663A30.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.DiagnosticsModule.dll_A3274A379F34607E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.EditorToolbarModule.dll_69F6C1C510190200.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.GraphToolsFoundationModule.dll_4FDE96B46A73F442.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.GraphViewModule.dll_96CB260BB8FF6095.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.GridAndSnapModule.dll_ACE030B922991D6D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.GridModule.dll_75D10505B1BB5E58.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.Physics2DModule.dll_FC10A13C4ED97AEB.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.PhysicsModule.dll_6B5A1D4F8B1AF299.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.PresetsUIModule.dll_52315EEDBB57B89A.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.PropertiesModule.dll_5A5C1BCA1AA820B5.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.QuickSearchModule.dll_2E36CB44F80B5CD7.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.RestServiceModule.dll_9512436C9A9AAC63.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SafeModeModule.dll_96FE5E0EF7462D22.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SceneTemplateModule.dll_8D9632830F05AC38.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SceneViewModule.dll_D57B0913AE222DA3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.ShaderFoundryModule.dll_CC7602C631B528C6.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SketchUpModule.dll_7F13435F4277C939.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SpriteMaskModule.dll_164D4F1BC92C51F3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.SpriteShapeModule.dll_85BB5C01FDDA394E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TerrainModule.dll_85A098BE60D93B87.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TextCoreFontEngineModule.dll_2C44F723CF68D8BF.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TextCoreTextEngineModule.dll_742D2D955EEC91DD.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TextRenderingModule.dll_D73954BE61625D91.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TilemapModule.dll_249D003F78961C90.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.TreeModule.dll_F60BDE26212C5DA0.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UIAutomationModule.dll_BE0ADBFD91268B3D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UIBuilderModule.dll_EB53D3282BB7D9C9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UIElementsModule.dll_853916E59AA075FD.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UIElementsSamplesModule.dll_6B9AAFE8EAC47A40.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.UnityConnectModule.dll_08A3FA831996A797.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.VFXModule.dll_DFF4C23A2D82DE9A.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.VideoModule.dll_CC256763756E3A6D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.XRModule.dll_B9127EC22242794C.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.dll_DF02D382047E1364.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AIModule.dll_767C889A0683D495.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ARModule.dll_2FEF4D9D63A1335E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AccessibilityModule.dll_C03B9E1A0F7BD3D5.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AndroidJNIModule.dll_0381FFB8E3BFE4D3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AnimationModule.dll_6550A234935C353B.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AssetBundleModule.dll_721FFE365A7211C9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.AudioModule.dll_6D489F5CE4594F6D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ClothModule.dll_D430FC57BE762E51.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ClusterInputModule.dll_88406F98CB1E7A5D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ClusterRendererModule.dll_21062DAEF12147B4.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.CommandStateObserverModule.dll_00A28A1CAC8F6519.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ContentLoadModule.dll_0B36577728F4B9B6.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.CoreModule.dll_BB80BC6A416C338C.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.CrashReportingModule.dll_CC2EF5713D2C76A4.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.DSPGraphModule.dll_976681F8ED71D5CA.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.DirectorModule.dll_9215208F7B1104A9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.GIModule.dll_0EB8D1A7A232BCAF.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.GameCenterModule.dll_2DCF49D3AA00D5C4.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.GraphToolsFoundationModule.dll_D351A3CBDF494A6D.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.GridModule.dll_98F1D85859C0C983.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.HotReloadModule.dll_E699603A6E8F50BD.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.IMGUIModule.dll_A5A83EC3AA8AE34E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ImageConversionModule.dll_8CF82B5F7345FFA8.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.InputLegacyModule.dll_03651954F263C7BA.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.InputModule.dll_D3BE670D5A917411.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.JSONSerializeModule.dll_205327560EB7345F.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.LocalizationModule.dll_C68D39EB629A6D56.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.MarshallingModule.dll_1A889CCB3E9A3F1B.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.NVIDIAModule.dll_CD06B77C32BE9178.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ParticleSystemModule.dll_1F413EBDAB3E0232.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.PerformanceReportingModule.dll_21EF07AD7F02544B.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.Physics2DModule.dll_B1F6922534592CD0.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.PhysicsModule.dll_5DD4D5F9F029D9DE.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ProfilerModule.dll_C45B59C6146A8BB6.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.PropertiesModule.dll_5B0A89121CEC3A00.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll_47F4750948003D99.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.ScreenCaptureModule.dll_3A3AD4DB232360C1.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SharedInternalsModule.dll_11096A34EA73FAF8.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SpriteMaskModule.dll_16FBBC63CB706B3E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SpriteShapeModule.dll_8B812B91101449D3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.StreamingModule.dll_19E58F84E2E3EC79.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SubstanceModule.dll_F690A3CE2E36EA87.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.SubsystemsModule.dll_81A922C599B85351.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TLSModule.dll_6B37CC1EC6C58332.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TerrainModule.dll_781B5168C5E822CC.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TerrainPhysicsModule.dll_1FBBE790C480FCBF.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TextCoreFontEngineModule.dll_AAA47276E266978A.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TextCoreTextEngineModule.dll_F28CA8E871EA50A8.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TextRenderingModule.dll_637A46E5DA5AE0B6.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.TilemapModule.dll_1717B8E9DDA503D5.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UIElementsModule.dll_85E7842D9CE48F48.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UIModule.dll_71F026C762CADA41.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UmbraModule.dll_E81D4B75717FFAE0.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityAnalyticsCommonModule.dll_BD2DC4F198EAF2A9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityAnalyticsModule.dll_3EE0AF875765542E.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityConnectModule.dll_F6037E92141EA842.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityCurlModule.dll_986D436603702728.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityTestProtocolModule.dll_275D65DB44BFCF96.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestAssetBundleModule.dll_246574F9D399E97F.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestAudioModule.dll_99EB5B8C056D1EE3.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestModule.dll_9E9733097E3A9A27.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestTextureModule.dll_ADAEB0FFD7F6BF18.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.UnityWebRequestWWWModule.dll_BD4EEE4461AA0D14.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VFXModule.dll_EC16648D9D32EC9F.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VRModule.dll_C4C24D4D04855FB9.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VehiclesModule.dll_09D81A0EF53AD444.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VideoModule.dll_925223C7A6EB6B12.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.VirtualTexturingModule.dll_186CB5FAA15AC72A.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.WindModule.dll_31CF9792D2A2B1F5.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.XRModule.dll_F78110518DBFAD17.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEngine.dll_11A71A5A62F1A049.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.LinuxStandalone.Extensions.dll_F59A400854FB25BF.mvfrm +Library/Bee/artifacts/mvdfrm/UnityEditor.WindowsStandalone.Extensions.dll_C3732A552E79084F.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.VisualScripting.IonicZip.dll_3753AE2E22DD17B6.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.VisualScripting.YamlDotNet.dll_B9EB2E0105A28BA6.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.VisualScripting.TextureAssets.dll_51095754C66FE99E.mvfrm +Library/Bee/artifacts/mvdfrm/Unity.VisualScripting.Antlr3.Runtime.dll_6B5854E2366B9BC5.mvfrm \ No newline at end of file diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.pdb b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.pdb new file mode 100644 index 00000000..9cf18e58 Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.pdb differ diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.ref.dll b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.ref.dll new file mode 100644 index 00000000..695bbe10 Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.ref.dll differ diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.rsp b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.rsp new file mode 100644 index 00000000..3ed8ff1d --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.rsp @@ -0,0 +1,469 @@ +-target:library +-out:"Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.dll" +-refout:"Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.ref.dll" +-define:UNITY_2023_2_0 +-define:UNITY_2023_2 +-define:UNITY_2023 +-define:UNITY_5_3_OR_NEWER +-define:UNITY_5_4_OR_NEWER +-define:UNITY_5_5_OR_NEWER +-define:UNITY_5_6_OR_NEWER +-define:UNITY_2017_1_OR_NEWER +-define:UNITY_2017_2_OR_NEWER +-define:UNITY_2017_3_OR_NEWER +-define:UNITY_2017_4_OR_NEWER +-define:UNITY_2018_1_OR_NEWER +-define:UNITY_2018_2_OR_NEWER +-define:UNITY_2018_3_OR_NEWER +-define:UNITY_2018_4_OR_NEWER +-define:UNITY_2019_1_OR_NEWER +-define:UNITY_2019_2_OR_NEWER +-define:UNITY_2019_3_OR_NEWER +-define:UNITY_2019_4_OR_NEWER +-define:UNITY_2020_1_OR_NEWER +-define:UNITY_2020_2_OR_NEWER +-define:UNITY_2020_3_OR_NEWER +-define:UNITY_2021_1_OR_NEWER +-define:UNITY_2021_2_OR_NEWER +-define:UNITY_2021_3_OR_NEWER +-define:UNITY_2022_1_OR_NEWER +-define:UNITY_2022_2_OR_NEWER +-define:UNITY_2023_1_OR_NEWER +-define:UNITY_2023_2_OR_NEWER +-define:PLATFORM_ARCH_64 +-define:UNITY_64 +-define:UNITY_INCLUDE_TESTS +-define:ENABLE_AUDIO +-define:ENABLE_CACHING +-define:ENABLE_CLOTH +-define:ENABLE_MICROPHONE +-define:ENABLE_MULTIPLE_DISPLAYS +-define:ENABLE_PHYSICS +-define:ENABLE_TEXTURE_STREAMING +-define:ENABLE_VIRTUALTEXTURING +-define:ENABLE_LZMA +-define:ENABLE_UNITYEVENTS +-define:ENABLE_VR +-define:ENABLE_WEBCAM +-define:ENABLE_UNITYWEBREQUEST +-define:ENABLE_WWW +-define:ENABLE_CLOUD_SERVICES +-define:ENABLE_CLOUD_SERVICES_COLLAB +-define:ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS +-define:ENABLE_CLOUD_SERVICES_ADS +-define:ENABLE_CLOUD_SERVICES_USE_WEBREQUEST +-define:ENABLE_CLOUD_SERVICES_CRASH_REPORTING +-define:ENABLE_CLOUD_SERVICES_PURCHASING +-define:ENABLE_CLOUD_SERVICES_ANALYTICS +-define:ENABLE_CLOUD_SERVICES_BUILD +-define:ENABLE_EDITOR_GAME_SERVICES +-define:ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT +-define:ENABLE_CLOUD_LICENSE +-define:ENABLE_EDITOR_HUB_LICENSE +-define:ENABLE_WEBSOCKET_CLIENT +-define:ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API +-define:ENABLE_DIRECTOR_AUDIO +-define:ENABLE_DIRECTOR_TEXTURE +-define:ENABLE_MANAGED_JOBS +-define:ENABLE_MANAGED_TRANSFORM_JOBS +-define:ENABLE_MANAGED_ANIMATION_JOBS +-define:ENABLE_MANAGED_AUDIO_JOBS +-define:ENABLE_MANAGED_UNITYTLS +-define:INCLUDE_DYNAMIC_GI +-define:ENABLE_SCRIPTING_GC_WBARRIERS +-define:PLATFORM_SUPPORTS_MONO +-define:RENDER_SOFTWARE_CURSOR +-define:ENABLE_MARSHALLING_TESTS +-define:ENABLE_VIDEO +-define:ENABLE_ACCELERATOR_CLIENT_DEBUGGING +-define:PLATFORM_STANDALONE +-define:TEXTCORE_1_0_OR_NEWER +-define:PLATFORM_STANDALONE_LINUX +-define:UNITY_STANDALONE_LINUX +-define:UNITY_STANDALONE +-define:UNITY_STANDALONE_LINUX_API +-define:ENABLE_RUNTIME_GI +-define:ENABLE_MOVIES +-define:ENABLE_NETWORK +-define:ENABLE_CRUNCH_TEXTURE_COMPRESSION +-define:ENABLE_CLUSTER_SYNC +-define:ENABLE_CLUSTERINPUT +-define:ENABLE_SPATIALTRACKING +-define:ENABLE_MODULAR_UNITYENGINE_ASSEMBLIES +-define:ENABLE_MONO +-define:NET_4_6 +-define:NET_UNITY_4_8 +-define:ENABLE_PROFILER +-define:DEBUG +-define:TRACE +-define:UNITY_ASSERTIONS +-define:UNITY_EDITOR +-define:UNITY_EDITOR_64 +-define:UNITY_EDITOR_LINUX +-define:ENABLE_UNITY_COLLECTIONS_CHECKS +-define:ENABLE_BURST_AOT +-define:UNITY_TEAM_LICENSE +-define:ENABLE_CUSTOM_RENDER_TEXTURE +-define:ENABLE_DIRECTOR +-define:ENABLE_LOCALIZATION +-define:ENABLE_SPRITES +-define:ENABLE_TERRAIN +-define:ENABLE_TILEMAP +-define:ENABLE_TIMELINE +-define:ENABLE_LEGACY_INPUT_MANAGER +-define:TEXTCORE_FONT_ENGINE_1_5_OR_NEWER +-define:TEXTCORE_TEXT_ENGINE_1_5_OR_NEWER +-define:CINEMACHINE_TIMELINE +-define:CINEMACHINE_PHYSICS_2D +-define:CINEMACHINE_PHYSICS +-define:CINEMACHINE_UGUI +-define:CINEMACHINE_LWRP_7_3_1 +-define:CINEMACHINE_TIMELINE_1_5_0 +-define:CINEMACHINE_UNITY_ANIMATION +-define:CINEMACHINE_UNITY_IMGUI +-define:CSHARP_7_OR_LATER +-define:CSHARP_7_3_OR_NEWER +-define:UNITY_EDITOR_ONLY_COMPILATION +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEditor.Graphs.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.AdaptivePerformanceModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.CoreModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.DeviceSimulatorModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.DiagnosticsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.EditorToolbarModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.GraphToolsFoundationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.GraphViewModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.GridAndSnapModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.GridModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.Physics2DModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.PhysicsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.PresetsUIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.PropertiesModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.QuickSearchModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.RestServiceModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SafeModeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SceneTemplateModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SceneViewModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.ShaderFoundryModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SketchUpModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SpriteMaskModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.SpriteShapeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TerrainModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TextCoreFontEngineModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TextCoreTextEngineModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TextRenderingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TilemapModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.TreeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UIAutomationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UIBuilderModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UIElementsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UIElementsSamplesModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.UnityConnectModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.VFXModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.VideoModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.XRModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEditor.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ARModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AccessibilityModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AndroidJNIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AnimationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AssetBundleModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.AudioModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ClothModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterInputModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ClusterRendererModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.CommandStateObserverModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ContentLoadModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.CoreModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.CrashReportingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.DSPGraphModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.DirectorModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.GIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.GameCenterModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.GraphToolsFoundationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.GridModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.HotReloadModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.IMGUIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ImageConversionModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.InputLegacyModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.InputModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.JSONSerializeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.LocalizationModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.MarshallingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.NVIDIAModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ParticleSystemModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.PerformanceReportingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.Physics2DModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.PhysicsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ProfilerModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.PropertiesModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.ScreenCaptureModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SharedInternalsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteMaskModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SpriteShapeModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.StreamingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SubstanceModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.SubsystemsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TLSModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TerrainPhysicsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TextCoreFontEngineModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TextCoreTextEngineModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TextRenderingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.TilemapModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UIElementsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UIModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UmbraModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityAnalyticsCommonModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityAnalyticsModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityConnectModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityCurlModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityTestProtocolModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAssetBundleModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestAudioModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestTextureModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.UnityWebRequestWWWModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VFXModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VRModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VehiclesModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VideoModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.VirtualTexturingModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.WindModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.XRModule.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Managed/UnityEngine/UnityEngine.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/PlaybackEngines/LinuxStandaloneSupport/UnityEditor.LinuxStandalone.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/UnityEditor.WindowsStandalone.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/Microsoft.Win32.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.AppContext.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Buffers.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Collections.Concurrent.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Collections.NonGeneric.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Collections.Specialized.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Collections.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ComponentModel.Annotations.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ComponentModel.EventBasedAsync.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ComponentModel.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ComponentModel.TypeConverter.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ComponentModel.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Console.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Data.Common.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Diagnostics.Contracts.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Diagnostics.Debug.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Diagnostics.FileVersionInfo.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Diagnostics.Process.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Diagnostics.StackTrace.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Diagnostics.TextWriterTraceListener.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Diagnostics.Tools.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Diagnostics.TraceSource.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Drawing.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Dynamic.Runtime.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Globalization.Calendars.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Globalization.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Globalization.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.Compression.ZipFile.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.FileSystem.DriveInfo.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.FileSystem.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.FileSystem.Watcher.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.FileSystem.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.IsolatedStorage.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.MemoryMappedFiles.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.Pipes.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.UnmanagedMemoryStream.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.IO.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Linq.Expressions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Linq.Parallel.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Linq.Queryable.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Linq.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Memory.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.Http.Rtc.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.NameResolution.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.NetworkInformation.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.Ping.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.Requests.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.Security.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.Sockets.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.WebHeaderCollection.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.WebSockets.Client.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Net.WebSockets.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ObjectModel.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Reflection.DispatchProxy.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Reflection.Emit.ILGeneration.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Reflection.Emit.Lightweight.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Reflection.Emit.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Reflection.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Reflection.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Reflection.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Resources.Reader.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Resources.ResourceManager.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Resources.Writer.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.CompilerServices.VisualC.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.Handles.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.InteropServices.RuntimeInformation.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.InteropServices.WindowsRuntime.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.InteropServices.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.Numerics.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.Serialization.Formatters.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.Serialization.Json.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.Serialization.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.Serialization.Xml.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Runtime.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Security.Claims.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Security.Cryptography.Algorithms.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Security.Cryptography.Csp.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Security.Cryptography.Encoding.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Security.Cryptography.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Security.Cryptography.X509Certificates.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Security.Principal.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Security.SecureString.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ServiceModel.Duplex.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ServiceModel.Http.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ServiceModel.NetTcp.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ServiceModel.Primitives.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ServiceModel.Security.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Text.Encoding.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Text.Encoding.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Text.RegularExpressions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Threading.Overlapped.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Threading.Tasks.Extensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Threading.Tasks.Parallel.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Threading.Tasks.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Threading.Thread.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Threading.ThreadPool.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Threading.Timer.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Threading.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.ValueTuple.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Xml.ReaderWriter.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Xml.XDocument.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Xml.XPath.XDocument.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Xml.XPath.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Xml.XmlDocument.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/System.Xml.XmlSerializer.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades/netstandard.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Microsoft.CSharp.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.ComponentModel.Composition.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Core.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Data.DataSetExtensions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Data.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Drawing.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.IO.Compression.FileSystem.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.IO.Compression.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Net.Http.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Numerics.Vectors.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Numerics.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Runtime.Serialization.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Transactions.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Xml.Linq.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.Xml.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/System.dll" +-r:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/mscorlib.dll" +-r:"Library/PackageCache/com.unity.ext.nunit@2.0.3/net40/unity-custom/nunit.framework.dll" +-r:"Library/PackageCache/com.unity.ext.nunit@2.0.3/net40/unity-custom/nunit.framework.dll" +-r:"Library/PackageCache/com.unity.visualscripting@1.8.0/Editor/VisualScripting.Core/Dependencies/DotNetZip/Unity.VisualScripting.IonicZip.dll" +-r:"Library/PackageCache/com.unity.visualscripting@1.8.0/Editor/VisualScripting.Core/Dependencies/YamlDotNet/Unity.VisualScripting.YamlDotNet.dll" +-r:"Library/PackageCache/com.unity.visualscripting@1.8.0/Editor/VisualScripting.Core/EditorAssetResources/Unity.VisualScripting.TextureAssets.dll" +-r:"Library/PackageCache/com.unity.visualscripting@1.8.0/Runtime/VisualScripting.Flow/Dependencies/NCalc/Unity.VisualScripting.Antlr3.Runtime.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Cinemachine.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.RenderPipelines.Core.Editor.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.RenderPipelines.Core.Runtime.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.RenderPipelines.Universal.Editor.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.RenderPipelines.Universal.Runtime.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.Timeline.Editor.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/Unity.Timeline.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/UnityEditor.TestRunner.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/UnityEditor.UI.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/UnityEngine.TestRunner.ref.dll" +-r:"Library/Bee/artifacts/2400b0aEDbg.dag/UnityEngine.UI.ref.dll" +-analyzer:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Tools/Unity.SourceGenerators/Unity.Properties.SourceGenerator.dll" +-analyzer:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Tools/Unity.SourceGenerators/Unity.SourceGenerators.dll" +-analyzer:"/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/Tools/Unity.SourceGenerators/Unity.UIToolkit.SourceGenerator.dll" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/Cinemachine3rdPersonFollowEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBasicMultiChannelPerlinEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlendListCameraEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlenderSettingsEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBrainEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineClearShotEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineColliderEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineComposerEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfiner2DEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfinerEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineExternalCameraEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFramingTransposerEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFreeLookEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineGroupComposerEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLockToTargetEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLookAtEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineMixingCameraEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineNoiseSettingsEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineOrbitalTransposerEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePOVEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePathEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSameAsFollowTargetEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineScreenComposerGuides.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSmoothPathEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStateDrivenCameraEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStoryboardEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTargetGroupEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTrackedDollyEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTransposerEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraBaseEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewFreeLookEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewVirtualCameraEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers/CinemachineTriggerActionEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineCollisionImpulseSourceEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannelPropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannels.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseDefinitionPropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseEnvelopePropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseListenerEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseSourceEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus/CinemachineMenu.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays/CinemachineToolbarOverlay.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachinePostProcessingEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachineVolumeSettingsEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/AxisStatePropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineBlendDefinitionPropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineTagFieldPropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/EmbeddedAssetPropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/NoiseSettingsPropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/OrbitalTransposerHeadingPropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/VcamTargetPropertyDrawer.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotClipEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/BaseEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineEditorAnalytics.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineLensPresets.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineSceneTools.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/EmbeddedAssetHelpers.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/InspectorUtility.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ReflectionHelpers.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SaveDuringPlay.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ScriptableObjectUtility.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SerializedPropertyHelper.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/VcamStageEditor.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineColliderPrefs.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineSettings.cs" +"Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/WaveformWindow.cs" +-langversion:9.0 + +/deterministic +/optimize- +/debug:portable +/nologo +/RuntimeMetadataVersion:v4.0.30319 + +/nowarn:0169 +/nowarn:0649 +/nowarn:0282 +/nowarn:1701 +/nowarn:1702 +/utf8output +/preferreduilang:en-US + +-warn:0 + +/additionalfile:"Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.UnityAdditionalFile.txt" \ No newline at end of file diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.rsp2 b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.rsp2 new file mode 100644 index 00000000..82e019ef --- /dev/null +++ b/Library/Bee/artifacts/2400b0aEDbg.dag/com.unity.cinemachine.editor.rsp2 @@ -0,0 +1 @@ +/pathmap:"/home/sascha/current_coding/TurnBasedStrategyCourse"=. \ No newline at end of file diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/Cinemachine.dll b/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/Cinemachine.dll new file mode 100644 index 00000000..04fa2c33 Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/Cinemachine.dll differ diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/Cinemachine.pdb b/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/Cinemachine.pdb new file mode 100644 index 00000000..aad1ca18 Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/Cinemachine.pdb differ diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/com.unity.cinemachine.editor.dll b/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/com.unity.cinemachine.editor.dll new file mode 100644 index 00000000..27de302b Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/com.unity.cinemachine.editor.dll differ diff --git a/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/com.unity.cinemachine.editor.pdb b/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/com.unity.cinemachine.editor.pdb new file mode 100644 index 00000000..9cf18e58 Binary files /dev/null and b/Library/Bee/artifacts/2400b0aEDbg.dag/post-processed/com.unity.cinemachine.editor.pdb differ diff --git a/Library/BurstCache/JIT/Hashes/24ed88491b28be1880ae439618db3b6d.bhc b/Library/BurstCache/JIT/Hashes/24ed88491b28be1880ae439618db3b6d.bhc new file mode 100644 index 00000000..9a985e75 Binary files /dev/null and b/Library/BurstCache/JIT/Hashes/24ed88491b28be1880ae439618db3b6d.bhc differ diff --git a/Library/BurstCache/JIT/Hashes/8ebf24bdd7c9e143dc5f78b0f198297f.bhc b/Library/BurstCache/JIT/Hashes/8ebf24bdd7c9e143dc5f78b0f198297f.bhc new file mode 100644 index 00000000..b8cf4833 Binary files /dev/null and b/Library/BurstCache/JIT/Hashes/8ebf24bdd7c9e143dc5f78b0f198297f.bhc differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/.signature b/Library/PackageCache/com.unity.cinemachine@2.9.5/.signature new file mode 100755 index 00000000..1635389b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/.signature @@ -0,0 +1,5 @@ +{ + "timestamp": 1674223190, + "signature": "WkKQUy6p+X7tgczIjx8yxt7erQy2+z7Xd4jwbmtINsZbx/w2XjMfzHT3Vc4gM8W0KuZ4VFDerobQQEyp5mTgWtKbXpphwf9Sz2YcF2XfMqPZClV7H8SS6ektd3eRvFJJnpcbsK32agQmLtrPBNWkZAKy60VkYxhgdvFqtZZ6/8nbmMlF8CmNfn80q9eau4L8XzR420S+b1jHxXGtcZvYg7bQpuFIlY3VOZhQJxN8Mq6WHvETa7NCduhomO8B1/CeLf0YJ5gTSjbHprhP9N+HAhxjofExyM2rRY9P/mPSl4o0gq0kUu3S5rNjNDHq75l7wGtGZlLO7AkVlsSBRD8Vp4+42f0GrnrXS2WaUmIne9xG6NnGzMwTYqO8X6y6hntl1dFdipzCqJRn2YjPpyalkT0w4fhvCsb6/2K9A9LU0Bhiq3xQTRkqE9clM5lMegbCb8iTarz73us/D47tc+plAjqsTX226ufgIbfTQ0pGsQDxlgLI4BcliHzI1NcRd5k6", + "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQm9qQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FZOEFNSUlCaWdLQ0FZRUFzdUhXYUhsZ0I1cVF4ZEJjTlJKSAordHR4SmoxcVY1NTdvMlZaRE1XaXhYRVBkRTBEMVFkT1JIRXNSS1RscmplUXlERU83ZlNQS0ZwZ1A3MU5TTnJCCkFHM2NFSU45aHNQVDhOVmllZmdWem5QTkVMenFkVmdEbFhpb2VpUnV6OERKWFgvblpmU1JWKytwbk9ySTRibG4KS0twelJlNW14OTc1SjhxZ1FvRktKT0NNRlpHdkJMR2MxSzZZaEIzOHJFODZCZzgzbUovWjBEYkVmQjBxZm13cgo2ZDVFUXFsd0E5Y3JZT1YyV1VpWXprSnBLNmJZNzRZNmM1TmpBcEFKeGNiaTFOaDlRVEhUcU44N0ZtMDF0R1ZwCjVNd1pXSWZuYVRUemEvTGZLelR5U0pka0tldEZMVGdkYXpMYlpzUEE2aHBSK0FJRTJhc0tLTi84UUk1N3UzU2cKL2xyMnZKS1IvU2l5eEN1Q20vQWJkYnJMbXk0WjlSdm1jMGdpclA4T0lLQWxBRWZ2TzV5Z2hSKy8vd1RpTFlzUQp1SllDM0V2UE16ZGdKUzdGR2FscnFLZzlPTCsxVzROY05yNWdveVdSUUJ0cktKaWlTZEJVWmVxb0RvSUY5NHpCCndGbzJJT1JFdXFqcU51M3diMWZIM3p1dGdtalFra3IxVjJhd3hmcExLWlROQWdNQkFBRT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg" +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/CHANGELOG.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/CHANGELOG.md new file mode 100644 index 00000000..607b25fe --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/CHANGELOG.md @@ -0,0 +1,544 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +## [2.9.5] - 2023-01-16 + +- Unity 2022.2 and up: FocusDistance added to lens settings and is pushed to the camera. +- Optimized path gizmo drawing. Now 3-5 times faster. +- TargetGroup now ignores members whose gameObjects are inactive. +- Bugfix: CinemachinePathBase search radius fixed for not looped paths. +- Regression fix: POV was not handling ReferenceUp correctly +- Bugfix: priority ordering was wrong when the difference between any priority values were smaller than integer min or + bigger than integer max values. +- Bugfix: Extensions were not respecting execution order on domain reload. + +## [2.9.4] - 2022-11-18 + +- Bugfix: VirtualCameras did not set the focal length property of physical cameras. +- Bugfix: could not set main camera to physical mode while a vcam with ModeOverride = None was active + +## [2.9.2] - 2022-10-21 + +- Bugfix: StateDrivenCamera/Clearshot: Transition glitch when backing out of a transition in progress +- Bugfix: Occasional 1-frame glitch when transitioning between some freelooks +- Bugfix: Transposer with LockToTarget binding sometimes had gimbal lock. +- Bugfix: Collider damping is more robust with extreme FreeLook configurations +- Add support for HDRP 14 (Unity 2022.2) +- Bugfix: InputValueGain mode of axis input was not framerate-independent +- Bugfix: When recording with an accumulation buffer, camera lens was not always set correctly +- Bugfix: POV starts up in its centered position, if recentering is enabled +- Freelook ForcePosition is more precise now. + +## [2.9.1] - 2022-08-24 + +- Bugfix: CinemachineConfiner was not confining correctly when Confine Screen Edges was enabled and the camera was + rotated. +- AimingRig sample is only optionally dependent on UnityEngine.UI. +- Bugfix: A memory leak no longer occurs with PostProcessing if no PP layer is present on the camera. +- Bugfix: Confiner2D confines to midpoint when the camera window is bigger than the axis-aligned bounding box of the + input confiner. +- Bugfix: The FadeOut sample scene shader was culling some objects incorrectly. +- Bugfix: Freelook had the wrong heading at the first frame, which could cause a slight jitter. +- Bugfix: FramingTransposer and Composer had a slight rounding error in their Bias fields when the Screen X and Y fields + were modified. +- Bugfix: Fixed spurious Z rotations during blend. +- Regression fix: POV is relative to its parent transform. +- Bugfix: Blending speed was not set correctly when blending back and forth between the same cameras. +- Bugfix: AxisState.Recentering.RecenterNow() did not work reliably. +- Bugfix: SensorSize is not saved when not using physical camera. +- Bugfix: No redundant RepaintAllViews calls. +- Clipper library dependency is no longer conflicting with users. +- Bugfix: Standalone profiler no longer crashes with CM. +- Bugfix: Cinemachine does not produce compiler error in unity editor versions older than 2020, when Input System + package is installed. +- Bugfix: EmbeddedAssetProperties were not displayed correctly in the editor. +- Bugfix: SaveDuringPlay works with ILists now. +- Bugfix: Paste VirtualCamera and FreeLook components onto prefab works for subcomponents +- Bugfix: CinemachineInputProvider now correctly tracks enabled state of input action +- Bugfix: POV orientation was incorrect with World Up override +- Added AutoEnable option to CinemachineInputHandler + +## [2.9.0-pre.6] - 2022-01-12 + +- Bugfix: Negative Near Clip Plane value is kept when camera is orthographic. +- Regression fix: could not change the projection of the main camera if a CM virtual camera is active. +- Regression fix: Axis input was ignoring CM's IgnoreTimeScale setting. +- New feature: CinemachineBrain may control other GameObject instead of the one it is attached to. +- Bugfix: Cinemachine assigns a default input controller delegate that returns 0 when the legacy input system is + disabled. +- Cinemachine example scenes show informative text when used with Input System instead of throwing error messages. +- Regression fix: compilation errors when physics module is not present. +- Regression fix: virtual cameras no longer forget that they are targeting groups on domain reload. +- Bugfix: 3rdPersonFollow logged console messages when looking straight up or down. +- BugFix: InputProvider no longer causes a tiny gc alloc every frame. +- Regression fix: CinemachineCollider smoothing time did not reset correctly, so it was working once only. +- Bugfix: Confiner2D now displays the calculated confining area when its vcam is selected. +- Samples no longer throw errors with HDRP and URP. 3rdPersonWithAimMode and Timeline samples no longer have invalid + references. +- Bugfix: 3rdPersonFollow shows a warning message when no follow target is assigned like the rest of the body + components. +- Added ability to directly set the active blend in CinemachineBrain. +- Bugfix: OnTargetObjectWarped() did not work properly for 3rdPersonFollow. +- Bugfix: POV did not properly handle overridden up. +- Regression fix: removed GC allocs in UpdateTargetCache. +- Bugfix: async scene load/unload could cause jitter. +- Bugfix: Input system should be read only once per render frame. +- Bugfix: Blends were sometimes incorrect when src or dst camera is looking along world up axis. +- Bugfix: Improve accuracy of Group Framing. +- New feature: Added scene view overlay tools for Cinemachine components. +- Cinemachine3rdPersonAim exposes AimTarget, which is the position of where the player would hit. + +## [2.8.0] - 2021-07-13 + +- Bugfix: Freelook prefabs won't get corrupted after editing the Prefab via its instances. +- Bugfix: 3rdPersonFollow works with Aim components now. +- Bugfix: Blends between vcams, that are rotated so that their up vector is different from World up, are correct now. +- Bugfix: POV recentering did not always recenter correctly, when an axis range was limited. +- Bugfix: Collider sometimes bounced a little when the camera radius was large. +- Bugfix: CinemachineVolumeSettings inspector was making the game view flicker. +- Bugfix: CinemachineVolumeSettings inspector displayed a misleading warning message with URP when focus tracking was + enabled. +- Bugfix: Rapidly toggling active cameras before the blends were finished did not use the correct blend time. +- AimingRig sample scene updated with a better reactive crosshair design. +- Added API accessor for Active Blend in Clearshot and StateDrivenCamera. +- Bugfix: Virtual Cameras were not updating in Edit mode when Brain's BlendUpdateMode was FixedUpdate. +- Bugfix: Lens mode override was not working correctly in all cases. +- Collider2D inspector: added warning when collider is of the wrong type. + +## [2.8.0-pre.1] - 2021-04-21 + +- Switching targets (Follow, LookAt) is smooth by default. For the old behaviour, set PreviousStateIsValid to false + after changing the targets. +- Bugfix: Reversing a blend in progress respects asymmetric blend times. +- Regression fix: CmPostProcessing and CmVolumeSettings components setting Depth of Field now works correctly with + Framing Transposer. +- Regression fix: 3rdPersonFollow kept player in view when Z damping was high. +- Regression fix: Physical camera properties were overwritten by vcams when "override mode: physical" was not selected. +- New sample scene: Boss cam demonstrates how to setup a camera that follows the player and looks at the player and the + boss. Boss cam also shows examples of custom extensions. +- Added simplified modes to Impulse Source. +- Added secondary reaction settings to Impulse Listener. +- Added Storyboard support for ScreenSpaceOverlay and ScreenSpaceCamera camera render modes. +- Added DampingIntoCollision and DampingFromCollision properties to Cinemachine3rdPersonFollow to control how gradually + the camera moves to correct for occlusions. +- Added CinemachineCore.OnTargetObjectWarped() to warp all vcams targeting an object. +- Added ability for vcam to have a negative near clip plane. +- Added Draggable Game Window Guides toggle in Cinemachine preferences. When disabled, Game Window guides are only for + visualization. +- Added button to virtual camera inspectors to auto-generate the CinemachineInputProvider component if it is missing. +- Default PostProcessing profile priority is now configurable and defaults to 1000. +- Cinemachine3rdPersonFollow now operates without the physics module and without collision resolution. +- Bugfix: 3rdPersonFollow collision resolution failed when the camera radius was large. +- Bugfix: 3rdPersonFollow damping occured in world space instead of camera space. +- Bugfix: 3rdPersonFollow stuttered when Z damping was high. +- Regression fix: CinemachineInputProvider stopped providing input. +- Bugfix: Lens aspect and sensorSize were updated when lens OverrideMode != None. +- Bugfix: Changing targets on a live vcam misbehaved. +- Bugfix: Framing transposer did not handle empty groups. +- Bugfix: Interrupting a transition with InheritPosition enabled did not work. +- Bugfix: Cinemachine3rdPersonFollow handled collisions by default, now it is disabled by default. +- Bugfix: SaveDuringPlay saved some components that did not have the SaveDuringPlay attribute. +- Regression fix: Entries in the custom blends editor in CM Brain inspector were not selectable. +- GameView guides are drawn only if appropriate inspector subsection is expanded. +- FreeLook rigs are now organized in tabs in the inspector. +- New sample scene: **Boss cam** sample scene demonstrates a camera setup to follow the player and to look at the player + and the boss. The scene provides examples of custom extensions. +- New Sample scene: **2D zoom**, showing how to zoom an orthographic camera with mouse scroll. +- New Sample scene: **2D fighters**, showing how to add/remove targets gradually to/from a TargetGroup based on some + conditions (here, it is the y coord of the players). +- Bugfix: CinemachineCollider's displacement damping was being calculated in world space instead of camera space. +- Bugfix: TrackedDolly sometimes introduced spurious rotations if Default Up and no Aim behaviour. +- Bugfix: 3rdPersonFollow's shoulder now changes smoothly with respect to world-up vector changes. + +## [2.7.2] - 2021-02-15 + +- CinemachineConfiner2D now handles cases where camera window is oversized +- New sample scene (FadeOutNearbyObjects) demonstrating fade out effect for objects between camera and target using + shaders. The example includes a cinemachine extension giving convenient control over the shader parameters +- Bugfix (1293429) - Brain could choose vcam with not the highest priority in some cases +- Bugfix: SaveDuringPlay also works on prefab instances +- Bugfix (1272146) - Adding vcam to a prefab asset no longer causes errors in console +- Bugfix (1290171) - Impulse manager was not cleared at playmode start +- Nested Scrub Bubble sample removed (filenames too long), available now as embedded package +- Compilation guards for physics, animation, and imgui. Cinemachine does not hard depend on anything now +- Bugfix: CM StoryBoard had a 1 pixel border +- Bugfix: CM StoryBoard lost viewport reference after hot reload +- Bugfix: FramingTransposer's TargetMovementOnly damping caused a flick. +- Bugfix: FreeLook small drift when no user input if SimpleFollowWithWorldUp +- Bugfix: InheritPosition did not work with SimpleFollow binding mode +- Bugfix: cleanup straggling post processing profiles when no active vcams +- Bugfix: Checking whether the Input Action passed to CinemachineInputHandler is enabled before using it. +- Bugfix: 3rdPersonFollow FOV was blended incorrectly when ReferenceLookAt was set to a faraway target +- Bugfix: Position predictor not properly reset +- Bugfix: Create via menu doesn't create as child of selected object +- Bugfix: Post-processing profiles not cleaned up when no active vcams +- Bugfix: Install CinemachineExamples Asset Package menu item was failing on 2018.4 / macOS +- New sample scene (2DConfinerComplex) demonstrating new CinemachineConfiner2D extension. +- Updated CharacterMovement2D script in 2D sample scenes (2DConfinedTargetGroup, 2DConfiner, 2DConfinerUndersized, + 2DTargetGroup) to make jumping responsive. +- Updated 2DConfinedTargetGroup and 2DConfiner scenes to use new CinemachineConfiner2D extension. + +## [2.7.1] - 2020-11-14 + +- New feature: CinemachineConfiner2D - Improved 2D confiner. +- Added ApplyAfter option to ImpulseListener, to add control over the ordering of extensions +- UI update - Moved Cinemachine menu to GameObject Create menu and Right Click context menu for Hierarchy. +- Virtual Camera Lens inspector supports display of Horizontal FOV +- Virtual Camera Lens can override orthographic and physical camera settings +- Bugfix (1060230) - lens inspector sometimes displayed ortho vs perspective incorrectly for a brief time +- Bugfix (1283984) - Error message when loading new scene with DontDestroyOnLoad +- bugfix (1284701) - Edge-case exception when vcam is deleted +- Storyboard Global Mute moved from Cinemachine menu to Cinemachine preferences. +- Bugfix - long-idle vcams when reawakened sometimes had a single frame with a huge deltaTime +- Bugfix - PostProcessing temporarily stopped being applied after exiting play mode + +## [2.6.3] - 2020-09-16 + +- Regression fix (1274989) - OnTargetObjectWarped broken for OrbitalTransposer +- Bugfix (1276391) - CM Brain Reset did not reset Custom Blends asset in inspector +- Bugfix (1276343) - CM Brain inspector custom blends misaligned dropdown arrow +- Bugfix (1256530) - disallow multiple components where appropriate +- Bugfix: BlendList camera was incorrectly holding 0-length camera cuts +- Bugfix (1174993) - CM Brain logo was not added to Hierarchy next to Main Camera after adding vcam for the first time + after importing CM. +- Bugfix (1100131) - Confiner is aware of 2D collider's offset attribute. + +## [2.6.2] - 2020-09-02 + +### Bugfixes + +- Regression fix: OnCameraCut Memory leak when using Cinemachine with PostProcessing package +- Bugfix (1272146): Checking for null pipeline, before drawing gizmos. +- Add support for disabling Physics module + +## [2.6.1] - 2020-08-13 + +### Bugfixes + +- Regression Fix: PostProcessing/VolumeSettings FocusTracksTarget was not accounting for lookAt target offset +- Regression fix: Confiner no longer confines noise and impulse +- Bugfix: StateDrivenCamera was choosing parent state if only 1 clip in blendstate, even though there was a vcam + assigned to that clip +- Bugfix: vertical group composition was not composing properly +- Bugfix: CinemachineNewVirtualCamera.AddComponent() now works properly +- Bugfix: removed compile errors when Physics2D module is disabled +- Bugfix: brain updates on scene loaded or unloaded +- Bugfix (1252431): Fixed unnecessary GC Memory allocation every frame when using timeline +- Bugfix (1260385): check for prefab instances correctly +- Bugfix (1266191) Clicking on foldout labels in preferences panel toggles their expanded state +- Bugfix (1266196) Composer target Size label in preferences panel was too big +- Bugfix: Scrubbing Cache was locking virtual camera transforms beyond the cache range +- Improved performance of path gizmo drawing +- Timeline Scrubbing Cache supports nested timelines, with some known limitations to be addressed with a future Timeline + package release +- Added support for deterministic noise in the context of controlled rendering (via CinemachineCore.CurrentTimeOverride) +- Added Target Offset field to Framing Transposer +- Added Multi-object edit capabilities to virtual cameras and extensions +- Added inspector button to clear the Scrubbing Cache + +## [2.6.0] - 2020-06-04 + +### New Features and Bugfixes + +- Added AxisState.IInputProvider API to better support custom input systems +- Added CinemachineInpiutProvider behaviour to support Unity's new input system +- Added Timeline Scrubbing cache: when enabled, simulates damping and noise when scrubbing in timeline +- Added ManualUpdate mode to the Brain, to allow for custom game loop logic +- VolumeSettings/PostProcessing: added ability to choose custom target for focus tracking +- Added CinemachineRecomposer for timeline-tweaking of procedural or recorded vcam Aim output +- Added GroupWeightManipulator for animating group member weights +- Impulse: Added PropagationSpeed, to allow the impulse to travel outward in a wave +- Impulse: added support for continuous impulses +- Added CinemachineIndependentImpulseListener, to give ImpulseListener ability to any game object +- Added 3rdPersonFollow and 3rdPersonAim for dead-accurate 3rd-person aiming camera +- Added ForceCameraPosition API of virtual cameras, to manually initialize a camera's position and rotation +- Added example scenes: Aiming Rig and Dual Target to show different 3rd person cmera styles +- FramingTransposer does its work after Aim, so it plays better with Aim components. +- Framing Transposer: add Damped Rotations option. If unchecked, changes to the vcam's rotation will bypass Damping, and + only target motion will be damped. +- Refactored Lookahead - better stability. New behaviour may require some parameter adjustment in existing content +- Composer and Framing Transposer: improved handling at edge of hard zone (no juddering) +- Orbital Transposer / FreeLook: improved damping when target is moving +- CustomBlends editor UX improvements: allow direct editing of vcam names, as well as dropdown +- Add Convert to TargetGroup option on LookAt and Follow target fields +- Confiner: improved stability when ConfineScreenEdges is selected and confing shape is too small +- Extensions now have PrePipelineMutateState callback +- CinemachineCore.UniformDeltaTimeOverride works in Edit mode +- Added TargetAttachment property to vcams. Normally 1, this can be used to relax attention to targets - effectively a + damping override +- Bugfix: Blend Update Method handling was incorrect and caused judder in some circumstances +- Bugfix: VolumeSettings blending was popping when weight was epsilon if volume altered a non-lerpable value +- Bugfix (1234813) - Check for deleted freelooks +- Bugfix (1219867) - vcam popping on disable if blending +- Bugfix (1214301, 1213836) - disallow structural change when editing vcam prefabs +- Bugfix (1213471, 1213434): add null check in editor +- Bugfix (1213488): no solo for prefab vcams +- Bugfix (1213819): repaintGameView on editor change +- Bugfix (1217306): target group position drifting when empty or when members are descendants of the group +- Bugfix (1218695): Fully qualify UnityEditor.Menu to avoid compile errors in some circumstances +- Bugfix (1222740): Binding Modes, that don't have control over axis value range, are not affected by it. +- Bugfix (1227606): Timeline preview and playmode not the same for composer with hand-animated rotations +- Bugfix: Confiner's cache is reset, when bounding shape/volume is changed. +- Bugfix (1232146): Vcam no longer jerks at edge of confiner bound box. +- Bugfix (1234966): CompositeCollider scale was applied twice. + +## [2.5.0] - 2020-01-15 + +### Support HDRP 7 and URP simultaneously + +- Accommodate simultaneous precesnce of HDRP and URP +- Regression fix: Axis was always recentered in Edit mode, even if recentering is off + +## [2.4.0] - 2020-01-10 + +### HDRP 7 support and bugfixes + +- Storyboard: added global mute function +- New vcams are by default created matching the scene view camera +- Added ApplyBeforeBody option to POV component, to support working with FramingTransposer +- Added RectenterTarget to POV component +- Added OnTransitionFromCamera callback to extensions +- Added Damping to SameAsFollowTarget and HardLockToTarget components +- URP 7.1.3: added CinemachinePixelPerfect extension +- Added Speed Mode to AxisState, to support direct axis control without max speed +- New example scene: OverTheShoulderAim illustrating how to do over-the-shoulder TPS cam, with Normal and Aim modes +- Impulse Manager: added option to ignore timescale +- Framing Transposer: added OnTransition handling for camera rotation if InheritPosition +- Upgrade to support HDRP and Universal RP 7.0.0 API +- Upgrade to support HDRP and Universal RP 7.1.0 API +- Removed Resources diretories +- Sample scenes now available via package manager +- Added optional "Display Name" field to Cinemachine Shot in Timeline +- Added "Adopt Current Camera Settings" item to vcam inspector context menu +- Composer and FramingTransposer: allow the dead zone to extend to 2, and the Screen x,Y can range from -0.5 to 1.5 +- HDRP: lens presets include physical settings if physical camera +- Regression Fix: Framing Transposer: ignore LookAt target. Use Follow exclusively +- Bugfix: Framing Transposer was not handling dynamic changes to FOV properly +- Bugfix: PostProcessing extension was not handling standby update correctly when on Manager Vcams +- Bugfix: PostProcessing extension was leaking a smallamounts of memory when scenes were unloaded +- Bugfixes: (fogbugz 1193311, 1193307, 1192423, 1192414): disallow presets for vcams +- Bugfix: In some heading modes, FreeLook was improperly modifying the axes when activated +- Bugfix: Orbital transposer was improperly filtering the heading in TargetForward heading mode +- Bugfix: added EmbeddedAssetHelper null check +- Bugfix: composer screen guides drawn in correct place for physical camera +- Bugfix: FreeLook was not respecting wait time for X axis recentering +- Bugfix: FreeLook X axis was not always perfectly synched between rigs +- Bugfix (fogbugz 1176866): Collider: clean up static RigidBody on exit +- Bugfix (fogbugz 1174180): framing transposer wrong ortho size calculation +- Bugfix (fogbugz 1158509): Split brain.UpdateMethod into VcamUpdateMethod and BrainUpdateMethod, to make blending work + correctly +- Bugfix (fogbugz 1162074): Framing transposer and group transposer only reached half maximum ortho size +- Bugfix (fogbugz 1165599): Transposer: fix gimbal lock issue in LockToTargetWithWorldUp +- Bugfix: VolumeSettings: handle layermask in HDAdditionalCameraData +- Bugfix: use vcam's up when drawing gizmos (orbital transposer and free look) + +## [2.3.4] - 2019-05-22 + +### PostProcessing V3 and bugfixes + +- Added support for PostProcessing V3 - now called CinemachineVolumeSttings +- Added CinemachineCore.GetBlendOverride delegate to allow applications to override any vcam blend when it happens +- When a blend is cancelled by the opposite blend, reduce the blend time +- Orthographic cameras allow a Near Clip of 0 +- Timeline won't auto-create CM brains when something dragged onto it +- Confiner: Improvement in automatic path invalidation when number of path points path changes +- Added CinemachineInpuitAxisDriver utility for overriding the default AxisState behaviour +- CinemachineCameraOffset: added customizable stage for when to apply the offset +- Added Loop option to BlendList Camera +- Improved Lookahead: does not automatically recenter +- Brain no longer applies time scaling to fixed delta +- Added dependency on Unity.ugui (2019.2 and up) +- Bugfix: potential endless loop when using Ignore tag in Collider +- Bugfix: Allow externally-driven FeeLook XAxis to work properly with SimpleFollow +- Bugfix: vcams with noise would sometimes show one noiseless frame when they were activated and standby update was not + Always +- Bugfix: Generate a cut event if cutting to a blend-in-progess (fogbugz 1150847) +- Bugfix: reset lens shift if not physical camera +- Bugfix: Collider must consider actual target position, not lookahead position +- Bugfix: FreeLook heading RecenterNow was not working +- Bugfix: lookahead now takes the overridden Up into account +- Bugfix: screen composer guides drawn in wrong place for picture-in-picture +- Bugfix: FreeLook now draws only 1 active composer guide at a time (fogbugz 1138263) +- Bugfix: cameras sometimes snapped when interrupting blends +- Bugfix: Path handles no longer scale with the path object +- Bugfix: Framing Transposer Center on Activate was not working properly (fogbugz 1129824) +- Bugfix: FreeLook inherit position +- Bugfix: collider was pushing camera too far if there were multiple overlapping obstacles +- Bugfix: use IsAssignableFrom instead of IsSubclass in several places +- Bugfix: when interrupting a blend in progress, Cut was not respected +- Bugfix: collider minimum occlusion time and smoothing time interaction +- Bugfix: TargetGroup.RemoveMember error (fogbugz 1119028) +- Bugfix: TargetGroup member lerping jerk when member weight near 0 +- Bugfix: Transposer angular damping should be 0 only if binding mode not LockToTarget + +## [2.3.3] - 2019-01-08 + +### Temporary patch to get around a Unity bug in conditional dependencies + +- Removed Cinemachine.Timeline namespace, as a workaround for fogbugz 1115321 + +## [2.3.1] - 2019-01-07 + +### Bugfixes + +- Added timeline dependency +- OnTargetObjectWarped no longer generates garbage + +## [2.3.0] - 2018-12-20 + +### Support for Unity 2019.1 + +- Added dependency on new unity.timeline +- Added conditional dependence on PostProcessingV2 +- No copying CM gizmo into assets folder +- FreeLook: if inherit position from similar FreeLooks, bypass damping +- Timeline: improve handling when vcam values are tweaked inside shot inspector (fogbugz 1109024) + +## [2.2.8] - 2018-12-10 + +### Bugfixes, optimizations, and some experimental stuff + +- Transposer: added Angular Damping Mode, to support quaternion calculations in gimbal-lock situations +- Framing Transposer and Group Transposer: group composing bugfixes, respect min/max limits +- Added ConemachineCameraOffset extension, to offset the camera a fixed distance at the end of the pipeline +- Dolly Cart: added support for LateUpdate +- State-driven-camera: added [NoSaveDuringPlay] to Animated Target and Layer Index +- Added AxisState.Recentering.RecenterNow() API call to skip wait time and start recentering now (if enabled) +- Added NoLens blend hint, to leave camera Lens settings alone +- Updated documentation (corrections, and relocation to prevent importing) +- Upgrade: added support for nested prefabs in Unity 2018.3 (fogbugz 1077395) +- Optimization: position predictor is more efficient +- Optimization: Composer caches some calculations +- Optimization: Fix editor slowdown when Lens Presets asset is missing +- Experimental: Optional new damping algorithm: attempt to reduce sensitivity to variable framerate +- Experimental: Optional new extra-efficient versions of vcam and FreeLook (not back-compatible) +- Timeline: play/pause doesn't kick out the timeline vcam +- Path editor: make sure game view gets updated when a path waypoint is dragged in the scene view +- Composer guides are shown even if Camera is attached to a renderTexture +- Bugfix: allow impulse definition to be a non-public field (property drawer was complaining) +- Bugfix: added null check for when there is no active virtual camera +- Bugfix: CollisionImpulseSource typo in detection of 2D collider +- Bugfix: PasteComponentValues to prefab vcams and FreeLooks were corrupting scene and prefabs +- Bugfix: Timeline mixer was glitching for single frames at the end of blends +- Bugfix: Added OnTransitionFromCamera() to POV and OrbitalTransposer, to transition axes intelligently +- Regression fix: if no active vcam, don't set the Camera's transform + +## [2.2.7] - 2018-07-24 + +### Mostly bugfixes + +- Bugfix: fogbugz case 1053595: Cinemachine Collider leaves hidden collider at origin that interferes with scene objects +- Bugfix: fogbugz case 1063754: empty target group produces console messages +- Bugfix: FreeLook Paste Component Values now pastes the CM subcomponents as well +- Bugfix: added extra null checks to support cases where current vcam is dynamically deleted +- Bugfix: reset BlendList when enabled +- Regression fix: FreeLook axis values get transferred when similar vcams transition +- Bugfix: cutting to BlendList vcam sometimes produced a few bad frames +- Bugfix: smart update tracks the targets more efficiently and correctly, and supports RigidBody interpolation (2018.2 + and up) +- Enhancement: POV component interprets POV as relative to parent transform if there is one +- API change: OnCameraLive and CameraActivated events take outgoing vcam also as parameter (may be null) + +## [2.2.0] - 2018-06-18 + +### Impulse Module and More + +- New Cinemachine Impulse module for event-driven camera shakes +- New Event Helper script CinemachineTriggerAction takes action on Collider and Collider2D enter/exit events, and + exposes them as UnityEvents +- New performance-tuning feature: Standby Update. Controls how often to update the vcam when it's in Standby. +- New NoiseSettings editor with signal preview +- Added Focal Length or Named FOV presets for Camera Lens +- Added support for Physical Camera: focal length and Lens Offset +- New improved Group framing algorithm: tighter group framing in GroupComposer and FramingTransposer +- Collider: now returns TargetIsObscured if the target is offscreen (great for cameras with fixed aim) +- Collider: added Minimum Occlusion Time setting, to ignore fleeting obstructions +- Collider: added Transparent Layers mask, to specify solid objects that don't obstruct view +- Collider: damping will no longer take the camera through obstacles +- Collider: Added separate damping setting for when target is being occluded vs when camera is being returned to its + normal position +- Collider: added Smoothing setting, to reduce camera jumpiness in environements with lots of obstacles +- NoiseSettings: added checkbox for pure sine-wave instead of Perlin wave +- If no LookAt target, PostProcessing FocusTracksTarget offset is relative to camera +- TrackedDolly: Default up mode sets Up to World Up +- Virtual Camera: New Transitions section in inspector that gives more control over blending: + - Blend Hint provides some control over how the position and rotation are interpolated + - Inherit Position checkbox to ensure smooth positional handoff from outgoing camera + - OnCameraLive event gets fired when the camera activates. Useful for custom handlers. +- Added ScreenSpaceAimWhenTargetsDiffer as a vcam blend hint. This influences what happens when blending between vcams + with different LookAt targets +- Increased stability of vcams with very small FOVs +- Framing Transposer no longer requires LookAt to be null +- LensSettings Aspect, Orthographic, IsPhysicalCamera, SensorSize properties no longer internal +- Noise Profiles: don't magically create assets. Prompt user for filename and location of new or cloned profiles +- Refactored interaction between timeline and CM brain, to improve handling of edge cases (fogbugz case 1048497) +- Bugfix: StateDrivenCamera Editor was not finding states if target was OverrideController +- Bugfix when dragging orbital transposer transform: take bias into account +- Bugfix: SaveDuringPlay was not handling asset fields correctly - was sometimes crushing assets +- Bugfix: SimpleFollow transposers were not initilizing their position correctly at game start +- Bugfix: Timeline with CM shot was causing jitter in some FixedUpdate situations +- Bugfix: Multiple brains with heterogeneous update methods were not behaving correctly. CM will now support this, but + you must make sure that the brains have different layer masks. +- Example scenes now include use of CinemachineTriggerAction script. + +## [2.1.13] - 2018-05-09 + +### Removed dependency on nonexistant Timeline package, minor bugfixes + +- Bugfix: Custom Blends "Any to Any" was not working (regression) +- Bugfix: Composer was sometimes getting wrong aspect if multiple brains with different aspect ratios +- Bugfix: could not drag vcam transforms if multiple inspectors and one is hidden +- Bugfix: Framing Transposer initializes in the wrong place - noticeable if dead zone + +## [2.1.12] - 2018-02-26 + +### Storyboard, Bugfixes and other enhancements. Also some restructuring for Package Manager + +- Project restructure: Removed Base, Timeline, and PostFX folders from project root. PostProcessing code must now be + manually imported from Cinemachine menu. No more dependencies on scripting defines. +- New Storyboard extension, to display images over the vcams. Comes with a Waveform monitor window for color grading +- New option to specify vcam position blend style: linear, spherical, or cylindrical, based on LookAt target +- Added API to support seamless position warping of target objects: OnTargetObjectWarped(). +- Added support for custom blend curves +- Lookahead: added Ignore Y Axis Movement option +- Added support for cascading blends (i.e. blending from mid-blend looks better) +- POV/Orbital/FreeLook axis: exposed Min, Max, and Wrap in the UI, for customized axis range +- FreeLook: added Y Axis recentering +- POV: Added recentering feature to both axes +- Path: Added Normalized Path units option: 0 is start of path, 1 is end. +- Path: added length display in inspector +- Timeline Clip Editor: vcam sections are now collapsible +- API enhancement: added Finalize to Pipeline stages, called even for manager-style vcams +- Bugfix: PostProcessing V2 DoF blending works better +- Bugfix: OrbitalTransposer works better with WorldUp overrides +- Bugfix: Remove StateDrivenCamera "not playing a controller" warning +- Bugfix: Handle exceptions thrown by assemblies that don't want to be introspected +- Bugfix: vcams following physics objects incorrectly snapped to origin after exiting play mode +- Bugfix: predictor now supports time pause +- Bugfix: Moved StartCoroutine in Brain to OnEnable() +- Bugfix: Collider was causing problems in Physics on Android platforms +- Bugfix: dragging a vcam's position updtaes prefabs properly +- Bugfix: All extension now respect the "enabled" checkbox +- Bugfix: Undo for Extasion add will no longer generate null references + +## [2.1.10] - 2017-11-28 + +### This is the first UPM release of *Unity Package Cinemachine*. + +- New Aim component: Same As Follow Target simply uses the same orientation as the Follow target +- Perlin Noise component: added inspector UI to clone or locate existing Noise profiles, and to create new ones +- Noise Presets were moved outside of the Examples folder +- Example Assets are now included as embedded package, not imported by default +- Bugfix: FreeLook with PositionDelta was not properly updating the heading +- Bugfix: Transitioning between FreeLooks simetimes caused a short camera freeze +- Bugfix: Added some null checks to FreeLook, to prevent error messages at build time + +## [2.1.9] - 2017-11-17 + +### Initial version. + +*Version 2.1.9 cloned from private development repository, corresponding to package released on the asset store* diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/CHANGELOG.md.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/CHANGELOG.md.meta new file mode 100644 index 00000000..8f9774da --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/CHANGELOG.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5961b2a4e47c5db438e1234cf03a2a09 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/Cinemachine2D.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/Cinemachine2D.md new file mode 100644 index 00000000..67fed163 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/Cinemachine2D.md @@ -0,0 +1,11 @@ +# 2D graphics + +Cinemachine supports orthographic cameras. When you set the Unity camera's projection to Orthographic, Cinemachine +adjusts to accommodate it. In Virtual Camera properties for __Lens__, __FOV__ is replaced by __Orthographic Size__. Note +that settings related to FOV and certain FOV-oriented behaviors such as [Follow Zoom](CinemachineFollowZoom.md) have no +effect if the camera is orthographic. + +In orthographic environments, it doesn’t usually make sense to rotate the camera. Accordingly, Cinemachine offers +the [Framing Transposer](CinemachineBodyFramingTransposer.md) to handle framing and composition without rotating the +camera. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/Cinemachine3rdPersonAim.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/Cinemachine3rdPersonAim.md new file mode 100644 index 00000000..e26a530c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/Cinemachine3rdPersonAim.md @@ -0,0 +1,24 @@ +# Cinemachine 3rd Person Aim Extension + +This extension is created to be a part of a 3rd-person camera rig. + +To preserve aiming accuracy, this extension deliberately cancels out all rotational noise, and forces a hard look at the +target point. However, it's still possible to use camera noise with this extension, provided that the noise affects the +camera position, instead of the rotation. + +See the __AimingRig__ sample scene for an example of this. + +Additionally, if _Aim Target Reticle_ is non-null, this extension will project a ray from the Follow target's position +and find the first object that collides with that ray. The Aim Target Reticle object will then be placed on that point +in the Game View, to indicate what the player would hit if a shot were to be fired. This point may be different from +what the camera is looking at, if the found object is close enough to be affected by parallax as a result of the offset +between player and camera. + +## Properties: + +| **Property:** | **Function:** | +|:-------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Aim Collision Filter__ | Objects on these layers will be detected. | +| __Ignore Tag__ | Objects with this tag are ignored. It's a good idea to set this field to the target's tag. | +| __Aim Distance__ | How far to project the object detection ray. | +| __Aim Target Reticle__ | This 2D object will be positioned in the Game View over the raycast hit point, if any, or will remain in the center of the screen if no hit point is detected. May be null, in which case no on-screen indicator will appear. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/Cinemachine3rdPersonFollow.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/Cinemachine3rdPersonFollow.md new file mode 100644 index 00000000..c133cedd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/Cinemachine3rdPersonFollow.md @@ -0,0 +1,90 @@ +# 3rd Person Follow + +Use Cinemachine Virtual Camera’s **3rd Person Follow** to keep the camera at a constant position and distance relative +to a Follow target (subject to damping controls), tracking the target’s movement and rotation. + +The 3rd Person Follow’s mini-rig setup defines the camera position and distance relative to the target. With a suitable +shoulder offset, this mini-rig can produce a 3rd-person camera, where the character is offset in the frame and the +camera looks over the character’s shoulder. With different settings, it can produce a first-person camera. + +For example, a rig set up with these values: + +| **Property:** | **Value:** | +|:------------------------|:-------------------------| +| Damping | X= 0.1 Y= 0.5 Z= 0.3 | +| Shoulder Offset | X= 0.4 Y= 1 Z= -0.5 | +| Vertical Arm Length | 0.27 | +| Camera Side | 1 | +| Camera Distance | 2 | +| Camera Collision Filter | Default | +| Camera Radius | 0.2 | + +Produces this virtual rig in the Scene view: + +![](images/CinemachineRigSceneView.png) + +Which results in this Game view: + +![](images/CinemachineRigGameViewExample.png) + +The rig and the camera position are defined by three pivot points (the origin, the shoulder, and the hand) as well as by +a camera that is positioned behind the hand. + +- The **origin (A)**: The origin is the Follow target's position. When the target pivots horizontally, the rig rotates + with it around this point. +- The **shoulder (B)**: By default, it is offset to one side, to create an over-the-shoulder follow position. Vertical + rotations of the Follow target are transferred here, so the rig rotates horizontally about the origin, and vertically + about the shoulder. +- The **hand (C)**: Vertically offset in relation to the shoulder. The arm length affects the follow target's screen + position when the camera rotates vertically. By default, it is offset from the shoulder, so that vertical rotations + will keep the character nicely positioned on the screen. For 1st-person cameras, this can be set to 0. +- The **camera (D)**: The camera's rotation will always be parallel to the Follow target's rotation, but positioned at + Camera Distance behind the hand. The camera always looks directly at the hand. + +Note the rotations on the rig;
+ +- **B rotates horizontally around A**. Using A as the origin, B's position is calculated from the Shoulder Offset's X, + Y, and Z values .
+ ![](images/CMShoulderOffsetexample.png) + +- **C rotates vertically around B**. C's position is calculated from the Vertical Arm Length from B. Positive values + result with C above B, negative values result with C below B.
+ ![](images/CMVerticalDistanceexample.png) + +## Controlling the Camera + +There is no direct input control for the camera. You must have a controller script that moves and rotates the Follow +target; the camera will position and orient itself relative to that. When the Follow target is the character itself, the +camera’s rotation always matches the character’s rotation. When the Follow target is an invisible GameObject that can +rotate independently of the character, the camera will then be able to rotate around the character. + +For an example, see the **AimingRig** sample scene. + +## Built-in Collision Resolution + +The 3rd-person Follow component has a built-in collision resolution system, so when the target moves close to an +obstacle, the camera position is adjusted so that it will never be inside an obstacle; the built-in collision resolution +means the camera always keeps the target in sight, despite intervening obstacles. When the target moves too close to an +obstacle, the rig bends and stretches to keep the camera outside the obstacle but always with the target in view. + +## Shaky Movement, Steady Aim + +When combined with the [Cinemachine3rdPersonAim](Cinemachine3rdPersonAim.md) extension, the result is a powerful rig +that can maintain steady aim for a shooter-type game, even when the camera movement is shaky or noisy. +Cinemachine3rdPersonAim re-adjusts the camera orientation to maintain a fixed point at the center of the screen, +correcting for variations due to hand-held camera noise or shaking target motion. + +## Properties: + +| **Property:** | **Function:** | +|:------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Damping | The responsiveness of the camera in tracking the target. Each axis can have its own setting. The value is the approximate time it takes the camera to catch up to the target's new position. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| Shoulder Offset | Position of the shoulder pivot relative to the follow target origin. This offset is in target-local space. | +| Vertical Arm Length | Vertical offset of the hand in relation to the shoulder. Arm length affects the follow target's screen position when the camera rotates vertically. | +| Camera Side | Specifies which shoulder the camera is on (left, right, or somewhere in-between). | +| Camera Distance | Specifies the distance from the hand to the camera. | +| Camera Collision Filter | Specifies which layers will be included or excluded from collision resolution. | +| Ignore Tag | Obstacles with this tag will be ignored by collision resolution. It is recommended to set this field to the target's tag. | +| Camera Radius | Specifies how close the camera can get to collidable obstacles without adjusting its position. | +| Damping Into Collision | Specifies how gradually the camera moves to correct for an occlusion. Higher numbers move the camera more gradually. | +| Damping From Collision | Specifies how gradually the camera returns to its normal position after having been corrected by the built-in collision resolution system. Higher numbers move the camera more gradually back to normal. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimComposer.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimComposer.md new file mode 100644 index 00000000..1c0c7182 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimComposer.md @@ -0,0 +1,26 @@ +# Composer + +This Virtual Camera __Aim__ algorithm rotates the camera to face the __Look At__ target. It also applies offsets, +damping, and composition rules. Examples of targets for aiming: the upper spine or head bone of a character, vehicles, +or dummy objects which are controlled or animated programmatically. + +## Properties: + +| **Property:** | **Function:** | +|:--------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Center On Activate** | Forces the camera to the center of the screen when the camera becomes live. | +| **Tracked Object Offset** | Offset from the center of the Look At target, in target-local space. Fine-tune the tracking target position when the desired area is not the tracked object’s center. You can also use [Scene Handles](handles.md) to modify this property. | +| __Lookahead Time__ | Adjust the offset based on the motion of the Look At target. The algorithm estimates the point that the target will be this many seconds into the future. This feature is sensitive to noisy animation. It can amplify the noise, resulting in undesirable camera jitter. If the camera jitters unacceptably when the target is in motion, turn down this property or animate the target more smoothly. | +| __Lookahead Smoothing__ | Controls the smoothness of the lookahead algorithm. Larger values smooth out jittery predictions and increase prediction lag. | +| __Lookahead Ignore Y__ | Toggle to ignore movement along the Y axis for lookahead calculations. | +| __Horizontal Damping__ | How responsively the camera follows the target in the screen-horizontal direction. Use small numbers for more responsive, rapid rotation of the camera to keep the target in the dead zone. Use larger numbers for a more heavy, slowly-responding camera. | +| __Vertical Damping__ | How responsively the camera follows the target in the screen-vertical direction. Use different vertical and horizontal settings to give a wide range of camera behaviors. | +| __Screen X__ | Horizontal screen position for the center of the dead zone. The camera rotates so that the target appears here. | +| __Screen Y__ | Vertical screen position for target. The camera rotates so that the target appears here. | +| __Dead Zone Width__ | The width of the screen region within which the camera ignores any movement of the target. If the target is positioned anywhere within this region, the Virtual Camera doesn't update its rotation. This is useful for ignoring minor target movement. | +| __Dead Zone Height__ | The height of the screen region within which the camera ignores any movement of the target. If the target is positioned anywhere within this region, the Virtual Camera doesn't update its rotation. This is useful for ignoring minor target movement. | +| __Soft Zone Width__ | The width of the soft zone. If the target appears in this region of the screen, the camera will rotate to push it back out to the dead zone, in the time specified by the Horizontal Damping setting. | +| __Soft Zone Height__ | The height of the soft zone. If the target appears in this region of the screen, the camera will rotate to push it back out to the dead zone, in the time specified by the Vertical Damping setting. | +| __Bias X__ | Positions the soft zone horizontally, relative to the dead zone. | +| __Bias Y__ | Positions the soft zone vertically, relative to the dead zone. | + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimDoNothing.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimDoNothing.md new file mode 100644 index 00000000..80b2b475 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimDoNothing.md @@ -0,0 +1,5 @@ +# Do Nothing + +This Virtual Camera __Aim__ algorithm does not aim the Virtual Camera. Choose this algorithm for static shots or for +animating the rotation directly with custom scripts. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimGroupComposer.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimGroupComposer.md new file mode 100644 index 00000000..52b92470 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimGroupComposer.md @@ -0,0 +1,6 @@ +# Group Composer + +This Virtual Camera __Aim__ algorithm aims the camera at multiple GameObjects. Otherwise, it behaves identically to the +Composer and has the same settings. If the Look At target is a [Cinemachine Target Group](CinemachineTargetGroup.md), +the algorithm adjusts the FOV and the camera distance to ensure that the group of targets is framed properly. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimHardLook.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimHardLook.md new file mode 100644 index 00000000..1836f587 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimHardLook.md @@ -0,0 +1,5 @@ +# Hard Look At + +This Virtual Camera __Aim__ algorithm rotates the Virtual Camera to keep the __Look At__ target in the center of the +camera frame. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimPOV.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimPOV.md new file mode 100644 index 00000000..d55032d3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimPOV.md @@ -0,0 +1,39 @@ +# POV + +This Virtual Camera __Aim__ algorithm aims the camera in response to the user’s input. + +## Properties: + +| **Property:** | | **Function:** | +|:---------------------------|:-------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Vertical Axis__ | | Controls the vertical orientation of the Virtual Camera’s aim. | +| | _Value_ | The current value of the axis to aim the camera at, in degrees. Accepted values are -90 to 90. | +| | _Value Range_ | The minimum and maximum values for the vertical axis of the Virtual Camera. | +| | _Wrap_ | If checked, the axis wraps around the Value Range values, forming a loop. | +| | _Max Speed_ | The maximum speed of this axis in degrees/second, or the multipler for the input value if Speed Mode is set to _InputValueGain_. | +| | _Speed Mode_ | How the axis responds to input. _MaxSpeed_ (the default) clamps the maximum speed at which the axis can change, regardless of the input. _Input Value Gain_ multiplies the input value by MaxSpeed. | +| | _Accel Time_ | The amount of time in seconds it takes to accelerate to Max Speed with the supplied axis at its maximum value. | +| | _Decel Time_ | The amount of time in seconds it takes to decelerate the axis to zero if the supplied axis is in a neutral position. | +| | _Input Axis Name_ | The name of this axis as specified in Unity Input Manager. To disable the automatic updating of this axis, set this property to an empty string. | +| | _Input Axis Value_ | The value of the input axis. A value of 0 means no input. You can drive this directly from a custom input system, or you can set the Input Axis Name and have the value driven by the Unity Input Manager. | +| | _Invert_ | Check to invert the raw value of the input axis before it is used. | +| __Vertical Recentering__ | | Controls automatic vertical recentering when the player gives no input. | +| | _Enabled_ | Check to enable automatic vertical recentering. | +| | _Wait Time_ | If no user input has been detected on the vertical axis, the camera waits this long in seconds before recentering. | +| | _Recentering Time_ | Maximum angular speed of recentering. Accelerates into and decelerates out of this. | +| __Horizontal Axis__ | | Controls the horizontal orientation. | +| | _Value_ | The current value of the axis, in degrees. Accepted values are -180 to 180. | +| | _Value Range_ | The minimum and maximum values for the axis. | +| | _Wrap_ | If checked, the axis wraps around the Value Range values, forming a loop. | +| | _Max Speed_ | The maximum speed of this axis in degrees/second, or the multipler for the input value if Speed Mode is set to _InputValueGain_. | +| | _Speed Mode_ | How the axis responds to input. _MaxSpeed_ (the default) clamps the maximum speed at which the axis can change, regardless of the input. _Input Value Gain_ multiplies the input value by MaxSpeed. | +| | _Accel Time_ | The amount of time in seconds it takes to accelerate to Max Speed with the supplied Axis at its maximum value. | +| | _Decel Time_ | The amount of time in seconds it takes to decelerate the axis to zero if the supplied axis is in a neutral position. | +| | _Input Axis Name_ | The name of this axis as specified in the Unity Input Manager. Set this property to an empty string to disable automatic update of this axis. | +| | _Input Axis Value_ | The value of the input axis. A value of 0 means no input. You can drive this directly from a custom input system, or you can set the Input Axis Name and have the value driven by the Unity Input Manager. | +| | _Invert_ | Check to invert the raw value of the input axis before it is used. | +| __Horizontal Recentering__ | | Controls automatic vertical recentering when the player gives no input. | +| | _Enabled_ | Check to enable automatic vertical recentering. | +| | _Wait Time_ | If no user input has been detected on the vertical axis, the camera waits this long in seconds before recentering. | +| | _Recentering Time_ | Maximum angular speed of recentering. Accelerates into and decelerates out of this. | + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimSameAsFollow.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimSameAsFollow.md new file mode 100644 index 00000000..fa04fe98 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAimSameAsFollow.md @@ -0,0 +1,6 @@ +# Same As Follow Target + +This Virtual Camera __Aim__ algorithm matches the orientation of the __Follow__ target. When used with the __Hard Lock +to Target__ algorithm in the __Body__ properties, this algorithm makes the Virtual Camera match the path and rotation of +a control GameObject. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAlternativeInput.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAlternativeInput.md new file mode 100644 index 00000000..825d968b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineAlternativeInput.md @@ -0,0 +1,35 @@ +# Alternative Input Systems + +Some Cinemachine components (e.g. FreeLook, POV, OrbitalTransposer) require user input to position or orient the camera. +By default, Cinemachine gets user input by querying the standard Unity `Input.GetAxis(name)`. + +When alternative input systems are used in a project, this default behaviour must be overridden so that input is +obtained from the appropriate source. + +Cinemachine has defined an interface: `Cinemachine.AxisState.IInputAxisProvider`. If a `MonoBehaviour` implementing this +interface is added to a Virtual Camera or FreeLook, then it will be queried for input instead of the standard input +system. + +Cinemachine ships with an example of such a behaviour that uses the new __UnityEngine.Input__ package: * +*CinemachineInputProvider**. It has dual purpose: + +1. Provide a simple out-of-the-box adapter for the new UnityEngine.Input package, to cover common usecases +2. To serve as a source code example of how to integrate Cinemachine with custom or 3rd-party input systems + +# CinemachineInputProvider + +![CinemachineInputProvider inspector.](images/CinemachineInputProvider.png) + +This is a behaviour that is intended to be added to a virtual camera or FreeLook. It is an input source override, which +causes the virtual camera to obtain input using the new __UnityEngine.Input__ package instead of the standard Unity +Input system. + +This behaviour is available when the __UnityEngine.Input__ package is installed in the project. + +## Properties: + +| **Property:** | **Function:** | +|:-----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Player Index__ | Which player's input controls to query. Leave this at the default value of -1 for single-player games. Otherwise this should be the index of the player in the `UnityEngine.Inout.InputUser.all` list | +| __XY Axis__ | A `Vector2` input action that will supply values for the X and Y axes. Can be null if X and Y axes are not used | +| __Z Axis__ | A `float` input action that will supply values for the Z axis. Can be null if Z axis is not used | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBindingModes.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBindingModes.md new file mode 100644 index 00000000..25e1608e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBindingModes.md @@ -0,0 +1,79 @@ +# Binding Modes + +The binding mode defines the coordinate space Unity uses to interpret the camera offset from the target and the damping. +

+ +### Lock To Target + +Makes the virtual camera use the local frame of the Follow target. When the target rotates, the camera rotates with it +to maintain the offset and to maintain the same view of the target. + +| | | +|-------------------------------------------------------------------------|-----------------------------------------------------------------------------| +| Start
![](images/cm-binding-mode-lock-target-start.png) | Pitch, 45 degrees
![](images/cm-binding-mode-lock-target-pitch45.png) | +| Yaw, 45 degrees
![](images/cm-binding-mode-lock-target-yaw45.png) | Roll, 45 degrees
![](images/cm-binding-mode-lock-target-roll45.png) | + +

+ +### Lock To Target No Roll + +Makes the virtual camera use the local frame of the Follow target, with roll set to 0. + +| | | +|--------------------------------------------------------------------------------|------------------------------------------------------------------------------------| +| Start
![](images/cm-binding-mode-lock-target-no-roll-start.png) | Pitch, 45 degrees
![](images/cm-binding-mode-lock-target-no-roll-pitch45.png) | +| Yaw, 45 degrees
![](images/cm-binding-mode-lock-target-no-roll-yaw45.png) | Roll, 45 degrees
![](images/cm-binding-mode-lock-target-no-roll-roll45.png) | + +

+ +### Lock To Target On Assign + +Makes the orientation of the virtual camera match the local frame of the Follow target, at the moment when the virtual +camera is activated or when the target is assigned. This offset remains constant in world space. The camera does not +rotate along with the target. + +| | | +|----------------------------------------------------------------------------------|--------------------------------------------------------------------------------------| +| Start
![](images/cm-binding-mode-lock-target-on-assign-start.png) | Pitch, 45 degrees
![](images/cm-binding-mode-lock-target-on-assign-pitch45.png) | +| Yaw, 45 degrees
![](images/cm-binding-mode-lock-target-on-assign-yaw45.png) | Roll, 45 degrees
![](images/cm-binding-mode-lock-target-on-assign-roll45.png) | + +

+ +### Lock To Target With World Up + +Makes the virtual camera use the local frame of the Follow target with tilt and roll set to 0. This binding mode ignores +all target rotations except yaw. + +| | | +|---------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| +| Start
![](images/cm-binding-mode-lock-target-world-up-start.png) | Pitch, 45 degrees
![](images/cm-binding-mode-lock-target-world-up-pitch45.png) | +| Yaw, 45 degrees
![](images/cm-binding-mode-lock-target-world-up-yaw45.png) | Roll, 45 degrees
![](images/cm-binding-mode-lock-target-world-up-roll45.png) | + +

+ +### World Space + +The offset is interpreted in world space relative to the origin of the Follow target. The camera will not change +position when the target rotates. + +| | | +|-------------------------------------------------------------------------|----------------------------------------------------------------------------| +| Start
![](images/cm-binding-mode-world-space-start.png) | Pitch, 45 degrees
![](images/cm-binding-mode-world-space-pitch45.png) | +| Yaw, 45 degrees
![](images/cm-binding-mode-world-space-yaw45.png) | Roll, 45 degrees
![](images/cm-binding-mode-world-space-roll45.png) | + +

+ +### Simple Follow With World Up + +Simple follow with world up interprets the offset and damping values in camera-local space. This mode emulates the +action a human camera operator would take when instructed to follow a target. + +The camera attempts to move as little as possible to maintain the same distance from the target; the direction of the +camera with regard to the target does not matter. Regardless of the orientation of the target, the camera tries to +preserve the same distance and height from it. + +| | | +|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------| +| Start
![](images/cm-binding-mode-simple-follow-world-up-start.png) | Pitch, 45 degrees
![](images/cm-binding-mode-simple-follow-world-up-pitch45.png) | +| Yaw, 45 degrees
![](images/cm-binding-mode-simple-follow-world-up-yaw45.png) | Roll, 45 degrees
![](images/cm-binding-mode-simple-follow-world-up-roll45.png) | + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBlendListCamera.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBlendListCamera.md new file mode 100644 index 00000000..74f514d0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBlendListCamera.md @@ -0,0 +1,25 @@ +# Cinemachine Blend List Camera + +The __Cinemachine Blend List Camera__ component executes a sequence of blends or cuts among its child Virtual Cameras. + +When the Blend List camera is activated, it executes its list of instructions, activating the first child Virtual Camera +in the list, holding for a designated time, then cutting or blending to the next child, and so on. The Blend List camera +holds the last Virtual Camera until Cinemachine Brain or Timeline deactivates the Blend List camera. + +**Tip**: Use a Blend List Camera instead of [Timeline](CinemachineTimeline.md) for simpler, automatic sequences. + +## Properties: + +| **Property:** | **Function:** | +|:-----------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Solo__ | Toggles whether or not the Blend List camera is temporarily live. Use this property to get immediate visual feedback in the [Game view](https://docs.unity3d.com/Manual/GameView.html) to adjust the Virtual Camera. | +| __Game Window Guides__ | Toggles the visibility of compositional guides in the Game view. This property applies to all Virtual Cameras. | +| __Save During Play__ | Check to [apply the changes while in Play mode](CinemachineSavingDuringPlay.md). Use this feature to fine-tune a Virtual Camera without having to remember which properties to copy and paste. This property applies to all Virtual Cameras. | +| __Priority__ | The importance of this Blend List camera for choosing the next shot. A higher value indicates a higher priority. Cinemachine Brain chooses the next live Virtual Camera from all Virtual Cameras that are activated and have the same or higher priority as the current live Virtual Camera. This property has no effect when using a Virtual Camera with Timeline. | +| **Standby Update** | Controls how often the virtual camera is updated when the virtual camera is not live. | +| **Loop** | When enabled, the child virtual cameras will cycle indefintely instead of stopping on the last virtual camera in the list. | +| __Look At__ | The default target GameObject that the children Virtual Camera move with. The Blend List camera uses this target when the child does not specify this target. May be empty if all of the children define targets of their own. | +| __Follow__ | The default target GameObject to aim the Unity camera at. The Blend List camera uses this target when the child does not specify this target. May be empty if all of the children define targets of their own. | +| __Show Debug Text__ | Check to display a textual summary of the live Virtual Camera and blend in the view. | +| __Enable All Child Cameras__ | Check to activate all child cameras. This is useful if animating them in Timeline, but consumes extra resources. | +| __Instructions__ | The set of instructions for enabling child cameras. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBlending.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBlending.md new file mode 100644 index 00000000..a8801b09 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBlending.md @@ -0,0 +1,48 @@ +# Blending between Virtual Cameras + +Use blending properties to specify how the Cinemachine Brain component performs a blend between virtual cameras. + +A Cinemachine blend is not a fade, wipe, or dissolve. Rather, Cinemachine Brain performs a smooth animation of the +position, rotation, and other settings of the Unity camera from one Virtual Camera to the next. + +For blends between specific Virtual Cameras, use the __Custom Blends__ list in the Cinemachine Brain component. Use the +__Default Blend__ property in Cinemachine Brain to specify blends between Virtual Cameras that do not have custom +blends. + +![Custom Blends list in Cinemachine Brain](images/CinemachineCustomBlends.png) + +The __From__ and __To__ settings are name-based, not references. This means that Cinemachine finds cameras by matching +their names to the settings. They are not linked to specific GameObjects. The built-in dropdowns can be used to select a +virtual camera from the current scene, or the name can be typed directly into the text boxes. If a name does not match +any virtual camera in the current scene, the field will be highlighted in yellow. + +Use the reserved name **\*\*ANY CAMERA\*\*** to blend from or to any Virtual Camera. + +When Cinemachine begins a transition from one virtual camera to another, it will look in this asset for an entry that +matches the upcoming transition, and apply that blend definition. + +- If none is found, then the CinemachineBrain's DefaultBlend setting will apply. +- If multiple entries in the Custom Blends asset match the upcoming transition, Cinemachine will choose the one with the + strongest specificity. For example, if blending from vcam1 to vcam2, and the custom blends asset contains an entry for + _vcam1-to-AnyCamera_, and another entry for _vcam1-to-vcam2_, then the _vcam1-to-vcam2_ entry will apply. +- If multiple entries in the Custom Blends asset match the upcoming transition with equally-strong specificity, then the + first one found will apply. + +## Properties: + +| **Property:** | | **Function:** | +|:------------------------|:--------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __From__ | | The name of the Virtual Camera to blend from. Use the name \*\*ANY CAMERA\*\* to blend from any Virtual Camera. This property is available only for custom blends. | +| __To__ | | The name of the Virtual Camera to blend to. Use the name \*\*ANY CAMERA\*\* to blend to any Virtual Camera. This property is available only for custom blends. | +| __Style Default Blend__ | | Shape of the blend curve. | +| | _Cut_ | Zero-length blend. | +| | _Ease In Out_ | S-shaped curve, giving a gentle and smooth transition. | +| | _Ease In_ | Linear out of the outgoing Virtual Camera, and ease into the incoming Virtual Camera. | +| | _Ease Out_ | Ease out of the outgoing Virtual Camera, and blend linearly into the incoming Virtual Camera. | +| | _Hard In_ | Ease out of the outgoing Virtual Camera, and accelerate into the incoming Virtual Camera. | +| | _Hard Out_ | Accelerate out of the outgoing Virtual Camera, and ease into the incoming Virtual Camera. | +| | _Linear_ | Linear blend. mechanical-looking. | +| | _Custom_ | Custom blend curve. Allows you to draw a custom blend curve. | +| __Time__ | | Duration (in seconds) of the blend. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBody3rdPersonFollow.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBody3rdPersonFollow.md new file mode 100644 index 00000000..a07c96f8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBody3rdPersonFollow.md @@ -0,0 +1,42 @@ +# 3rd Person Follow + +This Virtual Camera __Body__ algorithm is intended for use to implement a 3rd-person or 1st person camera. The algorithm +places the camera on a mini-rig with 3 pivot points: + +Pivot point 1 is the _origin_, which is the Follow target's position. When the target rotates horizontally, the rig +rotates with it around this point. + +Pivot point 2 is the _shoulder_, and by default is offset to one side of Pivot Point 1, to create an over-the-shoulder +follow position. To make a 1st-person camera, set this offset to 0, or to whatever will give an appropriate 1st-person +effect given your Follow target's position. Vertical rotations of the Follow target are transferred here, so the rig +rotates horizontally about the origin, and vertically about the shoulder. + +Pivot point 3 is the _hand_. This is by default offset from the shoulder, so that vertical rotations will keep the +character nicely positioned on the screen. For 1st-person cameras, this can be set to 0. + +Finally, the camera is positioned behind the hand, at a specifiable distance from it. The camera's rotation will always +be parallel to the Follow target's rotation, but positioned behind the hand. + +The camera's position and rotation are controlled by moving and rotating the Follow target, not by independent camera +controls. + +The 3rd-person Follow module has a built-in collision resolution system, so that if the target moves close to an +obstacle, the camera position will be adjusted so that it will never be inside an obstacle. + +![3rd Person Follow](images/3rdPersonFollow.png) + +## Properties: + +| **Property:** | | **Function:** | +|:----------------------------|:-|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Damping__ | | How responsively the camera tracks the target. Each axis (camera-local) can have its own setting. Value is the approximate time it takes the camera to catch up to the target's new position. Smaller values give a more rigid effect, larger values give a squishier one | +| __Shoulder Offset__ | | Position of the shoulder pivot relative to the Follow target origin. This offset is in target-local space. | +| __Vertical Arm Length__ | | Vertical offset of the hand in relation to the shoulder. Arm length will affect the follow target's screen position when the camera rotates vertically. | +| __Camera Side__ | | Specifies which shoulder (left, right, or in-between) the camera is on. | +| __Camera Distance__ | | How far behind the hand the camera will be placed. | +| __Camera Collision Filter__ | | Camera will avoid obstacles on these layers. | +| __Ignore Tag__ | | Obstacles with this tag will be ignored. It is a good idea to set this field to the target's tag. | +| __Camera Radius__ | | Specifies how close the camera can get to obstacles. | + + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyDoNothing.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyDoNothing.md new file mode 100644 index 00000000..6be0554b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyDoNothing.md @@ -0,0 +1,5 @@ +# Do Nothing + +This Virtual Camera __Body__ algorithm does not move the Virtual Camera; it does not modify its position. Choose this +algorithm for static shots or for animating the camera position directly with your custom scripts. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyFramingTransposer.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyFramingTransposer.md new file mode 100644 index 00000000..045d9247 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyFramingTransposer.md @@ -0,0 +1,61 @@ +# Framing Transposer + +This Virtual Camera __Body__ algorithm moves the camera in a fixed screen-space relationship to the __Follow__ target. +You can also specify offsets, damping, and composition rules. __Framing Transposer__ only changes the camera’s position +in space. It does not re-orient or otherwise aim the camera. + +__Framing Transposer__ is designed for 2D and orthographic cameras. But it works also with perspective cameras and 3D +environments. + +This algorithm first moves the camera along the camera Z axis until the __Follow__ target is at the desired distance +from the camera’s X-Y plane. It then moves the camera in its X-Y plane until the __Follow__ target is at the desired +point on the camera’s screen. + +**Note**: __Framing Transposer__ ignores the LookAt target - only the Follow target is used. + +If the __Follow__ target is a [Target Group](CinemachineTargetGroup.md), then additional properties are available to +frame the entire group. + +## Properties + +| **Property:** | | **Function:** | +|:-------------------------|:--------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Lookahead Time__ | | Adjusts the offset of the Virtual Camera from the Follow target based on the motion of the target. Cinemachine estimates the point where the target will be this many seconds into the future. This feature is sensitive to noisy animation and can amplify the noise, resulting in undesirable camera jitter. If the camera jitters unacceptably when the target is in motion, turn down this property, or animate the target more smoothly. | +| __Lookahead Smoothing__ | | The smoothness of the lookahead algorithm. Larger values smooth out jittery predictions and increase prediction lag. | +| __Lookahead Ignore Y__ | | If checked, ignore movement along the Y axis for lookahead calculations. | +| __X Damping__ | | How responsively the camera tries to maintain the offset in the x-axis. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. Using different settings per axis can yield a wide range of camera behaviors. | +| __Y Damping__ | | How responsively the camera tries to maintain the offset in the y-axis. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Z Damping__ | | How responsively the camera tries to maintain the offset in the z-axis. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Target Movement Only__ | | If this is enabled, then damping only applies to the motion of the target. Camera rotation changes will bypass damping. | +| __Screen X__ | | Horizontal screen position for target. The camera moves to position the tracked object here. | +| __Screen Y__ | | Vertical screen position for target, The camera moves to position the tracked object here. | +| __Camera Distance__ | | The distance to maintain along the camera axis from the Follow target. | +| __Dead Zone Width__ | | Do not move the camera horizontally when the target is within this range of the position. | +| __Dead Zone Height__ | | Do not move the camera vertically if the target is within this range of the position. | +| __Dead Zone Depth__ | | Do not move the camera along its z-axis if the Follow target is within this distance of the specified camera distance. | +| __Unlimited Soft Zone__ | | If checked, then the soft zone is unlimited in size. | +| __Soft Zone Width__ | | When the target is in this range, move the camera horizontally to frame the target in the dead zone. The Damping properties affect the rate of the camera movement. | +| __Soft Zone Height__ | | When the target is in this range, move the camera vertically to frame the target in the dead zone. The Damping properties affect the rate of the camera movement. | +| __Bias X__ | | Moves the target position horizontally away from the center of the soft zone. | +| __Bias Y__ | | Moves the target position vertically away from the center of the soft zone. | +| __Group Framing Mode__ | | Available when Follow specifies a [Target Group](CinemachineTargetGroup.md). Specifies the screen dimensions to consider when framing. | +| | _Horizontal_ | Consider only the horizontal dimension. Ignore vertical framing. | +| | _Vertical_ | Consider only the vertical dimension. Ignore horizontal framing. | +| | _Horizontal And Vertical_ | Use the larger of the horizontal and vertical dimensions to get the best fit. | +| | _None_ | Don’t do any framing adjustment. | +| __Adjustment Mode__ | | How to adjust the camera to get the desired framing. You can zoom, dolly in or out, or do both. Available when Follow specifies a Target Group. | +| | _Zoom Only_ | Don’t move the camera, only adjust the FOV. | +| | _Dolly Only_ | Move the camera, don’t change the FOV. | +| | _Dolly Then Zoom_ | Move the camera as much as permitted by the ranges, then adjust the FOV if necessary to make the shot. | +| __Group Framing Size__ | | The bounding box that the targets should occupy. Use 1 to fill the whole screen, 0.5 to fill half the screen, and so on. Available when Follow specifies a Target Group. | +| __Max Dolly In__ | | The maximum distance toward the target to move the camera. Available when Follow specifies a Target Group. | +| __Max Dolly Out__ | | The maximum distance away from the target to move the camera. Available when Follow specifies a Target Group. | +| __Minimum Distance__ | | Set this to limit how close to the target the camera can get. Available when Follow specifies a Target Group. | +| __Maximum Distance__ | | Set this to limit how far from the target the camera can get. Available when Follow specifies a Target Group. | +| __Minimum FOV__ | | If adjusting FOV, do not set the FOV lower than this. Available when Follow specifies a Target Group. | +| __Maximum FOV__ | | If adjusting FOV, do not set the FOV higher than this. Available when Follow specifies a Target Group. | +| __Minimum Ortho Size__ | | If adjusting Orthographic Size, do not set it lower than this. Available when Follow specifies a Target Group. | +| __Maximum Ortho Size__ | | If adjusting Orthographic Size, do not set it higher than this. Available when Follow specifies a Target Group. | + + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyHardLockTarget.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyHardLockTarget.md new file mode 100644 index 00000000..530fd63f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyHardLockTarget.md @@ -0,0 +1,5 @@ +# Hard Lock to Target + +This Virtual Camera __Body__ algorithm uses the same position at the __Follow__ target. In other words, the target acts +as a mounting point for the Virtual Camera. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyOrbitalTransposer.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyOrbitalTransposer.md new file mode 100644 index 00000000..adedaefc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyOrbitalTransposer.md @@ -0,0 +1,63 @@ +# Orbital Transposer + +This Virtual Camera __Body__ algorithm moves the Unity camera in a variable relationship to the Virtual Camera’s _ +_Follow__ target. It optionally accepts [player input](https://docs.unity3d.com/Manual/ConventionalGameInput.html), +which allows the player to dynamically control the position of the camera relative to the target. + +The __Orbital Transposer__ introduces the concept of __heading__, which is the direction in which the target is moving +or facing. Orbital Transposer attempts to position the camera so that it points in the same direction as the heading +direction. By default, this position is directly behind the target. Control this relationship by adjusting the __Heading +Bias__ property. + +If you attach an input controller to the __Orbital Transposer__, then the player can also control the camera. This +allows the player to move the camera to any spot on an orbit around the target. Configure the __Orbital Transposer__ to +take its input from any axis that you set up in +the [Input Manager](https://docs.unity3d.com/Manual/class-InputManager.html). Or control the value directly using a +custom input system. + +__Orbital Transposer__ optionally re-centers the camera automatically. When __Recenter To Target Heading__ is checked, +Orbital Transposer automatically moves the camera back to the target heading. You can specify the length of time to wait +after it has detected no user input and the speed of the recentering. + +![Orbital Transposer](images/CinemachineOrbitalTransposer.png) + +## Properties: + +| **Property:** | | **Function:** | +|:-----------------------------------------------|:-------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __[Binding Mode](CinemachineBindingModes.md)__ | | The coordinate space to use to interpret the offset from the target. | +| | _Lock To Target On Assign_ | Makes the orientation of the virtual camera match the local frame of the Follow target, at the moment when the virtual camera is activated or when the target is assigned. This offset remains constant in world space. The camera doesn't rotate along with the target. | +| | _Lock To Target With World Up_ | Makes the virtual camera use the local frame of the Follow target with tilt and roll set to 0. This binding mode ignores all target rotations except yaw. | +| | _Lock To Target No Roll_ | Makes the virtual camera use the local frame of the Follow target, with roll set to 0. | +| | _Lock To Target_ | Makes the virtual camera use the local frame of the Follow target. When the target rotates, the camera moves with it to maintain the offset and to maintain the same view of the target. | +| | _World Space_ | The offset is interpreted in world space relative to the origin of the Follow target. The camera will not change position when the target rotates. | +| | _Simple Follow With World Up_ | Simple follow with world up interprets the offset and damping values in camera-local space. This mode emulates the action a human camera operator would take when instructed to follow a target. The camera attempts to move as little as possible to maintain the same distance from the target; the direction of the camera with regard to the target does not matter. Regardless of the orientation of the target, the camera tries to preserve the same distance and height from it. | +| __Follow Offset__ | | The position offset to attempt to maintain from the Follow target. You can also use [Scene Handles](handles.md) to modify this property. | +| __X Damping__ | | How responsively the camera tries to maintain the offset in the x-axis. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. Using different settings per axis can yield a wide range of camera behaviors. Not available when Binding Mode is Simple Follow With World Up. | +| __Y Damping__ | | How responsively the camera tries to maintain the offset in the y-axis. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Z Damping__ | | How responsively the camera tries to maintain the offset in the z-axis. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Yaw Damping__ | | How responsively the camera tries to track the target rotation’s y angle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. Available when Binding Mode is Lock to Target With World Up, Lock to Target No Roll, or Lock to Target. | +| __Pitch Damping__ | | How responsively the camera tries to track the target rotation’s x angle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. Available when Binding Mode is Lock to Target No Roll or Lock to Target. | +| __Roll Damping__ | | How responsively the camera tries to track the target rotation’s z angle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. Available when Binding Mode is Lock to Target. | +| __Heading__ | | Specifies how to calculate the heading of the Follow target. | +| | _Definition_ | Choose Position Delta to calculate heading based on the difference in the position of the target from the last update and the current frame. Choose Velocity to use the velocity of the [Rigidbody](https://docs.unity3d.com/Manual/class-Rigidbody.html) of the target. If the target has no Rigidbody component, reverts to Position Delta. Choose Target Forward to use the target's local Forward axis as the heading. Choose World Forward to use a constant world-space Forward as heading. | +| | _Velocity Filter Strength_ | Controls the smoothing of the velocity when using Position Delta or Velocity in Definition. | +| | _Bias_ | Angular offset in the orbit to place the camera, relative to the heading. Measured in degrees. An axis value of 0 will put the camera here. | +| __Recenter To Target Heading__ | | Controls automatic recentering when the player gives no input. | +| | _Enabled_ | Check to enable automatic recentering. | +| | _Wait Time_ | If no user input has been detected on the axis, the camera waits this long in seconds before recentering. | +| | _Recentering Time_ | Maximum angular speed of recentering. Accelerates into and decelerates out of this. | +| __X Axis__ | | Heading Control. The settings here control the behaviour of the camera in response to the player’s input. | +| | _Value_ | The current value of the axis, in degrees. | +| | _Min Value_ | The minimum value for the axis. | +| | _Max Value_ | The maximum value for the axis. | +| | _Wrap_ | If checked, then the axis wraps around at the Min and Max values, forming a loop. | +| | _Max Speed_ | The maximum speed of this axis in degrees/second, or the multipler for the input value if Speed Mode is set to _InputValueGain_. | +| | _Speed Mode_ | How the axis responds to input. _MaxSpeed_ (the default) clamps the maximum speed at which the axis can change, regardless of the input. _Input Value Gain_ multiplies the input value by MaxSpeed. | +| | _Accel Time_ | The amount of time in seconds to accelerate to MaxSpeed with the supplied axis at its maximum value. | +| | _Decel Time_ | The amount of time in seconds o decelerate the axis to zero if the supplied axis is in a neutral position. | +| | _Input Axis Name_ | The name of this axis as specified in the Unity Input manager. Set to an empty string to disable the automatic updating of this axis. | +| | _Input Axis Value_ | The value of the input axis. A value of 0 means no input. Drive this directly from a custom input system, or set the Input Axis Name to drive the value by the Unity Input Manager. | +| | _Invert_ | Check to invert the raw value of the input axis before it is used. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyTrackedDolly.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyTrackedDolly.md new file mode 100644 index 00000000..7478f1b2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyTrackedDolly.md @@ -0,0 +1,46 @@ +# Tracked Dolly + +This Virtual Camera __Body__ algorithm restricts the Virtual Camera to move along a +predefined [path](CinemachineDolly.md). Use the __Path Position__ property to specify where to put the Virtual Camera on +the path. + +Use __Auto-Dolly__ mode to move the Virtual Camera to a position on the path that is closest to the __Follow__ target. +When enabled, __Auto-Dolly__ automatically animates the position of the Virtual Camera to the position on the path +that’s closest to the target. + +**Tip**: Choose your path shapes with care when using Auto-Dolly mode. This becomes problematic on paths that form an +arc around some point. As an extreme example, consider a perfectly circular path with the __Follow__ target at the +center. The closest point on the path becomes unstable because all points on the circular path are equally close to the +target. In this situation, moving the __Follow__ target small distances can cause the camera to move large distances on +the track. + +## Properties: + +| **Property:** | | **Function:** | +|:-------------------|:------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Path__ | | The path that the camera moves along. This property must refer to a [Cinemachine Path](CinemachinePath.md) or [Cinemachine Smooth Path](CinemachineSmoothPath.md). | +| __Path Position__ | | The position along the path to place the camera. Animate this property directly or enable Auto-Dolly. The value is in the units specified by Position Units. | +| __Position Units__ | | The unit of measure for Path Position. | +| | _Path Units_ | Use waypoints along the path. The value 0 represents the first waypoint on the path, 1 is the second waypoint, and so on. | +| | _Distance_ | Use distance along the path. The path is sampled according to the Resolution property of the path. Cinemachine creates a distance lookup table, which it stores in an internal cache. | +| | _Normalized_ | Use the beginning and end of the path. The value 0 represents the beginning of the path, 1 is the end of the path. | +| __Path Offset__ | | The position of the camera relative to the path. X is perpendicular to the path, Y is up, and Z is parallel to the path. Use this property to offset the camera from the path itself. | +| __X Damping__ | | How responsively the camera tries to maintain its position in a direction perpendicular to the path. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. Using different settings per axis can yield a wide range of camera behaviors. | +| __Y Damping__ | | How responsively the camera tries to maintain its position in the path-local up direction. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Z Damping__ | | How responsively the camera tries to maintain its position in a direction parallel to the path. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Camera Up__ | | How to set the up vector for the Virtual Camera. This affects the screen composition because the camera Aim algorithms try to respect the up direction. | +| | _Default_ | Do not modify the up direction of the Virtual Camera. Instead, use the World Up Override property in Cinemachine Brain. | +| | _Path_ | Use the path’s up vector at the current point. | +| | _Path No Roll_ | Use the path’s up vector at the current point, but with the roll set to zero. | +| | _Follow Target_ | Use the up vector from the Follow target’s transform. | +| | _Follow Target No Roll_ | Use the up vector from the Follow target’s transform, but with the roll zeroed out. | +| __Pitch Damping__ | | How responsively the camera tracks the target rotation’s x angle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Yaw Damping__ | | How responsively the camera tracks the target rotation’s y angle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Roll Damping__ | | How responsively the camera tracks the target rotation’s z angle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Auto Dolly__ | | Controls how automatic dollying occurs. A Follow target is necessary to use this feature. | +| | _Enabled_ | Check to enable the automatic dolly. Note: this can have some performance impact, depending on the search resolution. | +| | _Position Offset_ | Offset, in position units, from the closest point on the path to the follow target. | +| | _Search Radius_ | The number of segments on either side of the current segment. Use 0 for the entire path. Use a lower number when the path’s shape relative to the target position causes the closest point on the path to become unstable. | +| | _Search Resolution_ | Cinemachine searches a segment by dividing it into many straight pieces. The higher the number, the more accurate the result. However, performance is proportionally slower for higher numbers. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyTransposer.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyTransposer.md new file mode 100644 index 00000000..d0bfe838 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBodyTransposer.md @@ -0,0 +1,28 @@ +# Transposer + +This Virtual Camera __Body__ algorithm moves the Virtual Camera in a fixed offset to the __Follow__ target. It also +applies damping. + +The fixed offset can be interpreted in various ways, depending on the Binding Mode. + +## Properties: + +| **Property:** | | **Function:** | +|:-----------------------------------------------|:-------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __[Binding Mode](CinemachineBindingModes.md)__ | | The coordinate space to use to interpret the offset from the target. | +| | _Lock To Target On Assign_ | Makes the orientation of the virtual camera match the local frame of the Follow target, at the moment when the virtual camera is activated or when the target is assigned. This offset remains constant in world space. The camera does not rotate along with the target. | +| | _Lock To Target With World Up_ | Makes the virtual camera use the local frame of the Follow target with tilt and roll set to 0. This binding mode ignores all target rotations except yaw. | +| | _Lock To Target No Roll_ | Makes the virtual camera use the local frame of the Follow target, with roll set to 0. | +| | _Lock To Target_ | Makes the virtual camera use the local frame of the Follow target. When the target rotates, the camera moves with it to maintain the offset and to maintain the same view of the target. | +| | _World Space_ | The offset is interpreted in world space relative to the origin of the Follow target. The camera will not change position when the target rotates. | +| | _Simple Follow With World Up_ | Simple follow with world up interprets the offset and damping values in camera-local space. This mode emulates the action a human camera operator would take when instructed to follow a target. The camera attempts to move as little as possible to maintain the same distance from the target; the direction of the camera with regard to the target does not matter. Regardless of the orientation of the target, the camera tries to preserve the same distance and height from it. | +| __Follow Offset__ | | The distance to maintain the Virtual Camera relative to the Follow target. Set X, Y, and Z to 0 to place the camera at the centre of the target. The default is 0, 0, -10, respectively, which places the camera behind the target. | +| __X Damping__ | | How responsively the camera tries to maintain the offset in the x-axis. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Y Damping__ | | How responsively the camera tries to maintain the offset in the y-axis. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Z Damping__ | | How responsively the camera tries to maintain the offset in the z-axis. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Pitch Damping__ | | How responsively the camera tracks the target rotation’s x angle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Yaw Damping__ | | How responsively the camera tracks the target rotation’s y angle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Roll Damping__ | | How responsively the camera tracks the target rotation’s z angle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | + + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBrainProperties.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBrainProperties.md new file mode 100644 index 00000000..3019ed9c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineBrainProperties.md @@ -0,0 +1,62 @@ +# Setting Cinemachine Brain properties + +The Cinemachine Brain is a component in the Unity camera itself. Cinemachine Brain monitors all active Virtual Cameras +in the Scene. It chooses the next Virtual Camera to control the Unity camera. It also controls +the [cut or blend](CinemachineBlending.md) from the current Virtual Camera to the next. + +To add a Cinemachine Brain component to a Unity camera, do __one__ of the following: + +* [Add a Virtual Camera](CinemachineSetUpVCam.md), or other Cinemachine object, to your Scene. Unity adds a Cinemachine + Brain component to the Unity camera for you if there isn’t one already. + +* [Add](https://docs.unity3d.com/Manual/UsingComponents.html) a Cinemachine Brain component to the Unity camera + yourself. + +**Tip**: You can also control Virtual Cameras from [Timeline](CinemachineTimeline.md). Timeline overrides the decisions +that Cinemachine Brain makes. + +Cinemachine Brain holds the following key properties: + +* __Blend Settings__: A list that defines how to blend from one Virtual Camera to another. For example, add an item to + the list for a 4 second blend from vcam1 to vcam2 then add another item for a 1 second blend from vcam2 back to vcam1. + If a blend between two cameras isn’t defined, Cinemachine Brain uses its default blend. + +* __Layer Filter__: Cinemachine Brain uses only those Virtual Cameras that pass the culling mask of the Unity camera. + You can set up [split-screen environments](CinemachineMultipleCameras.md) by using the culling mask to filter layers. + +* __Event Dispatching__: Cinemachine Brain fires events when it changes shot. It fires an event when a Virtual Camera + goes live. It also fires an event when it cuts from one Virtual Camera to another. Use the latter event to reset + temporal post effects. + +![Cinemachine Brain, a component in the Unity camera](images/CinemachineBrain.png) + +## Properties: + +| **Property:** | | **Function:** | +|:---------------------------|:----------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Show Debug Text__ | | Check to display a textual summary of the live Virtual Camera and blend in the view. | +| __Show Camera Frustum__ | | Check to display the frustum of the camera in the Scene view. | +| __Ignore Time Scale__ | | Check to make the Virtual Cameras respond in real time to user input and damping, even if the game is running in slow motion. | +| __World Up Override__ | | The Y axis of the specified GameObject defines the worldspace up vector for Virtual Cameras. Use this property in top-down game environments. Set to None to use the worldspace Y axis. Setting this appropriately is important to avoid gimbal-lock in extreme up/down conditions. | +| __Update Method__ | | When to update the position and rotation of the Virtual Cameras. | +| | _Fixed Update_ | Synchronize Virtual Camera update with the Physics module, in FixedUpdate. | +| | _Late Update_ | In MonoBehaviour LateUpdate. | +| | _Smart Update_ | Update each virtual camera according to how its target is updated. This is the recommended setting. | +| | _Manual Update_ | Virtual Cameras do not update automatically. You must explicitly call `brain.ManualUpdate()` at an appropriate time in your game loop. This should be after any camera LookAt or Follow targets have moved. This is an advanced feature. | +| __Blend Update Method__ | | When to resolve the blends and update the main camera. | +| | _Late Update_ | In MonoBehaviour LateUpdate. This is the recommended setting. | +| | _Fixed Update_ | Use this setting only if your Update Method is FixedUpdate and you see judder when blending. | +| __Default Blend__ | | The blend to use when you haven’t explicitly defined a blend between two Virtual Cameras. | +| | _Cut_ | Zero-length blend. | +| | _Ease In Out_ | S-shaped curve, giving a gentle and smooth transition. | +| | _Ease In_ | Linear out of the outgoing shot, and easy into the incoming. | +| | _Ease Out_ | Easy out of the outgoing shot, and linear into the incoming. | +| | _Hard In_ | Easy out of the outgoing, and hard into the incoming. | +| | _Hard Out_ | Hard out of the outgoing, and easy into the incoming. | +| | _Linear_ | Linear blend. Mechanical-looking. | +| | _Custom_ | Custom blend curve. Draw the curve you want. | +| __Custom Blends__ | | The asset that contains custom settings for blends between specific Virtual Cameras in your Scene. | +| __Create Asset__ | | Create an asset containing a [list of custom blends](CinemachineBlending.md) between Virtual Cameras. | +| __Camera Cut Event__ | | This event fires when a Virtual Camera goes live and there is no blend. | +| __Camera Activated Event__ | | This event fires when a Virtual Camera goes live. If a blend is involved, then the event fires on the first frame of the blend. | + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineClearShot.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineClearShot.md new file mode 100644 index 00000000..69107172 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineClearShot.md @@ -0,0 +1,34 @@ +# Cinemachine Clear Shot Camera + +The __Cinemachine ClearShot Camera__ component chooses among its children Virtual Cameras for the best quality shot of +the target. Use Clear Shot to set up complex multi-camera coverage of a Scene to guarantee a clear view of the target. + +This can be a very powerful tool. Virtual Camera children with [Cinemachine Collider](CinemachineCollider.md) extensions +analyze the Scene for target obstructions, optimal target distance, and so on. Clear Shot uses this information to +choose the best child to activate. + +**Tip:** To use a single [Cinemachine Collider](CinemachineCollider.md) for all Virtual Camera children, add a +Cinemachine Collider extension to the ClearShot GameObject instead of each of its Virtual Camera children. This +Cinemachine Collider extension applies to all of the children, as if each of them had that Collider as its own +extension. + +If multiple child cameras have the same shot quality, the Clear Shot camera chooses the one with the highest priority. + +You can also define custom blends between the ClearShot children. + +## Properties: + +| **Property:** | **Function:** | +|:-----------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Game Window Guides** | Enables the displays of overlays in the Game window. Adjust the color and opacity in Cinemachine Preferences. This is a global setting, shared by all virtial cameras. | +| **Save During Play** | When enabled, virtual camera setting changes made during Play mode are propagated back to the scene when Play mode is exited. This is a global setting, shared by all objects that support Save During Play. | +| __Look At__ | The default target GameObject that the children Virtual Camera move with. The Clear Shot camera uses this target when the child does not specify this target. May be empty if all of the children define targets of their own. | +| __Follow__ | The target GameObject to aim the Unity camera at. The Clear Shot camera uses this target when the child does not specify this target. May be empty if all of the children define targets of their own. | +| __Show Debug Text__ | Check to display a textual summary of the live Virtual Camera and blend in the Game view. | +| __Activate After__ | Wait this many seconds before activating a new child camera. | +| __Min Duration__ | An active camera must be active for at least this many seconds, unless a higher-priority camera becomes active. | +| __Randomize Choice__ | Check to choose a random camera if multiple cameras have equal shot quality. Uncheck to use the order of the child Virtual Cameras and their priorities. | +| __Default Blend__ | The blend to use when you haven’t explicitly defined a blend between two Virtual Cameras. | +| __Priority__ | Determine which camera becomes active based on the state of other cameras and this camera. Higher numbers have greater priority. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineCollider.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineCollider.md new file mode 100644 index 00000000..42f13d92 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineCollider.md @@ -0,0 +1,45 @@ +# Cinemachine Collider + +__Cinemachine Collider__ is an [extension](CinemachineVirtualCameraExtensions.md) for the Cinemachine Virtual Camera. It +post-processes the final position of the Virtual Camera to attempt to preserve the line of sight with the __Look At__ +target of the Virtual Camera. It does this by moving away from the GameObjects that obstruct the view. + +Add a Cinemachine Collider extension to a Cinemachine Virtual Camera to do any of the following tasks: + +* Push the camera away from obstructing obstacles in the Scene. + +* Place the camera in front of obstacles that come between the Virtual Camera and its __Look At__ target. + +* Evaluate shot quality. __Shot quality__ is a measure of the distance of the Virtual Camera from its ideal position, + the distance of the Virtual Camera to its target, and the obstacles that block the view of the target. Other modules + use shot quality, including [Clear Shot](CinemachineClearShot.md). + +The Collider uses a [Physics Raycaster](https://docs.unity3d.com/Manual/script-PhysicsRaycaster.html). Therefore, +Cinemachine Collider requires that potential obstacles +have [collider](https://docs.unity3d.com/Manual/CollidersOverview.html) volumes. There is a performance cost for this +requirement. If this cost is prohibitive in your game, consider implementing this functionality in a different way. + +## Properties: + +| **Property:** | | **Function:** | +|:---------------------------------|:---------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Collide Against__ | | Cinemachine Collider considers GameObjects in these layers to be potential obstacles. It ignores GameObjects that are not in the selected layers. | +| __Minimum Distance From Target__ | | Ignore obstacles that are less than this distance from the target's pivot point. | +| __Avoid Obstacles__ | | Check to allow the Collider to move the camera in the Scene when the target is obscured by an obstacle. Use the Distance Limit, Camera Radius, and Strategy properties to adjust how to avoid obstacles. If left unchecked, the Cinemachine Collider will report shot quality based on obstacles, but will not attempt to move the camera to improve the shot. | +| __Distance Limit__ | | The maximum raycast distance when checking if the line of sight to this camera’s target is clear. Enter 0 to use the current actual distance to the target. Available when Avoid Obstacles is checked. | +| __Camera Radius__ | | Distance to maintain from any obstacle. Try to keep this value small for best results. Increase it if you are seeing inside obstacles due to a large FOV on the camera. Available when Avoid Obstacles is checked. | +| __Strategy__ | | The way in which the Collider attempts to preserve sight of the target. Available when Avoid Obstacles is checked. | +| | _Pull Camera Forward_ | Move the camera forward along its Z axis until it is in front of the obstacle that is nearest to the target. | +| | _Preserve Camera Height_ | Move the camera to an alternate point of view while attempting to keep the camera at its original height. | +| | _Preserve Camera Distance_ | Move the camera to an alternate point of view while attempting to keep the camera at its original distance from the target. | +| __Smoothing Time__ | | Minimum number of seconds to hold the camera at the nearest point to the target. Can be used to reduce excess camera movement in environments with lots of obstacles. Available when Avoid Obstacles is checked. | +| __Damping__ | | How quickly to return the camera to its normal position after an occlusion has gone away. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. Available when Avoid Obstacles is checked. | +| __Damping When Occluded__ | | How quickly to move the camera to avoid an obstacle. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. Available when Avoid Obstacles is checked. | +| __Optimal Target Distance__ | | If greater than zero, give a higher score to shots when the target is closer to this distance. Set this property to 0 to disable this feature. | +| __Transparent Layers__ | | Objects on these layers will never obstruct the view of the target. | +| __Minimum Occlusion Time__ | | Do not take action action unless the occulsion has lasted at least this long. | +| __Maximum Effort__ | | Upper limit on how many obstacle hits to process. Higher numbers may impact performance. In most environments four (4) hits is enough. | +| **Ignore Tag** | | Obstacles with this tag will be ignored. It is recommended to set this field to the target's tag. | + + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineColliderConfiner.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineColliderConfiner.md new file mode 100644 index 00000000..d5827331 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineColliderConfiner.md @@ -0,0 +1,9 @@ +# Avoiding collisions and evaluating shots + +As characters and objects move around in a complex Scene, obstacles in the Scene sometimes come between a camera and its +target. Similarly, you might need to move a camera to a position in the Scene that another GameObject already occupies. +Cinemachine provides extensions to handle these situations: + +* [Cinemachine Collider](CinemachineCollider.md) +* [Cinemachine Confiner](CinemachineConfiner.md) + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineCollisionImpulseSource.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineCollisionImpulseSource.md new file mode 100644 index 00000000..3c1c35a9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineCollisionImpulseSource.md @@ -0,0 +1,102 @@ +#Cinemachine Collision Impulse Source + +For collision-based impulses, attach a **CinemachineCollisionImpulseSource** component to a GameObject that has a +Collider or Collider2D component. **CinemachineCollisionImpulseSource** generates an impulse when something collides +with the GameObject or enters a trigger zone. + +To add a Collision Impulse Source component: + +1. Select the GameObject that you want to trigger impulses, navigate to its Inspector, and click the **Add Component** + button. + +2. Go to **Scripts > Cinemachine** and select **Cinemachine Collision Impulse Source**. + +By default, an Impulse Source affects every [Impulse Listener](CinemachineImpulseListener.md) in range, but you can +apply [channel filtering](CinemachineImpulseFiltering.md#ChannelFiltering) to make Impulse Sources affect some Impulse +Listeners and not others. + +## Properties: + +The properties in the Cinemachine Collision Impulse Source Inspector window are divided into the following sections. + +- [Impulse Channel](#ImpulseChannel) +- [Impulse Type](#ImpulseType) +- [Impulse Shape](#ImpulseShape) +- [Trigger Object Filter](#TriggerObject) +- [How to Generate The Impulse](#GenerateImpulse) + + + +### Impulse Channel + +Impulse Listeners filter impulses based on channels to control which Impulse Sources they react to. Channels work like +Camera Layers, but are distinct from them. These properties control the channels that the Collision Impulse Source +broadcasts impulse signals on. For details, see documentation on [Filtering](CinemachineImpulseFiltering.md). + +![](images/InspectorImpulseSourceChannel.png) + +| **Property:** | **Function:** | +|---------------------|------------------------------------------------------------------------------------------------------------------------| +| **Impulse Channel** | Choose one or more channels from the drop-down.

Click **Edit** to modify existing channels or add new ones. | + + + +### Impulse Type + +You can choose the level of complexity, depending on your needs. Changing the Impulse Type brings up range, dissipation, +and propagation speed controls, as appropriate. + +![](images/ImpulseType.png) + +| Property: | Function: | +|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Impulse Type** | You can choose from the following Impulse types:

**Uniform**: The impulse travels with infinite speed, and will be heard at the same time and in the same way by all listeners, no matter where they are in space.

**Dissipating**: The strength of the impulse decreases as the distance from the source increases. Listeners that are farther away will feel a weaker signal than listeners that are closer.

**Propagating**: In addition to being dissipating, the impulse signal travels with finite speed outward from the source. Listeners that are farther away will feel the impulse at a later time than listeners that are close.

**Legacy**: This mode exists to support projects made with earlier versions of Impulse, and has a more complex way of defining the impulse signal. We recommend using one of the other settings. | +| **Dissipation Distance** | This setting defines the distance over which the impulse dissipates. Beyond this distance, the impulse will not be felt. | +| **Propagation Speed** | This defines, in m/s, how quickly the impulse signal propagates outwards through space from its origin. The default value, 343, is the speed of sound. | +| **Dissipation Rate** | This defines how quickly the dissipation occurs over the dissipation distance. As shown in the image below, expanding the curve shows a graph illustrating the signal strength across the dissipation radius. The origin is in the center of the X axis. Moving the slider adjusts the blue picture.

![](images/DissipationRate.png) | + + + +### Impulse Shape + +This defines the curve that specifies the shape of the signal, and the time over which the curve is emitted. + +![](images/ImpulseShape.png) + +| Property: | Function: | +|------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Predefined Impulse Shape** | You can choose from one of the following predefined Shapes: **Recoil**, **Bump**, **Explosion**, or **Rumble**.

**s (seconds)** field: Sets the duration of the impulse. Opening up the property shows you a picture of the impulse:

![](images/ImpulsePicture.png) | +| **Custom Impulse Shape** | You can draw your own custom impulse shape (animation curve). Select **Custom** from the drop-down menu and click on the green icon to pop up an editor as shown below.

![](images/ImpulseShapeCustom.png) | +| **Default Velocity** | Specifies the direction in space that the impulse will have by default. | +| **Test with Force** | Allows you to **invoke** the default impulse from the inspector (when playing) with the specified force multiplier, to see what it looks like. | + + + +### Trigger Object Filter + +These properties filter the GameObjects that trigger an impulse when they collide or enter the trigger zone. GameObjects +in layers specified by the **Layer Mask** trigger impulses unless you tag them with the **Ignore Tag** value. For +details, see documentation on [Filtering](CinemachineImpulseFiltering.md). + +![](images/TriggerObjectFilter.png) + +| Property: | Function: | +|----------------|----------------------------------------------------------------------------------------------------------------------------------------------| +| **Layer Mask** | Rigidbody components in these layers that collide with an Impulse Source or enter the trigger zone cause the Source to broadcast its signal. | +| **Ignore Tag** | GameObjects with this tag do not generate an impulse, even if they are in a layer specified in **Layer Mask**. | + + + +### How To Generate The Impulse + +An impulse is triggered at a location by an impact mass moving at an impact velocity. Unity dynamically calculates the +mass and velocity of the Rigidbody or Rigidbody 2D component that triggers the impulse. The **How To Generate The +Impulse** properties control how the mass and velocity of the Rigidbody affect the strength and direction of the signal. + +![](images/GenerateImpulse.png) + +| Property: | Function: | +|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Use Impact Direction** | Enable this setting to rotate the impulse signal to correspond to the direction of the impact velocity. For example, if the raw signal vibrates vertically but the impact direction is horizontal, you could check this property to make the resulting impulse signal vibrate horizontally.

Disable to use the direction of the raw signal irrespective of the impact direction. | +| **Scale Impact With Mass** | Enable this setting to increase or decrease the amplitude of the impulse signal based on the mass of the colliding GameObjects. The masses are specified in the Rigidbody or RigidBody2D component of the GameObject that contains the Cinemachine Impulse Source, and of the colliding GameObject.

Disable this setting to use a constant mass of 1. | +| **Scale Impact With Speed** | Enable this setting to scale the amplitude of the signal based on the speed of the impact. Faster moving GameObjects have a greater momentum, and therefore produce a stronger signal.

Disable this setting to ignore the speed of the colliding GameObject. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineConfiner.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineConfiner.md new file mode 100644 index 00000000..1c5748e8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineConfiner.md @@ -0,0 +1,23 @@ +# Cinemachine Confiner + +Use the __Cinemachine Confiner__ [extension](CinemachineVirtualCameraExtensions.md) to limit the camera’s position to a +volume or area. + +Confiner operates in 2D or 3D mode. The mode influences the kind of bounding shape it accepts. In 3D mode, the camera’s +position in 3D is confined to a volume. This also works for 2D games, but you need to take the depth into account. In 2D +mode, you don’t have to worry about depth. + +For orthographic cameras, there is an additional option to confine the screen edges, not just the camera point. This +ensures that the entire screen area stays within the bounding area. + +| **Property:** | | **Function:** | +|:-------------------------|:-------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Confine Mode__ | | Operate using a 2D bounding area or a 3D bounding volume. | +| | _Confine 2D_ | Use a Collider2D bounding area. | +| | _Confine 3D_ | Use a 3D Collider bounding volume. | +| __Bounding Volume__ | | The 3D volume to contain the camera in. This property is available when Confine Mode is set to Confine 3D. | +| __Bounding Shape 2D__ | | The 2D area to contain the camera in. This property is available when Confine Mode is set to Confine 2D. | +| __Confine Screen Edges__ | | Check to confine screen edges to the area when the camera is orthographic. When unchecked, confine only the camera center. Has no effect if camera is in perspective mode. | +| __Damping__ | | How gradually to return the camera to the bounding volume or area if it goes beyond the borders. Higher numbers are more gradual. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineConfiner2D.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineConfiner2D.md new file mode 100644 index 00000000..5afe0e24 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineConfiner2D.md @@ -0,0 +1,47 @@ +# Cinemachine Confiner 2D + +![](images/CinemachineConfiner2Dc.png) + +Use the Cinemachine Confiner +2D [extension](https://docs.unity3d.com/Packages/com.unity.cinemachine@2.6/manual/CinemachineVirtualCameraExtensions.html) +to confine the camera’s position so that the screen edges stay within a shape defined by a 2D polygon. This works for +orthographic or perspective cameras, provided that the camera's forward vector remains parallel to the bounding shape’s +normal (that is, that the camera is looking straight at the polygon, and not obliquely at it). + +When confining the camera, the Cinemachine Confiner 2D considers the camera’s view size at the polygon plane, and its +aspect ratio. Based on this information and the input polygon, it computes a second (smaller) polygon, and constrains +the camera’s transform to it. Computation of this secondary polygon is resource-intensive, so you should only do this +when absolutely necessary. + +Necessary use cases in which you need to recompute the cached secondary polygon include: + +- when the input polygon’s points change, +- when the input polygon is non-uniformly scaled. + +In these cases, for efficiency reasons, Cinemachine does not automatically regenerate the inner polygon. The client +needs to call the InvalidateCache() method to trigger the recalculation. You can do this from; + +- the script by calling InvalidateCache, or +- the component inspector; to do so, press the **Invalidate Cache** button. + +If the input polygon scales uniformly or translates or rotates, the cache remains valid. + +## Oversize Windows + +If sections of the confining polygon are too small to fully contain the camera window, Cinemachine calculates a polygon +skeleton for those regions. This is a shape with no area, that serves as a place to put the camera when it is confined +to this region of the shape. + +Skeleton computation is the most resource-heavy part of the cache calculation, so it is a good idea to tune this with +some care: + +- To optimize the skeleton calculation, set the **Max Window Size** property to the largest size you expect the camera + window to have. Cinemachine does not spend time calculating the skeleton for window sizes larger than that. + +# Properties: + +| **Property:** | **Function:** | +|:------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Bounding Shape 2D | Set the 2D shape you want to confine the camera viewport to. | +| Damping | Damping Is applied around corners to avoid jumps. Higher numbers are more gradual. | +| Max Window Size | To optimize computation and memory performance, set this to the largest view size that the camera is expected to have. The Confiner 2D does not compute a polygon cache for frustum sizes larger than this. This refers to the size in world units of the frustum at the confiner plane (for orthographic cameras, this is just the orthographic size). If set to 0, then Cinemachine ignores this parameter and calculates a polygon cache for all potential window sizes. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineDolly.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineDolly.md new file mode 100644 index 00000000..07975832 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineDolly.md @@ -0,0 +1,54 @@ +# Using dolly paths + +A dolly path is an array of waypoints in a Scene. Use a dolly path to specify a fixed course to position or animate a +Virtual Camera. Use the [Tracked Dolly](CinemachineBodyTrackedDolly.md) algorithm to use a dolly path with your Virtual +Camera. + +![Editing a dolly path in the Scene view](images/CinemachinePathScene.png) + +![Editing a dolly path in the Inspector window](images/CinemachinePathInspector.png) + +Cinemachine provides two types of dolly paths: + +* [Smooth Path](CinemachineSmoothPath.md): Each waypoint has a position and roll. Cinemachine uses Bezier interpolation + between the waypoints. Smooth Path gives you less control over the position of the path but animation along the path + is always smooth and continuous. This is the recommended path type. + +* [Path](CinemachinePath.md): Each waypoint has a position, tangent, and roll. Use Path for finer control of the track’s + position between waypoints. Animating a VIrtual Camera along a Path might cause jerky motion over waypoints when + tangents don’t allow a smooth transition to and from the waypoint. + +To create a Virtual Camera with a dolly path: + +1. In the Unity menu, choose __GameObject > Cinemachine > Dolly Camera with Track__. + A new Virtual Camera and dolly track appears in + the [Hierarchy]([https://docs.unity3d.com/Manual/Hierarchy.html](https://docs.unity3d.com/Manual/Hierarchy.html)). By + default, the dolly track GameObject is a Smooth Path. + +2. In the [Hierarchy]([https://docs.unity3d.com/Manual/Hierarchy.html](https://docs.unity3d.com/Manual/Hierarchy.html)) + window, select the new dolly track GameObject. + +3. In + the [Inspector]([https://docs.unity3d.com/Manual/UsingTheInspector.html](https://docs.unity3d.com/Manual/UsingTheInspector.html)), + add and adjust waypoints. + +To create a path GameObject: + +1. In the Unity menu, choose __GameObject > Create Empty.__ + +2. [Add the path component](https://docs.unity3d.com/Manual/UsingComponents.html), either __CinemachinePath__ or _ + _CinemachineSmoothPath__ + +To edit a waypoint in a path: + +1. In the [Hierarchy]([https://docs.unity3d.com/Manual/Hierarchy.html](https://docs.unity3d.com/Manual/Hierarchy.html)) + window, select the path GameObject. + +2. Select a waypoint by either clicking its index number in + the [Scene](https://docs.unity3d.com/Manual/UsingTheSceneView.html) view or clicking its number in the __Path Details + __ section in the [ Inspector](https://docs.unity3d.com/Manual/UsingTheInspector.html). + +3. Edit the waypoint by [manipulating its Gizmo](https://docs.unity3d.com/Manual/PositioningGameObjects.html) in the + Scene view or edit its properties in the Inspector.
__Note__: When editing a waypoint for a regular path in the + Scene view, the waypoint has two Gizmos: for the position and for the tangent. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineDollyCart.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineDollyCart.md new file mode 100644 index 00000000..69e09349 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineDollyCart.md @@ -0,0 +1,17 @@ +# Cinemachine Dolly Cart + +__Cinemachine Dolly Cart__ is a component that constrains the transform of its GameObject to a __Cinemachine Path__ or _ +_Cinemachine Smooth Path__. Use it to animate a GameObject along a path, or as a __Follow__ target for Virtual Cameras. + +## Properties: + +| **Property:** | | **Function:** | +|:-------------------|:-------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +| __Path__ | | The path to follow. | +| __Update Method__ | | When to move the cart when velocity is non-zero. Use __Update__ for normal `MonoBehaviour` updating, __Fixed Update__ for updates in sync with the Physics module, `FixedUpdate()`. | +| __Position Units__ | | The unit of measure for __Position__. | +| | _Path Units_ | Use waypoints along the path. The value 0 represents the first waypoint on the path, 1 is the second waypoint, and so on. | +| | _Distance_ | Use distance along the path. The path is sampled according to the Resolution property of the path. Cinemachine creates a distance lookup table, which it stores in an internal cache. | +| | _Normalized_ | Use the beginning and end of the path. The value 0 represents the beginning of the path, 1 is the end of the path. | +| __Speed__ | | Move the cart with this speed. The value is interpreted according to __Position Units__. | +| __Position__ | | The position along the path to place the cart. This can be animated directly or, if the speed is non-zero, will be updated automatically. The value is interpreted according to __Position Units__. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineExternalCamera.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineExternalCamera.md new file mode 100644 index 00000000..0dc96b1e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineExternalCamera.md @@ -0,0 +1,15 @@ +# Cinemachine External Camera - (deprecated) + +**Note:** This component is **deprecated** in favour of using a normal CinemachineVirtualCamera with Do Nothing in both +Aim and Body. + +This component will expose a non-cinemachine camera to the cinemachine system, allowing it to participate in blends. +Just add it as a component alongside an existing Unity Camera component. You will need to take steps (e.g. disabling the +Camera component) to ensure that the Camera doesn't fight with the main Cinemachine Camera. + +## Properties: + +| **Property:** | **Function:** | +|:---------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Look At__ | The object that the camera is looking at, if defined. This can be empty, but setting this may improve the quality of the blends to and from this camera. | +| __Blend Hint__ | Hint for blending positions to and from this camera. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineFollowZoom.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineFollowZoom.md new file mode 100644 index 00000000..952a3109 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineFollowZoom.md @@ -0,0 +1,14 @@ +# Cinemachine Follow Zoom + +This [extension](CinemachineVirtualCameraExtensions.md) adjusts the FOV of the lens to keep the target object at a +constant size on the screen, regardless of camera and target position. + +## Properties: + +| **Property:** | **Function:** | +|:--------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Width__ | The shot width to maintain, in world units, at target distance. The FOV will be adjusted so that an object of this size, at target distance, will fill the screen. | +| __Damping__ | Increase this value to soften the responsiveness of the follow-zoom. Small numbers make the camera more responsive. Larger numbers make the camera respond more slowly. | +| __Min FOV__ | Lower limit for the FOV that this behavior generates. | +| __Max FOV__ | Upper limit for the FOV that this behavior generates. | + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineFreeLook.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineFreeLook.md new file mode 100644 index 00000000..83c7913b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineFreeLook.md @@ -0,0 +1,65 @@ +# Cinemachine Free Look Camera + +The __Cinemachine Free Look Camera__ component provides a third-person camera experience. This Cinemachine Virtual +Camera orbits around its subject along a position specified by three separate camera rigs: __Top__, __Middle__, and _ +_Bottom__. + +![Cinemachine Free Look in the Scene window](images/CinemachineFreelook.png) + +Each rig defines a ring around the target, with its own radius, height offset, composer, lens properties, and Noise +settings. These are the same as the [properties for a regular Virtual Camera](CinemachineVirtualCamera.md). + +Cinemachine Free Look Camera also defines a spline that connects the rigs. The spline defines the camera’s position when +blending between the rigs. + +![Cinemachine Free Look properties for spline, and the __Top__, __Middle__, and __Bottom +__ rigs](images/CinemachineFreeLookProperties.png) + +Free Look uses player input along the x and y axes. The x axis controls the orbital position along the __Top__, __Middle +__, or __Bottom__ horizontal orbits, like the [Orbital Transposer](CinemachineBodyOrbitalTransposer.md). The y-axis +controls the vertical position, using the spline to determine the position between rigs. + +## Properties: + +| **Property:** | | **Function:** | +|:-----------------------------------------------|:-------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Solo__ | | Toggles whether or not the Virtual Camera is temporarily live. Use this property to get immediate visual feedback in the [Game view](https://docs.unity3d.com/Manual/GameView.html) to adjust the Virtual Camera. | +| __Game Window Guides__ | | Toggles the visibility of compositional guides in the Game view. These guides are available when Look At specifies a GameObject and the Aim section uses Composer or Group Composer, or when Follow specifies a target and the Body section uses Framing Composer. This property applies to all Virtual Cameras. | +| __Save During Play__ | | Check to [apply the changes while in Play mode](CinemachineSavingDuringPlay.md). Use this feature to fine-tune a Virtual Camera without having to remember which properties to copy and paste. This property applies to all Virtual Cameras. | +| __Priority__ | | The importance of this Virtual Camera for choosing the next shot. A higher value indicates a higher priority. Cinemachine Brain chooses the next live Virtual Camera from all Virtual Cameras that are activated and have the same or higher priority as the current live Virtual Camera. This property has no effect when using a Virtual Camera with Timeline. | +| __Follow__ | | The target GameObject to move with. The [Body properties](CinemachineVirtualCameraBody.md) use this target to update the position of the Unity camera. | +| __Look At__ | | The target GameObject to aim at. The [Aim properties](CinemachineVirtualCameraAim.md) use this target to update the rotation of the Unity camera. This property is normally the same as the Follow target. | +| __Common Lens__ | | Check to apply a common lens setting to all three child rigs. Uncheck to use separate lens settings for each child rig. | +| __Lens__ | | If Common Lens is checked, these lens settings apply to all three rigs. These properties mirror their counterparts in the property settings for the [Unity camera](https://docs.unity3d.com/Manual/class-Camera.html). | +| | _Vertical FOV_ | This is the camera view in vertical degrees. For example, to specify the equivalent of a 50mm lens on a Super 35 sensor, enter a Field of View of 19.6 degrees. This property is available when the Unity camera with the Cinemachine Brain component uses a Projection of Perspective. | +| | _Orthographic Size_ | When using an orthographic camera, this defines the half-height, in world coordinates, of the camera view. This property is available when the Unity camera with the Cinemachine Brain component uses a Projection of Orthographic. | +| | _Near Clip Plane_ | The closest point relative to the camera where drawing occurs. | +| | _Far Clip Plane_ | The furthest point relative to the camera where drawing occurs. | +| | _Dutch_ | Dutch angle. Tilts the Unity camera on the Z axis, in degrees. This property is unique to the Virtual Camera; there is no counterpart property in the Unity camera. | +| __Transitions__ | | | +| | _Blend Hint_ | How to blend to and from the Free Look camera. Use None for default linear interpolation of position and aim. Use Spherical Position to blend spherically about the Look At position, linearly blending between Look At targets. Use Cylindrical Position to blend in a cylindrical path around the Look At target and interpolate linearly on the vertical axis. Use Screen Space Aim When Targets Differ for a standard linear position blend, with screen-space angular blend between differing Look At targets. | +| | _Inherit Position_ | When this virtual camera goes Live, attempt to force the position to be the same as the current position of the Unity Camera, allowing the virtual camera to apply its damping to accomplish the blend | +| | _Camera Activated_ | This event is invoked when the Virtual Camera becomes live. Attach custom handlers here if you need them. | +| __Y Axis, X Axis__ | | The vertical and horizontal axes for blending between rigs. For Y Axis the Value range is 0 to 1 and represents the blend position between the Top, Middle, and Bottom rigs. The value 0.5 represents the middle rig. For X Axis, the Value is the angular deviation (in degrees) of the camera from directly behind the target. | +| | _Max Speed_ | The maximum speed of this axis in degrees/second, or the multipler for the input value if Speed Mode is set to _InputValueGain_. | +| | _Speed Mode_ | How the axis responds to input. _MaxSpeed_ (the default) clamps the maximum speed at which the axis can change, regardless of the input. _Input Value Gain_ multiplies the input value by MaxSpeed. | +| | _Accel Time_ | The amount of time in seconds to accelerate to Max Speed. | +| | _Decel Time_ | The amount of time in seconds to decelerate to zero. | +| | _Input Axis Name_ | The name of this axis as specified in Unity Input manager. Setting to an empty string disables the automatic updating of the axis. | +| | _Input Axis Value_ | The value of the input axis. A value of 0 means no input. To drive this directly, use a custom input system. Or you set the Axis Name to control the value with the Unity Input Manager. | +| | _Invert_ | Check to invert the raw value of the input axis. The X Axis and Y Axis have opposite defaults. Checking this box causes the view to move **opposite** the input for the X Axis. Checking the box for the Y Axis causes the view to move in the **same** direction as the input. | +| __Y Axis Recentering__ | | Controls the automatic recentering on the y axis. | +| | _Enabled_ | Check to enable automatic recentering. | +| | _Wait Time_ | When no user input has been detected on the axis, the camera waits this long in seconds before recentering. | +| | _Recentering Time_ | Maximum angular speed of recentering. Accelerates into and decelerates out of the centered position. | +| __Orbits__ | | Properties for defining the Top, Middle, and Bottom rigs. | +| __[Binding Mode](CinemachineBindingModes.md)__ | | The coordinate space to use to interpret the offset from the target. | +| | _Lock To Target On Assign_ | Makes the orientation of the virtual camera match the local frame of the Follow target, at the moment when the virtual camera is activated or when the target is assigned. This offset remains constant in world space. The camera does not rotate along with the target. | +| | _Lock To Target With World Up_ | Makes the virtual camera use the local frame of the Follow target with tilt and roll set to 0. This binding mode ignores all target rotations except yaw. | +| | _Lock To Target No Roll_ | Makes the virtual camera use the local frame of the Follow target, with roll set to 0. | +| | _Lock To Target_ | Makes the virtual camera use the local frame of the Follow target. When the target rotates, the camera moves with it to maintain the offset and to maintain the same view of the target. | +| | _World Space_ | The offset is interpreted in world space relative to the origin of the Follow target. The camera will not change position when the target rotates. | +| | _Simple Follow With World Up_ | Simple follow with world up interprets the offset and damping values in camera-local space. This mode emulates the action a human camera operator would take when instructed to follow a target. The camera attempts to move as little as possible to maintain the same distance from the target; the direction of the camera with regard to the target does not matter. Regardless of the orientation of the target, the camera tries to preserve the same distance and height from it. | +| __Spline Curvature__ | | The tautness of the line that connects the rigs’ orbits. This line determines the final placement on the y axis. | +| __Height, Radius__ | | The radius and height of the Top, Middle, and Bottom rigs relative to the Follow target. | + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulse.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulse.md new file mode 100644 index 00000000..5e6d1df8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulse.md @@ -0,0 +1,33 @@ +# Impulse + +Cinemachine Impulse generates and manages camera shake in response to game events. For example, you can use Impulse to +make a Cinemachine Virtual Camera shake when one GameObject collides with another, or when something in your Scene +explodes. + +Impulse has two parts: + +**1. [Impulse Source](CinemachineImpulseSourceOverview.md)**: a component that emits a signal that originates at a point +in space and propagates outwards, much like a sound wave or a shock wave. This emission is triggered by events in the +game. + +The signal consists of a direction, and a curve specifying the strength of the signal as a function of time. Together, +these effectively define a shake along a specified axis, lasting a specified amount of time. This shake travels outward +from the point of origin, and when it reaches the location of an Impulse Listener, that listener can respond to it. + +**2. [Impulse Listener](CinemachineImpulseListener.md)**: a Cinemachine extension that allows a Virtual Camera to “hear” +an impulse, and react to it by shaking. + +It’s useful to think about this in terms of individual “impulses.” An impulse is a single occurrence of an Impulse +Source emitting a signal. Collisions and events in your Scenes _trigger_ impulses, Impulse Sources _generate_ impulses, +and Impulse Listeners _react_ to impulses. + +## Getting started with Impulse + +To set up and use Impulse in a Scene, do the following: + +- Add **[Cinemachine Impulse Source](CinemachineImpulseSource.md)** or * + *[Cinemachine Collision Impulse Source](CinemachineCollisionImpulseSource.md)** components to one or more GameObjects + that you want to trigger camera shake. + +- Add a **[Cinemachine Impulse Listener](CinemachineImpulseListener.md)** extension to one or more Cinemachine virtual + cameras so they can detect and react to impulses. \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseFiltering.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseFiltering.md new file mode 100644 index 00000000..e49f3799 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseFiltering.md @@ -0,0 +1,90 @@ +# Filtering impulses + +Filtering lets you fine-tune how and when an Impulse Source generates impulses. Cinemachine Impulse allows two types of +filtering: + +- Use channel filtering to set things up so that an Impulse Listener reacts to certain Impulse Sources and ignores + others. See [Filtering with channels](#ChannelFiltering) below for details. + +- Use Trigger Object Filtering with Collision Impulse Sources to set things up so that only certain GameObjects trigger + an impulse. See [Filtering with layers and tags](#TriggerObjectFiltering) for details. + + + +## Filtering with channels + +By default, every Impulse Listener reacts to every Impulse Source within range. Channels allow you to more precisely +control which Impulse Sources an Impulse Listener reacts to. To set up channel filtering, you need to do three things: + +- Set up your channels +- Set your Impulse Sources to broadcast on one or more channels +- Set your Impulse Listeners to listen to one or more channels + +When an Impulse Listener is listening to specific channels, it only reacts to Impulse Sources that broadcast on those +channels. + +### Adding channels + +The **CinemachineImpulseChannels** script creates channels in your Scene. It has one channel by default, and you can add +as many new channels as you need, up to a maximum of 31. + +To add new channels: + +1. Inspect the **CinemachineImpulseChannels** (**Impulse Channel > Edit**) script by doing one of the following: + + - In the Cinemachine Impulse Listener inspector, navigate to the **Channel Mask** drop-down and click the **Edit** + button next to it. + + - In the Cinemachine Impulse Source or Cinemachine Collision Impulse Source inspector, navigate to the **Impulse + Channel** drop-down and click the **Edit** button next to it. + +2. Expand the **Impulse Channels** property group and set the **Size** property to the number of channels you want. A + new entry appears for each channel. + +3. Rename your new channels. + + ![](images/InspectorImpulseChannelsScript.png) + + Channels are available from the channel drop-down in the Inspector as soon as you add them. + +### Setting listen / broadcast channels + +After setting up your channels, you need to define how your Impulse Listeners and Impulse Sources use them. + +- Inspect each Impulse Listener, and choose the channels you want it to listen to from the **Channel Mask** drop-down. + + ![](images/InspectorImpulseListenerChannelsMenu.png) + +- Inspect each Impulse Source or Collision Impulse Source, and choose the channels you want it to broadcast on from the + **Impulse Channel** drop-down. + + ![](images/InspectorImpulseSourceChannelsMenu.png) + + You can select multiple filters from the drop down. You can also choose **Everything** to use all filters, or * + *Nothing** to use none of them. + + + +## Filtering with layers and tags + +You can use Unity’s [Layers](https://docs.unity3d.com/Manual/Layers.html) +and [Tags]() to specify which GameObjects trigger an impulse when they +collide with a Collision Impulse Source, or enter a trigger zone. This is called **Trigger Object Filtering**. + +The Cinemachine Collision Impulse Source component has two **Trigger Object Filter** properties: + +- The **Layer Mask** drop-down lists all of the Scene’s layers. When you select one or more layers, GameObjects in those + layers trigger impulses when they collide with the Impulse Source. The Impulse Source ignores collisions with + GameObjects on other layers. + +- The **Ignore Tag** drop-down lists all of the Scene’s tags. When you select a tag, GameObjects with that tag do not + trigger impulses when they collide with the Impulse Source, even if they are in a layer specified in Layer Mask. + +For example, in a Scene where a large animal is lumbering through a forest, you might want the camera to shake when it +collides with large trees, but not small saplings. + +One way to set that up would be to make the animal a Collision Impulse Source, put all of the large trees on their own +layer, and select that as the Layer Mask. + +If all of the trees, large ones and saplings alike, are already on the same layer, you could assign a special tag to the +saplings, and use the **Ignore Tag** property to filter them out. \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseListener.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseListener.md new file mode 100644 index 00000000..a931a0b7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseListener.md @@ -0,0 +1,49 @@ +# Cinemachine Impulse Listener + +Impulse signals and [sources](CinemachineImpulseSourceOverview.md) don’t do anything on their own. An **Impulse Listener +** is a Cinemachine extension that allows a virtual camera to “hear” impulse vibration signals and react to them. + +Default implementations shipped with Cinemachine respond by applying the received signal directly to the listener’s +transform position, causing it to shake along with the signal. Additionally, it’s possible to specify a secondary +response - usually a randomized vibration along all positions and rotation axes - to give character to the listener’s +movement. It’s as if the listener were supported on springs and then kicked by the impulse signal. In addition to the +thrust given by the kick itself, there will be randomized shaking due to the springs. + +When you add an **Impulse Listener** extension to a virtual camera, it makes the camera shake in response to the signals +emitted from Impulse Sources. In the simplest case, the Impulse Listener applies the signal verbatim to the camera’s +Transform, causing it to shake. + +In the image below, the figure’s feet are Impulse Sources. When they collide with the floor (A) they generate impulses. +The camera is an Impulse Listener and reacts to the impulses by shaking (B), which shakes the resulting image in the +Game view (C). + +![In this Scene, the figure’s feet are Impulse Sources. When they collide with the floor (A) they generate impulses. The camera is an Impulse Listener and reacts to the impulses by shaking (B), which shakes the resulting image in the Game view (C). ](images/ImpulseOverview.png) + +To add an Impulse Listener to a Cinemachine virtual camera: + +1. Select the virtual camera, navigate to the Inspector window and expand the **Cinemachine Virtual Camera** script. + +2. Go to **Extensions > Add Extension**, and select **CinemachineImpulseListener**. + +![](images/ImpulseListener.png) + +In the real world, some cameras are mounted less rigidly than others, and tend to shake more as a result. The Impulse +Listener’s **Gain** property emulates this behavior by amplifying or attenuating impulse vibration signals. Higher +values cause the camera to shake more. + +> **TIP:** You can create your own Impulse Listener to interpret vibration signals any way you like. + +By default, an Impulse Listener reacts to every Impulse Source in range, but you can +apply [channel filtering](CinemachineImpulseFiltering.md#ChannelFiltering) to make a Listener respond to some Sources +and ignore others. + +##Properties: + +| Property: | Function: | +|-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Apply After** | Obstacles with this tag will be ignored. It is recommended to set this field to the target's tag. | +| **Channel Mask** | Specifies the Impulse channels to react to. For details, see [Filtering with channels](CinemachineImpulseFiltering.md#ChannelFiltering). | +| **Gain** | This is how much the received impulse signal will be magnified by for the purposes of reacting. It’s a simple multiplier applied to the incoming signal. The default value is 1. | +| **Use 2D Distance** | Enable this setting to ignore the z axis when calculating camera distance from the Impulse Source. Use this property for 2D games. | +| **Use Camera Space** | Interprets the impulse signal in camera space as opposed to world space. So if the impulse Y axis is vibrating, then the listener will move up and down on its local Y axis. | +| **Reaction Settings** | Lets you set a secondary noise that gets triggered by the impulse signal. Choose the noise setting and tune it with the amplitude and frequency gain. Duration sets the fade-out time for the secondary noise. Time is approximate. This will scale automatically with stronger impulses.

The listener combines the original impulse signal and the reaction and applies it to the object it’s on. This could be a camera, a vcam, or any other object. Custom listeners can easily be authored to apply the signal in nonstandard ways (for example, convert Z motion to FOV). | \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseSource.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseSource.md new file mode 100644 index 00000000..bebe8060 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseSource.md @@ -0,0 +1,73 @@ +# Cinemachine Impulse Source + +Use the **Cinemachine Impulse Source** component to generate impulses on events that are not collisions or Collider +triggers. This is a generic Impulse Source that exposes a family of `GenerateImpulse()` API methods. These methods +generate impulses at the specified locations and with the specified velocities and strengths. Call these methods +directly from your game logic, or use them with [UnityEvents](https://docs.unity3d.com/Manual/UnityEvents.html). + +> **TIP:** You can use the script for this component as an example to reference when creating your own custom +> impulse-generating classes. + +To add a Cinemachine Impulse Source to your Scene: + +1. Select the GameObject that you want to trigger camera shake, navigate to its Inspector, and click the **Add Component + ** button. + +2. Go to **Scripts > Cinemachine**, and select **Cinemachine Impulse Source**. + +By default, an Impulse Source affects every [Impulse Listener](CinemachineImpulseListener.md) in range, but you can +apply [channel filtering](CinemachineImpulseFiltering.md#ChannelFiltering) to make Impulse Sources affect some Impulse +Listeners and not others. + +##Properties: + +The properties in the Cinemachine Impulse Source Inspector window are divided into the following sections. + +- [Impulse Channel](#ImpulseChannel) +- [Impulse Type](#ImpulseType) +- [Impulse Shape](#ImpulseShape) + + + +### Impulse Channel + +Impulse Listeners filter impulses based on channels to control which Impulse Sources they react to. Channels work like +Camera Layers, but are distinct from them. These properties control the channels that the Impulse Source broadcasts +impulse signals on. For details, see documentation on [Filtering](CinemachineImpulseFiltering.md). + +![](images/InspectorImpulseSourceChannel.png) + +| **Property:** | **Function:** | +|---------------------|------------------------------------------------------------------------------------------------------------------------| +| **Impulse Channel** | Choose one or more channels from the drop-down.

Click **Edit** to modify existing channels or add new ones. | + + + +### Impulse Type + +You can choose the level of complexity, depending on your needs. Changing the Impulse Type brings up range, dissipation, +and propagation speed controls, as appropriate. + +![](images/ImpulseType.png) + +| Property: | Function: | +|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Impulse Type** | You can choose from the following Impulse types:

**Uniform**: The impulse travels with infinite speed, and will be heard at the same time and in the same way by all listeners, no matter where they are in space.

**Dissipating**: The strength of the impulse decreases as the distance from the source increases. Listeners that are farther away will feel a weaker signal than listeners that are closer.

**Propagating**: In addition to being dissipating, the impulse signal travels with finite speed outward from the source. Listeners that are farther away will feel the impulse at a later time than listeners that are close.

**Legacy**: This mode exists to support projects made with earlier versions of Impulse, and has a more complex way of defining the impulse signal. We recommend using one of the other settings. | +| **Dissipation Distance** | This setting defines the distance over which the impulse dissipates. Beyond this distance, the impulse will not be felt. | +| **Propagation Speed** | This defines, in m/s, how quickly the impulse signal propagates outwards through space from its origin. The default value, 343, is the speed of sound. | +| **Dissipation Rate** | This defines how quickly the dissipation occurs over the dissipation distance. As shown in the image below, expanding the curve shows a graph illustrating the signal strength across the dissipation radius. The origin is in the center of the X axis. Moving the slider adjusts the blue picture.

![](images/DissipationRate.png) | + + + +### Impulse Shape + +This defines the curve that specifies the shape of the signal, and the time over which the curve is emitted. + +![](images/ImpulseShape.png) + +| Property: | Function: | +|------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Predefined Impulse Shape** | You can choose from one of the following predefined Shapes: **Recoil**, **Bump**, **Explosion**, or **Rumble**.

**s (seconds)** field: Sets the duration of the impulse. Opening up the property shows you a picture of the impulse:

![](images/ImpulsePicture.png) | +| **Custom Impulse Shape** | You can draw your own custom impulse shape (animation curve). Select **Custom** from the drop-down menu and click on the green icon to pop up an editor as shown below.

![](images/ImpulseShapeCustom.png) | +| **Default Velocity** | Specifies the direction in space that the impulse will have by default. | +| **Test with Force** | Allows you to **invoke** the default impulse from the inspector (when playing) with the specified force multiplier, to see what it looks like. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseSourceOverview.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseSourceOverview.md new file mode 100644 index 00000000..4ef7e677 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineImpulseSourceOverview.md @@ -0,0 +1,41 @@ +# Cinemachine Impulse Sources + +An Impulse Source is a component that emits a vibration signal from a point in Scene space. Game events can cause an +Impulse Source to emit a signal from the place where the event occurs. The event _triggers_ impulses, and the source +_generates_ impulses. Virtual cameras with an Impulse Listener extension _react_ to impulses by shaking. + +In the image below, the figure's feet are Impulse Sources. When they collide with the floor (A) they generate impulses. +The camera is an Impulse Listener and reacts to the impulses by shaking (B), which shakes the resulting image in the +game view (C). + +![In this Scene, the figure's feet are Impulse Sources. When they collide with the floor (A) they generate impulses. The camera is an Impulse Listener and reacts to the impulses by shaking (B), which shakes the resulting image in the game view (C). ](images/ImpulseOverview.png) + +Cinemachine ships with two types of Impulse Source components. + +- **[Cinemachine Collision Impulse Source](CinemachineCollisionImpulseSource.md)** generates impulses in reaction to + collisions and trigger zones. + +- **[Cinemachine Impulse Source](CinemachineImpulseSource.md)** generates impulses in reaction to events other than + collisions. + +Your Scene can have as many Impulse Sources as you want. Here are a few examples of where you might use Impulse Source +components in a Scene: + +- On each of a giant’s feet, so that the ground shakes when the giant walks. + +- On a projectile that explodes when it hits a target. + +- On the surface of a gelatin planet that wobbles when something touches it. + +By default, an Impulse Source affects every [Impulse Listener](CinemachineImpulseListener.md) in range, but you can +apply [channel filtering](CinemachineImpulseFiltering.md#ChannelFiltering) to make Sources affect some Listeners and not +others. + +## Key Impulse Source properties + +While the vibration signal defines the basic “shape” of the camera shake, the Impulse Source controls several other +important properties that define the impulses it generates. + +For descriptions of all Impulse Source properties, as well as instructions for adding Impulse Sources to your scene, see +documentation on the [Impulse Source](CinemachineImpulseSource.md) +and [Collision Impulse Source](CinemachineCollisionImpulseSource.md) components. diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineManagerCameras.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineManagerCameras.md new file mode 100644 index 00000000..60301da4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineManagerCameras.md @@ -0,0 +1,23 @@ +# Managing and grouping Virtual Cameras + +A __manager__ camera oversees many Virtual Cameras but acts as a single Virtual Camera from the point of view of +Cinemachine Brain and Timeline. + +Cinemachine includes these manager cameras: + +* [Free Look Camera](CinemachineFreeLook.md): an enhanced [Orbital Transposer](CinemachineBodyOrbitalTransposer.md). It + manages three horizontal orbits, arranged vertically to surround an avatar. + +* [Mixing Camera](CinemachineMixingCamera.md): uses the weighted average of up to eight child Virtual Cameras. + +* [Blend List Camera](CinemachineBlendListCamera.md): executes a sequence of blends or cuts of its child Virtual + Cameras. + +* [Clear Shot Camera](CinemachineClearShot.md): picks the child Virtual Camera with the best view of the target. + +* [State-Driven Camera](CinemachineStateDrivenCamera.md): picks a child Virtual Camera in reaction to changes in + animation state. + +Because manager cameras act like normal Virtual Cameras, you can nest them. In other words, create arbitrarily complex +camera rigs that combine regular Virtual Cameras and manager cameras. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineMixingCamera.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineMixingCamera.md new file mode 100644 index 00000000..7d75db95 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineMixingCamera.md @@ -0,0 +1,39 @@ +# Cinemachine Mixing Camera + +The __Cinemachine Mixing Camera__ component uses the weighted average of its child Virtual Cameras to compute the +position and other properties of the Unity camera. + +![Cinemachine Mixing Camera with two child Virtual Cameras (red)](images/CinemachineMixingCamera.png) + +Mixing Camera manages up to eight child Virtual Cameras. In the Mixing Camera component, these Virtual Cameras are fixed +slots, not a dynamic array. Mixing Camera uses this implementation to support weight animation in Timeline. Timeline +cannot animate array elements. + +To create a Mixing Camera: + +1. In the Unity menu, choose __GameObject > Cinemachine > Mixing Camera__. + A new Mixing Camera appears in the [Hierarchy](https://docs.unity3d.com/Manual/Hierarchy.html) window. By default, + Unity also adds two Virtual Cameras as children of the Mixing Camera. + +2. Adjust the children Virtual Cameras. + +3. Add up to six more child cameras. + +4. Select the Mixing Camera in the Hierarchy window then adjust the Child Camera Weights in + the [Inspector](https://docs.unity3d.com/Manual/UsingTheInspector.html) window. + +![Child Camera Weights (red) and their contributions to the final position (blue)](images/CinemachineMixingCameraChildren.png) + +## Properties: + +| **Property:** | **Function:** | +|:-------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Solo__ | Toggles whether or not the Mixing Camera is temporarily live. Use this property to get immediate visual feedback in the [Game view](https://docs.unity3d.com/Manual/GameView.html) to adjust the Virtual Camera. | +| __Game Window Guides__ | Toggles the visibility of compositional guides in the Game view. This property applies to all Virtual Cameras. | +| __Save During Play__ | Check to [apply the changes while in Play mode](CinemachineSavingDuringPlay.md). Use this feature to fine-tune a Virtual Camera without having to remember which properties to copy and paste. This property applies to all Virtual Cameras. | +| __Priority__ | The importance of this Mixing Camera for choosing the next shot. A higher value indicates a higher priority. Cinemachine Brain chooses the next live Virtual Camera from all Virtual Cameras that are activated and have the same or higher priority as the current live Virtual Camera. This property has no effect when using a Virtual Camera with Timeline. | +| __Standby Updates__ | Controls how often the virtual camera is updated when the virtual camera is not live. | +| __Child Camera Weights__ | The weight of the Virtual Camera. Each child Virtual Camera has a corresponding Weight property. Note that setting one camera's weight to 1 does not put the other weights to zero. The contribution of any individual camera is its weight divided by the sum of all the child weights. | +| __Mix Result__ | A graphical representation of the weights of the child Virtual Cameras. The light part of the bar of each child camera represents the proportion of its contribution to the final position of the Mixing Camera. When the bar is completely dark, the camera makes no contribution to the position of the Mixing Camera. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineMultipleCameras.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineMultipleCameras.md new file mode 100644 index 00000000..9ecdfb9f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineMultipleCameras.md @@ -0,0 +1,17 @@ +# Multiple Unity cameras + +Split-screen and picture-in-picture effects require the use of more than one Unity camera. Each Unity camera presents +its own view on the player’s screen. + +To use a multi-camera split-screen for two players: + +1. For each player, [create a layer](https://docs.unity3d.com/Manual/Layers.html). For example, for two players, create + layers named P1 and P2. + +2. Add two Unity cameras to your Scene, set up their viewports, and give each one its own Cinemachine Brain component. + +3. For each Unity camera, set the __Culling Mask__ to the appropriate layer while excluding the other layer. For + example, set the first Unity camera to include layer P1 while excluding P2. + +4. Add 2 Virtual Cameras, one to follow each player to follow the players. Assign each Virtual Camera to a player layer. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineNoiseProfiles.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineNoiseProfiles.md new file mode 100644 index 00000000..9c22a61e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineNoiseProfiles.md @@ -0,0 +1,52 @@ +# Working with noise profiles + +A __noise profile__ is an asset that defines a procedural curve for camera noise. The __Basic Multi Channel Perlin__ +component applies a noise profile to the movement of the camera. Cinemachine applies noise movement after computing the +position of the camera. This way, camera noise does not affect the computation of camera movement in future updates. + +Cinemachine includes some predefined profile assets. Choose a predefined noise profile in the Noise component. Create +your own noise profile asset by choosing __Create > Cinemachine > NoiseSettings__ in +the [Project window](https://docs.unity3d.com/Manual/ProjectView.html). + +The properties in the Inspector show graphs that give a visual representation of the noise profile. There are properties +for the x, y, and z axes for position and rotation. Each axis may have more than one layer. + +![Editing the first noise layer for Position X](images/CinemachineNoiseProfileb.png) + +For realistic procedural noise, choose frequencies and amplitudes with care to ensure an interesting noise quality that +is not obviously repetitive. The most convincing camera shakes use __Rotation__ noise because that’s where the camera is +aiming. Handheld camera operators tend to shake more rotationally than they do positionally. After specifying __Rotation +__ noise, add __Position__ noise. + +Convincing noise profiles typically mix low, medium, and high frequencies together. When creating a new noise profile, +start with these three layers of noise for each axis. + +For amplitude, use larger values for wider lenses to shake the camera noticeably. For telephoto lenses, use smaller +amplitude values because the narrower FOV amplifies the effect. + +For frequency, a typical low range is 0.1-0.5 Hz, the mid range 0.8-1.5, and the high 3-4. The highest useful frequency +depends on the frame rate of your game. A game typically runs at 30 or 60Hz. Noise frequencies higher than the frame +rate of your game fall between the cracks of the Nyquist rate. In other words, they will not be directly tracked. + +For example, if your game runs at 60 frames/second and you set a frequency to 100, you will get choppy camera noise. +This is because your game can’t render something that moves faster than the frame rate. + +## Properties: + +| **Property:** | | **Function:** | +|:-----------------------------------------------|:-----------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Preview Time__ | | The number of seconds to display in the graphs in the Inspector. This property is for editing in the Inspector; it does not affect the content of the noise profile asset that you are editing. | +| __Preview Height__ | | The vertical height of the graphs of the noise profile in the Inspector. This property is for editing noise profiles; it does not affect the noise profile asset. | +| __Animated__ | | Check to show a moving representation of an example of the noise profile in the graph. This property is for editing noise profiles; it does not affect the noise profile asset. | +| __Position Noise__ | | A graphical representation of all noise layers for all axes for camera movement. | +| __Position X__, __Position Y__, __Position Z__ | | The layers of noise for each axis to apply to camera movement. Each axis has a graphical representation of its layers. Each layer has properties for Frequency, Amplitude, and optional Perlin noise. Click + or - to add and remove layers, respectively. | +| | _Frequency_ | The frequency of the wave in the noise layer, in Hz. | +| | _Amplitude_ | The amplitude (height) of the wave in the noise layer, in distance units. | +| | _Non-random wave if checked_ | Check to remove the Perlin noise from the noise layer. Without Perlin noise, Cinemachine uses a regular sine wave. Uncheck to apply Perlin noise to the layer, randomizing both the frequency and the amplitude while remaining in the neighbourhood of the selected values. | +| __Rotation Noise__ | | A graphical representation of all noise layers for all axes for camera rotation. | +| __Rotation X__, __Rotation Y__, __Rotation Z__ | | The layers of noise for each axis to apply to camera rotation. Each layer has properties for Frequency, Amplitude, and optional Perlin Noise. Click + or - to add and remove layers, respectively. | +| | _Frequency_ | The frequency of the wave in the noise layer, in Hz. | +| | _Amplitude_ | The amplitude (height) of the wave in the noise layer, in degrees. | +| | _Non-random wave if checked_ | Check to remove the Perlin noise from the noise layer. Without Perlin noise, Cinemachine uses a regular sine wave. Uncheck to include random Perlin noise variation, randomizing both the frequency and the amplitude while remaining in the neighbourhood of the selected values. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachinePath.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachinePath.md new file mode 100644 index 00000000..a3656a97 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachinePath.md @@ -0,0 +1,30 @@ +# Cinemachine Path + +__Cinemachine Path__ is a component that defines a world-space path, consisting of an array of waypoints. Each waypoint +specifies position, tangent, and roll settings. Bezier interpolation is performed between the waypoints, to get a smooth +and continuous path. + +**Tip**: While the path position will always be smooth and continuous, it is still possible to get jarring movement when +animating along the path. This happens when tangents aren’t set to ensure continuity of both the first and second order +derivatives. It is not easy to get this right. To avoid this potentially jarring movement, use Cinemachine Smooth Path. +CinemachineSmoothPath sets the tangents automatically to ensure complete smoothness. + +## Properties: + +| **Property:** | | **Function:** | +|:------------------------|:----------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Resolution__ | | Path samples per waypoint. Cinemachine uses this value to limit the granularity when calculating path distances. The crosshatches on the path gizmo in the scene view reflect this value | +| __Appearance__ | | The settings that control how the path appears in the Scene view. | +| | _Path Color_ | The color of the path when it is selected. | +| | _Inactive Path Color_ | The color of the path when it is not selected. | +| | _Width_ | The width of the railroad tracks that represent the path. | +| __Looped__ | | Check to join the ends of the path to form a continuous loop. | +| __Path Length__ | | The length of the path in distance units (read-only). | +| __Selected Waypoint__ | | Properties for the waypoint you selected in the Scene view or in the Waypoints list. | +| __Prefer Tangent Drag__ | | Check to use the Gizmo for the tangent of a waypoint when the Gizmos for the tangent and position coincide in the Scene view. | +| __Path Details__ | | The list of waypoints that define the path. | +| | _Position_ | Position in path-local space (i.e. relative to the transform of the path object itself) | +| | _Tangent_ | Offset from the position, which defines the tangent of the curve at the waypoint. The length of the tangent encodes the strength of the bezier handle. The same handle is used symmetrically on both sides of the waypoint, to ensure smoothness. | +| | _Roll_ | The roll of the path at this waypoint. The other orientation axes are inferred from the tangent and world up. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachinePixelPerfect.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachinePixelPerfect.md new file mode 100644 index 00000000..7b3637c0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachinePixelPerfect.md @@ -0,0 +1,33 @@ +# Using the Cinemachine Pixel Perfect extension + +Both the __Pixel Perfect Camera__ and Cinemachine modify the Camera’s orthographic size. Using these two systems +together in a single Scene would cause them to fight for control over the Camera and produce unwanted results. The _ +_Cinemachine Pixel Perfect__ extension solves this incompatibility. + +__Cinemachine Pixel Perfect__ is an [extension](CinemachineVirtualCameraExtensions.md) for the __Cinemachine Virtual +Camera__ that alters the orthographic size of the virtual camera. The extension detects the presence of the Pixel +Perfect Camera component, and uses the component settings to calculate for the correct orthographic size of the virtual +camera that best retains the Sprites in a pixel-perfect resolution. + +To add this extension to your virtual cameras, use the __Add Extension__ dropdown menu on the Cinemachine Virtual Camera +Inspector window. Add this extension to each virtual camera in your Project. + +![](images/2Dpixelperfect_ex.png) + +For each virtual camera attached with this extension, the Pixel Perfect Camera component then calculates a pixel-perfect +orthographic size that best matches the original size of the virtual camera during __Play Mode __ or when __Run In Edit +Mode__ is enabled. This is done to match the original framing of each virtual camera as close as possible when the +pixel-perfect calculations are implemented. + +When the [Cinemachine Brain](CinemachineBrainProperties.md) component [blends](CinemachineBlending.md) between multiple +virtual cameras, the rendered image is temporarily not pixel-perfect during the transition between cameras. The image +becomes pixel-perfect once the view fully transitions to a single virtual camera. + +The following are the current limitations of the extension: + +- When a virtual camera with the Pixel Perfect extension is set to follow a [Target Group](CinemachineTargetGroup.md), + there may be visible choppiness when the virtual camera is positioned with the Framing Transposer component. +- If the __Upscale Render Texture__ option is enabled on the Pixel Perfect Camera, there are less possible pixel-perfect + resolutions that match the original orthographic size of the virtual cameras. This may cause the framing of the + virtual cameras to be off by quite a large margin after the pixel-perfect calculations. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachinePostProcessing.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachinePostProcessing.md new file mode 100644 index 00000000..942a48a7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachinePostProcessing.md @@ -0,0 +1,55 @@ +# Post Processing Extension + +Use the Cinemachine Post Processing [extension](CinemachineVirtualCameraExtensions.md) to attach a Postprocessing V2 +profile to a Virtual Camera. + +**Note 1**: Unity recommends using Postprocessing V2 instead of Postprocessing V1. + +**Note 2**: With HDRP and URP 7 and up, The PostProcessing package is deprecated, and is implemented natively by HDRP +and URP. In that case, please see the __CinemachineVolumeSettings__ extension. + +The Cinemachine Post Processing extension holds a Post-Processing Profile asset to apply to a Virtual Camera when it is +activated. If the camera is blending with another Virtual Camera, then the blend weight is applied to the Post Process +effects also. + +Before attaching post processing profiles to Virtual Cameras, you first need to set up your project to use post +processing. + +To set up project to use Post Processing V2 with Cinemachine: + +1. [Install](https://docs.unity3d.com/Packages/com.unity.package-manager-ui@latest/index.html) the Postprocessing V2 + package. + +2. Select your Unity camera with Cinemachine Brain in + the [Scene](https://docs.unity3d.com/Manual/UsingTheSceneView.html) view. + +3. [Add the component](https://docs.unity3d.com/Manual/UsingComponents.html) named __Post-Process Layer__. This will + enable Post Process profiles to affect the Camera. + +To add a Post Process profile to a Virtual Camera + +4. Select your Virtual Camera in the [Scene](https://docs.unity3d.com/Manual/UsingTheSceneView.html) view + or [Hierarchy](https://docs.unity3d.com/Manual/Hierarchy.html) window. + +5. In the [Inspector](https://docs.unity3d.com/Manual/UsingTheInspector.html), choose __Add Extension > + CinemachinePostProcessing__, then configre the Profile asset to have the effects you want when this virtual camera is + live. + +## Properties: + +| **Property:** || **Function:** | +|:---||:---| +| __Profile__ || The Post-Processing profile to activate when this Virtual Camera is live. | +| __Focus Tracks Target__ || This is obsolete, please use __Focus Tracking__. | +| __Focus Tracking__ || If the profile has the appropriate overrides, will set the base focus distance to be the +distance from the selected target to the camera. The __Focus Offset__ field will then modify that distance. | +|| _None_ | No focus tracking | +|| _Look At Target_ | Focus offset is relative to the LookAt target | +|| _Follow Target_ | Focus offset is relative to the Follow target | +|| _Custom Target_ | Focus offset is relative to the Custom target | +|| _Camera_ | Focus offset is relative to the camera | +| __Focus Target__ || The target to use if __Focus Tracks Target__ is set to _Custom Target_ | +| __Focus Offset__ || Used when __Focus Tracking__ is not _None_. Offsets the sharpest point away from the location of +the focus target. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineRecomposer.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineRecomposer.md new file mode 100644 index 00000000..66c02830 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineRecomposer.md @@ -0,0 +1,25 @@ +# Cinemachine Recomposer Extension + +Use the Cinemachine Recomposer [extension](CinemachineVirtualCameraExtensions.md) is an add-on module for Cinemachine +Virtual Camera that adds a final tweak to the camera composition. It is intended for use in a Timeline context, where +you want to hand-adjust the output of procedural or recorded camera aiming. + +All of these properties can be animated within the Timeline. + +## Properties: + +| **Property:** | **Function:** | +|:-----------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Apply After__ | The Volume Settings profile to activate when this Virtual Camera is live. | +| _Body_ | Camera has been positioned but not yet rotated | +| _Aim_ | Camera has been rotated and positioned, but no noise or collision resolution applied | +| _Noise_ | Camera has been positioned, rotated, and noise and other corrections applied | +| _Finalize_ | Default setting. Applied after all standard virtual camera processing has occurred | +| __Tilt__ | Add a vertical rotation to the camera's current rotation | +| __Pan__ | Add a horizontal rotation to the camera's current rotation | +| __Dutch__ | Add a tilt (local Z rotation) to the current camera's rotation | +| __Zoom Scale__ | Scale the current zoom | +| __Follow Attachment__ | When this is less than 1, damping on the Follow target is increased. When the value is zero, damping is infinite - effectively "letting go" of the target | +| __Look At Attachment__ | When this is less than 1, damping on the Look At target is increased. When the value is zero, damping is infinite - effectively "letting go" of the target | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineSavingDuringPlay.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineSavingDuringPlay.md new file mode 100644 index 00000000..45b87202 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineSavingDuringPlay.md @@ -0,0 +1,18 @@ +# Saving in Play Mode + +It’s often most convenient to adjust camera settings while the game is playing. But normally, Unity does not save your +changes to the Scene when you exit Play Mode. Cinemachine has a special feature to preserve the tweaks you make during +Play Mode. It doesn’t save structural changes, like adding or removing a behavior. With the exception of certain +properties, Cinemachine preserves most of the settings in your Virtual Cameras when you exit Play Mode. + +When you exit Play Mode, Cinemachine scans the Scene to collect any changed properties in the Virtual Cameras. +Cinemachine saves these changes a second or so after exiting. Use the __Edit > Undo__ command to revert these changes. + +Check __Save During Play__ on any Virtual Camera in +the [Inspector](https://docs.unity3d.com/Manual/UsingTheInspector.html) to enable this feature. This is a global +property, not per-camera, so you only need to check or uncheck it once. + +Cinemachine components have the special attribute `[SaveDuringPlay]` to enable this functionality. Feel free to use it +on classes within your own custom scripts too if you need it. To exclude a field in a class with the `[SaveDuringPlay]` +attribute, add the `[NoSaveDuringPlay]` attribute to the field. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineSetUpVCam.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineSetUpVCam.md new file mode 100644 index 00000000..ef49dd60 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineSetUpVCam.md @@ -0,0 +1,23 @@ +# Setting up Virtual Cameras + +In your project, organize your Scene Hierarchy to have a single Unity camera with a CinemachineBrain component and many +Virtual Cameras. + +To add a Virtual Camera to a Scene: + +1. In the Unity menu, choose __GameObject > Cinemachine > Virtual Camera__.
Unity adds a new GameObject with a + Cinemachine Virtual Camera component. If necessary, Unity also adds + a [Cinemachine Brain](CinemachineBrainProperties.md) component to the Unity camera GameObject for you. + +2. Use the __Follow__ property to specify a GameObject to follow.
The Virtual Camera automatically positions the + Unity camera relative to this GameObject at all times, even as you move it in the Scene. + +3. Use the __Look At__ property to specify the GameObject that the Virtual Camera should aim at.
The Virtual Camera + automatically rotates the Unity camera to face this GameObject at all times, even as you move it in the Scene. + +4. [Customize the Virtual Camera](CinemachineVirtualCamera.md) as needed.
Choose the algorithm for following and + looking at, and adjust settings such as the follow offset, the follow damping, the screen composition, and the + damping used when re-aiming the camera. + + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineSmoothPath.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineSmoothPath.md new file mode 100644 index 00000000..bffc8cba --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineSmoothPath.md @@ -0,0 +1,27 @@ +# Cinemachine Smooth Path + +A __Cinemachine Smooth Path__ is a component that defines a world-space path, consisting of an array of waypoints. Each +waypoint has position and roll settings. Cinemachine uses Bezier interpolation to calculate positions between the +waypoints to get a smooth and continuous path. The path passes through all waypoints. Unlike Cinemachine Path, first and +second order continuity is guaranteed, which means that not only the positions but also the angular velocities of +objects animated along the path will be smooth and continuous. + +## Properties: + +| **Property:** | | **Function:** | +|:----------------------|:----------------------|:----------------------------------------------------------------------------------------------------------------------| +| __Resolution__ | | Path samples per waypoint. Cinemachine uses this value to calculate path distances. | +| __Looped__ | | If checked, then the path ends are joined to form a continuous loop. | +| __Resolution__ | | Path samples per waypoint. This is used for calculating path distances. | +| __Appearance__ | | The settings that control how the path appears in the Scene view. | +| | _Path Color_ | The color of the path when it is selected. | +| | _Inactive Path Color_ | The color of the path when it is not selected. | +| | _Width_ | The width of the railroad tracks that represent the path. | +| __Looped__ | | Check to join the ends of the path to form a continuous loop. | +| __Path Length__ | | The length of the path in distance units (read-only). | +| __Selected Waypoint__ | | Properties for the waypoint you selected in the Scene view or in the Waypoints list. | +| __Waypoints__ | | The list of waypoints that define the path. They are interpolated using a bezier curve. | +| | _Position_ | Position in path-local space. | +| | _Roll_ | Defines the roll of the path at this waypoint. The other orientation axes are inferred from the tangent and world up. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineStateDrivenCamera.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineStateDrivenCamera.md new file mode 100644 index 00000000..0791468d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineStateDrivenCamera.md @@ -0,0 +1,63 @@ +# Cinemachine State-Driven Camera + +The __Cinemachine State-Driven Camera__ component activates a child Virtual Camera when an animation target changes +states. For example, consider your avatar’s local-motion system and orbit camera. Your game feels more alive to the +player when the camera shakes more as your avatar runs. When the avatar walks, blend for example to a Virtual Camera +with more damping. + +![State-Driven camera with three child Virtual Cameras (red)](images/CinemachineStateDrivenChildren.png) + +The animation target for a State-Driven Camera is a GameObject with +an [Animator](https://docs.unity3d.com/Manual/class-Animator.html) component controlled by +an [Animator Controller](https://docs.unity3d.com/Manual/class-AnimatorController.html). + +Assign normal __Look At__ and __Follow__ targets to each child Virtual Camera. If a child Virtual Camera has no __Look +At__ or __Follow__ target, State-Driven camera uses its own, respective targets. + +State-Driven Camera has a list that assigns child Virtual Cameras to animation states. You can define default and custom +blends between the State-Driven children. + +In the Inspector, the State-Driven camera lists its Virtual Camera children. Use this list to add and delete child +Virtual Cameras, and assign priorities. + +![Properties for Cinemachine State-Driven camera](images/CinemachineStateDrivenCamera.png) + +To create a State-Driven camera: + +1. Set up the animation target GameObject + to [control it with an Animator Controller](https://docs.unity3d.com/Manual/AnimatorControllers.html). + +2. In the Unity menu, choose __GameObject > Cinemachine > State-Driven Camera__.
A new State-Driven camera appears + in the hierarchy with a new child Virtual Camera. + +3. In the [Inspector](https://docs.unity3d.com/Manual/UsingTheInspector.html), assign the animation target you created + in step 1 to the Animated Target property. + +4. If needed, add more child VIrtual Cameras either by clicking + in Virtual Camera Children or dragging and dropping + existing Virtual Cameras in the [Hierarchy](https://docs.unity3d.com/Manual/Hierarchy.html) window. + +5. Use the __State__ to assign child Virtual Cameras to the animation states. + +## Properties: + +| **Property:** | **Function:** | +|:----------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Solo__ | Toggles whether or not the Virtual Camera is temporarily live. Use this property to get immediate visual feedback in the [Game view](https://docs.unity3d.com/Manual/GameView.html) to adjust the Virtual Camera. | +| __Standby Update__ | Controls how often the virtual camera is updated when the virtual camera is not live. | +| __Game Window Guides__ | Toggles the visibility of compositional guides in the Game view. These guides are available when Look At specifies a GameObject and the Aim section uses Composer or Group Composer, or when Follow specifies a target and the Body section uses Framing Composer. This property applies to all Virtual Cameras. | +| __Save During Play__ | Check to [apply the changes while in Play mode](CinemachineSavingDuringPlay.md). Use this feature to fine-tune a Virtual Camera without having to remember which properties to copy and paste. This property applies to all Virtual Cameras. | +| __Priority__ | The importance of this State-Driven camera for choosing the next shot. A higher value indicates a higher priority. This property has no effect when using a State-Driven camera with Timeline. | +| __Look At__ | The default target GameObject that the children Virtual Camera move with. The State-Driven camera uses this target when the child does not specify this target. May be empty if all of the children define targets of their own. | +| __Follow__ | The default target GameObject to aim the Unity camera at. The State-Driven camera uses this target when the child does not specify this target. May be empty if all of the children define targets of their own. | +| __Animated Target__ | The GameObject that contains the Animator Controller. The State-Drive camera reacts to the animation state changes from this GameObject. | +| __Layer__ | The animation layer to observe in the Animated Target. | +| __Show Debug Text__ | Check to display a textual summary of the live Virtual Camera and blend in the game view. | +| __Default Blend__ | The blend which is used if you don’t explicitly define a blend between two Virtual Cameras. | +| __Custom Blends__ | The asset which contains custom settings for specific child blends. | +| __State__ | The state to which the virtual camera will be mapped. | +| __Camera__ | The virtual camera to activate for this state. | +| __Wait__ | The delay to activate the virtual camera (in seconds) once this state is entered. For example, the animation target moves from an active Walk state, to a Jog state, to a Run state. If the Jog Wait time is set to four seconds, the Walk virtual camera remains active for those four seconds even though the Jog state is now active. If the Jog state duration is less than the Wait time before the animation target passes into another state, the Jog virtual camera will not activate and is bypassed. | +| __Min__ | The minimum length of time (in seconds) the virtual camera must remain active once it is activated. For example, the animation target enters the Run state from the Jog state. It has spent five seconds in the Jog state before moving to the Run state. The Jog Min is set to 12 seconds. This means that the Jog virtual camera remains the active camera for an additional seven seconds even though the animation target is in the Run state. | +| __Virtual Camera Children__ | The list of Virtual Cameras that are children of the State-Driven camera. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineStoryboard.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineStoryboard.md new file mode 100644 index 00000000..0115fe17 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineStoryboard.md @@ -0,0 +1,37 @@ +# Storyboard + +Use the Cinemachine Storyboard [extension](CinemachineVirtualCameraExtensions.md) to let artists, producers, and +directors contribute to your game development. Cinemachine Storyboard places a still image in screen space over the +output of the Unity camera. + +Storyboard simplifies animatics for your team. Start with still images to pre-visualize terrain, layout, movement, +lighting, timing, and so on. Following the intentions of the Storyboard image, developers incrementally add the assets, +GameObjects, and settings that implement the Scene. + +Use the properties in the Storyboard component to hide and show the image to compare it to the actual rendering of the +Unity camera. + +Storyboards can be muted at a global level - completely disabling them. To toggle this, go to the Cinemachine Storyboard +component and enable _Storyboard Global Mute_. + +![Storyboard in Cinemachine](images/CineMachineStoryboard.png) + +## Properties: + +| **Property:** | | **Function:** | +|:---------------------------|:--------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Storyboard Global Mute__ | | When enabled, all storyboards are globally muted. | +| __Show Image__ | | Toggle the visibility of the storyboard image. | +| __Image__ | | The image to display as an overlay over the output of the Virtual Camera. | +| __Aspect__ | | How to handle differences between image aspect and screen aspect. | +| | _Best Fit_ | Resize the image as large as possible on the screen without cropping. Preserve the vertical and horizontal proportions. | +| | _Crop Image To Fit_ | Resize the image to fill the screen, cropping if necessary. Preserve the vertical and horizontal proportions. | +| | _Stretch To Fit_ | Resize the image to fill the screen, adjusting the vertical or horizontal width if necessary. | +| __Alpha__ | | The opacity of the image. Use 0 for transparent, 1 for opaque. | +| __Center__ | | The screen-space position of the image. Use 0 for center. | +| __Rotation__ | | The screen-space rotation of the image. | +| __Scale__ | | The screen-space scaling of the image. | +| __Sync Scale__ | | Check to synchronize the scale of the x and y axes. | +| __Mute Camera__ | | Check to prevent the Virtual Camera from updating the position, rotation, or scale of the Unity camera. Use this feature to prevent Timeline from [blending](CinemachineBlending.md) the camera to an unintended position in the Scene. | +| __Split View__ | | Wipe the image on and off horizontally. | +| __Waveform Monitor__ | | Opens the Waveform monitor window. This is very performance-intensive, use with care. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineTargetGroup.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineTargetGroup.md new file mode 100644 index 00000000..95e1e55f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineTargetGroup.md @@ -0,0 +1,40 @@ +# Cinemachine Target Group + +Use Cinemachine Target Group to treat multiple GameObjects as a single Look At target. Use a Target Group with +the [Group Composer](CinemachineAimGroupComposer.md) algorithm. + +To create a Virtual Camera with a Target Group: + +1. In the Unity menu, choose __GameObject > Cinemachine > Target Group Camera__.
Unity adds a new Virtual Camera + and Target Group to the Scene. The __Follow__ and __Look At__ targets in the Virtual Camera refer to the new Target + Group. + +2. In the [Hierarchy](https://docs.unity3d.com/Manual/Hierarchy.html), select the new Target Group object. + +3. In the [Inspector](https://docs.unity3d.com/Manual/UsingTheInspector.html), click the + sign to add a new item to the + group. + +4. In the new item, assign a GameObject (you can drag and drop from the Hierarchy), and edit the __Weight__ and __Radius + __ properties. + +5. To add more GameObjects to the Target Group, repeat steps 3-4. + +![Cinemachine Target Group with two targets](images/CinemachineTargetGroup.png) + +## Properties: + +| **Property:** | | **Function:** | +|:------------------|:----------------|:-----------------------------------------------------------------------------------------------------------------------| +| __Position Mode__ | | How to calculate the position of the Target Group. | +| | _Group Center_ | Use the center of the axis-aligned bounding box that contains all items of the Target Group. | +| | _Group Average_ | Use the weighted average of the positions of the items in the Target Group. | +| __Rotation Mode__ | | How to calculate the rotation of the Target Group. | +| | _Manual_ | Use the values specified in the Rotation properties of the Target Group’s transform. This is the recommended setting. | +| | _Group Average_ | Weighted average of the orientation of the items in the Target Group. | +| __Update Method__ | | When to update the transform of the Target Group. | +| | _Update_ | Update in the normal MonoBehaviour Update() method. | +| | _Fixed Update_ | Updated in sync with the Physics module, in FixedUpdate(). | +| | _Late Update_ | Updated in MonoBehaviour `LateUpdate()`. | +| __Targets__ | | The list of target GameObjects. | +| | _Weight_ | How much weight to give the item when averaging. Cannot be negative. | +| | _Radius_ | The radius of the item, used for calculating the bounding box. Cannot be negative. | diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineTimeline.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineTimeline.md new file mode 100644 index 00000000..fdf7b40e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineTimeline.md @@ -0,0 +1,61 @@ +# Cinemachine and Timeline + +Use [Timeline](https://docs.unity3d.com/Packages/com.unity.timeline@latest) to activate, deactivate, and blend between +Virtual Cameras. In Timeline, combine Cinemachine with other GameObjects and assets to interactively implement and tune +rich cutscenes, even interactive ones. + +**Tip**: For simple shot sequences, use a [Cinemachine Blend List Camera](CinemachineBlendListCamera.md) instead of +Timeline. + +Timeline overrides the priority-based decisions made by [Cinemachine Brain](CinemachineBrainProperties.md). When the +timeline finishes, control returns to the Cinemachine Brain, which chooses the Virtual Camera with the highest Priority +setting. + +You control Virtual Cameras in Timeline with a __Cinemachine Shot Clip__. Each shot clip points to a Virtual Camera to +activate then deactivate. Use a sequence of shot clips to specify the order and duration of each shot. + +To cut between two Virtual Cameras, place the clips next to each other. To blend between two Virtual Cameras, overlap +the clips. + +![Cinemachine Shot Clips in Timeline, with a cut (red) and a blend (blue)](images/CinemachineTimelineShotClips.png) + +To create a Timeline for Cinemachine: + +1. Create an empty GameObject in your Scene by choosing the __GameObject > Create Empty __menu item. + +2. Give the empty GameObject a descriptive name. For example, `IntroTimeline`. + +3. In your Scene, select your empty Timeline object as the focus to create a Timeline Asset and instance. + +4. Click the padlock button to lock the TImeline window to make it easier to add and adjust tracks. + +5. Drag a Unity camera with a CinemachineBrain component onto the Timeline Editor, then choose __Create Cinemachine + Track__ from the drop-down menu. + +6. Add other tracks to the Timeline for controlling the subjects of your Scene. For example, add an Animation track to + animate your main character. + +**Tip**: Delete the default track that refers to your Timeline object. This track isn’t necessary for Timeline. For +example, in the Timeline editor, right-click the track for IntroTimeline and choose __Delete__. + +To add Cinemachine Shot Clips to a Cinemachine Track: + +1. In the Cinemachine Track, right-click and choose __Add Cinemachine Shot Clip__. + +2. Do one of the following: + + * To add an existing Virtual Camera to the shot clip, drag and drop it onto the Virtual Camera property in the + Cinemachine Shot component. + + * To create a new Virtual Camera and add it to the shot clip, click Create in the Cinemachine Shot component. + +3. In the Timeline editor, adjust the order, duration, cutting, and blending of the shot clip. + +4. [Adjust the properties of the Virtual Camera](CinemachineVirtualCamera.md) to place it in the Scene and specify what + to aim at or follow. + +5. To animate properties of the Virtual Camera, create an Animation Track for it and animate as you would any other + GameObject. + +6. Organize your Timeline tracks to fine-tune your Scene. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineTopDown.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineTopDown.md new file mode 100644 index 00000000..4ba4e50f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineTopDown.md @@ -0,0 +1,16 @@ +# Top-down games + +Cinemachine Virtual Cameras are modelled after human camera operators and how they operate real-life cameras. As such, +they have a sensitivity to the up/down axis, and always try to avoid introducing roll into the camera framing. Because +of this sensitivity, the Virtual Camera avoids looking straight up or down for extended periods. They may do it in +passing, but if the __Look At__ target is straight up or down for extended periods, they will not always give the +desired result. + +**Tip:** You can deliberately roll by animating properties like __Dutch__ in a Virtual Camera. + +If you are building a top-down game where the cameras look straight down, the best practice is to redefine the up +direction, for the purposes of the camera. You do this by setting the __World Up Override__ in +the [Cinemachine Brain](CinemachineBrainProperties.md) to a GameObject whose local up points in the direction that you +want the Virtual Camera’s up to normally be. This is applied to all Virtual Cameras controlled by that Cinemachine +Brain. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineUsing.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineUsing.md new file mode 100644 index 00000000..5a2389ba --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineUsing.md @@ -0,0 +1,131 @@ +# Using Cinemachine + +Using Cinemachine requires a new way of thinking about working with cameras. For example, you might have invested +heavily in carefully scripted camera behaviors. However, Cinemachine can give the same results, if not better, in less +time. + +## Virtual Cameras + +Cinemachine does not create new cameras. Instead, it directs a single Unity camera for multiple shots. You compose these +shots with __Virtual Cameras__. Virtual Cameras move and rotate the Unity camera and control its settings. + +The Virtual Cameras are separate GameObjects from the Unity Camera, and behave independently. They are not nested within +each other. For example, a Scene might look like this: + +![A Scene containing a Unity camera with Cinemachine Brain (blue) and multiple Virtual Cameras (red)](images/CinemachineSceneHierarchy.png) + +The main tasks that the Virtual Camera does for you: + +* Positions the Unity camera in the Scene. +* Aims the Unity camera at something. +* Adds procedural noise to the Unity camera. Noise simulates things like handheld effects or vehicle shakes. + +Cinemachine encourages you to create many Virtual Cameras. The Virtual Camera is designed to consume little processing +power. If your Scene is performance-sensitive, deactivate all but the essential Virtual Cameras at any given moment for +best performance. + +It is recommended that you use a single Virtual Camera for a single shot. Take advantage of this to create dramatic or +subtle cuts or blends. Examples: + +* For a cutscene where two characters exchange dialog, use three Virtual Cameras: one camera for a mid-shot of both + characters, and separate Virtual Cameras for a close-up of each character. Use Timeline to synchronize audio with the + Virtual Cameras. + +* Duplicate an existing Virtual Camera so that both Virtual Cameras are in the same position in the Scene. For the + second Virtual Camera, change the FOV or composition. When a player enters a trigger volume, Cinemachine blends from + the first to the second Virtual Camera to emphasize a change in action. + +One Virtual Camera has control of the Unity camera at any point in time. This is the __live__ Virtual Camera. The +exception to this rule is when a blend occurs from one Virtual Camera to the next. During the blend, both Virtual +Cameras are live. + +## Cinemachine Brain + +The Cinemachine Brain is a component in the Unity Camera itself. The Cinemachine Brain monitors all active Virtual +Cameras in the Scene. To specify the next live Virtual Camera, +you [activate or deactivate](https://docs.unity3d.com/Manual/DeactivatingGameObjects.html) the desired Virtual Camera's +game object. Cinemachine Brain then chooses the most recently activated Virtual Camera with the same or higher priority +as the live Virtual Camera. It performs a cut or blend between the previous and new Virtual Cameras. + +**Tip**: Use Cinemachine Brain to respond to dynamic game events in real time. It allows your game logic to control the +camera by manipulating priorities. This is particularly useful for live gameplay, where action isn’t always predictable. +Use [Timeline](CinemachineTimeline.md) to choreograph cameras in predictable situations, like cutscenes. Timeline +overrides the Cinemachine Brain priority system to give you precise, to-the-frame camera control. + +## Moving and aiming + +Use the [__Body__ properties](CinemachineVirtualCameraBody.md) in a Virtual Camera to specify how to move it in the +Scene. Use the [__Aim__ properties](CinemachineVirtualCameraAim.md) to specify how to rotate it. + +A Virtual Camera has two targets: + +* The __Follow__ target specifies a GameObject for the Virtual Camera to move with. +* The __Look At__ target specifies the GameObject to aim at. + +Cinemachine includes a variety of procedural algorithms to control moving and aiming. Each algorithm solves a specific +problem, and has properties to customize the algorithm for your specific needs. Cinemachine implements these algorithms +as `CinemachineComponent` objects. Use the `CinemachineComponent` class to implement a custom moving or aiming behavior. + +The __Body__ properties offer the following procedural algorithms for moving the Virtual Camera in a Scene: + +* __Transposer__: Move in a fixed relationship to the __Follow__ target, with optional damping. +* __Do Nothing__: Do not move the Virtual Camera. +* __Framing Transposer__: Move in a fixed screen-space relationship to the __Follow__ target, with optional damping. +* __Orbital Transposer__: Move in a variable relationship to the __Follow__ target, optionally accepting player input. +* __Tracked Dolly__: Move along a predefined path. +* __Hard Lock to Target__: Use the same position at the __Follow__ target. + +The __Aim__ properties offer the following procedural algorithms for rotating a Virtual Camera to face the __Look At__ +target: + +* __Composer__: Keep the __Look At__ target in the camera frame, with compositional constraints. +* __Group Composer__: Keep multiple __Look At__ targets in the camera frame. +* __Do Nothing__: Do not rotate the Virtual Camera. +* __POV__: Rotate the Virtual Camera based on the user’s input. +* __Same As Follow Target__: Set the camera’s rotation to the rotation of the __Follow__ target. +* __Hard Look At__: Keep the __Look At__ target in the center of the camera frame. + +## Composing a shot + +The [__Framing Transposer__](CinemachineBodyFramingTransposer.md), [__Composer__](CinemachineAimComposer.md), and [_ +_Group Composer__](CinemachineAimGroupComposer.md) algorithms define areas in the camera frame for you to compose a +shot: + +* __Dead zone__: The area of the frame that Cinemachine keeps the target in. + +* __Soft zone__: If the target enters this region of the frame, the camera will re-orient to put it back in the dead + zone. It will do this slowly or quickly, according to the time specified in the Damping settings. + +* __Screen__: The screen position of the center of the dead zone. 0.5 is the center of the screen. + +* __Damping__: Simulates the lag that a real camera operator introduces while operating a heavy physical camera. Damping + specifies quickly or slowly the camera reacts when the target enters the __soft zone__ while the camera tracks the + target. Use small numbers to simulate a more responsive camera, rapidly moving or aiming the camera to keep the target + in the __dead zone__. Larger numbers simulate heavier cameras, The larger the value, the more Cinemachine allows the + target to enter the soft zone. + +The __Game Window Guides__ gives an interactive, visual indication of these areas. The guides appear as tinted areas in +the [Game view](https://docs.unity3d.com/Manual/GameView.html). + +![Game Window Guides gives a visual indication of the damping, screen, soft zone, and dead zone](images/CinemachineGameWindowGuides.png) + +The clear area indicates the __dead zone__. The blue-tinted area indicates the __soft zone__. The position of the soft +and dead zones indicates the __screen__ position. The red-tinted area indicates the __no pass__ area, which the target +never enters. The yellow square indicates the target. + +Adjust these areas to get a wide range of camera behaviors. To do this, drag their edges in the Game view or edit their +properties in the Inspector window. For example, use larger damping values to simulate a larger, heavier camera, or +enlarge the __soft zone__ and __dead zone__ to create an area in the middle of the camera frame that is immune to target +motion. Use this feature for things like animation cycles, where you don’t want the camera to track the target if it +moves just a little. + +## Using noise to simulate camera shake + +Real-world physical cameras are often heavy and cumbersome. They are hand-held by the camera operator or mounted on +unstable objects like moving vehicles. Use [Noise properties](CinemachineVirtualCameraNoise.md) to simulate these +real-world qualities for cinematic effect. For example, you could add a camera shake when following a running character +to immerse the player in the action. + +At each frame update, Cinemachine adds noise separately from the movement of the camera to follow a target. Noise does +not influence the camera’s position in future frames. This separation ensures that properties like __damping__ behave as +expected. \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCamera.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCamera.md new file mode 100644 index 00000000..78258cc5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCamera.md @@ -0,0 +1,61 @@ +# Setting Virtual Camera properties + +The Cinemacine Virtual Camera is a component that you add to an empty GameObject. It represents a Virtual Camera in the +Unity Scene. + +Use the __Aim__, __Body__, and __Noise__ properties to specify how the Virtual Camera animates position, rotation, and +other properties. The Virtual Camera applies these settings to the Unity Camera +when [Cinemachine Brain](CinemachineBrainProperties.md) or [Timeline](CinemachineTimeline.md) transfers control of the +Unity camera to the Virtual Camera. You can also use [Scene Handles](handles.md) to modify some common properties. + +At any time, each Virtual Camera may be in one of these states: + +* __Live__: The Virtual Camera actively controls a Unity camera that has a Cinemachine Brain. When a Cinemachine Brain + blends from one Virtual Camera to the next, both Virtual Cameras are live. When the blend is complete, there is only + one live Virtual Camera. + +* __Standby__: The Virtual Camera doesn’t control the Unity camera. However, it still follows and aims at its targets, + and updates at every frame. A Virtual Camera in this state is activated and has a priority that is the same as or + lower than the live Virtual Camera. + +* __Disabled__: The Virtual Camera doesn’t control the Unity camera and doesn’t actively follow or aim at its targets. A + Virtual Camera in this state doesn’t consume processing power. To disable a Virtual Camera, deactivate its game + object. The Virtual Camera is present but disabled in the Scene. However, even though the game object is deactivated, + the virtual camera can still control the Unity camera if the virtual camera is participating in a blend, or if it is + invoked by Timeline. + +![Virtual Camera properties](images/CinemachineVCamProperties.png) + +### Properties + +| **Property:** | | **Function:** | +|:-----------------------|:--------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Solo__ | | Toggles whether or not the Virtual Camera is temporarily live. Use this property to get immediate visual feedback in the [Game view](https://docs.unity3d.com/Manual/GameView.html) to adjust the Virtual Camera. | +| __Game Window Guides__ | | Toggles the visibility of compositional guides in the Game view. These guides are available when Look At specifies a GameObject and the Aim section uses Composer or Group Composer, or when Follow specifies a target and the Body section uses Framing Composer. This property applies to all Virtual Cameras. | +| __Save During Play__ | | Check to [apply the changes while in Play mode](CinemachineSavingDuringPlay.md). Use this feature to fine-tune a Virtual Camera without having to remember which properties to copy and paste. This property applies to all Virtual Cameras. | +| __Priority__ | | The importance of this Virtual Camera for choosing the next shot. A higher value indicates a higher priority. Cinemachine Brain chooses the next live Virtual Camera from all Virtual Cameras that are activated and have the same or higher priority as the current live Virtual Camera. This property has no effect when using a Virtual Camera with Timeline. | +| __Follow__ | | The target GameObject that the Virtual Camera moves with. The [Body properties](CinemachineVirtualCameraBody.md) use this target to update the position of the Unity camera. Keep this property empty to make the Unity camera use the position of the Virtual Camera’ transform. For example, you might choose to animate the Virtual Camera in Timeline. | +| __Look At__ | | The target GameObject to aim the Unity camera at. The [Aim properties](CinemachineVirtualCameraAim.md) use this target to update the rotation of the Unity camera. Keep this property empty to make the Unity camera use the orientation of the Virtual Camera. | +| __Standby Update__ | | Controls how often the virtual camera is updated when the virtual camera is not live. | +| __Position Blending__ | | Style for blending positions to and from this Virtual Camera. | +| | _Linear_ | Standard linear position blend. | +| | _Spherical_ | Spherical blend about the Look At position, if there is a Look At target. | +| | _Cylindrical_ | Cylindrical blend about the Look At position, if there is a Look At target. Vertical coordinate is linearly interpolated. | +| __Lens__ | | These properties mirror their counterparts in the properties for the [Unity camera](https://docs.unity3d.com/Manual/class-Camera.html). | +| | _Field Of View_ | The camera view in vertical degrees. For example, to specify the equivalent of a 50mm lens on a Super 35 sensor, enter a Field of View of 19.6 degrees. This property is available when the Unity camera with the Cinemachine Brain component uses a Projection of Perspective. You can also use [Scene Handles](handles.md) to modify this property. | +| | _Presets_ | A drop-down menu of settings for commonly-used lenses. Choose **Edit Presets** to add or edit the asset that contains a default list of lenses. | +| | _Orthographic Size_ | When using an orthographic camera, defines the half-height of the camera view, in world coordinates. Available when the Unity camera with the Cinemachine Brain component uses a Projection of Orthographic. | +| | _Near Clip Plane_ | The closest point relative to the camera where drawing occurs. You can also use [Scene Handles](handles.md) to modify this property. | +| | _Far Clip Plane_ | The furthest point relative to the camera where drawing occurs. You can also use [Scene Handles](handles.md) to modify this property. | +| | _Dutch_ | Dutch angle. Tilts the Unity camera on the z-axis, in degrees. This property is unique to the Virtual Camera; there is no counterpart property in the Unity camera. | +| __Mode Override__ | | Allows you to select a different camera mode to apply to the [Unity camera](https://docs.unity3d.com/Manual/class-Camera.html) component when Cinemachine activates this Virtual Camera.
__Important:__ All the changes applied to the Camera component through this setting will remain after the Virtual Camera deactivation. If you set a mode override in any Virtual Camera, you should set one in all Virtual Cameras. | +| | _None_ | Leaves the __Projection__ and __Physical Camera__ properties unchanged in the Camera. | +| | _Orthographic_ | Sets the __Projection__ property to __Orthographic__. | +| | _Perspective_ | Sets the __Projection__ property to __Perspective__ and *disables* the __Physical Camera__ feature and properties. | +| | _Physical_ | Sets the __Projection__ property to __Perspective__ and *enables* the __Physical Camera__ feature and properties. | +| __Blend Hint__ | | Provides hints for blending positions to and from the virtual camera. | +| __Inherit Position__ | | When enabled, whenever this virtual camera goes live, forces the initial position to be the same as the current position of the Unity Camera, if possible. | +| __Extensions__ | | Components that add extra behaviors to the Virtual Camera. | +| | _Add Extension_ | Choose a new [extension](CinemachineVirtualCameraExtensions.md) to add to the Virtual Camera. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraAim.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraAim.md new file mode 100644 index 00000000..56c5c3a8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraAim.md @@ -0,0 +1,16 @@ +# Aim properties + +Use the Aim properties to specify how to rotate the Virtual Camera. To change the camera’s position, use +the [Body properties](CinemachineVirtualCameraBody.md). + +![Aim properties, with the Composer algorithm (red)](images/CinemachineAim.png) + +* [__Do Nothing__](CinemachineAimDoNothing.md): Do not procedurally rotate the Virtual Camera. + + +- [__Composer__](CinemachineAimComposer.md): Keep the __Look At__ target in the camera frame. +- [__Group Composer__](CinemachineAimGroupComposer.md): Keep multiple __Look At__ targets in the camera frame. +- [__Hard Look At__](CinemachineAimHardLook.md): Keep the __Look At__ target in the center of the camera frame. +- [__POV__](CinemachineAimPOV.md): Rotate the Virtual Camera based on the user’s input. +- [__Same As Follow Target__](CinemachineAimSameAsFollow.md): Set the camera’s rotation to the rotation of the __Follow + __ target. \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraBody.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraBody.md new file mode 100644 index 00000000..36943a96 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraBody.md @@ -0,0 +1,30 @@ +# Body properties + +Use the Body properties to specify the algorithm that moves the Virtual Camera in the Scene. To rotate the camera, set +the [Aim properties](CinemachineVirtualCameraAim.md). + +![__Body__ properties, with the __Transposer__ algorithm (red)](images/CinemachineBody.png) + +Cinemachine includes these algorithms for moving a Virtual Camera: + +- [__Do Nothing__](CinemachineBodyDoNothing.md): does not move the Virtual Camera. +- [__3rd Person follow__](Cinemachine3rdPersonFollow.md): Pivots the camera horizontally and vertically around the + player, to the __Follow__ target. +- [__Framing Transposer__](CinemachineBodyFramingTransposer.md): moves in a fixed screen-space relationship to the _ + _Follow__ target. +- [__Hard Lock to Target__](CinemachineBodyHardLockTarget.md): uses the same position at the __Follow__ target. +- [__Orbital Transposer__](CinemachineBodyOrbitalTransposer.md): moves in a variable relationship to the __Follow__ + target, optionally accepting player input. +- [__Tracked Dolly__](CinemachineBodyTrackedDolly.md): moves along a predefined path. +- [__Transposer__](CinemachineBodyTransposer.md): moves in a fixed relationship to the __Follow__ target. + + + + + + + + + + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraExtensions.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraExtensions.md new file mode 100644 index 00000000..372c6bdd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraExtensions.md @@ -0,0 +1,17 @@ +# Extensions + +Extensions are components that augment the behavior of a Virtual Camera. For example, +the [Collider](CinemachineCollider.md) extension moves a camera out of the way of GameObjects that obstruct the camera’s +view of its target. + +Cinemachine includes a variety of extensions. Create your own custom extensions by deriving from +the `CinemachineExtension` class. + +To add an extension to a Virtual Camera: + +1. Select your Virtual Camera in the [Scene](https://docs.unity3d.com/Manual/UsingTheSceneView.html) view + or [Hierarchy](https://docs.unity3d.com/Manual/Hierarchy.html) window. + +2. In the [Inspector](https://docs.unity3d.com/Manual/UsingTheInspector.html), use the __Add Extension__ drop-down menu + to choose the extension. + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraNoise.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraNoise.md new file mode 100644 index 00000000..b9b11ac9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVirtualCameraNoise.md @@ -0,0 +1,35 @@ +# Noise properties + +Use Noise properties in a Virtual Camera to simulate camera shake. Cinemachine includes a __Basic Multi Channel Perlin__ +component, which adds Perlin noise to the movement of the Virtual Camera. __Perlin noise__ is a technique to compute +random movement with a natural behavior. + +![Choosing the Basic Multi Channel Perlin component to add camera noise](images/CinemachineBasicMultiChannelPerlin.png) + +The Basic Multi Channel Perlin component applies a noise profile. A noise profile is an Asset that defines the behavior +of noise over time. Cinemachine includes a few noise profile assets. You +can [edit these and create your own](CinemachineNoiseProfiles.md). + +To apply noise: + +1. Select your Virtual Camera in the [Scene](https://docs.unity3d.com/Manual/UsingTheSceneView.html) view + or [Hierarchy](https://docs.unity3d.com/Manual/Hierarchy.html) window. + +2. In the [Inspector](https://docs.unity3d.com/Manual/UsingTheInspector.html), use the __Noise__ drop-down menu to + choose __Basic Multi Channel Perlin__. + +3. In __Noise Profile__, choose an existing profile asset or [create your own profile](CinemachineNoiseProfiles.md). + +4. Use __Amplitude Gain__ and __Frequency Gain__ to fine-tune the noise. + +## Properties + +| **Property:** | **Function:** | +|:-------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| __Noise Profile__ | The noise profile asset to use. | +| __Amplitude Gain__ | Gain to apply to the amplitudes defined in the noise profile. Use 1 to use the amplitudes defined in the noise profile. Setting this to 0 mutes the noise. Tip: Animate this property to ramp the noise effect up and down. | +| __Frequency Gain__ | Factor to apply to the frequencies defined in the noise profile. Use 1 to use the frequencies defined in the noise profile. Use larger values to shake the camera more rapidly. Tip: Animate this property to ramp the noise effect up and down. | +| __Pivot Offset__ | When rotating the camera, offset the camera's pivot by the indicated x, y, and z distance when applying rotational noise. This generates some positional variation that corresponds to the rotation noise. | + + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVolumeSettings.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVolumeSettings.md new file mode 100644 index 00000000..3e9b3599 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/CinemachineVolumeSettings.md @@ -0,0 +1,36 @@ +# Cinemachine Volume Settings Extension + +Use the Cinemachine Volume Settings [extension](CinemachineVirtualCameraExtensions.md) to attach an HDRP/URP +VolumeSettings profile to a Virtual Camera. + +The Cinemachine Volume Settings extension holds a Volume Settings Profile asset to apply to a Virtual Camera when it is +activated. If the camera is blending with another Virtual Camera, then the blend weight is applied to the Volume +Settings effects also. + +To add a Volume Settings profile to a Virtual Camera + +1. Select your Virtual Camera in the [Scene](https://docs.unity3d.com/Manual/UsingTheSceneView.html) view + or [Hierarchy](https://docs.unity3d.com/Manual/Hierarchy.html) window. + +2. In the [Inspector](https://docs.unity3d.com/Manual/UsingTheInspector.html), choose __Add Extension > + CinemachineVolumeSettings__, then configure the Profile asset to have the effects you want when this virtual camera + is live. + +## Properties: + +| **Property:** || **Function:** | +|:---||:---| +| __Profile__ || The Volume Settings profile to activate when this Virtual Camera is live. | +| __Focus Tracks Target__ || This is obsolete, please use __Focus Tracking__. | +| __Focus Tracking__ || If the profile has the appropriate overrides, will set the base focus distance to be the +distance from the selected target to the camera. The __Focus Offset__ field will then modify that distance. | +|| _None_ | No focus tracking | +|| _Look At Target_ | Focus offset is relative to the LookAt target | +|| _Follow Target_ | Focus offset is relative to the Follow target | +|| _Custom Target_ | Focus offset is relative to the Custom target | +|| _Camera_ | Focus offset is relative to the camera | +| __Focus Target__ || The target to use if __Focus Tracks Target__ is set to _Custom Target_ | +| __Focus Offset__ || Used when __Focus Tracking__ is not _None_. Offsets the sharpest point away from the location of +the focus target. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/TableOfContents.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/TableOfContents.md new file mode 100644 index 00000000..c229f871 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/TableOfContents.md @@ -0,0 +1,61 @@ +* [About Cinemachine](index.md) + * [Using Cinemachine](CinemachineUsing.md) + * [Using Virtual Cameras](CinemachineSetUpVCam.md) + * [Setting Virtual Camera properties](CinemachineVirtualCamera.md) + * [Scene Handles](handles.md) + * [Body properties](CinemachineVirtualCameraBody.md) + * [Do Nothing](CinemachineBodyDoNothing.md) + * [3rd Person Follow](Cinemachine3rdPersonFollow.md) + * [Framing Transposer](CinemachineBodyFramingTransposer.md) + * [Hard Lock to Target](CinemachineBodyHardLockTarget.md) + * [Orbital Transposer](CinemachineBodyOrbitalTransposer.md) + * [Tracked Dolly](CinemachineBodyTrackedDolly.md) + * [Transposer](CinemachineBodyTransposer.md) + * [Binding Modes](CinemachineBindingModes.md) + * [Aim properties](CinemachineVirtualCameraAim.md) + * [Composer](CinemachineAimComposer.md) + * [Group Composer](CinemachineAimGroupComposer.md) + * [Do Nothing](CinemachineAimDoNothing.md) + * [POV](CinemachineAimPOV.md) + * [Same As Follow Target](CinemachineAimSameAsFollow.md) + * [Hard Look At](CinemachineAimHardLook.md) + * [Noise properties](CinemachineVirtualCameraNoise.md) + * [Working with noise profiles](CinemachineNoiseProfiles.md) + * [Blending between Virtual Cameras](CinemachineBlending.md) + * [Managing and grouping Virtual Cameras](CinemachineManagerCameras.md) + * [Cinemachine Free Look](CinemachineFreeLook.md) + * [Cinemachine Mixing Camera](CinemachineMixingCamera.md) + * [Cinemachine Blend List Camera](CinemachineBlendListCamera.md) + * [Cinemachine Clear Shot](CinemachineClearShot.md) + * [Cinemachine State-Driven camera](CinemachineStateDrivenCamera.md) + * [Virtual Camera extensions](CinemachineVirtualCameraExtensions.md) + * [Extensions for avoiding collisions and evaluating shots](CinemachineColliderConfiner.md) + * [Cinemachine Collider](CinemachineCollider.md) + * [Cinemachine Confiner](CinemachineConfiner.md) + * [Cinemachine Confiner2D](CinemachineConfiner2D.md) + * [Follow Zoom extension](CinemachineFollowZoom.md) + * [Pixel Perfect extension](CinemachinePixelPerfect.md) + * [Post Processing extension](CinemachinePostProcessing.md) + * [Volume Settings extension](CinemachineVolumeSettings.md) + * [Storyboard extension](CinemachineStoryboard.md) + * [3rd Person Aim extension](Cinemachine3rdPersonAim.md) + * [Recomposer extension](CinemachineRecomposer.md) + * [Saving in Play Mode](CinemachineSavingDuringPlay.md) + * [Using dolly paths](CinemachineDolly.md) + * [Cinemachine Path](CinemachinePath.md) + * [Cinemachine Smooth Path](CinemachineSmoothPath.md) + * [Cinemachine Dolly Cart](CinemachineDollyCart.md) + * [Multiple Unity cameras](CinemachineMultipleCameras.md) + * [Cinemachine External Camera](CinemachineExternalCamera.md) + * [Cinemachine Target Group](CinemachineTargetGroup.md) + * [Cinemachine Brain](CinemachineBrainProperties.md) + * [Cinemachine and Timeline](CinemachineTimeline.md) + * [Cinemachine and 2D graphics](Cinemachine2D.md) + * [Cinemachine and top-down games](CinemachineTopDown.md) + * [Alternative Input Systems](CinemachineAlternativeInput.md) + * [Cinemachine Impulse](CinemachineImpulse.md) + * [Cinemachine Impulse Sources](CinemachineImpulseSourceOverview.md) + * [Cinemachine Collision Impulse Source](CinemachineCollisionImpulseSource.md) + * [Cinemachine Impulse Source](CinemachineImpulseSource.md) + * [Cinemachine Impulse Listener](CinemachineImpulseListener.md) + * [Filtering impulses](CinemachineImpulseFiltering.md) diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/cinemachine.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/cinemachine.md new file mode 100644 index 00000000..4db3203d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/cinemachine.md @@ -0,0 +1,27 @@ +# Cinemachine + +![Unity Cinemachine](images/CinemachineIntroImage.png) + +Cinemachine is a suite of modules for operating the Unity camera. Cinemachine solves the complex mathematics and logic +of tracking targets, composing, blending, and cutting between shots. It's designed to significantly reduce the number of +time-consuming manual manipulations and script revisions that take place during development. + +The procedural nature of these modules makes Cinemachine bug-resistant. When you make adjustments—for example, change an +animation, vehicle speed, terrain, or other GameObjects in your Scene—Cinemachine dynamically adjusts its behavior to +make the best shot. There is no need, for example, to re-write camera scripts just because a character turns left +instead of right. + +Cinemachine works in real time across all genres including FPS, third person, 2D, side-scroller, top down, and RTS. It +supports as many shots in your Scene as you need. Its modular system lets you compose sophisticated behaviors. + +Cinemachine works well with other Unity tools, acting as a powerful complement to Timeline, animation, and +post-processing assets. Create your own [extensions](CinemachineVirtualCameraExtensions.md) or integrate it with your +custom camera scripts. + +## Requirements + +Cinemachine has no external dependencies. Just install it and start using it. + +This version of Cinemachine is compatible with the following versions of the Unity Editor: + +* 2018.4.17f1 and later diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/cinemachineAPI.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/cinemachineAPI.md new file mode 100644 index 00000000..fef7a036 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/cinemachineAPI.md @@ -0,0 +1,2195 @@ +### AxisState + +_Type:_ struct + +_Namespace:_ Cinemachine + +Axis state for defining how to react to player input. The settings here control the responsiveness of the axis to player +input. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|----------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Value** | Single | The current value of the axis. | +| **m_MaxSpeed** | Single | The maximum speed of this axis in units/second. | +| **m_AccelTime** | Single | The amount of time in seconds it takes to accelerate to MaxSpeed with the supplied Axis at its maximum value. | +| **m_DecelTime** | Single | The amount of time in seconds it takes to decelerate the axis to zero if the supplied axis is in a neutral position. | +| **m_InputAxisName** | String | The name of this axis as specified in Unity Input manager. Setting to an empty string will disable the automatic updating of this axis. | +| **m_InputAxisValue** | Single | The value of the input axis. A value of 0 means no input. You can drive this directly from a custom input system, or you can set the Axis Name and have the value driven by the internal Input Manager. | +| **m_InvertInput** | Boolean | If checked, then the raw value of the input axis will be inverted before it is used. | +| **m_MinValue** | Single | The minimum value for the axis. | +| **m_MaxValue** | Single | The maximum value for the axis. | +| **m_Wrap** | Boolean | If checked, then the axis will wrap around at the min/max values, forming a loop. | + +#### Methods + +``Void Validate()`` + +Call from OnValidate: Make sure the fields are sensible. + +``Boolean Update(Single deltaTime)`` + +Updates the state of this axis based on the axis defined by AxisState.m_AxisName. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------|------------------------| +| **deltaTime** | Single | Delta time in seconds. | + +_Returns:_ Returns true if this axis' input was non-zero this Update, false otherwise. + +### AxisState.Recentering + +_Type:_ struct + +_Namespace:_ Cinemachine + +Helper for automatic axis recentering. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-----------------------|---------|-------------------------------------------------------------------------------------------------------------| +| **m_enabled** | Boolean | If checked, will enable automatic recentering of the axis. If unchecked, recenting is disabled. | +| **m_WaitTime** | Single | If no user input has been detected on the axis, the axis will wait this long in seconds before recentering. | +| **m_RecenteringTime** | Single | Maximum angular speed of recentering. Will accelerate into and decelerate out of this. | + +#### Methods + +``Void Validate()`` + +Call this from OnValidate(). + +``Void CancelRecentering()`` + +Cancel any recentering in progress. + +``Void DoRecentering(AxisState& axis, Single deltaTime, Single recenterTarget)`` + +Bring the axis back to the centered state. + +| _Param_ | _Type_ | _Description_ | +|--------------------|------------|---------------| +| **axis** | AxisState& | | +| **deltaTime** | Single | | +| **recenterTarget** | Single | | + +### CinemachineBasicMultiChannelPerlin + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComponentBase + +As a part of the Cinemachine Pipeline implementing the Noise stage, this component adds Perlin Noise to the Camera +state, in the Correction channel of the CameraState. + +The noise is created by using a predefined noise profile asset. This defines the shape of the noise over time. You can +scale this in amplitude or in time, to produce a large family of different noises using the same profile. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **IsValid** | Boolean | _[Get]_ True if the component is valid, i.e. it has a noise definition and is enabled. | +| **Stage** | Stage | _[Get]_ Get the Cinemachine Pipeline stage that this component implements. Always returns the Noise stage.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|---------------------|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_NoiseProfile** | NoiseSettings | The asset containing the Noise Profile. Define the frequencies and amplitudes there to make a characteristic noise profile. Make your own or just use one of the many presets. | +| **m_AmplitudeGain** | Single | Gain to apply to the amplitudes defined in the NoiseSettings asset. 1 is normal. Setting this to 0 completely mutes the noise. | +| **m_FrequencyGain** | Single | Scale factor to apply to the frequencies defined in the NoiseSettings asset. 1 is normal. Larger magnitudes will make the noise shake more rapidly. | + +#### Methods + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Applies noise to the Correction channel of the CameraState if the delta time is greater than 0. Otherwise, does nothing. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|---------------------------------------------------------------------------------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | How much to advance the perlin noise generator. Noise is only applied if this value is greater than or equal to 0. | + +### CinemachineBlendDefinition + +_Type:_ struct + +_Namespace:_ Cinemachine + +Definition of a Camera blend. This struct holds the information necessary to generate a suitable AnimationCurve for a +Cinemachine Blend. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|----------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **BlendCurve** | AnimationCurve | _[Get]_ A normalized AnimationCurve specifying the interpolation curve for this camera blend. Y-axis values must be in range [0,1] (internally clamped within Blender) and time must be in range of [0, 1]. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_Style** | Style | Shape of the blend curve.
_Possible Values:_
- **Cut**: Zero-length blend.
- **EaseInOut**: S-shaped curve, giving a gentle and smooth transition.
- **EaseIn**: Linear out of the outgoing shot, and easy into the incoming.
- **EaseOut**: Easy out of the outgoing shot, and linear into the incoming.
- **HardIn**: Easy out of the outgoing, and hard into the incoming.
- **HardOut**: Hard out of the outgoing, and easy into the incoming.
- **Linear**: Linear blend. Mechanical-looking.
- **Custom**: Custom blend curve.
| +| **m_Time** | Single | Duration of the blend, in seconds. | +| **m_CustomCurve** | AnimationCurve | A user-defined AnimationCurve, used only if style is Custom. Curve MUST be normalized, i.e. time range [0...1], value range [0...1]. | + +### CinemachineBlenderSettings + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ ScriptableObject + +Asset that defines the rules for blending between Virtual Cameras. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|--------------------|---------------|-----------------------------------------------------------------------------| +| **m_CustomBlends** | CustomBlend[] | The array containing explicitly defined blends between two Virtual Cameras. | + +#### Methods + +``AnimationCurve GetBlendCurveForVirtualCameras(String fromCameraName, String toCameraName, AnimationCurve defaultCurve)`` + +Attempts to find a blend curve which matches the to and from cameras as specified. If no match is found, the function +returns either the default blend for this Blender or NULL depending on the state of returnDefaultOnNoMatch. + +| _Param_ | _Type_ | _Description_ | +|--------------------|----------------|--------------------------------------------------| +| **fromCameraName** | String | The game object name of the from camera. | +| **toCameraName** | String | The game object name of the to camera. | +| **defaultCurve** | AnimationCurve | Curve to return if no curve found. Can be NULL. | + +### CinemachineBlenderSettings.CustomBlend + +_Type:_ struct + +_Namespace:_ Cinemachine + +Container specifying how two specific Cinemachine Virtual Cameras blend together. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------|----------------------------|---------------------------------| +| **m_From** | String | When blending from this camera. | +| **m_To** | String | When blending to this camera. | +| **m_Blend** | CinemachineBlendDefinition | Blend curve definition. | + +### CinemachineBlendListCamera + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineVirtualCameraBase + +_Implements:_ ICinemachineCamera + +This is a virtual camera "manager" that owns and manages a collection of child Virtual Cameras. When the camera goes +live, these child vcams are enabled, one after another, holding each camera for a designated time. Blends between +cameras are specified. The last camera is held indefinitely. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|---------------------|--------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| +| **Description** | String | _[Get]_ Gets a brief debug description of this virtual camera, for use when displaying debug info. | +| **LiveChild** | ICinemachineCamera | _[Get,Set]_ Get the current "best" child virtual camera, that would be chosen if the State Driven Camera were active. | +| **LiveChildOrSelf** | ICinemachineCamera | _[Get]_ Return the live child. | +| **State** | CameraState | _[Get]_ The State of the current live child. | +| **LookAt** | Transform | _[Get,Set]_ Get the current LookAt target. Returns parent's LookAt if parent is non-null and no specific LookAt defined for this camera. | +| **Follow** | Transform | _[Get,Set]_ Get the current Follow target. Returns parent's Follow if parent is non-null and no specific Follow defined for this camera. | +| **ChildCameras** | CinemachineVirtualCameraBase[] | _[Get]_ The list of child cameras. These are just the immediate children in the hierarchy. | +| **IsBlending** | Boolean | _[Get]_ Is there a blend in progress? | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------------------------|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_LookAt** | Transform | Default object for the camera children to look at (the aim target), if not specified in a child camera. May be empty if all of the children define targets of their own. | +| **m_Follow** | Transform | Default object for the camera children wants to move with (the body target), if not specified in a child camera. May be empty if all of the children define targets of their own. | +| **m_ShowDebugText** | Boolean | When enabled, the current child camera and blend will be indicated in the game window, for debugging. | +| **m_EnableAllChildCameras** | Boolean | Force all child cameras to be enabled. This is useful if animating them in Timeline, but consumes extra resources. | +| **m_ChildCameras** | CinemachineVirtualCameraBase[] | Internal API for the editor. Do not use this field. | +| **m_Instructions** | Instruction[] | The set of instructions for enabling child cameras. | +| **CinemachineGUIDebuggerCallback** | Action | This is deprecated. It is here to support the soon-to-be-removed Cinemachine Debugger in the Editor. | +| **m_ExcludedPropertiesInInspector** | String[] | Inspector control - Use for hiding sections of the Inspector UI. | +| **m_LockStageInInspector** | Stage[] | Inspector control - Use for enabling sections of the Inspector UI. | +| **m_Priority** | Int32 | The priority will determine which camera becomes active based on the state of other cameras and this camera. Higher numbers have greater priority. | + +#### Methods + +``virtual Boolean IsLiveChild(ICinemachineCamera vcam)`` + +Check whether the vcam a live child of this camera. + +| _Param_ | _Type_ | _Description_ | +|----------|--------------------|------------------------------| +| **vcam** | ICinemachineCamera | The Virtual Camera to check. | + +_Returns:_ True if the vcam is currently actively influencing the state of this vcam. +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the vcam that a target got warped, so that the vcam can update its internal state to make the +camera also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +``virtual Void OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, Single deltaTime)`` + +Notification that this virtual camera is going live. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------------|------------------------------------------------------------------------| +| **fromCam** | ICinemachineCamera | The camera being deactivated. May be null. | +| **worldUp** | Vector3 | Default world Up, set by the CinemachineBrain. | +| **deltaTime** | Single | Delta time for time-based effects (ignore if less than or equal to 0). | + +``virtual Void InternalUpdateCameraState(Vector3 worldUp, Single deltaTime)`` + +Called by CinemachineCore at designated update time so the vcam can position itself and track its targets. This +implementation updates all the children, chooses the best one, and implements any required blending. + +| _Param_ | _Type_ | _Description_ | +|---------------|---------|------------------------------------------------------------------------| +| **worldUp** | Vector3 | Default world Up, set by the CinemachineBrain. | +| **deltaTime** | Single | Delta time for time-based effects (ignore if less than or equal to 0). | + +``protected virtual Void OnEnable()`` + +Makes sure the internal child cache is up to date. + +``Void OnTransformChildrenChanged()`` + +Makes sure the internal child cache is up to date. + +``protected virtual Void OnGUI()`` + +Displays the current active camera on the game screen, if requested. + +``Void ValidateInstructions()`` + +Internal API for the inspector editor. + +### CinemachineBrain + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ MonoBehaviour + +CinemachineBrain is the link between the Unity Camera and the Cinemachine Virtual Cameras in the scene. It monitors the +priority stack to choose the current Virtual Camera, and blend with another if necessary. Finally and most importantly, +it applies the Virtual Camera state to the attached Unity Camera. + +The CinemachineBrain is also the place where rules for blending between virtual cameras are defined. Camera blending is +an interpolation over time of one virtual camera position and state to another. If you think of virtual cameras as +cameramen, then blending is a little like one cameraman smoothly passing the camera to another cameraman. You can +specify the time over which to blend, as well as the blend curve shape. Note that a camera cut is just a zero-time +blend. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-----------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------| +| **OutputCamera** | Camera | _[Get]_ Get the Unity Camera that is attached to this GameObject. This is the camera that will be controlled by the brain. | +| **PostProcessingComponent** | Component | _[Get,Set]_ Internal support for opaque post-processing module. | +| **SoloCamera** | ICinemachineCamera | _(static)_ _[Get,Set]_ API for the Unity Editor. Show this camera no matter what. This is static, and so affects all Cinemachine brains. | +| **DefaultWorldUp** | Vector3 | _[Get]_ Get the default world up for the virtual cameras. | +| **IsBlending** | Boolean | _[Get]_ Is there a blend in progress? | +| **ActiveBlend** | CinemachineBlend | _[Get]_ Get the current blend in progress. Returns null if none. | +| **ActiveVirtualCamera** | ICinemachineCamera | _[Get]_ Get the current active virtual camera. | +| **CurrentCameraState** | CameraState | _[Get]_ The current state applied to the unity camera (may be the result of a blend). | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|----------------------------|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_ShowDebugText** | Boolean | When enabled, the current camera and blend will be indicated in the game window, for debugging. | +| **m_ShowCameraFrustum** | Boolean | When enabled, the camera's frustum will be shown at all times in the scene view. | +| **m_IgnoreTimeScale** | Boolean | When enabled, the cameras will always respond in real-time to user input and damping, even if the game is running in slow motion. | +| **m_WorldUpOverride** | Transform | If set, this object's Y axis will define the worldspace Up vector for all the virtual cameras. This is useful for instance in top-down game environments. If not set, Up is worldspace Y. Setting this appropriately is important, because Virtual Cameras don't like looking straight up or straight down. | +| **m_UpdateMethod** | UpdateMethod | Use FixedUpdate if all your targets are animated during FixedUpdate (e.g. RigidBodies), LateUpdate if all your targets are animated during the normal Update loop, and SmartUpdate if you want Cinemachine to do the appropriate thing on a per-target basis. SmartUpdate is the recommended setting.
_Possible Values:_
- **FixedUpdate**: Virtual cameras are updated in sync with the Physics module, in FixedUpdate.
- **LateUpdate**: Virtual cameras are updated in MonoBehaviour LateUpdate.
- **SmartUpdate**: Virtual cameras are updated according to how the target is updated.
| +| **m_DefaultBlend** | CinemachineBlendDefinition | The blend that is used in cases where you haven't explicitly defined a blend between two Virtual Cameras. | +| **m_CustomBlends** | CinemachineBlenderSettings | This is the asset that contains custom settings for blends between specific virtual cameras in your scene. | +| **m_CameraCutEvent** | BrainEvent | This event will fire whenever a virtual camera goes live and there is no blend. | +| **m_CameraActivatedEvent** | VcamEvent | This event will fire whenever a virtual camera goes live. If a blend is involved, then the event will fire on the first frame of the blend. | + +#### Methods + +``static Color GetSoloGUIColor()`` + +API for the Unity Editor. + +_Returns:_ Color used to indicate that a camera is in Solo mode. +``Boolean IsLive(ICinemachineCamera vcam)`` + +True if the ICinemachineCamera the current active camera, or part of a current blend, either directly or indirectly +because its parents are live. + +| _Param_ | _Type_ | _Description_ | +|----------|--------------------|----------------------------------------| +| **vcam** | ICinemachineCamera | The camera to test whether it is live. | + +_Returns:_ True if the camera is live (directly or indirectly) or part of a blend in progress. + +### CinemachineClearShot + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineVirtualCameraBase + +_Implements:_ ICinemachineCamera + +Cinemachine ClearShot is a "manager camera" that owns and manages a set of Virtual Camera gameObject children. When +Live, the ClearShot will check the children, and choose the one with the best quality shot and make it Live. + +This can be a very powerful tool. If the child cameras have CinemachineCollider extensions, they will analyze the scene +for target obstructions, optimal target distance, and other items, and report their assessment of shot quality back to +the ClearShot parent, who will then choose the best one. You can use this to set up complex multi-camera coverage of a +scene, and be assured that a clear shot of the target will always be available. + +If multiple child cameras have the same shot quality, the one with the highest priority will be chosen. + +You can also define custom blends between the ClearShot children. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|---------------------|--------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| +| **Description** | String | _[Get]_ Gets a brief debug description of this virtual camera, for use when displaying debug info. | +| **LiveChild** | ICinemachineCamera | _[Get,Set]_ Get the current "best" child virtual camera, that would be chosen if the ClearShot camera were active. | +| **State** | CameraState | _[Get]_ The CameraState of the currently live child. | +| **LiveChildOrSelf** | ICinemachineCamera | _[Get]_ Return the live child. | +| **LookAt** | Transform | _[Get,Set]_ Get the current LookAt target. Returns parent's LookAt if parent is non-null and no specific LookAt defined for this camera. | +| **Follow** | Transform | _[Get,Set]_ Get the current Follow target. Returns parent's Follow if parent is non-null and no specific Follow defined for this camera. | +| **IsBlending** | Boolean | _[Get]_ Is there a blend in progress? | +| **ChildCameras** | CinemachineVirtualCameraBase[] | _[Get]_ The list of child cameras. These are just the immediate children in the hierarchy. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------------------------|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_LookAt** | Transform | Default object for the camera children to look at (the aim target), if not specified in a child camera. May be empty if all children specify targets of their own. | +| **m_Follow** | Transform | Default object for the camera children wants to move with (the body target), if not specified in a child camera. May be empty if all children specify targets of their own. | +| **m_ShowDebugText** | Boolean | When enabled, the current child camera and blend will be indicated in the game window, for debugging. | +| **m_ChildCameras** | CinemachineVirtualCameraBase[] | Internal API for the editor. Do not use this filed. | +| **m_ActivateAfter** | Single | Wait this many seconds before activating a new child camera. | +| **m_MinDuration** | Single | An active camera must be active for at least this many seconds. | +| **m_RandomizeChoice** | Boolean | If checked, camera choice will be randomized if multiple cameras are equally desirable. Otherwise, child list order and child camera priority will be used. | +| **m_DefaultBlend** | CinemachineBlendDefinition | The blend which is used if you don't explicitly define a blend between two Virtual Cameras. | +| **m_CustomBlends** | CinemachineBlenderSettings | This is the asset which contains custom settings for specific blends. | +| **CinemachineGUIDebuggerCallback** | Action | This is deprecated. It is here to support the soon-to-be-removed Cinemachine Debugger in the Editor. | +| **m_ExcludedPropertiesInInspector** | String[] | Inspector control - Use for hiding sections of the Inspector UI. | +| **m_LockStageInInspector** | Stage[] | Inspector control - Use for enabling sections of the Inspector UI. | +| **m_Priority** | Int32 | The priority will determine which camera becomes active based on the state of other cameras and this camera. Higher numbers have greater priority. | + +#### Methods + +``virtual Boolean IsLiveChild(ICinemachineCamera vcam)`` + +Check whether the vcam a live child of this camera. + +| _Param_ | _Type_ | _Description_ | +|----------|--------------------|------------------------------| +| **vcam** | ICinemachineCamera | The Virtual Camera to check. | + +_Returns:_ True if the vcam is currently actively influencing the state of this vcam. +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the vcam that a target got warped, so that the vcam can update its internal state to make the +camera also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +``virtual Void InternalUpdateCameraState(Vector3 worldUp, Single deltaTime)`` + +Internal use only. Called by CinemachineCore at designated update time so the vcam can position itself and track its +targets. This implementation updates all the children, chooses the best one, and implements any required blending. + +| _Param_ | _Type_ | _Description_ | +|---------------|---------|------------------------------------------------------------| +| **worldUp** | Vector3 | Default world Up, set by the CinemachineBrain. | +| **deltaTime** | Single | Delta time for time-based effects (ignore if less than 0). | + +``protected virtual Void OnEnable()`` + +Makes sure the internal child cache is up to date. + +``Void OnTransformChildrenChanged()`` + +Makes sure the internal child cache is up to date. + +``protected virtual Void OnGUI()`` + +Displays the current active camera on the game screen, if requested. + +``Void ResetRandomization()`` + +If RandomizeChoice is enabled, call this to re-randomize the children next frame. This is useful if you want to freshen +up the shot. + +``virtual Void OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, Single deltaTime)`` + +Notification that this virtual camera is going live. This implementation resets the child randomization. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------------|------------------------------------------------------------------------| +| **fromCam** | ICinemachineCamera | The camera being deactivated. May be null. | +| **worldUp** | Vector3 | Default world Up, set by the CinemachineBrain. | +| **deltaTime** | Single | Delta time for time-based effects (ignore if less than or equal to 0). | + +### CinemachineCollider + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineExtension + +An add-on module for Cinemachine Virtual Camera that post-processes the final position of the virtual camera. Based on +the supplied settings, the Collider will attempt to preserve the line of sight with the LookAt target of the virtual +camera by moving away from objects that will obstruct the view. + +Additionally, the Collider can be used to assess the shot quality and report this as a field in the camera State. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|----------------|--------|----------------------------------------------------------------| +| **DebugPaths** | List`1 | _[Get]_ Inspector API for debugging collision resolution path. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|---------------------------------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_CollideAgainst** | LayerMask | The Unity layer mask against which the collider will raycast. | +| **m_IgnoreTag** | String | Obstacles with this tag will be ignored. It is a good idea to set this field to the target's tag. | +| **m_MinimumDistanceFromTarget** | Single | Obstacles closer to the target than this will be ignored. | +| **m_AvoidObstacles** | Boolean | When enabled, will attempt to resolve situations where the line of sight to the target is blocked by an obstacle. | +| **m_DistanceLimit** | Single | The maximum raycast distance when checking if the line of sight to this camera's target is clear. If the setting is 0 or less, the current actual distance to target will be used. | +| **m_CameraRadius** | Single | Camera will try to maintain this distance from any obstacle. Try to keep this value small. Increase it if you are seeing inside obstacles due to a large FOV on the camera. | +| **m_Strategy** | ResolutionStrategy | The way in which the Collider will attempt to preserve sight of the target.
_Possible Values:_
- **PullCameraForward**
- **PreserveCameraHeight**
- **PreserveCameraDistance**
| +| **m_MaximumEffort** | Int32 | Upper limit on how many obstacle hits to process. Higher numbers may impact performance. In most environments, 4 is enough. | +| **m_Damping** | Single | The gradualness of collision resolution. Higher numbers will move the camera more gradually away from obstructions. | +| **m_OptimalTargetDistance** | Single | If greater than zero, a higher score will be given to shots when the target is closer to this distance. Set this to zero to disable this feature. | + +#### Methods + +``Boolean IsTargetObscured(ICinemachineCamera vcam)`` + +See whether an object is blocking the camera's view of the target. + +| _Param_ | _Type_ | _Description_ | +|----------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +| **vcam** | ICinemachineCamera | The virtual camera in question. This might be different from the virtual camera that owns the collider, in the event that the camera has children. | + +_Returns:_ True if something is blocking the view. +``Boolean CameraWasDisplaced(CinemachineVirtualCameraBase vcam)`` + +See whether the virtual camera has been moved by the collider. + +| _Param_ | _Type_ | _Description_ | +|----------|------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +| **vcam** | CinemachineVirtualCameraBase | The virtual camera in question. This might be different from the virtual camera that owns the collider, in the event that the camera has children. | + +_Returns:_ True if the virtual camera has been displaced due to collision or target obstruction. +``protected virtual Void OnDestroy()`` + +Cleanup. + +``protected virtual Void PostPipelineStageCallback(CinemachineVirtualCameraBase vcam, Stage stage, CameraState& state, Single deltaTime)`` + +Callback to to the collision resolution and shot evaluation. + +| _Param_ | _Type_ | _Description_ | +|---------------|------------------------------|---------------| +| **vcam** | CinemachineVirtualCameraBase | | +| **stage** | Stage | | +| **state** | CameraState& | | +| **deltaTime** | Single | | + +### CinemachineComposer + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComponentBase + +This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to aim the camera at the vcam's +LookAt target object, with configurable offsets, damping, and composition rules. + +The composer does not change the camera's position. It will only pan and tilt the camera where it is, in order to get +the desired framing. To move the camera, you have to use the virtual camera's Body section. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **IsValid** | Boolean | _[Get]_ True if component is enabled and has a LookAt defined. | +| **Stage** | Stage | _[Get]_ Get the Cinemachine Pipeline stage that this component implements. Always returns the Aim stage.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| +| **TrackedPoint** | Vector3 | _[Get]_ Internal API for inspector. | +| **SoftGuideRect** | Rect | _[Get,Set]_ Internal API for the inspector editor. | +| **HardGuideRect** | Rect | _[Get,Set]_ Internal API for the inspector editor. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|---------------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **OnGUICallback** | Action | Used by the Inspector Editor to display on-screen guides. | +| **m_TrackedObjectOffset** | Vector3 | Target offset from the target object's center in target-local space. Use this to fine-tune the tracking target position when the desired area is not the tracked object's center. | +| **m_LookaheadTime** | Single | This setting will instruct the composer to adjust its target offset based on the motion of the target. The composer will look at a point where it estimates the target will be this many seconds into the future. Note that this setting is sensitive to noisy animation, and can amplify the noise, resulting in undesirable camera jitter. If the camera jitters unacceptably when the target is in motion, turn down this setting, or animate the target more smoothly. | +| **m_LookaheadSmoothing** | Single | Controls the smoothness of the lookahead algorithm. Larger values smooth out jittery predictions and also increase prediction lag. | +| **m_LookaheadIgnoreY** | Boolean | If checked, movement along the Y axis will be ignored for lookahead calculations. | +| **m_HorizontalDamping** | Single | How aggressively the camera tries to follow the target in the screen-horizontal direction. Small numbers are more responsive, rapidly orienting the camera to keep the target in the dead zone. Larger numbers give a more heavy slowly responding camera. Using different vertical and horizontal settings can yield a wide range of camera behaviors. | +| **m_VerticalDamping** | Single | How aggressively the camera tries to follow the target in the screen-vertical direction. Small numbers are more responsive, rapidly orienting the camera to keep the target in the dead zone. Larger numbers give a more heavy slowly responding camera. Using different vertical and horizontal settings can yield a wide range of camera behaviors. | +| **m_ScreenX** | Single | Horizontal screen position for target. The camera will rotate to position the tracked object here. | +| **m_ScreenY** | Single | Vertical screen position for target, The camera will rotate to position the tracked object here. | +| **m_DeadZoneWidth** | Single | Camera will not rotate horizontally if the target is within this range of the position. | +| **m_DeadZoneHeight** | Single | Camera will not rotate vertically if the target is within this range of the position. | +| **m_SoftZoneWidth** | Single | When target is within this region, camera will gradually rotate horizontally to re-align towards the desired position, depending on the damping speed. | +| **m_SoftZoneHeight** | Single | When target is within this region, camera will gradually rotate vertically to re-align towards the desired position, depending on the damping speed. | +| **m_BiasX** | Single | A non-zero bias will move the target position horizontally away from the center of the soft zone. | +| **m_BiasY** | Single | A non-zero bias will move the target position vertically away from the center of the soft zone. | + +#### Methods + +``protected virtual Vector3 GetLookAtPointAndSetTrackedPoint(Vector3 lookAt)`` + +Apply the target offsets to the target location. Also set the TrackedPoint property, taking lookahead into account. + +| _Param_ | _Type_ | _Description_ | +|------------|---------|----------------------------| +| **lookAt** | Vector3 | The unoffset LookAt point. | + +_Returns:_ The LookAt point with the offset applied. +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the us that a target got warped, so that we can update its internal state to make the camera +also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +``virtual Void PrePipelineMutateCameraState(CameraState& curState)`` + +| _Param_ | _Type_ | _Description_ | +|--------------|--------------|---------------| +| **curState** | CameraState& | | + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Applies the composer rules and orients the camera accordingly. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|---------------------------------------------------------------------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Used for calculating damping. If less than zero, then target will snap to the center of the dead zone. | + +### CinemachineConfiner + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineExtension + +An add-on module for Cinemachine Virtual Camera that post-processes the final position of the virtual camera. It will +confine the virtual camera's position to the volume specified in the Bounding Volume field. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-------------|---------|--------------------------------------------------| +| **IsValid** | Boolean | _[Get]_ Check if the bounding volume is defined. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|--------------------------|------------|---------------------------------------------------------------------------------------------------------------------------------------------| +| **m_ConfineMode** | Mode | The confiner can operate using a 2D bounding shape or a 3D bounding volume.
_Possible Values:_
- **Confine2D**
- **Confine3D**
| +| **m_BoundingVolume** | Collider | The volume within which the camera is to be contained. | +| **m_BoundingShape2D** | Collider2D | The 2D shape within which the camera is to be contained. | +| **m_ConfineScreenEdges** | Boolean | If camera is orthographic, screen edges will be confined to the volume. If not checked, then only the camera center will be confined. | +| **m_Damping** | Single | How gradually to return the camera to the bounding volume if it goes beyond the borders. Higher numbers are more gradual. | + +#### Methods + +``Boolean CameraWasDisplaced(CinemachineVirtualCameraBase vcam)`` + +See whether the virtual camera has been moved by the confiner. + +| _Param_ | _Type_ | _Description_ | +|----------|------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +| **vcam** | CinemachineVirtualCameraBase | The virtual camera in question. This might be different from the virtual camera that owns the confiner, in the event that the camera has children. | + +_Returns:_ True if the virtual camera has been repositioned. +``protected virtual Void PostPipelineStageCallback(CinemachineVirtualCameraBase vcam, Stage stage, CameraState& state, Single deltaTime)`` + +Callback to to the camera confining. + +| _Param_ | _Type_ | _Description_ | +|---------------|------------------------------|---------------| +| **vcam** | CinemachineVirtualCameraBase | | +| **stage** | Stage | | +| **state** | CameraState& | | +| **deltaTime** | Single | | + +``Void InvalidatePathCache()`` + +Call this if the bounding shape's points change at runtime. + +### CinemachineDollyCart + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ MonoBehaviour + +This is a very simple behaviour that constrains its transform to a CinemachinePath. It can be used to animate any +objects along a path, or as a Follow target for Cinemachine Virtual Cameras. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|---------------------|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_Path** | CinemachinePathBase | The path to follow. | +| **m_UpdateMethod** | UpdateMethod | When to move the cart, if Velocity is non-zero.
_Possible Values:_
- **Update**
- **FixedUpdate**
| +| **m_PositionUnits** | PositionUnits | How to interpret the Path Position. If set to Path Units, values are as follows: 0 represents the first waypoint on the path, 1 is the second, and so on. Values in-between are points on the path in between the waypoints. If set to Distance, then Path Position represents distance along the path.
_Possible Values:_
- **PathUnits**
- **Distance**
- **Normalized**
| +| **m_Speed** | Single | Move the cart with this speed along the path. The value is interpreted according to the Position Units setting. | +| **m_Position** | Single | The position along the path at which the cart will be placed. This can be animated directly or, if the velocity is non-zero, will be updated automatically. The value is interpreted according to the Position Units setting. | + +### CinemachineExternalCamera + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineVirtualCameraBase + +_Implements:_ ICinemachineCamera + +This component will expose a non-cinemachine camera to the cinemachine system, allowing it to participate in blends. +Just add it as a component alongside an existing Unity Camera component. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|------------|-------------|-------------------------------------------------------------------------------------| +| **State** | CameraState | _[Get]_ Get the CameraState, as we are able to construct one from the Unity Camera. | +| **LookAt** | Transform | _[Get,Set]_ The object that the camera is looking at. | +| **Follow** | Transform | _[Get,Set]_ This vcam defines no targets. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------------------------|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_LookAt** | Transform | The object that the camera is looking at. Setting this will improve the quality of the blends to and from this camera. | +| **m_PositionBlending** | PositionBlendMethod | Hint for blending positions to and from this virtual camera.
_Possible Values:_
- **Linear**
- **Spherical**
- **Cylindrical**
| +| **CinemachineGUIDebuggerCallback** | Action | This is deprecated. It is here to support the soon-to-be-removed Cinemachine Debugger in the Editor. | +| **m_ExcludedPropertiesInInspector** | String[] | Inspector control - Use for hiding sections of the Inspector UI. | +| **m_LockStageInInspector** | Stage[] | Inspector control - Use for enabling sections of the Inspector UI. | +| **m_Priority** | Int32 | The priority will determine which camera becomes active based on the state of other cameras and this camera. Higher numbers have greater priority. | + +#### Methods + +``virtual Void InternalUpdateCameraState(Vector3 worldUp, Single deltaTime)`` + +Internal use only. Do not call this method. + +| _Param_ | _Type_ | _Description_ | +|---------------|---------|---------------| +| **worldUp** | Vector3 | | +| **deltaTime** | Single | | + +### CinemachineFollowZoom + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineExtension + +An add-on module for Cinemachine Virtual Camera that adjusts the FOV of the lens to keep the target object at a constant +size on the screen, regardless of camera and target position. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|---------------|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_Width** | Single | The shot width to maintain, in world units, at target distance. | +| **m_Damping** | Single | Increase this value to soften the aggressiveness of the follow-zoom. Small numbers are more responsive, larger numbers give a more heavy slowly responding camera. | +| **m_MinFOV** | Single | Lower limit for the FOV that this behaviour will generate. | +| **m_MaxFOV** | Single | Upper limit for the FOV that this behaviour will generate. | + +#### Methods + +``protected virtual Void PostPipelineStageCallback(CinemachineVirtualCameraBase vcam, Stage stage, CameraState& state, Single deltaTime)`` + +Callback to preform the zoom adjustment. + +| _Param_ | _Type_ | _Description_ | +|---------------|------------------------------|---------------| +| **vcam** | CinemachineVirtualCameraBase | | +| **stage** | Stage | | +| **state** | CameraState& | | +| **deltaTime** | Single | | + +### CinemachineFramingTransposer + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComponentBase + +This is a Cinemachine Component in the Body section of the component pipeline. Its job is to position the camera in a +fixed screen-space relationship to the vcam's Follow target object, with offsets and damping. + +The camera will be first moved along the camera Z axis until the Follow target is at the desired distance from the +camera's X-Y plane. The camera will then be moved in its XY plane until the Follow target is at the desired point on the +camera's screen. + +The FramingTansposer will only change the camera's position in space. It will not re-orient or otherwise aim the camera. + +For this component to work properly, the vcam's LookAt target must be null. The Follow target will define what the +camera is looking at. + +If the Follow target is a CinemachineTargetGroup, then additional controls will be available to dynamically adjust the +camera's view in order to frame the entire group. + +Although this component was designed for orthographic cameras, it works equally well with perspective cameras and can be +used in 3D environments. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|------------------------|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **SoftGuideRect** | Rect | _[Get,Set]_ Internal API for the inspector editor. | +| **HardGuideRect** | Rect | _[Get,Set]_ Internal API for the inspector editor. | +| **IsValid** | Boolean | _[Get]_ True if component is enabled and has a valid Follow target. | +| **Stage** | Stage | _[Get]_ Get the Cinemachine Pipeline stage that this component implements. Always returns the Body stage.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| +| **TrackedPoint** | Vector3 | _[Get]_ Internal API for inspector. | +| **m_LastBounds** | Bounds | _[Get]_ For editor visulaization of the calculated bounding box of the group. | +| **m_lastBoundsMatrix** | Matrix4x4 | _[Get]_ For editor visualization of the calculated bounding box of the group. | +| **TargetGroup** | CinemachineTargetGroup | _[Get]_ Get Follow target as CinemachineTargetGroup, or null if target is not a group. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|--------------------------|----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **OnGUICallback** | Action | Used by the Inspector Editor to display on-screen guides. | +| **m_LookaheadTime** | Single | This setting will instruct the composer to adjust its target offset based on the motion of the target. The composer will look at a point where it estimates the target will be this many seconds into the future. Note that this setting is sensitive to noisy animation, and can amplify the noise, resulting in undesirable camera jitter. If the camera jitters unacceptably when the target is in motion, turn down this setting, or animate the target more smoothly. | +| **m_LookaheadSmoothing** | Single | Controls the smoothness of the lookahead algorithm. Larger values smooth out jittery predictions and also increase prediction lag. | +| **m_LookaheadIgnoreY** | Boolean | If checked, movement along the Y axis will be ignored for lookahead calculations. | +| **m_XDamping** | Single | How aggressively the camera tries to maintain the offset in the X-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's x-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_YDamping** | Single | How aggressively the camera tries to maintain the offset in the Y-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's y-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_ZDamping** | Single | How aggressively the camera tries to maintain the offset in the Z-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's z-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_ScreenX** | Single | Horizontal screen position for target. The camera will move to position the tracked object here. | +| **m_ScreenY** | Single | Vertical screen position for target, The camera will move to position the tracked object here. | +| **m_CameraDistance** | Single | The distance along the camera axis that will be maintained from the Follow target. | +| **m_DeadZoneWidth** | Single | Camera will not move horizontally if the target is within this range of the position. | +| **m_DeadZoneHeight** | Single | Camera will not move vertically if the target is within this range of the position. | +| **m_DeadZoneDepth** | Single | The camera will not move along its z-axis if the Follow target is within this distance of the specified camera distance. | +| **m_UnlimitedSoftZone** | Boolean | If checked, then soft zone will be unlimited in size. | +| **m_SoftZoneWidth** | Single | When target is within this region, camera will gradually move horizontally to re-align towards the desired position, depending on the damping speed. | +| **m_SoftZoneHeight** | Single | When target is within this region, camera will gradually move vertically to re-align towards the desired position, depending on the damping speed. | +| **m_BiasX** | Single | A non-zero bias will move the target position horizontally away from the center of the soft zone. | +| **m_BiasY** | Single | A non-zero bias will move the target position vertically away from the center of the soft zone. | +| **m_GroupFramingMode** | FramingMode | What screen dimensions to consider when framing. Can be Horizontal, Vertical, or both.
_Possible Values:_
- **Horizontal**: Consider only the horizontal dimension. Vertical framing is ignored.
- **Vertical**: Consider only the vertical dimension. Horizontal framing is ignored.
- **HorizontalAndVertical**: The larger of the horizontal and vertical dimensions will dominate, to get the best fit.
- **None**: Don't do any framing adjustment.
| +| **m_AdjustmentMode** | AdjustmentMode | How to adjust the camera to get the desired framing. You can zoom, dolly in/out, or do both.
_Possible Values:_
- **ZoomOnly**
- **DollyOnly**
- **DollyThenZoom**
| +| **m_GroupFramingSize** | Single | The bounding box of the targets should occupy this amount of the screen space. 1 means fill the whole screen. 0.5 means fill half the screen, etc. | +| **m_MaxDollyIn** | Single | The maximum distance toward the target that this behaviour is allowed to move the camera. | +| **m_MaxDollyOut** | Single | The maximum distance away the target that this behaviour is allowed to move the camera. | +| **m_MinimumDistance** | Single | Set this to limit how close to the target the camera can get. | +| **m_MaximumDistance** | Single | Set this to limit how far from the target the camera can get. | +| **m_MinimumFOV** | Single | If adjusting FOV, will not set the FOV lower than this. | +| **m_MaximumFOV** | Single | If adjusting FOV, will not set the FOV higher than this. | +| **m_MinimumOrthoSize** | Single | If adjusting Orthographic Size, will not set it lower than this. | +| **m_MaximumOrthoSize** | Single | If adjusting Orthographic Size, will not set it higher than this. | + +#### Methods + +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the us that a target got warped, so that we can update its internal state to make the camera +also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Positions the virtual camera according to the transposer rules. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|--------------------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Used for damping. If less than 0, no damping is done. | + +### CinemachineFreeLook + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineVirtualCameraBase + +_Implements:_ ICinemachineCamera + +A Cinemachine Camera geared towards a 3rd person camera experience. The camera orbits around its subject with three +separate camera rigs defining rings around the target. Each rig has its own radius, height offset, composer, and lens +settings. Depending on the camera's position along the spline connecting these three rigs, these settings are +interpolated to give the final camera position and state. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|---------------------|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------| +| **RigNames** | String[] | _(static)_ _[Get]_ Names of the 3 child rigs. | +| **State** | CameraState | _[Get]_ The camera state, which will be a blend of the child rig states. | +| **LookAt** | Transform | _[Get,Set]_ Get the current LookAt target. Returns parent's LookAt if parent is non-null and no specific LookAt defined for this camera. | +| **Follow** | Transform | _[Get,Set]_ Get the current Follow target. Returns parent's Follow if parent is non-null and no specific Follow defined for this camera. | +| **LiveChildOrSelf** | ICinemachineCamera | _[Get]_ Returns the rig with the greatest weight. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------------------------|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_LookAt** | Transform | Object for the camera children to look at (the aim target). | +| **m_Follow** | Transform | Object for the camera children wants to move with (the body target). | +| **m_PositionBlending** | PositionBlendMethod | Hint for blending positions to and from this virtual camera.
_Possible Values:_
- **Linear**
- **Spherical**
- **Cylindrical**
| +| **m_CommonLens** | Boolean | If enabled, this lens setting will apply to all three child rigs, otherwise the child rig lens settings will be used. | +| **m_Lens** | LensSettings | Specifies the lens properties of this Virtual Camera. This generally mirrors the Unity Camera's lens settings, and will be used to drive the Unity camera when the vcam is active. | +| **m_YAxis** | AxisState | The Vertical axis. Value is 0..1. Chooses how to blend the child rigs. | +| **m_YAxisRecentering** | Recentering | Controls how automatic recentering of the Y axis is accomplished. | +| **m_XAxis** | AxisState | The Horizontal axis. Value is -180...180. This is passed on to the rigs' OrbitalTransposer component. | +| **m_Heading** | Heading | The definition of Forward. Camera will follow behind. | +| **m_RecenterToTargetHeading** | Recentering | Controls how automatic recentering of the X axis is accomplished. | +| **m_BindingMode** | BindingMode | The coordinate space to use when interpreting the offset from the target. This is also used to set the camera's Up vector, which will be maintained when aiming the camera.
_Possible Values:_
- **LockToTargetOnAssign**: Camera will be bound to the Follow target using a frame of reference consisting of the target's local frame at the moment when the virtual camera was enabled, or when the target was assigned.
- **LockToTargetWithWorldUp**: Camera will be bound to the Follow target using a frame of reference consisting of the target's local frame, with the tilt and roll zeroed out.
- **LockToTargetNoRoll**: Camera will be bound to the Follow target using a frame of reference consisting of the target's local frame, with the roll zeroed out.
- **LockToTarget**: Camera will be bound to the Follow target using the target's local frame.
- **WorldSpace**: Camera will be bound to the Follow target using a world space offset.
- **SimpleFollowWithWorldUp**: Offsets will be calculated relative to the target, using Camera-local axes.
| +| **m_SplineCurvature** | Single | Controls how taut is the line that connects the rigs' orbits, which determines final placement on the Y axis. | +| **m_Orbits** | Orbit[] | The radius and height of the three orbiting rigs. | +| **CinemachineGUIDebuggerCallback** | Action | This is deprecated. It is here to support the soon-to-be-removed Cinemachine Debugger in the Editor. | +| **m_ExcludedPropertiesInInspector** | String[] | Inspector control - Use for hiding sections of the Inspector UI. | +| **m_LockStageInInspector** | Stage[] | Inspector control - Use for enabling sections of the Inspector UI. | +| **m_Priority** | Int32 | The priority will determine which camera becomes active based on the state of other cameras and this camera. Higher numbers have greater priority. | + +#### Methods + +``protected virtual Void OnValidate()`` + +Enforce bounds for fields, when changed in inspector. + +``CinemachineVirtualCamera GetRig(Int32 i)`` + +Get a child rig. + +| _Param_ | _Type_ | _Description_ | +|---------|--------|--------------------------------| +| **i** | Int32 | Rig index. Can be 0, 1, or 2. | + +_Returns:_ The rig, or null if index is bad. +``protected virtual Void OnEnable()`` + +Updates the child rig cache. + +``protected virtual Void OnDestroy()`` + +Makes sure that the child rigs get destroyed in an undo-firndly manner. Invalidates the rig cache. + +``virtual Boolean IsLiveChild(ICinemachineCamera vcam)`` + +Check whether the vcam a live child of this camera. Returns true if the child is currently contributing actively to the +camera state. + +| _Param_ | _Type_ | _Description_ | +|----------|--------------------|------------------------------| +| **vcam** | ICinemachineCamera | The Virtual Camera to check. | + +_Returns:_ True if the vcam is currently actively influencing the state of this vcam. +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the vcam that a target got warped, so that the vcam can update its internal state to make the +camera also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +``virtual Void InternalUpdateCameraState(Vector3 worldUp, Single deltaTime)`` + +Internal use only. Called by CinemachineCore at designated update time so the vcam can position itself and track its +targets. All 3 child rigs are updated, and a blend calculated, depending on the value of the Y axis. + +| _Param_ | _Type_ | _Description_ | +|---------------|---------|------------------------------------------------------------| +| **worldUp** | Vector3 | Default world Up, set by the CinemachineBrain. | +| **deltaTime** | Single | Delta time for time-based effects (ignore if less than 0). | + +``virtual Void OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, Single deltaTime)`` + +If we are transitioning from another FreeLook, grab the axis values from it. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------------|------------------------------------------------------------------------| +| **fromCam** | ICinemachineCamera | The camera being deactivated. May be null. | +| **worldUp** | Vector3 | Default world Up, set by the CinemachineBrain. | +| **deltaTime** | Single | Delta time for time-based effects (ignore if less than or equal to 0). | + +``Vector3 GetLocalPositionForCameraFromInput(Single t)`` + +Returns the local position of the camera along the spline used to connect the three camera rigs. Does not take into +account the current heading of the camera (or its target). + +| _Param_ | _Type_ | _Description_ | +|---------|--------|-----------------------------------------------------------------------------------| +| **t** | Single | The t-value for the camera on its spline. Internally clamped to the value [0,1]. | + +_Returns:_ The local offset (back + up) of the camera WRT its target based on the supplied t-value. + +### CinemachineGroupComposer + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComposer + +This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to aim the camera at a target +object, with configurable offsets, damping, and composition rules. + +In addition, if the target is a CinemachineTargetGroup, the behaviour will adjust the FOV and the camera distance to +ensure that the entire group of targets is framed properly. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|------------------------|------------------------|----------------------------------------------------------------------------------------| +| **TargetGroup** | CinemachineTargetGroup | _[Get]_ Get LookAt target as CinemachineTargetGroup, or null if target is not a group. | +| **m_LastBounds** | Bounds | _[Get]_ For editor visulaization of the calculated bounding box of the group. | +| **m_lastBoundsMatrix** | Matrix4x4 | _[Get]_ For editor visualization of the calculated bounding box of the group. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|---------------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_GroupFramingSize** | Single | The bounding box of the targets should occupy this amount of the screen space. 1 means fill the whole screen. 0.5 means fill half the screen, etc. | +| **m_FramingMode** | FramingMode | What screen dimensions to consider when framing. Can be Horizontal, Vertical, or both.
_Possible Values:_
- **Horizontal**: Consider only the horizontal dimension. Vertical framing is ignored.
- **Vertical**: Consider only the vertical dimension. Horizontal framing is ignored.
- **HorizontalAndVertical**: The larger of the horizontal and vertical dimensions will dominate, to get the best fit.
| +| **m_FrameDamping** | Single | How aggressively the camera tries to frame the group. Small numbers are more responsive, rapidly adjusting the camera to keep the group in the frame. Larger numbers give a more heavy slowly responding camera. | +| **m_AdjustmentMode** | AdjustmentMode | How to adjust the camera to get the desired framing. You can zoom, dolly in/out, or do both.
_Possible Values:_
- **ZoomOnly**
- **DollyOnly**
- **DollyThenZoom**
| +| **m_MaxDollyIn** | Single | The maximum distance toward the target that this behaviour is allowed to move the camera. | +| **m_MaxDollyOut** | Single | The maximum distance away the target that this behaviour is allowed to move the camera. | +| **m_MinimumDistance** | Single | Set this to limit how close to the target the camera can get. | +| **m_MaximumDistance** | Single | Set this to limit how far from the target the camera can get. | +| **m_MinimumFOV** | Single | If adjusting FOV, will not set the FOV lower than this. | +| **m_MaximumFOV** | Single | If adjusting FOV, will not set the FOV higher than this. | +| **m_MinimumOrthoSize** | Single | If adjusting Orthographic Size, will not set it lower than this. | +| **m_MaximumOrthoSize** | Single | If adjusting Orthographic Size, will not set it higher than this. | +| **OnGUICallback** | Action | Used by the Inspector Editor to display on-screen guides. | +| **m_TrackedObjectOffset** | Vector3 | Target offset from the target object's center in target-local space. Use this to fine-tune the tracking target position when the desired area is not the tracked object's center. | +| **m_LookaheadTime** | Single | This setting will instruct the composer to adjust its target offset based on the motion of the target. The composer will look at a point where it estimates the target will be this many seconds into the future. Note that this setting is sensitive to noisy animation, and can amplify the noise, resulting in undesirable camera jitter. If the camera jitters unacceptably when the target is in motion, turn down this setting, or animate the target more smoothly. | +| **m_LookaheadSmoothing** | Single | Controls the smoothness of the lookahead algorithm. Larger values smooth out jittery predictions and also increase prediction lag. | +| **m_LookaheadIgnoreY** | Boolean | If checked, movement along the Y axis will be ignored for lookahead calculations. | +| **m_HorizontalDamping** | Single | How aggressively the camera tries to follow the target in the screen-horizontal direction. Small numbers are more responsive, rapidly orienting the camera to keep the target in the dead zone. Larger numbers give a more heavy slowly responding camera. Using different vertical and horizontal settings can yield a wide range of camera behaviors. | +| **m_VerticalDamping** | Single | How aggressively the camera tries to follow the target in the screen-vertical direction. Small numbers are more responsive, rapidly orienting the camera to keep the target in the dead zone. Larger numbers give a more heavy slowly responding camera. Using different vertical and horizontal settings can yield a wide range of camera behaviors. | +| **m_ScreenX** | Single | Horizontal screen position for target. The camera will rotate to position the tracked object here. | +| **m_ScreenY** | Single | Vertical screen position for target, The camera will rotate to position the tracked object here. | +| **m_DeadZoneWidth** | Single | Camera will not rotate horizontally if the target is within this range of the position. | +| **m_DeadZoneHeight** | Single | Camera will not rotate vertically if the target is within this range of the position. | +| **m_SoftZoneWidth** | Single | When target is within this region, camera will gradually rotate horizontally to re-align towards the desired position, depending on the damping speed. | +| **m_SoftZoneHeight** | Single | When target is within this region, camera will gradually rotate vertically to re-align towards the desired position, depending on the damping speed. | +| **m_BiasX** | Single | A non-zero bias will move the target position horizontally away from the center of the soft zone. | +| **m_BiasY** | Single | A non-zero bias will move the target position vertically away from the center of the soft zone. | + +#### Methods + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Applies the composer rules and orients the camera accordingly. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|---------------------------------------------------------------------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Used for calculating damping. If less than zero, then target will snap to the center of the dead zone. | + +### CinemachineHardLockToTarget + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComponentBase + +This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to place the camera on the +Follow Target. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **IsValid** | Boolean | _[Get]_ True if component is enabled and has a LookAt defined. | +| **Stage** | Stage | _[Get]_ Get the Cinemachine Pipeline stage that this component implements. Always returns the Aim stage.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| + +#### Methods + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Applies the composer rules and orients the camera accordingly. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|---------------------------------------------------------------------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Used for calculating damping. If less than zero, then target will snap to the center of the dead zone. | + +### CinemachineHardLookAt + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComponentBase + +This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to aim the camera hard at the +LookAt target. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **IsValid** | Boolean | _[Get]_ True if component is enabled and has a LookAt defined. | +| **Stage** | Stage | _[Get]_ Get the Cinemachine Pipeline stage that this component implements. Always returns the Aim stage.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| + +#### Methods + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Applies the composer rules and orients the camera accordingly. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|---------------------------------------------------------------------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Used for calculating damping. If less than zero, then target will snap to the center of the dead zone. | + +### CinemachineMixingCamera + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineVirtualCameraBase + +_Implements:_ ICinemachineCamera + +CinemachineMixingCamera is a "manager camera" that takes on the state of the weighted average of the states of its child +virtual cameras. + +A fixed number of slots are made available for cameras, rather than a dynamic array. We do it this way in order to +support weight animation from the Timeline. Timeline cannot animate array elements. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|---------------------|--------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **State** | CameraState | _[Get]_ The blended CameraState. | +| **LookAt** | Transform | _[Get,Set]_ Not used. | +| **Follow** | Transform | _[Get,Set]_ Not used. | +| **LiveChildOrSelf** | ICinemachineCamera | _[Get]_ Return the live child. | +| **ChildCameras** | CinemachineVirtualCameraBase[] | _[Get]_ Get the cached list of child cameras. These are just the immediate children in the hierarchy. Note: only the first entries of this list participate in the final blend, up to MaxCameras. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_Weight0** | Single | The weight of the first tracked camera. | +| **m_Weight1** | Single | The weight of the second tracked camera. | +| **m_Weight2** | Single | The weight of the third tracked camera. | +| **m_Weight3** | Single | The weight of the fourth tracked camera. | +| **m_Weight4** | Single | The weight of the fifth tracked camera. | +| **m_Weight5** | Single | The weight of the sixth tracked camera. | +| **m_Weight6** | Single | The weight of the seventh tracked camera. | +| **m_Weight7** | Single | The weight of the eighth tracked camera. | +| **CinemachineGUIDebuggerCallback** | Action | This is deprecated. It is here to support the soon-to-be-removed Cinemachine Debugger in the Editor. | +| **m_ExcludedPropertiesInInspector** | String[] | Inspector control - Use for hiding sections of the Inspector UI. | +| **m_LockStageInInspector** | Stage[] | Inspector control - Use for enabling sections of the Inspector UI. | +| **m_Priority** | Int32 | The priority will determine which camera becomes active based on the state of other cameras and this camera. Higher numbers have greater priority. | + +#### Methods + +``Single GetWeight(Int32 index)`` + +Get the weight of the child at an index. + +| _Param_ | _Type_ | _Description_ | +|-----------|--------|-------------------------------------------------------------------------------------| +| **index** | Int32 | The child index. Only immediate CinemachineVirtualCameraBase children are counted. | + +_Returns:_ The weight of the camera. Valid only if camera is active and enabled. +``Void SetWeight(Int32 index, Single w)`` + +Set the weight of the child at an index. + +| _Param_ | _Type_ | _Description_ | +|-----------|--------|-------------------------------------------------------------------------------------| +| **index** | Int32 | The child index. Only immediate CinemachineVirtualCameraBase children are counted. | +| **w** | Single | The weight to set. Can be any non-negative number. | + +``Single GetWeight(CinemachineVirtualCameraBase vcam)`` + +Get the weight of the child CinemachineVirtualCameraBase. + +| _Param_ | _Type_ | _Description_ | +|----------|------------------------------|-------------------| +| **vcam** | CinemachineVirtualCameraBase | The child camera. | + +_Returns:_ The weight of the camera. Valid only if camera is active and enabled. +``Void SetWeight(CinemachineVirtualCameraBase vcam, Single w)`` + +Set the weight of the child CinemachineVirtualCameraBase. + +| _Param_ | _Type_ | _Description_ | +|----------|------------------------------|-----------------------------------------------------| +| **vcam** | CinemachineVirtualCameraBase | The child camera. | +| **w** | Single | The weight to set. Can be any non-negative number. | + +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the vcam that a target got warped, so that the vcam can update its internal state to make the +camera also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +``protected virtual Void OnEnable()`` + +Makes sure the internal child cache is up to date. + +``Void OnTransformChildrenChanged()`` + +Makes sure the internal child cache is up to date. + +``protected virtual Void OnValidate()`` + +Makes sure the weights are non-negative. + +``virtual Boolean IsLiveChild(ICinemachineCamera vcam)`` + +Check whether the vcam a live child of this camera. + +| _Param_ | _Type_ | _Description_ | +|----------|--------------------|------------------------------| +| **vcam** | ICinemachineCamera | The Virtual Camera to check. | + +_Returns:_ True if the vcam is currently actively influencing the state of this vcam. +``protected Void InvalidateListOfChildren()`` + +Invalidate the cached list of child cameras. + +``protected Void ValidateListOfChildren()`` + +Rebuild the cached list of child cameras. + +``virtual Void InternalUpdateCameraState(Vector3 worldUp, Single deltaTime)`` + +Internal use only. Do not call this method. Called by CinemachineCore at designated update time so the vcam can position +itself and track its targets. This implementation computes and caches the weighted blend of the tracked cameras. + +| _Param_ | _Type_ | _Description_ | +|---------------|---------|------------------------------------------------------------| +| **worldUp** | Vector3 | Default world Up, set by the CinemachineBrain. | +| **deltaTime** | Single | Delta time for time-based effects (ignore if less than 0). | + +### CinemachineOrbitalTransposer + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineTransposer + +This is a CinemachineComponent in the Body section of the component pipeline. Its job is to position the camera in a +variable relationship to a the vcam's Follow target object, with offsets and damping. + +This component is typically used to implement a camera that follows its target. It can accept player input from an input +device, which allows the player to dynamically control the relationship between the camera and the target, for example +with a joystick. + +The OrbitalTransposer introduces the concept of __Heading__, which is the direction in which the target is moving, and +the OrbitalTransposer will attempt to position the camera in relationship to the heading, which is by default directly +behind the target. You can control the default relationship by adjusting the Heading Bias setting. + +If you attach an input controller to the OrbitalTransposer, then the player can also control the way the camera +positions itself in relation to the target heading. This allows the camera to move to any spot on an orbit around the +target. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_Heading** | Heading | The definition of Forward. Camera will follow behind. | +| **m_RecenterToTargetHeading** | Recentering | Automatic heading recentering. The settings here defines how the camera will reposition itself in the absence of player input. | +| **m_XAxis** | AxisState | Heading Control. The settings here control the behaviour of the camera in response to the player's input. | +| **m_HeadingIsSlave** | Boolean | Drive the x-axis setting programmatically. Automatic heading updating will be disabled. | +| **m_BindingMode** | BindingMode | The coordinate space to use when interpreting the offset from the target. This is also used to set the camera's Up vector, which will be maintained when aiming the camera.
_Possible Values:_
- **LockToTargetOnAssign**: Camera will be bound to the Follow target using a frame of reference consisting of the target's local frame at the moment when the virtual camera was enabled, or when the target was assigned.
- **LockToTargetWithWorldUp**: Camera will be bound to the Follow target using a frame of reference consisting of the target's local frame, with the tilt and roll zeroed out.
- **LockToTargetNoRoll**: Camera will be bound to the Follow target using a frame of reference consisting of the target's local frame, with the roll zeroed out.
- **LockToTarget**: Camera will be bound to the Follow target using the target's local frame.
- **WorldSpace**: Camera will be bound to the Follow target using a world space offset.
- **SimpleFollowWithWorldUp**: Offsets will be calculated relative to the target, using Camera-local axes.
| +| **m_FollowOffset** | Vector3 | The distance vector that the transposer will attempt to maintain from the Follow target. | +| **m_XDamping** | Single | How aggressively the camera tries to maintain the offset in the X-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's x-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_YDamping** | Single | How aggressively the camera tries to maintain the offset in the Y-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's y-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_ZDamping** | Single | How aggressively the camera tries to maintain the offset in the Z-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's z-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_PitchDamping** | Single | How aggressively the camera tries to track the target rotation's X angle. Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. | +| **m_YawDamping** | Single | How aggressively the camera tries to track the target rotation's Y angle. Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. | +| **m_RollDamping** | Single | How aggressively the camera tries to track the target rotation's Z angle. Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. | + +#### Methods + +``protected virtual Void OnValidate()`` + +``Single UpdateHeading(Single deltaTime, Vector3 up, AxisState& axis)`` + +Update the X axis and calculate the heading. This can be called by a delegate with a custom axis. Used for damping. If +less than 0, no damping is done.World Up, set by the CinemachineBrainAxis value. + +| _Param_ | _Type_ | _Description_ | +|---------------|------------|--------------------------------------------------------| +| **deltaTime** | Single | Used for damping. If less than 0, no damping is done. | +| **up** | Vector3 | World Up, set by the CinemachineBrain. | +| **axis** | AxisState& | | + +_Returns:_ Axis value. +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the us that a target got warped, so that we can update its internal state to make the camera +also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Positions the virtual camera according to the transposer rules. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|--------------------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Used for damping. If less than 0, no damping is done. | + +### CinemachineOrbitalTransposer.Heading + +_Type:_ struct + +_Namespace:_ Cinemachine + +How the "forward" direction is defined. Orbital offset is in relation to the forward direction. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|------------------------------|-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_Definition** | HeadingDefinition | How 'forward' is defined. The camera will be placed by default behind the target. PositionDelta will consider 'forward' to be the direction in which the target is moving.
_Possible Values:_
- **PositionDelta**: Target heading calculated from the difference between its position on the last update and current frame.
- **Velocity**: Target heading calculated from its Rigidbody's velocity. If no Rigidbody exists, it will fall back to HeadingDerivationMode.PositionDelta.
- **TargetForward**: Target heading calculated from the Target Transform's euler Y angle.
- **WorldForward**: Default heading is a constant world space heading.
| +| **m_VelocityFilterStrength** | Int32 | Size of the velocity sampling window for target heading filter. This filters out irregularities in the target's movement. Used only if deriving heading from target's movement (PositionDelta or Velocity). | +| **m_Bias** | Single | Where the camera is placed when the X-axis value is zero. This is a rotation in degrees around the Y axis. When this value is 0, the camera will be placed behind the target. Nonzero offsets will rotate the zero position around the target. | + +### CinemachinePath + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachinePathBase + +Defines a world-space path, consisting of an array of waypoints, each of which has position, tangent, and roll settings. +Bezier interpolation is performed between the waypoints, to get a smooth and continuous path. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|----------------------------------------|---------|----------------------------------------------------------------------------------------------| +| **MinPos** | Single | _[Get]_ The minimum value for the path position. | +| **MaxPos** | Single | _[Get]_ The maximum value for the path position. | +| **Looped** | Boolean | _[Get]_ True if the path ends are joined to form a continuous loop. | +| **DistanceCacheSampleStepsPerSegment** | Int32 | _[Get]_ When calculating the distance cache, sample the path this many times between points. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|------------------|------------|--------------------------------------------------------------------------------------| +| **m_Looped** | Boolean | If checked, then the path ends are joined to form a continuous loop. | +| **m_Waypoints** | Waypoint[] | The waypoints that define the path. They will be interpolated using a bezier curve. | +| **m_Resolution** | Int32 | Path samples per waypoint. This is used for calculating path distances. | +| **m_Appearance** | Appearance | The settings that control how the path will appear in the editor scene view. | + +#### Methods + +``virtual Vector3 EvaluatePosition(Single pos)`` + +Get a worldspace position of a point along the path. + +| _Param_ | _Type_ | _Description_ | +|---------|--------|--------------------------------------------------| +| **pos** | Single | Postion along the path. Need not be normalized. | + +_Returns:_ World-space position of the point along at path at pos. +``virtual Vector3 EvaluateTangent(Single pos)`` + +Get the tangent of the curve at a point along the path. + +| _Param_ | _Type_ | _Description_ | +|---------|--------|--------------------------------------------------| +| **pos** | Single | Postion along the path. Need not be normalized. | + +_Returns:_ World-space direction of the path tangent. Length of the vector represents the tangent strength. +``virtual Quaternion EvaluateOrientation(Single pos)`` + +Get the orientation the curve at a point along the path. + +| _Param_ | _Type_ | _Description_ | +|---------|--------|--------------------------------------------------| +| **pos** | Single | Postion along the path. Need not be normalized. | + +_Returns:_ World-space orientation of the path, as defined by tangent, up, and roll. + +### CinemachinePath.Waypoint + +_Type:_ struct + +_Namespace:_ Cinemachine + +A waypoint along the path. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|--------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **position** | Vector3 | Position in path-local space. | +| **tangent** | Vector3 | Offset from the position, which defines the tangent of the curve at the waypoint. The length of the tangent encodes the strength of the bezier handle. The same handle is used symmetrically on both sides of the waypoint, to ensure smoothness. | +| **roll** | Single | Defines the role of the path at this waypoint. The other orientation axes are inferred from the tangent and world up. | + +### CinemachinePathBase.Appearance + +_Type:_ class + +_Namespace:_ Cinemachine + +This class holds the settings that control how the path will appear in the editor scene view. The path is not visible in +the game view. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-----------------------|--------|------------------------------------------------------------------------| +| **pathColor** | Color | The color of the path itself when it is active in the editor. | +| **inactivePathColor** | Color | The color of the path itself when it is inactive in the editor. | +| **width** | Single | The width of the railroad-tracks that are drawn to represent the path. | + +### CinemachinePOV + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComponentBase + +This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to aim the camera in response to +the user's mouse or joystick input. + +The composer does not change the camera's position. It will only pan and tilt the camera where it is, in order to get +the desired framing. To move the camera, you have to use the virtual camera's Body section. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **IsValid** | Boolean | _[Get]_ True if component is enabled and has a LookAt defined. | +| **Stage** | Stage | _[Get]_ Get the Cinemachine Pipeline stage that this component implements. Always returns the Aim stage.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-----------------------------|-------------|---------------------------------------------------------------------------------| +| **m_VerticalAxis** | AxisState | The Vertical axis. Value is -90..90. Controls the vertical orientation. | +| **m_VerticalRecentering** | Recentering | Controls how automatic recentering of the Vertical axis is accomplished. | +| **m_HorizontalAxis** | AxisState | The Horizontal axis. Value is -180..180. Controls the horizontal orientation. | +| **m_HorizontalRecentering** | Recentering | Controls how automatic recentering of the Horizontal axis is accomplished. | + +#### Methods + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Applies the axis values and orients the camera accordingly. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Used for calculating damping. Not used. | + +### CinemachineSameAsFollowTarget + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComponentBase + +This is a CinemachineComponent in the Aim section of the component pipeline. Its job is to match the orientation of the +Follow target. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **IsValid** | Boolean | _[Get]_ True if component is enabled and has a Follow target defined. | +| **Stage** | Stage | _[Get]_ Get the Cinemachine Pipeline stage that this component implements. Always returns the Aim stage.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| + +#### Methods + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Orients the camera to match the Follow target's orientation. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|---------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Not used. | + +### CinemachineSmoothPath + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachinePathBase + +Defines a world-space path, consisting of an array of waypoints, each of which has position and roll settings. Bezier +interpolation is performed between the waypoints, to get a smooth and continuous path. The path will pass through all +waypoints, and (unlike CinemachinePath) first and second order continuity is guaranteed. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|----------------------------------------|---------|----------------------------------------------------------------------------------------------| +| **MinPos** | Single | _[Get]_ The minimum value for the path position. | +| **MaxPos** | Single | _[Get]_ The maximum value for the path position. | +| **Looped** | Boolean | _[Get]_ True if the path ends are joined to form a continuous loop. | +| **DistanceCacheSampleStepsPerSegment** | Int32 | _[Get]_ When calculating the distance cache, sample the path this many times between points. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|------------------|------------|--------------------------------------------------------------------------------------| +| **m_Looped** | Boolean | If checked, then the path ends are joined to form a continuous loop. | +| **m_Waypoints** | Waypoint[] | The waypoints that define the path. They will be interpolated using a bezier curve. | +| **m_Resolution** | Int32 | Path samples per waypoint. This is used for calculating path distances. | +| **m_Appearance** | Appearance | The settings that control how the path will appear in the editor scene view. | + +#### Methods + +``virtual Void InvalidateDistanceCache()`` + +Call this if the path changes in such a way as to affect distances or other cached path elements. + +``virtual Vector3 EvaluatePosition(Single pos)`` + +Get a worldspace position of a point along the path. + +| _Param_ | _Type_ | _Description_ | +|---------|--------|--------------------------------------------------| +| **pos** | Single | Postion along the path. Need not be normalized. | + +_Returns:_ World-space position of the point along at path at pos. +``virtual Vector3 EvaluateTangent(Single pos)`` + +Get the tangent of the curve at a point along the path. + +| _Param_ | _Type_ | _Description_ | +|---------|--------|--------------------------------------------------| +| **pos** | Single | Postion along the path. Need not be normalized. | + +_Returns:_ World-space direction of the path tangent. Length of the vector represents the tangent strength. +``virtual Quaternion EvaluateOrientation(Single pos)`` + +Get the orientation the curve at a point along the path. + +| _Param_ | _Type_ | _Description_ | +|---------|--------|--------------------------------------------------| +| **pos** | Single | Postion along the path. Need not be normalized. | + +_Returns:_ World-space orientation of the path, as defined by tangent, up, and roll. + +### CinemachineSmoothPath.Waypoint + +_Type:_ struct + +_Namespace:_ Cinemachine + +A waypoint along the path. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|--------------|---------|------------------------------------------------------------------------------------------------------------------------| +| **position** | Vector3 | Position in path-local space. | +| **roll** | Single | Defines the roll of the path at this waypoint. The other orientation axes are inferred from the tangent and world up. | + +### CinemachineStateDrivenCamera + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineVirtualCameraBase + +_Implements:_ ICinemachineCamera + +This is a virtual camera "manager" that owns and manages a collection of child Virtual Cameras. These child vcams are +mapped to individual states in an animation state machine, allowing you to associate specific vcams to specific +animation states. When that state is active in the state machine, then the associated camera will be activated. + +You can define custom blends and transitions between child cameras. + +In order to use this behaviour, you must have an animated target (i.e. an object animated with a state machine) to drive +the behaviour. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|---------------------|--------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| +| **Description** | String | _[Get]_ Gets a brief debug description of this virtual camera, for use when displaying debug info. | +| **LiveChild** | ICinemachineCamera | _[Get,Set]_ Get the current "best" child virtual camera, that would be chosen if the State Driven Camera were active. | +| **LiveChildOrSelf** | ICinemachineCamera | _[Get]_ Return the live child. | +| **State** | CameraState | _[Get]_ The State of the current live child. | +| **LookAt** | Transform | _[Get,Set]_ Get the current LookAt target. Returns parent's LookAt if parent is non-null and no specific LookAt defined for this camera. | +| **Follow** | Transform | _[Get,Set]_ Get the current Follow target. Returns parent's Follow if parent is non-null and no specific Follow defined for this camera. | +| **ChildCameras** | CinemachineVirtualCameraBase[] | _[Get]_ The list of child cameras. These are just the immediate children in the hierarchy. | +| **IsBlending** | Boolean | _[Get]_ Is there a blend in progress? | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------------------------|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_LookAt** | Transform | Default object for the camera children to look at (the aim target), if not specified in a child camera. May be empty if all of the children define targets of their own. | +| **m_Follow** | Transform | Default object for the camera children wants to move with (the body target), if not specified in a child camera. May be empty if all of the children define targets of their own. | +| **m_AnimatedTarget** | Animator | The state machine whose state changes will drive this camera's choice of active child. | +| **m_LayerIndex** | Int32 | Which layer in the target state machine to observe. | +| **m_ShowDebugText** | Boolean | When enabled, the current child camera and blend will be indicated in the game window, for debugging. | +| **m_EnableAllChildCameras** | Boolean | Force all child cameras to be enabled. This is useful if animating them in Timeline, but consumes extra resources. | +| **m_ChildCameras** | CinemachineVirtualCameraBase[] | Internal API for the editor. Do not use this field. | +| **m_Instructions** | Instruction[] | The set of instructions associating virtual cameras with states. These instructions are used to choose the live child at any given moment. | +| **m_DefaultBlend** | CinemachineBlendDefinition | The blend which is used if you don't explicitly define a blend between two Virtual Camera children. | +| **m_CustomBlends** | CinemachineBlenderSettings | This is the asset which contains custom settings for specific child blends. | +| **m_ParentHash** | ParentHash[] | Internal API for the Inspector editor. | +| **CinemachineGUIDebuggerCallback** | Action | This is deprecated. It is here to support the soon-to-be-removed Cinemachine Debugger in the Editor. | +| **m_ExcludedPropertiesInInspector** | String[] | Inspector control - Use for hiding sections of the Inspector UI. | +| **m_LockStageInInspector** | Stage[] | Inspector control - Use for enabling sections of the Inspector UI. | +| **m_Priority** | Int32 | The priority will determine which camera becomes active based on the state of other cameras and this camera. Higher numbers have greater priority. | + +#### Methods + +``virtual Boolean IsLiveChild(ICinemachineCamera vcam)`` + +Check whether the vcam a live child of this camera. + +| _Param_ | _Type_ | _Description_ | +|----------|--------------------|------------------------------| +| **vcam** | ICinemachineCamera | The Virtual Camera to check. | + +_Returns:_ True if the vcam is currently actively influencing the state of this vcam. +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the vcam that a target got warped, so that the vcam can update its internal state to make the +camera also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +``virtual Void InternalUpdateCameraState(Vector3 worldUp, Single deltaTime)`` + +Internal use only. Do not call this method. Called by CinemachineCore at designated update time so the vcam can position +itself and track its targets. This implementation updates all the children, chooses the best one, and implements any +required blending. + +| _Param_ | _Type_ | _Description_ | +|---------------|---------|------------------------------------------------------------------------| +| **worldUp** | Vector3 | Default world Up, set by the CinemachineBrain. | +| **deltaTime** | Single | Delta time for time-based effects (ignore if less than or equal to 0). | + +``protected virtual Void OnEnable()`` + +Makes sure the internal child cache is up to date. + +``Void OnTransformChildrenChanged()`` + +Makes sure the internal child cache is up to date. + +``protected virtual Void OnGUI()`` + +Displays the current active camera on the game screen, if requested. + +``static String CreateFakeHashName(Int32 parentHash, String stateName)`` + +API for the inspector editor. Animation module does not have hashes for state parents, so we have to invent them in +order to implement nested state handling. + +| _Param_ | _Type_ | _Description_ | +|----------------|--------|---------------| +| **parentHash** | Int32 | | +| **stateName** | String | | + +``Void ValidateInstructions()`` + +Internal API for the inspector editor. + +### CinemachineStoryboard + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineExtension + +An add-on module for Cinemachine Virtual Camera that places an image in screen space over the camera's output. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|------------------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_ShowImage** | Boolean | If checked, the specified image will be displayed as an overlay over the virtual camera's output. | +| **m_Image** | Texture | The image to display. | +| **m_Aspect** | FillStrategy | How to handle differences between image aspect and screen aspect.
_Possible Values:_
- **BestFit**
- **CropImageToFit**
- **StretchToFit**
| +| **m_Alpha** | Single | The opacity of the image. 0 is transparent, 1 is opaque. | +| **m_Center** | Vector2 | The screen-space position at which to display the image. Zero is center. | +| **m_Rotation** | Vector3 | The screen-space rotation to apply to the image. | +| **m_Scale** | Vector2 | The screen-space scaling to apply to the image. | +| **m_SyncScale** | Boolean | If checked, X and Y scale are synchronized. | +| **m_MuteCamera** | Boolean | If checked, Camera transform will not be controlled by this virtual camera. | +| **m_SplitView** | Single | Wipe the image on and off horizontally. | + +#### Methods + +``protected virtual Void PostPipelineStageCallback(CinemachineVirtualCameraBase vcam, Stage stage, CameraState& state, Single deltaTime)`` + +Standard CinemachineExtension callback. + +| _Param_ | _Type_ | _Description_ | +|---------------|------------------------------|---------------| +| **vcam** | CinemachineVirtualCameraBase | | +| **stage** | Stage | | +| **state** | CameraState& | | +| **deltaTime** | Single | | + +``protected virtual Void OnDestroy()`` + +``protected virtual Void ConnectToVcam(Boolean connect)`` + +| _Param_ | _Type_ | _Description_ | +|-------------|---------|---------------| +| **connect** | Boolean | | + +### CinemachineTargetGroup + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ MonoBehaviour + +Defines a group of target objects, each with a radius and a weight. The weight is used when calculating the average +position of the target group. Higher-weighted members of the group will count more. The bounding box is calculated by +taking the member positions, weight, and radii into account. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-----------------|---------|-----------------------------------------------------------------------------------------------------| +| **BoundingBox** | Bounds | _[Get]_ The axis-aligned bounding box of the group, computed using the targets positions and radii. | +| **IsEmpty** | Boolean | _[Get]_ Return true if there are no members with weight > 0. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|--------------------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_PositionMode** | PositionMode | How the group's position is calculated. Select GroupCenter for the center of the bounding box, and GroupAverage for a weighted average of the positions of the members.
_Possible Values:_
- **GroupCenter**: Group position will be the center of the group's axis-aligned bounding box.
- **GroupAverage**: Group position will be the weighted average of the positions of the members.
| +| **m_RotationMode** | RotationMode | How the group's rotation is calculated. Select Manual to use the value in the group's transform, and GroupAverage for a weighted average of the orientations of the members.
_Possible Values:_
- **Manual**: Manually set in the group's transform.
- **GroupAverage**: Weighted average of the orientation of its members.
| +| **m_UpdateMethod** | UpdateMethod | When to update the group's transform based on the position of the group members.
_Possible Values:_
- **Update**
- **FixedUpdate**
- **LateUpdate**
| +| **m_Targets** | Target[] | The target objects, together with their weights and radii, that will contribute to the group's average position, orientation, and size. | + +#### Methods + +``Bounds GetViewSpaceBoundingBox(Matrix4x4 mView)`` + +The axis-aligned bounding box of the group, in a specific reference frame. + +| _Param_ | _Type_ | _Description_ | +|-----------|-----------|--------------------------------------------------------------| +| **mView** | Matrix4x4 | The frame of reference in which to compute the bounding box. | + +_Returns:_ The axis-aligned bounding box of the group, in the desired frame of reference. + +### CinemachineTargetGroup.Target + +_Type:_ struct + +_Namespace:_ Cinemachine + +Holds the information that represents a member of the group. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **target** | Transform | The target objects. This object's position and orientation will contribute to the group's average position and orientation, in accordance with its weight. | +| **weight** | Single | How much weight to give the target when averaging. Cannot be negative. | +| **radius** | Single | The radius of the target, used for calculating the bounding box. Cannot be negative. | + +### CinemachineTrackedDolly + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComponentBase + +A Cinemachine Virtual Camera Body component that constrains camera motion to a CinemachinePath. The camera can move +along the path. + +This behaviour can operate in two modes: manual positioning, and Auto-Dolly positioning. In Manual mode, the camera's +position is specified by animating the Path Position field. In Auto-Dolly mode, the Path Position field is animated +automatically every frame by finding the position on the path that's closest to the virtual camera's Follow target. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|-------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **IsValid** | Boolean | _[Get]_ True if component is enabled and has a path. | +| **Stage** | Stage | _[Get]_ Get the Cinemachine Pipeline stage that this component implements. Always returns the Body stage.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|---------------------|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_Path** | CinemachinePathBase | The path to which the camera will be constrained. This must be non-null. | +| **m_PathPosition** | Single | The position along the path at which the camera will be placed. This can be animated directly, or set automatically by the Auto-Dolly feature to get as close as possible to the Follow target. The value is interpreted according to the Position Units setting. | +| **m_PositionUnits** | PositionUnits | How to interpret Path Position. If set to Path Units, values are as follows: 0 represents the first waypoint on the path, 1 is the second, and so on. Values in-between are points on the path in between the waypoints. If set to Distance, then Path Position represents distance along the path.
_Possible Values:_
- **PathUnits**
- **Distance**
- **Normalized**
| +| **m_PathOffset** | Vector3 | Where to put the camera relative to the path position. X is perpendicular to the path, Y is up, and Z is parallel to the path. This allows the camera to be offset from the path itself (as if on a tripod, for example). | +| **m_XDamping** | Single | How aggressively the camera tries to maintain its position in a direction perpendicular to the path. Small numbers are more responsive, rapidly translating the camera to keep the target's x-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_YDamping** | Single | How aggressively the camera tries to maintain its position in the path-local up direction. Small numbers are more responsive, rapidly translating the camera to keep the target's y-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_ZDamping** | Single | How aggressively the camera tries to maintain its position in a direction parallel to the path. Small numbers are more responsive, rapidly translating the camera to keep the target's z-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_CameraUp** | CameraUpMode | How to set the virtual camera's Up vector. This will affect the screen composition, because the camera Aim behaviours will always try to respect the Up direction.
_Possible Values:_
- **Default**: Leave the camera's up vector alone. It will be set according to the Brain's WorldUp.
- **Path**: Take the up vector from the path's up vector at the current point.
- **PathNoRoll**: Take the up vector from the path's up vector at the current point, but with the roll zeroed out.
- **FollowTarget**: Take the up vector from the Follow target's up vector.
- **FollowTargetNoRoll**: Take the up vector from the Follow target's up vector, but with the roll zeroed out.
| +| **m_PitchDamping** | Single | How aggressively the camera tries to track the target rotation's X angle. Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. | +| **m_YawDamping** | Single | How aggressively the camera tries to track the target rotation's Y angle. Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. | +| **m_RollDamping** | Single | How aggressively the camera tries to track the target rotation's Z angle. Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. | +| **m_AutoDolly** | AutoDolly | Controls how automatic dollying occurs. A Follow target is necessary to use this feature. | + +#### Methods + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Positions the virtual camera according to the transposer rules. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|--------------------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Used for damping. If less that 0, no damping is done. | + +### CinemachineTrackedDolly.AutoDolly + +_Type:_ struct + +_Namespace:_ Cinemachine + +Controls how automatic dollying occurs. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|------------------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_Enabled** | Boolean | If checked, will enable automatic dolly, which chooses a path position that is as close as possible to the Follow target. Note: this can have significant performance impact. | +| **m_PositionOffset** | Single | Offset, in current position units, from the closest point on the path to the follow target. | +| **m_SearchRadius** | Int32 | Search up to how many waypoints on either side of the current position. Use 0 for Entire path. | +| **m_SearchResolution** | Int32 | We search between waypoints by dividing the segment into this many straight pieces. The higher the number, the more accurate the result, but performance is proportionally slower for higher numbers. | + +### CinemachineTransposer + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineComponentBase + +This is a CinemachineComponent in the Body section of the component pipeline. Its job is to position the camera in a +fixed relationship to the vcam's Follow target object, with offsets and damping. + +The Transposer will only change the camera's position in space. It will not re-orient or otherwise aim the camera. To +that, you need to instruct the vcam in the Aim section of its pipeline. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|---------------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **EffectiveOffset** | Vector3 | _[Get]_ Get the target offset, with sanitization. | +| **IsValid** | Boolean | _[Get]_ True if component is enabled and has a valid Follow target. | +| **Stage** | Stage | _[Get]_ Get the Cinemachine Pipeline stage that this component implements. Always returns the Body stage.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|--------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_BindingMode** | BindingMode | The coordinate space to use when interpreting the offset from the target. This is also used to set the camera's Up vector, which will be maintained when aiming the camera.
_Possible Values:_
- **LockToTargetOnAssign**: Camera will be bound to the Follow target using a frame of reference consisting of the target's local frame at the moment when the virtual camera was enabled, or when the target was assigned.
- **LockToTargetWithWorldUp**: Camera will be bound to the Follow target using a frame of reference consisting of the target's local frame, with the tilt and roll zeroed out.
- **LockToTargetNoRoll**: Camera will be bound to the Follow target using a frame of reference consisting of the target's local frame, with the roll zeroed out.
- **LockToTarget**: Camera will be bound to the Follow target using the target's local frame.
- **WorldSpace**: Camera will be bound to the Follow target using a world space offset.
- **SimpleFollowWithWorldUp**: Offsets will be calculated relative to the target, using Camera-local axes.
| +| **m_FollowOffset** | Vector3 | The distance vector that the transposer will attempt to maintain from the Follow target. | +| **m_XDamping** | Single | How aggressively the camera tries to maintain the offset in the X-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's x-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_YDamping** | Single | How aggressively the camera tries to maintain the offset in the Y-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's y-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_ZDamping** | Single | How aggressively the camera tries to maintain the offset in the Z-axis. Small numbers are more responsive, rapidly translating the camera to keep the target's z-axis offset. Larger numbers give a more heavy slowly responding camera. Using different settings per axis can yield a wide range of camera behaviors. | +| **m_PitchDamping** | Single | How aggressively the camera tries to track the target rotation's X angle. Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. | +| **m_YawDamping** | Single | How aggressively the camera tries to track the target rotation's Y angle. Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. | +| **m_RollDamping** | Single | How aggressively the camera tries to track the target rotation's Z angle. Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. | + +#### Methods + +``protected virtual Void OnValidate()`` + +Derived classes should call this from their OnValidate() implementation. + +``virtual Void MutateCameraState(CameraState& curState, Single deltaTime)`` + +Positions the virtual camera according to the transposer rules. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|--------------------------------------------------------| +| **curState** | CameraState& | The current camera state. | +| **deltaTime** | Single | Used for damping. If less than 0, no damping is done. | + +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the us that a target got warped, so that we can update its internal state to make the camera +also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +``protected Void InitPrevFrameStateInfo(CameraState& curState, Single deltaTime)`` + +Initializes the state for previous frame if appropriate. + +| _Param_ | _Type_ | _Description_ | +|---------------|--------------|---------------| +| **curState** | CameraState& | | +| **deltaTime** | Single | | + +``protected Void TrackTarget(Single deltaTime, Vector3 up, Vector3 desiredCameraOffset, Vector3& outTargetPosition, Quaternion& outTargetOrient)`` + +Positions the virtual camera according to the transposer rules. + +| _Param_ | _Type_ | _Description_ | +|-------------------------|-------------|----------------------------------------------------------------| +| **deltaTime** | Single | Used for damping. If less than 0, no damping is done. | +| **up** | Vector3 | Current camera up. | +| **desiredCameraOffset** | Vector3 | Where we want to put the camera relative to the follow target. | +| **outTargetPosition** | Vector3& | Resulting camera position. | +| **outTargetOrient** | Quaternion& | Damped target orientation. | + +``Vector3 GeTargetCameraPosition(Vector3 worldUp)`` + +Internal API for the Inspector Editor, so it can draw a marker at the target. + +| _Param_ | _Type_ | _Description_ | +|-------------|---------|---------------| +| **worldUp** | Vector3 | | + +``Quaternion GetReferenceOrientation(Vector3 worldUp)`` + +Internal API for the Inspector Editor, so it can draw a marker at the target. + +| _Param_ | _Type_ | _Description_ | +|-------------|---------|---------------| +| **worldUp** | Vector3 | | + +### CinemachineVirtualCamera + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ CinemachineVirtualCameraBase + +_Implements:_ ICinemachineCamera + +This behaviour is intended to be attached to an empty Transform GameObject, and it represents a Virtual Camera within +the Unity scene. + +The Virtual Camera will animate its Transform according to the rules contained in its CinemachineComponent pipeline ( +Aim, Body, and Noise). When the virtual camera is Live, the Unity camera will assume the position and orientation of the +virtual camera. + +A virtual camera is not a camera. Instead, it can be thought of as a camera controller, not unlike a cameraman. It can +drive the Unity Camera and control its position, orientation, lens settings, and PostProcessing effects. Each Virtual +Camera owns its own Cinemachine Component Pipeline, through which you provide the instructions for dynamically tracking +specific game objects. + +A virtual camera is very lightweight, and does no rendering of its own. It merely tracks interesting GameObjects, and +positions itself accordingly. A typical game can have dozens of virtual cameras, each set up to follow a particular +character or capture a particular event. + +A Virtual Camera can be in any of three states: + +* **Live**: The virtual camera is actively controlling the Unity Camera. The virtual camera is tracking its targets and + being updated every frame. +* **Standby**: The virtual camera is tracking its targets and being updated every frame, but no Unity Camera is actively + being controlled by it. This is the state of a virtual camera that is enabled in the scene but perhaps at a lower + priority than the Live virtual camera. +* **Disabled**: The virtual camera is present but disabled in the scene. It is not actively tracking its targets and so + consumes no processing power. However, the virtual camera can be made live from the Timeline. + +The Unity Camera can be driven by any virtual camera in the scene. The game logic can choose the virtual camera to make +live by manipulating the virtual cameras' enabled flags and their priorities, based on game logic. + +In order to be driven by a virtual camera, the Unity Camera must have a CinemachineBrain behaviour, which will select +the most eligible virtual camera based on its priority or on other criteria, and will manage blending. + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|--------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **State** | CameraState | _[Get]_ The CameraState object holds all of the information necessary to position the Unity camera. It is the output of this class. | +| **LookAt** | Transform | _[Get,Set]_ Get the LookAt target for the Aim component in the CinemachinePipeline. If this vcam is a part of a meta-camera collection, then the owner's target will be used if the local target is null. | +| **Follow** | Transform | _[Get,Set]_ Get the Follow target for the Body component in the CinemachinePipeline. If this vcam is a part of a meta-camera collection, then the owner's target will be used if the local target is null. | +| **UserIsDragging** | Boolean | _[Get,Set]_ API for the editor, to make the dragging of position handles behave better. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------------------------|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_LookAt** | Transform | The object that the camera wants to look at (the Aim target). If this is null, then the vcam's Transform orientation will define the camera's orientation. | +| **m_Follow** | Transform | The object that the camera wants to move with (the Body target). If this is null, then the vcam's Transform position will define the camera's position. | +| **m_PositionBlending** | PositionBlendMethod | Hint for blending positions to and from this virtual camera.
_Possible Values:_
- **Linear**
- **Spherical**
- **Cylindrical**
| +| **m_Lens** | LensSettings | Specifies the lens properties of this Virtual Camera. This generally mirrors the Unity Camera's lens settings, and will be used to drive the Unity camera when the vcam is active. | +| **CinemachineGUIDebuggerCallback** | Action | This is deprecated. It is here to support the soon-to-be-removed Cinemachine Debugger in the Editor. | +| **m_ExcludedPropertiesInInspector** | String[] | Inspector control - Use for hiding sections of the Inspector UI. | +| **m_LockStageInInspector** | Stage[] | Inspector control - Use for enabling sections of the Inspector UI. | +| **m_Priority** | Int32 | The priority will determine which camera becomes active based on the state of other cameras and this camera. Higher numbers have greater priority. | + +#### Methods + +``virtual Void InternalUpdateCameraState(Vector3 worldUp, Single deltaTime)`` + +Internal use only. Do not call this method. Called by CinemachineCore at the appropriate Update time so the vcam can +position itself and track its targets. This class will invoke its pipeline and generate a CameraState for this frame. + +| _Param_ | _Type_ | _Description_ | +|---------------|---------|---------------| +| **worldUp** | Vector3 | | +| **deltaTime** | Single | | + +``protected virtual Void OnEnable()`` + +Make sure that the pipeline cache is up-to-date. + +``protected virtual Void OnDestroy()`` + +Calls the DestroyPipelineDelegate for destroying the hidden child object, to support undo. + +``protected virtual Void OnValidate()`` + +Enforce bounds for fields, when changed in inspector. + +``Void InvalidateComponentPipeline()`` + +Editor API: Call this when changing the pipeline from the editor. Will force a rebuild of the pipeline cache. + +``Transform GetComponentOwner()`` + +Get the hidden CinemachinePipeline child object. + +``CinemachineComponentBase[] GetComponentPipeline()`` + +Get the component pipeline owned by the hidden child pipeline container. For most purposes, it is preferable to use the +GetCinemachineComponent method. + +``CinemachineComponentBase GetCinemachineComponent(Stage stage)`` + +Get the component set for a specific stage. + +| _Param_ | _Type_ | _Description_ | +|-----------|--------|----------------------------------------------------------------------------------------------------------------------------------| +| **stage** | Stage | The stage for which we want the component.
_Possible Values:_
- **Body**
- **Aim**
- **Noise**
- **Finalize**
| + +_Returns:_ The Cinemachine component for that stage, or null if not defined. +``T GetCinemachineComponent[T]()`` + +Get an existing component of a specific type from the cinemachine pipeline. + +``T AddCinemachineComponent[T]()`` + +Add a component to the cinemachine pipeline. + +``Void DestroyCinemachineComponent[T]()`` + +Remove a component from the cinemachine pipeline. + +``virtual Void OnTargetObjectWarped(Transform target, Vector3 positionDelta)`` + +This is called to notify the vcam that a target got warped, so that the vcam can update its internal state to make the +camera also warp seamlessly. + +| _Param_ | _Type_ | _Description_ | +|-------------------|-----------|-------------------------------------------| +| **target** | Transform | The object that was warped. | +| **positionDelta** | Vector3 | The amount the target's position changed. | + +### LensSettings + +_Type:_ struct + +_Namespace:_ Cinemachine + +Describes the FOV and clip planes for a camera. This generally mirrors the Unity Camera's lens settings, and will be +used to drive the Unity camera when the vcam is active. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|----------------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **FieldOfView** | Single | This is the camera view in vertical degrees. For cinematic people, a 50mm lens on a super-35mm sensor would equal a 19.6 degree FOV. | +| **OrthographicSize** | Single | When using an orthographic camera, this defines the half-height, in world coordinates, of the camera view. | +| **NearClipPlane** | Single | This defines the near region in the renderable range of the camera frustum. Raising this value will stop the game from drawing things near the camera, which can sometimes come in handy. Larger values will also increase your shadow resolution. | +| **FarClipPlane** | Single | This defines the far region of the renderable range of the camera frustum. Typically you want to set this value as low as possible without cutting off desired distant objects. | +| **Dutch** | Single | Camera Z roll, or tilt, in degrees. | + +#### Methods + +``static LensSettings FromCamera(Camera fromCamera)`` + +Creates a new LensSettings, copying the values from the supplied Camera. + +| _Param_ | _Type_ | _Description_ | +|----------------|--------|-------------------------------------------------------------------------| +| **fromCamera** | Camera | The Camera from which the FoV, near and far clip planes will be copied. | + +``static LensSettings Lerp(LensSettings lensA, LensSettings lensB, Single t)`` + +Linearly blends the fields of two LensSettings and returns the result. + +| _Param_ | _Type_ | _Description_ | +|-----------|--------------|------------------------------------------------------------------| +| **lensA** | LensSettings | The LensSettings to blend from. | +| **lensB** | LensSettings | The LensSettings to blend to. | +| **t** | Single | The interpolation value. Internally clamped to the range [0,1]. | + +_Returns:_ Interpolated settings. +``Void Validate()`` + +Make sure lens settings are sane. Call this from OnValidate(). + +### NoiseSettings + +_Type:_ class + +_Namespace:_ Cinemachine + +_Inherits:_ ScriptableObject + +This is an asset that defines a noise profile. A noise profile is the shape of the noise as a function of time. You can +build arbitrarily complex shapes by combining different base perlin noise frequencies at different amplitudes. + +The frequencies and amplitudes should be chosen with care, to ensure an interesting noise quality that is not obviously +repetitive. + +As a mathematical side-note, any arbitrary periodic curve can be broken down into a series of fixed-amplitude sine-waves +added together. This is called fourier decomposition, and is the basis of much signal processing. It doesn't really have +much to do with this asset, but it's super interesting! + +#### Properties + +| _Name_ | _Type_ | _Description_ | +|----------------------|------------------------|------------------------------------------------------------------------------| +| **PositionNoise** | TransformNoiseParams[] | _[Get]_ Gets the array of positional noise channels for this NoiseSettings. | +| **OrientationNoise** | TransformNoiseParams[] | _[Get]_ Gets the array of orientation noise channels for this NoiseSettings. | + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|-------------------|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **m_Position** | TransformNoiseParams[] | These are the noise channels for the virtual camera's position. Convincing noise setups typically mix low, medium and high frequencies together, so start with a size of 3. | +| **m_Orientation** | TransformNoiseParams[] | These are the noise channels for the virtual camera's orientation. Convincing noise setups typically mix low, medium and high frequencies together, so start with a size of 3. | + +#### Methods + +``Void CopyFrom(NoiseSettings other)`` + +Clones the contents of the other asset into this one. + +| _Param_ | _Type_ | _Description_ | +|-----------|---------------|---------------| +| **other** | NoiseSettings | | + +``static Vector3 GetCombinedFilterResults(TransformNoiseParams[] noiseParams, Single time, Vector3 timeOffsets)`` + +Get the noise signal value at a specific time. + +| _Param_ | _Type_ | _Description_ | +|-----------------|------------------------|-------------------------------------------------| +| **noiseParams** | TransformNoiseParams[] | The parameters that define the noise function. | +| **time** | Single | The time at which to sample the noise function. | +| **timeOffsets** | Vector3 | Start time offset for each channel. | + +_Returns:_ The 3-channel noise signal value at the specified time. + +### NoiseSettings.NoiseParams + +_Type:_ struct + +_Namespace:_ Cinemachine + +Describes the behaviour for a channel of noise. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|---------------|--------|------------------------------------------------------------------------------| +| **Amplitude** | Single | The amplitude of the noise for this channel. Larger numbers vibrate higher. | +| **Frequency** | Single | The frequency of noise for this channel. Higher magnitudes vibrate faster. | + +### NoiseSettings.TransformNoiseParams + +_Type:_ struct + +_Namespace:_ Cinemachine + +Contains the behaviour of noise for the noise module for all 3 cardinal axes of the camera. + +#### Fields + +| _Name_ | _Type_ | _Description_ | +|--------|-------------|------------------------------| +| **X** | NoiseParams | Noise definition for X-axis. | +| **Y** | NoiseParams | Noise definition for Y-axis. | +| **Z** | NoiseParams | Noise definition for Z-axis. | + + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/handles.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/handles.md new file mode 100644 index 00000000..fbe63344 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/handles.md @@ -0,0 +1,72 @@ +# Cinemachine Scene Handles + +Cinemachine Scene Handles are a group of 3D controls that allow you to manipulate virtual camera parameters visually in +the Scene view. You can use the handle tools to interactively adjust the selected object's parameters quickly and +efficiently rather than controlling them via the inspector. + +Cinemachine Scene Handles automatically appear in the Scene view **toolbar overlay** when you select a type of virtual +camera with an associated handle. + +![scene-view](images/scene-view.png) + +## Types of Scene Handles + +The following four Cinemachine Handle tools are available in the toolbar: + +![handle-toolbar](images/handle-toolbar.png) + +**1. Field of View (FOV)** + +The FOV tool can adjust Vertical FOV, Horizontal FOV, Orthographic Size, or Focal Length depending on what's selected by +the user. It can control: + +* Vertical or Horizontal FOV (depending on the selection in the Main Camera) when the camera is in **Perspective** mode. +* Orthographic Size when the camera is in **Orthographic** mode. +* Focal length when the camera is in **Physical** mode. + +![FOV](images/FOV.png) + +For more information on the Field of View (FOV) property, +see [Setting Virtual Camera properties](CinemachineVirtualCamera.md). + +**2. Far/Near clip planes** + +* You can drag the points to increase the far clip plane and near clip plane. + +![clip-plane](images/clip-plane.png) + +For more information on the Far and Near clip plane properties, +see [Setting Virtual Camera properties](CinemachineVirtualCamera.md). + +**3. Follow offset** + +The Follow offset is an offset from the Follow Target. You can drag the points to increase or decrease the Follow offset +position. + +![follow-offset](images/follow-offset.png) + +For more information on the Follow offset property, +see [Orbital Transposer properties](CinemachineBodyOrbitalTransposer.md). + +**4. Tracked object offset** + +This starts from where the camera is placed. You can drag the points to increase or decrease the tracking target +position when the desired area isn't the tracked object’s center. + +![tracked-object-offset](images/tracked-object-offset.png) + +For more information on the Tracked object offset property, see [Composer properties](CinemachineAimComposer.md). + +## Cinemachine tool settings + +Cinemachine tool settings are automatically displayed when a Free Look camera is selected. These settings allow you to +adjust the position of the three separate camera rigs: **Top**, **Middle**, and **Bottom**. + +![overlays-menu](images/overlays-menu.png) + +For more information, see [Cinemachine Free Look Camera](CinemachineFreeLook.md). + +To deactivate the Cinemachine tool settings for a Free Look camera: + +1. Right-click on the **Scene** tab in the Scene view. +2. Select **Overlays** and then **Cinemachine tools** from the pop-up menu. diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/2Dpixelperfect_ex.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/2Dpixelperfect_ex.png new file mode 100644 index 00000000..92d50f87 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/2Dpixelperfect_ex.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/3rdPersonFollow.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/3rdPersonFollow.png new file mode 100644 index 00000000..8df73dbd Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/3rdPersonFollow.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CMShoulderOffsetexample.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CMShoulderOffsetexample.png new file mode 100644 index 00000000..d84ca2f9 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CMShoulderOffsetexample.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CMVerticalDistanceexample.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CMVerticalDistanceexample.png new file mode 100644 index 00000000..f858f6f1 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CMVerticalDistanceexample.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CineMachineStoryboard.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CineMachineStoryboard.png new file mode 100644 index 00000000..cb7a65f2 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CineMachineStoryboard.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineAim.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineAim.png new file mode 100644 index 00000000..d9283a6b Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineAim.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineAimingRigHighlight.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineAimingRigHighlight.png new file mode 100644 index 00000000..b4191693 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineAimingRigHighlight.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineAssetStore.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineAssetStore.png new file mode 100644 index 00000000..f657b239 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineAssetStore.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineBasicMultiChannelPerlin.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineBasicMultiChannelPerlin.png new file mode 100644 index 00000000..19dcc1bf Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineBasicMultiChannelPerlin.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineBody.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineBody.png new file mode 100644 index 00000000..e7a28764 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineBody.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineBrain.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineBrain.png new file mode 100644 index 00000000..fe790d62 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineBrain.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineConfiner2D.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineConfiner2D.png new file mode 100644 index 00000000..9d7b6df7 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineConfiner2D.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineConfiner2Db.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineConfiner2Db.png new file mode 100644 index 00000000..d529b589 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineConfiner2Db.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineConfiner2Dc.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineConfiner2Dc.png new file mode 100644 index 00000000..d529b589 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineConfiner2Dc.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineCustomBlends.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineCustomBlends.png new file mode 100644 index 00000000..17e957d7 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineCustomBlends.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineFreeLookProperties.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineFreeLookProperties.png new file mode 100644 index 00000000..2ba1bde1 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineFreeLookProperties.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineFreelook.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineFreelook.png new file mode 100644 index 00000000..13c32e19 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineFreelook.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineGameWindowGuides.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineGameWindowGuides.png new file mode 100644 index 00000000..224c4e14 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineGameWindowGuides.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineInputProvider.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineInputProvider.png new file mode 100644 index 00000000..536c4947 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineInputProvider.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineIntroImage.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineIntroImage.png new file mode 100644 index 00000000..07350212 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineIntroImage.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineMenu.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineMenu.png new file mode 100644 index 00000000..2157615d Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineMenu.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineMixingCamera.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineMixingCamera.png new file mode 100644 index 00000000..1875361c Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineMixingCamera.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineMixingCameraChildren.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineMixingCameraChildren.png new file mode 100644 index 00000000..83b65cdd Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineMixingCameraChildren.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineNewVCam.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineNewVCam.png new file mode 100644 index 00000000..b149149c Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineNewVCam.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineNoiseProfile.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineNoiseProfile.png new file mode 100644 index 00000000..fcfd95e6 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineNoiseProfile.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineNoiseProfileb.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineNoiseProfileb.png new file mode 100644 index 00000000..08664821 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineNoiseProfileb.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineOrbitalTransposer.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineOrbitalTransposer.png new file mode 100644 index 00000000..a431521a Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineOrbitalTransposer.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachinePackage.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachinePackage.png new file mode 100644 index 00000000..0336dc68 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachinePackage.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachinePathInspector.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachinePathInspector.png new file mode 100644 index 00000000..0e5eb2ec Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachinePathInspector.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachinePathScene.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachinePathScene.png new file mode 100644 index 00000000..e86d2e32 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachinePathScene.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineRig.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineRig.png new file mode 100644 index 00000000..aa4ae0d5 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineRig.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineRigGameViewExample.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineRigGameViewExample.png new file mode 100644 index 00000000..448520a4 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineRigGameViewExample.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineRigSceneView.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineRigSceneView.png new file mode 100644 index 00000000..c1202dc1 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineRigSceneView.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineSceneHierarchy.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineSceneHierarchy.png new file mode 100644 index 00000000..f4dc8624 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineSceneHierarchy.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineSplash.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineSplash.png new file mode 100644 index 00000000..e95236f3 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineSplash.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineStateDrivenCamera.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineStateDrivenCamera.png new file mode 100644 index 00000000..bf437d7c Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineStateDrivenCamera.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineStateDrivenChildren.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineStateDrivenChildren.png new file mode 100644 index 00000000..c907b40d Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineStateDrivenChildren.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineTargetGroup.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineTargetGroup.png new file mode 100644 index 00000000..0b4605a2 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineTargetGroup.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineTimelineShotClips.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineTimelineShotClips.png new file mode 100644 index 00000000..0c4f8c2b Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineTimelineShotClips.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineVCamProperties.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineVCamProperties.png new file mode 100644 index 00000000..44fc36f8 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/CinemachineVCamProperties.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/DissipationRate.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/DissipationRate.png new file mode 100644 index 00000000..9d982a9e Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/DissipationRate.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/FOV.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/FOV.png new file mode 100644 index 00000000..a3395e8b Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/FOV.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/FixedSignalEditor.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/FixedSignalEditor.png new file mode 100644 index 00000000..78efb788 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/FixedSignalEditor.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/GenerateImpulse.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/GenerateImpulse.png new file mode 100644 index 00000000..ce91656b Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/GenerateImpulse.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseCollision.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseCollision.png new file mode 100644 index 00000000..6d8fd200 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseCollision.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseGraphEditor.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseGraphEditor.png new file mode 100644 index 00000000..b32241dc Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseGraphEditor.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseHammerStrike.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseHammerStrike.png new file mode 100644 index 00000000..e74166cd Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseHammerStrike.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseListener.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseListener.png new file mode 100644 index 00000000..0108c69f Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseListener.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseOverview.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseOverview.png new file mode 100644 index 00000000..72a16dd3 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseOverview.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulsePicture.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulsePicture.png new file mode 100644 index 00000000..e59f28ba Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulsePicture.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseShape.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseShape.png new file mode 100644 index 00000000..eb0fdc99 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseShape.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseShapeCustom.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseShapeCustom.png new file mode 100644 index 00000000..77ed0846 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseShapeCustom.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseSpatialRange.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseSpatialRange.png new file mode 100644 index 00000000..56eb466f Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseSpatialRange.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseType.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseType.png new file mode 100644 index 00000000..02812858 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/ImpulseType.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorCollisionImpulseSource.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorCollisionImpulseSource.png new file mode 100644 index 00000000..ee6c79d2 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorCollisionImpulseSource.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorFixedSignalTiles.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorFixedSignalTiles.png new file mode 100644 index 00000000..77109ecf Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorFixedSignalTiles.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseChannelsScript.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseChannelsScript.png new file mode 100644 index 00000000..7bfb5d24 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseChannelsScript.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseCollisionSourceChannel.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseCollisionSourceChannel.png new file mode 100644 index 00000000..85d7054c Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseCollisionSourceChannel.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseListener.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseListener.png new file mode 100644 index 00000000..0b5f626d Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseListener.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseListenerChannelsMenu.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseListenerChannelsMenu.png new file mode 100644 index 00000000..2d681d72 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseListenerChannelsMenu.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSource.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSource.png new file mode 100644 index 00000000..f4b6ebb2 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSource.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceChannel.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceChannel.png new file mode 100644 index 00000000..353f89b4 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceChannel.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceChannelsMenu.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceChannelsMenu.png new file mode 100644 index 00000000..3186edcb Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceChannelsMenu.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceHowToGenerate.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceHowToGenerate.png new file mode 100644 index 00000000..07663a9d Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceHowToGenerate.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourcePresetsGear.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourcePresetsGear.png new file mode 100644 index 00000000..2b7c5ebc Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourcePresetsGear.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceRawSignalMenu.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceRawSignalMenu.png new file mode 100644 index 00000000..fdc1a0d7 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceRawSignalMenu.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceSignal.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceSignal.png new file mode 100644 index 00000000..a17b3ac7 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceSignal.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceSpatialRange.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceSpatialRange.png new file mode 100644 index 00000000..9dbbc223 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceSpatialRange.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceTimeEnvelope.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceTimeEnvelope.png new file mode 100644 index 00000000..166fa5f5 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceTimeEnvelope.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceTriggerObject.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceTriggerObject.png new file mode 100644 index 00000000..7b90465e Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseSourceTriggerObject.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseTimeEnvelope.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseTimeEnvelope.png new file mode 100644 index 00000000..dff018a4 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorImpulseTimeEnvelope.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorNoiseProfile.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorNoiseProfile.png new file mode 100644 index 00000000..b8a795c2 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/InspectorNoiseProfile.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/TriggerObjectFilter.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/TriggerObjectFilter.png new file mode 100644 index 00000000..8c77ff20 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/TriggerObjectFilter.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/clip-plane.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/clip-plane.png new file mode 100644 index 00000000..fa8e6097 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/clip-plane.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-pitch45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-pitch45.png new file mode 100644 index 00000000..d0dfbbe8 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-pitch45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-roll45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-roll45.png new file mode 100644 index 00000000..a4cdebf2 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-roll45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-start.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-start.png new file mode 100644 index 00000000..fd288407 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-start.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-yaw45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-yaw45.png new file mode 100644 index 00000000..5be426b6 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-no-roll-yaw45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-pitch45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-pitch45.png new file mode 100644 index 00000000..3771c21b Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-pitch45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-roll45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-roll45.png new file mode 100644 index 00000000..48b64414 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-roll45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-start.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-start.png new file mode 100644 index 00000000..0825c91d Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-start.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-yaw45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-yaw45.png new file mode 100644 index 00000000..1b0a199b Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-on-assign-yaw45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-pitch45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-pitch45.png new file mode 100644 index 00000000..bd273b99 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-pitch45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-roll45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-roll45.png new file mode 100644 index 00000000..e25bebb1 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-roll45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-start.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-start.png new file mode 100644 index 00000000..07700d83 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-start.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-pitch45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-pitch45.png new file mode 100644 index 00000000..b3b69e90 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-pitch45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-roll45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-roll45.png new file mode 100644 index 00000000..778e0ff0 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-roll45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-start.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-start.png new file mode 100644 index 00000000..0961ccdc Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-start.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-yaw45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-yaw45.png new file mode 100644 index 00000000..ecaf64a1 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-world-up-yaw45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-yaw45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-yaw45.png new file mode 100644 index 00000000..cadfd22a Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-lock-target-yaw45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-pitch45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-pitch45.png new file mode 100644 index 00000000..cef89de5 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-pitch45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-roll45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-roll45.png new file mode 100644 index 00000000..c32b70e3 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-roll45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-start.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-start.png new file mode 100644 index 00000000..636e6da6 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-start.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-yaw45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-yaw45.png new file mode 100644 index 00000000..305b14b0 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-simple-follow-world-up-yaw45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-pitch45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-pitch45.png new file mode 100644 index 00000000..afc60392 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-pitch45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-roll45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-roll45.png new file mode 100644 index 00000000..2849542e Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-roll45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-start.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-start.png new file mode 100644 index 00000000..5f7672ca Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-start.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-yaw45.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-yaw45.png new file mode 100644 index 00000000..2dea07c1 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/cm-binding-mode-world-space-yaw45.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/follow-offset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/follow-offset.png new file mode 100644 index 00000000..897a9297 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/follow-offset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/handle-toolbar.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/handle-toolbar.png new file mode 100644 index 00000000..fece5bea Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/handle-toolbar.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/overlays-menu.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/overlays-menu.png new file mode 100644 index 00000000..05c74072 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/overlays-menu.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/scene-view.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/scene-view.png new file mode 100644 index 00000000..b09bd504 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/scene-view.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/tracked-object-offset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/tracked-object-offset.png new file mode 100644 index 00000000..78052873 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/images/tracked-object-offset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/index.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/index.md new file mode 100644 index 00000000..a9826e9c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Documentation~/index.md @@ -0,0 +1,59 @@ +# About Cinemachine + +![Unity Cinemachine](images/CinemachineSplash.png) + +Cinemachine is a suite of modules for operating the Unity camera. Cinemachine solves the complex mathematics and logic +of tracking targets, composing, blending, and cutting between shots. It is designed to significantly reduce the number +of time-consuming manual manipulations and script revisions that take place during development. + +The procedural nature of these modules makes Cinemachine bug-resistant. When you make adjustments—for example, change an +animation, vehicle speed, terrain, or other GameObjects in your Scene—Cinemachine dynamically adjusts its behavior to +make the best shot. There is no need, for example, to re-write camera scripts just because a character turns left +instead of right. + +Cinemachine works in real time across all genres including FPS, third person, 2D, side-scroller, top down, and RTS. It +supports as many shots in your Scene as you need. Its modular system lets you compose sophisticated behaviors. + +Cinemachine works well with other Unity tools, acting as a powerful complement to Timeline, animation, and +post-processing assets. Create your own [extensions](CinemachineVirtualCameraExtensions.md) or integrate it with your +custom camera scripts. + +## Installing Cinemachine + +Cinemachine is a free package, available for any project. You install Cinemachine +like [any other package](https://docs.unity3d.com/Packages/com.unity.package-manager-ui@latest/index.html). + +After you install Cinemachine, a new *Cinemachine* folder appears in the Gizmos folder of your Project window, and a new +__GameObject > Cinemachine__ menu is available. You can also access this menu when you right click inside the Hierarchy +view. + +![Cinemachine menu in the Unity Editor](images/CinemachineMenu.png) + +## Requirements + +Cinemachine has no external dependencies. Just install it and start using it. If you are also using the Post Processing +Stack (version 2), then adapter modules are provided - protected by `ifdef` directives which auto-define if the presence +of the Post Processing Stack is detected. + +There are similar `ifdef`-protected behaviours for other packages, such as HDRP Volumes, Timeline, and Pixel-Perfect. + +This version of Cinemachine is supported by the following versions of the Unity Editor: + +* 2019.4+ and later + +### Upgrading from the Cinemachine Asset Package + +If you already installed Cinemachine from the Unity Asset Store, you can upgrade to the Cinemachine Package. + +To upgrade to the Cinemachine Package: + +1. In Unity Editor, 2019.4+ or later, open your project. + +2. Save the current Scene you are working on. + +3. Create a new, empty Scene. + +4. In the [Project window](https://docs.unity3d.com/Manual/ProjectView.html), delete the Cinemachine Asset and any + CinemachinePostProcessing adaptor assets you may have installed. + +5. Install the Cinemachine package. \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor.meta new file mode 100644 index 00000000..ac430f15 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b46f22104d80d4c4e8d58f046ed45054 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources.meta new file mode 100644 index 00000000..9328714e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1112226500c624c40a5a3e75030be2f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.compute b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.compute new file mode 100644 index 00000000..9c9e2b4d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.compute @@ -0,0 +1,60 @@ +#include "StdLib.hlsl" + +RWStructuredBuffer _WaveformBuffer; +Texture2D _Source; +SamplerState sampler_Source; + +cbuffer name +{ + float4 _Params; // x: source width, y: source height, z: linear, w: histogramResolution +}; + +#if defined SHADER_API_GLES3 + #define GROUP_SIZE 128 + #define GROUP_SIZE_X 16 + #define GROUP_SIZE_Y 8 +#else + #define GROUP_SIZE 256 + #define GROUP_SIZE_X 16 + #define GROUP_SIZE_Y 16 +#endif + +half3 LinearToSRGB(half3 c) +{ + half3 sRGBLo = c * 12.92; + half3 sRGBHi = (PositivePow(c, half3(1.0 / 2.4, 1.0 / 2.4, 1.0 / 2.4)) * 1.055) - 0.055; + half3 sRGB = (c <= 0.0031308) ? sRGBLo : sRGBHi; + return sRGB; +} + +#pragma kernel KCMWaveformGather +[numthreads(1, GROUP_SIZE, 1)] +void KCMWaveformGather(uint2 dispatchThreadId : SV_DispatchThreadID) +{ + // Gather local group histogram + if (dispatchThreadId.x < uint(_Params.x) && dispatchThreadId.y < uint(_Params.y)) + { + float3 color = _Source[dispatchThreadId].rgb; + color = saturate(color); + + // We want a gamma-corrected histogram (like Photoshop & all) + if (_Params.z > 0) + color = LinearToSRGB(color); + + // Convert channel values to histogram bins + uint3 idx = (uint3)(round(color * (_Params.w - 1))); + idx += dispatchThreadId.x * _Params.w; + + if (idx.x > 0u) InterlockedAdd(_WaveformBuffer[idx.x].x, 1u); // Red + if (idx.y > 0u) InterlockedAdd(_WaveformBuffer[idx.y].y, 1u); // Green + if (idx.z > 0u) InterlockedAdd(_WaveformBuffer[idx.z].z, 1u); // Blue + } +} + +#pragma kernel KCMWaveformClear +[numthreads(GROUP_SIZE_X, GROUP_SIZE_Y, 1)] +void KCMWaveformClear(uint2 dispatchThreadId : SV_DispatchThreadID) +{ + if (dispatchThreadId.x < uint(_Params.x) && dispatchThreadId.y < uint(_Params.w)) + _WaveformBuffer[dispatchThreadId.y * uint(_Params.x) + dispatchThreadId.x] = uint4(0u, 0u, 0u, 0u); +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.compute.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.compute.meta new file mode 100644 index 00000000..c52d56ab --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.compute.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6dd3f00b9032de54c8784df7bdc6fdf8 +timeCreated: 1517591688 +licenseType: Pro +ComputeShaderImporter: + externalObjects: {} + currentAPIMask: 4 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.shader b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.shader new file mode 100644 index 00000000..4e640789 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.shader @@ -0,0 +1,57 @@ +Shader "CMWaveform" +{ + HLSLINCLUDE + + #pragma target 4.5 + #include "StdLib.hlsl" + + StructuredBuffer _WaveformBuffer; + float3 _Params; // x: buffer width, y: buffer height, z: exposure, w: unused + + float3 Tonemap(float3 x, float exposure) + { + const float a = 6.2; + const float b = 0.5; + const float c = 1.7; + const float d = 0.06; + x *= exposure; + x = max((0.0).xxx, x - (0.004).xxx); + x = (x * (a * x + b)) / (x * (a * x + c) + d); + return x * x; + } + + float4 Frag(VaryingsDefault i) : SV_Target + { + const float3 red = float3(1.4, 0.03, 0.02); + const float3 green = float3(0.02, 1.1, 0.05); + const float3 blue = float3(0.0, 0.25, 1.5); + float3 color = float3(0.0, 0.0, 0.0); + + uint2 uvI = i.vertex.xy; + float3 w = _WaveformBuffer[uvI.x * _Params.y + uvI.y].xyz; + + color += red * w.r; + color += green * w.g; + color += blue * w.b; + color = Tonemap(color, _Params.z); + + return float4(saturate(color), 1.0); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.shader.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.shader.meta new file mode 100644 index 00000000..2142f5e8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/CMWaveform.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e4e5d566a8aa9914c906555a6857fcb9 +timeCreated: 1517591688 +licenseType: Pro +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Cinemachine_header.tif b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Cinemachine_header.tif new file mode 100644 index 00000000..30b5272d Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Cinemachine_header.tif differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Cinemachine_header.tif.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Cinemachine_header.tif.meta new file mode 100644 index 00000000..df6ada0f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Cinemachine_header.tif.meta @@ -0,0 +1,74 @@ +fileFormatVersion: 2 +guid: 372fe04232d5ed94d8d71524616c1543 +timeCreated: 1503608963 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles.meta new file mode 100644 index 00000000..68dfd792 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fae74d622a2c6434f9c597a6bbde0140 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected.meta new file mode 100644 index 00000000..35121817 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e325619dfd3c438a8b622eec81fe341 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FOV.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FOV.png new file mode 100644 index 00000000..ca34c903 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FOV.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FOV.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FOV.png.meta new file mode 100644 index 00000000..418e7727 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FOV.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 321dd32fc6122420299d8fb7978c77cc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FarNearClip.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FarNearClip.png new file mode 100644 index 00000000..d16cae3d Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FarNearClip.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FarNearClip.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FarNearClip.png.meta new file mode 100644 index 00000000..0a4a6c95 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FarNearClip.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 3438c1a20bf054a9f987a531b43f0a08 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FollowOffset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FollowOffset.png new file mode 100644 index 00000000..7f1fd0dc Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FollowOffset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FollowOffset.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FollowOffset.png.meta new file mode 100644 index 00000000..dd97a5a2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/FollowOffset.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 176778e4c3a9640d8aca4ca14b80aefd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/TrackedObjectOffset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/TrackedObjectOffset.png new file mode 100644 index 00000000..4e8e4d49 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/TrackedObjectOffset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/TrackedObjectOffset.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/TrackedObjectOffset.png.meta new file mode 100644 index 00000000..71d7d828 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark-Selected/TrackedObjectOffset.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: abf5fad07c5e3473192deab2278caf13 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark.meta new file mode 100644 index 00000000..d80b2c57 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 091323c914fdf4a39a5d1555432e0289 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FOV.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FOV.png new file mode 100644 index 00000000..74266ca0 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FOV.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FOV.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FOV.png.meta new file mode 100644 index 00000000..73864af4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FOV.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: e19681a513069400aa38220f89283d8d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FarNearClip.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FarNearClip.png new file mode 100644 index 00000000..a24886ea Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FarNearClip.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FarNearClip.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FarNearClip.png.meta new file mode 100644 index 00000000..60d44eb5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FarNearClip.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: ada37388502cc47db96a985a8eeca2c1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FollowOffset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FollowOffset.png new file mode 100644 index 00000000..8b367d75 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FollowOffset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FollowOffset.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FollowOffset.png.meta new file mode 100644 index 00000000..c809694a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/FollowOffset.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 9e355d6040d494ded95f7b8bd325e899 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/TrackedObjectOffset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/TrackedObjectOffset.png new file mode 100644 index 00000000..f148fc96 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/TrackedObjectOffset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/TrackedObjectOffset.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/TrackedObjectOffset.png.meta new file mode 100644 index 00000000..8b435404 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Dark/TrackedObjectOffset.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 1edfbc3a6b2e0423483a2af98a4bb746 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigBottom.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigBottom.png new file mode 100644 index 00000000..b854165f Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigBottom.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigBottom.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigBottom.png.meta new file mode 100644 index 00000000..089165e0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigBottom.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 500ec004d017c47f0a8ac54fcdfcc55c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigMiddle.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigMiddle.png new file mode 100644 index 00000000..312b291c Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigMiddle.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigMiddle.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigMiddle.png.meta new file mode 100644 index 00000000..d132e99e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigMiddle.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 00a6f4168c1f24f9383a7cdbf9cb484d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigTop.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigTop.png new file mode 100644 index 00000000..968f8974 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigTop.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigTop.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigTop.png.meta new file mode 100644 index 00000000..25685ccb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/FreelookRigTop.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 73aa031d2843e47a3a18d390a8ce7c22 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected.meta new file mode 100644 index 00000000..51143386 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7ca46c830e1d423ea223bfb97d614eb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FOV.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FOV.png new file mode 100644 index 00000000..ca34c903 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FOV.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FOV.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FOV.png.meta new file mode 100644 index 00000000..36ee9e69 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FOV.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: caaef75bbc86548719301167f1fff52b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FarNearClip.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FarNearClip.png new file mode 100644 index 00000000..d16cae3d Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FarNearClip.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FarNearClip.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FarNearClip.png.meta new file mode 100644 index 00000000..3c81b99b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FarNearClip.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 741a8111b35484dd283a7008a3a8373b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FollowOffset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FollowOffset.png new file mode 100644 index 00000000..7f1fd0dc Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FollowOffset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FollowOffset.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FollowOffset.png.meta new file mode 100644 index 00000000..b4063a14 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/FollowOffset.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: cb2ae02bbb5ba42b8890f2b3d7b153a6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/TrackedObjectOffset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/TrackedObjectOffset.png new file mode 100644 index 00000000..4e8e4d49 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/TrackedObjectOffset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/TrackedObjectOffset.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/TrackedObjectOffset.png.meta new file mode 100644 index 00000000..433e886d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light-Selected/TrackedObjectOffset.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: c43a523f221264730a86d6095aae8153 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light.meta new file mode 100644 index 00000000..2bcee830 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 869dbd005b74b458fb4c14ea0dcfd0ba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FOV.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FOV.png new file mode 100644 index 00000000..e15af187 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FOV.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FOV.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FOV.png.meta new file mode 100644 index 00000000..629352d1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FOV.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 2298d7737762c4efbbac29ffd335454a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FarNearClip.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FarNearClip.png new file mode 100644 index 00000000..cd76ec98 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FarNearClip.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FarNearClip.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FarNearClip.png.meta new file mode 100644 index 00000000..999c4dc9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FarNearClip.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 22b1f48a2b5804151ae7f1171cc64c8c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FollowOffset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FollowOffset.png new file mode 100644 index 00000000..a1279833 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FollowOffset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FollowOffset.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FollowOffset.png.meta new file mode 100644 index 00000000..f66b168a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/FollowOffset.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 7cd5c9cd9de00488ebbdd134c8a20a40 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/TrackedObjectOffset.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/TrackedObjectOffset.png new file mode 100644 index 00000000..f16dfb1e Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/TrackedObjectOffset.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/TrackedObjectOffset.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/TrackedObjectOffset.png.meta new file mode 100644 index 00000000..a123a806 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/Handles/Light/TrackedObjectOffset.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: b880c0b2ad1ba404391179484fbf51bf +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/PostProcessLayer.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/PostProcessLayer.png new file mode 100644 index 00000000..c0a61de7 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/PostProcessLayer.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/PostProcessLayer.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/PostProcessLayer.png.meta new file mode 100644 index 00000000..5588fe95 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/PostProcessLayer.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: ba6fb66d108240a4a98dea11660dc646 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/SceneToolsLabelBackground.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/SceneToolsLabelBackground.png new file mode 100644 index 00000000..b124d88b Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/SceneToolsLabelBackground.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/SceneToolsLabelBackground.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/SceneToolsLabelBackground.png.meta new file mode 100644 index 00000000..e1f2bae0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/SceneToolsLabelBackground.png.meta @@ -0,0 +1,98 @@ +fileFormatVersion: 2 +guid: 5ca5d3d4919ce4b4bbbc4e3c67bf6320 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/StdLib.hlsl b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/StdLib.hlsl new file mode 100644 index 00000000..4cd863f0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/StdLib.hlsl @@ -0,0 +1,63 @@ +// Subset of PostProcessing's stdlib.hlsl + +#ifndef UNITY_CMWAVEFORM_STDLIB +#define UNITY_CMWAVEFORM_STDLIB + +const float _RenderViewportScaleFactor = 1; + +#define FLT_EPSILON 1.192092896e-07 // Smallest positive number, such that 1.0 + FLT_EPSILON != 1.0 + +float3 PositivePow(float3 base, float3 power) +{ + return pow(max(abs(base), float3(FLT_EPSILON, FLT_EPSILON, FLT_EPSILON)), power); +} + +#if defined(UNITY_SINGLE_PASS_STEREO) +float2 TransformStereoScreenSpaceTex(float2 uv, float w) +{ + float4 scaleOffset = unity_StereoScaleOffset[unity_StereoEyeIndex]; + scaleOffset.xy *= _RenderViewportScaleFactor; + return uv.xy * scaleOffset.xy + scaleOffset.zw * w; +} +#else +float2 TransformStereoScreenSpaceTex(float2 uv, float w) +{ + return uv * _RenderViewportScaleFactor; +} +#endif + +// Vertex manipulation +float2 TransformTriangleVertexToUV(float2 vertex) +{ + float2 uv = (vertex + 1.0) * 0.5; + return uv; +} + +struct AttributesDefault +{ + float3 vertex : POSITION; +}; + +struct VaryingsDefault +{ + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + float2 texcoordStereo : TEXCOORD1; +}; + +VaryingsDefault VertDefault(AttributesDefault v) +{ + VaryingsDefault o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy); + +#if UNITY_UV_STARTS_AT_TOP + o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); +#endif + + o.texcoordStereo = TransformStereoScreenSpaceTex(o.texcoord, 1.0); + + return o; +} + +#endif // UNITY_CMWAVEFORM_STDLIB diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/StdLib.hlsl.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/StdLib.hlsl.meta new file mode 100644 index 00000000..791b28ba --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/StdLib.hlsl.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f34d110791e602a418f182fbec6b699d +timeCreated: 1517597295 +licenseType: Pro +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/cm_logo_sm.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/cm_logo_sm.png new file mode 100644 index 00000000..47f19039 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/cm_logo_sm.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/cm_logo_sm.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/cm_logo_sm.png.meta new file mode 100644 index 00000000..2fe92a72 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/EditorResources/cm_logo_sm.png.meta @@ -0,0 +1,82 @@ +fileFormatVersion: 2 +guid: 5f2a108eb023faf43a809979fd3d38f2 +timeCreated: 1481660562 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 1 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors.meta new file mode 100644 index 00000000..77eabb3e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6b46e8ffe448f084ab12938cb774d063 +folderAsset: yes +timeCreated: 1489096338 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/Cinemachine3rdPersonFollowEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/Cinemachine3rdPersonFollowEditor.cs new file mode 100644 index 00000000..aad4113a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/Cinemachine3rdPersonFollowEditor.cs @@ -0,0 +1,173 @@ +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(Cinemachine3rdPersonFollow))] + [CanEditMultipleObjects] + internal class Cinemachine3rdPersonFollowEditor : BaseEditor + { + [DrawGizmo(GizmoType.Active | GizmoType.Selected, typeof(Cinemachine3rdPersonFollow))] + static void Draw3rdPersonGizmos(Cinemachine3rdPersonFollow target, GizmoType selectionType) + { + if (target.IsValid) + { + var isLive = CinemachineCore.Instance.IsLive(target.VirtualCamera); + Color originalGizmoColour = Gizmos.color; + Gizmos.color = isLive + ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour + : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour; + + target.GetRigPositions(out Vector3 root, out Vector3 shoulder, out Vector3 hand); + Gizmos.DrawLine(root, shoulder); + Gizmos.DrawLine(shoulder, hand); + Gizmos.DrawSphere(root, 0.02f); + Gizmos.DrawSphere(shoulder, 0.02f); +#if CINEMACHINE_PHYSICS + Gizmos.DrawSphere(hand, target.CameraRadius); + + if (isLive) + Gizmos.color = CinemachineSettings.CinemachineCoreSettings.BoundaryObjectGizmoColour; + + Gizmos.DrawSphere(target.VirtualCamera.State.RawPosition, target.CameraRadius); +#endif + + Gizmos.color = originalGizmoColour; + } + } + + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as Cinemachine3rdPersonFollow).FollowTarget == null; + if (needWarning) + EditorGUILayout.HelpBox( + "3rd Person Follow requires a Follow Target. Change Body to Do Nothing if you don't want a Follow target.", + MessageType.Warning); + DrawRemainingPropertiesInInspector(); + } + +#if UNITY_2021_2_OR_NEWER + protected virtual void OnEnable() + { + CinemachineSceneToolUtility.RegisterTool(typeof(FollowOffsetTool)); + } + + protected virtual void OnDisable() + { + CinemachineSceneToolUtility.UnregisterTool(typeof(FollowOffsetTool)); + } + + void OnSceneGUI() + { + DrawSceneTools(); + } + + void DrawSceneTools() + { + var thirdPerson = Target; + if (thirdPerson == null || !thirdPerson.IsValid) + { + return; + } + + if (CinemachineSceneToolUtility.IsToolActive(typeof(FollowOffsetTool))) + { + var originalColor = Handles.color; + + thirdPerson.GetRigPositions(out var followTargetPosition, out var shoulderPosition, + out var armPosition); + var followTargetRotation = thirdPerson.FollowTargetRotation; + var targetForward = followTargetRotation * Vector3.forward; + var heading = Cinemachine3rdPersonFollow.GetHeading( + followTargetRotation, thirdPerson.VirtualCamera.State.ReferenceUp); + + EditorGUI.BeginChangeCheck(); + // shoulder handle +#if UNITY_2022_2_OR_NEWER + var sHandleIds = Handles.PositionHandleIds.@default; + var newShoulderPosition = Handles.PositionHandle(sHandleIds, shoulderPosition, heading); + var sHandleMinId = sHandleIds.x - 1; + var sHandleMaxId = sHandleIds.xyz + 1; +#else + var sHandleMinId = GUIUtility.GetControlID(FocusType.Passive); + var newShoulderPosition = Handles.PositionHandle(shoulderPosition, heading); + var sHandleMaxId = GUIUtility.GetControlID(FocusType.Passive); +#endif + + Handles.color = Handles.preselectionColor; + // arm handle + var followUp = followTargetRotation * Vector3.up; + var aHandleId = GUIUtility.GetControlID(FocusType.Passive); + var newArmPosition = Handles.Slider(aHandleId, armPosition, followUp, + CinemachineSceneToolHelpers.CubeHandleCapSize(armPosition), Handles.CubeHandleCap, 0.5f); + + // cam distance handle + var camDistance = thirdPerson.CameraDistance; + var camPos = armPosition - targetForward * camDistance; + var cdHandleId = GUIUtility.GetControlID(FocusType.Passive); + var newCamPos = Handles.Slider(cdHandleId, camPos, targetForward, + CinemachineSceneToolHelpers.CubeHandleCapSize(camPos), Handles.CubeHandleCap, 0.5f); + if (EditorGUI.EndChangeCheck()) + { + // Modify via SerializedProperty for OnValidate to get called automatically, and scene repainting too + var so = new SerializedObject(thirdPerson); + + var shoulderOffset = so.FindProperty(() => thirdPerson.ShoulderOffset); + shoulderOffset.vector3Value += + CinemachineSceneToolHelpers.PositionHandleDelta(heading, newShoulderPosition, shoulderPosition); + var verticalArmLength = so.FindProperty(() => thirdPerson.VerticalArmLength); + verticalArmLength.floatValue += + CinemachineSceneToolHelpers.SliderHandleDelta(newArmPosition, armPosition, followUp); + var cameraDistance = so.FindProperty(() => thirdPerson.CameraDistance); + cameraDistance.floatValue -= + CinemachineSceneToolHelpers.SliderHandleDelta(newCamPos, camPos, targetForward); + + so.ApplyModifiedProperties(); + } + + var isDragged = IsHandleDragged(sHandleMinId, sHandleMaxId, shoulderPosition, "Shoulder Offset " + + thirdPerson.ShoulderOffset.ToString("F1"), followTargetPosition, shoulderPosition); + isDragged |= IsHandleDragged(aHandleId, aHandleId, armPosition, "Vertical Arm Length (" + + thirdPerson.VerticalArmLength.ToString("F1") + ")", shoulderPosition, armPosition); + isDragged |= IsHandleDragged(cdHandleId, cdHandleId, camPos, "Camera Distance (" + + camDistance.ToString("F1") + ")", armPosition, camPos); + + CinemachineSceneToolHelpers.SoloOnDrag(isDragged, thirdPerson.VirtualCamera, sHandleMaxId); + + Handles.color = originalColor; + } + + // local function that draws label and guide lines, and returns true if a handle has been dragged + static bool IsHandleDragged + (int handleMinId, int handleMaxId, Vector3 labelPos, string text, Vector3 lineStart, Vector3 lineEnd) + { + bool handleIsDragged; + bool handleIsDraggedOrHovered; + if (handleMinId == handleMaxId) { + handleIsDragged = GUIUtility.hotControl == handleMinId; + handleIsDraggedOrHovered = handleIsDragged || HandleUtility.nearestControl == handleMinId; + } + else + { + handleIsDragged = handleMinId < GUIUtility.hotControl && GUIUtility.hotControl < handleMaxId; + handleIsDraggedOrHovered = handleIsDragged || + (handleMinId < HandleUtility.nearestControl && HandleUtility.nearestControl < handleMaxId); + } + + if (handleIsDraggedOrHovered) + CinemachineSceneToolHelpers.DrawLabel(labelPos, text); + + Handles.color = handleIsDraggedOrHovered ? + Handles.selectedColor : CinemachineSceneToolHelpers.HelperLineDefaultColor; + Handles.DrawLine(lineStart, lineEnd, CinemachineSceneToolHelpers.LineThickness); + + return handleIsDragged; + } + } +#endif + } +} + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/Cinemachine3rdPersonFollowEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/Cinemachine3rdPersonFollowEditor.cs.meta new file mode 100644 index 00000000..785c9d94 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/Cinemachine3rdPersonFollowEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 137fce2acc78adb45b30ac59c3b89b11 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBasicMultiChannelPerlinEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBasicMultiChannelPerlinEditor.cs new file mode 100644 index 00000000..c9e8a6bd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBasicMultiChannelPerlinEditor.cs @@ -0,0 +1,37 @@ +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineBasicMultiChannelPerlin))] + [CanEditMultipleObjects] + internal sealed class CinemachineBasicMultiChannelPerlinEditor + : BaseEditor + { + private void OnEnable() + { + NoiseSettingsPropertyDrawer.InvalidateProfileList(); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineBasicMultiChannelPerlin).m_NoiseProfile == null; + if (needWarning) + EditorGUILayout.HelpBox( + "A Noise Profile is required. You may choose from among the NoiseSettings assets defined in the project.", + MessageType.Warning); + DrawRemainingPropertiesInInspector(); + + Rect rect = EditorGUILayout.GetControlRect(true); + rect.width -= EditorGUIUtility.labelWidth; rect.x += EditorGUIUtility.labelWidth; + if (GUI.Button(rect, "New random seed")) + { + for (int i = 0; i < targets.Length; ++i) + (targets[i] as CinemachineBasicMultiChannelPerlin).ReSeed(); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBasicMultiChannelPerlinEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBasicMultiChannelPerlinEditor.cs.meta new file mode 100644 index 00000000..a25727fd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBasicMultiChannelPerlinEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ee42f1964a0e8224c90be81905946699 +timeCreated: 1484091313 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlendListCameraEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlendListCameraEditor.cs new file mode 100644 index 00000000..fabdc628 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlendListCameraEditor.cs @@ -0,0 +1,215 @@ +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineBlendListCamera))] + [CanEditMultipleObjects] + internal sealed class CinemachineBlendListCameraEditor + : CinemachineVirtualCameraBaseEditor + { + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_Instructions)); + } + + private UnityEditorInternal.ReorderableList mChildList; + private UnityEditorInternal.ReorderableList mInstructionList; + + protected override void OnEnable() + { + base.OnEnable(); + mChildList = null; + mInstructionList = null; + } + + protected override void OnDisable() + { + base.OnDisable(); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + if (mInstructionList == null) + SetupInstructionList(); + if (mChildList == null) + SetupChildList(); + + // Ordinary properties + DrawHeaderInInspector(); + DrawPropertyInInspector(FindProperty(x => x.m_Priority)); + DrawTargetsInInspector(FindProperty(x => x.m_Follow), FindProperty(x => x.m_LookAt)); + DrawRemainingPropertiesInInspector(); + + if (targets.Length == 1) + { + // Instructions + UpdateCameraCandidates(); + EditorGUI.BeginChangeCheck(); + EditorGUILayout.Separator(); + mInstructionList.DoLayoutList(); + + EditorGUILayout.Separator(); + + mChildList.DoLayoutList(); + if (EditorGUI.EndChangeCheck()) + { + serializedObject.ApplyModifiedProperties(); + Target.ValidateInstructions(); + } + } + else + { + EditorGUILayout.HelpBox(Styles.virtualCameraChildrenInfoMsg.text, MessageType.Info); + } + + // Extensions + DrawExtensionsWidgetInInspector(); + } + + private string[] mCameraCandidates; + private Dictionary mCameraIndexLookup; + private void UpdateCameraCandidates() + { + List vcams = new List(); + mCameraIndexLookup = new Dictionary(); + vcams.Add("(none)"); + CinemachineVirtualCameraBase[] children = Target.ChildCameras; + foreach (var c in children) + { + mCameraIndexLookup[c] = vcams.Count; + vcams.Add(c.Name); + } + mCameraCandidates = vcams.ToArray(); + } + + private int GetCameraIndex(Object obj) + { + if (obj == null || mCameraIndexLookup == null) + return 0; + CinemachineVirtualCameraBase vcam = obj as CinemachineVirtualCameraBase; + if (vcam == null) + return 0; + if (!mCameraIndexLookup.ContainsKey(vcam)) + return 0; + return mCameraIndexLookup[vcam]; + } + + void SetupInstructionList() + { + mInstructionList = new UnityEditorInternal.ReorderableList(serializedObject, + serializedObject.FindProperty(() => Target.m_Instructions), + true, true, true, true); + + // Needed for accessing field names as strings + CinemachineBlendListCamera.Instruction def = new CinemachineBlendListCamera.Instruction(); + + float vSpace = 2; + float hSpace = 3; + float floatFieldWidth = EditorGUIUtility.singleLineHeight * 2.5f; + float hBigSpace = EditorGUIUtility.singleLineHeight * 2 / 3; + mInstructionList.drawHeaderCallback = (Rect rect) => + { + float sharedWidth = rect.width - EditorGUIUtility.singleLineHeight + - floatFieldWidth - hSpace - hBigSpace; + rect.x += EditorGUIUtility.singleLineHeight; rect.width = sharedWidth / 2; + EditorGUI.LabelField(rect, "Child"); + + rect.x += rect.width + hSpace; + EditorGUI.LabelField(rect, "Blend in"); + + rect.x += rect.width + hBigSpace; rect.width = floatFieldWidth; + EditorGUI.LabelField(rect, "Hold"); + }; + + mInstructionList.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { + SerializedProperty instProp = mInstructionList.serializedProperty.GetArrayElementAtIndex(index); + float sharedWidth = rect.width - floatFieldWidth - hSpace - hBigSpace; + rect.y += vSpace; rect.height = EditorGUIUtility.singleLineHeight; + + rect.width = sharedWidth / 2; + SerializedProperty vcamSelProp = instProp.FindPropertyRelative(() => def.m_VirtualCamera); + int currentVcam = GetCameraIndex(vcamSelProp.objectReferenceValue); + int vcamSelection = EditorGUI.Popup(rect, currentVcam, mCameraCandidates); + if (currentVcam != vcamSelection) + vcamSelProp.objectReferenceValue = (vcamSelection == 0) + ? null : Target.ChildCameras[vcamSelection - 1]; + + rect.x += rect.width + hSpace; rect.width = sharedWidth / 2; + if (index > 0 || Target.m_Loop) + EditorGUI.PropertyField(rect, instProp.FindPropertyRelative(() => def.m_Blend), + GUIContent.none); + + if (index < mInstructionList.count - 1 || Target.m_Loop) + { + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = hBigSpace; + + rect.x += rect.width; rect.width = floatFieldWidth + hBigSpace; + SerializedProperty holdProp = instProp.FindPropertyRelative(() => def.m_Hold); + EditorGUI.PropertyField(rect, holdProp, new GUIContent(" ", holdProp.tooltip)); + holdProp.floatValue = Mathf.Max(holdProp.floatValue, 0); + + EditorGUIUtility.labelWidth = oldWidth; + } + }; + } + + void SetupChildList() + { + float vSpace = 2; + mChildList = new UnityEditorInternal.ReorderableList(serializedObject, + serializedObject.FindProperty(() => Target.m_ChildCameras), + true, true, true, true); + + mChildList.drawHeaderCallback = (Rect rect) => + { + EditorGUI.LabelField(rect, "Virtual Camera Children"); + }; + mChildList.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { + rect.y += vSpace; + Vector2 pos = rect.position; + rect.height = EditorGUIUtility.singleLineHeight; + SerializedProperty element + = mChildList.serializedProperty.GetArrayElementAtIndex(index); + EditorGUI.PropertyField(rect, element, GUIContent.none); + }; + mChildList.onChangedCallback = (UnityEditorInternal.ReorderableList l) => + { + if (l.index < 0 || l.index >= l.serializedProperty.arraySize) + return; + Object o = l.serializedProperty.GetArrayElementAtIndex( + l.index).objectReferenceValue; + CinemachineVirtualCameraBase vcam = (o != null) + ? (o as CinemachineVirtualCameraBase) : null; + if (vcam != null) + vcam.transform.SetSiblingIndex(l.index); + }; + mChildList.onAddCallback = (UnityEditorInternal.ReorderableList l) => + { + var index = l.serializedProperty.arraySize; + var vcam = CinemachineMenu.CreateDefaultVirtualCamera(); + Undo.SetTransformParent(vcam.transform, Target.transform, ""); + vcam.transform.SetSiblingIndex(index); + }; + mChildList.onRemoveCallback = (UnityEditorInternal.ReorderableList l) => + { + Object o = l.serializedProperty.GetArrayElementAtIndex( + l.index).objectReferenceValue; + CinemachineVirtualCameraBase vcam = (o != null) + ? (o as CinemachineVirtualCameraBase) : null; + if (vcam != null) + Undo.DestroyObjectImmediate(vcam.gameObject); + }; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlendListCameraEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlendListCameraEditor.cs.meta new file mode 100644 index 00000000..d4a700e9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlendListCameraEditor.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 0181db608628b494d8ae50728e507ce1 +timeCreated: 1509479768 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlenderSettingsEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlenderSettingsEditor.cs new file mode 100644 index 00000000..458febe6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlenderSettingsEditor.cs @@ -0,0 +1,161 @@ +using UnityEngine; +using UnityEditor; +using UnityEditorInternal; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineBlenderSettings))] + internal sealed class CinemachineBlenderSettingsEditor : BaseEditor + { + private ReorderableList mBlendList; + + /// + /// Called when building the Camera popup menus, to get the domain of possible + /// cameras. If no delegate is set, will find all top-level (non-slave) + /// virtual cameras in the scene. + /// + public GetAllVirtualCamerasDelegate GetAllVirtualCameras; + public delegate CinemachineVirtualCameraBase[] GetAllVirtualCamerasDelegate(); + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_CustomBlends)); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + if (mBlendList == null) + SetupBlendList(); + + DrawRemainingPropertiesInInspector(); + + UpdateCameraCandidates(); + mBlendList.DoLayoutList(); + serializedObject.ApplyModifiedProperties(); + } + + private const string kNoneLabel = "(none)"; + private string[] mCameraCandidates; + private Dictionary mCameraIndexLookup; + private void UpdateCameraCandidates() + { + List vcams = new List(); + mCameraIndexLookup = new Dictionary(); + + CinemachineVirtualCameraBase[] candidates; + if (GetAllVirtualCameras != null) + candidates = GetAllVirtualCameras(); + else + { + // Get all top-level (i.e. non-slave) virtual cameras + candidates = Resources.FindObjectsOfTypeAll( + typeof(CinemachineVirtualCameraBase)) as CinemachineVirtualCameraBase[]; + + for (int i = 0; i < candidates.Length; ++i) + if (candidates[i].ParentCamera != null) + candidates[i] = null; + } + vcams.Add(kNoneLabel); + vcams.Add(CinemachineBlenderSettings.kBlendFromAnyCameraLabel); + foreach (CinemachineVirtualCameraBase c in candidates) + if (c != null && !vcams.Contains(c.Name)) + vcams.Add(c.Name); + + mCameraCandidates = vcams.ToArray(); + for (int i = 0; i < mCameraCandidates.Length; ++i) + mCameraIndexLookup[mCameraCandidates[i]] = i; + } + + private int GetCameraIndex(string name) + { + if (name == null || mCameraIndexLookup == null) + return 0; + if (!mCameraIndexLookup.ContainsKey(name)) + return 0; + return mCameraIndexLookup[name]; + } + + void DrawVcamSelector(Rect r, SerializedProperty prop) + { + r.width -= EditorGUIUtility.singleLineHeight; + int current = GetCameraIndex(prop.stringValue); + var oldColor = GUI.color; + if (current == 0) + GUI.color = new Color(1, 193.0f/255.0f, 7.0f/255.0f); // the "warning" icon color + EditorGUI.PropertyField(r, prop, GUIContent.none); + r.x += r.width; r.width = EditorGUIUtility.singleLineHeight; + int sel = EditorGUI.Popup(r, current, mCameraCandidates); + if (current != sel) + prop.stringValue = (mCameraCandidates[sel] == kNoneLabel) + ? string.Empty : mCameraCandidates[sel]; + GUI.color = oldColor; + } + + void SetupBlendList() + { + mBlendList = new ReorderableList(serializedObject, + serializedObject.FindProperty(() => Target.m_CustomBlends), + true, true, true, true); + + // Needed for accessing string names of fields + CinemachineBlenderSettings.CustomBlend def = new CinemachineBlenderSettings.CustomBlend(); + CinemachineBlendDefinition def2 = new CinemachineBlendDefinition(); + + float vSpace = 2; + float hSpace = 3; + float floatFieldWidth = EditorGUIUtility.singleLineHeight * 2.5f; + mBlendList.drawHeaderCallback = (Rect rect) => + { + rect.width -= (EditorGUIUtility.singleLineHeight + 2 * hSpace); + rect.width /= 3; + rect.x += EditorGUIUtility.singleLineHeight; + EditorGUI.LabelField(rect, "From"); + + rect.x += rect.width + hSpace; + EditorGUI.LabelField(rect, "To"); + + rect.x += rect.width + hSpace; rect.width -= floatFieldWidth + hSpace; + EditorGUI.LabelField(rect, "Style"); + + rect.x += rect.width + hSpace; rect.width = floatFieldWidth; + EditorGUI.LabelField(rect, "Time"); + }; + + mBlendList.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { + SerializedProperty element + = mBlendList.serializedProperty.GetArrayElementAtIndex(index); + + rect.y += vSpace; + rect.height = EditorGUIUtility.singleLineHeight; + rect.width -= 2 * hSpace; rect.width /= 3; + DrawVcamSelector(rect, element.FindPropertyRelative(() => def.m_From)); + + rect.x += rect.width + hSpace; + DrawVcamSelector(rect, element.FindPropertyRelative(() => def.m_To)); + + SerializedProperty blendProp = element.FindPropertyRelative(() => def.m_Blend); + rect.x += rect.width + hSpace; + EditorGUI.PropertyField(rect, blendProp, GUIContent.none); + }; + + mBlendList.onAddCallback = (ReorderableList l) => + { + var index = l.serializedProperty.arraySize; + ++l.serializedProperty.arraySize; + SerializedProperty blendProp = l.serializedProperty.GetArrayElementAtIndex( + index).FindPropertyRelative(() => def.m_Blend); + + blendProp.FindPropertyRelative(() => def2.m_Style).enumValueIndex + = (int)CinemachineBlendDefinition.Style.EaseInOut; + blendProp.FindPropertyRelative(() => def2.m_Time).floatValue = 2f; + }; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlenderSettingsEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlenderSettingsEditor.cs.meta new file mode 100644 index 00000000..abb60606 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBlenderSettingsEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1ff9d8296ed1f02419bf4f417ff2265e +timeCreated: 1486495673 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBrainEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBrainEditor.cs new file mode 100644 index 00000000..14d338ff --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBrainEditor.cs @@ -0,0 +1,189 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; +using Cinemachine.Utility; +using System.IO; + +namespace Cinemachine.Editor +{ + /// + /// Inspector for CinemachineBrain + /// + [CustomEditor(typeof(CinemachineBrain))] + [CanEditMultipleObjects] + public sealed class CinemachineBrainEditor : BaseEditor + { + EmbeddeAssetEditor m_BlendsEditor; + bool mEventsExpanded = false; + + /// Obsolete, do not use. Use the overload, which is more performant + /// List of property names to exclude + protected override List GetExcludedPropertiesInInspector() + { return base.GetExcludedPropertiesInInspector(); } + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_CameraCutEvent)); + excluded.Add(FieldPath(x => x.m_CameraActivatedEvent)); + excluded.Add(FieldPath(x => x.m_CustomBlends)); + } + + private void OnEnable() + { + m_BlendsEditor = new EmbeddeAssetEditor(FieldPath(x => x.m_CustomBlends), this); + m_BlendsEditor.OnChanged = (CinemachineBlenderSettings b) => { InspectorUtility.RepaintGameView(); }; + } + + private void OnDisable() + { + if (m_BlendsEditor != null) + m_BlendsEditor.OnDisable(); + } + + /// Create the contents of the inspector panel + public override void OnInspectorGUI() + { + BeginInspector(); + + // Show the active camera and blend + GUI.enabled = false; + ICinemachineCamera vcam = Target.ActiveVirtualCamera; + Transform activeCam = (vcam != null && vcam.VirtualCameraGameObject != null) + ? vcam.VirtualCameraGameObject.transform : null; + EditorGUILayout.ObjectField("Live Camera", activeCam, typeof(Transform), true); + EditorGUILayout.DelayedTextField( + "Live Blend", Target.ActiveBlend != null + ? Target.ActiveBlend.Description : string.Empty); + GUI.enabled = true; + + // Normal properties + DrawRemainingPropertiesInInspector(); + + if (targets.Length == 1) + { + // Blender + m_BlendsEditor.DrawEditorCombo( + "Create New Blender Asset", + Target.gameObject.name + " Blends", "asset", string.Empty, + "Custom Blends", false); + + mEventsExpanded = EditorGUILayout.Foldout(mEventsExpanded, "Events", true); + if (mEventsExpanded) + { + EditorGUILayout.PropertyField(FindProperty(x => x.m_CameraCutEvent)); + EditorGUILayout.PropertyField(FindProperty(x => x.m_CameraActivatedEvent)); + } + serializedObject.ApplyModifiedProperties(); + } + } + + [DrawGizmo(GizmoType.Selected | GizmoType.NonSelected, typeof(CinemachineBrain))] + private static void DrawBrainGizmos(CinemachineBrain brain, GizmoType drawType) + { + if (brain.OutputCamera != null && brain.m_ShowCameraFrustum && brain.isActiveAndEnabled) + { + DrawCameraFrustumGizmo( + brain, LensSettings.FromCamera(brain.OutputCamera), + brain.transform.localToWorldMatrix, + Color.white); // GML why is this color hardcoded? + } + } + + internal static void DrawCameraFrustumGizmo( + CinemachineBrain brain, LensSettings lens, + Matrix4x4 transform, Color color) + { + float aspect = 1; + bool ortho = false; + if (brain != null) + { + aspect = brain.OutputCamera.aspect; + ortho = brain.OutputCamera.orthographic; + } + + Matrix4x4 originalMatrix = Gizmos.matrix; + Color originalGizmoColour = Gizmos.color; + + Gizmos.color = color; + Gizmos.matrix = transform; + if (ortho) + { + Vector3 size = new Vector3( + aspect * lens.OrthographicSize * 2, + lens.OrthographicSize * 2, + lens.FarClipPlane - lens.NearClipPlane); + Gizmos.DrawWireCube( + new Vector3(0, 0, (size.z / 2) + lens.NearClipPlane), size); + } + else + { + Gizmos.DrawFrustum( + Vector3.zero, lens.FieldOfView, + lens.FarClipPlane, lens.NearClipPlane, aspect); + } + Gizmos.matrix = originalMatrix; + Gizmos.color = originalGizmoColour; + } + + /// Draw the gizmo for a virtual camera in the scene view + /// The virtual camera + /// How the object is selected + [DrawGizmo(GizmoType.Active | GizmoType.InSelectionHierarchy | GizmoType.Pickable, typeof(CinemachineVirtualCameraBase))] + public static void DrawVirtualCameraBaseGizmos(CinemachineVirtualCameraBase vcam, GizmoType selectionType) + { + // Don't draw gizmos on hidden stuff + if ((vcam.gameObject.hideFlags & (HideFlags.HideInHierarchy | HideFlags.HideInInspector)) != 0) + return; + + if (vcam.ParentCamera != null && (selectionType & GizmoType.Active) == 0) + return; + + CameraState state = vcam.State; + Gizmos.DrawIcon(state.FinalPosition, kGizmoFileName, true); + + DrawCameraFrustumGizmo( + CinemachineCore.Instance.FindPotentialTargetBrain(vcam), + state.Lens, + Matrix4x4.TRS( + state.FinalPosition, + UnityQuaternionExtensions.Normalized(state.FinalOrientation), Vector3.one), + CinemachineCore.Instance.IsLive(vcam) + ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour + : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour); + } + +#if UNITY_2019_1_OR_NEWER + static string kGizmoFileName = "Packages/com.unity.cinemachine/Gizmos/cm_logo.png"; +#else + static string kGizmoFileName = "Cinemachine/cm_logo_lg.png"; + [InitializeOnLoad] + static class InstallGizmos + { + static InstallGizmos() + { + string srcFile = ScriptableObjectUtility.CinemachineInstallPath + "/Gizmos/" + kGizmoFileName; + if (File.Exists(srcFile)) + { + string dstFile = Application.dataPath + "/Gizmos"; + if (!Directory.Exists(dstFile)) + Directory.CreateDirectory(dstFile); + dstFile += "/" + kGizmoFileName; + if (!File.Exists(dstFile) + || (File.GetLastWriteTime(dstFile) < File.GetLastWriteTime(srcFile) + && (File.GetAttributes(dstFile) & FileAttributes.ReadOnly) == 0)) + { + if (!Directory.Exists(Path.GetDirectoryName(dstFile))) + Directory.CreateDirectory(Path.GetDirectoryName(dstFile)); + File.Copy(srcFile, dstFile, true); + File.SetAttributes( + dstFile, File.GetAttributes(dstFile) & ~FileAttributes.ReadOnly); + } + } + } + } +#endif + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBrainEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBrainEditor.cs.meta new file mode 100644 index 00000000..a6c202ab --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineBrainEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 711aad28b4057bd4783120e26ff2ee25 +timeCreated: 1483406727 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineClearShotEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineClearShotEditor.cs new file mode 100644 index 00000000..831a972b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineClearShotEditor.cs @@ -0,0 +1,226 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using UnityEditor; +using UnityEngine; + +namespace Cinemachine.Editor +{ +#if CINEMACHINE_PHYSICS + [CustomEditor(typeof(CinemachineClearShot))] + [CanEditMultipleObjects] + internal sealed class CinemachineClearShotEditor + : CinemachineVirtualCameraBaseEditor + { + EmbeddeAssetEditor m_BlendsEditor; + ColliderState m_ColliderState; + + private UnityEditorInternal.ReorderableList mChildList; + + protected override void OnEnable() + { + base.OnEnable(); + m_BlendsEditor = new EmbeddeAssetEditor( + FieldPath(x => x.m_CustomBlends), this); + m_BlendsEditor.OnChanged = (CinemachineBlenderSettings b) => + { + InspectorUtility.RepaintGameView(); + }; + m_BlendsEditor.OnCreateEditor = (UnityEditor.Editor ed) => + { + CinemachineBlenderSettingsEditor editor = ed as CinemachineBlenderSettingsEditor; + if (editor != null) + editor.GetAllVirtualCameras = () => { return Target.ChildCameras; }; + }; + mChildList = null; + } + + protected override void OnDisable() + { + base.OnDisable(); + if (m_BlendsEditor != null) + m_BlendsEditor.OnDisable(); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + if (mChildList == null) + SetupChildList(); + + m_ColliderState = GetColliderState(); + switch (m_ColliderState) + { + case ColliderState.ColliderOnParent: + case ColliderState.ColliderOnAllChildren: + break; + case ColliderState.NoCollider: + EditorGUILayout.HelpBox( + "ClearShot requires a Collider extension to rank the shots. Either add one to the ClearShot itself, or to each of the child cameras.", + MessageType.Warning); + break; + case ColliderState.ColliderOnSomeChildren: + EditorGUILayout.HelpBox( + "Some child cameras do not have a Collider extension. ClearShot requires a Collider on all the child cameras, or alternatively on the ClearShot iself.", + MessageType.Warning); + break; + case ColliderState.ColliderOnChildrenAndParent: + EditorGUILayout.HelpBox( + "There is a Collider extension on the ClearShot camera, and also on some of its child cameras. You can't have both.", + MessageType.Error); + break; + } + + DrawHeaderInInspector(); + DrawPropertyInInspector(FindProperty(x => x.m_Priority)); + DrawTargetsInInspector(FindProperty(x => x.m_Follow), FindProperty(x => x.m_LookAt)); + DrawRemainingPropertiesInInspector(); + + // Blends + m_BlendsEditor.DrawEditorCombo( + "Create New Blender Asset", + Target.gameObject.name + " Blends", "asset", string.Empty, + "Custom Blends", false); + + // vcam children + EditorGUILayout.Separator(); + + if (Selection.objects.Length == 1) + { + EditorGUI.BeginChangeCheck(); + mChildList.DoLayoutList(); + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + } + else + { + EditorGUILayout.HelpBox(Styles.virtualCameraChildrenInfoMsg.text, MessageType.Info); + } + + // Extensions + DrawExtensionsWidgetInInspector(); + } + + enum ColliderState + { + NoCollider, + ColliderOnAllChildren, + ColliderOnSomeChildren, + ColliderOnParent, + ColliderOnChildrenAndParent + } + + ColliderState GetColliderState() + { + int numChildren = 0; + int numColliderChildren = 0; + bool colliderOnParent = ObjectHasCollider(Target); + + var children = Target.m_ChildCameras; + numChildren = children == null ? 0 : children.Length; + for (int i = 0; i < numChildren; ++i) + if (ObjectHasCollider(children[i])) + ++numColliderChildren; + if (colliderOnParent) + return (numColliderChildren > 0) + ? ColliderState.ColliderOnChildrenAndParent : ColliderState.ColliderOnParent; + if (numColliderChildren > 0) + return (numColliderChildren == numChildren) + ? ColliderState.ColliderOnAllChildren : ColliderState.ColliderOnSomeChildren; + return ColliderState.NoCollider; + } + + bool ObjectHasCollider(object obj) + { + CinemachineVirtualCameraBase vcam = obj as CinemachineVirtualCameraBase; + var collider = (vcam == null) ? null : vcam.GetComponent(); + return (collider != null && collider.enabled); + } + + void SetupChildList() + { + float vSpace = 2; + float hSpace = 3; + float floatFieldWidth = EditorGUIUtility.singleLineHeight * 2.5f; + + mChildList = new UnityEditorInternal.ReorderableList( + serializedObject, FindProperty(x => x.m_ChildCameras), true, true, true, true); + + mChildList.drawHeaderCallback = (Rect rect) => + { + EditorGUI.LabelField(rect, "Virtual Camera Children"); + GUIContent priorityText = new GUIContent("Priority"); + var textDimensions = GUI.skin.label.CalcSize(priorityText); + rect.x += rect.width - textDimensions.x; + rect.width = textDimensions.x; + EditorGUI.LabelField(rect, priorityText); + }; + mChildList.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { + rect.y += vSpace; + rect.width -= floatFieldWidth + hSpace; + rect.height = EditorGUIUtility.singleLineHeight; + SerializedProperty element = mChildList.serializedProperty.GetArrayElementAtIndex(index); + if (m_ColliderState == ColliderState.ColliderOnSomeChildren + || m_ColliderState == ColliderState.ColliderOnChildrenAndParent) + { + bool hasCollider = ObjectHasCollider(element.objectReferenceValue); + if ((m_ColliderState == ColliderState.ColliderOnSomeChildren && !hasCollider) + || (m_ColliderState == ColliderState.ColliderOnChildrenAndParent && hasCollider)) + { + float width = rect.width; + rect.width = rect.height; + GUIContent label = new GUIContent(""); + label.image = EditorGUIUtility.IconContent("console.warnicon.sml").image; + EditorGUI.LabelField(rect, label); + width -= rect.width; rect.x += rect.width; rect.width = width; + } + } + EditorGUI.PropertyField(rect, element, GUIContent.none); + + SerializedObject obj = new SerializedObject(element.objectReferenceValue); + rect.x += rect.width + hSpace; rect.width = floatFieldWidth; + SerializedProperty priorityProp = obj.FindProperty(() => Target.m_Priority); + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = hSpace * 2; + EditorGUI.PropertyField(rect, priorityProp, new GUIContent(" ")); + EditorGUIUtility.labelWidth = oldWidth; + obj.ApplyModifiedProperties(); + }; + mChildList.onChangedCallback = (UnityEditorInternal.ReorderableList l) => + { + if (l.index < 0 || l.index >= l.serializedProperty.arraySize) + return; + Object o = l.serializedProperty.GetArrayElementAtIndex( + l.index).objectReferenceValue; + CinemachineVirtualCameraBase vcam = (o != null) + ? (o as CinemachineVirtualCameraBase) : null; + if (vcam != null) + vcam.transform.SetSiblingIndex(l.index); + }; + mChildList.onAddCallback = (UnityEditorInternal.ReorderableList l) => + { + var index = l.serializedProperty.arraySize; + var vcam = CinemachineMenu.CreateDefaultVirtualCamera(); + Undo.SetTransformParent(vcam.transform, Target.transform, ""); + var collider = Undo.AddComponent(vcam.gameObject); + collider.m_AvoidObstacles = false; + Undo.RecordObject(collider, "create ClearShot child"); + vcam.transform.SetSiblingIndex(index); + }; + mChildList.onRemoveCallback = (UnityEditorInternal.ReorderableList l) => + { + Object o = l.serializedProperty.GetArrayElementAtIndex( + l.index).objectReferenceValue; + CinemachineVirtualCameraBase vcam = (o != null) + ? (o as CinemachineVirtualCameraBase) : null; + if (vcam != null) + Undo.DestroyObjectImmediate(vcam.gameObject); + }; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineClearShotEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineClearShotEditor.cs.meta new file mode 100644 index 00000000..8043f7ed --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineClearShotEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6036af5730313e54699c5a693891fe90 +timeCreated: 1484508430 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineColliderEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineColliderEditor.cs new file mode 100644 index 00000000..b5f8d21a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineColliderEditor.cs @@ -0,0 +1,88 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ +#if CINEMACHINE_PHYSICS + [CustomEditor(typeof(CinemachineCollider))] + [CanEditMultipleObjects] + internal sealed class CinemachineColliderEditor : BaseEditor + { + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + if (!Target.m_AvoidObstacles) + { + excluded.Add(FieldPath(x => x.m_DistanceLimit)); + excluded.Add(FieldPath(x => x.m_CameraRadius)); + excluded.Add(FieldPath(x => x.m_Strategy)); + excluded.Add(FieldPath(x => x.m_MaximumEffort)); + excluded.Add(FieldPath(x => x.m_Damping)); + excluded.Add(FieldPath(x => x.m_DampingWhenOccluded)); + excluded.Add(FieldPath(x => x.m_SmoothingTime)); + } + else if (Target.m_Strategy == CinemachineCollider.ResolutionStrategy.PullCameraForward) + { + excluded.Add(FieldPath(x => x.m_MaximumEffort)); + } + } + + public override void OnInspectorGUI() + { + BeginInspector(); + + if (Target.m_AvoidObstacles && Target.VirtualCamera != null + && !Target.VirtualCamera.State.HasLookAt) + EditorGUILayout.HelpBox( + "Avoid Obstacles requires a LookAt target.", + MessageType.Warning); + + DrawRemainingPropertiesInInspector(); + } + + [DrawGizmo(GizmoType.Active | GizmoType.Selected, typeof(CinemachineCollider))] + private static void DrawColliderGizmos(CinemachineCollider collider, GizmoType type) + { + CinemachineVirtualCameraBase vcam = (collider != null) ? collider.VirtualCamera : null; + if (vcam != null && collider.enabled) + { + Color oldColor = Gizmos.color; + Vector3 pos = vcam.State.FinalPosition; + if (collider.m_AvoidObstacles && vcam.State.HasLookAt) + { + Gizmos.color = CinemachineColliderPrefs.FeelerColor; + if (collider.m_CameraRadius > 0) + Gizmos.DrawWireSphere(pos, collider.m_CameraRadius); + + Vector3 forwardFeelerVector = (vcam.State.ReferenceLookAt - pos).normalized; + float distance = collider.m_DistanceLimit; + Gizmos.DrawLine(pos, pos + forwardFeelerVector * distance); + + // Show the avoidance path, for debugging + List> debugPaths = collider.DebugPaths; + foreach (var path in debugPaths) + { + Gizmos.color = CinemachineColliderPrefs.FeelerHitColor; + Vector3 p0 = vcam.State.ReferenceLookAt; + foreach (var p in path) + { + Gizmos.DrawLine(p0, p); + p0 = p; + } + Gizmos.DrawLine(p0, pos); + } + } + Gizmos.color = oldColor; + } + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineColliderEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineColliderEditor.cs.meta new file mode 100644 index 00000000..394fc4c8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineColliderEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bf34fbe7a6e71634493d770ed0031f9d +timeCreated: 1486652356 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineComposerEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineComposerEditor.cs new file mode 100644 index 00000000..c4f86bed --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineComposerEditor.cs @@ -0,0 +1,159 @@ +using UnityEngine; +using UnityEditor; +using Cinemachine.Utility; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineComposer))] + [CanEditMultipleObjects] + internal class CinemachineComposerEditor : BaseEditor + { + CinemachineScreenComposerGuides m_ScreenGuideEditor; + GameViewEventCatcher m_GameViewEventCatcher; + + protected virtual void OnEnable() + { + m_ScreenGuideEditor = new CinemachineScreenComposerGuides(); + m_ScreenGuideEditor.GetHardGuide = () => { return Target.HardGuideRect; }; + m_ScreenGuideEditor.GetSoftGuide = () => { return Target.SoftGuideRect; }; + m_ScreenGuideEditor.SetHardGuide = (Rect r) => { Target.HardGuideRect = r; }; + m_ScreenGuideEditor.SetSoftGuide = (Rect r) => { Target.SoftGuideRect = r; }; + m_ScreenGuideEditor.Target = () => { return serializedObject; }; + + m_GameViewEventCatcher = new GameViewEventCatcher(); + m_GameViewEventCatcher.OnEnable(); + + CinemachineDebug.OnGUIHandlers -= OnGUI; + CinemachineDebug.OnGUIHandlers += OnGUI; + if (CinemachineSettings.CinemachineCoreSettings.ShowInGameGuides) + InspectorUtility.RepaintGameView(); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.RegisterTool(typeof(TrackedObjectOffsetTool)); +#endif + } + + protected virtual void OnDisable() + { + m_GameViewEventCatcher.OnDisable(); + CinemachineDebug.OnGUIHandlers -= OnGUI; + if (CinemachineSettings.CinemachineCoreSettings.ShowInGameGuides) + InspectorUtility.RepaintGameView(); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.UnregisterTool(typeof(TrackedObjectOffsetTool)); +#endif + } + + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineComposer).LookAtTarget == null; + if (needWarning) + EditorGUILayout.HelpBox( + "A LookAt target is required. Change Aim to Do Nothing if you don't want a LookAt target.", + MessageType.Warning); + + // First snapshot some settings + Rect oldHard = Target.HardGuideRect; + Rect oldSoft = Target.SoftGuideRect; + + // Draw the properties + DrawRemainingPropertiesInInspector(); + m_ScreenGuideEditor.SetNewBounds(oldHard, oldSoft, Target.HardGuideRect, Target.SoftGuideRect); + } + + protected virtual void OnGUI() + { + // Draw the camera guides + if (Target == null || !CinemachineSettings.CinemachineCoreSettings.ShowInGameGuides) + return; + + // If inspector is collapsed in the vcam editor, don't draw the guides + if (!VcamStageEditor.ActiveEditorRegistry.IsActiveEditor(this)) + return; + + // Don't draw the guides if rendering to texture + var vcam = Target.VirtualCamera; + CinemachineBrain brain = CinemachineCore.Instance.FindPotentialTargetBrain(vcam); + if (brain == null || (brain.OutputCamera.activeTexture != null && CinemachineCore.Instance.BrainCount > 1)) + return; + + // Screen guides + bool isLive = targets.Length <= 1 && brain.IsLive(vcam, true); + m_ScreenGuideEditor.OnGUI_DrawGuides(isLive, brain.OutputCamera, Target.VcamState.Lens, true); + + // Draw an on-screen gizmo for the target + if (Target.LookAtTarget != null && isLive) + { + Vector3 targetScreenPosition = brain.OutputCamera.WorldToScreenPoint(Target.TrackedPoint); + if (targetScreenPosition.z > 0) + { + targetScreenPosition.y = Screen.height - targetScreenPosition.y; + + GUI.color = CinemachineSettings.ComposerSettings.TargetColour; + Rect r = new Rect(targetScreenPosition, Vector2.zero); + float size = (CinemachineSettings.ComposerSettings.TargetSize + + CinemachineScreenComposerGuides.kGuideBarWidthPx) / 2; + GUI.DrawTexture(r.Inflated(new Vector2(size, size)), Texture2D.whiteTexture); + size -= CinemachineScreenComposerGuides.kGuideBarWidthPx; + if (size > 0) + { + Vector4 overlayOpacityScalar + = new Vector4(1f, 1f, 1f, CinemachineSettings.ComposerSettings.OverlayOpacity); + GUI.color = Color.black * overlayOpacityScalar; + GUI.DrawTexture(r.Inflated(new Vector2(size, size)), Texture2D.whiteTexture); + } + } + } + } + +#if UNITY_2021_2_OR_NEWER + void OnSceneGUI() + { + DrawSceneTools(); + } + + void DrawSceneTools() + { + var composer = Target; + if (composer == null || !composer.IsValid) + { + return; + } + + if (CinemachineSceneToolUtility.IsToolActive(typeof(TrackedObjectOffsetTool))) + { + CinemachineSceneToolHelpers.TrackedObjectOffsetTool(composer, + new SerializedObject(composer).FindProperty(() => composer.m_TrackedObjectOffset)); + } + } +#endif + +#if false + // debugging only + [DrawGizmo(GizmoType.Active | GizmoType.Selected, typeof(CinemachineComposer))] + static void DrawComposerGizmos(CinemachineComposer target, GizmoType selectionType) + { + // Draw lookahead path + if (target.m_LookaheadTime > 0) + { + Color originalGizmoColour = Gizmos.color; + Gizmos.color = CinemachineSettings.ComposerSettings.TargetColour; + + var p0 = target.m_Predictor.PredictPosition(0); + int numSteps = 20; + for (int i = 1; i <= numSteps; ++i) + { + var p1 = target.m_Predictor.PredictPosition(i * target.m_LookaheadTime / numSteps); + Gizmos.DrawLine(p0, p1); + p0 = p1; + } + Gizmos.color = originalGizmoColour; + } + } +#endif + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineComposerEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineComposerEditor.cs.meta new file mode 100644 index 00000000..1c9b69a5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineComposerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2bb09c3bc24a82648a2e4fc008a28d8b +timeCreated: 1484088329 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfiner2DEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfiner2DEditor.cs new file mode 100644 index 00000000..19faeb17 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfiner2DEditor.cs @@ -0,0 +1,174 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS_2D +#endif + +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ +#if CINEMACHINE_PHYSICS_2D + [CustomEditor(typeof(CinemachineConfiner2D))] + [CanEditMultipleObjects] + internal sealed class CinemachineConfiner2DEditor : BaseEditor + { + SerializedProperty m_MaxWindowSizeProperty; + GUIContent m_ComputeSkeletonLabel = new GUIContent( + "Oversize Window", "If enabled, the confiner will compute a skeleton polygon to " + + "support cases where camera window size is bigger than some regions of the " + + "confining polygon. Enable only if needed, because it's costly"); + GUIContent m_MaxWindowSizeLabel; + GUIContent m_InvalidateCacheLabel = new GUIContent( + "Invalidate Cache", "Force a recomputation of the polygon cache. " + + "This needs to be done if points inside the bounding polygon change"); + + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_MaxWindowSize)); + } + + private void OnEnable() + { + m_MaxWindowSizeProperty = FindProperty(x => x.m_MaxWindowSize); + m_MaxWindowSizeLabel = new GUIContent( + m_MaxWindowSizeProperty.displayName, + "To optimize computation and memory costs, set this to the largest view size that the " + + "camera is expected to have. The confiner will not compute a polygon cache for frustum " + + "sizes larger than this. This refers to the size in world units of the frustum at the " + + "confiner plane (for orthographic cameras, this is just the orthographic size). If set " + + "to 0, then this parameter is ignored and a polygon cache will be calculated for all " + + "potential window sizes."); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + + if (Target.m_BoundingShape2D == null) + EditorGUILayout.HelpBox("A Bounding Shape is required.", MessageType.Warning); + else if (Target.m_BoundingShape2D.GetType() != typeof(PolygonCollider2D) + && Target.m_BoundingShape2D.GetType() != typeof(CompositeCollider2D)) + { + EditorGUILayout.HelpBox( + "Must be a PolygonCollider2D or CompositeCollider2D.", + MessageType.Warning); + } + else if (Target.m_BoundingShape2D.GetType() == typeof(CompositeCollider2D)) + { + CompositeCollider2D poly = Target.m_BoundingShape2D as CompositeCollider2D; + if (poly.geometryType != CompositeCollider2D.GeometryType.Polygons) + { + EditorGUILayout.HelpBox( + "CompositeCollider2D geometry type must be Polygons", + MessageType.Warning); + } + } + +#if false + // Debugging info + if (Target.GetGizmoPaths(out var originalPath, ref s_currentPathCache, out var pathLocalToWorld)) + { + int pointCount0 = 0; + foreach (var path in originalPath ) + pointCount0 += path.Count; + + int pointCount1 = 1; + foreach (var path in s_currentPathCache) + pointCount1 += path.Count; + + EditorGUILayout.HelpBox( + $"Original Path: {pointCount0} points in {originalPath.Count} paths\n" + + $"Confiner Path: {pointCount1} points in {s_currentPathCache.Count} paths", + MessageType.Info); + } +#endif + + DrawRemainingPropertiesInInspector(); + + float vSpace = EditorGUIUtility.standardVerticalSpacing; + float lineHeight = EditorGUIUtility.singleLineHeight; + float maxSize = m_MaxWindowSizeProperty.floatValue; + bool computeSkeleton = maxSize >= 0; + var rect = EditorGUILayout.GetControlRect(true, (lineHeight + vSpace) * (computeSkeleton ? 2 : 1)); + EditorGUI.BeginProperty(rect, m_ComputeSkeletonLabel, m_MaxWindowSizeProperty); + { + var r = rect; r.height = lineHeight; + computeSkeleton = EditorGUI.Toggle(r, m_ComputeSkeletonLabel, maxSize >= 0); + if (!computeSkeleton) + maxSize = -1; + else + { + r.y += lineHeight + vSpace; + maxSize = Mathf.Max(0, EditorGUI.FloatField( + r, m_MaxWindowSizeLabel, Mathf.Max(0, maxSize))); + } + m_MaxWindowSizeProperty.floatValue = maxSize; + m_MaxWindowSizeProperty.serializedObject.ApplyModifiedProperties(); + EditorGUI.EndProperty(); + } + + rect = EditorGUILayout.GetControlRect(true); + if (GUI.Button(rect, m_InvalidateCacheLabel)) + { + Target.InvalidateCache(); + EditorUtility.SetDirty(Target); + } + + bool timedOut = Target.ConfinerOvenTimedOut(); + if (computeSkeleton) + { + var progress = Target.BakeProgress(); + EditorGUI.ProgressBar(EditorGUILayout.GetControlRect(), progress, + timedOut ? "Timed out" : progress == 0 ? "" : progress < 1f ? "Baking" : "Baked"); + if (progress > 0 && progress < 1 && Event.current.type == EventType.Repaint) + EditorUtility.SetDirty(target); + } + + if (timedOut) + { + EditorGUILayout.HelpBox( + "Polygon skeleton computation timed out. Confiner result might be incomplete." + + "\n\nTo fix this, reduce the number of points in the confining shape, " + + "or set the MaxWindowSize parameter to limit skeleton computation.", + MessageType.Warning); + } + } + + private static List> s_currentPathCache = new List>(); + + [DrawGizmo(GizmoType.Active | GizmoType.Selected, typeof(CinemachineConfiner2D))] + private static void DrawConfinerGizmos(CinemachineConfiner2D confiner2D, GizmoType type) + { + if (!confiner2D.GetGizmoPaths(out var originalPath, ref s_currentPathCache, out var pathLocalToWorld)) + return; + + Color color = CinemachineSettings.CinemachineCoreSettings.BoundaryObjectGizmoColour; + Color colorDimmed = new Color(color.r, color.g, color.b, color.a / 2f); + + var oldMatrix = Gizmos.matrix; + Gizmos.matrix = pathLocalToWorld; + + // Draw input confiner + Gizmos.color = color; + foreach (var path in originalPath ) + { + for (var index = 0; index < path.Count; index++) + Gizmos.DrawLine(path[index], path[(index + 1) % path.Count]); + } + + // Draw confiner for current camera size + Gizmos.color = colorDimmed; + foreach (var path in s_currentPathCache) + { + for (var index = 0; index < path.Count; index++) + Gizmos.DrawLine(path[index], path[(index + 1) % path.Count]); + } + + Gizmos.matrix = oldMatrix; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfiner2DEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfiner2DEditor.cs.meta new file mode 100644 index 00000000..77f554d3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfiner2DEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 002b168e31e0479e8b470eb4c02d87cf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfinerEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfinerEditor.cs new file mode 100644 index 00000000..d742ab3d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfinerEditor.cs @@ -0,0 +1,197 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using UnityEngine; +using UnityEditor; +using System; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ +#if CINEMACHINE_PHYSICS || CINEMACHINE_PHYSICS_2D + [CustomEditor(typeof(CinemachineConfiner))] + [CanEditMultipleObjects] + internal sealed class CinemachineConfinerEditor : BaseEditor + { + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + CinemachineBrain brain = CinemachineCore.Instance.FindPotentialTargetBrain(Target.VirtualCamera); + bool ortho = brain != null ? brain.OutputCamera.orthographic : false; + if (!ortho) + excluded.Add(FieldPath(x => x.m_ConfineScreenEdges)); +#if CINEMACHINE_PHYSICS && CINEMACHINE_PHYSICS_2D + if (Target.m_ConfineMode == CinemachineConfiner.Mode.Confine2D) + excluded.Add(FieldPath(x => x.m_BoundingVolume)); + else + excluded.Add(FieldPath(x => x.m_BoundingShape2D)); +#endif + } + + public override void OnInspectorGUI() + { + BeginInspector(); +#if CINEMACHINE_PHYSICS && CINEMACHINE_PHYSICS_2D + if (Target.m_ConfineMode == CinemachineConfiner.Mode.Confine2D) + { +#endif +#if CINEMACHINE_PHYSICS_2D + if (Target.m_BoundingShape2D == null) + EditorGUILayout.HelpBox("A Bounding Shape is required.", MessageType.Warning); + else if (Target.m_BoundingShape2D.GetType() != typeof(PolygonCollider2D) + && Target.m_BoundingShape2D.GetType() != typeof(CompositeCollider2D)) + { + EditorGUILayout.HelpBox( + "Must be a PolygonCollider2D or CompositeCollider2D.", + MessageType.Warning); + } + else if (Target.m_BoundingShape2D.GetType() == typeof(CompositeCollider2D)) + { + CompositeCollider2D poly = Target.m_BoundingShape2D as CompositeCollider2D; + if (poly.geometryType != CompositeCollider2D.GeometryType.Polygons) + { + EditorGUILayout.HelpBox( + "CompositeCollider2D geometry type must be Polygons", + MessageType.Warning); + } + } +#endif +#if CINEMACHINE_PHYSICS && CINEMACHINE_PHYSICS_2D + } + else + { +#endif +#if CINEMACHINE_PHYSICS + if (Target.m_BoundingVolume == null) + EditorGUILayout.HelpBox("A Bounding Volume is required.", MessageType.Warning); + else if (Target.m_BoundingVolume.GetType() != typeof(BoxCollider) + && Target.m_BoundingVolume.GetType() != typeof(SphereCollider) + && Target.m_BoundingVolume.GetType() != typeof(CapsuleCollider)) + { + EditorGUILayout.HelpBox( + "Must be a BoxCollider, SphereCollider, or CapsuleCollider.", + MessageType.Warning); + } +#endif +#if CINEMACHINE_PHYSICS && CINEMACHINE_PHYSICS_2D + } +#endif + DrawRemainingPropertiesInInspector(); + } + + [DrawGizmo(GizmoType.Active | GizmoType.Selected, typeof(CinemachineConfiner))] + private static void DrawColliderGizmos(CinemachineConfiner confiner, GizmoType type) + { + CinemachineVirtualCameraBase vcam = (confiner != null) ? confiner.VirtualCamera : null; + if (vcam != null && confiner.IsValid) + { + Matrix4x4 oldMatrix = Gizmos.matrix; + Color oldColor = Gizmos.color; + Gizmos.color = Color.yellow; + +#if CINEMACHINE_PHYSICS && CINEMACHINE_PHYSICS_2D + if (confiner.m_ConfineMode == CinemachineConfiner.Mode.Confine3D) + { +#endif +#if CINEMACHINE_PHYSICS + Transform t = confiner.m_BoundingVolume.transform; + Gizmos.matrix = Matrix4x4.TRS(t.position, t.rotation, t.lossyScale); + + Type colliderType = confiner.m_BoundingVolume.GetType(); + if (colliderType == typeof(BoxCollider)) + { + BoxCollider c = confiner.m_BoundingVolume as BoxCollider; + Gizmos.DrawWireCube(c.center, c.size); + } + else if (colliderType == typeof(SphereCollider)) + { + SphereCollider c = confiner.m_BoundingVolume as SphereCollider; + Gizmos.DrawWireSphere(c.center, c.radius); + } + else if (colliderType == typeof(CapsuleCollider)) + { + CapsuleCollider c = confiner.m_BoundingVolume as CapsuleCollider; + Vector3 size = Vector3.one * c.radius * 2; + switch (c.direction) + { + case 0: size.x = c.height; break; + case 1: size.y = c.height; break; + case 2: size.z = c.height; break; + } + Gizmos.DrawWireCube(c.center, size); + } + else if (colliderType == typeof(MeshCollider)) + { + MeshCollider c = confiner.m_BoundingVolume as MeshCollider; + Gizmos.DrawWireMesh(c.sharedMesh); + } + else + { + // Just draw an AABB - not very nice! + Gizmos.matrix = oldMatrix; + Bounds bounds = confiner.m_BoundingVolume.bounds; + Gizmos.DrawWireCube(t.position, bounds.extents * 2); + } +#endif +#if CINEMACHINE_PHYSICS && CINEMACHINE_PHYSICS_2D + } + else + { +#endif +#if CINEMACHINE_PHYSICS_2D + Transform t = confiner.m_BoundingShape2D.transform; + Gizmos.matrix = Matrix4x4.TRS(t.position, t.rotation, t.lossyScale); + + Type colliderType = confiner.m_BoundingShape2D.GetType(); + if (colliderType == typeof(PolygonCollider2D)) + { + PolygonCollider2D poly = confiner.m_BoundingShape2D as PolygonCollider2D; + for (int i = 0; i < poly.pathCount; ++i) + DrawPath(poly.GetPath(i), -1, poly.offset); + } + else if (colliderType == typeof(CompositeCollider2D)) + { + CompositeCollider2D poly = confiner.m_BoundingShape2D as CompositeCollider2D; + Vector2[] path = new Vector2[poly.pointCount]; + Vector2 revertCompositeColliderScale = new Vector2(1f / t.lossyScale.x, 1f / t.lossyScale.y); + for (int i = 0; i < poly.pathCount; ++i) + { + int numPoints = poly.GetPath(i, path); + for (int j = 0; j < path.Length; ++j) + { + path[j] *= revertCompositeColliderScale; + } + DrawPath(path, numPoints, poly.offset); + } + } +#endif +#if CINEMACHINE_PHYSICS && CINEMACHINE_PHYSICS_2D + } +#endif + Gizmos.color = oldColor; + Gizmos.matrix = oldMatrix; + } + } + + static void DrawPath(Vector2[] path, int numPoints, Vector2 offset) + { + if (numPoints < 0) + numPoints = path.Length; + if (numPoints > 0) + { + Vector2 v0 = path[numPoints-1]; + for (int j = 0; j < numPoints; ++j) + { + Vector2 v = path[j]; + Gizmos.DrawLine(v0 + offset, v + offset); + v0 = v; + } + } + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfinerEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfinerEditor.cs.meta new file mode 100644 index 00000000..763f3d06 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineConfinerEditor.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 3f7c779802a73d5448e38af7c39fbaa5 +timeCreated: 1503423096 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineExternalCameraEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineExternalCameraEditor.cs new file mode 100644 index 00000000..2a5feb06 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineExternalCameraEditor.cs @@ -0,0 +1,19 @@ +using System.Collections.Generic; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineExternalCamera))] + [CanEditMultipleObjects] + internal class CinemachineExternalCameraEditor + : CinemachineVirtualCameraBaseEditor + { + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add("Extensions"); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineExternalCameraEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineExternalCameraEditor.cs.meta new file mode 100644 index 00000000..97a0d816 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineExternalCameraEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3226d9f88577be74197693bd17cff8c3 +timeCreated: 1506455627 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFramingTransposerEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFramingTransposerEditor.cs new file mode 100644 index 00000000..dea9adfa --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFramingTransposerEditor.cs @@ -0,0 +1,267 @@ +using UnityEngine; +using UnityEditor; +using Cinemachine.Utility; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineFramingTransposer))] + [CanEditMultipleObjects] + internal class CinemachineFramingTransposerEditor : BaseEditor + { + CinemachineScreenComposerGuides m_ScreenGuideEditor; + GameViewEventCatcher m_GameViewEventCatcher; + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + if (Target.m_UnlimitedSoftZone) + { + excluded.Add(FieldPath(x => x.m_SoftZoneWidth)); + excluded.Add(FieldPath(x => x.m_SoftZoneHeight)); + excluded.Add(FieldPath(x => x.m_BiasX)); + excluded.Add(FieldPath(x => x.m_BiasY)); + } + ICinemachineTargetGroup group = Target.AbstractFollowTargetGroup; + if (group == null || Target.m_GroupFramingMode == CinemachineFramingTransposer.FramingMode.None) + { + excluded.Add(FieldPath(x => x.m_GroupFramingSize)); + excluded.Add(FieldPath(x => x.m_AdjustmentMode)); + excluded.Add(FieldPath(x => x.m_MaxDollyIn)); + excluded.Add(FieldPath(x => x.m_MaxDollyOut)); + excluded.Add(FieldPath(x => x.m_MinimumDistance)); + excluded.Add(FieldPath(x => x.m_MaximumDistance)); + excluded.Add(FieldPath(x => x.m_MinimumFOV)); + excluded.Add(FieldPath(x => x.m_MaximumFOV)); + excluded.Add(FieldPath(x => x.m_MinimumOrthoSize)); + excluded.Add(FieldPath(x => x.m_MaximumOrthoSize)); + if (group == null) + excluded.Add(FieldPath(x => x.m_GroupFramingMode)); + } + else + { + CinemachineBrain brain = CinemachineCore.Instance.FindPotentialTargetBrain(Target.VirtualCamera); + bool ortho = brain != null ? brain.OutputCamera.orthographic : false; + if (ortho) + { + excluded.Add(FieldPath(x => x.m_AdjustmentMode)); + excluded.Add(FieldPath(x => x.m_MaxDollyIn)); + excluded.Add(FieldPath(x => x.m_MaxDollyOut)); + excluded.Add(FieldPath(x => x.m_MinimumDistance)); + excluded.Add(FieldPath(x => x.m_MaximumDistance)); + excluded.Add(FieldPath(x => x.m_MinimumFOV)); + excluded.Add(FieldPath(x => x.m_MaximumFOV)); + } + else + { + excluded.Add(FieldPath(x => x.m_MinimumOrthoSize)); + excluded.Add(FieldPath(x => x.m_MaximumOrthoSize)); + switch (Target.m_AdjustmentMode) + { + case CinemachineFramingTransposer.AdjustmentMode.DollyOnly: + excluded.Add(FieldPath(x => x.m_MinimumFOV)); + excluded.Add(FieldPath(x => x.m_MaximumFOV)); + break; + case CinemachineFramingTransposer.AdjustmentMode.ZoomOnly: + excluded.Add(FieldPath(x => x.m_MaxDollyIn)); + excluded.Add(FieldPath(x => x.m_MaxDollyOut)); + excluded.Add(FieldPath(x => x.m_MinimumDistance)); + excluded.Add(FieldPath(x => x.m_MaximumDistance)); + break; + default: + break; + } + } + } + } + + protected virtual void OnEnable() + { + m_ScreenGuideEditor = new CinemachineScreenComposerGuides(); + m_ScreenGuideEditor.GetHardGuide = () => { return Target.HardGuideRect; }; + m_ScreenGuideEditor.GetSoftGuide = () => { return Target.SoftGuideRect; }; + m_ScreenGuideEditor.SetHardGuide = (Rect r) => { Target.HardGuideRect = r; }; + m_ScreenGuideEditor.SetSoftGuide = (Rect r) => { Target.SoftGuideRect = r; }; + m_ScreenGuideEditor.Target = () => { return serializedObject; }; + + m_GameViewEventCatcher = new GameViewEventCatcher(); + m_GameViewEventCatcher.OnEnable(); + + CinemachineDebug.OnGUIHandlers -= OnGUI; + CinemachineDebug.OnGUIHandlers += OnGUI; + if (CinemachineSettings.CinemachineCoreSettings.ShowInGameGuides) + InspectorUtility.RepaintGameView(); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.RegisterTool(typeof(FollowOffsetTool)); + CinemachineSceneToolUtility.RegisterTool(typeof(TrackedObjectOffsetTool)); +#endif + } + + protected virtual void OnDisable() + { + m_GameViewEventCatcher.OnDisable(); + CinemachineDebug.OnGUIHandlers -= OnGUI; + if (CinemachineSettings.CinemachineCoreSettings.ShowInGameGuides) + InspectorUtility.RepaintGameView(); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.UnregisterTool(typeof(FollowOffsetTool)); + CinemachineSceneToolUtility.UnregisterTool(typeof(TrackedObjectOffsetTool)); +#endif + } + + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineFramingTransposer).FollowTarget == null; + if (needWarning) + EditorGUILayout.HelpBox( + "Framing Transposer requires a Follow target. " + + "Change Body to Do Nothing if you don't want a Follow target.", + MessageType.Warning); + + // First snapshot some settings + Rect oldHard = Target.HardGuideRect; + Rect oldSoft = Target.SoftGuideRect; + + // Draw the properties + DrawRemainingPropertiesInInspector(); + m_ScreenGuideEditor.SetNewBounds(oldHard, oldSoft, Target.HardGuideRect, Target.SoftGuideRect); + } + + protected virtual void OnGUI() + { + // Draw the camera guides + if (Target == null || !CinemachineSettings.CinemachineCoreSettings.ShowInGameGuides) + return; + + // If inspector is collapsed in the vcam editor, don't draw the guides + if (!VcamStageEditor.ActiveEditorRegistry.IsActiveEditor(this)) + return; + + CinemachineBrain brain = CinemachineCore.Instance.FindPotentialTargetBrain(Target.VirtualCamera); + if (brain == null || (brain.OutputCamera.activeTexture != null && CinemachineCore.Instance.BrainCount > 1)) + return; + + bool isLive = targets.Length <= 1 && brain.IsLive(Target.VirtualCamera, true); + + // Screen guides + m_ScreenGuideEditor.OnGUI_DrawGuides(isLive, brain.OutputCamera, Target.VcamState.Lens, !Target.m_UnlimitedSoftZone); + + // Draw an on-screen gizmo for the target + if (Target.FollowTarget != null && isLive) + { + Vector3 targetScreenPosition = brain.OutputCamera.WorldToScreenPoint(Target.TrackedPoint); + if (targetScreenPosition.z > 0) + { + targetScreenPosition.y = Screen.height - targetScreenPosition.y; + + GUI.color = CinemachineSettings.ComposerSettings.TargetColour; + Rect r = new Rect(targetScreenPosition, Vector2.zero); + float size = (CinemachineSettings.ComposerSettings.TargetSize + + CinemachineScreenComposerGuides.kGuideBarWidthPx) / 2; + GUI.DrawTexture(r.Inflated(new Vector2(size, size)), Texture2D.whiteTexture); + size -= CinemachineScreenComposerGuides.kGuideBarWidthPx; + if (size > 0) + { + Vector4 overlayOpacityScalar + = new Vector4(1f, 1f, 1f, CinemachineSettings.ComposerSettings.OverlayOpacity); + GUI.color = Color.black * overlayOpacityScalar; + GUI.DrawTexture(r.Inflated(new Vector2(size, size)), Texture2D.whiteTexture); + } + } + } + } + + [DrawGizmo(GizmoType.Active | GizmoType.InSelectionHierarchy, typeof(CinemachineFramingTransposer))] + private static void DrawGroupComposerGizmos(CinemachineFramingTransposer target, GizmoType selectionType) + { + // Show the group bounding box, as viewed from the camera position + if (target.AbstractFollowTargetGroup != null + && target.m_GroupFramingMode != CinemachineFramingTransposer.FramingMode.None) + { + Matrix4x4 m = Gizmos.matrix; + Bounds b = target.LastBounds; + Gizmos.matrix = target.LastBoundsMatrix; + Gizmos.color = Color.yellow; + if (target.VcamState.Lens.Orthographic) + Gizmos.DrawWireCube(b.center, b.size); + else + { + float z = b.center.z; + Vector3 e = b.extents; + Gizmos.DrawFrustum( + Vector3.zero, + Mathf.Atan2(e.y, z) * Mathf.Rad2Deg * 2, + z + e.z, z - e.z, e.x / e.y); + } + Gizmos.matrix = m; + } + } + +#if UNITY_2021_2_OR_NEWER + void OnSceneGUI() + { + DrawSceneTools(); + } + + void DrawSceneTools() + { + var framingTransposer = Target; + if (framingTransposer == null || !framingTransposer.IsValid) + { + return; + } + + if (CinemachineSceneToolUtility.IsToolActive(typeof(TrackedObjectOffsetTool))) + { + CinemachineSceneToolHelpers.TrackedObjectOffsetTool(framingTransposer, + new SerializedObject(framingTransposer).FindProperty(() => framingTransposer.m_TrackedObjectOffset)); + } + else if (CinemachineSceneToolUtility.IsToolActive(typeof(FollowOffsetTool))) + { + var originalColor = Handles.color; + var camPos = framingTransposer.VcamState.RawPosition; + var targetForward = framingTransposer.VirtualCamera.State.FinalOrientation * Vector3.forward; + EditorGUI.BeginChangeCheck(); + Handles.color = CinemachineSceneToolHelpers.HelperLineDefaultColor; + var cdHandleId = GUIUtility.GetControlID(FocusType.Passive); + var newHandlePosition = Handles.Slider(cdHandleId, camPos, targetForward, + CinemachineSceneToolHelpers.CubeHandleCapSize(camPos), Handles.CubeHandleCap, 0.5f); + if (EditorGUI.EndChangeCheck()) + { + // Modify via SerializedProperty for OnValidate to get called automatically, and scene repainting too + var so = new SerializedObject(framingTransposer); + var prop = so.FindProperty(() => framingTransposer.m_CameraDistance); + prop.floatValue -= CinemachineSceneToolHelpers.SliderHandleDelta(newHandlePosition, camPos, targetForward); + so.ApplyModifiedProperties(); + } + + var cameraDistanceHandleIsDragged = GUIUtility.hotControl == cdHandleId; + var cameraDistanceHandleIsUsedOrHovered = cameraDistanceHandleIsDragged || + HandleUtility.nearestControl == cdHandleId; + if (cameraDistanceHandleIsUsedOrHovered) + { + CinemachineSceneToolHelpers.DrawLabel(camPos, + "Camera Distance (" + framingTransposer.m_CameraDistance.ToString("F1") + ")"); + } + + Handles.color = cameraDistanceHandleIsUsedOrHovered ? + Handles.selectedColor : CinemachineSceneToolHelpers.HelperLineDefaultColor; + Handles.DrawLine(camPos, + framingTransposer.FollowTarget.position + framingTransposer.m_TrackedObjectOffset); + + CinemachineSceneToolHelpers.SoloOnDrag(cameraDistanceHandleIsDragged, framingTransposer.VirtualCamera, + cdHandleId); + + Handles.color = originalColor; + } + } +#endif + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFramingTransposerEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFramingTransposerEditor.cs.meta new file mode 100644 index 00000000..c55f83aa --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFramingTransposerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 620aee1bd928b2a4981896c6b4e1bf0d +timeCreated: 1502046367 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFreeLookEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFreeLookEditor.cs new file mode 100644 index 00000000..20e0bafc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFreeLookEditor.cs @@ -0,0 +1,342 @@ +using UnityEngine; +using UnityEditor; +using Cinemachine.Editor; +using System.Collections.Generic; +using Cinemachine.Utility; +using Matrix4x4 = UnityEngine.Matrix4x4; +using Quaternion = UnityEngine.Quaternion; +using Vector3 = UnityEngine.Vector3; + +namespace Cinemachine +{ + [CustomEditor(typeof(CinemachineFreeLook))] + [CanEditMultipleObjects] + internal sealed class CinemachineFreeLookEditor + : CinemachineVirtualCameraBaseEditor + { + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_Orbits)); + if (!Target.m_CommonLens) + excluded.Add(FieldPath(x => x.m_Lens)); + if (Target.m_BindingMode == CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp) + { + excluded.Add(FieldPath(x => x.m_Heading)); + excluded.Add(FieldPath(x => x.m_RecenterToTargetHeading)); + } + } + + protected override void OnEnable() + { + base.OnEnable(); + Target.UpdateInputAxisProvider(); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.RegisterTool(typeof(FoVTool)); + CinemachineSceneToolUtility.RegisterTool(typeof(FarNearClipTool)); + CinemachineSceneToolUtility.RegisterTool(typeof(FollowOffsetTool)); + CinemachineSceneToolUtility.RegisterTool(typeof(FreelookRigSelection)); +#endif + } + + protected override void OnDisable() + { + base.OnDisable(); + + // Must destroy child editors or we get exceptions + if (m_rigEditor != null) + UnityEngine.Object.DestroyImmediate(m_rigEditor); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.UnregisterTool(typeof(FoVTool)); + CinemachineSceneToolUtility.UnregisterTool(typeof(FarNearClipTool)); + CinemachineSceneToolUtility.UnregisterTool(typeof(FollowOffsetTool)); + CinemachineSceneToolUtility.UnregisterTool(typeof(FreelookRigSelection)); +#endif + } + + public override void OnInspectorGUI() + { + Target.GetRig(0); // force an update of the rig cache + if (!Target.RigsAreCreated) + { + EditorGUILayout.HelpBox( + "It's not possible to add this component to a prefab instance. " + + "Instead, you can open the Prefab in Prefab Mode or unpack " + + "the Prefab instance to remove the Prefab connection.", + MessageType.Error); + return; + } + + Target.m_XAxis.ValueRangeLocked + = (Target.m_BindingMode == CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp); + + // Ordinary properties + BeginInspector(); + DrawHeaderInInspector(); + DrawPropertyInInspector(FindProperty(x => x.m_Priority)); + DrawTargetsInInspector(FindProperty(x => x.m_Follow), FindProperty(x => x.m_LookAt)); + DrawPropertyInInspector(FindProperty(x => x.m_StandbyUpdate)); + DrawPropertyInInspector(FindProperty(x => x.m_CommonLens)); + DrawLensSettingsInInspector(FindProperty(x => x.m_Lens)); + DrawRemainingPropertiesInInspector(); + + // Orbits + EditorGUI.BeginChangeCheck(); + SerializedProperty orbits = FindProperty(x => x.m_Orbits); + for (int i = 0; i < CinemachineFreeLook.RigNames.Length; ++i) + { + Rect rect = EditorGUILayout.GetControlRect(true); + SerializedProperty orbit = orbits.GetArrayElementAtIndex(i); + InspectorUtility.MultiPropertyOnLine(rect, + new GUIContent(CinemachineFreeLook.RigNames[i]), + new [] { orbit.FindPropertyRelative(() => Target.m_Orbits[i].m_Height), + orbit.FindPropertyRelative(() => Target.m_Orbits[i].m_Radius) }, + null); + } + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + + // Rigs + if (Selection.objects.Length == 1) + { + EditorGUILayout.Separator(); + EditorGUILayout.Separator(); + SetSelectedRig(Target, GUILayout.Toolbar(GetSelectedRig(Target), s_RigNames)); + UpdateRigEditor(); + if (m_rigEditor != null) + { + EditorGUILayout.BeginVertical(GUI.skin.box); + ++EditorGUI.indentLevel; + m_rigEditor.OnInspectorGUI(); + --EditorGUI.indentLevel; + EditorGUILayout.EndVertical(); + } + } + + // Extensions + DrawExtensionsWidgetInInspector(); + } + + void OnSceneGUI() + { + // Forward to embedded rig editor + if (m_rigEditor != null && m_RigEditorOnSceneGUI != null) + m_RigEditorOnSceneGUI.Invoke(m_rigEditor, null); + +#if UNITY_2021_2_OR_NEWER + DrawSceneTools(); +#endif + } + +#if UNITY_2021_2_OR_NEWER + void DrawSceneTools() + { + var freelook = Target; + if (freelook == null || !freelook.IsValid) + { + return; + } + + var originalColor = Handles.color; + Handles.color = Handles.preselectionColor; + if (freelook.m_CommonLens && CinemachineSceneToolUtility.IsToolActive(typeof(FoVTool))) + { + CinemachineSceneToolHelpers.FovToolHandle(freelook, + new SerializedObject(freelook).FindProperty(() => freelook.m_Lens), + freelook.m_Lens, IsHorizontalFOVUsed()); + } + else if (freelook.m_CommonLens && CinemachineSceneToolUtility.IsToolActive(typeof(FarNearClipTool))) + { + CinemachineSceneToolHelpers.NearFarClipHandle(freelook, + new SerializedObject(freelook).FindProperty(() => freelook.m_Lens)); + } + else if (freelook.Follow != null && CinemachineSceneToolUtility.IsToolActive(typeof(FollowOffsetTool))) + { + var draggedRig = CinemachineSceneToolHelpers.OrbitControlHandle(freelook, + new SerializedObject(freelook).FindProperty(() => freelook.m_Orbits)); + if (draggedRig >= 0) + SetSelectedRig(Target, draggedRig); + } + Handles.color = originalColor; + } +#endif + + static GUIContent[] s_RigNames = + { + new GUIContent("Top Rig"), + new GUIContent("Middle Rig"), + new GUIContent("Bottom Rig") + }; + internal static GUIContent[] RigNames => s_RigNames; + + static int GetSelectedRig(CinemachineFreeLook freelook) + { + return freelook.m_YAxis.Value < 0.33f ? 2 : (freelook.m_YAxis.Value > 0.66f ? 0 : 1); + } + + internal static void SetSelectedRig(CinemachineFreeLook freelook, int rigIndex) + { + Debug.Assert(rigIndex >= 0 && rigIndex < 3); + if (GetSelectedRig(freelook) != rigIndex) + { + var prop = new SerializedObject(freelook).FindProperty( + () => freelook.m_YAxis).FindPropertyRelative(() => freelook.m_YAxis.Value); + prop.floatValue = rigIndex == 0 ? 1 : (rigIndex == 1 ? 0.5f : 0); + prop.serializedObject.ApplyModifiedProperties(); + freelook.InternalUpdateCameraState(Vector3.up, -1); + } +#if UNITY_2021_2_OR_NEWER + // Push current selection to the rig selection tool + FreelookRigSelection.SelectedRig = rigIndex; +#endif + } + + UnityEditor.Editor m_rigEditor; + System.Reflection.MethodInfo m_RigEditorOnSceneGUI; + CinemachineVirtualCameraBase m_EditedRig = null; + + void UpdateRigEditor() + { + var selectedRig = GetSelectedRig(Target); + CinemachineVirtualCamera rig = Target.GetRig(selectedRig); + if (m_EditedRig != rig || m_rigEditor == null) + { + m_EditedRig = rig; + m_RigEditorOnSceneGUI = null; + if (m_rigEditor != null) + { + UnityEngine.Object.DestroyImmediate(m_rigEditor); + m_rigEditor = null; + } + if (rig != null) + { + CreateCachedEditor(rig, null, ref m_rigEditor); + if (m_rigEditor != null) + m_RigEditorOnSceneGUI = m_rigEditor.GetType().GetMethod("OnSceneGUI", + System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + } + } + } + + /// + /// Register with CinemachineFreeLook to create the pipeline in an undo-friendly manner + /// + [InitializeOnLoad] + class CreateRigWithUndo + { + static CreateRigWithUndo() + { + CinemachineFreeLook.CreateRigOverride + = (CinemachineFreeLook vcam, string name, CinemachineVirtualCamera copyFrom) => + { + // Recycle the game object if it exists + GameObject go = null; + foreach (Transform child in vcam.transform) + { + if (child.gameObject.name == name) + { + go = child.gameObject; + break; + } + } + + CinemachineVirtualCamera rig = null; + if (go == null) + { + // Create a new rig - can't do it if prefab instance + if (PrefabUtility.IsPartOfAnyPrefab(vcam.gameObject)) + return null; + go = ObjectFactory.CreateGameObject(name); + Undo.RegisterCreatedObjectUndo(go, "created rig"); + Undo.SetTransformParent(go.transform, vcam.transform, "parenting pipeline"); + } + + // Create a new rig with default components + rig = Undo.AddComponent(go); + rig.CreatePipeline(copyFrom); + if (copyFrom != null) + ReflectionHelpers.CopyFields(copyFrom, rig); + else + { + // Defaults + go = rig.GetComponentOwner().gameObject; + Undo.AddComponent(go); + Undo.AddComponent(go); + rig.InvalidateComponentPipeline(); + } + return rig; + }; + + CinemachineFreeLook.DestroyRigOverride = (GameObject rig) => + { + var vcam = rig.GetComponent(); + if (vcam != null) + { + vcam.DestroyPipeline(); + Undo.DestroyObjectImmediate(vcam); + } + }; + } + } + + [DrawGizmo(GizmoType.Active | GizmoType.Selected, typeof(CinemachineFreeLook))] + private static void DrawFreeLookGizmos(CinemachineFreeLook vcam, GizmoType selectionType) + { + // Standard frustum and logo + CinemachineBrainEditor.DrawVirtualCameraBaseGizmos(vcam, selectionType); + + Color originalGizmoColour = Gizmos.color; + bool isActiveVirtualCam = CinemachineCore.Instance.IsLive(vcam); + Gizmos.color = isActiveVirtualCam + ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour + : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour; + + if (vcam.Follow != null) + { + Vector3 pos = vcam.Follow.position; + Vector3 up = vcam.State.ReferenceUp; + + var MiddleRig = vcam.GetRig(1).GetCinemachineComponent(); + if (MiddleRig != null) + { + Quaternion orient = MiddleRig.GetReferenceOrientation(up); + up = orient * Vector3.up; + float rotation = vcam.m_XAxis.Value + vcam.m_Heading.m_Bias; + orient = Quaternion.AngleAxis(rotation, up) * orient; + + CinemachineOrbitalTransposerEditor.DrawCircleAtPointWithRadius( + pos + up * vcam.m_Orbits[0].m_Height, orient, vcam.m_Orbits[0].m_Radius); + CinemachineOrbitalTransposerEditor.DrawCircleAtPointWithRadius( + pos + up * vcam.m_Orbits[1].m_Height, orient, vcam.m_Orbits[1].m_Radius); + CinemachineOrbitalTransposerEditor.DrawCircleAtPointWithRadius( + pos + up * vcam.m_Orbits[2].m_Height, orient, vcam.m_Orbits[2].m_Radius); + + DrawCameraPath(pos, orient, vcam); + } + } + + Gizmos.color = originalGizmoColour; + } + + private static void DrawCameraPath(Vector3 atPos, Quaternion orient, CinemachineFreeLook vcam) + { + Matrix4x4 prevMatrix = Gizmos.matrix; + Gizmos.matrix = Matrix4x4.TRS(atPos, orient, Vector3.one); + + const int kNumSteps = 20; + Vector3 currPos = vcam.GetLocalPositionForCameraFromInput(0f); + for (int i = 1; i < kNumSteps + 1; ++i) + { + float t = (float)i / (float)kNumSteps; + Vector3 nextPos = vcam.GetLocalPositionForCameraFromInput(t); + Gizmos.DrawLine(currPos, nextPos); + currPos = nextPos; + } + Gizmos.matrix = prevMatrix; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFreeLookEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFreeLookEditor.cs.meta new file mode 100644 index 00000000..3f7e1755 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineFreeLookEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04e6f1d86089cda409e925cd975436d9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineGroupComposerEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineGroupComposerEditor.cs new file mode 100644 index 00000000..f32a9091 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineGroupComposerEditor.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.Linq.Expressions; +using UnityEditor; +using UnityEngine; +using Cinemachine.Utility; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineGroupComposer))] + internal class CinemachineGroupComposerEditor : CinemachineComposerEditor + { + // Specialization + private CinemachineGroupComposer MyTarget { get { return target as CinemachineGroupComposer; } } + protected string FieldPath(Expression> expr) + { + return ReflectionHelpers.GetFieldPath(expr); + } + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + CinemachineBrain brain = CinemachineCore.Instance.FindPotentialTargetBrain(MyTarget.VirtualCamera); + bool ortho = brain != null ? brain.OutputCamera.orthographic : false; + if (ortho) + { + excluded.Add(FieldPath(x => x.m_AdjustmentMode)); + excluded.Add(FieldPath(x => x.m_MinimumFOV)); + excluded.Add(FieldPath(x => x.m_MaximumFOV)); + excluded.Add(FieldPath(x => x.m_MaxDollyIn)); + excluded.Add(FieldPath(x => x.m_MaxDollyOut)); + excluded.Add(FieldPath(x => x.m_MinimumDistance)); + excluded.Add(FieldPath(x => x.m_MaximumDistance)); + } + else + { + excluded.Add(FieldPath(x => x.m_MinimumOrthoSize)); + excluded.Add(FieldPath(x => x.m_MaximumOrthoSize)); + switch (MyTarget.m_AdjustmentMode) + { + case CinemachineGroupComposer.AdjustmentMode.DollyOnly: + excluded.Add(FieldPath(x => x.m_MinimumFOV)); + excluded.Add(FieldPath(x => x.m_MaximumFOV)); + break; + case CinemachineGroupComposer.AdjustmentMode.ZoomOnly: + excluded.Add(FieldPath(x => x.m_MaxDollyIn)); + excluded.Add(FieldPath(x => x.m_MaxDollyOut)); + excluded.Add(FieldPath(x => x.m_MinimumDistance)); + excluded.Add(FieldPath(x => x.m_MaximumDistance)); + break; + default: + break; + } + } + } + + public override void OnInspectorGUI() + { + if (MyTarget.IsValid && MyTarget.AbstractLookAtTargetGroup == null) + EditorGUILayout.HelpBox( + "The Framing settings will be ignored because the LookAt target is not a kind of ICinemachineTargetGroup", + MessageType.Info); + + base.OnInspectorGUI(); + } + + [DrawGizmo(GizmoType.Active | GizmoType.InSelectionHierarchy, typeof(CinemachineGroupComposer))] + private static void DrawGroupComposerGizmos(CinemachineGroupComposer target, GizmoType selectionType) + { + // Show the group bounding box, as viewed from the camera position + if (target.AbstractLookAtTargetGroup != null) + { + Matrix4x4 m = Gizmos.matrix; + Bounds b = target.LastBounds; + Gizmos.matrix = target.LastBoundsMatrix; + Gizmos.color = Color.yellow; + + if (target.VcamState.Lens.Orthographic) + Gizmos.DrawWireCube(b.center, b.size); + else + { + float z = b.center.z; + Vector3 e = b.extents; + Gizmos.DrawFrustum( + Vector3.zero, + Mathf.Atan2(e.y, z) * Mathf.Rad2Deg * 2, + z + e.z, z - e.z, e.x / e.y); + } + Gizmos.matrix = m; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineGroupComposerEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineGroupComposerEditor.cs.meta new file mode 100644 index 00000000..70c09f98 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineGroupComposerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c5da6ce9225f948438f7d6a072499ecd +timeCreated: 1496702989 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLockToTargetEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLockToTargetEditor.cs new file mode 100644 index 00000000..88d0445b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLockToTargetEditor.cs @@ -0,0 +1,23 @@ +using UnityEditor; +using UnityEngine; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineHardLockToTarget))] + [CanEditMultipleObjects] + internal sealed class CinemachineHardLockToTargetEditor : BaseEditor + { + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineHardLockToTarget).FollowTarget == null; + if (needWarning) + EditorGUILayout.HelpBox( + "Hard Lock requires a Follow Target. Change Body to Do Nothing if you don't want a Follow target.", + MessageType.Warning); + DrawRemainingPropertiesInInspector(); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLockToTargetEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLockToTargetEditor.cs.meta new file mode 100644 index 00000000..1959379f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLockToTargetEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e44b92e217bfdf24d99acb4344918eeb +timeCreated: 1506541599 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLookAtEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLookAtEditor.cs new file mode 100644 index 00000000..c7bff9c5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLookAtEditor.cs @@ -0,0 +1,27 @@ +using UnityEditor; +using UnityEngine; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineHardLookAt))] + [CanEditMultipleObjects] + internal sealed class CinemachineHardLookAtEditor : BaseEditor + { + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineHardLookAt).LookAtTarget == null; + if (needWarning) + EditorGUILayout.HelpBox( + "Hard Look At requires a LookAt target. Change Aim to Do Nothing if you don't want a LookAt target.", + MessageType.Warning); + EditorGUI.BeginChangeCheck(); + GUI.enabled = false; + EditorGUILayout.LabelField(" ", "No additional settings", EditorStyles.miniLabel); + GUI.enabled = true; + DrawRemainingPropertiesInInspector(); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLookAtEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLookAtEditor.cs.meta new file mode 100644 index 00000000..6f8815d7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineHardLookAtEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9ce16cd7e31794b48b2843381cd87d31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineMixingCameraEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineMixingCameraEditor.cs new file mode 100644 index 00000000..e86b578e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineMixingCameraEditor.cs @@ -0,0 +1,105 @@ +using UnityEditor; +using UnityEngine; +using Cinemachine.Utility; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineMixingCamera))] + internal sealed class CinemachineMixingCameraEditor + : CinemachineVirtualCameraBaseEditor + { + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + for (int i = 0; i < CinemachineMixingCamera.MaxCameras; ++i) + excluded.Add(WeightPropertyName(i)); + } + + static string WeightPropertyName(int i) { return "m_Weight" + i; } + + public override void OnInspectorGUI() + { + BeginInspector(); + DrawHeaderInInspector(); + DrawRemainingPropertiesInInspector(); + + float totalWeight = 0; + CinemachineVirtualCameraBase[] children = Target.ChildCameras; + int numCameras = Mathf.Min(CinemachineMixingCamera.MaxCameras, children.Length); + for (int i = 0; i < numCameras; ++i) + if (children[i].isActiveAndEnabled) + totalWeight += Target.GetWeight(i); + + if (numCameras == 0) + EditorGUILayout.HelpBox("There are no Virtual Camera children", MessageType.Warning); + else + { + EditorGUILayout.Separator(); + EditorGUILayout.LabelField("Child Camera Weights", EditorStyles.boldLabel); + for (int i = 0; i < numCameras; ++i) + { + SerializedProperty prop = serializedObject.FindProperty(WeightPropertyName(i)); + if (prop != null) + EditorGUILayout.PropertyField(prop, new GUIContent(children[i].Name)); + } + serializedObject.ApplyModifiedProperties(); + + if (totalWeight <= UnityVectorExtensions.Epsilon) + EditorGUILayout.HelpBox("No input channels are active", MessageType.Warning); + + if (children.Length > numCameras) + EditorGUILayout.HelpBox( + "There are " + children.Length + + " child cameras. A maximum of " + numCameras + " is supported.", + MessageType.Warning); + + // Camera proportion indicator + EditorGUILayout.Separator(); + EditorGUILayout.LabelField("Mix Result", EditorStyles.boldLabel); + DrawProportionIndicator(children, numCameras, totalWeight); + } + + // Extensions + DrawExtensionsWidgetInInspector(); + } + + void DrawProportionIndicator( + CinemachineVirtualCameraBase[] children, int numCameras, float totalWeight) + { + GUIStyle style = EditorStyles.centeredGreyMiniLabel; + Color bkg = new Color(0.27f, 0.27f, 0.27f); // ack! no better way than this? + Color fg = Color.Lerp(CinemachineBrain.GetSoloGUIColor(), bkg, 0.8f); + float totalHeight = (style.lineHeight + style.margin.vertical) * numCameras; + Rect r = EditorGUILayout.GetControlRect(true, totalHeight); + r.height /= numCameras; r.height -= 1; + float fullWidth = r.width; + for (int i = 0; i < numCameras; ++i) + { + float p = 0; + string label = children[i].Name; + if (totalWeight > UnityVectorExtensions.Epsilon) + { + if (children[i].isActiveAndEnabled) + p = Target.GetWeight(i) / totalWeight; + else + label += " (disabled)"; + } + r.width = fullWidth * p; + EditorGUI.DrawRect(r, fg); + + Rect r2 = r; + r2.x += r.width; + r2.width = fullWidth - r.width; + EditorGUI.DrawRect(r2, bkg); + + r.width = fullWidth; + EditorGUI.LabelField(r, label, style); + + r.y += r.height + 1; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineMixingCameraEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineMixingCameraEditor.cs.meta new file mode 100644 index 00000000..9088df25 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineMixingCameraEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8ad60cb17f7694c43a8190c617281753 +timeCreated: 1502201539 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineNoiseSettingsEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineNoiseSettingsEditor.cs new file mode 100644 index 00000000..1ec046a6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineNoiseSettingsEditor.cs @@ -0,0 +1,362 @@ +using UnityEditor; +using UnityEngine; +using UnityEditorInternal; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(NoiseSettings))] + internal sealed class NoiseSettingsEditor : BaseEditor + { + private const float vSpace = 2; + private const float hSpace = 3; + + // Needed for accessing string names of fields + #pragma warning disable 0649 // assigned but never used + private NoiseSettings.TransformNoiseParams tpDef; + private NoiseSettings.NoiseParams npDef; + + private static float mPreviewTime = 2; + private static float mPreviewHeight = 5; + private float mNoiseOffsetBase = 0; + private float mNoiseOffset = 0; + private bool mAnimatedPreview = false; + GUIContent mAnimatedLabel = new GUIContent("Animated", "Animate the noise signal preview"); + + + private ReorderableList[] mPosChannels; + private ReorderableList[] mRotChannels; + private static GUIContent[] mPoslabels = new GUIContent[] + { + new GUIContent("Position X"), + new GUIContent("Position Y"), + new GUIContent("Position Z") + }; + private static GUIContent[] mRotlabels = new GUIContent[] + { + new GUIContent("Rotation X"), + new GUIContent("Rotation Y"), + new GUIContent("Rotation Z") + }; + private static bool[] mPosExpanded = new bool[3]; + private static bool[] mRotExpanded = new bool[3]; + + private void OnEnable() + { + mNoiseOffsetBase = Time.realtimeSinceStartup; + mNoiseOffset = 0; + } + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => Target.PositionNoise)); + excluded.Add(FieldPath(x => Target.OrientationNoise)); + } + + public override void OnInspectorGUI() + { + if (mPosChannels == null) + mPosChannels = SetupReorderableLists( + serializedObject.FindProperty(() => Target.PositionNoise), mPoslabels); + if (mRotChannels == null) + mRotChannels = SetupReorderableLists( + serializedObject.FindProperty(() => Target.OrientationNoise), mRotlabels); + + BeginInspector(); + + Rect r = EditorGUILayout.GetControlRect(); + mPreviewTime = EditorGUI.Slider(r, "Preview Time", mPreviewTime, 0.01f, 10f); + r = EditorGUILayout.GetControlRect(); + float labelWidth = GUI.skin.label.CalcSize(mAnimatedLabel).x + EditorGUIUtility.singleLineHeight; + r.width -= labelWidth + hSpace; + mPreviewHeight = EditorGUI.Slider(r, "Preview Height", mPreviewHeight, 1f, 10f); + r.x += r.width + hSpace; r.width = labelWidth; + mAnimatedPreview = EditorGUI.ToggleLeft(r, mAnimatedLabel, mAnimatedPreview); + EditorGUILayout.Separator(); + + r = EditorGUILayout.GetControlRect(); + EditorGUI.LabelField(r, "Position Noise - amplitudes are in Distance units", EditorStyles.boldLabel); + r = EditorGUILayout.GetControlRect(true, mPreviewHeight * EditorGUIUtility.singleLineHeight); + if (Event.current.type == EventType.Repaint) + { + mSampleCachePos.SnapshotSample(r.size, Target.PositionNoise, mNoiseOffset, mAnimatedPreview); + mSampleCachePos.DrawSamplePreview(r, 7); + } + for (int i = 0; i < mPosChannels.Length; ++i) + { + r = EditorGUILayout.GetControlRect(); + mPosExpanded[i] = EditorGUI.Foldout(r, mPosExpanded[i], mPoslabels[i], true); + if (mPosExpanded[i]) + { + r = EditorGUILayout.GetControlRect(true, mPreviewHeight * EditorGUIUtility.singleLineHeight); + if (Event.current.type == EventType.Repaint) + mSampleCachePos.DrawSamplePreview(r, 1 << i); + mPosChannels[i].DoLayoutList(); + } + } + EditorGUILayout.Separator(); + + r = EditorGUILayout.GetControlRect(); + EditorGUI.LabelField(r, "Rotation Noise - amplitude units are degrees", EditorStyles.boldLabel); + r = EditorGUILayout.GetControlRect(true, mPreviewHeight * EditorGUIUtility.singleLineHeight); + if (Event.current.type == EventType.Repaint) + { + mSampleCacheRot.SnapshotSample(r.size, Target.OrientationNoise, mNoiseOffset, mAnimatedPreview); + mSampleCacheRot.DrawSamplePreview(r, 7); + } + for (int i = 0; i < mPosChannels.Length; ++i) + { + r = EditorGUILayout.GetControlRect(); + mRotExpanded[i] = EditorGUI.Foldout(r, mRotExpanded[i], mRotlabels[i], true); + if (mRotExpanded[i]) + { + r = EditorGUILayout.GetControlRect(true, mPreviewHeight * EditorGUIUtility.singleLineHeight); + if (Event.current.type == EventType.Repaint) + mSampleCacheRot.DrawSamplePreview(r, 1 << i); + mRotChannels[i].DoLayoutList(); + } + } + + serializedObject.ApplyModifiedProperties(); + + // Make it live! + if (mAnimatedPreview && Event.current.type == EventType.Repaint) + { + mNoiseOffset += Time.realtimeSinceStartup - mNoiseOffsetBase; + Repaint(); + } + mNoiseOffsetBase = Time.realtimeSinceStartup; + } + + class SampleCache + { + private List mSampleCurveX = new List(); + private List mSampleCurveY = new List(); + private List mSampleCurveZ = new List(); + private List mSampleNoise = new List(); + + public void SnapshotSample( + Vector2 areaSize, NoiseSettings.TransformNoiseParams[] signal, float noiseOffset, bool animated) + { + // These values give a smoother curve, more-or-less fitting in the window + int numSamples = Mathf.RoundToInt(areaSize.x); + if (animated) + numSamples *= 2; + const float signalScale = 0.75f; + + float maxVal = 0; + for (int i = 0; i < signal.Length; ++i) + { + maxVal = Mathf.Max(maxVal, Mathf.Abs(signal[i].X.Amplitude * signalScale)); + maxVal = Mathf.Max(maxVal, Mathf.Abs(signal[i].Y.Amplitude * signalScale)); + maxVal = Mathf.Max(maxVal, Mathf.Abs(signal[i].Z.Amplitude * signalScale)); + } + mSampleNoise.Clear(); + for (int i = 0; i < numSamples; ++i) + { + float t = (float)i / (numSamples - 1) * mPreviewTime + noiseOffset; + Vector3 p = NoiseSettings.GetCombinedFilterResults(signal, t, Vector3.zero); + mSampleNoise.Add(p); + } + mSampleCurveX.Clear(); + mSampleCurveY.Clear(); + mSampleCurveZ.Clear(); + float halfHeight = areaSize.y / 2; + float yOffset = halfHeight; + for (int i = 0; i < numSamples; ++i) + { + float t = (float)i / (numSamples - 1); + Vector3 p = mSampleNoise[i]; + mSampleCurveX.Add(new Vector3(areaSize.x * t, halfHeight * Mathf.Clamp(-p.x / maxVal, -1, 1) + yOffset, 0)); + mSampleCurveY.Add(new Vector3(areaSize.x * t, halfHeight * Mathf.Clamp(-p.y / maxVal, -1, 1) + yOffset, 0)); + mSampleCurveZ.Add(new Vector3(areaSize.x * t, halfHeight * Mathf.Clamp(-p.z / maxVal, -1, 1) + yOffset, 0)); + } + } + + public void DrawSamplePreview(Rect r, int channelMask) + { + EditorGUI.DrawRect(r, Color.black); + var oldMatrix = Handles.matrix; + Handles.matrix = Handles.matrix * Matrix4x4.Translate(r.position); + if ((channelMask & 1) != 0) + { + Handles.color = new Color(1, 0.5f, 0, 0.8f); + Handles.DrawPolyLine(mSampleCurveX.ToArray()); + } + if ((channelMask & 2) != 0) + { + Handles.color = new Color(0, 1, 0, 0.8f); + Handles.DrawPolyLine(mSampleCurveY.ToArray()); + } + if ((channelMask & 4) != 0) + { + Handles.color = new Color(0, 0.5f, 1, 0.8f); + Handles.DrawPolyLine(mSampleCurveZ.ToArray()); + } + Handles.color = Color.black; + Handles.DrawLine(new Vector3(1, 0, 0), new Vector3(r.width, 0, 0)); + Handles.DrawLine(new Vector3(0, r.height, 0), new Vector3(r.width, r.height, 0)); + Handles.matrix = oldMatrix; + } + } + SampleCache mSampleCachePos = new SampleCache(); + SampleCache mSampleCacheRot = new SampleCache(); + + private ReorderableList[] SetupReorderableLists( + SerializedProperty property, GUIContent[] titles) + { + ReorderableList[] lists = new ReorderableList[3]; + for (int i = 0; i < 3; ++i) + lists[i] = SetupReorderableList(property, i, new GUIContent("Components")); + return lists; + } + + private ReorderableList SetupReorderableList( + SerializedProperty property, int channel, GUIContent title) + { + ChannelList list = new ChannelList( + property.serializedObject, property, channel, title); + + list.drawHeaderCallback = (Rect rect) => + { + GUIContent steadyLabel = new GUIContent("(non-random wave if checked)"); + float steadyLabelWidth = GUI.skin.label.CalcSize(steadyLabel).x; + + Rect r = rect; + EditorGUI.LabelField(r, list.mTitle); + r.x = rect.x + rect.width - steadyLabelWidth; r.width = steadyLabelWidth; + EditorGUI.LabelField(r, steadyLabel); + }; + + list.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { + SerializedProperty element = list.serializedProperty.GetArrayElementAtIndex(index); + switch (list.mChannel) + { + case 0: DrawNoiseChannel(rect, element.FindPropertyRelative(() => tpDef.X)); break; + case 1: DrawNoiseChannel(rect, element.FindPropertyRelative(() => tpDef.Y)); break; + case 2: DrawNoiseChannel(rect, element.FindPropertyRelative(() => tpDef.Z)); break; + default: break; + } + }; + + list.onAddCallback = (ReorderableList l) => + { + var index = l.serializedProperty.arraySize; + ++l.serializedProperty.arraySize; + SerializedProperty p = l.serializedProperty.GetArrayElementAtIndex(index); + ClearComponent(p.FindPropertyRelative(() => tpDef.X)); + ClearComponent(p.FindPropertyRelative(() => tpDef.Y)); + ClearComponent(p.FindPropertyRelative(() => tpDef.Z)); + }; + + list.onRemoveCallback = (ReorderableList l) => + { + // Can't just delete because the component arrays are connected + SerializedProperty p = l.serializedProperty.GetArrayElementAtIndex(l.index); + bool IsClear + = (list.mChannel == 0 || IsClearComponent(p.FindPropertyRelative(() => tpDef.X))) + && (list.mChannel == 1 || IsClearComponent(p.FindPropertyRelative(() => tpDef.Y))) + && (list.mChannel == 2 || IsClearComponent(p.FindPropertyRelative(() => tpDef.Z))); + if (IsClear) + l.serializedProperty.DeleteArrayElementAtIndex(l.index); + else switch (list.mChannel) + { + case 0: ClearComponent(p.FindPropertyRelative(() => tpDef.X)); break; + case 1: ClearComponent(p.FindPropertyRelative(() => tpDef.Y)); break; + case 2: ClearComponent(p.FindPropertyRelative(() => tpDef.Z)); break; + default: break; + } + }; + + return list; + } + + class ChannelList : ReorderableList + { + public int mChannel; + public GUIContent mTitle; + + public ChannelList( + SerializedObject serializedObject, + SerializedProperty elements, + int channel, GUIContent title) + : base(serializedObject, elements, true, true, true, true) + { + mChannel = channel; + mTitle = title; + } + }; + + private GUIContent steadyLabel; + private GUIContent freqLabel; + private float freqLabelWidth; + private GUIContent ampLabel; + private float ampLabelWidth; + + private void InitializeLabels(SerializedProperty property) + { + if (steadyLabel == null) + { + SerializedProperty p = property.FindPropertyRelative(() => npDef.Constant); + steadyLabel = new GUIContent(p.displayName, p.tooltip) { text = " " }; + } + if (freqLabel == null) + { + SerializedProperty p = property.FindPropertyRelative(() => npDef.Frequency); + freqLabel = new GUIContent(p.displayName, p.tooltip); + freqLabelWidth = GUI.skin.label.CalcSize(freqLabel).x; + } + if (ampLabel == null) + { + SerializedProperty p = property.FindPropertyRelative(() => npDef.Amplitude); + ampLabel = new GUIContent(p.displayName, p.tooltip); + ampLabelWidth = GUI.skin.label.CalcSize(ampLabel).x; + } + } + + private void DrawNoiseChannel(Rect rect, SerializedProperty property) + { + InitializeLabels(property); + + Rect r = rect; + r.height -= vSpace; + r.width -= EditorGUIUtility.singleLineHeight + hSpace; + r.width /= 2; + + float oldLabelWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = freqLabelWidth; + EditorGUI.PropertyField(r, property.FindPropertyRelative(() => npDef.Frequency), freqLabel); + + r.x += r.width + hSpace; + EditorGUIUtility.labelWidth = ampLabelWidth; + EditorGUI.PropertyField(r, property.FindPropertyRelative(() => npDef.Amplitude), ampLabel); + + r.y -= 1; + r.x += r.width + hSpace; r.width = EditorGUIUtility.singleLineHeight + hSpace; + EditorGUIUtility.labelWidth = hSpace; + EditorGUI.PropertyField(r, property.FindPropertyRelative(() => npDef.Constant), steadyLabel); + + EditorGUIUtility.labelWidth = oldLabelWidth; + } + + // SerializedProperty is a NoiseSettings.NoiseParam + void ClearComponent(SerializedProperty p) + { + p.FindPropertyRelative(() => npDef.Amplitude).floatValue = 0; + p.FindPropertyRelative(() => npDef.Frequency).floatValue = 0; + p.FindPropertyRelative(() => npDef.Constant).boolValue = false; + } + + // SerializedProperty is a NoiseSettings.NoiseParam + bool IsClearComponent(SerializedProperty p) + { + return p.FindPropertyRelative(() => npDef.Amplitude).floatValue == 0 + && p.FindPropertyRelative(() => npDef.Frequency).floatValue == 0; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineNoiseSettingsEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineNoiseSettingsEditor.cs.meta new file mode 100644 index 00000000..e517ee1d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineNoiseSettingsEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8000e8170b5e1374c9503b5255ccc7e8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineOrbitalTransposerEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineOrbitalTransposerEditor.cs new file mode 100644 index 00000000..e50800ce --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineOrbitalTransposerEditor.cs @@ -0,0 +1,169 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineOrbitalTransposer))] + [CanEditMultipleObjects] + internal class CinemachineOrbitalTransposerEditor : BaseEditor + { + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + if (Target.m_HeadingIsSlave) + { + excluded.Add(FieldPath(x => x.m_BindingMode)); + excluded.Add(FieldPath(x => x.m_Heading)); + excluded.Add(FieldPath(x => x.m_XAxis)); + excluded.Add(FieldPath(x => x.m_RecenterToTargetHeading)); + } + if (Target.HideOffsetInInspector) + excluded.Add(FieldPath(x => x.m_FollowOffset)); + + switch (Target.m_BindingMode) + { + default: + case CinemachineTransposer.BindingMode.LockToTarget: + if (Target.m_AngularDampingMode == CinemachineTransposer.AngularDampingMode.Euler) + excluded.Add(FieldPath(x => x.m_AngularDamping)); + else + { + excluded.Add(FieldPath(x => x.m_PitchDamping)); + excluded.Add(FieldPath(x => x.m_YawDamping)); + excluded.Add(FieldPath(x => x.m_RollDamping)); + } + break; + case CinemachineTransposer.BindingMode.LockToTargetNoRoll: + excluded.Add(FieldPath(x => x.m_RollDamping)); + excluded.Add(FieldPath(x => x.m_AngularDamping)); + excluded.Add(FieldPath(x => x.m_AngularDampingMode)); + break; + case CinemachineTransposer.BindingMode.LockToTargetWithWorldUp: + excluded.Add(FieldPath(x => x.m_PitchDamping)); + excluded.Add(FieldPath(x => x.m_RollDamping)); + excluded.Add(FieldPath(x => x.m_AngularDamping)); + excluded.Add(FieldPath(x => x.m_AngularDampingMode)); + break; + case CinemachineTransposer.BindingMode.LockToTargetOnAssign: + case CinemachineTransposer.BindingMode.WorldSpace: + excluded.Add(FieldPath(x => x.m_PitchDamping)); + excluded.Add(FieldPath(x => x.m_YawDamping)); + excluded.Add(FieldPath(x => x.m_RollDamping)); + excluded.Add(FieldPath(x => x.m_AngularDamping)); + excluded.Add(FieldPath(x => x.m_AngularDampingMode)); + break; + case CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp: + excluded.Add(FieldPath(x => x.m_XDamping)); + excluded.Add(FieldPath(x => x.m_PitchDamping)); + excluded.Add(FieldPath(x => x.m_YawDamping)); + excluded.Add(FieldPath(x => x.m_RollDamping)); + excluded.Add(FieldPath(x => x.m_AngularDamping)); + excluded.Add(FieldPath(x => x.m_AngularDampingMode)); + excluded.Add(FieldPath(x => x.m_Heading)); + excluded.Add(FieldPath(x => x.m_RecenterToTargetHeading)); + break; + } + } + + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineOrbitalTransposer).FollowTarget == null; + if (needWarning) + EditorGUILayout.HelpBox( + "Orbital Transposer requires a Follow target.", + MessageType.Warning); + Target.m_XAxis.ValueRangeLocked + = (Target.m_BindingMode == CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp); + DrawRemainingPropertiesInInspector(); + } + + [DrawGizmo(GizmoType.Active | GizmoType.Selected, typeof(CinemachineOrbitalTransposer))] + static void DrawTransposerGizmos(CinemachineOrbitalTransposer target, GizmoType selectionType) + { + if (target.IsValid && !target.HideOffsetInInspector) + { + Color originalGizmoColour = Gizmos.color; + Gizmos.color = CinemachineCore.Instance.IsLive(target.VirtualCamera) + ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour + : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour; + + Vector3 up = target.VirtualCamera.State.ReferenceUp; + Vector3 pos = target.FollowTargetPosition; + + Quaternion orient = target.GetReferenceOrientation(up); + up = orient * Vector3.up; + DrawCircleAtPointWithRadius + (pos + up * target.m_FollowOffset.y, orient, target.m_FollowOffset.z); + + Gizmos.color = originalGizmoColour; + } + } + + public static void DrawCircleAtPointWithRadius(Vector3 point, Quaternion orient, float radius) + { + Matrix4x4 prevMatrix = Gizmos.matrix; + Gizmos.matrix = Matrix4x4.TRS(point, orient, radius * Vector3.one); + + const int kNumPoints = 25; + Vector3 currPoint = Vector3.forward; + Quaternion rot = Quaternion.AngleAxis(360f / (float)kNumPoints, Vector3.up); + for (int i = 0; i < kNumPoints + 1; ++i) + { + Vector3 nextPoint = rot * currPoint; + Gizmos.DrawLine(currPoint, nextPoint); + currPoint = nextPoint; + } + Gizmos.matrix = prevMatrix; + } + + protected virtual void OnEnable() + { + for (int i = 0; i < targets.Length; ++i) + (targets[i] as CinemachineOrbitalTransposer).UpdateInputAxisProvider(); + +#if UNITY_2021_2_OR_NEWER + if (!Target.HideOffsetInInspector) + { + CinemachineSceneToolUtility.RegisterTool(typeof(FollowOffsetTool)); + } +#endif + } + + protected virtual void OnDisable() + { +#if UNITY_2021_2_OR_NEWER + if (!Target.HideOffsetInInspector) + { + CinemachineSceneToolUtility.UnregisterTool(typeof(FollowOffsetTool)); + } +#endif + } + +#if UNITY_2021_2_OR_NEWER + void OnSceneGUI() + { + DrawSceneTools(); + } + + void DrawSceneTools() + { + var orbitalTransposer = Target; + if (orbitalTransposer == null || !orbitalTransposer.IsValid || orbitalTransposer.HideOffsetInInspector) + { + return; + } + + if (CinemachineSceneToolUtility.IsToolActive(typeof(FollowOffsetTool))) + { + CinemachineSceneToolHelpers.TransposerFollowOffsetTool(orbitalTransposer); + } + } +#endif + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineOrbitalTransposerEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineOrbitalTransposerEditor.cs.meta new file mode 100644 index 00000000..6a290db6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineOrbitalTransposerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 247be52eadac5044e9f8b7b4d8d0ada9 +timeCreated: 1485443456 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePOVEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePOVEditor.cs new file mode 100644 index 00000000..b74177dc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePOVEditor.cs @@ -0,0 +1,15 @@ +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachinePOV))] + [CanEditMultipleObjects] + internal sealed class CinemachinePOVEditor : BaseEditor + { + private void OnEnable() + { + for (int i = 0; i < targets.Length; ++i) + (targets[i] as CinemachinePOV).UpdateInputAxisProvider(); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePOVEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePOVEditor.cs.meta new file mode 100644 index 00000000..f41dbc8b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePOVEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1186b8795dc3fc84e8ec53bd314d8e91 +timeCreated: 1504801965 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePathEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePathEditor.cs new file mode 100644 index 00000000..82969f82 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePathEditor.cs @@ -0,0 +1,588 @@ +using System; +using UnityEditor; +using UnityEngine; +using System.Collections.Generic; +using UnityEditorInternal; +using Cinemachine.Utility; +using System.Linq; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachinePath))] + sealed class CinemachinePathEditor : BaseEditor + { + public static string kPreferTangentSelectionKey = "CinemachinePathEditor.PreferTangentSelection"; + public static bool PreferTangentSelection + { + get { return EditorPrefs.GetBool(kPreferTangentSelectionKey, false); } + set + { + if (value != PreferTangentSelection) + EditorPrefs.SetBool(kPreferTangentSelectionKey, value); + } + } + private ReorderableList mWaypointList; + static bool mWaypointsExpanded; + bool mPreferTangentSelection; + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_Waypoints)); + } + + void OnEnable() + { + mWaypointList = null; + mPreferTangentSelection = PreferTangentSelection; + } + + // ReSharper disable once UnusedMember.Global - magic method called when doing Frame Selected + public bool HasFrameBounds() + { + return Target.m_Waypoints != null && Target.m_Waypoints.Length > 0; + } + + // ReSharper disable once UnusedMember.Global - magic method called when doing Frame Selected + public Bounds OnGetFrameBounds() + { + Vector3[] wp; + int selected = mWaypointList == null ? -1 : mWaypointList.index; + if (selected >= 0 && selected < Target.m_Waypoints.Length) + wp = new Vector3[1] { Target.m_Waypoints[selected].position }; + else + wp = Target.m_Waypoints.Select(p => p.position).ToArray(); + return GeometryUtility.CalculateBounds(wp, Target.transform.localToWorldMatrix); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + if (mWaypointList == null) + SetupWaypointList(); + if (mWaypointList.index >= mWaypointList.count) + mWaypointList.index = mWaypointList.count - 1; + + // Ordinary properties + DrawRemainingPropertiesInInspector(); + + // Path length + EditorGUILayout.LabelField("Path Length", Target.PathLength.ToString()); + + GUILayout.Label(new GUIContent("Selected Waypoint:")); + EditorGUILayout.BeginVertical(GUI.skin.box); + Rect rect = EditorGUILayout.GetControlRect(true, EditorGUIUtility.singleLineHeight * 3 + 10); + if (mWaypointList.index >= 0) + { + DrawWaypointEditor(rect, mWaypointList.index); + serializedObject.ApplyModifiedProperties(); + } + else + { + if (Target.m_Waypoints.Length > 0) + { + EditorGUI.HelpBox(rect, + "Click on a waypoint in the scene view\nor in the Path Details list", + MessageType.Info); + } + else if (GUI.Button(rect, new GUIContent("Add a waypoint to the path"))) + { + InsertWaypointAtIndex(mWaypointList.index); + mWaypointList.index = 0; + } + } + EditorGUILayout.EndVertical(); + + if (mPreferTangentSelection != EditorGUILayout.Toggle( + new GUIContent("Prefer Tangent Drag", + "When editing the path, if waypoint position and tangent coincide, dragging will apply preferentially to the tangent"), + mPreferTangentSelection)) + { + PreferTangentSelection = mPreferTangentSelection = !mPreferTangentSelection; + } + + mWaypointsExpanded = EditorGUILayout.Foldout(mWaypointsExpanded, "Path Details", true); + if (mWaypointsExpanded) + { + EditorGUI.BeginChangeCheck(); + mWaypointList.DoLayoutList(); + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + } + } + + void SetupWaypointList() + { + mWaypointList = new ReorderableList( + serializedObject, FindProperty(x => x.m_Waypoints), + true, true, true, true); + mWaypointList.elementHeight *= 3; + + mWaypointList.drawHeaderCallback = (Rect rect) => + { + EditorGUI.LabelField(rect, "Waypoints"); + }; + + mWaypointList.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { + DrawWaypointEditor(rect, index); + }; + + mWaypointList.onAddCallback = (ReorderableList l) => + { + InsertWaypointAtIndex(l.index); + }; + } + + void DrawWaypointEditor(Rect rect, int index) + { + // Needed for accessing string names of fields + CinemachinePath.Waypoint def = new CinemachinePath.Waypoint(); + + Vector2 numberDimension = GUI.skin.button.CalcSize(new GUIContent("999")); + Vector2 labelDimension = GUI.skin.label.CalcSize(new GUIContent("Position")); + Vector2 addButtonDimension = new Vector2(labelDimension.y + 5, labelDimension.y + 1); + float vSpace = 2; + float hSpace = 3; + + SerializedProperty element = mWaypointList.serializedProperty.GetArrayElementAtIndex(index); + rect.y += vSpace / 2; + + Rect r = new Rect(rect.position, numberDimension); + Color color = GUI.color; + // GUI.color = Target.m_Appearance.pathColor; + if (GUI.Button(r, new GUIContent(index.ToString(), "Go to the waypoint in the scene view"))) + { + if (SceneView.lastActiveSceneView != null) + { + mWaypointList.index = index; + SceneView.lastActiveSceneView.pivot = Target.EvaluatePosition(index); + SceneView.lastActiveSceneView.size = 3; + SceneView.lastActiveSceneView.Repaint(); + } + } + GUI.color = color; + + r = new Rect(rect.position, labelDimension); + r.x += hSpace + numberDimension.x; + EditorGUI.LabelField(r, "Position"); + r.x += hSpace + r.width; + r.width = rect.width - (numberDimension.x + hSpace + r.width + hSpace + addButtonDimension.x + hSpace); + EditorGUI.PropertyField(r, element.FindPropertyRelative(() => def.position), GUIContent.none); + r.x += r.width + hSpace; + r.size = addButtonDimension; + GUIContent buttonContent = EditorGUIUtility.IconContent("d_RectTransform Icon"); + buttonContent.tooltip = "Set to scene-view camera position"; + GUIStyle style = new GUIStyle(GUI.skin.label); + style.alignment = TextAnchor.MiddleCenter; + if (GUI.Button(r, buttonContent, style) && SceneView.lastActiveSceneView != null) + { + Undo.RecordObject(Target, "Set waypoint"); + CinemachinePath.Waypoint wp = Target.m_Waypoints[index]; + Vector3 pos = SceneView.lastActiveSceneView.camera.transform.position; + wp.position = Target.transform.InverseTransformPoint(pos); + Target.m_Waypoints[index] = wp; + } + + r = new Rect(rect.position, labelDimension); + r.y += numberDimension.y + vSpace; + r.x += hSpace + numberDimension.x; r.width = labelDimension.x; + EditorGUI.LabelField(r, "Tangent"); + r.x += hSpace + r.width; + r.width = rect.width - (numberDimension.x + hSpace + r.width + hSpace + addButtonDimension.x + hSpace); + EditorGUI.PropertyField(r, element.FindPropertyRelative(() => def.tangent), GUIContent.none); + r.x += r.width + hSpace; + r.size = addButtonDimension; + buttonContent = EditorGUIUtility.IconContent("ol minus@2x"); + buttonContent.tooltip = "Remove this waypoint"; + if (GUI.Button(r, buttonContent, style)) + { + Undo.RecordObject(Target, "Delete waypoint"); + var list = new List(Target.m_Waypoints); + list.RemoveAt(index); + Target.m_Waypoints = list.ToArray(); + if (index == Target.m_Waypoints.Length) + mWaypointList.index = index - 1; + } + + r = new Rect(rect.position, labelDimension); + r.y += 2 * (numberDimension.y + vSpace); + r.x += hSpace + numberDimension.x; r.width = labelDimension.x; + EditorGUI.LabelField(r, "Roll"); + r.x += hSpace + labelDimension.x; + r.width = rect.width + - (numberDimension.x + hSpace) + - (labelDimension.x + hSpace) + - (addButtonDimension.x + hSpace); + r.width /= 3; + EditorGUI.MultiPropertyField(r, new GUIContent[] { new GUIContent(" ") }, + element.FindPropertyRelative(() => def.roll)); + + r.x = rect.x + rect.width - addButtonDimension.x; + r.size = addButtonDimension; + buttonContent = EditorGUIUtility.IconContent("ol plus@2x"); + buttonContent.tooltip = "Add a new waypoint after this one"; + if (GUI.Button(r, buttonContent, style)) + { + mWaypointList.index = index; + InsertWaypointAtIndex(index); + } + } + + void InsertWaypointAtIndex(int indexA) + { + Vector3 pos = Vector3.forward; + Vector3 tangent = Vector3.right; + float roll = 0; + + // Get new values from the current indexA (if any) + int numWaypoints = Target.m_Waypoints.Length; + if (indexA < 0) + indexA = numWaypoints - 1; + if (indexA >= 0) + { + int indexB = indexA + 1; + if (Target.m_Looped && indexB >= numWaypoints) + indexB = 0; + if (indexB >= numWaypoints) + { + // Extrapolate the end + if (!Target.m_Waypoints[indexA].tangent.AlmostZero()) + tangent = Target.m_Waypoints[indexA].tangent; + pos = Target.m_Waypoints[indexA].position + tangent; + roll = Target.m_Waypoints[indexA].roll; + } + else + { + // Interpolate + pos = Target.transform.InverseTransformPoint( + Target.EvaluatePosition(0.5f + indexA)); + tangent = Target.transform.InverseTransformDirection( + Target.EvaluateTangent(0.5f + indexA).normalized); + roll = Mathf.Lerp( + Target.m_Waypoints[indexA].roll, Target.m_Waypoints[indexB].roll, 0.5f); + } + } + Undo.RecordObject(Target, "Add waypoint"); + var wp = new CinemachinePath.Waypoint(); + wp.position = pos; + wp.tangent = tangent; + wp.roll = roll; + var list = new List(Target.m_Waypoints); + list.Insert(indexA + 1, wp); + Target.m_Waypoints = list.ToArray(); + Target.InvalidateDistanceCache(); + mWaypointList.index = indexA + 1; // select it + } + + void OnSceneGUI() + { + if (mWaypointList == null) + SetupWaypointList(); + + if (Tools.current == Tool.Move) + { + Color colorOld = Handles.color; + var localToWorld = Target.transform.localToWorldMatrix; + var localRotation = Target.transform.rotation; + for (int i = 0; i < Target.m_Waypoints.Length; ++i) + { + DrawSelectionHandle(i, localToWorld); + if (mWaypointList.index == i) + { + // Waypoint is selected + if (PreferTangentSelection) + { + DrawPositionControl(i, localToWorld, localRotation); + DrawTangentControl(i, localToWorld, localRotation); + } + else + { + DrawTangentControl(i, localToWorld, localRotation); + DrawPositionControl(i, localToWorld, localRotation); + } + } + } + Handles.color = colorOld; + } + } + + void DrawSelectionHandle(int i, Matrix4x4 localToWorld) + { + if (Event.current.button != 1) + { + Vector3 pos = localToWorld.MultiplyPoint(Target.m_Waypoints[i].position); + float size = HandleUtility.GetHandleSize(pos) * 0.2f; + Handles.color = Color.white; + if (Handles.Button(pos, Quaternion.identity, size, size, Handles.SphereHandleCap) + && mWaypointList.index != i) + { + mWaypointList.index = i; + InspectorUtility.RepaintGameView(); + } + // Label it + Handles.BeginGUI(); + Vector2 labelSize = new Vector2( + EditorGUIUtility.singleLineHeight * 2, EditorGUIUtility.singleLineHeight); + Vector2 labelPos = HandleUtility.WorldToGUIPoint(pos); + labelPos.y -= labelSize.y / 2; + labelPos.x -= labelSize.x / 2; + GUILayout.BeginArea(new Rect(labelPos, labelSize)); + GUIStyle style = new GUIStyle(); + style.normal.textColor = Color.black; + style.alignment = TextAnchor.MiddleCenter; + GUILayout.Label(new GUIContent(i.ToString(), "Waypoint " + i), style); + GUILayout.EndArea(); + Handles.EndGUI(); + } + } + + void DrawTangentControl(int i, Matrix4x4 localToWorld, Quaternion localRotation) + { + CinemachinePath.Waypoint wp = Target.m_Waypoints[i]; + Vector3 hPos = localToWorld.MultiplyPoint(wp.position + wp.tangent); + + Handles.color = Color.yellow; + Handles.DrawLine(localToWorld.MultiplyPoint(wp.position), hPos); + + EditorGUI.BeginChangeCheck(); + Quaternion rotation = (Tools.pivotRotation == PivotRotation.Local) + ? localRotation : Quaternion.identity; + float size = HandleUtility.GetHandleSize(hPos) * 0.1f; + Handles.SphereHandleCap(0, hPos, rotation, size, EventType.Repaint); + Vector3 newPos = Handles.PositionHandle(hPos, rotation); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Change Waypoint Tangent"); + newPos = Matrix4x4.Inverse(localToWorld).MultiplyPoint(newPos); + wp.tangent = newPos - wp.position; + Target.m_Waypoints[i] = wp; + Target.InvalidateDistanceCache(); + InspectorUtility.RepaintGameView(); + } + } + + void DrawPositionControl(int i, Matrix4x4 localToWorld, Quaternion localRotation) + { + CinemachinePath.Waypoint wp = Target.m_Waypoints[i]; + Vector3 pos = localToWorld.MultiplyPoint(wp.position); + EditorGUI.BeginChangeCheck(); + Handles.color = Target.m_Appearance.pathColor; + Quaternion rotation = (Tools.pivotRotation == PivotRotation.Local) + ? localRotation : Quaternion.identity; + float size = HandleUtility.GetHandleSize(pos) * 0.1f; + Handles.SphereHandleCap(0, pos, rotation, size, EventType.Repaint); + pos = Handles.PositionHandle(pos, rotation); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Move Waypoint"); + wp.position = Matrix4x4.Inverse(localToWorld).MultiplyPoint(pos);; + Target.m_Waypoints[i] = wp; + Target.InvalidateDistanceCache(); + InspectorUtility.RepaintGameView(); + } + } + + [DrawGizmo(GizmoType.Active | GizmoType.NotInSelectionHierarchy + | GizmoType.InSelectionHierarchy | GizmoType.Pickable, typeof(CinemachinePath))] + static void DrawGizmos(CinemachinePath path, GizmoType selectionType) + { + var isActive = Selection.activeGameObject == path.gameObject; + DrawPathGizmo( + path, isActive ? path.m_Appearance.pathColor : path.m_Appearance.inactivePathColor, + isActive, LocalSpaceSamplePath); + } + + // same as Quaternion.AngleAxis(roll, Vector3.forward), just simplified + static Quaternion RollAroundForward(float angle) + { + var halfAngle = angle * 0.5F * Mathf.Deg2Rad; + return new Quaternion(0, 0, Mathf.Sin(halfAngle), Mathf.Cos(halfAngle)); + } + + static Vector4[] s_BezierWeightsCache; + + // Optimizer for gizmo drawing + static int LocalSpaceSamplePath(CinemachinePathBase pathBase, int samplesPerSegment, Vector3[] positions, Quaternion[] rotations) + { + var path = pathBase as CinemachinePath; + + int numSegments = path.m_Waypoints.Length - (path.Looped ? 0 : 1); + if (numSegments == 0) + return 0; + + // Compute the bezier weights only once - this is shared by all segments + if (s_BezierWeightsCache == null || s_BezierWeightsCache.Length < samplesPerSegment) + s_BezierWeightsCache = new Vector4[samplesPerSegment]; + for (int i = 0; i < samplesPerSegment; ++i) + { + float t = ((float)i) / samplesPerSegment; + float d = 1.0f - t; + s_BezierWeightsCache[i] = new Vector4(d * d * d, 3f * d * d * t, 3f * d * t * t, t * t * t); + } + + // Process the positions + int numSamples = 0; + for (int wp = 0; wp < numSegments && numSamples < positions.Length; ++wp) + { + int nextWp = (wp + 1) % path.m_Waypoints.Length; + for (int i = 0; i < samplesPerSegment; ++i) + { + if (numSamples >= positions.Length) + break; + positions[numSamples++] + = (s_BezierWeightsCache[i].x * path.m_Waypoints[wp].position) + + (s_BezierWeightsCache[i].y * (path.m_Waypoints[wp].position + path.m_Waypoints[wp].tangent)) + + (s_BezierWeightsCache[i].z * (path.m_Waypoints[nextWp].position - path.m_Waypoints[nextWp].tangent)) + + (s_BezierWeightsCache[i].w * path.m_Waypoints[nextWp].position); + } + } + if (numSamples < positions.Length) + positions[numSamples++] = path.Looped ? positions[0] : path.m_Waypoints[path.m_Waypoints.Length - 1].position; + + // Process rotations + if (rotations != null && rotations.Length >= numSamples) + { + int numRotSamples = 0; + for (int wp = 0; wp < numSegments && numRotSamples < numSamples; ++wp) + { + int nextWp = (wp + 1) % path.m_Waypoints.Length; + SplineHelpers.BezierTangentWeights3( + path.m_Waypoints[wp].position, path.m_Waypoints[wp].position + path.m_Waypoints[wp].tangent, + path.m_Waypoints[nextWp].position - path.m_Waypoints[nextWp].tangent, path.m_Waypoints[nextWp].position, + out var w0, out var w1, out var w2); + + for (int i = 0; i < samplesPerSegment; ++i) + { + if (numRotSamples >= numSamples) + break; + float t = ((float)i) / samplesPerSegment; + var fwd = (w0 * (t * t)) + (w1 * t) + w2; // from SplineHelpers.BezierTangent3() + if (fwd.sqrMagnitude < 0.001f) + fwd = Vector3.forward; + rotations[numRotSamples++] = Quaternion.LookRotation(fwd) * RollAroundForward(path.GetRoll(wp, nextWp, t + wp)); + } + } + if (numRotSamples < numSamples) + rotations[numRotSamples++] = path.Looped ? rotations[0] : path.EvaluateLocalOrientation(path.MaxPos); + } + + return numSamples; + } + + + //=========================================== + // Generic service for drawing path gizmo + + static Vector3[] s_PositionsCache; + static Quaternion[] s_RotationsCache; +#if UNITY_2023_1_OR_NEWER + static Vector3[] s_RightRailCache; + static Vector3[] s_SleepersCache; +#endif + + static ElementType[] EnsureArraySize(ElementType[] array, int requiredSize) + { + return ((array == null) || (array.Length < requiredSize)) ? new ElementType[requiredSize] : array; + } + + /// + /// Sample a path with a fixed number of samples per segment, in path-local space. + /// Used for efficient gizmo drawing. + /// + /// How many samples to take in each segment + /// Output buffer for position samples + /// Output buffer for rotation samples. May be null if rotations are not needed. + /// Number of samples actually taken + public delegate int BatchSamplerDelegate(CinemachinePathBase path, int samplesPerSegment, Vector3[] positions, Quaternion[] rotations); + + public static void DrawPathGizmo(CinemachinePathBase path, Color pathColor, bool isActive, BatchSamplerDelegate batchSampler = null) + { + var oldColor = Gizmos.color; + Gizmos.color = pathColor; + var oldMatrix = Gizmos.matrix; + Gizmos.matrix = path.transform.localToWorldMatrix; + + if (batchSampler == null) + batchSampler = DefaultBatchSampler; + int numSegments = Mathf.CeilToInt(path.MaxPos - path.MinPos) + 1; + int numSamples = numSegments * path.m_Resolution + 1; + s_PositionsCache = EnsureArraySize(s_PositionsCache, numSamples); + if (!isActive || path.m_Appearance.width < 0.01f) + { + numSamples = batchSampler(path, path.m_Resolution, s_PositionsCache, null); +#if UNITY_2023_1_OR_NEWER + Gizmos.DrawLineStrip(new Span(s_PositionsCache, 0, numSamples), false); +#else + for (int i = 1; i < numSamples; ++i) + Gizmos.DrawLine(s_PositionsCache[i], s_PositionsCache[i-1]); +#endif + } + else + { + s_RotationsCache = EnsureArraySize(s_RotationsCache, numSamples); + numSamples = batchSampler(path, path.m_Resolution, s_PositionsCache, s_RotationsCache); + + // Draw the path + var halfWidth = path.m_Appearance.width * 0.5f; +#if UNITY_2023_1_OR_NEWER + s_RightRailCache = EnsureArraySize(s_RightRailCache, numSamples); + s_SleepersCache = EnsureArraySize(s_SleepersCache, numSamples * 2); + for (int i = 0; i < numSamples; ++i) + { + var p = s_PositionsCache[i]; + var q = s_RotationsCache[i]; + var s = q * Vector3.right * halfWidth; + s_RightRailCache[i] = p + s; + s_PositionsCache[i] = p - s; + s *= 1.2f; + s_SleepersCache[i << 1] = p + s; + s_SleepersCache[(i << 1) + 1] = p - s; + } + Gizmos.DrawLineStrip(new Span(s_PositionsCache, 0, numSamples), false); + Gizmos.DrawLineStrip(new Span(s_RightRailCache, 0, numSamples), false); + Gizmos.DrawLineList(new Span(s_SleepersCache, 0, numSamples * 2)); +#else + var lastW = (s_RotationsCache[0] * Vector3.right) * halfWidth; + for (int i = 1; i < numSamples; ++i) + { + var lastPos = s_PositionsCache[i-1]; + var p = s_PositionsCache[i]; + var q = s_RotationsCache[i]; + var w = (q * Vector3.right) * halfWidth; + var w2 = w * 1.2f; + var p0 = p - w2; + var p1 = p + w2; + Gizmos.DrawLine(p0, p1); + Gizmos.DrawLine(lastPos - lastW, p - w); + Gizmos.DrawLine(lastPos + lastW, p + w); + lastW = w; + } +#endif + } + Gizmos.matrix = oldMatrix; + Gizmos.color = oldColor; + } + + // Fallback, used if a custom batch sampler is not provided to DrawPathGizmo() + static int DefaultBatchSampler(CinemachinePathBase path, int samplesPerSegment, Vector3[] positions, Quaternion[] rotations) + { + int numSamples = 0; + float step = 1f / samplesPerSegment; + float tEnd = path.MaxPos + step / 2; + for (float t = path.MinPos + step; t <= tEnd; t += step) + { + if (numSamples >= positions.Length || (rotations != null && numSamples >= rotations.Length)) + break; + positions[numSamples] = path.EvaluateLocalPosition(t); + if (rotations != null) + rotations[numSamples] = path.EvaluateLocalOrientation(t); + ++numSamples; + } + return numSamples; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePathEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePathEditor.cs.meta new file mode 100644 index 00000000..2de29b1a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachinePathEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c88d2a04cc828c044b0fcc133fd481e6 +timeCreated: 1493316676 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSameAsFollowTargetEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSameAsFollowTargetEditor.cs new file mode 100644 index 00000000..f75104b6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSameAsFollowTargetEditor.cs @@ -0,0 +1,24 @@ +using UnityEditor; +using UnityEngine; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineSameAsFollowTarget))] + [CanEditMultipleObjects] + internal sealed class CinemachineSameAsFollowTargetEditor : BaseEditor + { + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineSameAsFollowTarget).FollowTarget == null; + if (needWarning) + EditorGUILayout.HelpBox( + "Same As Follow Target requires a Follow target. It will set the virtual camera's " + + "rotation to be the same as that of the Follow Target.", + MessageType.Warning); + DrawRemainingPropertiesInInspector(); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSameAsFollowTargetEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSameAsFollowTargetEditor.cs.meta new file mode 100644 index 00000000..5def8f47 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSameAsFollowTargetEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fc54afb14b6b01a4dabc4c8831cb7bf7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineScreenComposerGuides.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineScreenComposerGuides.cs new file mode 100644 index 00000000..e0a83fc9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineScreenComposerGuides.cs @@ -0,0 +1,388 @@ +using UnityEngine; +using UnityEditor; +using Cinemachine.Utility; + +#if UNITY_2019_2_OR_NEWER +using UnityEngine.UIElements; +#endif + +namespace Cinemachine.Editor +{ + [InitializeOnLoad] + static class CinemachineScreenComposerGuidesGlobalDraggable + { + static CinemachineScreenComposerGuidesGlobalDraggable() + { + CinemachineScreenComposerGuides.sDraggableGameWindowGuides = Enabled; + } + + public static string kEnabledKey = "DraggableScreenComposerGuides_Enabled"; + public static bool Enabled + { + get => EditorPrefs.GetBool(kEnabledKey, true); + set + { + if (value != CinemachineScreenComposerGuides.sDraggableGameWindowGuides) + { + EditorPrefs.SetBool(kEnabledKey, value); + CinemachineScreenComposerGuides.sDraggableGameWindowGuides = value; + } + } + } + } + +#if !UNITY_2019_2_OR_NEWER + internal class GameViewEventCatcher + { + public void OnEnable() {} + public void OnDisable() {} + } +#else + // This is necessary because in 2019.3 we don't get mouse events in the game view in Edit mode + internal class GameViewEventCatcher + { + class Dragger + { + bool mActive; + VisualElement mRoot; + + void OnMouseDown(MouseDownEvent e) { if (mRoot.panel != null) mActive = true; } + void OnMouseUp(MouseUpEvent e) { mActive = false; } + void OnMouseMove(MouseMoveEvent e) + { + if (mActive && mRoot.panel != null) + { + if (!Application.isPlaying + && CinemachineSettings.CinemachineCoreSettings.ShowInGameGuides + && CinemachineBrain.SoloCamera == null) + { + InspectorUtility.RepaintGameView(); + } + } + } + + public Dragger(VisualElement root) + { + mRoot = root; + if (mRoot == null || mRoot.panel == null || mRoot.panel.visualTree == null) + return; + mRoot.panel.visualTree.RegisterCallback(OnMouseDown, TrickleDown.TrickleDown); + mRoot.panel.visualTree.RegisterCallback(OnMouseUp, TrickleDown.TrickleDown); + mRoot.panel.visualTree.RegisterCallback(OnMouseMove, TrickleDown.TrickleDown); + } + + public void Unregister() + { + if (mRoot == null || mRoot.panel == null || mRoot.panel.visualTree == null) + return; + mRoot.panel.visualTree.UnregisterCallback(OnMouseDown, TrickleDown.TrickleDown); + mRoot.panel.visualTree.UnregisterCallback(OnMouseUp, TrickleDown.TrickleDown); + mRoot.panel.visualTree.UnregisterCallback(OnMouseMove, TrickleDown.TrickleDown); + } + } + + Dragger[] mDraggers; + + // Create manipulator in each game view + public void OnEnable() + { + System.Reflection.Assembly assembly = typeof(UnityEditor.EditorWindow).Assembly; + System.Type type = assembly.GetType( "UnityEditor.GameView" ); + var gameViews = UnityEngine.Resources.FindObjectsOfTypeAll(type); + mDraggers = new Dragger[gameViews.Length]; + + for (int i = 0; i < gameViews.Length; ++i) + { + var gameViewRoot = (gameViews[i] as UnityEditor.EditorWindow).rootVisualElement; + mDraggers[i] = new Dragger(gameViewRoot); + } + } + + public void OnDisable() + { + for (int i = 0; mDraggers != null && i < mDraggers.Length; ++i) + { + var dragger = mDraggers[i]; + if (dragger != null) + dragger.Unregister(); + } + mDraggers = null; + } + } +#endif + + /// + /// Use an instance of this class to draw screen composer guides in the game view. + /// This is an internal class, and is not meant to be called outside of Cinemachine. + /// + public class CinemachineScreenComposerGuides + { + /// Delegate for getting the hard/soft guide rects + /// The Hard/Soft guide rect + public delegate Rect RectGetter(); + + /// Delegate for setting the hard/soft guide rects + /// The value to set + public delegate void RectSetter(Rect r); + + /// Delegate to get the current object whose guides are being drawn + /// The target object whose guides are being drawn + public delegate SerializedObject ObjectGetter(); + + /// Get the Hard Guide. Client must implement this + public RectGetter GetHardGuide; + /// Get the Soft Guide. Client must implement this + public RectGetter GetSoftGuide; + /// Set the Hard Guide. Client must implement this + public RectSetter SetHardGuide; + /// Get the Soft Guide. Client must implement this + public RectSetter SetSoftGuide; + /// Get the target object whose guides are being drawn. Client must implement this + public ObjectGetter Target; + + /// Width of the draggable guide bar in the game view + public const float kGuideBarWidthPx = 3f; + + /// If true, then allows game window guides to be edited in play mode. + public static bool sDraggableGameWindowGuides = true; + + /// + /// Helper to set the appropriate new rects in the target object, is something changed. + /// + /// Current hard guide + /// Current soft guide + /// New hard guide + /// New soft guide + public void SetNewBounds(Rect oldHard, Rect oldSoft, Rect newHard, Rect newSoft) + { + if ((oldSoft != newSoft) || (oldHard != newHard)) + { + Undo.RecordObject(Target().targetObject, "Composer Bounds"); + if (oldSoft != newSoft) + SetSoftGuide(newSoft); + if (oldHard != newHard) + SetHardGuide(newHard); + Target().ApplyModifiedProperties(); + } + } + + Rect GetCameraRect(Camera outputCamera, LensSettings lens) + { + Rect cameraRect = outputCamera.pixelRect; + float screenHeight = cameraRect.height; + float screenWidth = cameraRect.width; + + float screenAspect = screenWidth / screenHeight; + switch (outputCamera.gateFit) + { + case Camera.GateFitMode.Vertical: + screenWidth = screenHeight * lens.Aspect; + cameraRect.position += new Vector2((cameraRect.width - screenWidth) * 0.5f, 0); + break; + case Camera.GateFitMode.Horizontal: + screenHeight = screenWidth / lens.Aspect; + cameraRect.position += new Vector2(0, (cameraRect.height - screenHeight) * 0.5f); + break; + case Camera.GateFitMode.Overscan: + if (screenAspect < lens.Aspect) + { + screenHeight = screenWidth / lens.Aspect; + cameraRect.position += new Vector2(0, (cameraRect.height - screenHeight) * 0.5f); + } + else + { + screenWidth = screenHeight * lens.Aspect; + cameraRect.position += new Vector2((cameraRect.width - screenWidth) * 0.5f, 0); + } + break; + case Camera.GateFitMode.Fill: + if (screenAspect > lens.Aspect) + { + screenHeight = screenWidth / lens.Aspect; + cameraRect.position += new Vector2(0, (cameraRect.height - screenHeight) * 0.5f); + } + else + { + screenWidth = screenHeight * lens.Aspect; + cameraRect.position += new Vector2((cameraRect.width - screenWidth) * 0.5f, 0); + } + break; + case Camera.GateFitMode.None: + break; + } + + cameraRect = new Rect(cameraRect.position, new Vector2(screenWidth, screenHeight)); + + // Invert Y + float h = cameraRect.height; + cameraRect.yMax = Screen.height - cameraRect.yMin; + cameraRect.yMin = cameraRect.yMax - h; + + // Shift the guides along with the lens + cameraRect.position += new Vector2( + -screenWidth * lens.LensShift.x, screenHeight * lens.LensShift.y); + + return cameraRect; + } + + /// + /// Call this from the inspector's OnGUI. Draws the guides and manages dragging. + /// + /// Is the target live + /// Destination camera + /// Current lens settings + /// True if hard guides should be shown + public void OnGUI_DrawGuides(bool isLive, Camera outputCamera, LensSettings lens, bool showHardGuides) + { + Rect cameraRect = GetCameraRect(outputCamera, lens); + float screenWidth = cameraRect.width; + float screenHeight = cameraRect.height; + + // Rotate the guides along with the dutch + Matrix4x4 oldMatrix = GUI.matrix; + GUI.matrix = Matrix4x4.Translate(cameraRect.min); + GUIUtility.RotateAroundPivot(lens.Dutch, cameraRect.center); + Color hardBarsColour = CinemachineSettings.ComposerSettings.HardBoundsOverlayColour; + Color softBarsColour = CinemachineSettings.ComposerSettings.SoftBoundsOverlayColour; + float overlayOpacity = CinemachineSettings.ComposerSettings.OverlayOpacity; + if (!isLive) + { + softBarsColour = CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour; + hardBarsColour = Color.Lerp(softBarsColour, Color.black, 0.5f); + overlayOpacity /= 2; + } + hardBarsColour.a *= overlayOpacity; + softBarsColour.a *= overlayOpacity; + + Rect r = showHardGuides ? GetHardGuide() : new Rect(-2, -2, 4, 4); + float hardEdgeLeft = r.xMin * screenWidth; + float hardEdgeTop = r.yMin * screenHeight; + float hardEdgeRight = r.xMax * screenWidth; + float hardEdgeBottom = r.yMax * screenHeight; + + mDragBars[(int)DragBar.HardBarLineLeft] = new Rect(hardEdgeLeft - kGuideBarWidthPx / 2f, 0f, kGuideBarWidthPx, screenHeight); + mDragBars[(int)DragBar.HardBarLineTop] = new Rect(0f, hardEdgeTop - kGuideBarWidthPx / 2f, screenWidth, kGuideBarWidthPx); + mDragBars[(int)DragBar.HardBarLineRight] = new Rect(hardEdgeRight - kGuideBarWidthPx / 2f, 0f, kGuideBarWidthPx, screenHeight); + mDragBars[(int)DragBar.HardBarLineBottom] = new Rect(0f, hardEdgeBottom - kGuideBarWidthPx / 2f, screenWidth, kGuideBarWidthPx); + + r = GetSoftGuide(); + float softEdgeLeft = r.xMin * screenWidth; + float softEdgeTop = r.yMin * screenHeight; + float softEdgeRight = r.xMax * screenWidth; + float softEdgeBottom = r.yMax * screenHeight; + + mDragBars[(int)DragBar.SoftBarLineLeft] = new Rect(softEdgeLeft - kGuideBarWidthPx / 2f, 0f, kGuideBarWidthPx, screenHeight); + mDragBars[(int)DragBar.SoftBarLineTop] = new Rect(0f, softEdgeTop - kGuideBarWidthPx / 2f, screenWidth, kGuideBarWidthPx); + mDragBars[(int)DragBar.SoftBarLineRight] = new Rect(softEdgeRight - kGuideBarWidthPx / 2f, 0f, kGuideBarWidthPx, screenHeight); + mDragBars[(int)DragBar.SoftBarLineBottom] = new Rect(0f, softEdgeBottom - kGuideBarWidthPx / 2f, screenWidth, kGuideBarWidthPx); + + mDragBars[(int)DragBar.Center] = new Rect(softEdgeLeft, softEdgeTop, softEdgeRight - softEdgeLeft, softEdgeBottom - softEdgeTop); + + // Handle dragging bars + if (sDraggableGameWindowGuides && isLive) + OnGuiHandleBarDragging(screenWidth, screenHeight); + + // Draw the masks + GUI.color = hardBarsColour; + Rect hardBarLeft = new Rect(0, hardEdgeTop, Mathf.Max(0, hardEdgeLeft), hardEdgeBottom - hardEdgeTop); + Rect hardBarRight = new Rect(hardEdgeRight, hardEdgeTop, + Mathf.Max(0, screenWidth - hardEdgeRight), hardEdgeBottom - hardEdgeTop); + Rect hardBarTop = new Rect(Mathf.Min(0, hardEdgeLeft), 0, + Mathf.Max(screenWidth, hardEdgeRight) - Mathf.Min(0, hardEdgeLeft), Mathf.Max(0, hardEdgeTop)); + Rect hardBarBottom = new Rect(Mathf.Min(0, hardEdgeLeft), hardEdgeBottom, + Mathf.Max(screenWidth, hardEdgeRight) - Mathf.Min(0, hardEdgeLeft), + Mathf.Max(0, screenHeight - hardEdgeBottom)); + GUI.DrawTexture(hardBarLeft, Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(hardBarTop, Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(hardBarRight, Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(hardBarBottom, Texture2D.whiteTexture, ScaleMode.StretchToFill); + + GUI.color = softBarsColour; + Rect softBarLeft = new Rect(hardEdgeLeft, softEdgeTop, softEdgeLeft - hardEdgeLeft, softEdgeBottom - softEdgeTop); + Rect softBarTop = new Rect(hardEdgeLeft, hardEdgeTop, hardEdgeRight - hardEdgeLeft, softEdgeTop - hardEdgeTop); + Rect softBarRight = new Rect(softEdgeRight, softEdgeTop, hardEdgeRight - softEdgeRight, softEdgeBottom - softEdgeTop); + Rect softBarBottom = new Rect(hardEdgeLeft, softEdgeBottom, hardEdgeRight - hardEdgeLeft, hardEdgeBottom - softEdgeBottom); + GUI.DrawTexture(softBarLeft, Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(softBarTop, Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(softBarRight, Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(softBarBottom, Texture2D.whiteTexture, ScaleMode.StretchToFill); + + // Draw the drag bars + GUI.DrawTexture(mDragBars[(int)DragBar.SoftBarLineLeft], Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(mDragBars[(int)DragBar.SoftBarLineTop], Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(mDragBars[(int)DragBar.SoftBarLineRight], Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(mDragBars[(int)DragBar.SoftBarLineBottom], Texture2D.whiteTexture, ScaleMode.StretchToFill); + + GUI.color = hardBarsColour; + GUI.DrawTexture(mDragBars[(int)DragBar.HardBarLineLeft], Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(mDragBars[(int)DragBar.HardBarLineTop], Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(mDragBars[(int)DragBar.HardBarLineRight], Texture2D.whiteTexture, ScaleMode.StretchToFill); + GUI.DrawTexture(mDragBars[(int)DragBar.HardBarLineBottom], Texture2D.whiteTexture, ScaleMode.StretchToFill); + + GUI.matrix = oldMatrix; + } + + // For dragging the bars - order defines precedence + private enum DragBar + { + Center, + SoftBarLineLeft, SoftBarLineTop, SoftBarLineRight, SoftBarLineBottom, + HardBarLineLeft, HardBarLineTop, HardBarLineRight, HardBarLineBottom, + NONE + }; + private DragBar mDragging = DragBar.NONE; + private Rect[] mDragBars = new Rect[9]; + + private void OnGuiHandleBarDragging(float screenWidth, float screenHeight) + { + if (Event.current.type == EventType.MouseUp) + mDragging = DragBar.NONE; + if (Event.current.type == EventType.MouseDown) + { + mDragging = DragBar.NONE; + for (DragBar i = DragBar.Center; i < DragBar.NONE && mDragging == DragBar.NONE; ++i) + { + Vector2 slop = new Vector2(5f, 5f); + if (i == DragBar.Center) + { + if (mDragBars[(int)i].width > 3f * slop.x) + slop.x = -slop.x; + if (mDragBars[(int)i].height > 3f * slop.y) + slop.y = -slop.y; + } + Rect r = mDragBars[(int)i].Inflated(slop); + if (r.Contains(Event.current.mousePosition)) + mDragging = i; + } + } + + if (mDragging != DragBar.NONE && Event.current.type == EventType.MouseDrag) + { + Vector2 d = new Vector2( + Event.current.delta.x / screenWidth, + Event.current.delta.y / screenHeight); + + // First snapshot some settings + Rect newHard = GetHardGuide(); + Rect newSoft = GetSoftGuide(); + Vector2 changed = Vector2.zero; + switch (mDragging) + { + case DragBar.Center: newSoft.position += d; break; + case DragBar.SoftBarLineLeft: newSoft = newSoft.Inflated(new Vector2(-d.x, 0)); break; + case DragBar.SoftBarLineRight: newSoft = newSoft.Inflated(new Vector2(d.x, 0)); break; + case DragBar.SoftBarLineTop: newSoft = newSoft.Inflated(new Vector2(0, -d.y)); break; + case DragBar.SoftBarLineBottom: newSoft = newSoft.Inflated(new Vector2(0, d.y)); break; + case DragBar.HardBarLineLeft: newHard = newHard.Inflated(new Vector2(-d.x, 0)); break; + case DragBar.HardBarLineRight: newHard = newHard.Inflated(new Vector2(d.x, 0)); break; + case DragBar.HardBarLineBottom: newHard = newHard.Inflated(new Vector2(0, d.y)); break; + case DragBar.HardBarLineTop: newHard = newHard.Inflated(new Vector2(0, -d.y)); break; + } + + // Apply the changes, enforcing the bounds + SetNewBounds(GetHardGuide(), GetSoftGuide(), newHard, newSoft); + Event.current.Use(); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineScreenComposerGuides.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineScreenComposerGuides.cs.meta new file mode 100644 index 00000000..dedaa030 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineScreenComposerGuides.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2a15a1e455bcc7543872f50762449739 +timeCreated: 1502028239 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSmoothPathEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSmoothPathEditor.cs new file mode 100644 index 00000000..84cffa72 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSmoothPathEditor.cs @@ -0,0 +1,343 @@ +using UnityEditor; +using UnityEngine; +using System.Linq; +using System.Collections.Generic; +using UnityEditorInternal; +using Cinemachine.Utility; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineSmoothPath))] + sealed class CinemachineSmoothPathEditor : BaseEditor + { + private ReorderableList mWaypointList; + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_Waypoints)); + } + + void OnEnable() + { + mWaypointList = null; + } + + + // ReSharper disable once UnusedMember.Global - magic method called when doing Frame Selected + public bool HasFrameBounds() + { + return Target.m_Waypoints != null && Target.m_Waypoints.Length > 0; + } + + // ReSharper disable once UnusedMember.Global - magic method called when doing Frame Selected + public Bounds OnGetFrameBounds() + { + Vector3[] wp; + int selected = mWaypointList == null ? -1 : mWaypointList.index; + if (selected >= 0 && selected < Target.m_Waypoints.Length) + wp = new Vector3[1] { Target.m_Waypoints[selected].position }; + else + wp = Target.m_Waypoints.Select(p => p.position).ToArray(); + return GeometryUtility.CalculateBounds(wp, Target.transform.localToWorldMatrix); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + if (mWaypointList == null) + SetupWaypointList(); + + if (mWaypointList.index >= mWaypointList.count) + mWaypointList.index = mWaypointList.count - 1; + + // Ordinary properties + DrawRemainingPropertiesInInspector(); + + // Path length + EditorGUILayout.LabelField("Path Length", Target.PathLength.ToString()); + + // Waypoints + EditorGUI.BeginChangeCheck(); + mWaypointList.DoLayoutList(); + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + } + + void SetupWaypointList() + { + mWaypointList = new ReorderableList( + serializedObject, FindProperty(x => x.m_Waypoints), + true, true, true, true); + + mWaypointList.drawHeaderCallback = (Rect rect) => + { EditorGUI.LabelField(rect, "Waypoints"); }; + + mWaypointList.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { DrawWaypointEditor(rect, index); }; + + mWaypointList.onAddCallback = (ReorderableList l) => + { InsertWaypointAtIndex(l.index); }; + } + + void DrawWaypointEditor(Rect rect, int index) + { + // Needed for accessing string names of fields + CinemachineSmoothPath.Waypoint def = new CinemachineSmoothPath.Waypoint(); + SerializedProperty element = mWaypointList.serializedProperty.GetArrayElementAtIndex(index); + + float hSpace = 3; + rect.width -= hSpace; rect.y += 1; + Vector2 numberDimension = GUI.skin.label.CalcSize(new GUIContent("999")); + Rect r = new Rect(rect.position, numberDimension); + if (GUI.Button(r, new GUIContent(index.ToString(), "Go to the waypoint in the scene view"))) + { + if (SceneView.lastActiveSceneView != null) + { + mWaypointList.index = index; + SceneView.lastActiveSceneView.pivot = Target.EvaluatePosition(index); + SceneView.lastActiveSceneView.size = 4; + SceneView.lastActiveSceneView.Repaint(); + } + } + + float floatFieldWidth = EditorGUIUtility.singleLineHeight * 2f; + GUIContent rollLabel = new GUIContent("Roll"); + Vector2 labelDimension = GUI.skin.label.CalcSize(rollLabel); + float rollWidth = labelDimension.x + floatFieldWidth; + r.x += r.width + hSpace; r.width = rect.width - (r.width + hSpace + rollWidth) - (r.height + hSpace); + EditorGUI.PropertyField(r, element.FindPropertyRelative(() => def.position), GUIContent.none); + + r.x += r.width + hSpace; r.width = rollWidth; + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = labelDimension.x; + + var indent = EditorGUI.indentLevel; + EditorGUI.indentLevel = 0; + EditorGUI.PropertyField(r, element.FindPropertyRelative(() => def.roll), rollLabel); + EditorGUIUtility.labelWidth = oldWidth; + EditorGUI.indentLevel = indent; + + r.x += r.width + hSpace; r.height += 1; r.width = r.height; + GUIContent setButtonContent = EditorGUIUtility.IconContent("d_RectTransform Icon"); + setButtonContent.tooltip = "Set to scene-view camera position"; + if (GUI.Button(r, setButtonContent, GUI.skin.label) && SceneView.lastActiveSceneView != null) + { + Undo.RecordObject(Target, "Set waypoint"); + CinemachineSmoothPath.Waypoint wp = Target.m_Waypoints[index]; + Vector3 pos = SceneView.lastActiveSceneView.camera.transform.position; + wp.position = Target.transform.InverseTransformPoint(pos); + Target.m_Waypoints[index] = wp; + } + } + + void InsertWaypointAtIndex(int indexA) + { + Vector3 pos = Vector3.right; + float roll = 0; + + // Get new values from the current indexA (if any) + int numWaypoints = Target.m_Waypoints.Length; + if (indexA < 0) + indexA = numWaypoints - 1; + if (indexA >= 0) + { + int indexB = indexA + 1; + if (Target.m_Looped && indexB >= numWaypoints) + indexB = 0; + if (indexB >= numWaypoints) + { + Vector3 delta = Vector3.right; + if (indexA > 0) + delta = Target.m_Waypoints[indexA].position - Target.m_Waypoints[indexA-1].position; + pos = Target.m_Waypoints[indexA].position + delta; + roll = Target.m_Waypoints[indexA].roll; + } + else + { + // Interpolate + pos = Target.transform.InverseTransformPoint(Target.EvaluatePosition(0.5f + indexA)); + roll = Mathf.Lerp(Target.m_Waypoints[indexA].roll, Target.m_Waypoints[indexB].roll, 0.5f); + } + } + Undo.RecordObject(Target, "Add waypoint"); + var wp = new CinemachineSmoothPath.Waypoint(); + wp.position = pos; + wp.roll = roll; + var list = new List(Target.m_Waypoints); + list.Insert(indexA + 1, wp); + Target.m_Waypoints = list.ToArray(); + Target.InvalidateDistanceCache(); + InspectorUtility.RepaintGameView(); + mWaypointList.index = indexA + 1; // select it + } + + void OnSceneGUI() + { + if (mWaypointList == null) + SetupWaypointList(); + + if (Tools.current == Tool.Move) + { + Color colorOld = Handles.color; + var localToWorld = Target.transform.localToWorldMatrix; + for (int i = 0; i < Target.m_Waypoints.Length; ++i) + { + DrawSelectionHandle(i, localToWorld); + if (mWaypointList.index == i) + DrawPositionControl(i, localToWorld, Target.transform.rotation); // Waypoint is selected + } + Handles.color = colorOld; + } + } + + void DrawSelectionHandle(int i, Matrix4x4 localToWorld) + { + if (Event.current.button != 1) + { + Vector3 pos = localToWorld.MultiplyPoint(Target.m_Waypoints[i].position); + float size = HandleUtility.GetHandleSize(pos) * 0.2f; + Handles.color = Color.white; + if (Handles.Button(pos, Quaternion.identity, size, size, Handles.SphereHandleCap) + && mWaypointList.index != i) + { + mWaypointList.index = i; + InspectorUtility.RepaintGameView(); + } + // Label it + Handles.BeginGUI(); + Vector2 labelSize = new Vector2( + EditorGUIUtility.singleLineHeight * 2, EditorGUIUtility.singleLineHeight); + Vector2 labelPos = HandleUtility.WorldToGUIPoint(pos); + labelPos.y -= labelSize.y / 2; + labelPos.x -= labelSize.x / 2; + GUILayout.BeginArea(new Rect(labelPos, labelSize)); + GUIStyle style = new GUIStyle(); + style.normal.textColor = Color.black; + style.alignment = TextAnchor.MiddleCenter; + GUILayout.Label(new GUIContent(i.ToString(), "Waypoint " + i), style); + GUILayout.EndArea(); + Handles.EndGUI(); + } + } + + void DrawPositionControl(int i, Matrix4x4 localToWorld, Quaternion localRotation) + { + CinemachineSmoothPath.Waypoint wp = Target.m_Waypoints[i]; + Vector3 pos = localToWorld.MultiplyPoint(wp.position); + EditorGUI.BeginChangeCheck(); + Handles.color = Target.m_Appearance.pathColor; + Quaternion rotation = (Tools.pivotRotation == PivotRotation.Local) + ? localRotation : Quaternion.identity; + float size = HandleUtility.GetHandleSize(pos) * 0.1f; + Handles.SphereHandleCap(0, pos, rotation, size, EventType.Repaint); + pos = Handles.PositionHandle(pos, rotation); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Move Waypoint"); + wp.position = Matrix4x4.Inverse(localToWorld).MultiplyPoint(pos); + Target.m_Waypoints[i] = wp; + Target.InvalidateDistanceCache(); + InspectorUtility.RepaintGameView(); + } + } + + [DrawGizmo(GizmoType.Active | GizmoType.NotInSelectionHierarchy + | GizmoType.InSelectionHierarchy | GizmoType.Pickable, typeof(CinemachineSmoothPath))] + static void DrawGizmos(CinemachineSmoothPath path, GizmoType selectionType) + { + var isActive = Selection.activeGameObject == path.gameObject; + CinemachinePathEditor.DrawPathGizmo( + path, isActive ? path.m_Appearance.pathColor : path.m_Appearance.inactivePathColor, + isActive, LocalSpaceSamplePath); + } + + static Vector4[] s_BezierWeightsCache; + + // Optimizer for gizmo drawing + static int LocalSpaceSamplePath(CinemachinePathBase pathBase, int samplesPerSegment, Vector3[] positions, Quaternion[] rotations) + { + CinemachineSmoothPath path = pathBase as CinemachineSmoothPath; + + path.UpdateControlPoints(); + + int numSegments = path.m_Waypoints.Length - (path.Looped ? 0 : 1); + if (numSegments == 0) + return 0; + + // Compute the bezier weights only once - this is shared by all segments + if (s_BezierWeightsCache == null || s_BezierWeightsCache.Length < samplesPerSegment) + s_BezierWeightsCache = new Vector4[samplesPerSegment]; + for (int i = 0; i < samplesPerSegment; ++i) + { + float t = ((float)i) / samplesPerSegment; + float d = 1.0f - t; + s_BezierWeightsCache[i] = new Vector4(d * d * d, 3f * d * d * t, 3f * d * t * t, t * t * t); + } + + // Process the positions + int numSamples = 0; + for (int wp = 0; wp < numSegments && numSamples < positions.Length; ++wp) + { + int nextWp = (wp + 1) % path.m_Waypoints.Length; + for (int i = 0; i < samplesPerSegment; ++i) + { + if (numSamples >= positions.Length) + break; + positions[numSamples++] + = (s_BezierWeightsCache[i].x * path.m_Waypoints[wp].position) + + (s_BezierWeightsCache[i].y * path.m_ControlPoints1[wp].position) + + (s_BezierWeightsCache[i].z * path.m_ControlPoints2[wp].position) + + (s_BezierWeightsCache[i].w * path.m_Waypoints[nextWp].position); + } + } + if (numSamples < positions.Length) + positions[numSamples++] = path.Looped ? positions[0] : path.m_Waypoints[path.m_Waypoints.Length - 1].position; + + // Process rotations + if (rotations != null && rotations.Length >= numSamples) + { + int numRotSamples = 0; + for (int wp = 0; wp < numSegments && numRotSamples < numSamples; ++wp) + { + int nextWp = (wp + 1) % path.m_Waypoints.Length; + SplineHelpers.BezierTangentWeights3( + path.m_Waypoints[wp].position, path.m_ControlPoints1[wp].position, + path.m_ControlPoints2[wp].position, path.m_Waypoints[nextWp].position, + out var w0, out var w1, out var w2); + + for (int i = 0; i < samplesPerSegment; ++i) + { + if (numRotSamples >= numSamples) + break; + float roll + = (s_BezierWeightsCache[i].x * path.m_Waypoints[wp].roll) + + (s_BezierWeightsCache[i].y * path.m_ControlPoints1[wp].roll) + + (s_BezierWeightsCache[i].z * path.m_ControlPoints2[wp].roll) + + (s_BezierWeightsCache[i].w * path.m_Waypoints[nextWp].roll); + + float t = ((float)i) / samplesPerSegment; + + // From SplineHelpers.BezierTangent3() + var fwd = (w0 * (t * t)) + (w1 * t) + w2; + rotations[numRotSamples++] = Quaternion.LookRotation(fwd) * RollAroundForward(roll); + } + } + if (numRotSamples < numSamples) + rotations[numRotSamples++] = path.Looped ? rotations[0] : path.EvaluateLocalOrientation(path.MaxPos); + } + + return numSamples; + } + + // same as Quaternion.AngleAxis(roll, Vector3.forward), just simplified + static Quaternion RollAroundForward(float angle) + { + var halfAngle = angle * 0.5F * Mathf.Deg2Rad; + return new Quaternion(0, 0, Mathf.Sin(halfAngle), Mathf.Cos(halfAngle)); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSmoothPathEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSmoothPathEditor.cs.meta new file mode 100644 index 00000000..c35d6630 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineSmoothPathEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1123a444101eb774ba7490990b50736a +timeCreated: 1505831686 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStateDrivenCameraEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStateDrivenCameraEditor.cs new file mode 100644 index 00000000..f269fb2f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStateDrivenCameraEditor.cs @@ -0,0 +1,460 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_UNITY_ANIMATION +#endif + +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; +using UnityEditor.Animations; + +namespace Cinemachine.Editor +{ +#if CINEMACHINE_UNITY_ANIMATION + [CustomEditor(typeof(CinemachineStateDrivenCamera))] + internal sealed class CinemachineStateDrivenCameraEditor + : CinemachineVirtualCameraBaseEditor + { + EmbeddeAssetEditor m_BlendsEditor; + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_CustomBlends)); + excluded.Add(FieldPath(x => x.m_Instructions)); + } + + private UnityEditorInternal.ReorderableList mChildList; + private UnityEditorInternal.ReorderableList mInstructionList; + + protected override void OnEnable() + { + base.OnEnable(); + m_BlendsEditor = new EmbeddeAssetEditor( + FieldPath(x => x.m_CustomBlends), this); + m_BlendsEditor.OnChanged = (CinemachineBlenderSettings b) => + { + InspectorUtility.RepaintGameView(); + }; + m_BlendsEditor.OnCreateEditor = (UnityEditor.Editor ed) => + { + CinemachineBlenderSettingsEditor editor = ed as CinemachineBlenderSettingsEditor; + if (editor != null) + editor.GetAllVirtualCameras = () => { return Target.ChildCameras; }; + }; + mChildList = null; + mInstructionList = null; + } + + protected override void OnDisable() + { + base.OnDisable(); + if (m_BlendsEditor != null) + m_BlendsEditor.OnDisable(); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + if (mInstructionList == null) + SetupInstructionList(); + if (mChildList == null) + SetupChildList(); + + if (Target.m_AnimatedTarget == null) + EditorGUILayout.HelpBox("An Animated Target is required", MessageType.Warning); + + // Ordinary properties + DrawHeaderInInspector(); + DrawPropertyInInspector(FindProperty(x => x.m_Priority)); + DrawTargetsInInspector(FindProperty(x => x.m_Follow), FindProperty(x => x.m_LookAt)); + DrawPropertyInInspector(FindProperty(x => x.m_AnimatedTarget)); + + // Layer index + EditorGUI.BeginChangeCheck(); + UpdateTargetStates(); + UpdateCameraCandidates(); + SerializedProperty layerProp = FindAndExcludeProperty(x => x.m_LayerIndex); + int currentLayer = layerProp.intValue; + int layerSelection = EditorGUILayout.Popup("Layer", currentLayer, mLayerNames); + if (currentLayer != layerSelection) + layerProp.intValue = layerSelection; + if (EditorGUI.EndChangeCheck()) + { + serializedObject.ApplyModifiedProperties(); + Target.ValidateInstructions(); + } + + DrawRemainingPropertiesInInspector(); + + // Blends + m_BlendsEditor.DrawEditorCombo( + "Create New Blender Asset", + Target.gameObject.name + " Blends", "asset", string.Empty, + "Custom Blends", false); + + // Instructions + EditorGUI.BeginChangeCheck(); + EditorGUILayout.Separator(); + mInstructionList.DoLayoutList(); + + // vcam children + EditorGUILayout.Separator(); + mChildList.DoLayoutList(); + if (EditorGUI.EndChangeCheck()) + { + serializedObject.ApplyModifiedProperties(); + Target.ValidateInstructions(); + } + + // Extensions + DrawExtensionsWidgetInInspector(); + } + + static AnimatorController GetControllerFromAnimator(Animator animator) + { + if (animator == null) + return null; + var ovr = animator.runtimeAnimatorController as AnimatorOverrideController; + if (ovr) + return ovr.runtimeAnimatorController as AnimatorController; + return animator.runtimeAnimatorController as AnimatorController; + } + + private string[] mLayerNames; + private int[] mTargetStates; + private string[] mTargetStateNames; + private Dictionary mStateIndexLookup; + private void UpdateTargetStates() + { + // Scrape the Animator Controller for states + AnimatorController ac = GetControllerFromAnimator(Target.m_AnimatedTarget); + StateCollector collector = new StateCollector(); + collector.CollectStates(ac, Target.m_LayerIndex); + mTargetStates = collector.mStates.ToArray(); + mTargetStateNames = collector.mStateNames.ToArray(); + mStateIndexLookup = collector.mStateIndexLookup; + + if (ac == null) + mLayerNames = new string[0]; + else + { + mLayerNames = new string[ac.layers.Length]; + for (int i = 0; i < ac.layers.Length; ++i) + mLayerNames[i] = ac.layers[i].name; + } + + // Create the parent map in the target + List parents + = new List(); + foreach (var i in collector.mStateParentLookup) + parents.Add(new CinemachineStateDrivenCamera.ParentHash(i.Key, i.Value)); + Target.m_ParentHash = parents.ToArray(); + } + + class StateCollector + { + public List mStates; + public List mStateNames; + public Dictionary mStateIndexLookup; + public Dictionary mStateParentLookup; + + public void CollectStates(AnimatorController ac, int layerIndex) + { + mStates = new List(); + mStateNames = new List(); + mStateIndexLookup = new Dictionary(); + mStateParentLookup = new Dictionary(); + + mStateIndexLookup[0] = mStates.Count; + mStateNames.Add("(default)"); + mStates.Add(0); + + if (ac != null && layerIndex >= 0 && layerIndex < ac.layers.Length) + { + AnimatorStateMachine fsm = ac.layers[layerIndex].stateMachine; + string name = fsm.name; + int hash = Animator.StringToHash(name); + CollectStatesFromFSM(fsm, name + ".", hash, string.Empty); + } + } + + void CollectStatesFromFSM( + AnimatorStateMachine fsm, string hashPrefix, int parentHash, string displayPrefix) + { + ChildAnimatorState[] states = fsm.states; + for (int i = 0; i < states.Length; i++) + { + AnimatorState state = states[i].state; + int hash = AddState(Animator.StringToHash(hashPrefix + state.name), + parentHash, displayPrefix + state.name); + + // Also process clips as pseudo-states, if more than 1 is present. + // Since they don't have hashes, we can manufacture some. + var clips = CollectClips(state.motion); + if (clips.Count > 1) + { + string substatePrefix = displayPrefix + state.name + "."; + foreach (AnimationClip c in clips) + AddState( + CinemachineStateDrivenCamera.CreateFakeHash(hash, c), + hash, substatePrefix + c.name); + } + } + + ChildAnimatorStateMachine[] fsmChildren = fsm.stateMachines; + foreach (var child in fsmChildren) + { + string name = hashPrefix + child.stateMachine.name; + string displayName = displayPrefix + child.stateMachine.name; + int hash = AddState(Animator.StringToHash(name), parentHash, displayName); + CollectStatesFromFSM(child.stateMachine, name + ".", hash, displayName + "."); + } + } + + List CollectClips(Motion motion) + { + var clips = new List(); + AnimationClip clip = motion as AnimationClip; + if (clip != null) + clips.Add(clip); + BlendTree tree = motion as BlendTree; + if (tree != null) + { + ChildMotion[] children = tree.children; + foreach (var child in children) + clips.AddRange(CollectClips(child.motion)); + } + return clips; + } + + int AddState(int hash, int parentHash, string displayName) + { + if (parentHash != 0) + mStateParentLookup[hash] = parentHash; + mStateIndexLookup[hash] = mStates.Count; + mStateNames.Add(displayName); + mStates.Add(hash); + return hash; + } + } + + private int GetStateHashIndex(int stateHash) + { + if (stateHash == 0) + return 0; + if (!mStateIndexLookup.ContainsKey(stateHash)) + return 0; + return mStateIndexLookup[stateHash]; + } + + private string[] mCameraCandidates; + private Dictionary mCameraIndexLookup; + private void UpdateCameraCandidates() + { + List vcams = new List(); + mCameraIndexLookup = new Dictionary(); + vcams.Add("(none)"); + CinemachineVirtualCameraBase[] children = Target.ChildCameras; + foreach (var c in children) + { + mCameraIndexLookup[c] = vcams.Count; + vcams.Add(c.Name); + } + mCameraCandidates = vcams.ToArray(); + } + + private int GetCameraIndex(Object obj) + { + if (obj == null || mCameraIndexLookup == null) + return 0; + CinemachineVirtualCameraBase vcam = obj as CinemachineVirtualCameraBase; + if (vcam == null) + return 0; + if (!mCameraIndexLookup.ContainsKey(vcam)) + return 0; + return mCameraIndexLookup[vcam]; + } + + void SetupInstructionList() + { + mInstructionList = new UnityEditorInternal.ReorderableList(serializedObject, + serializedObject.FindProperty(() => Target.m_Instructions), + true, true, true, true); + + // Needed for accessing field names as strings + CinemachineStateDrivenCamera.Instruction def = new CinemachineStateDrivenCamera.Instruction(); + + float vSpace = 2; + float hSpace = 3; + float floatFieldWidth = EditorGUIUtility.singleLineHeight * 2.5f; + float hBigSpace = EditorGUIUtility.singleLineHeight * 2 / 3; + mInstructionList.drawHeaderCallback = (Rect rect) => + { + float sharedWidth = rect.width - EditorGUIUtility.singleLineHeight + - 2 * (hBigSpace + floatFieldWidth) - hSpace; + rect.x += EditorGUIUtility.singleLineHeight; rect.width = sharedWidth / 2; + EditorGUI.LabelField(rect, "State"); + + rect.x += rect.width + hSpace; + EditorGUI.LabelField(rect, "Camera"); + + rect.x += rect.width + hBigSpace; rect.width = floatFieldWidth; + EditorGUI.LabelField(rect, "Wait"); + + rect.x += rect.width + hBigSpace; + EditorGUI.LabelField(rect, "Min"); + }; + + mInstructionList.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { + SerializedProperty instProp + = mInstructionList.serializedProperty.GetArrayElementAtIndex(index); + float sharedWidth = rect.width - 2 * (hBigSpace + floatFieldWidth) - hSpace; + rect.y += vSpace; rect.height = EditorGUIUtility.singleLineHeight; + + rect.width = sharedWidth / 2; + SerializedProperty stateSelProp = instProp.FindPropertyRelative(() => def.m_FullHash); + int currentState = GetStateHashIndex(stateSelProp.intValue); + int stateSelection = EditorGUI.Popup(rect, currentState, mTargetStateNames); + if (currentState != stateSelection) + stateSelProp.intValue = mTargetStates[stateSelection]; + + rect.x += rect.width + hSpace; + SerializedProperty vcamSelProp = instProp.FindPropertyRelative(() => def.m_VirtualCamera); + int currentVcam = GetCameraIndex(vcamSelProp.objectReferenceValue); + int vcamSelection = EditorGUI.Popup(rect, currentVcam, mCameraCandidates); + if (currentVcam != vcamSelection) + vcamSelProp.objectReferenceValue = (vcamSelection == 0) + ? null : Target.ChildCameras[vcamSelection - 1]; + + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = hBigSpace; + + rect.x += rect.width; rect.width = floatFieldWidth + hBigSpace; + SerializedProperty activeAfterProp = instProp.FindPropertyRelative(() => def.m_ActivateAfter); + EditorGUI.PropertyField(rect, activeAfterProp, new GUIContent(" ", activeAfterProp.tooltip)); + + rect.x += rect.width; + SerializedProperty minDurationProp = instProp.FindPropertyRelative(() => def.m_MinDuration); + EditorGUI.PropertyField(rect, minDurationProp, new GUIContent(" ", minDurationProp.tooltip)); + + EditorGUIUtility.labelWidth = oldWidth; + }; + + mInstructionList.onAddDropdownCallback = (Rect buttonRect, UnityEditorInternal.ReorderableList l) => + { + var menu = new GenericMenu(); + menu.AddItem(new GUIContent("New State"), + false, (object data) => + { + ++mInstructionList.serializedProperty.arraySize; + serializedObject.ApplyModifiedProperties(); + Target.ValidateInstructions(); + }, + null); + menu.AddItem(new GUIContent("All Unhandled States"), + false, (object data) => + { + CinemachineStateDrivenCamera target = Target; + int len = mInstructionList.serializedProperty.arraySize; + for (int i = 0; i < mTargetStates.Length; ++i) + { + int hash = mTargetStates[i]; + if (hash == 0) + continue; + bool alreadyThere = false; + for (int j = 0; j < len; ++j) + { + if (target.m_Instructions[j].m_FullHash == hash) + { + alreadyThere = true; + break; + } + } + if (!alreadyThere) + { + int index = mInstructionList.serializedProperty.arraySize; + ++mInstructionList.serializedProperty.arraySize; + SerializedProperty p = mInstructionList.serializedProperty.GetArrayElementAtIndex(index); + p.FindPropertyRelative(() => def.m_FullHash).intValue = hash; + } + } + serializedObject.ApplyModifiedProperties(); + Target.ValidateInstructions(); + }, + null); + menu.ShowAsContext(); + }; + } + + void SetupChildList() + { + float vSpace = 2; + float hSpace = 3; + float floatFieldWidth = EditorGUIUtility.singleLineHeight * 2.5f; + float hBigSpace = EditorGUIUtility.singleLineHeight * 2 / 3; + + mChildList = new UnityEditorInternal.ReorderableList(serializedObject, + serializedObject.FindProperty(() => Target.m_ChildCameras), + true, true, true, true); + + mChildList.drawHeaderCallback = (Rect rect) => + { + EditorGUI.LabelField(rect, "Virtual Camera Children"); + GUIContent priorityText = new GUIContent("Priority"); + var textDimensions = GUI.skin.label.CalcSize(priorityText); + rect.x += rect.width - textDimensions.x; + rect.width = textDimensions.x; + EditorGUI.LabelField(rect, priorityText); + }; + mChildList.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { + rect.y += vSpace; rect.height = EditorGUIUtility.singleLineHeight; + rect.width -= floatFieldWidth + hBigSpace; + SerializedProperty element = mChildList.serializedProperty.GetArrayElementAtIndex(index); + EditorGUI.PropertyField(rect, element, GUIContent.none); + + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = hBigSpace; + SerializedObject obj = new SerializedObject(element.objectReferenceValue); + rect.x += rect.width + hSpace; rect.width = floatFieldWidth + hBigSpace; + SerializedProperty priorityProp = obj.FindProperty(() => Target.m_Priority); + EditorGUI.PropertyField(rect, priorityProp, new GUIContent(" ", priorityProp.tooltip)); + EditorGUIUtility.labelWidth = oldWidth; + obj.ApplyModifiedProperties(); + }; + mChildList.onChangedCallback = (UnityEditorInternal.ReorderableList l) => + { + if (l.index < 0 || l.index >= l.serializedProperty.arraySize) + return; + Object o = l.serializedProperty.GetArrayElementAtIndex( + l.index).objectReferenceValue; + CinemachineVirtualCameraBase vcam = (o != null) + ? (o as CinemachineVirtualCameraBase) : null; + if (vcam != null) + vcam.transform.SetSiblingIndex(l.index); + }; + mChildList.onAddCallback = (UnityEditorInternal.ReorderableList l) => + { + var index = l.serializedProperty.arraySize; + var vcam = CinemachineMenu.CreateDefaultVirtualCamera(); + Undo.SetTransformParent(vcam.transform, Target.transform, ""); + vcam.transform.SetSiblingIndex(index); + }; + mChildList.onRemoveCallback = (UnityEditorInternal.ReorderableList l) => + { + Object o = l.serializedProperty.GetArrayElementAtIndex( + l.index).objectReferenceValue; + CinemachineVirtualCameraBase vcam = (o != null) + ? (o as CinemachineVirtualCameraBase) : null; + if (vcam != null) + Undo.DestroyObjectImmediate(vcam.gameObject); + }; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStateDrivenCameraEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStateDrivenCameraEditor.cs.meta new file mode 100644 index 00000000..94dc06e4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStateDrivenCameraEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0eb9f23cde3a1734da334cfa0831dd25 +timeCreated: 1486062933 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStoryboardEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStoryboardEditor.cs new file mode 100644 index 00000000..81bef37c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStoryboardEditor.cs @@ -0,0 +1,152 @@ +#if !UNITY_2019_1_OR_NEWER +#define CINEMACHINE_UGUI +#endif + +#if CINEMACHINE_UGUI +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [InitializeOnLoad] + static class CinemachineStoryboardMute + { + static CinemachineStoryboardMute() + { + CinemachineStoryboard.s_StoryboardGlobalMute = Enabled; + } + + public static string kEnabledKey = "StoryboardMute_Enabled"; + public static bool Enabled + { + get { return EditorPrefs.GetBool(kEnabledKey, false); } + set + { + if (value != Enabled) + { + EditorPrefs.SetBool(kEnabledKey, value); + CinemachineStoryboard.s_StoryboardGlobalMute = value; + InspectorUtility.RepaintGameView(); + } + } + } + } + + [CustomEditor(typeof(CinemachineStoryboard))] + [CanEditMultipleObjects] + internal sealed class CinemachineStoryboardEditor : BaseEditor + { + public void OnDisable() + { + WaveformWindow.SetDefaultUpdateInterval(); + } + + const float FastWaveformUpdateInterval = 0.1f; + float mLastSplitScreenEventTime = 0; + static bool sAdvancedFoldout; + + public override void OnInspectorGUI() + { + float now = Time.realtimeSinceStartup; + if (now - mLastSplitScreenEventTime > FastWaveformUpdateInterval * 5) + WaveformWindow.SetDefaultUpdateInterval(); + + BeginInspector(); + CinemachineStoryboardMute.Enabled + = EditorGUILayout.Toggle( + new GUIContent( + "Storyboard Global Mute", + "If checked, all storyboards are globally muted."), + CinemachineStoryboardMute.Enabled); + + Rect rect = EditorGUILayout.GetControlRect(true); + EditorGUI.BeginChangeCheck(); + { + float width = rect.width; + rect.width = EditorGUIUtility.labelWidth + rect.height; + EditorGUI.PropertyField(rect, FindProperty(x => x.m_ShowImage)); + + rect.x += rect.width; rect.width = width - rect.width; + EditorGUI.PropertyField(rect, FindProperty(x => x.m_Image), GUIContent.none); + + EditorGUILayout.PropertyField(FindProperty(x => x.m_Aspect)); + EditorGUILayout.PropertyField(FindProperty(x => x.m_Alpha)); + EditorGUILayout.PropertyField(FindProperty(x => x.m_Center)); + EditorGUILayout.PropertyField(FindProperty(x => x.m_Rotation)); + + rect = EditorGUILayout.GetControlRect(true); + EditorGUI.LabelField(rect, "Scale"); + rect.x += EditorGUIUtility.labelWidth; rect.width -= EditorGUIUtility.labelWidth; + rect.width /= 3; + serializedObject.SetIsDifferentCacheDirty(); // prop.hasMultipleDifferentValues always results in false if the SO isn't refreshed here + var prop = FindProperty(x => x.m_SyncScale); + var syncHasDifferentValues = prop.hasMultipleDifferentValues; + GUIContent syncLabel = new GUIContent("Sync", prop.tooltip); + EditorGUI.showMixedValue = syncHasDifferentValues; + prop.boolValue = EditorGUI.ToggleLeft(rect, syncLabel, prop.boolValue); + EditorGUI.showMixedValue = false; + rect.x += rect.width; + if (prop.boolValue || targets.Length > 1 && syncHasDifferentValues) + { + prop = FindProperty(x => x.m_Scale); + float[] values = new float[1] { prop.vector2Value.x }; + EditorGUI.showMixedValue = prop.hasMultipleDifferentValues; + EditorGUI.MultiFloatField(rect, new GUIContent[1] { new GUIContent("X") }, values); + EditorGUI.showMixedValue = false; + prop.vector2Value = new Vector2(values[0], values[0]); + } + else + { + rect.width *= 2; + prop = FindProperty(x => x.m_Scale); + EditorGUI.showMixedValue = prop.hasMultipleDifferentValues; + EditorGUI.PropertyField(rect, prop, GUIContent.none); + EditorGUI.showMixedValue = false; + } + EditorGUILayout.PropertyField(FindProperty(x => x.m_MuteCamera)); + } + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + + EditorGUILayout.Space(); + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(FindProperty(x => x.m_SplitView)); + if (EditorGUI.EndChangeCheck()) + { + mLastSplitScreenEventTime = now; + WaveformWindow.UpdateInterval = FastWaveformUpdateInterval; + serializedObject.ApplyModifiedProperties(); + } + rect = EditorGUILayout.GetControlRect(true); + GUI.Label(new Rect(rect.x, rect.y, EditorGUIUtility.labelWidth, rect.height), + "Waveform Monitor"); + rect.width -= EditorGUIUtility.labelWidth; rect.width /= 2; + rect.x += EditorGUIUtility.labelWidth; + if (GUI.Button(rect, "Open")) + WaveformWindow.OpenWindow(); + + EditorGUILayout.Space(); + sAdvancedFoldout = EditorGUILayout.Foldout(sAdvancedFoldout, "Advanced"); + if (sAdvancedFoldout) + { + ++EditorGUI.indentLevel; + + EditorGUI.BeginChangeCheck(); + var renderModeProperty = FindProperty(x => x.m_RenderMode); + EditorGUILayout.PropertyField(renderModeProperty); + EditorGUILayout.PropertyField(FindProperty(x => x.m_SortingOrder)); + if (renderModeProperty.enumValueIndex == (int) RenderMode.ScreenSpaceCamera) + { + EditorGUILayout.PropertyField(FindProperty(x => x.m_PlaneDistance)); + } + if (EditorGUI.EndChangeCheck()) + { + serializedObject.ApplyModifiedProperties(); + } + + --EditorGUI.indentLevel; + } + } + } +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStoryboardEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStoryboardEditor.cs.meta new file mode 100644 index 00000000..16b1e06e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineStoryboardEditor.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: a9e63e62da42ce141b35602019323584 +timeCreated: 1516812054 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTargetGroupEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTargetGroupEditor.cs new file mode 100644 index 00000000..65e02b33 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTargetGroupEditor.cs @@ -0,0 +1,128 @@ +using System; +using UnityEditor; +using UnityEngine; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineTargetGroup))] + internal sealed class CinemachineTargetGroupEditor : BaseEditor + { + private UnityEditorInternal.ReorderableList mTargetList; + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_Targets)); + } + + void OnEnable() + { + mTargetList = null; + } + + public override void OnInspectorGUI() + { + BeginInspector(); + DrawRemainingPropertiesInInspector(); + + if (mTargetList == null) + SetupTargetList(); + EditorGUI.BeginChangeCheck(); + mTargetList.DoLayoutList(); + DisplayErrorMessageForDescendants(); + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + } + + void DisplayErrorMessageForDescendants() + { + String indices = ""; + for (int i = 0; i < Target.m_Targets.Length; ++i) + { + if (Target.m_Targets[i].target != null && Target.m_Targets[i].target.IsChildOf(Target.Transform)) + { + indices += i + ", "; + } + } + + if (indices.Length > 0) + { + indices = indices.Substring(0, indices.Length - 2); + EditorGUILayout.HelpBox( + "Group members at index {" + indices + "} are child gameobjects of the group. " + + "This is not supported and may cause undefined behaviour. Unparent them from the group.", + MessageType.Error); + } + } + + void SetupTargetList() + { + float vSpace = 2; + float floatFieldWidth = EditorGUIUtility.singleLineHeight * 3.5f; + float hBigSpace = EditorGUIUtility.singleLineHeight * 2 / 3; + + mTargetList = new UnityEditorInternal.ReorderableList( + serializedObject, FindProperty(x => x.m_Targets), + true, true, true, true); + + // Needed for accessing field names as strings + CinemachineTargetGroup.Target def = new CinemachineTargetGroup.Target(); + + mTargetList.drawHeaderCallback = (Rect rect) => + { + rect.width -= EditorGUIUtility.singleLineHeight + 2 * (floatFieldWidth + hBigSpace); + Vector2 pos = rect.position; pos.x += EditorGUIUtility.singleLineHeight; + rect.position = pos; + EditorGUI.LabelField(rect, "Target"); + + pos.x += rect.width + hBigSpace; rect.width = floatFieldWidth + hBigSpace; rect.position = pos; + EditorGUI.LabelField(rect, "Weight"); + + pos.x += rect.width; rect.position = pos; + EditorGUI.LabelField(rect, "Radius"); + }; + + mTargetList.drawElementCallback + = (Rect rect, int index, bool isActive, bool isFocused) => + { + SerializedProperty elemProp = mTargetList.serializedProperty.GetArrayElementAtIndex(index); + + rect.y += vSpace; + rect.height = EditorGUIUtility.singleLineHeight; + Vector2 pos = rect.position; + //rect.width -= hSpace + 2 * EditorGUIUtility.singleLineHeight; + rect.width -= 2 * (floatFieldWidth + hBigSpace); + EditorGUI.PropertyField(rect, elemProp.FindPropertyRelative(() => def.target), GUIContent.none); + + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = EditorGUIUtility.singleLineHeight; + pos.x += rect.width; rect.width = floatFieldWidth + hBigSpace; rect.position = pos; + EditorGUI.PropertyField(rect, elemProp.FindPropertyRelative(() => def.weight), new GUIContent(" ")); + pos.x += rect.width; rect.position = pos; + EditorGUI.PropertyField(rect, elemProp.FindPropertyRelative(() => def.radius), new GUIContent(" ")); + EditorGUIUtility.labelWidth = oldWidth; + }; + + mTargetList.onAddCallback = (UnityEditorInternal.ReorderableList l) => + { + var index = l.serializedProperty.arraySize; + ++l.serializedProperty.arraySize; + SerializedProperty elemProp = mTargetList.serializedProperty.GetArrayElementAtIndex(index); + elemProp.FindPropertyRelative(() => def.weight).floatValue = 1; + }; + } + +#if false // enable for debugging + [DrawGizmo(GizmoType.Active | GizmoType.InSelectionHierarchy, typeof(CinemachineTargetGroup))] + private static void DrawGroupComposerGizmos(CinemachineTargetGroup target, GizmoType selectionType) + { + Gizmos.color = Color.yellow; + var sphere = target.Sphere; + Gizmos.DrawWireSphere(sphere.position, sphere.radius); + } +#endif + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTargetGroupEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTargetGroupEditor.cs.meta new file mode 100644 index 00000000..16c5db60 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTargetGroupEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: eb8e037cb3f873743a725427c8c22342 +timeCreated: 1496424406 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTrackedDollyEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTrackedDollyEditor.cs new file mode 100644 index 00000000..da1eff06 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTrackedDollyEditor.cs @@ -0,0 +1,72 @@ +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineTrackedDolly))] + [CanEditMultipleObjects] + internal sealed class CinemachineTrackedDollyEditor : BaseEditor + { + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + switch (Target.m_CameraUp) + { + default: + break; + case CinemachineTrackedDolly.CameraUpMode.PathNoRoll: + case CinemachineTrackedDolly.CameraUpMode.FollowTargetNoRoll: + excluded.Add(FieldPath(x => x.m_RollDamping)); + break; + case CinemachineTrackedDolly.CameraUpMode.Default: + excluded.Add(FieldPath(x => x.m_PitchDamping)); + excluded.Add(FieldPath(x => x.m_YawDamping)); + excluded.Add(FieldPath(x => x.m_RollDamping)); + break; + } + } + + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineTrackedDolly).m_Path == null; + if (needWarning) + EditorGUILayout.HelpBox("A Path is required", MessageType.Warning); + + needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineTrackedDolly).m_AutoDolly.m_Enabled + && (targets[i] as CinemachineTrackedDolly).FollowTarget == null; + if (needWarning) + EditorGUILayout.HelpBox("AutoDolly requires a Follow Target", MessageType.Warning); + + DrawRemainingPropertiesInInspector(); + } + + [DrawGizmo(GizmoType.Active | GizmoType.InSelectionHierarchy, typeof(CinemachineTrackedDolly))] + private static void DrawTrackeDollyGizmos(CinemachineTrackedDolly target, GizmoType selectionType) + { + if (target.IsValid) + { + CinemachinePathBase path = target.m_Path; + if (path != null) + { + var isActive = CinemachineCore.Instance.IsLive(target.VirtualCamera); + CinemachinePathEditor.DrawPathGizmo(path, path.m_Appearance.pathColor, isActive); + Vector3 pos = path.EvaluatePositionAtUnit(target.m_PathPosition, target.m_PositionUnits); + Color oldColor = Gizmos.color; + Gizmos.color = isActive + ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour + : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour; + Gizmos.DrawLine(pos, target.VirtualCamera.State.RawPosition); + Gizmos.color = oldColor; + } + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTrackedDollyEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTrackedDollyEditor.cs.meta new file mode 100644 index 00000000..84f8029e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTrackedDollyEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d4a408a1b506d0046875061c677944d8 +timeCreated: 1493318518 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTransposerEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTransposerEditor.cs new file mode 100644 index 00000000..84d49a6f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTransposerEditor.cs @@ -0,0 +1,105 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineTransposer))] + [CanEditMultipleObjects] + internal class CinemachineTransposerEditor : BaseEditor + { + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + + switch (Target.m_BindingMode) + { + default: + case CinemachineTransposer.BindingMode.LockToTarget: + if (Target.m_AngularDampingMode == CinemachineTransposer.AngularDampingMode.Euler) + excluded.Add(FieldPath(x => x.m_AngularDamping)); + else + { + excluded.Add(FieldPath(x => x.m_PitchDamping)); + excluded.Add(FieldPath(x => x.m_YawDamping)); + excluded.Add(FieldPath(x => x.m_RollDamping)); + } + break; + case CinemachineTransposer.BindingMode.LockToTargetNoRoll: + excluded.Add(FieldPath(x => x.m_RollDamping)); + excluded.Add(FieldPath(x => x.m_AngularDamping)); + excluded.Add(FieldPath(x => x.m_AngularDampingMode)); + break; + case CinemachineTransposer.BindingMode.LockToTargetWithWorldUp: + excluded.Add(FieldPath(x => x.m_PitchDamping)); + excluded.Add(FieldPath(x => x.m_RollDamping)); + excluded.Add(FieldPath(x => x.m_AngularDamping)); + excluded.Add(FieldPath(x => x.m_AngularDampingMode)); + break; + case CinemachineTransposer.BindingMode.LockToTargetOnAssign: + case CinemachineTransposer.BindingMode.WorldSpace: + excluded.Add(FieldPath(x => x.m_PitchDamping)); + excluded.Add(FieldPath(x => x.m_YawDamping)); + excluded.Add(FieldPath(x => x.m_RollDamping)); + excluded.Add(FieldPath(x => x.m_AngularDamping)); + excluded.Add(FieldPath(x => x.m_AngularDampingMode)); + break; + case CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp: + excluded.Add(FieldPath(x => x.m_XDamping)); + excluded.Add(FieldPath(x => x.m_PitchDamping)); + excluded.Add(FieldPath(x => x.m_YawDamping)); + excluded.Add(FieldPath(x => x.m_RollDamping)); + excluded.Add(FieldPath(x => x.m_AngularDamping)); + excluded.Add(FieldPath(x => x.m_AngularDampingMode)); + break; + } + if (Target.HideOffsetInInspector) + excluded.Add(FieldPath(x => x.m_FollowOffset)); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + bool needWarning = false; + for (int i = 0; !needWarning && i < targets.Length; ++i) + needWarning = (targets[i] as CinemachineTransposer).FollowTarget == null; + if (needWarning) + EditorGUILayout.HelpBox( + "Transposer requires a Follow Target. Change Body to Do Nothing if you don't want a Follow target.", + MessageType.Warning); + DrawRemainingPropertiesInInspector(); + } +#if UNITY_2021_2_OR_NEWER + void OnSceneGUI() + { + DrawSceneTools(); + } + + protected virtual void OnEnable() + { + CinemachineSceneToolUtility.RegisterTool(typeof(FollowOffsetTool)); + } + + protected virtual void OnDisable() + { + CinemachineSceneToolUtility.UnregisterTool(typeof(FollowOffsetTool)); + } + + void DrawSceneTools() + { + var transposer = Target; + if (transposer == null || !transposer.IsValid) + { + return; + } + + if (CinemachineSceneToolUtility.IsToolActive(typeof(FollowOffsetTool))) + { + CinemachineSceneToolHelpers.TransposerFollowOffsetTool(transposer); + } + } +#endif + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTransposerEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTransposerEditor.cs.meta new file mode 100644 index 00000000..c0de9c17 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineTransposerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f34e35dc1dc67c54c841b728548d69cc +timeCreated: 1484088330 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraBaseEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraBaseEditor.cs new file mode 100644 index 00000000..6e77740a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraBaseEditor.cs @@ -0,0 +1,749 @@ +using UnityEngine; +using UnityEditor; +using System; +using System.Collections.Generic; +using System.Linq; +using Cinemachine.Utility; + +#if CINEMACHINE_UNITY_INPUTSYSTEM +using UnityEngine.InputSystem; +#endif + +#if CINEMACHINE_HDRP || CINEMACHINE_LWRP_7_3_1 + #if CINEMACHINE_HDRP_7_3_1 + using UnityEngine.Rendering.HighDefinition; + #else + #if CINEMACHINE_LWRP_7_3_1 + using UnityEngine.Rendering.Universal; + #else + using UnityEngine.Experimental.Rendering.HDPipeline; + #endif + #endif +#endif + +#if UNITY_2019_1_OR_NEWER + using CameraExtensions = UnityEngine.Camera; +#else + // Needed only for Unity pre-2019.1 because Camera doesn't have these methods + static class CameraExtensions + { + public static float HorizontalToVerticalFieldOfView(float f, float aspect) + { + return Mathf.Rad2Deg * 2 * Mathf.Atan(Mathf.Tan(f * Mathf.Deg2Rad * 0.5f) / aspect); + } + + public static float VerticalToHorizontalFieldOfView(float f, float aspect) + { + return Mathf.Rad2Deg * 2 * Mathf.Atan(Mathf.Tan(f * Mathf.Deg2Rad * 0.5f) * aspect); + } + + public static float FieldOfViewToFocalLength(float fov, float sensorHeight) + { + return sensorHeight * 0.5f / Mathf.Tan(Mathf.Deg2Rad * fov * 0.5f); + } + + public static float FocalLengthToFieldOfView(float focalLength, float sensorHeight) + { + if (focalLength < UnityVectorExtensions.Epsilon) + return 180f; + return Mathf.Rad2Deg * 2.0f * Mathf.Atan(sensorHeight * 0.5f / focalLength); + } + } +#endif + + +namespace Cinemachine.Editor +{ + /// + /// Base class for virtual camera editors. + /// Handles drawing the header and the basic properties. + /// + /// The type of CinemachineVirtualCameraBase being edited + public class CinemachineVirtualCameraBaseEditor : BaseEditor where T : CinemachineVirtualCameraBase + { + /// A collection of GUIContent for use in the inspector + public static class Styles + { + /// GUIContent for Add Extension + public static GUIContent addExtensionLabel = new GUIContent("Add Extension"); + /// GUIContent for no-multi-select message + public static GUIContent virtualCameraChildrenInfoMsg + = new GUIContent("The Virtual Camera Children field is not available when multiple objects are selected."); + } + + static Type[] sExtensionTypes; // First entry is null + static string[] sExtensionNames; + bool IsPrefabBase { get; set; } + + /// Obsolete, do not use. Use the overload, which is more performant + /// List of property names to exclude + protected override List GetExcludedPropertiesInInspector() + { return base.GetExcludedPropertiesInInspector(); } + + /// Get the property names to exclude in the inspector. + /// Implementation should call the base class implementation + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + if (Target.m_ExcludedPropertiesInInspector != null) + excluded.AddRange(Target.m_ExcludedPropertiesInInspector); + } + + /// Update state information on undo/redo + void UpdateCameraState() + { + if (Target != null) + Target.InternalUpdateCameraState(Vector3.up, -1); + } + + /// Inspector panel is being enabled. + /// Implementation should call the base class implementation + protected virtual void OnEnable() + { + Undo.undoRedoPerformed += UpdateCameraState; + + IsPrefabBase = Target.gameObject.scene.name == null; // causes a small GC alloc + if (sExtensionTypes == null) + { + // Populate the extension list + List exts = new List(); + List names = new List(); + exts.Add(null); + names.Add("(select)"); + var allExtensions + = ReflectionHelpers.GetTypesInAllDependentAssemblies( + (Type t) => typeof(CinemachineExtension).IsAssignableFrom(t) && !t.IsAbstract); + foreach (Type t in allExtensions) + { + exts.Add(t); + names.Add(t.Name); + } + sExtensionTypes = exts.ToArray(); + sExtensionNames = names.ToArray(); + } + } + + /// Inspector panel is being disabled. + /// Implementation should call the base class implementation + protected virtual void OnDisable() + { + Undo.undoRedoPerformed -= UpdateCameraState; + + if (CinemachineBrain.SoloCamera == (ICinemachineCamera)Target) + { + CinemachineBrain.SoloCamera = null; + InspectorUtility.RepaintGameView(); + } + } + + /// Create the contents of the inspector panel. + /// This implementation draws header and Extensions widget, and uses default algorithms + /// to draw the properties in the inspector + public override void OnInspectorGUI() + { + BeginInspector(); + DrawHeaderInInspector(); + DrawRemainingPropertiesInInspector(); + DrawExtensionsWidgetInInspector(); + } + + /// + /// Draw the virtual camera header in the inspector. + /// This includes Solo button, Live status, and global settings + /// + protected void DrawHeaderInInspector() + { + if (!IsPropertyExcluded("Header")) + { + DrawCameraStatusInInspector(); + DrawGlobalControlsInInspector(); +#if CINEMACHINE_UNITY_INPUTSYSTEM + DrawInputProviderButtonInInspector(); +#endif + ExcludeProperty("Header"); + } + } + +#if CINEMACHINE_UNITY_INPUTSYSTEM + static GUIContent s_InputProviderAddLabel = new GUIContent("Add Input Provider", + "Adds CinemachineInputProvider component to this vcam, " + + "if it does not have one, enabling the vcam to read input from Input Actions. " + + "By default, a simple mouse XY input action is added."); + + static InputActionReference s_InputActionReference = null; + + void DrawInputProviderButtonInInspector() + { + bool needsButton = false; + for (int i = 0; !needsButton && i < targets.Length; ++i) + { + var vcam = targets[i] as CinemachineVirtualCameraBase; + if (vcam.RequiresUserInput() && vcam.GetComponent() == null) + needsButton = true; + } + if (!needsButton) + return; + + EditorGUILayout.Space(); + EditorGUILayout.HelpBox( + "The InputSystem package is installed, but it is not used to control this vcam.", + MessageType.Info); + var rect = EditorGUILayout.GetControlRect(true); + rect.x += EditorGUIUtility.labelWidth; + rect.width -= EditorGUIUtility.labelWidth; + if (GUI.Button(rect, s_InputProviderAddLabel)) + { + if (s_InputActionReference == null) + { + s_InputActionReference = (InputActionReference)AssetDatabase.LoadAllAssetsAtPath( + "Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/DefaultInputActions.inputactions"). + FirstOrDefault(x => x.name == "Player/Look"); + } + Undo.SetCurrentGroupName("Add CinemachineInputProvider"); + for (int i = 0; i < targets.Length; ++i) + { + var vcam = targets[i] as CinemachineVirtualCameraBase; + if (vcam.GetComponent() != null) + continue; + var inputProvider = Undo.AddComponent(vcam.gameObject); + inputProvider.XYAxis = s_InputActionReference; + } + } + EditorGUILayout.Space(); + } +#endif + + /// + /// Draw the LookAt and Follow targets in the inspector + /// + /// Follow target SerializedProperty + /// LookAt target SerializedProperty + protected void DrawTargetsInInspector( + SerializedProperty followTarget, SerializedProperty lookAtTarget) + { + EditorGUI.BeginChangeCheck(); + if (!IsPropertyExcluded(followTarget.name)) + { + if (Target.ParentCamera == null || Target.ParentCamera.Follow == null) + EditorGUILayout.PropertyField(followTarget); + else + EditorGUILayout.PropertyField(followTarget, + new GUIContent(followTarget.displayName + " Override")); + ExcludeProperty(followTarget.name); + } + if (!IsPropertyExcluded(lookAtTarget.name)) + { + if (Target.ParentCamera == null || Target.ParentCamera.LookAt == null) + EditorGUILayout.PropertyField(lookAtTarget); + else + EditorGUILayout.PropertyField(lookAtTarget, + new GUIContent(lookAtTarget.displayName + " Override")); + ExcludeProperty(lookAtTarget.name); + } + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + } + + /// + /// Draw the Extensions dropdown in the inspector + /// + protected void DrawExtensionsWidgetInInspector() + { + if (!IsPropertyExcluded("Extensions")) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Extensions", EditorStyles.boldLabel); + Rect rect = EditorGUILayout.GetControlRect(true, EditorGUIUtility.singleLineHeight); + rect = EditorGUI.PrefixLabel(rect, Styles.addExtensionLabel); + + int selection = EditorGUI.Popup(rect, 0, sExtensionNames); + if (selection > 0) + { + Type extType = sExtensionTypes[selection]; + for (int i = 0; i < targets.Length; i++) + { + var targetGO = (targets[i] as CinemachineVirtualCameraBase).gameObject; + if (targetGO != null && targetGO.GetComponent(extType) == null) + Undo.AddComponent(targetGO, extType); + } + } + ExcludeProperty("Extensions"); + } + } + + /// + /// Draw the Live status in the inspector, and the Solo button + /// + protected void DrawCameraStatusInInspector() + { + if (Selection.objects.Length > 1) + return; + + // Is the camera navel-gazing? + CameraState state = Target.State; + if (state.HasLookAt && (state.ReferenceLookAt - state.CorrectedPosition).AlmostZero()) + EditorGUILayout.HelpBox( + "The camera is positioned on the same point at which it is trying to look.", + MessageType.Warning); + + // No status and Solo for prefabs + if (IsPrefabBase) + return; + + // Active status and Solo button + Rect rect = EditorGUILayout.GetControlRect(true); + Rect rectLabel = new Rect(rect.x, rect.y, EditorGUIUtility.labelWidth, rect.height); + rect.width -= rectLabel.width; + rect.x += rectLabel.width; + + Color color = GUI.color; + bool isSolo = (CinemachineBrain.SoloCamera == (ICinemachineCamera)Target); + if (isSolo) + GUI.color = CinemachineBrain.GetSoloGUIColor(); + + bool isLive = CinemachineCore.Instance.IsLive(Target); + GUI.enabled = isLive; + GUI.Label(rectLabel, isLive ? "Status: Live" + : (Target.isActiveAndEnabled ? "Status: Standby" : "Status: Disabled")); + GUI.enabled = true; + + float labelWidth = 0; + GUIContent updateText = GUIContent.none; + UpdateTracker.UpdateClock updateMode = CinemachineCore.Instance.GetVcamUpdateStatus(Target); + if (Application.isPlaying) + { + updateText = new GUIContent( + updateMode == UpdateTracker.UpdateClock.Fixed ? " Fixed Update" : " Late Update"); + var textDimensions = GUI.skin.label.CalcSize(updateText); + labelWidth = textDimensions.x; + } + rect.width -= labelWidth; + if (GUI.Button(rect, "Solo", "Button")) + { + isSolo = !isSolo; + CinemachineBrain.SoloCamera = isSolo ? Target : null; + InspectorUtility.RepaintGameView(); + } + GUI.color = color; + if (isSolo && !Application.isPlaying) + InspectorUtility.RepaintGameView(); + + if (labelWidth > 0) + { + GUI.enabled = false; + rect.x += rect.width; rect.width = labelWidth; + GUI.Label(rect, updateText); + GUI.enabled = true; + } + } + + static GUIContent ShowInGameGuidesLabel = new GUIContent( + "Game Window Guides", + "Enable the display of overlays in the Game window. " + + "You can adjust colours and opacity in Cinemachine Preferences."); + + static GUIContent SaveDuringPlayLabel = new GUIContent( + "Save During Play", + "If checked, Virtual Camera settings changes made during Play Mode " + + "will be propagated back to the scene when Play Mode is exited."); + + /// + /// Draw the global settings controls in the inspector + /// + protected void DrawGlobalControlsInInspector() + { + CinemachineSettings.CinemachineCoreSettings.ShowInGameGuides + = EditorGUILayout.Toggle(ShowInGameGuidesLabel, + CinemachineSettings.CinemachineCoreSettings.ShowInGameGuides); + + SaveDuringPlay.SaveDuringPlay.Enabled + = EditorGUILayout.Toggle(SaveDuringPlayLabel, SaveDuringPlay.SaveDuringPlay.Enabled); + + if (Application.isPlaying && SaveDuringPlay.SaveDuringPlay.Enabled) + EditorGUILayout.HelpBox( + " Virtual Camera settings changes made during Play Mode will be " + + "propagated back to the scene when Play Mode is exited.", + MessageType.Info); + } + + LensSettingsInspectorHelper m_LensSettingsInspectorHelper; + internal bool IsHorizontalFOVUsed() => + m_LensSettingsInspectorHelper != null && m_LensSettingsInspectorHelper.UseHorizontalFOV; + + /// + /// Draw the Lens Settings controls in the inspector + /// + /// The SerializedProperty for the field of type LensSettings field + protected void DrawLensSettingsInInspector(SerializedProperty property) + { + if (IsPropertyExcluded(property.name)) + return; + if (m_LensSettingsInspectorHelper == null) + m_LensSettingsInspectorHelper = new LensSettingsInspectorHelper(); + + // This should be a global UX setting, but the best we can do now is to query + // the associated camera (if any) for the lens FOV display mode + Camera camera = null; + var brain = CinemachineCore.Instance.FindPotentialTargetBrain(Target); + if (brain != null) + camera = brain.OutputCamera; + + m_LensSettingsInspectorHelper.SnapshotCameraShadowValues(property, camera); + + m_LensSettingsInspectorHelper.DrawLensSettingsInInspector(property); + ExcludeProperty(property.name); + } + } + + // Helper for drawing lensSettings in inspector + class LensSettingsInspectorHelper + { + GUIContent[] m_PresetOptions; + GUIContent[] m_PhysicalPresetOptions; + LensSettings m_LensSettingsDef = new LensSettings(); // to access name strings + + static readonly GUIContent EditPresetsLabel = new GUIContent("Edit Presets..."); + static readonly GUIContent LensLabel = new GUIContent("Lens", "Lens settings to apply to the camera"); + static readonly GUIContent HFOVLabel = new GUIContent("Horizontal FOV", "Horizontal Field of View"); + static readonly GUIContent VFOVLabel = new GUIContent("Vertical FOV", "Vertical Field of View"); + static readonly GUIContent FocalLengthLabel = new GUIContent("Focal Length", "The length of the lens (in mm)"); + static readonly GUIContent OrthoSizeLabel = new GUIContent("Ortho Size", "When using an orthographic camera, " + + "this defines the half-height, in world coordinates, of the camera view."); + static readonly GUIContent SensorSizeLabel = new GUIContent("Sensor Size", + "Actual size of the image sensor (in mm), used to " + + "convert between focal length and field of vue."); + static readonly GUIContent AdvancedLabel = new GUIContent("Advanced"); + + bool IsOrtho; + bool IsPhysical; + Vector2 SensorSize; + internal bool UseHorizontalFOV; + static bool s_AdvancedExpanded; + SerializedProperty ModeOverrideProperty; + + #if CINEMACHINE_HDRP + GUIContent PhysicalPropertiesLabel; + static bool mPhysicalExapnded; + #endif + + public LensSettingsInspectorHelper() + { + #if CINEMACHINE_HDRP + PhysicalPropertiesLabel = new GUIContent("Physical Properties", "Physical properties of the lens"); + #endif + + var options = new List(); + CinemachineLensPresets presets = CinemachineLensPresets.InstanceIfExists; + for (int i = 0; presets != null && i < presets.m_Presets.Length; ++i) + options.Add(new GUIContent(presets.m_Presets[i].m_Name)); + options.Add(EditPresetsLabel); + m_PresetOptions = options.ToArray(); + + options.Clear(); + for (int i = 0; presets != null && i < presets.m_PhysicalPresets.Length; ++i) + options.Add(new GUIContent(presets.m_PhysicalPresets[i].m_Name)); + options.Add(EditPresetsLabel); + m_PhysicalPresetOptions = options.ToArray(); + } + + public void SnapshotCameraShadowValues(SerializedProperty property, Camera camera) + { + ModeOverrideProperty = property.FindPropertyRelative(() => m_LensSettingsDef.ModeOverride); + + // Assume lens is up-to-date + UseHorizontalFOV = false; + var lensObject = SerializedPropertyHelper.GetPropertyValue(property); + IsOrtho = AccessProperty(typeof(LensSettings), lensObject, "Orthographic"); + IsPhysical = AccessProperty(typeof(LensSettings), lensObject, "IsPhysicalCamera"); + SensorSize = AccessProperty(typeof(LensSettings), lensObject, "SensorSize"); + + // Then pull from actual camera if appropriate + if (camera != null) + { +#if UNITY_2019_1_OR_NEWER + // This should really be a global setting, but for now there is no better way than this! + var p = new SerializedObject(camera).FindProperty("m_FOVAxisMode"); + if (p != null && p.intValue == (int)Camera.FieldOfViewAxis.Horizontal) + UseHorizontalFOV = true; +#endif + // It's possible that the lens isn't synched with its camera - fix that here + if (ModeOverrideProperty.intValue == (int)LensSettings.OverrideModes.None) + { + IsOrtho = camera.orthographic; + IsPhysical = camera.usePhysicalProperties; + SensorSize = IsPhysical ? camera.sensorSize : new Vector2(camera.aspect, 1f); + } + } + + var nearClipPlaneProperty = property.FindPropertyRelative("NearClipPlane"); + if (!IsOrtho) + { + nearClipPlaneProperty.floatValue = Mathf.Max(nearClipPlaneProperty.floatValue, 0.01f); + property.serializedObject.ApplyModifiedPropertiesWithoutUndo(); + } + } + + static T AccessProperty(Type type, object obj, string memberName) + { + if (string.IsNullOrEmpty(memberName) || (type == null)) + return default(T); + + System.Reflection.BindingFlags bindingFlags = System.Reflection.BindingFlags.Public; + if (obj != null) + bindingFlags |= System.Reflection.BindingFlags.Instance; + else + bindingFlags |= System.Reflection.BindingFlags.Static; + + System.Reflection.PropertyInfo pi = type.GetProperty(memberName, bindingFlags); + if ((pi != null) && (pi.PropertyType == typeof(T))) + return (T)pi.GetValue(obj, null); + else + return default(T); + } + + public void DrawLensSettingsInInspector(SerializedProperty property) + { + Rect rect = EditorGUILayout.GetControlRect(true); + + var lensLabelWidth = GUI.skin.label.CalcSize(LensLabel).x; + var foldoutLabelWidth = lensLabelWidth; + + property.isExpanded = EditorGUI.Foldout( + new Rect(rect.x, rect.y, foldoutLabelWidth, rect.height), + property.isExpanded, LensLabel, true); + + if (!property.isExpanded) + { + // Put the FOV on the same line + var oldLabelWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth -= foldoutLabelWidth; + rect.x += foldoutLabelWidth; rect.width -= foldoutLabelWidth; + DrawLensFocusInInspector(rect, property); + EditorGUIUtility.labelWidth = oldLabelWidth; + } + else + { + ++EditorGUI.indentLevel; + + rect = EditorGUILayout.GetControlRect(true); + DrawLensFocusInInspector(rect, property); + + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.NearClipPlane)); + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.FarClipPlane)); + + if (IsPhysical) + { +#if CINEMACHINE_HDRP + mPhysicalExapnded = EditorGUILayout.Foldout(mPhysicalExapnded, PhysicalPropertiesLabel, true); + if (mPhysicalExapnded) + { + ++EditorGUI.indentLevel; + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.Aperture)); + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.Iso)); + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.ShutterSpeed)); + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.BladeCount)); + + rect = EditorGUILayout.GetControlRect(true); + var curvature = property.FindPropertyRelative(() => m_LensSettingsDef.Curvature); + using (var propertyScope = new EditorGUI.PropertyScope(rect, new GUIContent("Curvature"), curvature)) + { + var v = curvature.vector2Value; + + // The layout system breaks alignment when mixing inspector fields with custom layout'd + // fields as soon as a scrollbar is needed in the inspector, so we'll do the layout + // manually instead + const int kFloatFieldWidth = 50; + const int kSeparatorWidth = 5; + float indentOffset = EditorGUI.indentLevel * 15f; + var labelRect = new Rect(rect.x, rect.y, EditorGUIUtility.labelWidth - indentOffset, rect.height); + var floatFieldLeft = new Rect(labelRect.xMax, rect.y, kFloatFieldWidth + indentOffset, rect.height); + var sliderRect = new Rect(floatFieldLeft.xMax + kSeparatorWidth - indentOffset, rect.y, rect.width - labelRect.width - kFloatFieldWidth * 2 - kSeparatorWidth * 2, rect.height); + var floatFieldRight = new Rect(sliderRect.xMax + kSeparatorWidth - indentOffset, rect.y, kFloatFieldWidth + indentOffset, rect.height); + + EditorGUI.PrefixLabel(labelRect, propertyScope.content); + v.x = EditorGUI.FloatField(floatFieldLeft, v.x); + EditorGUI.MinMaxSlider(sliderRect, ref v.x, ref v.y, HDPhysicalCamera.kMinAperture, HDPhysicalCamera.kMaxAperture); + v.y = EditorGUI.FloatField(floatFieldRight, v.y); + + curvature.vector2Value = v; + } + + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.BarrelClipping)); + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.Anamorphism)); + + DrawSensorSizeInInspector(property); + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.LensShift)); + if (ModeOverrideProperty.intValue != (int)LensSettings.OverrideModes.None) + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.GateFit)); +#if UNITY_2022_2_OR_NEWER + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.FocusDistance)); +#endif + + --EditorGUI.indentLevel; + } +#else + DrawSensorSizeInInspector(property); + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.LensShift)); + if (ModeOverrideProperty.intValue != (int)LensSettings.OverrideModes.None) + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.GateFit)); +#if UNITY_2022_2_OR_NEWER + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.FocusDistance)); +#endif +#endif + } + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => m_LensSettingsDef.Dutch)); + s_AdvancedExpanded = EditorGUILayout.Foldout(s_AdvancedExpanded, AdvancedLabel); + if (s_AdvancedExpanded) + { + ++EditorGUI.indentLevel; + EditorGUILayout.HelpBox("Setting a mode override here implies changes to the Camera component when " + + "Cinemachine activates this Virtual Camera, and the changes will remain after the Virtual " + + "Camera deactivation. If you set a mode override in any Virtual Camera, you should set " + + "one in all Virtual Cameras.", MessageType.Info); + EditorGUILayout.PropertyField(ModeOverrideProperty); + --EditorGUI.indentLevel; + } + --EditorGUI.indentLevel; + } + property.serializedObject.ApplyModifiedProperties(); + } + + static float ExtraSpaceHackWTF() { return EditorGUI.indentLevel * (EditorGUIUtility.singleLineHeight - 3); } + + void DrawSensorSizeInInspector(SerializedProperty property) + { + if (ModeOverrideProperty.intValue != (int)LensSettings.OverrideModes.None) + { + property = property.FindPropertyRelative("m_SensorSize"); + var rect = EditorGUILayout.GetControlRect(true); + EditorGUI.BeginProperty(rect, SensorSizeLabel, property); + var v = EditorGUI.Vector2Field(rect, SensorSizeLabel, property.vector2Value); + v.x = Mathf.Max(v.x, 0.1f); + v.y = Mathf.Max(v.y, 0.1f); + property.vector2Value = v; + EditorGUI.EndProperty(); + } + } + + void DrawLensFocusInInspector(Rect rect, SerializedProperty property) + { + if (IsOrtho) + EditorGUI.PropertyField( + rect, property.FindPropertyRelative(() => m_LensSettingsDef.OrthographicSize), OrthoSizeLabel); + else if (IsPhysical) + DrawFocalLengthControl(rect, property, FocalLengthLabel); + else + DrawFOVControl(rect, property); + } + + void DrawFOVControl(Rect rect, SerializedProperty property) + { + const float hSpace = 2; + var label = UseHorizontalFOV ? HFOVLabel : VFOVLabel; + + var FOVProperty = property.FindPropertyRelative(() => m_LensSettingsDef.FieldOfView); + float aspect = SensorSize.x / SensorSize.y; + + float dropdownWidth = (rect.width - EditorGUIUtility.labelWidth) / 4; + rect.width -= dropdownWidth + hSpace; + + float f = FOVProperty.floatValue; + if (UseHorizontalFOV) + f = CameraExtensions.VerticalToHorizontalFieldOfView(f, aspect); + EditorGUI.BeginProperty(rect, label, FOVProperty); + f = EditorGUI.FloatField(rect, label, f); + if (UseHorizontalFOV) + f = CameraExtensions.HorizontalToVerticalFieldOfView(Mathf.Clamp(f, 1, 179), aspect); + if (!Mathf.Approximately(FOVProperty.floatValue, f)) + FOVProperty.floatValue = Mathf.Clamp(f, 1, 179); + EditorGUI.EndProperty(); + rect.x += rect.width + hSpace; rect.width = dropdownWidth; + + CinemachineLensPresets presets = CinemachineLensPresets.InstanceIfExists; + int preset = (presets == null) ? -1 : presets.GetMatchingPreset(FOVProperty.floatValue); + rect.x -= ExtraSpaceHackWTF(); rect.width += ExtraSpaceHackWTF(); + int selection = EditorGUI.Popup(rect, GUIContent.none, preset, m_PresetOptions); + if (selection == m_PresetOptions.Length-1 && CinemachineLensPresets.Instance != null) + Selection.activeObject = presets = CinemachineLensPresets.Instance; + else if (selection >= 0 && selection < m_PresetOptions.Length-1) + { + var vfov = presets.m_Presets[selection].m_FieldOfView; + FOVProperty.floatValue = vfov; + property.serializedObject.ApplyModifiedProperties(); + } + } + + void DrawFocalLengthControl(Rect rect, SerializedProperty property, GUIContent label) + { + const float hSpace = 2; + var FOVProperty = property.FindPropertyRelative(() => m_LensSettingsDef.FieldOfView); + float dropdownWidth = (rect.width - EditorGUIUtility.labelWidth) / 4; + rect.width -= dropdownWidth + hSpace; + + float f = CameraExtensions.FieldOfViewToFocalLength(FOVProperty.floatValue, SensorSize.y); + EditorGUI.BeginProperty(rect, label, FOVProperty); + f = EditorGUI.FloatField(rect, label, f); + f = CameraExtensions.FocalLengthToFieldOfView(Mathf.Max(f, 0.0001f), SensorSize.y); + if (!Mathf.Approximately(FOVProperty.floatValue, f)) + FOVProperty.floatValue = Mathf.Clamp(f, 1, 179); + EditorGUI.EndProperty(); + + rect.x += rect.width + hSpace; rect.width = dropdownWidth; + +#if CINEMACHINE_HDRP + CinemachineLensPresets presets = CinemachineLensPresets.InstanceIfExists; + int preset = -1; + if (presets != null) + { + var focalLength = CameraExtensions.FieldOfViewToFocalLength(FOVProperty.floatValue, SensorSize.y); + var aperture = property.FindPropertyRelative(() => m_LensSettingsDef.Aperture).floatValue; + var iso = property.FindPropertyRelative(() => m_LensSettingsDef.Iso).intValue; + var shutterSpeed = property.FindPropertyRelative(() => m_LensSettingsDef.ShutterSpeed).floatValue; + var bladeCount = property.FindPropertyRelative(() => m_LensSettingsDef.BladeCount).intValue; + var curvature = property.FindPropertyRelative(() => m_LensSettingsDef.Curvature).vector2Value; + var barrelClipping = property.FindPropertyRelative(() => m_LensSettingsDef.BarrelClipping).floatValue; + var anamprphism = property.FindPropertyRelative(() => m_LensSettingsDef.Anamorphism).floatValue; + var lensShift = property.FindPropertyRelative(() => m_LensSettingsDef.LensShift).vector2Value; + + preset = presets.GetMatchingPhysicalPreset( + focalLength, iso, shutterSpeed, aperture, bladeCount, + curvature, barrelClipping, anamprphism, lensShift); + } + rect.x -= ExtraSpaceHackWTF(); rect.width += ExtraSpaceHackWTF(); + int selection = EditorGUI.Popup(rect, GUIContent.none, preset, m_PhysicalPresetOptions); + if (selection == m_PhysicalPresetOptions.Length-1 && CinemachineLensPresets.Instance != null) + Selection.activeObject = presets = CinemachineLensPresets.Instance; + else if (selection >= 0 && selection < m_PhysicalPresetOptions.Length-1) + { + var v = presets.m_PhysicalPresets[selection]; + FOVProperty.floatValue = CameraExtensions.FocalLengthToFieldOfView(v.m_FocalLength, SensorSize.y); + property.FindPropertyRelative(() => m_LensSettingsDef.Aperture).floatValue = v.Aperture; + property.FindPropertyRelative(() => m_LensSettingsDef.Iso).intValue = v.Iso; + property.FindPropertyRelative(() => m_LensSettingsDef.ShutterSpeed).floatValue = v.ShutterSpeed; + property.FindPropertyRelative(() => m_LensSettingsDef.BladeCount).intValue = v.BladeCount; + property.FindPropertyRelative(() => m_LensSettingsDef.Curvature).vector2Value = v.Curvature; + property.FindPropertyRelative(() => m_LensSettingsDef.BarrelClipping).floatValue = v.BarrelClipping; + property.FindPropertyRelative(() => m_LensSettingsDef.Anamorphism).floatValue = v.Anamorphism; + property.FindPropertyRelative(() => m_LensSettingsDef.LensShift).vector2Value = v.LensShift; + property.serializedObject.ApplyModifiedProperties(); + } +#else + CinemachineLensPresets presets = CinemachineLensPresets.InstanceIfExists; + int preset = (presets == null) ? -1 : presets.GetMatchingPhysicalPreset( + CameraExtensions.FieldOfViewToFocalLength(FOVProperty.floatValue, SensorSize.y)); + rect.x -= ExtraSpaceHackWTF(); rect.width += ExtraSpaceHackWTF(); + int selection = EditorGUI.Popup(rect, GUIContent.none, preset, m_PhysicalPresetOptions); + if (selection == m_PhysicalPresetOptions.Length-1 && CinemachineLensPresets.Instance != null) + Selection.activeObject = presets = CinemachineLensPresets.Instance; + else if (selection >= 0 && selection < m_PhysicalPresetOptions.Length-1) + { + FOVProperty.floatValue = CameraExtensions.FocalLengthToFieldOfView( + presets.m_PhysicalPresets[selection].m_FocalLength, SensorSize.y); + property.serializedObject.ApplyModifiedProperties(); + } +#endif + } + } +} + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraBaseEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraBaseEditor.cs.meta new file mode 100644 index 00000000..c1b8e9bb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraBaseEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 211d719bb25901043833928f50e9d0ea +timeCreated: 1506603196 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraEditor.cs new file mode 100644 index 00000000..73fcede9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraEditor.cs @@ -0,0 +1,310 @@ +using UnityEngine; +using UnityEditor; +using System; +using System.Collections.Generic; +using Cinemachine.Utility; +using System.Reflection; +using System.Linq; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineVirtualCamera))] + [CanEditMultipleObjects] + internal class CinemachineVirtualCameraEditor + : CinemachineVirtualCameraBaseEditor + { + VcamStageEditorPipeline m_PipelineSet = new VcamStageEditorPipeline(); + + [MenuItem("CONTEXT/CinemachineVirtualCamera/Adopt Game View Camera Settings")] + static void AdoptGameViewCameraSettings(MenuCommand command) + { + var vcam = command.context as CinemachineVirtualCamera; + var brain = CinemachineCore.Instance.FindPotentialTargetBrain(vcam); + if (brain != null) + { + vcam.m_Lens = brain.CurrentCameraState.Lens; + vcam.transform.position = brain.transform.position; + vcam.transform.rotation = brain.transform.rotation; + } + } + + [MenuItem("CONTEXT/CinemachineVirtualCamera/Adopt Scene View Camera Settings")] + static void AdoptSceneViewCameraSettings(MenuCommand command) + { + var vcam = command.context as CinemachineVirtualCamera; + vcam.m_Lens = CinemachineMenu.MatchSceneViewCamera(vcam.transform); + } + + protected override void OnEnable() + { + base.OnEnable(); + Undo.undoRedoPerformed += ResetTargetOnUndo; + m_PipelineSet.Initialize( + // GetComponent + (stage, result) => + { + int numNullComponents = 0; + foreach (var obj in targets) + { + var vcam = obj as CinemachineVirtualCamera; + if (vcam != null) + { + var c = vcam.GetCinemachineComponent(stage); + if (c != null) + result.Add(c); + else + ++numNullComponents; + } + } + return numNullComponents; + }, + // SetComponent + (stage, type) => + { + Undo.SetCurrentGroupName("Cinemachine pipeline change"); + foreach (var obj in targets) + { + var vcam = obj as CinemachineVirtualCamera; + Transform owner = vcam == null ? null : vcam.GetComponentOwner(); + if (owner == null) + continue; // maybe it's a prefab + var c = vcam.GetCinemachineComponent(stage); + if (c != null && c.GetType() == type) + continue; + if (c != null) + { + Undo.DestroyObjectImmediate(c); + vcam.InvalidateComponentPipeline(); + } + if (type != null) + { + Undo.AddComponent(owner.gameObject, type); + vcam.InvalidateComponentPipeline(); + } + } + }); + + // We only look at the first target here, on purpose + if (Target != null && Target.m_LockStageInInspector != null) + foreach (var s in Target.m_LockStageInInspector) + m_PipelineSet.SetStageIsLocked(s); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.RegisterTool(typeof(FoVTool)); + CinemachineSceneToolUtility.RegisterTool(typeof(FarNearClipTool)); +#endif + } + + protected override void OnDisable() + { + Undo.undoRedoPerformed -= ResetTargetOnUndo; + m_PipelineSet.Shutdown(); + base.OnDisable(); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.UnregisterTool(typeof(FoVTool)); + CinemachineSceneToolUtility.UnregisterTool(typeof(FarNearClipTool)); +#endif + } + + void OnSceneGUI() + { + m_PipelineSet.OnSceneGUI(); // call hidden editors' OnSceneGUI + +#if UNITY_2021_2_OR_NEWER + DrawSceneTools(); +#endif + } + +#if UNITY_2021_2_OR_NEWER + void DrawSceneTools() + { + var vcam = Target; + if (vcam == null || !vcam.IsValid || vcam.m_ExcludedPropertiesInInspector.Contains("m_Lens")) + { + return; + } + + var originalColor = Handles.color; + Handles.color = Handles.preselectionColor; + if (CinemachineSceneToolUtility.IsToolActive(typeof(FoVTool))) + { + CinemachineSceneToolHelpers.FovToolHandle(vcam, + new SerializedObject(vcam).FindProperty(() => vcam.m_Lens), + vcam.m_Lens, IsHorizontalFOVUsed()); + } + else if (CinemachineSceneToolUtility.IsToolActive(typeof(FarNearClipTool))) + { + CinemachineSceneToolHelpers.NearFarClipHandle(vcam, + new SerializedObject(vcam).FindProperty(() => vcam.m_Lens)); + } + Handles.color = originalColor; + } +#endif + + public override void OnInspectorGUI() + { + if (Target.GetComponentOwner() == null) + { + EditorGUILayout.HelpBox( + "It's not possible to add this component to a prefab instance. " + + "Instead, you can open the Prefab in Prefab Mode or unpack " + + "the Prefab instance to remove the Prefab connection.", + MessageType.Error); + return; + } + BeginInspector(); + DrawHeaderInInspector(); + DrawPropertyInInspector(FindProperty(x => x.m_Priority)); + DrawTargetsInInspector(FindProperty(x => x.m_Follow), FindProperty(x => x.m_LookAt)); + DrawPropertyInInspector(FindProperty(x => x.m_StandbyUpdate)); + DrawLensSettingsInInspector(FindProperty(x => x.m_Lens)); + DrawRemainingPropertiesInInspector(); + m_PipelineSet.OnInspectorGUI(!IsPropertyExcluded("Header")); + DrawExtensionsWidgetInInspector(); + } + + void ResetTargetOnUndo() + { + ResetTarget(); + for (int i = 0; i < targets.Length; ++i) + (targets[i] as CinemachineVirtualCamera).InvalidateComponentPipeline(); + } + + /// + /// Register with CinemachineVirtualCamera to create the pipeline in an undo-friendly manner + /// + [InitializeOnLoad] + class CreatePipelineWithUndo + { + static CreatePipelineWithUndo() + { + CinemachineVirtualCamera.CreatePipelineOverride = + (CinemachineVirtualCamera vcam, string name, CinemachineComponentBase[] copyFrom) => + { + // Recycle existing pipeline child (if any) + GameObject go = null; + foreach (Transform child in vcam.transform) + { + if (child.GetComponent() != null) + { + go = child.gameObject; + break; + } + } + if (go == null) + { + // Create a new pipeline - can't do it if prefab instance + if (PrefabUtility.IsPartOfAnyPrefab(vcam.gameObject)) + return null; + go = ObjectFactory.CreateGameObject(name); + Undo.RegisterCreatedObjectUndo(go, "created pipeline"); + Undo.SetTransformParent(go.transform, vcam.transform, "parenting pipeline"); + Undo.AddComponent(go); + } + + var oldStuff = go.GetComponents(); + foreach (var c in oldStuff) + Undo.DestroyObjectImmediate(c); + + // If copying, transfer the components + if (copyFrom != null) + { + foreach (Component c in copyFrom) + { + Component copy = Undo.AddComponent(go, c.GetType()); + Undo.RecordObject(copy, "copying pipeline"); + ReflectionHelpers.CopyFields(c, copy); + } + } + return go.transform; + }; + + CinemachineVirtualCamera.DestroyPipelineOverride = (GameObject pipeline) => + { + var oldStuff = pipeline.GetComponents(); + foreach (var c in oldStuff) + Undo.DestroyObjectImmediate(c); + // Cannot create or destroy child objects if prefab. + // Just leave it there in that case, it will get discovered and recycled. + if (!PrefabUtility.IsPartOfAnyPrefab(pipeline)) + Undo.DestroyObjectImmediate(pipeline); + }; + } + } + + // Because the cinemachine components are attached to hidden objects, their + // gizmos don't get drawn by default. We have to do it explicitly. + [InitializeOnLoad] + static class CollectGizmoDrawers + { + static CollectGizmoDrawers() + { + m_GizmoDrawers = new Dictionary(); + string definedIn = typeof(CinemachineComponentBase).Assembly.GetName().Name; + Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); + foreach (Assembly assembly in assemblies) + { + // Note that we have to call GetName().Name. Just GetName() will not work. + if ((!assembly.GlobalAssemblyCache) + && ((assembly.GetName().Name == definedIn) + || assembly.GetReferencedAssemblies().Any(a => a.Name == definedIn))) + { + try + { + foreach (var type in assembly.GetTypes()) + { + try + { + bool added = false; + foreach (var method in type.GetMethods( + BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static)) + { + if (added) + break; + if (!method.IsStatic) + continue; + var attributes = method.GetCustomAttributes(typeof(DrawGizmo), true) as DrawGizmo[]; + foreach (var a in attributes) + { + if (typeof(CinemachineComponentBase).IsAssignableFrom(a.drawnType) && !a.drawnType.IsAbstract) + { + m_GizmoDrawers.Add(a.drawnType, method); + added = true; + break; + } + } + } + } + catch (Exception) {} // Just skip uncooperative types + } + } + catch (Exception) {} // Just skip uncooperative assemblies + } + } + } + public static Dictionary m_GizmoDrawers; + } + + [DrawGizmo(GizmoType.Active | GizmoType.InSelectionHierarchy, typeof(CinemachineVirtualCamera))] + internal static void DrawVirtualCameraGizmos(CinemachineVirtualCamera vcam, GizmoType selectionType) + { + var pipeline = vcam.GetComponentPipeline(); + if (pipeline != null) + { + foreach (var c in pipeline) + { + if (c == null) + continue; + + MethodInfo method; + if (CollectGizmoDrawers.m_GizmoDrawers.TryGetValue(c.GetType(), out method)) + { + if (method != null) + method.Invoke(null, new object[] {c, selectionType}); + } + } + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraEditor.cs.meta new file mode 100644 index 00000000..14d6e190 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Editors/CinemachineVirtualCameraEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a63f9f2267c36684e855add13ad5499f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental.meta new file mode 100644 index 00000000..543ba0fb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 351cec6faf82a1848a52b8fd995c6c25 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewFreeLookEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewFreeLookEditor.cs new file mode 100644 index 00000000..ca3028ae --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewFreeLookEditor.cs @@ -0,0 +1,374 @@ +#if CINEMACHINE_EXPERIMENTAL_VCAM +using UnityEngine; +using UnityEditor; +using Cinemachine.Editor; +using System.Collections.Generic; + +namespace Cinemachine +{ + [CustomEditor(typeof(CinemachineNewFreeLook))] + sealed class CinemachineNewFreeLookEditor + : CinemachineVirtualCameraBaseEditor + { + GUIContent[] m_OrbitNames = new GUIContent[] + { new GUIContent("Top Rig"), new GUIContent("Main Rig"), new GUIContent("Bottom Rig") }; + + GUIContent m_CustomizeLabel = new GUIContent( + "Customize", "Custom settings for this rig. If unchecked, main rig settins will be used"); + + VcamStageEditorPipeline m_PipelineSet = new VcamStageEditorPipeline(); + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_Rigs)); // can't use HideInInspector for this + excluded.Add(FieldPath(x => x.m_Orbits)); + excluded.Add(FieldPath(x => x.m_SplineCurvature)); + } + + protected override void OnEnable() + { + base.OnEnable(); + Undo.undoRedoPerformed += ResetTargetOnUndo; + m_PipelineSet.Initialize( + // GetComponent + (stage, result) => + { + int numNullComponents = 0; + foreach (var obj in targets) + { + var vcam = obj as CinemachineNewVirtualCamera; + if (vcam != null) + { + var c = vcam.GetCinemachineComponent(stage); + if (c != null) + result.Add(c); + else + ++numNullComponents; + } + } + return numNullComponents; + }, + // SetComponent + (stage, type) => + { + Undo.SetCurrentGroupName("Cinemachine pipeline change"); + foreach (var obj in targets) + { + var vcam = obj as CinemachineNewVirtualCamera; + if (vcam != null) + { + Component c = vcam.GetCinemachineComponent(stage); + if (c != null && c.GetType() == type) + continue; + if (c != null) + { + Undo.DestroyObjectImmediate(c); + vcam.InvalidateComponentCache(); + } + if (type != null) + { + Undo.AddComponent(vcam.gameObject, type); + vcam.InvalidateComponentCache(); + } + } + } + }); + + m_PipelineSet.SetStageIsLocked(CinemachineCore.Stage.Body); + + for (int i = 0; i < targets.Length; ++i) + (targets[i] as CinemachineNewFreeLook).UpdateInputAxisProvider(); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.RegisterTool(typeof(FoVTool)); + CinemachineSceneToolUtility.RegisterTool(typeof(FarNearClipTool)); + CinemachineSceneToolUtility.RegisterTool(typeof(FollowOffsetTool)); +#endif + } + + protected override void OnDisable() + { + m_PipelineSet.Shutdown(); + base.OnDisable(); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.UnregisterTool(typeof(FoVTool)); + CinemachineSceneToolUtility.UnregisterTool(typeof(FarNearClipTool)); + CinemachineSceneToolUtility.UnregisterTool(typeof(FollowOffsetTool)); +#endif + } + + void ResetTargetOnUndo() + { + ResetTarget(); + } + + public override void OnInspectorGUI() + { + // Ordinary properties + BeginInspector(); + DrawHeaderInInspector(); + DrawPropertyInInspector(FindProperty(x => x.m_Priority)); + DrawTargetsInInspector(FindProperty(x => x.m_Follow), FindProperty(x => x.m_LookAt)); + DrawPropertyInInspector(FindProperty(x => x.m_StandbyUpdate)); + DrawLensSettingsInInspector(FindProperty(x => x.m_Lens)); + DrawRemainingPropertiesInInspector(); + + // Orbits + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Orbits", EditorStyles.boldLabel); + SerializedProperty orbits = FindProperty(x => x.m_Orbits); + EditorGUI.BeginChangeCheck(); + for (int i = 0; i < 3; ++i) + { + var o = orbits.GetArrayElementAtIndex(i); + Rect rect = EditorGUILayout.GetControlRect(true); + InspectorUtility.MultiPropertyOnLine( + rect, m_OrbitNames[i], + new [] { o.FindPropertyRelative(() => Target.m_Orbits[i].m_Height), + o.FindPropertyRelative(() => Target.m_Orbits[i].m_Radius) }, + null); + } + EditorGUILayout.PropertyField(FindProperty(x => x.m_SplineCurvature)); + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + + // Pipeline Stages + EditorGUILayout.Space(); + var selectedRig = Selection.objects.Length == 1 + ? GUILayout.Toolbar(GetSelectedRig(Target), s_RigNames) : 0; + SetSelectedRig(Target, selectedRig); + EditorGUILayout.BeginVertical(GUI.skin.box); + if (selectedRig == 1) + m_PipelineSet.OnInspectorGUI(false); + else + DrawRigEditor(selectedRig == 0 ? 0 : 1); + EditorGUILayout.EndVertical(); + + // Extensions + DrawExtensionsWidgetInInspector(); + } + + static GUIContent[] s_RigNames = + { + new GUIContent("Top Rig"), + new GUIContent("Main Rig"), + new GUIContent("Bottom Rig") + }; + + static int GetSelectedRig(CinemachineNewFreeLook freelook) + { + return freelook.m_VerticalAxis.Value < 0.33f ? 2 : (freelook.m_VerticalAxis.Value > 0.66f ? 0 : 1); + } + + static void SetSelectedRig(CinemachineNewFreeLook freelook, int rigIndex) + { + Debug.Assert(rigIndex >= 0 && rigIndex < 3); + if (GetSelectedRig(freelook) != rigIndex) + { + var prop = new SerializedObject(freelook).FindProperty( + () => freelook.m_VerticalAxis).FindPropertyRelative(() => freelook.m_VerticalAxis.Value); + prop.floatValue = rigIndex == 0 ? 1 : (rigIndex == 1 ? 0.5f : 0); + prop.serializedObject.ApplyModifiedProperties(); + } + } + + void OnSceneGUI() + { + m_PipelineSet.OnSceneGUI(); + +#if UNITY_2021_2_OR_NEWER + DrawSceneTools(); +#endif + } + +#if UNITY_2021_2_OR_NEWER + void DrawSceneTools() + { + var newFreelook = Target; + if (newFreelook == null || !newFreelook.IsValid) + { + return; + } + + if (CinemachineSceneToolUtility.IsToolActive(typeof(FoVTool))) + { + CinemachineSceneToolHelpers.FovToolHandle(newFreelook, + new SerializedObject(newFreelook).FindProperty(() => newFreelook.m_Lens), + newFreelook.m_Lens, IsHorizontalFOVUsed()); + } + else if (CinemachineSceneToolUtility.IsToolActive(typeof(FarNearClipTool))) + { + CinemachineSceneToolHelpers.NearFarClipHandle(newFreelook, + new SerializedObject(newFreelook).FindProperty(() => newFreelook.m_Lens)); + } + else if (newFreelook.Follow != null && CinemachineSceneToolUtility.IsToolActive(typeof(FollowOffsetTool))) + { + CinemachineSceneToolHelpers.OrbitControlHandle(newFreelook, + new SerializedObject(newFreelook).FindProperty(() => newFreelook.m_Orbits)); + } + } +#endif + + void DrawRigEditor(int rigIndex) + { + const float kBoxMargin = 3; + + SerializedProperty rig = FindProperty(x => x.m_Rigs).GetArrayElementAtIndex(rigIndex); + + CinemachineNewFreeLook.Rig def = new CinemachineNewFreeLook.Rig(); // for properties + EditorGUIUtility.labelWidth -= kBoxMargin; + + ++EditorGUI.indentLevel; + var components = Target.ComponentCache; + if (DrawFoldoutPropertyWithEnabledCheckbox( + rig.FindPropertyRelative(() => def.m_CustomLens), + rig.FindPropertyRelative(() => def.m_Lens))) + { + Target.m_Rigs[rigIndex].m_Lens = Target.m_Lens; + } + + int index = (int)CinemachineCore.Stage.Body; + if (components[index] is CinemachineTransposer) + { + if (DrawFoldoutPropertyWithEnabledCheckbox( + rig.FindPropertyRelative(() => def.m_CustomBody), + rig.FindPropertyRelative(() => def.m_Body))) + { + Target.m_Rigs[rigIndex].m_Body.PullFrom( + components[index] as CinemachineTransposer); + } + } + + index = (int)CinemachineCore.Stage.Aim; + if (components[index] is CinemachineComposer) + { + if (DrawFoldoutPropertyWithEnabledCheckbox( + rig.FindPropertyRelative(() => def.m_CustomAim), + rig.FindPropertyRelative(() => def.m_Aim))) + { + Target.m_Rigs[rigIndex].m_Aim.PullFrom( + components[index] as CinemachineComposer); + } + } + + index = (int)CinemachineCore.Stage.Noise; + if (components[index] is CinemachineBasicMultiChannelPerlin) + { + if (DrawFoldoutPropertyWithEnabledCheckbox( + rig.FindPropertyRelative(() => def.m_CustomNoise), + rig.FindPropertyRelative(() => def.m_Noise))) + { + Target.m_Rigs[rigIndex].m_Noise.PullFrom( + components[index] as CinemachineBasicMultiChannelPerlin); + } + } + --EditorGUI.indentLevel; + EditorGUIUtility.labelWidth += kBoxMargin; + } + + // Returns true if default value should be applied + bool DrawFoldoutPropertyWithEnabledCheckbox( + SerializedProperty enabledProperty, SerializedProperty property) + { + GUIContent label = new GUIContent(property.displayName, property.tooltip); + Rect rect = EditorGUILayout.GetControlRect(true, + (enabledProperty.boolValue && property.isExpanded) + ? EditorGUI.GetPropertyHeight(property) + : EditorGUIUtility.singleLineHeight); + Rect r = rect; r.height = EditorGUIUtility.singleLineHeight; + if (!enabledProperty.boolValue) + EditorGUI.LabelField(r, label); + + float labelWidth = EditorGUIUtility.labelWidth; + bool newValue = EditorGUI.ToggleLeft( + new Rect(labelWidth, r.y, r.width - labelWidth, r.height), + m_CustomizeLabel, enabledProperty.boolValue); + if (newValue != enabledProperty.boolValue) + { + enabledProperty.boolValue = newValue; + enabledProperty.serializedObject.ApplyModifiedProperties(); + property.isExpanded = newValue; + return true; + } + if (newValue == true) + { + EditorGUI.BeginChangeCheck(); + EditorGUI.PropertyField(rect, property, property.isExpanded); + if (EditorGUI.EndChangeCheck()) + enabledProperty.serializedObject.ApplyModifiedProperties(); + } + return false; + } + + [DrawGizmo(GizmoType.Active | GizmoType.Selected, typeof(CinemachineNewFreeLook))] + private static void DrawFreeLookGizmos(CinemachineNewFreeLook vcam, GizmoType selectionType) + { + // Standard frustum and logo + CinemachineBrainEditor.DrawVirtualCameraBaseGizmos(vcam, selectionType); + + Color originalGizmoColour = Gizmos.color; + bool isActiveVirtualCam = CinemachineCore.Instance.IsLive(vcam); + Gizmos.color = isActiveVirtualCam + ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour + : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour; + + if (vcam.Follow != null) + { + Vector3 pos = vcam.Follow.position; + Vector3 up = Vector3.up; + CinemachineBrain brain = CinemachineCore.Instance.FindPotentialTargetBrain(vcam); + if (brain != null) + up = brain.DefaultWorldUp; + + var middleRig = vcam.GetComponent(); + if (middleRig != null) + { + float scale = vcam.m_RadialAxis.Value; + Quaternion orient = middleRig.GetReferenceOrientation(up); + up = orient * Vector3.up; + var orbital = middleRig as CinemachineOrbitalTransposer; + if (orbital != null) + { + float rotation = orbital.m_XAxis.Value + orbital.m_Heading.m_Bias; + orient = Quaternion.AngleAxis(rotation, up) * orient; + } + CinemachineOrbitalTransposerEditor.DrawCircleAtPointWithRadius( + pos + up * vcam.m_Orbits[0].m_Height * scale, + orient, vcam.m_Orbits[0].m_Radius * scale); + CinemachineOrbitalTransposerEditor.DrawCircleAtPointWithRadius( + pos + up * vcam.m_Orbits[1].m_Height * scale, + orient, vcam.m_Orbits[1].m_Radius * scale); + CinemachineOrbitalTransposerEditor.DrawCircleAtPointWithRadius( + pos + up * vcam.m_Orbits[2].m_Height * scale, + orient, vcam.m_Orbits[2].m_Radius * scale); + + DrawCameraPath(pos, orient, vcam); + } + } + Gizmos.color = originalGizmoColour; + } + + private static void DrawCameraPath( + Vector3 atPos, Quaternion orient, CinemachineNewFreeLook vcam) + { + Matrix4x4 prevMatrix = Gizmos.matrix; + Gizmos.matrix = Matrix4x4.TRS(atPos, orient, Vector3.one); + + const int kNumSteps = 20; + Vector3 currPos = vcam.GetLocalPositionForCameraFromInput(0f); + for (int i = 1; i < kNumSteps + 1; ++i) + { + float t = (float)i / (float)kNumSteps; + Vector3 nextPos = vcam.GetLocalPositionForCameraFromInput(t); + Gizmos.DrawLine(currPos, nextPos); + currPos = nextPos; + } + Gizmos.matrix = prevMatrix; + } + } +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewFreeLookEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewFreeLookEditor.cs.meta new file mode 100644 index 00000000..9551fe7d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewFreeLookEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 933e2b6843fbbbc4c8cabeead6fc1fae +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewVirtualCameraEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewVirtualCameraEditor.cs new file mode 100644 index 00000000..bab3961f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewVirtualCameraEditor.cs @@ -0,0 +1,137 @@ +#if CINEMACHINE_EXPERIMENTAL_VCAM +using UnityEngine; +using UnityEditor; +using Cinemachine.Editor; +using System.Linq; + +namespace Cinemachine +{ + [CustomEditor(typeof(CinemachineNewVirtualCamera))] + [CanEditMultipleObjects] + internal sealed class CinemachineNewVirtualCameraEditor + : CinemachineVirtualCameraBaseEditor + { + VcamStageEditorPipeline m_PipelineSet = new VcamStageEditorPipeline(); + + protected override void OnEnable() + { + base.OnEnable(); + Undo.undoRedoPerformed += ResetTargetOnUndo; + m_PipelineSet.Initialize( + // GetComponent + (stage, result) => + { + int numNullComponents = 0; + foreach (var obj in targets) + { + var vcam = obj as CinemachineNewVirtualCamera; + if (vcam != null) + { + var c = vcam.GetCinemachineComponent(stage); + if (c != null) + result.Add(c); + else + ++numNullComponents; + } + } + return numNullComponents; + }, + // SetComponent + (stage, type) => + { + Undo.SetCurrentGroupName("Cinemachine pipeline change"); + foreach (var obj in targets) + { + var vcam = obj as CinemachineNewVirtualCamera; + if (vcam != null) + { + Component c = vcam.GetCinemachineComponent(stage); + if (c != null && c.GetType() == type) + continue; + if (c != null) + { + Undo.DestroyObjectImmediate(c); + vcam.InvalidateComponentCache(); + } + if (type != null) + { + Undo.AddComponent(vcam.gameObject, type); + vcam.InvalidateComponentCache(); + } + } + } + }); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.RegisterTool(typeof(FoVTool)); + CinemachineSceneToolUtility.RegisterTool(typeof(FarNearClipTool)); +#endif + } + + protected override void OnDisable() + { + Undo.undoRedoPerformed -= ResetTargetOnUndo; + m_PipelineSet.Shutdown(); + base.OnDisable(); + +#if UNITY_2021_2_OR_NEWER + CinemachineSceneToolUtility.UnregisterTool(typeof(FoVTool)); + CinemachineSceneToolUtility.UnregisterTool(typeof(FarNearClipTool)); +#endif + } + + void ResetTargetOnUndo() + { + ResetTarget(); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + DrawHeaderInInspector(); + DrawPropertyInInspector(FindProperty(x => x.m_Priority)); + DrawTargetsInInspector(FindProperty(x => x.m_Follow), FindProperty(x => x.m_LookAt)); + DrawPropertyInInspector(FindProperty(x => x.m_StandbyUpdate)); + DrawLensSettingsInInspector(FindProperty(x => x.m_Lens)); + DrawRemainingPropertiesInInspector(); + m_PipelineSet.OnInspectorGUI(true); + DrawExtensionsWidgetInInspector(); + } + + void OnSceneGUI() + { + m_PipelineSet.OnSceneGUI(); // call hidden editors + +#if UNITY_2021_2_OR_NEWER + DrawSceneTools(); +#endif + } + +#if UNITY_2021_2_OR_NEWER + void DrawSceneTools() + { + var vcam = Target; + if (vcam == null || !vcam.IsValid || vcam.m_ExcludedPropertiesInInspector.Contains("m_Lens")) + { + return; + } + + var originalColor = Handles.color; + Handles.color = Handles.preselectionColor; + if (CinemachineSceneToolUtility.IsToolActive(typeof(FoVTool))) + { + CinemachineSceneToolHelpers.FovToolHandle(vcam, + new SerializedObject(vcam).FindProperty(() => vcam.m_Lens), + vcam.m_Lens, IsHorizontalFOVUsed()); + } + else if (CinemachineSceneToolUtility.IsToolActive(typeof(FarNearClipTool))) + { + CinemachineSceneToolHelpers.NearFarClipHandle(vcam, + new SerializedObject(vcam).FindProperty(() => vcam.m_Lens)); + } + Handles.color = originalColor; + } +#endif + } +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewVirtualCameraEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewVirtualCameraEditor.cs.meta new file mode 100644 index 00000000..3849ef48 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Experimental/CinemachineNewVirtualCameraEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4692eb7a7fa5c53458eb32a04df6c6a0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers.meta new file mode 100644 index 00000000..124c1a93 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ee56510c2623c54daa99a3748f6f438 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers/CinemachineTriggerActionEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers/CinemachineTriggerActionEditor.cs new file mode 100644 index 00000000..5cb18303 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers/CinemachineTriggerActionEditor.cs @@ -0,0 +1,162 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; +using UnityEngine.Playables; + +namespace Cinemachine.Editor +{ +#if CINEMACHINE_PHYSICS || CINEMACHINE_PHYSICS_2D + [CustomEditor(typeof(CinemachineTriggerAction))] + internal class CinemachineTriggerActionEditor : BaseEditor + { + const int vSpace = 2; + CinemachineTriggerAction.ActionSettings def + = new CinemachineTriggerAction.ActionSettings(); // to access name strings + + static bool mEnterExpanded; + static bool mExitExpanded; + + SerializedProperty[] mRepeatProperties = new SerializedProperty[2]; + GUIContent mRepeatLabel; + GUIContent[] mRepeatSubLabels = new GUIContent[2]; + + GUIStyle mFoldoutStyle; + + private void OnEnable() + { + mRepeatProperties[0] = FindProperty(x => x.m_SkipFirst); + mRepeatProperties[1] = FindProperty(x => x.m_Repeating); + mRepeatLabel = new GUIContent( + mRepeatProperties[0].displayName, mRepeatProperties[0].tooltip); + mRepeatSubLabels[0] = GUIContent.none; + mRepeatSubLabels[1] = new GUIContent( + mRepeatProperties[1].displayName, mRepeatProperties[1].tooltip); + } + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.m_SkipFirst)); + excluded.Add(FieldPath(x => x.m_Repeating)); + excluded.Add(FieldPath(x => x.m_OnObjectEnter)); + excluded.Add(FieldPath(x => x.m_OnObjectExit)); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + DrawRemainingPropertiesInInspector(); + InspectorUtility.MultiPropertyOnLine( + EditorGUILayout.GetControlRect(), mRepeatLabel, + mRepeatProperties, mRepeatSubLabels); + EditorGUILayout.Space(); + mEnterExpanded = DrawActionSettings(FindProperty(x => x.m_OnObjectEnter), mEnterExpanded); + mExitExpanded = DrawActionSettings(FindProperty(x => x.m_OnObjectExit), mExitExpanded); + } + + bool DrawActionSettings(SerializedProperty property, bool expanded) + { + if (mFoldoutStyle == null) + mFoldoutStyle = new GUIStyle(EditorStyles.foldout) { fontStyle = FontStyle.Bold }; + + Rect r = EditorGUILayout.GetControlRect(); + expanded = EditorGUI.Foldout(r, expanded, property.displayName, true, mFoldoutStyle); + if (expanded) + { + SerializedProperty actionProp = property.FindPropertyRelative(() => def.m_Action); + EditorGUILayout.PropertyField(actionProp); + + SerializedProperty targetProp = property.FindPropertyRelative(() => def.m_Target); + bool isCustom = (actionProp.intValue == (int)CinemachineTriggerAction.ActionSettings.Mode.Custom); + if (!isCustom) + EditorGUILayout.PropertyField(targetProp); + + bool isBoost = actionProp.intValue == (int)CinemachineTriggerAction.ActionSettings.Mode.PriorityBoost; + if (isBoost) + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => def.m_BoostAmount)); + +#if CINEMACHINE_TIMELINE + bool isPlay = actionProp.intValue == (int)CinemachineTriggerAction.ActionSettings.Mode.Play; + if (isPlay) + { + SerializedProperty[] props = new SerializedProperty[2] + { + property.FindPropertyRelative(() => def.m_StartTime), + property.FindPropertyRelative(() => def.m_Mode) + }; + GUIContent[] sublabels = new GUIContent[2] + { + GUIContent.none, new GUIContent("s", props[1].tooltip) + }; + InspectorUtility.MultiPropertyOnLine( + EditorGUILayout.GetControlRect(), null, props, sublabels); + } +#endif + if (actionProp.intValue == (int)CinemachineTriggerAction.ActionSettings.Mode.Custom) + { + EditorGUILayout.HelpBox("Use the Event() list below to call custom methods", MessageType.Info); + } + + if (isBoost) + { + if (GetTargetComponent(targetProp.objectReferenceValue) == null) + EditorGUILayout.HelpBox("Target must be a CinemachineVirtualCameraBase in order to boost priority", MessageType.Warning); + } + + bool isEnableDisable = (actionProp.intValue == (int)CinemachineTriggerAction.ActionSettings.Mode.Enable + || actionProp.intValue == (int)CinemachineTriggerAction.ActionSettings.Mode.Disable); + if (isEnableDisable) + { + var value = targetProp.objectReferenceValue; + if (value != null && (value as Behaviour) == null) + EditorGUILayout.HelpBox("Target must be a Behaviour in order to Enable/Disable", MessageType.Warning); + } +#if CINEMACHINE_TIMELINE + bool isPlayStop = isPlay + || actionProp.intValue == (int)CinemachineTriggerAction.ActionSettings.Mode.Stop; + if (isPlayStop) + { + if (GetTargetComponent(targetProp.objectReferenceValue) == null + && GetTargetComponent(targetProp.objectReferenceValue) == null) + { + EditorGUILayout.HelpBox("Target must have a PlayableDirector or Animator in order to Play/Stop", MessageType.Warning); + } + } +#endif + if (!isCustom && targetProp.objectReferenceValue == null) + EditorGUILayout.HelpBox("No action will be taken because target is not valid", MessageType.Info); + + EditorGUILayout.Space(); + EditorGUILayout.LabelField("This event will be invoked. Add calls to custom methods here:"); + EditorGUILayout.PropertyField(property.FindPropertyRelative(() => def.m_Event)); + } + property.serializedObject.ApplyModifiedProperties(); + return expanded; + } + + T GetTargetComponent(UnityEngine.Object obj) where T : Behaviour + { + UnityEngine.Object currentTarget = obj; + if (currentTarget != null) + { + GameObject targetGameObject = currentTarget as GameObject; + Behaviour targetBehaviour = currentTarget as Behaviour; + if (targetBehaviour != null) + targetGameObject = targetBehaviour.gameObject; + if (targetBehaviour is T) + return targetBehaviour as T; + if (targetGameObject != null) + return targetGameObject.GetComponent(); + } + return null; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers/CinemachineTriggerActionEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers/CinemachineTriggerActionEditor.cs.meta new file mode 100644 index 00000000..6d14b778 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Helpers/CinemachineTriggerActionEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c5d95ccadebafc84b8226853d987217d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse.meta new file mode 100644 index 00000000..339d897e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac4cc060534a50747a448a00776ed888 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineCollisionImpulseSourceEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineCollisionImpulseSourceEditor.cs new file mode 100644 index 00000000..0912ee41 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineCollisionImpulseSourceEditor.cs @@ -0,0 +1,55 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using UnityEditor; +using UnityEngine; + +namespace Cinemachine.Editor +{ +#if CINEMACHINE_PHYSICS || CINEMACHINE_PHYSICS_2D + [CustomEditor(typeof(CinemachineCollisionImpulseSource))] + internal sealed class CinemachineCollisionImpulseSourceEditor + : BaseEditor + { + float m_TestForce = 1; + GUIContent m_TestButton = new GUIContent( + "Invoke", "Play-mode only: Generate an impulse with the default velocity scaled by this amount"); + GUIContent m_TestLabel = new GUIContent( + "Test with Force", "Generate an impulse with the default velocity scaled by an amount"); + + public override void OnInspectorGUI() + { + BeginInspector(); + + EditorGUILayout.Separator(); + var collider = Target.GetComponent(); + var collider2D = Target.GetComponent(); + if ((collider == null || !collider.enabled) && (collider2D == null || !collider2D.enabled)) + EditorGUILayout.HelpBox( + "An active Collider or Collider2D component is required in order to detect " + + "collisions and generate Impulse events", + MessageType.Warning); + + DrawRemainingPropertiesInInspector(); + + EditorGUILayout.Space(); + GUI.enabled = EditorApplication.isPlaying; + { + var r1 = EditorGUILayout.GetControlRect(); + r1 = EditorGUI.PrefixLabel(r1, m_TestLabel); + var testButtonWidth = GUI.skin.button.CalcSize(m_TestButton).x; + var r2 = r1; + r1.width = testButtonWidth; + r2.x += testButtonWidth + 3; r2.width -= testButtonWidth + 3; + + m_TestForce = EditorGUI.Slider(r2, m_TestForce, 0.1f, 20f); + if (GUI.Button(r1, m_TestButton)) + Target.GenerateImpulseWithForce(m_TestForce); + } + GUI.enabled = true; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineCollisionImpulseSourceEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineCollisionImpulseSourceEditor.cs.meta new file mode 100644 index 00000000..01884864 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineCollisionImpulseSourceEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9cd1a769fbb1d1c47b4c22a04a64fa5f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannelPropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannelPropertyDrawer.cs new file mode 100644 index 00000000..b2638b76 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannelPropertyDrawer.cs @@ -0,0 +1,53 @@ +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(CinemachineImpulseChannelPropertyAttribute))] + internal sealed class CinemachineImpulseChannelPropertyDrawer : PropertyDrawer + { + const float hSpace = 2; + GUIContent mAddLabel = new GUIContent("Edit...", "Add, remove, or rename channels"); + string[] mLayerList = null; + + void UpdateLayerList() + { + CinemachineImpulseChannels settings = CinemachineImpulseChannels.InstanceIfExists; + int numLayers = 0; + if (settings != null && settings.ImpulseChannels != null) + numLayers = settings.ImpulseChannels.Length; + numLayers = Mathf.Clamp(numLayers, 1, 31); + if (mLayerList == null || mLayerList.Length != numLayers) + mLayerList = new string[numLayers]; + for (int i = 0; i < numLayers; ++i) + { + mLayerList[i] = string.Format( + "{0}: {1}", i, + (settings == null || settings.ImpulseChannels.Length <= i) + ? "default" : settings.ImpulseChannels[i]); + } + } + + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + UpdateLayerList(); + float addWidth = GUI.skin.button.CalcSize(mAddLabel).x; + rect.width -= addWidth + hSpace; + + EditorGUI.showMixedValue = property.hasMultipleDifferentValues; + EditorGUI.BeginChangeCheck(); + int value = EditorGUI.MaskField(rect, label, property.intValue, mLayerList); + if (EditorGUI.EndChangeCheck()) + { + property.intValue = value; + property.serializedObject.ApplyModifiedProperties(); + } + EditorGUI.showMixedValue = false; + + rect.x += rect.width + hSpace; rect.width = addWidth; rect.height -= 1; + if (GUI.Button(rect, mAddLabel)) + if (CinemachineImpulseChannels.Instance != null) + Selection.activeObject = CinemachineImpulseChannels.Instance; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannelPropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannelPropertyDrawer.cs.meta new file mode 100644 index 00000000..05da5f3b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannelPropertyDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0803634542916d8498caef53ed5604db +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannels.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannels.cs new file mode 100644 index 00000000..e9fdd973 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannels.cs @@ -0,0 +1,74 @@ +using UnityEngine; +using System; +using UnityEditor; + +namespace Cinemachine.Editor +{ + /// + /// This class contains setting for the Impulse system. Specifically, it holds + /// the Impulse Channel definitions. These work like Unity Layers, you can + /// define and name them, and create masks to filter only the layers you want. + /// + [Serializable] + public class CinemachineImpulseChannels : ScriptableObject + { + static CinemachineImpulseChannels sInstance = null; + private static bool alreadySearched = false; + + /// Get the singleton instance of this object, or null if it doesn't exist + public static CinemachineImpulseChannels InstanceIfExists + { + get + { + if (!alreadySearched) + { + alreadySearched = true; + var guids = AssetDatabase.FindAssets("t:CinemachineImpulseChannels"); + for (int i = 0; i < guids.Length && sInstance == null; ++i) + sInstance = AssetDatabase.LoadAssetAtPath( + AssetDatabase.GUIDToAssetPath(guids[i])); + } + if (sInstance != null) + sInstance.EnsureDefaultLayer(); + return sInstance; + } + } + + /// Get the singleton instance of this object. Creates asset if nonexistant + public static CinemachineImpulseChannels Instance + { + get + { + if (InstanceIfExists == null) + { + string newAssetPath = EditorUtility.SaveFilePanelInProject( + "Create Impulse Channel Definition asset", "CinemachineImpulseChannels", "asset", + "This editor-only file will contain the Impulse channels for this project"); + if (!string.IsNullOrEmpty(newAssetPath)) + { + sInstance = CreateInstance(); + AssetDatabase.CreateAsset(sInstance, newAssetPath); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + } + + if (sInstance != null) + { + sInstance.EnsureDefaultLayer(); + } + return sInstance; + } + } + + // Make sure it has at least one layer in it + void EnsureDefaultLayer() + { + if (ImpulseChannels == null || ImpulseChannels.Length == 0) + ImpulseChannels = new string[] { "default" }; + } + + /// The currently-defined Impulse channel names + public string[] ImpulseChannels; + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannels.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannels.cs.meta new file mode 100644 index 00000000..6eac4956 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseChannels.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a1728508674789b4e8539a2ad08ebc3f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseDefinitionPropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseDefinitionPropertyDrawer.cs new file mode 100644 index 00000000..92ff2506 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseDefinitionPropertyDrawer.cs @@ -0,0 +1,347 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(CinemachineImpulseDefinition))] + internal sealed class CinemachineImpulseDefinitionPropertyDrawer : PropertyDrawer + { + const int vSpace = 2; + const int kGraphHeight = 8; // lines + + #pragma warning disable 649 // variable never used + CinemachineImpulseDefinition m_MyClass; + #pragma warning restore 649 + + GUIContent m_TimeText = null; + float m_TimeTextWidth; + + SerializedProperty m_ShapeProperty; + float m_ShapePropertyHeight; + + SerializedProperty m_ImpulseTypeProperty; + + SerializedProperty m_DissipationRateProperty; + float m_SpreadPropertyHeight; + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + m_ImpulseTypeProperty = property.FindPropertyRelative(() => m_MyClass.m_ImpulseType); + var mode = (CinemachineImpulseDefinition.ImpulseTypes)m_ImpulseTypeProperty.intValue; + if (mode == CinemachineImpulseDefinition.ImpulseTypes.Legacy) + return LegacyModeGetPropertyHeight(property, label); + + int lines = 3; + + m_ShapePropertyHeight = EditorGUIUtility.singleLineHeight + vSpace; + m_ShapeProperty = property.FindPropertyRelative(() => m_MyClass.m_ImpulseShape); + if (m_ShapeProperty.isExpanded) + { + lines += kGraphHeight; + m_ShapePropertyHeight *= 1 + kGraphHeight; + } + m_ShapePropertyHeight -= vSpace; + + m_DissipationRateProperty = property.FindPropertyRelative(() => m_MyClass.m_DissipationRate); + if (mode != CinemachineImpulseDefinition.ImpulseTypes.Uniform) + { + m_SpreadPropertyHeight = EditorGUIUtility.singleLineHeight + vSpace; + if (m_DissipationRateProperty.isExpanded) + { + lines += kGraphHeight; + m_SpreadPropertyHeight *= 1 + kGraphHeight; + } + m_SpreadPropertyHeight -= vSpace; + lines += 2; + if (mode == CinemachineImpulseDefinition.ImpulseTypes.Propagating) + ++lines; + } + return lines * (EditorGUIUtility.singleLineHeight + vSpace); + } + + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + // Using BeginProperty / EndProperty on the parent property means that + // prefab override logic works on the entire property. + EditorGUI.BeginProperty(rect, label, property); + + var mode = (CinemachineImpulseDefinition.ImpulseTypes)m_ImpulseTypeProperty.intValue; + if (mode == CinemachineImpulseDefinition.ImpulseTypes.Legacy) + { + LegacyModeOnGUI(rect, property, label); + return; + } + + rect.height = EditorGUIUtility.singleLineHeight; + EditorGUI.PropertyField(rect, property.FindPropertyRelative(() => m_MyClass.m_ImpulseChannel)); + rect.y += rect.height + vSpace; + + // Impulse type + EditorGUI.PropertyField(rect, m_ImpulseTypeProperty); + rect.y += rect.height + vSpace; + if (mode != CinemachineImpulseDefinition.ImpulseTypes.Uniform) + { + // Propaation speed + if (mode == CinemachineImpulseDefinition.ImpulseTypes.Propagating) + { + EditorGUI.PropertyField(rect, property.FindPropertyRelative(() => m_MyClass.m_PropagationSpeed)); + rect.y += rect.height + vSpace; + } + + // Dissipation + EditorGUI.PropertyField(rect, property.FindPropertyRelative(() => m_MyClass.m_DissipationDistance)); + rect.y += rect.height + vSpace; + + // Spread combo + rect.height = m_SpreadPropertyHeight; + DrawSpreadCombo(rect, property); + rect.y += rect.height + vSpace; rect.height = EditorGUIUtility.singleLineHeight; + } + // Impulse Shape combo + rect.height = m_ShapePropertyHeight; + DrawImpulseShapeCombo(rect, property); + rect.y += rect.height + vSpace; rect.height = EditorGUIUtility.singleLineHeight; + + EditorGUI.EndProperty(); + } + + void DrawImpulseShapeCombo(Rect fullRect, SerializedProperty property) + { + float floatFieldWidth = EditorGUIUtility.fieldWidth + 2; + + SerializedProperty timeProp = property.FindPropertyRelative(() => m_MyClass.m_ImpulseDuration); + if (m_TimeText == null) + { + m_TimeText = new GUIContent(" s", timeProp.tooltip); + m_TimeTextWidth = GUI.skin.label.CalcSize(m_TimeText).x; + } + + var graphRect = fullRect; + graphRect.y += EditorGUIUtility.singleLineHeight + vSpace; + graphRect.height -= EditorGUIUtility.singleLineHeight + vSpace; + + var indentLevel = EditorGUI.indentLevel; + + Rect r = fullRect; r.height = EditorGUIUtility.singleLineHeight; + r = EditorGUI.PrefixLabel(r, EditorGUI.BeginProperty( + r, new GUIContent(m_ShapeProperty.displayName, m_ShapeProperty.tooltip), property)); + m_ShapeProperty.isExpanded = EditorGUI.Foldout(r, m_ShapeProperty.isExpanded, GUIContent.none); + + bool isCustom = m_ShapeProperty.intValue == (int)CinemachineImpulseDefinition.ImpulseShapes.Custom; + r.width -= floatFieldWidth + m_TimeTextWidth; + if (isCustom) + r.width -= 2 * r.height; + EditorGUI.BeginChangeCheck(); + { + EditorGUI.PropertyField(r, m_ShapeProperty, GUIContent.none); + if (EditorGUI.EndChangeCheck()) + InvalidateImpulseGraphSample(); + if (!isCustom && Event.current.type == EventType.Repaint && m_ShapeProperty.isExpanded) + DrawImpulseGraph(graphRect, CinemachineImpulseDefinition.GetStandardCurve( + (CinemachineImpulseDefinition.ImpulseShapes)m_ShapeProperty.intValue)); + } + if (isCustom) + { + SerializedProperty curveProp = property.FindPropertyRelative(() => m_MyClass.m_CustomImpulseShape); + r.x += r.width; + r.width = 2 * r.height; + EditorGUI.BeginChangeCheck(); + EditorGUI.PropertyField(r, curveProp, GUIContent.none); + if (EditorGUI.EndChangeCheck()) + { + curveProp.animationCurveValue = RuntimeUtility.NormalizeCurve(curveProp.animationCurveValue, true, false); + curveProp.serializedObject.ApplyModifiedProperties(); + InvalidateImpulseGraphSample(); + } + if (Event.current.type == EventType.Repaint && m_ShapeProperty.isExpanded) + DrawImpulseGraph(graphRect, curveProp.animationCurveValue); + } + + // Time + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = m_TimeTextWidth; + r.x += r.width; r.width = floatFieldWidth + EditorGUIUtility.labelWidth; + EditorGUI.BeginChangeCheck(); + EditorGUI.PropertyField(r, timeProp, m_TimeText); + if (EditorGUI.EndChangeCheck()) + timeProp.floatValue = Mathf.Max(timeProp.floatValue, 0); + EditorGUIUtility.labelWidth = oldWidth; + + EditorGUI.indentLevel = indentLevel; + } + + const int kNumSamples = 100; + Vector3[] m_ImpulseGraphSnapshot = new Vector3[kNumSamples+1]; + float m_ImpulseGraphZero; + Vector2 m_ImpulseGraphSize; + void InvalidateImpulseGraphSample() { m_ImpulseGraphSize = Vector2.zero; } + + void DrawImpulseGraph(Rect rect, AnimationCurve curve) + { + // Resample if necessary + if (m_ImpulseGraphSize != rect.size) + { + m_ImpulseGraphSize = rect.size; + float minY = 0; + float maxY = 0.1f; + for (int i = 0; i <= kNumSamples; ++i) + { + var x = (float)i / kNumSamples; + var y = curve.Evaluate(x); + minY = Mathf.Min(y, minY); + maxY = Mathf.Max(y, maxY); + m_ImpulseGraphSnapshot[i] = new Vector2(x * rect.width, y); + } + var range = maxY - minY; + m_ImpulseGraphZero = -minY / range; + m_ImpulseGraphZero = rect.height * (1f - m_ImpulseGraphZero); + + // Apply scale + for (int i = 0; i <= kNumSamples; ++i) + m_ImpulseGraphSnapshot[i].y = rect.height * (1f - (m_ImpulseGraphSnapshot[i].y - minY) / range); + } + EditorGUI.DrawRect(rect, new Color(0.2f, 0.2f, 0.2f, 1)); + var oldMatrix = Handles.matrix; + Handles.matrix = Handles.matrix * Matrix4x4.Translate(rect.position); + Handles.color = new Color(0, 0, 0, 1); + Handles.DrawLine(new Vector3(0, m_ImpulseGraphZero, 0), new Vector3(rect.width, m_ImpulseGraphZero, 0)); + Handles.color = new Color(1, 0.8f, 0, 1); + Handles.DrawPolyLine(m_ImpulseGraphSnapshot); + Handles.matrix = oldMatrix; + } + + void DrawSpreadCombo(Rect fullRect, SerializedProperty property) + { + var graphRect = fullRect; + graphRect.y += EditorGUIUtility.singleLineHeight + vSpace; + graphRect.height -= EditorGUIUtility.singleLineHeight + vSpace; + + var indentLevel = EditorGUI.indentLevel; + + Rect r = fullRect; r.height = EditorGUIUtility.singleLineHeight; + r = EditorGUI.PrefixLabel(r, EditorGUI.BeginProperty( + r, new GUIContent(m_DissipationRateProperty.displayName, m_DissipationRateProperty.tooltip), property)); + m_DissipationRateProperty.isExpanded = EditorGUI.Foldout(r, m_DissipationRateProperty.isExpanded, GUIContent.none); + + EditorGUI.BeginChangeCheck(); + EditorGUI.Slider(r, m_DissipationRateProperty, 0, 1, GUIContent.none); + if (EditorGUI.EndChangeCheck()) + InvalidateSpreadGraphSample(); + if (Event.current.type == EventType.Repaint && m_DissipationRateProperty.isExpanded) + DrawSpreadGraph(graphRect, m_DissipationRateProperty.floatValue); + EditorGUI.indentLevel = indentLevel; + } + + Vector3[] m_SpreadGraphSnapshot = new Vector3[kNumSamples+1]; + Vector2 m_SpreadGraphSize; + void InvalidateSpreadGraphSample() { m_SpreadGraphSize = Vector2.zero; } + + void DrawSpreadGraph(Rect rect, float spread) + { + // Resample if necessary + if (m_SpreadGraphSize != rect.size) + { + m_SpreadGraphSize = rect.size; + for (int i = 0; i <= kNumSamples >> 1; ++i) + { + var x = (float)i / kNumSamples; + var y = CinemachineImpulseManager.EvaluateDissipationScale(spread, Mathf.Abs(1 - x * 2)); + m_SpreadGraphSnapshot[i] = new Vector2(x * rect.width, rect.height * (1 - y)); + m_SpreadGraphSnapshot[kNumSamples - i] = new Vector2((1 - x) * rect.width, rect.height * (1 - y)); + } + } + EditorGUI.DrawRect(rect, new Color(0.2f, 0.2f, 0.2f, 1)); + var oldMatrix = Handles.matrix; + Handles.matrix = Handles.matrix * Matrix4x4.Translate(rect.position); + Handles.color = new Color(0, 0, 0, 1); + Handles.DrawLine(new Vector3(rect.width * 0.5f, 0, 0), new Vector3(rect.width * 0.5f, rect.height, 0)); + Handles.color = new Color(0, 0.6f, 1, 1); + Handles.DrawPolyLine(m_SpreadGraphSnapshot); + Handles.matrix = oldMatrix; + } + + // Legacy mode + float HeaderHeight { get { return EditorGUIUtility.singleLineHeight * 1.5f; } } + float DrawHeader(Rect rect, string text) + { + float delta = HeaderHeight - EditorGUIUtility.singleLineHeight; + rect.y += delta; rect.height -= delta; + EditorGUI.LabelField(rect, new GUIContent(text), EditorStyles.boldLabel); + return HeaderHeight; + } + + string HeaderText(SerializedProperty property) + { + var attrs = property.serializedObject.targetObject.GetType() + .GetCustomAttributes(typeof(HeaderAttribute), false); + if (attrs != null && attrs.Length > 0) + return ((HeaderAttribute)attrs[0]).header; + return null; + } + + List mHideProperties = new List(); + + float LegacyModeGetPropertyHeight(SerializedProperty prop, GUIContent label) + { + SignalSourceAsset asset = null; + float height = 0; + mHideProperties.Clear(); + string prefix = prop.name; + prop.NextVisible(true); // Skip outer foldout + do + { + if (!prop.propertyPath.Contains(prefix)) // if it is part of an array, then it won't StartWith prefix + break; + string header = HeaderText(prop); + if (header != null) + height += HeaderHeight + vSpace; + + // Do we hide this property? + bool hide = false; + if (prop.name == SerializedPropertyHelper.PropertyName(() => m_MyClass.m_RawSignal)) + asset = prop.objectReferenceValue as SignalSourceAsset; + if (prop.name == SerializedPropertyHelper.PropertyName(() => m_MyClass.m_RepeatMode)) + hide = asset == null || asset.SignalDuration <= 0; + else if (prop.name == SerializedPropertyHelper.PropertyName(() => m_MyClass.m_Randomize)) + hide = asset == null || asset.SignalDuration > 0; + else + { + hide = prop.name == SerializedPropertyHelper.PropertyName(() => m_MyClass.m_ImpulseShape) + || prop.name == SerializedPropertyHelper.PropertyName(() => m_MyClass.m_CustomImpulseShape) + || prop.name == SerializedPropertyHelper.PropertyName(() => m_MyClass.m_ImpulseDuration) + || prop.name == SerializedPropertyHelper.PropertyName(() => m_MyClass.m_DissipationRate); + } + + if (hide) + mHideProperties.Add(prop.name); + else + height += EditorGUI.GetPropertyHeight(prop, false) + vSpace; + } while (prop.NextVisible(prop.isExpanded)); + return height; + } + + void LegacyModeOnGUI(Rect rect, SerializedProperty prop, GUIContent label) + { + string prefix = prop.name; + prop.NextVisible(true); // Skip outer foldout + do + { + if (!prop.propertyPath.Contains(prefix)) // if it is part of an array, then it won't StartWith prefix + break; + string header = HeaderText(prop); + if (header != null) + { + rect.height = HeaderHeight; + DrawHeader(rect, header); + rect.y += HeaderHeight + vSpace; + } + if (mHideProperties.Contains(prop.name)) + continue; + rect.height = EditorGUI.GetPropertyHeight(prop, false); + EditorGUI.PropertyField(rect, prop); + rect.y += rect.height + vSpace; + } while (prop.NextVisible(prop.isExpanded)); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseDefinitionPropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseDefinitionPropertyDrawer.cs.meta new file mode 100644 index 00000000..49a8fd22 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseDefinitionPropertyDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b1a97a2b5515f5d49977e7e8add5b7a9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseEnvelopePropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseEnvelopePropertyDrawer.cs new file mode 100644 index 00000000..cb3dd3e6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseEnvelopePropertyDrawer.cs @@ -0,0 +1,99 @@ +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(CinemachineImpulseManager.EnvelopeDefinition))] + internal sealed class CinemachineImpulseEnvelopePropertyDrawer : PropertyDrawer + { + const int vSpace = 2; + static bool mExpanded = true; + + CinemachineImpulseManager.EnvelopeDefinition myClass + = new CinemachineImpulseManager.EnvelopeDefinition(); // to access name strings + + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + float height = EditorGUIUtility.singleLineHeight; + rect.height = height; + mExpanded = EditorGUI.Foldout(rect, mExpanded, label, true); + if (mExpanded) + { + const float indentAmount = 15; + rect.width -= indentAmount; rect.x += indentAmount; + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth -= indentAmount; + + rect.y += EditorGUIUtility.singleLineHeight + vSpace; + DrawCurveTimeProperty( + rect, new GUIContent("Attack", "The custom shape of the attack curve. Leave it blank for a default shape"), + property.FindPropertyRelative(() => myClass.m_AttackShape), + property.FindPropertyRelative(() => myClass.m_AttackTime)); + + rect.y += EditorGUIUtility.singleLineHeight + vSpace; +#if false // with "forever" button... dangerous because signal never goes away! + var holdProp = property.FindPropertyRelative(() => myClass.m_SustainTime); + InspectorUtility.MultiPropertyOnLine( + rect, new GUIContent(holdProp.displayName, holdProp.tooltip), + new SerializedProperty[] { holdProp, property.FindPropertyRelative(() => myClass.m_HoldForever) }, + new GUIContent[] { GUIContent.none, new GUIContent("forever") }); +#else + EditorGUI.PropertyField(rect, property.FindPropertyRelative(() => myClass.m_SustainTime)); +#endif + rect.y += EditorGUIUtility.singleLineHeight + vSpace; + DrawCurveTimeProperty( + rect, new GUIContent("Decay", "The custom shape of the decay curve. Leave it blank for a default shape"), + property.FindPropertyRelative(() => myClass.m_DecayShape), + property.FindPropertyRelative(() => myClass.m_DecayTime)); + + rect.y += EditorGUIUtility.singleLineHeight + vSpace; + EditorGUI.PropertyField(rect, property.FindPropertyRelative(() => myClass.m_ScaleWithImpact)); + + EditorGUIUtility.labelWidth = oldWidth; + } + } + + void DrawCurveTimeProperty( + Rect rect, GUIContent label, + SerializedProperty curveProp, SerializedProperty timeProp) + { + float floatFieldWidth = EditorGUIUtility.singleLineHeight * 2.5f; + + GUIContent timeText = new GUIContent(" s", timeProp.tooltip); + var textDimensions = GUI.skin.label.CalcSize(timeText); + + rect = EditorGUI.PrefixLabel(rect, label); + + rect.height = EditorGUIUtility.singleLineHeight; + rect.width -= floatFieldWidth + textDimensions.x; + + Rect r = rect; r.height += 1; r.y -= 1; + EditorGUI.BeginChangeCheck(); + EditorGUI.PropertyField(r, curveProp, GUIContent.none); + if (EditorGUI.EndChangeCheck()) + { + curveProp.animationCurveValue = InspectorUtility.NormalizeCurve(curveProp.animationCurveValue); + if (curveProp.animationCurveValue.length < 1) + curveProp.animationCurveValue = new AnimationCurve(); + curveProp.serializedObject.ApplyModifiedProperties(); + } + + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = textDimensions.x; + rect.x += rect.width; rect.width = floatFieldWidth + EditorGUIUtility.labelWidth; + EditorGUI.BeginChangeCheck(); + EditorGUI.PropertyField(rect, timeProp, timeText); + if (EditorGUI.EndChangeCheck()) + timeProp.floatValue = Mathf.Max(timeProp.floatValue, 0); + EditorGUIUtility.labelWidth = oldWidth; + } + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + float height = EditorGUIUtility.singleLineHeight + vSpace; + if (mExpanded) + height *= 5; + return height; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseEnvelopePropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseEnvelopePropertyDrawer.cs.meta new file mode 100644 index 00000000..4597cef9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseEnvelopePropertyDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fdb859783dabdca44be0ea05d1203b30 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseListenerEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseListenerEditor.cs new file mode 100644 index 00000000..8e707ac1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseListenerEditor.cs @@ -0,0 +1,18 @@ +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineImpulseListener))] + [CanEditMultipleObjects] + internal sealed class CinemachineImpulseListenerEditor : BaseEditor + { + public override void OnInspectorGUI() + { + BeginInspector(); + EditorGUILayout.HelpBox( + "The Impulse Listener will respond to signals broadcast by any CinemachineImpulseSource.", + MessageType.Info); + DrawRemainingPropertiesInInspector(); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseListenerEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseListenerEditor.cs.meta new file mode 100644 index 00000000..c51c0153 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseListenerEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c63cb4cb8e3e82c4f8bfa7516da4f2b5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseSourceEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseSourceEditor.cs new file mode 100644 index 00000000..445bc5a8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseSourceEditor.cs @@ -0,0 +1,41 @@ +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomEditor(typeof(CinemachineImpulseSource))] + internal sealed class CinemachineImpulseSourceEditor : BaseEditor + { + float m_TestForce = 1; + GUIContent m_TestButton = new GUIContent( + "Invoke", "Play-mode only: Generate an impulse with the default velocity scaled by this amount"); + GUIContent m_TestLabel = new GUIContent( + "Test with Force", "Generate an impulse with the default velocity scaled by an amount"); + + public override void OnInspectorGUI() + { + BeginInspector(); + EditorGUILayout.Separator(); + EditorGUILayout.HelpBox( + "Connect your impulse-generating event " + + "to one of the GenerateImpulse API methods defined in this script.", + MessageType.Info); + DrawRemainingPropertiesInInspector(); + + GUI.enabled = EditorApplication.isPlaying; + { + var r1 = EditorGUILayout.GetControlRect(); + r1 = EditorGUI.PrefixLabel(r1, m_TestLabel); + var testButtonWidth = GUI.skin.button.CalcSize(m_TestButton).x; + var r2 = r1; + r1.width = testButtonWidth; + r2.x += testButtonWidth + 3; r2.width -= testButtonWidth + 3; + + m_TestForce = EditorGUI.Slider(r2, m_TestForce, 0.1f, 20f); + if (GUI.Button(r1, m_TestButton)) + Target.GenerateImpulseWithForce(m_TestForce); + } + GUI.enabled = true; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseSourceEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseSourceEditor.cs.meta new file mode 100644 index 00000000..16ebebef --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Impulse/CinemachineImpulseSourceEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b56f2475416eeea4c916add2d7268ad1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus.meta new file mode 100644 index 00000000..4c15ff3f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d093acf2bada69e4bbbcf0a8b4534919 +folderAsset: yes +timeCreated: 1489096338 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus/CinemachineMenu.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus/CinemachineMenu.cs new file mode 100644 index 00000000..ef4b3ca1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus/CinemachineMenu.cs @@ -0,0 +1,297 @@ +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + internal static class CinemachineMenu + { + const string m_CinemachineAssetsRootMenu = "Assets/Create/Cinemachine/"; + const string m_CinemachineGameObjectRootMenu = "GameObject/Cinemachine/"; + const int m_GameObjectMenuPriority = 11; // Right after Camera. + + // Assets Menu + + [MenuItem(m_CinemachineAssetsRootMenu + "BlenderSettings")] + static void CreateBlenderSettingAsset() + { + ScriptableObjectUtility.Create(); + } + + [MenuItem(m_CinemachineAssetsRootMenu + "NoiseSettings")] + static void CreateNoiseSettingAsset() + { + ScriptableObjectUtility.Create(); + } + + [MenuItem(m_CinemachineAssetsRootMenu + "Fixed Signal Definition")] + static void CreateFixedSignalDefinition() + { + ScriptableObjectUtility.Create(); + } + + // GameObject Menu + + [MenuItem(m_CinemachineGameObjectRootMenu + "Virtual Camera", false, m_GameObjectMenuPriority)] + static void CreateVirtualCamera(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("Virtual Camera"); + CreateDefaultVirtualCamera(parentObject: command.context as GameObject, select: true); + } + + [MenuItem(m_CinemachineGameObjectRootMenu + "FreeLook Camera", false, m_GameObjectMenuPriority)] + static void CreateFreeLookCamera(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("FreeLook Camera"); + CreateCinemachineObject("FreeLook Camera", command.context as GameObject, true); + } + + [MenuItem(m_CinemachineGameObjectRootMenu + "Blend List Camera", false, m_GameObjectMenuPriority)] + static void CreateBlendListCamera(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("Blend List Camera"); + var blendListCamera = CreateCinemachineObject( + "Blend List Camera", command.context as GameObject, true); + + // We give the camera a couple of children as an example of setup + var childVcam1 = CreateDefaultVirtualCamera(parentObject: blendListCamera.gameObject); + var childVcam2 = CreateDefaultVirtualCamera(parentObject: blendListCamera.gameObject); + childVcam2.m_Lens.FieldOfView = 10; + + // Set up initial instruction set + blendListCamera.m_Instructions = new CinemachineBlendListCamera.Instruction[2]; + blendListCamera.m_Instructions[0].m_VirtualCamera = childVcam1; + blendListCamera.m_Instructions[0].m_Hold = 1f; + blendListCamera.m_Instructions[1].m_VirtualCamera = childVcam2; + blendListCamera.m_Instructions[1].m_Blend.m_Style = CinemachineBlendDefinition.Style.EaseInOut; + blendListCamera.m_Instructions[1].m_Blend.m_Time = 2f; + } + +#if CINEMACHINE_UNITY_ANIMATION + [MenuItem(m_CinemachineGameObjectRootMenu + "State-Driven Camera", false, m_GameObjectMenuPriority)] + static void CreateStateDivenCamera(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("State-Driven Camera"); + var stateDrivenCamera = CreateCinemachineObject( + "State-Driven Camera", command.context as GameObject, true); + + // We give the camera a child as an example setup + CreateDefaultVirtualCamera(parentObject: stateDrivenCamera.gameObject); + } +#endif + +#if CINEMACHINE_PHYSICS + [MenuItem(m_CinemachineGameObjectRootMenu + "ClearShot Camera", false, m_GameObjectMenuPriority)] + static void CreateClearShotVirtualCamera(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("ClearShot Camera"); + var clearShotCamera = CreateCinemachineObject( + "ClearShot Camera", command.context as GameObject, true); + + // We give the camera a child as an example setup + var childVcam = CreateDefaultVirtualCamera(parentObject: clearShotCamera.gameObject); + Undo.AddComponent(childVcam.gameObject).m_AvoidObstacles = false; + } +#endif + + [MenuItem(m_CinemachineGameObjectRootMenu + "Dolly Camera with Track", false, m_GameObjectMenuPriority)] + static void CreateDollyCameraWithPath(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("Dolly Camera with Track"); + var path = CreateCinemachineObject( + "Dolly Track", command.context as GameObject, false); + var vcam = CreateCinemachineObject( + "Virtual Camera", command.context as GameObject, true); + vcam.m_Lens = MatchSceneViewCamera(vcam.transform); + + AddCinemachineComponent(vcam); + AddCinemachineComponent(vcam).m_Path = path; + } + + [MenuItem(m_CinemachineGameObjectRootMenu + "Dolly Track with Cart", false, m_GameObjectMenuPriority)] + static void CreateDollyTrackWithCart(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("Dolly Track with Cart"); + var path = CreateCinemachineObject( + "Dolly Track", command.context as GameObject, false); + CreateCinemachineObject( + "Dolly Cart", command.context as GameObject, true).m_Path = path; + } + + [MenuItem(m_CinemachineGameObjectRootMenu + "Target Group Camera", false, m_GameObjectMenuPriority)] + static void CreateTargetGroupCamera(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("Target Group Camera"); + var vcam = CreateCinemachineObject( + "Virtual Camera", command.context as GameObject, false); + vcam.m_Lens = MatchSceneViewCamera(vcam.transform); + + AddCinemachineComponent(vcam); + AddCinemachineComponent(vcam); + + var targetGroup = CreateCinemachineObject( + "Target Group", command.context as GameObject, true); + vcam.LookAt = targetGroup.transform; + vcam.Follow = targetGroup.transform; + } + + [MenuItem(m_CinemachineGameObjectRootMenu + "Mixing Camera", false, m_GameObjectMenuPriority)] + static void CreateMixingCamera(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("Mixing Camera"); + var mixingCamera = CreateCinemachineObject( + "Mixing Camera", command.context as GameObject, true); + + // We give the camera a couple of children as an example of setup + CreateDefaultVirtualCamera(parentObject: mixingCamera.gameObject); + CreateDefaultVirtualCamera(parentObject: mixingCamera.gameObject); + } + + [MenuItem(m_CinemachineGameObjectRootMenu + "2D Camera", false, m_GameObjectMenuPriority)] + static void Create2DCamera(MenuCommand command) + { + CinemachineEditorAnalytics.SendCreateEvent("2D Camera"); + var vcam = CreateCinemachineObject( + "Virtual Camera", command.context as GameObject, true); + vcam.m_Lens = MatchSceneViewCamera(vcam.transform); + + AddCinemachineComponent(vcam); + } + + /// + /// Sets the specified to match the position and + /// rotation of the camera, and returns the scene view + /// camera's lens settings. + /// + /// The to match with the + /// camera. + /// A representing the scene view camera's lens + public static LensSettings MatchSceneViewCamera(Transform sceneObject) + { + var lens = LensSettings.Default; + + // Take initial settings from the GameView camera, because we don't want to override + // things like ortho vs perspective - we just want position and FOV + var brain = GetOrCreateBrain(); + if (brain != null && brain.OutputCamera != null) + lens = LensSettings.FromCamera(brain.OutputCamera); + + if (SceneView.lastActiveSceneView != null) + { + var src = SceneView.lastActiveSceneView.camera; + sceneObject.SetPositionAndRotation(src.transform.position, src.transform.rotation); + if (lens.Orthographic == src.orthographic) + { + if (src.orthographic) + lens.OrthographicSize = src.orthographicSize; + else + lens.FieldOfView = src.fieldOfView; + } + } + return lens; + } + + /// + /// Creates a with standard procedural components. + /// + public static CinemachineVirtualCamera CreateDefaultVirtualCamera( + string name = "Virtual Camera", GameObject parentObject = null, bool select = false) + { + var vcam = CreateCinemachineObject(name, parentObject, select); + vcam.m_Lens = MatchSceneViewCamera(vcam.transform); + + AddCinemachineComponent(vcam); + AddCinemachineComponent(vcam); + + return vcam; + } + + /// + /// Creates a with no procedural components. + /// + public static CinemachineVirtualCamera CreatePassiveVirtualCamera( + string name = "Virtual Camera", GameObject parentObject = null, bool select = false) + { + var vcam = CreateCinemachineObject(name, parentObject, select); + vcam.m_Lens = MatchSceneViewCamera(vcam.transform); + return vcam; + } + + /// + /// Creates a Cinemachine in the scene with a specified component. + /// + /// The type of to add to the new . + /// The name of the new . + /// The to parent the new to. + /// Whether the new should be selected. + /// The instance of the component that is added to the new . + static T CreateCinemachineObject(string name, GameObject parentObject, bool select) where T : Component + { + // We always enforce the existence of the CM brain + GetOrCreateBrain(); + + // We use ObjectFactory to create a new GameObject as it automatically supports undo/redo + var go = ObjectFactory.CreateGameObject(name); + T component = go.AddComponent(); + + if (parentObject != null) + Undo.SetTransformParent(go.transform, parentObject.transform, "Set parent of " + name); + + // We ensure that the new object has a unique name, for example "Camera (1)". + // This must be done after setting the parent in order to get an accurate unique name + GameObjectUtility.EnsureUniqueNameForSibling(go); + + // We set the new object to be at the current pivot of the scene. + // GML TODO: Support the "Place Objects At World Origin" preference option in 2020.3+, see GOCreationCommands.cs + if (SceneView.lastActiveSceneView != null) + go.transform.position = SceneView.lastActiveSceneView.pivot; + + if (select) + Selection.activeGameObject = go; + + return component; + } + + /// + /// Gets the first loaded . Creates one on + /// the if none were found. + /// + static CinemachineBrain GetOrCreateBrain() + { + if (CinemachineCore.Instance.BrainCount > 0) + return CinemachineCore.Instance.GetActiveBrain(0); + + // Create a CinemachineBrain on the main camera + var cam = Camera.main; + if (cam == null) +#if UNITY_2023_1_OR_NEWER + cam = Object.FindFirstObjectByType(FindObjectsInactive.Exclude); +#else + cam = Object.FindObjectOfType(); +#endif + if (cam != null) + return Undo.AddComponent(cam.gameObject); + + // No camera, just create a brain on an empty object + return ObjectFactory.CreateGameObject("CinemachineBrain").AddComponent(); + } + + /// + /// Adds an component to the specified 's hidden + /// component owner, that supports undo. + /// + /// The type of to add to the cinemachine pipeline. + /// The to add components to. + /// The instance of the componented that was added. + static T AddCinemachineComponent(CinemachineVirtualCamera vcam) where T : CinemachineComponentBase + { + // We can't use the CinemachineVirtualCamera.AddCinemachineComponent() + // because we want to support undo/redo + var componentOwner = vcam.GetComponentOwner().gameObject; + if (componentOwner == null) + return null; // maybe it's an invalid prefab instance + var component = Undo.AddComponent(componentOwner); + vcam.InvalidateComponentPipeline(); + return component; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus/CinemachineMenu.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus/CinemachineMenu.cs.meta new file mode 100644 index 00000000..f961a2e8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Menus/CinemachineMenu.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 54b24e51e2a9fa242b38d80ee11f3b2d +timeCreated: 1481654955 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays.meta new file mode 100644 index 00000000..89dc173b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63479c7bfc24449f6b3404b4cd971413 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays/CinemachineToolbarOverlay.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays/CinemachineToolbarOverlay.cs new file mode 100644 index 00000000..237bf46d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays/CinemachineToolbarOverlay.cs @@ -0,0 +1,422 @@ +#if UNITY_2021_2_OR_NEWER +using System; +using UnityEditor; +using UnityEditor.EditorTools; +using UnityEditor.Overlays; +using UnityEditor.Toolbars; +using UnityEngine; +using UnityEngine.UIElements; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ +#if UNITY_2022_1_OR_NEWER + /// + /// This is a generic Tool class for Cinemachine tools. + /// To create a new tool, inherit from CinemachineTool and implement GetIcon(). + /// Your new tool will need to have the [EditorTool("tool-name", typeof(CinemachineVirtualCameraBase))] attribute. + /// + /// A tool will be drawn iff it has been registered using CinemachineSceneToolUtility.RegisterTool. + /// This is generally done in the OnEnable function of the editor script of the cinemachine component + /// (CinemachineVirtualCamera, CinemachineComponentBase), for which the tool was meant. + /// To unregister, call CinemachineSceneToolUtility.UnregisterTool in the same script's OnDisable function. + /// + /// To draw the handles related to the tool, you need to implement your drawing function and call it in the + /// editor script's OnSceneGUI function. An alternative for drawing handles is to override this function's + /// OnToolGUI or OnDrawHandles functions (see EditorTool or IDrawSelectedHandles docs for more information). + /// + /// To check, if a tool has been enabled/disabled in the editor script, use CinemachineSceneToolUtility.IsToolActive. + /// + public abstract class CinemachineTool : EditorTool, IDrawSelectedHandles + { + GUIContent m_IconContent; + + /// Implement this to set your Tool's icon and tooltip. + /// A GUIContent with an icon set. + protected abstract GUIContent GetIcon(); + + /// This lets the editor find the icon of the tool. + public override GUIContent toolbarIcon + { + get + { + if (m_IconContent == null || m_State.refreshIcon) + { + m_IconContent = GetIcon(); + m_State.refreshIcon = false; + } + return m_IconContent; + } + } + + /// This is called when the Tool is selected in the editor. + public override void OnActivated() + { + base.OnActivated(); + CinemachineSceneToolUtility.SetTool(true, GetType()); + m_State.refreshIcon = true; + m_State.isSelected = true; + } + + /// This is called when the Tool is deselected in the editor. + public override void OnWillBeDeactivated() + { + base.OnWillBeDeactivated(); + CinemachineSceneToolUtility.SetTool(false, GetType()); + m_State.refreshIcon = true; + m_State.isSelected = false; + } + + /// This checks whether this tool should be displayed or not. + /// True, when this tool is to be drawn. False, otherwise. + public override bool IsAvailable() => CinemachineSceneToolUtility.IsToolRequired(GetType()); + + /// Implement IDrawSelectedHandles to draw gizmos for this tool even if it is not the active tool. + public void OnDrawHandles() + { + } + + private protected string GetIconPath() + { + m_State.refreshIcon = m_State.isProSkin != EditorGUIUtility.isProSkin; + m_State.isProSkin = EditorGUIUtility.isProSkin; + return ScriptableObjectUtility.CinemachineRealativeInstallPath + "/Editor/EditorResources/Handles/" + + (m_State.isProSkin ? + (m_State.isSelected ? "Dark-Selected" : "Dark") : + (m_State.isSelected ? "Light-Selected" : "Light")) + "/"; + } + + struct ToolState + { + public bool isSelected; + public bool isProSkin; + public bool refreshIcon; + } + ToolState m_State = new ToolState { refreshIcon = true }; + } + + [EditorTool("Field of View Tool", typeof(CinemachineVirtualCameraBase))] + class FoVTool : CinemachineTool + { + protected override GUIContent GetIcon() => + new GUIContent + { + image = AssetDatabase.LoadAssetAtPath(GetIconPath() + "FOV.png"), + tooltip = "Field of View Tool", + }; + } + + [EditorTool("Far-Near Clip Tool", typeof(CinemachineVirtualCameraBase))] + class FarNearClipTool : CinemachineTool + { + protected override GUIContent GetIcon() => + new GUIContent + { + image = AssetDatabase.LoadAssetAtPath(GetIconPath() + "FarNearClip.png"), + tooltip = "Far/Near Clip Tool", + }; + } + + [EditorTool("Follow Offset Tool", typeof(CinemachineVirtualCameraBase))] + class FollowOffsetTool : CinemachineTool + { + protected override GUIContent GetIcon() => + new GUIContent + { + image = AssetDatabase.LoadAssetAtPath(GetIconPath() + "FollowOffset.png"), + tooltip = "Follow Offset Tool", + }; + } + + [EditorTool("Tracked Object Offset Tool", typeof(CinemachineVirtualCameraBase))] + class TrackedObjectOffsetTool : CinemachineTool + { + protected override GUIContent GetIcon() => + new GUIContent + { + image = AssetDatabase.LoadAssetAtPath(GetIconPath() + "TrackedObjectOffset.png"), + tooltip = "Tracked Object Offset Tool", + }; + } + + /// + /// To add your custom tools (EditorToolbarElement) to the Cinemachine Tool Settings toolbar, + /// set CinemachineToolSettingsOverlay.customToolbarItems with your custom tools' IDs. + /// + /// By default, CinemachineToolSettingsOverlay.customToolbarItems is null. + /// + [Overlay(typeof(SceneView), "Cinemachine Tool Settings")] + [Icon("Packages/com.unity.cinemachine/Gizmos/cm_logo.png")] + public class CinemachineToolSettingsOverlay : Overlay, ICreateToolbar + { + static readonly string[] k_CmToolbarItems = { FreelookRigSelection.id }; + + /// + /// Override this method to return your visual element content. + /// By default, this draws the same visual element as the HorizontalToolbar + /// + /// VisualElement for the Panel conent. + public override VisualElement CreatePanelContent() => CreateContent(Layout.HorizontalToolbar); + + /// Set this with your custom tools' IDs. + public static string[] customToolbarItems = null; + + /// The list of tools that this toolbar is going to contain. + public IEnumerable toolbarElements + { + get + { + if (customToolbarItems != null) + { + var toolbarItems = new List(k_CmToolbarItems); + toolbarItems.AddRange(customToolbarItems); + return toolbarItems; + } + + return k_CmToolbarItems; + } + } + } + + [EditorToolbarElement(id, typeof(SceneView))] + class FreelookRigSelection : EditorToolbarDropdown + { + public const string id = "FreelookRigSelection/Dropdown"; + public static int SelectedRig; + Texture2D[] m_Icons; + + public FreelookRigSelection() + { + tooltip = "Freelook Rig Selection"; + clicked += FreelookRigSelectionMenu; + EditorApplication.update += ShadowSelectedRigName; + EditorApplication.update += DisplayIfRequired; + + m_Icons = new Texture2D[] + { + AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/FreelookRigTop.png"), + AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/FreelookRigMiddle.png"), + AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/FreelookRigBottom.png"), + }; + } + + ~FreelookRigSelection() + { + clicked -= FreelookRigSelectionMenu; + EditorApplication.update -= ShadowSelectedRigName; + EditorApplication.update -= DisplayIfRequired; + } + + Type m_FreelookRigSelectionType = typeof(FreelookRigSelection); + void DisplayIfRequired() => style.display = + CinemachineSceneToolUtility.IsToolRequired(m_FreelookRigSelectionType) + ? DisplayStyle.Flex : DisplayStyle.None; + + // text is currently only visibly in Panel mode due to this bug: https://jira.unity3d.com/browse/STO-2278 + void ShadowSelectedRigName() + { + var index = Mathf.Clamp(SelectedRig, 0, CinemachineFreeLookEditor.RigNames.Length - 1); + text = CinemachineFreeLookEditor.RigNames[index].text; + icon = m_Icons[index]; + } + + void FreelookRigSelectionMenu() + { + var menu = new GenericMenu(); + for (var i = 0; i < CinemachineFreeLookEditor.RigNames.Length; ++i) + { + var rigIndex = i; // vital to capture the index here for the lambda below + menu.AddItem(CinemachineFreeLookEditor.RigNames[i], false, () => + { + SelectedRig = rigIndex; + var active = Selection.activeObject as GameObject; + if (active != null) + { + var freelook = active.GetComponent(); + if (freelook != null) + CinemachineFreeLookEditor.SetSelectedRig(freelook, rigIndex); + } + }); + } + menu.DropDown(worldBound); + } + } +#else + /// + /// To display a CinemachineExclusiveEditorToolbarToggle in the Cinemachine Toolbar. + /// + [Overlay(typeof(SceneView), "Cinemachine")] + [Icon("Packages/com.unity.cinemachine/Gizmos/cm_logo.png")] + class CinemachineToolbarOverlay : ToolbarOverlay + { + public CinemachineToolbarOverlay() + : base( + FreelookRigSelection.id, + FoVTool.id, + FarNearClipTool.id, + FollowOffsetTool.id, + TrackedObjectOffsetTool.id + ) + { + CinemachineSceneToolUtility.RegisterToolbarIsDisplayedHandler(() => displayed); + CinemachineSceneToolUtility.RegisterToolbarDisplayHandler(v => + { + if (displayed == v) + { + return false; + } + displayed = v; + return true; + }); + } + } + + + + /// + /// Creates a toggle tool on the Cinemachine toolbar that is exclusive with other + /// CinemachineExclusiveEditorToolbarToggles. Meaning, that maximum one + /// CinemachineExclusiveEditorToolbarToggle can be active at any time. + /// + abstract class CinemachineExclusiveEditorToolbarToggle : EditorToolbarToggle + { + protected CinemachineExclusiveEditorToolbarToggle() + { + var type = GetType(); + this.RegisterValueChangedCallback( + v => CinemachineSceneToolUtility.SetTool(v.newValue, type)); + CinemachineSceneToolUtility.RegisterExclusiveToolHandlers(type, isOn => value = isOn, + display => style.display = display ? DisplayStyle.Flex : DisplayStyle.None); + } + } + + [EditorToolbarElement(id, typeof(SceneView))] + class FoVTool : CinemachineExclusiveEditorToolbarToggle + { + public const string id = "FoVTool/Toggle"; + + public FoVTool() + { + icon = AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/Dark/FOV.png"); + tooltip = "Field of View Tool"; + } + } + + [EditorToolbarElement(id, typeof(SceneView))] + class FarNearClipTool : CinemachineExclusiveEditorToolbarToggle + { + public const string id = "FarNearClipTool/Toggle"; + + public FarNearClipTool() + { + icon = AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/Dark/FarNearClip.png"); + tooltip = "Far/Near Clip Tool"; + } + } + + [EditorToolbarElement(id, typeof(SceneView))] + class FollowOffsetTool : CinemachineExclusiveEditorToolbarToggle + { + public const string id = "FollowOffsetTool/Toggle"; + + public FollowOffsetTool() + { + icon = AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/Dark/FollowOffset.png"); + tooltip = "Follow Offset Tool"; + } + } + + [EditorToolbarElement(id, typeof(SceneView))] + class TrackedObjectOffsetTool : CinemachineExclusiveEditorToolbarToggle + { + public const string id = "TrackedObjectOffsetTool/Toggle"; + + public TrackedObjectOffsetTool() + { + icon = AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/Dark/TrackedObjectOffset.png"); + tooltip = "Tracked Object Offset Tool"; + } + } + + /// + /// Creates a toggle tool on the Cinemachine toolbar. + /// + abstract class CinemachineEditorToolbarToggle : EditorToolbarToggle + { + protected CinemachineEditorToolbarToggle() + { + CinemachineSceneToolUtility.RegisterToolHandlers(GetType(), isOn => value = isOn, + display => style.display = display ? DisplayStyle.Flex : DisplayStyle.None); + } + } + + [EditorToolbarElement(id, typeof(SceneView))] + class FreelookRigSelection : EditorToolbarDropdown + { + public const string id = "FreelookRigSelection/Dropdown"; + public static int SelectedRig; + Texture2D[] m_Icons; + + public FreelookRigSelection() + { + tooltip = "Freelook Rig Selection"; + clicked += FreelookRigSelectionMenu; + CinemachineSceneToolUtility.RegisterToolHandlers(GetType(), isOn => {}, + display => style.display = display ? DisplayStyle.Flex : DisplayStyle.None); + EditorApplication.update += ShadowSelectedRigName; + + m_Icons = new Texture2D[] + { + AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/FreelookRigTop.png"), + AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/FreelookRigMiddle.png"), + AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/Handles/FreelookRigBottom.png"), + }; + } + + ~FreelookRigSelection() + { + clicked -= FreelookRigSelectionMenu; + EditorApplication.update -= ShadowSelectedRigName; + } + + void ShadowSelectedRigName() + { + var index = Mathf.Clamp(SelectedRig, 0, CinemachineFreeLookEditor.RigNames.Length - 1); + icon = m_Icons[index]; + text = CinemachineFreeLookEditor.RigNames[index].text; + } + + void FreelookRigSelectionMenu() + { + var menu = new GenericMenu(); + for (var i = 0; i < CinemachineFreeLookEditor.RigNames.Length; ++i) + { + var rigIndex = i; // vital to capture the index here for the lambda below + menu.AddItem(CinemachineFreeLookEditor.RigNames[i], false, () => + { + SelectedRig = rigIndex; + var active = Selection.activeObject as GameObject; + if (active != null) + { + var freelook = active.GetComponent(); + if (freelook != null) + CinemachineFreeLookEditor.SetSelectedRig(freelook, rigIndex); + } + }); + } + menu.DropDown(worldBound); + } + } +#endif +} +#endif \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays/CinemachineToolbarOverlay.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays/CinemachineToolbarOverlay.cs.meta new file mode 100644 index 00000000..ef9e8cc5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Overlays/CinemachineToolbarOverlay.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fdfe64f027e0b40ffa59a87a23ac5eeb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing.meta new file mode 100644 index 00000000..2d672d24 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e25865eefe5b6f40a615add150c0042 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachinePostProcessingEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachinePostProcessingEditor.cs new file mode 100644 index 00000000..c5a39d51 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachinePostProcessingEditor.cs @@ -0,0 +1,214 @@ +#if CINEMACHINE_POST_PROCESSING_V2 +using UnityEngine; +using UnityEditor; +using UnityEngine.Rendering.PostProcessing; +using UnityEditor.Rendering.PostProcessing; +using System.Collections.Generic; +#endif + +namespace Cinemachine.PostFX.Editor +{ +#if CINEMACHINE_POST_PROCESSING_V2 + [CustomEditor(typeof(CinemachinePostProcessing))] + public sealed class CinemachinePostProcessingEditor : Cinemachine.Editor.BaseEditor + { + SerializedProperty m_Profile; + SerializedProperty m_FocusTracking; + + EffectListEditor m_EffectList; + GUIContent m_ProfileLabel; + + void OnEnable() + { + Texture texture = AssetDatabase.LoadAssetAtPath( + Cinemachine.Editor.ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/PostProcessLayer.png"); + m_ProfileLabel = new GUIContent("Profile", texture, "A reference to a profile asset"); + + m_FocusTracking = FindProperty(x => x.m_FocusTracking); + m_Profile = FindProperty(x => x.m_Profile); + + m_EffectList = new EffectListEditor(this); + RefreshEffectListEditor(Target.m_Profile); + } + + void OnDisable() + { + if (m_EffectList != null) + m_EffectList.Clear(); + } + + void RefreshEffectListEditor(PostProcessProfile asset) + { + if (m_EffectList == null) + m_EffectList = new EffectListEditor(this); + m_EffectList.Clear(); + if (asset != null) + m_EffectList.Init(asset, new SerializedObject(asset)); + } + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + var mode = (CinemachinePostProcessing.FocusTrackingMode)m_FocusTracking.intValue; + if (mode != CinemachinePostProcessing.FocusTrackingMode.CustomTarget) + excluded.Add(FieldPath(x => x.m_FocusTarget)); + if (mode == CinemachinePostProcessing.FocusTrackingMode.None) + excluded.Add(FieldPath(x => x.m_FocusOffset)); + excluded.Add(FieldPath(x => x.m_Profile)); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + DrawRemainingPropertiesInInspector(); + + var focusMode = (CinemachinePostProcessing.FocusTrackingMode)m_FocusTracking.intValue; + if (focusMode != CinemachinePostProcessing.FocusTrackingMode.None) + { + bool valid = false; + DepthOfField dof; + if (Target.m_Profile != null && Target.m_Profile.TryGetSettings(out dof)) + valid = dof.enabled && dof.active && dof.focusDistance.overrideState; + if (!valid) + EditorGUILayout.HelpBox( + "Focus Tracking requires an active DepthOfField/FocusDistance effect in the profile", + MessageType.Warning); + } + + EditorGUI.BeginChangeCheck(); + DrawProfileInspectorGUI(); + if (EditorGUI.EndChangeCheck()) + { + Target.InvalidateCachedProfile(); + serializedObject.ApplyModifiedProperties(); + } + } + + void DrawProfileInspectorGUI() + { + EditorGUILayout.Space(); + + bool assetHasChanged = false; + bool showCopy = m_Profile.objectReferenceValue != null; + + // The layout system sort of break alignement when mixing inspector fields with custom + // layouted fields, do the layout manually instead + int buttonWidth = showCopy ? 45 : 60; + float indentOffset = EditorGUI.indentLevel * 15f; + var lineRect = GUILayoutUtility.GetRect(1, EditorGUIUtility.singleLineHeight); + var labelRect = new Rect(lineRect.x, lineRect.y, EditorGUIUtility.labelWidth - indentOffset, lineRect.height); + var fieldRect = new Rect(labelRect.xMax, lineRect.y, lineRect.width - labelRect.width - buttonWidth * (showCopy ? 2 : 1), lineRect.height); + var buttonNewRect = new Rect(fieldRect.xMax, lineRect.y, buttonWidth, lineRect.height); + var buttonCopyRect = new Rect(buttonNewRect.xMax, lineRect.y, buttonWidth, lineRect.height); + + EditorGUI.PrefixLabel(labelRect, m_ProfileLabel); + + using (var scope = new EditorGUI.ChangeCheckScope()) + { + m_Profile.objectReferenceValue + = (PostProcessProfile)EditorGUI.ObjectField( + fieldRect, m_Profile.objectReferenceValue, typeof(PostProcessProfile), false); + assetHasChanged = scope.changed; + } + + if (GUI.Button( + buttonNewRect, + EditorUtilities.GetContent("New|Create a new profile."), + showCopy ? EditorStyles.miniButtonLeft : EditorStyles.miniButton)) + { + // By default, try to put assets in a folder next to the currently active + // scene file. If the user isn't a scene, put them in root instead. + var targetName = Target.name; + var scene = Target.gameObject.scene; + var asset = CreatePostProcessProfile(scene, targetName); + m_Profile.objectReferenceValue = asset; + assetHasChanged = true; + } + + if (showCopy && GUI.Button( + buttonCopyRect, + EditorUtilities.GetContent("Clone|Create a new profile and copy the content of the currently assigned profile."), + EditorStyles.miniButtonRight)) + { + // Duplicate the currently assigned profile and save it as a new profile + var origin = (PostProcessProfile)m_Profile.objectReferenceValue; + var path = AssetDatabase.GetAssetPath(origin); + path = AssetDatabase.GenerateUniqueAssetPath(path); + + var asset = Instantiate(origin); + asset.settings.Clear(); + AssetDatabase.CreateAsset(asset, path); + + foreach (var item in origin.settings) + { + var itemCopy = Instantiate(item); + itemCopy.hideFlags = HideFlags.HideInInspector | HideFlags.HideInHierarchy; + itemCopy.name = item.name; + asset.settings.Add(itemCopy); + AssetDatabase.AddObjectToAsset(itemCopy, asset); + } + + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + + m_Profile.objectReferenceValue = asset; + assetHasChanged = true; + } + + if (m_Profile.objectReferenceValue == null) + { + if (assetHasChanged && m_EffectList != null) + m_EffectList.Clear(); // Asset wasn't null before, do some cleanup + + EditorGUILayout.HelpBox( + "Assign an existing Post-process Profile by choosing an asset, or create a new one by " + + "clicking the \"New\" button.\nNew assets are automatically put in a folder next " + + "to your scene file. If your scene hasn't been saved yet they will be created " + + "at the root of the Assets folder.", + MessageType.Info); + } + else + { + if (assetHasChanged) + RefreshEffectListEditor((PostProcessProfile)m_Profile.objectReferenceValue); + if (m_EffectList != null) + m_EffectList.OnGUI(); + } + } + + // Copied from UnityEditor.Rendering.PostProcessing.ProfileFactory.CreatePostProcessProfile() because it's internal + static PostProcessProfile CreatePostProcessProfile(UnityEngine.SceneManagement.Scene scene, string targetName) + { + var path = string.Empty; + + if (string.IsNullOrEmpty(scene.path)) + { + path = "Assets/"; + } + else + { + var scenePath = System.IO.Path.GetDirectoryName(scene.path); + var extPath = scene.name + "_Profiles"; + var profilePath = scenePath + "/" + extPath; + + if (!AssetDatabase.IsValidFolder(profilePath)) + AssetDatabase.CreateFolder(scenePath, extPath); + + path = profilePath + "/"; + } + + path += targetName + " Profile.asset"; + path = AssetDatabase.GenerateUniqueAssetPath(path); + + var profile = ScriptableObject.CreateInstance(); + AssetDatabase.CreateAsset(profile, path); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + return profile; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachinePostProcessingEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachinePostProcessingEditor.cs.meta new file mode 100644 index 00000000..2aa22f8d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachinePostProcessingEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dec69862942cc9744ade63216979cafd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachineVolumeSettingsEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachineVolumeSettingsEditor.cs new file mode 100644 index 00000000..efcdea83 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachineVolumeSettingsEditor.cs @@ -0,0 +1,239 @@ +#if CINEMACHINE_HDRP + using UnityEngine; + using UnityEditor; + using UnityEngine.Rendering; + using UnityEditor.Rendering; + using System.Collections.Generic; + #if CINEMACHINE_HDRP_7_3_1 + using UnityEngine.Rendering.HighDefinition; + #else + using UnityEngine.Experimental.Rendering.HDPipeline; + #endif +#elif CINEMACHINE_LWRP_7_3_1 + using UnityEngine; + using UnityEditor; + using UnityEngine.Rendering; + using UnityEditor.Rendering; + using System.Collections.Generic; + using UnityEngine.Rendering.Universal; +#endif + +namespace Cinemachine.PostFX.Editor +{ +#if CINEMACHINE_HDRP || CINEMACHINE_LWRP_7_3_1 + [CustomEditor(typeof(CinemachineVolumeSettings))] + public sealed class CinemachineVolumeSettingsEditor : Cinemachine.Editor.BaseEditor + { + SerializedProperty m_Profile; + SerializedProperty m_FocusTracking; + + VolumeComponentListEditor m_ComponentList; + + GUIContent m_ProfileLabel; + GUIContent m_NewLabel; + GUIContent m_CloneLabel; + + void OnEnable() + { + m_ProfileLabel = new GUIContent("Profile", "A reference to a profile asset"); + m_NewLabel = new GUIContent("New", "Create a new profile."); + m_CloneLabel = new GUIContent("Clone", "Create a new profile and copy the content of the currently assigned profile."); + + m_FocusTracking = FindProperty(x => x.m_FocusTracking); + m_Profile = FindProperty(x => x.m_Profile); + + RefreshVolumeComponentEditor(Target.m_Profile); + } + + void OnDisable() + { + if (m_ComponentList != null) + m_ComponentList.Clear(); + } + + void RefreshVolumeComponentEditor(VolumeProfile asset) + { + if (m_ComponentList == null) + m_ComponentList = new VolumeComponentListEditor(this); + m_ComponentList.Clear(); + if (asset != null) + m_ComponentList.Init(asset, new SerializedObject(asset)); + } + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + var mode = (CinemachineVolumeSettings.FocusTrackingMode)m_FocusTracking.intValue; + if (mode != CinemachineVolumeSettings.FocusTrackingMode.CustomTarget) + excluded.Add(FieldPath(x => x.m_FocusTarget)); + if (mode == CinemachineVolumeSettings.FocusTrackingMode.None) + excluded.Add(FieldPath(x => x.m_FocusOffset)); + excluded.Add(FieldPath(x => x.m_Profile)); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + + var focusMode = (CinemachineVolumeSettings.FocusTrackingMode)m_FocusTracking.intValue; + if (focusMode != CinemachineVolumeSettings.FocusTrackingMode.None) + { + bool valid = false; + DepthOfField dof; + if (Target.m_Profile != null && Target.m_Profile.TryGet(out dof)) +#if CINEMACHINE_LWRP_7_3_1 && !CINEMACHINE_HDRP + { + valid = dof.active && dof.focusDistance.overrideState + && dof.mode.overrideState && dof.mode == DepthOfFieldMode.Bokeh; + } + if (!valid) + EditorGUILayout.HelpBox( + "Focus Tracking requires an active Depth Of Field override in the profile " + + "with Focus Distance activated and Mode activated and set to Bokeh", + MessageType.Warning); +#else + { + valid = dof.active && dof.focusDistance.overrideState + && dof.focusMode.overrideState && dof.focusMode == DepthOfFieldMode.UsePhysicalCamera; + } + if (!valid) + EditorGUILayout.HelpBox( + "Focus Tracking requires an active Depth Of Field override in the profile " + + "with Focus Distance activated and Focus Mode activated and set to Use Physical Camera", + MessageType.Warning); +#endif + } + + DrawRemainingPropertiesInInspector(); + + EditorGUI.BeginChangeCheck(); + DrawProfileInspectorGUI(); + if (EditorGUI.EndChangeCheck()) + { + Target.InvalidateCachedProfile(); + serializedObject.ApplyModifiedProperties(); + } + } + + void DrawProfileInspectorGUI() + { + EditorGUILayout.Space(); + + bool assetHasChanged = false; + bool showCopy = m_Profile.objectReferenceValue != null; + + // The layout system sort of break alignement when mixing inspector fields with custom + // layouted fields, do the layout manually instead + int buttonWidth = showCopy ? 45 : 60; + float indentOffset = EditorGUI.indentLevel * 15f; + var lineRect = GUILayoutUtility.GetRect(1, EditorGUIUtility.singleLineHeight); + var labelRect = new Rect(lineRect.x, lineRect.y, EditorGUIUtility.labelWidth - indentOffset, lineRect.height); + var fieldRect = new Rect(labelRect.xMax, lineRect.y, lineRect.width - labelRect.width - buttonWidth * (showCopy ? 2 : 1), lineRect.height); + var buttonNewRect = new Rect(fieldRect.xMax, lineRect.y, buttonWidth, lineRect.height); + var buttonCopyRect = new Rect(buttonNewRect.xMax, lineRect.y, buttonWidth, lineRect.height); + + EditorGUI.PrefixLabel(labelRect, m_ProfileLabel); + + using (var scope = new EditorGUI.ChangeCheckScope()) + { + m_Profile.objectReferenceValue + = (VolumeProfile)EditorGUI.ObjectField( + fieldRect, m_Profile.objectReferenceValue, typeof(VolumeProfile), false); + assetHasChanged = scope.changed; + } + + if (GUI.Button(buttonNewRect, m_NewLabel, + showCopy ? EditorStyles.miniButtonLeft : EditorStyles.miniButton)) + { + // By default, try to put assets in a folder next to the currently active + // scene file. If the user isn't a scene, put them in root instead. + var targetName = Target.name; + var scene = Target.gameObject.scene; + var asset = CreateVolumeProfile(scene, targetName); + m_Profile.objectReferenceValue = asset; + assetHasChanged = true; + } + + if (showCopy && GUI.Button(buttonCopyRect, m_CloneLabel, EditorStyles.miniButtonRight)) + { + // Duplicate the currently assigned profile and save it as a new profile + var origin = (VolumeProfile)m_Profile.objectReferenceValue; + var path = AssetDatabase.GetAssetPath(origin); + path = AssetDatabase.GenerateUniqueAssetPath(path); + + var asset = Instantiate(origin); + asset.components.Clear(); + AssetDatabase.CreateAsset(asset, path); + + foreach (var item in origin.components) + { + var itemCopy = Instantiate(item); + itemCopy.hideFlags = HideFlags.HideInInspector | HideFlags.HideInHierarchy; + itemCopy.name = item.name; + asset.components.Add(itemCopy); + AssetDatabase.AddObjectToAsset(itemCopy, asset); + } + + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + + m_Profile.objectReferenceValue = asset; + assetHasChanged = true; + } + + if (m_Profile.objectReferenceValue == null) + { + if (assetHasChanged && m_ComponentList != null) + m_ComponentList.Clear(); // Asset wasn't null before, do some cleanup + + EditorGUILayout.HelpBox( + "Assign an existing Volume Profile by choosing an asset, or create a new one by clicking the \"New\" button.\n" + + "New assets are automatically put in a folder next to your scene file. If your scene hasn't " + + "been saved yet they will be created at the root of the Assets folder.", + MessageType.Info); + } + else + { + EditorGUILayout.Space(); + if (assetHasChanged) + RefreshVolumeComponentEditor((VolumeProfile)m_Profile.objectReferenceValue); + if (m_ComponentList != null) + m_ComponentList.OnGUI(); + } + } + + // Copied from UnityEditor.Rendering.PostProcessing.ProfileFactory.CreateVolumeProfile() because it's internal + static VolumeProfile CreateVolumeProfile(UnityEngine.SceneManagement.Scene scene, string targetName) + { + var path = string.Empty; + + if (string.IsNullOrEmpty(scene.path)) + { + path = "Assets/"; + } + else + { + var scenePath = System.IO.Path.GetDirectoryName(scene.path); + var extPath = scene.name + "_Profiles"; + var profilePath = scenePath + "/" + extPath; + + if (!AssetDatabase.IsValidFolder(profilePath)) + AssetDatabase.CreateFolder(scenePath, extPath); + + path = profilePath + "/"; + } + + path += targetName + " Profile.asset"; + path = AssetDatabase.GenerateUniqueAssetPath(path); + + var profile = ScriptableObject.CreateInstance(); + AssetDatabase.CreateAsset(profile, path); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + return profile; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachineVolumeSettingsEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachineVolumeSettingsEditor.cs.meta new file mode 100644 index 00000000..35648fa0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PostProcessing/CinemachineVolumeSettingsEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12a60b3365a7d424cbc3f935bd1ed799 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers.meta new file mode 100644 index 00000000..9fc4f1f0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 31c3ab7d86d07034eb528155d40c016b +folderAsset: yes +timeCreated: 1489096338 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/AxisStatePropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/AxisStatePropertyDrawer.cs new file mode 100644 index 00000000..e0c66fd8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/AxisStatePropertyDrawer.cs @@ -0,0 +1,129 @@ +using UnityEngine; +using UnityEditor; +using System.Reflection; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(AxisStatePropertyAttribute))] + internal sealed class AxisStatePropertyDrawer : PropertyDrawer + { + const int vSpace = 2; + bool mExpanded = true; + AxisState def = new AxisState(); // to access name strings + + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + float height = EditorGUIUtility.singleLineHeight; + rect.height = height; + mExpanded = EditorGUI.Foldout(rect, mExpanded, EditorGUI.BeginProperty(rect, label, property), true); + if (mExpanded) + { + ++EditorGUI.indentLevel; + + rect.y += height + vSpace; + EditorGUI.PropertyField(rect, property.FindPropertyRelative(() => def.Value)); + + if (!ValueRangeIsLocked(property)) + { + rect.y += height + vSpace; + InspectorUtility.MultiPropertyOnLine(rect, new GUIContent("Value Range"), + new [] { property.FindPropertyRelative(() => def.m_MinValue), + property.FindPropertyRelative(() => def.m_MaxValue), + property.FindPropertyRelative(() => def.m_Wrap) }, + new [] { GUIContent.none, new GUIContent("to "), null }); + } + + rect.y += height + vSpace; + InspectorUtility.MultiPropertyOnLine(rect, new GUIContent("Speed"), + new [] { property.FindPropertyRelative(() => def.m_MaxSpeed), + property.FindPropertyRelative(() => def.m_SpeedMode) }, + new [] { GUIContent.none, new GUIContent("as") }); + + rect.y += height + vSpace; + InspectorUtility.MultiPropertyOnLine( + rect, null, + new [] { property.FindPropertyRelative(() => def.m_AccelTime), + property.FindPropertyRelative(() => def.m_DecelTime)}, + new [] { GUIContent.none, null }); + + if (HasRecentering(property)) + { + var rDef = new AxisState.Recentering(); + var recentering = property.FindPropertyRelative(() => def.m_Recentering); + rect.y += height + vSpace; + InspectorUtility.MultiPropertyOnLine( + rect, new GUIContent(recentering.displayName, recentering.tooltip), + new [] { + recentering.FindPropertyRelative(() => rDef.m_enabled), + recentering.FindPropertyRelative(() => rDef.m_WaitTime), + recentering.FindPropertyRelative(() => rDef.m_RecenteringTime)}, + new [] { new GUIContent(""), + new GUIContent("Wait"), + new GUIContent("Time")} ); + } + + if (!HasInputProvider(property)) + { + rect.y += height + vSpace; + EditorGUI.PropertyField( + rect, property.FindPropertyRelative(() => def.m_InputAxisName)); + } + + rect.y += height + vSpace; + InspectorUtility.MultiPropertyOnLine(rect, null, + new [] { property.FindPropertyRelative(() => def.m_InputAxisValue), + property.FindPropertyRelative(() => def.m_InvertInput) }, + new [] { GUIContent.none, new GUIContent("Invert") }); + + --EditorGUI.indentLevel; + } + } + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + float height = EditorGUIUtility.singleLineHeight + vSpace; + if (mExpanded) + { + int lines = 5; + if (!ValueRangeIsLocked(property)) + ++lines; + if (!HasInputProvider(property)) + ++lines; + if (HasRecentering(property)) + ++lines; + height *= lines; + } + return height - vSpace; + } + + bool ValueRangeIsLocked(SerializedProperty property) + { + bool value = false; + PropertyInfo pi = typeof(AxisState).GetProperty( + "ValueRangeLocked", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + if (pi != null) + value = bool.Equals(true, pi.GetValue(SerializedPropertyHelper.GetPropertyValue(property), null)); + return value; + } + + bool HasRecentering(SerializedProperty property) + { + bool value = false; + PropertyInfo pi = typeof(AxisState).GetProperty( + "HasRecentering", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + if (pi != null) + value = bool.Equals(true, pi.GetValue(SerializedPropertyHelper.GetPropertyValue(property), null)); + return value; + } + + bool HasInputProvider(SerializedProperty property) + { + bool value = false; + PropertyInfo pi = typeof(AxisState).GetProperty( + "HasInputProvider", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + if (pi != null) + value = bool.Equals(true, pi.GetValue(SerializedPropertyHelper.GetPropertyValue(property), null)); + return value; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/AxisStatePropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/AxisStatePropertyDrawer.cs.meta new file mode 100644 index 00000000..61211e0d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/AxisStatePropertyDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 70f1be76e10cd9f44ad1a86b9e05745e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineBlendDefinitionPropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineBlendDefinitionPropertyDrawer.cs new file mode 100644 index 00000000..e3fc557c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineBlendDefinitionPropertyDrawer.cs @@ -0,0 +1,56 @@ +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(CinemachineBlendDefinitionPropertyAttribute))] + internal sealed class CinemachineBlendDefinitionPropertyDrawer : PropertyDrawer + { + CinemachineBlendDefinition myClass = new CinemachineBlendDefinition(); // to access name strings + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + float vSpace = 0; + float floatFieldWidth = EditorGUIUtility.singleLineHeight * 2.5f; + + SerializedProperty timeProp = property.FindPropertyRelative(() => myClass.m_Time); + GUIContent timeText = new GUIContent(" s", timeProp.tooltip); + var textDimensions = GUI.skin.label.CalcSize(timeText); + + rect = EditorGUI.PrefixLabel(rect, EditorGUI.BeginProperty(rect, label, property)); + + rect.y += vSpace; rect.height = EditorGUIUtility.singleLineHeight; + rect.width -= floatFieldWidth + textDimensions.x; + + SerializedProperty styleProp = property.FindPropertyRelative(() => myClass.m_Style); + bool isCustom = styleProp.enumValueIndex == (int)CinemachineBlendDefinition.Style.Custom; + var r = rect; + if (isCustom) + r.width -= 2 * r.height; + EditorGUI.PropertyField(r, styleProp, GUIContent.none); + if (isCustom) + { + SerializedProperty curveProp = property.FindPropertyRelative(() => myClass.m_CustomCurve); + r.x += r.width; + r.width = 2 * rect.height; + EditorGUI.BeginChangeCheck(); + EditorGUI.PropertyField(r, curveProp, GUIContent.none); + if (EditorGUI.EndChangeCheck()) + { + curveProp.animationCurveValue = InspectorUtility.NormalizeCurve(curveProp.animationCurveValue); + curveProp.serializedObject.ApplyModifiedProperties(); + } + } + if (styleProp.intValue != (int)CinemachineBlendDefinition.Style.Cut) + { + float oldWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = textDimensions.x; + rect.x += rect.width; rect.width = floatFieldWidth + EditorGUIUtility.labelWidth; + EditorGUI.BeginChangeCheck(); + EditorGUI.PropertyField(rect, timeProp, timeText); + if (EditorGUI.EndChangeCheck()) + timeProp.floatValue = Mathf.Max(timeProp.floatValue, 0); + EditorGUIUtility.labelWidth = oldWidth; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineBlendDefinitionPropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineBlendDefinitionPropertyDrawer.cs.meta new file mode 100644 index 00000000..8fd01b69 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineBlendDefinitionPropertyDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4a9c464b0191f7d4da1d129d97d8240b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineTagFieldPropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineTagFieldPropertyDrawer.cs new file mode 100644 index 00000000..9617e47b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineTagFieldPropertyDrawer.cs @@ -0,0 +1,34 @@ +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(TagFieldAttribute))] + internal sealed class CinemachineTagFieldPropertyDrawer : PropertyDrawer + { + const float hSpace = 2; + private string tagValue = ""; + GUIContent clearText = new GUIContent("Clear", "Set the tag to empty"); + + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + var textDimensions = GUI.skin.button.CalcSize(clearText); + + rect.width -= textDimensions.x + hSpace; + + tagValue = property.stringValue; + EditorGUI.showMixedValue = property.hasMultipleDifferentValues; + EditorGUI.BeginChangeCheck(); + tagValue = EditorGUI.TagField(rect, EditorGUI.BeginProperty(rect, label, property), tagValue); + if (EditorGUI.EndChangeCheck()) + property.stringValue = tagValue; + EditorGUI.showMixedValue = false; + + rect.x += rect.width + hSpace; rect.width = textDimensions.x; rect.height -=1; + GUI.enabled = tagValue.Length > 0; + if (GUI.Button(rect, clearText)) + property.stringValue = string.Empty; + GUI.enabled = true; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineTagFieldPropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineTagFieldPropertyDrawer.cs.meta new file mode 100644 index 00000000..07c81b25 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/CinemachineTagFieldPropertyDrawer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ed3efd28525441947b55ec9b5d68ba31 +timeCreated: 1510677929 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/EmbeddedAssetPropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/EmbeddedAssetPropertyDrawer.cs new file mode 100644 index 00000000..2a78b74e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/EmbeddedAssetPropertyDrawer.cs @@ -0,0 +1,280 @@ +using UnityEngine; +using UnityEditor; +using System; +using Cinemachine.Utility; +using System.Linq; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(CinemachineEmbeddedAssetPropertyAttribute))] + internal sealed class EmbeddedAssetPropertyDrawer : PropertyDrawer + { + const float vSpace = 2; + const float kIndentAmount = 15; + const float kBoxMargin = 3; + float HelpBoxHeight { get { return EditorGUIUtility.singleLineHeight * 2.5f; } } + bool mExpanded = false; + + bool WarnIfNull + { + get + { + var attr = attribute as CinemachineEmbeddedAssetPropertyAttribute; + return attr == null ? false : attr.WarnIfNull; + } + } + + float HeaderHeight { get { return EditorGUIUtility.singleLineHeight * 1.5f; } } + float DrawHeader(Rect rect, string text) + { + float delta = HeaderHeight - EditorGUIUtility.singleLineHeight; + rect.y += delta; rect.height -= delta; + EditorGUI.LabelField(rect, new GUIContent(text), EditorStyles.boldLabel); + return HeaderHeight; + } + + string HeaderText(SerializedProperty property) + { + var attrs = property.serializedObject.targetObject.GetType() + .GetCustomAttributes(typeof(HeaderAttribute), false); + if (attrs != null && attrs.Length > 0) + return ((HeaderAttribute)attrs[0]).header; + return null; + } + + bool AssetHasCustomEditor(SerializedProperty property) + { + ScriptableObject asset = property.objectReferenceValue as ScriptableObject; + if (asset != null) + return ActiveEditorTracker.HasCustomEditor(asset); + return false; + } + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + bool hasCustomEditor = AssetHasCustomEditor(property); + float height = base.GetPropertyHeight(property, label); + height += + 2 * (kBoxMargin + vSpace); + if (mExpanded && !hasCustomEditor) + { + height += HelpBoxHeight + kBoxMargin; + ScriptableObject asset = property.objectReferenceValue as ScriptableObject; + if (asset != null) + { + SerializedObject so = new SerializedObject(asset); + var prop = so.GetIterator(); + prop.NextVisible(true); + do + { + if (prop.name == "m_Script") + continue; + string header = HeaderText(prop); + if (header != null) + height += HeaderHeight + vSpace; + height += EditorGUI.GetPropertyHeight(prop, false) + vSpace; + } + while (prop.NextVisible(prop.isExpanded)); + height += kBoxMargin; + } + } + return height; + } + + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + bool hasCustomEditor = AssetHasCustomEditor(property); + rect.y += vSpace; rect.height -= 2 * vSpace; + GUI.Box(rect, GUIContent.none, GUI.skin.box); + rect.y += kBoxMargin; + + rect.height = EditorGUIUtility.singleLineHeight; + EditorGUIUtility.labelWidth -= kBoxMargin; + AssetFieldWithCreateButton( + new Rect(rect.x + kBoxMargin, rect.y, rect.width - 2 * kBoxMargin, rect.height), + property, WarnIfNull, + property.serializedObject.targetObject.name + " " + label.text); + + ScriptableObject asset = property.objectReferenceValue as ScriptableObject; + if (asset != null && !hasCustomEditor) + { + mExpanded = EditorGUI.Foldout(rect, mExpanded, GUIContent.none, true); + if (mExpanded) + { + rect.y += rect.height + kBoxMargin + vSpace; + rect.x += kIndentAmount + kBoxMargin; + rect.width -= kIndentAmount + 2 * kBoxMargin; + EditorGUIUtility.labelWidth -= kIndentAmount; + + EditorGUI.HelpBox( + new Rect(rect.x, rect.y, rect.width, HelpBoxHeight), + "This is a shared asset.\n" + + "Changes made here will apply to all users of this asset", + MessageType.Info); + + rect.y += HelpBoxHeight + kBoxMargin; + SerializedObject so = new SerializedObject(property.objectReferenceValue); + var prop = so.GetIterator(); + prop.NextVisible(true); + + var indent = EditorGUI.indentLevel; + do + { + if (prop.name == "m_Script") + continue; + string header = HeaderText(prop); + if (header != null) + { + DrawHeader(rect, header); + rect.y += HeaderHeight + vSpace; + rect.height -= HeaderHeight + vSpace; + } + rect.height = EditorGUI.GetPropertyHeight(prop, false); + EditorGUI.indentLevel = indent + prop.depth; + EditorGUI.PropertyField(rect, prop); + rect.y += rect.height + vSpace; + } while (prop.NextVisible(prop.isExpanded)); + + if (GUI.changed) + so.ApplyModifiedProperties(); + } + EditorGUIUtility.labelWidth += kIndentAmount; + } + EditorGUIUtility.labelWidth += kBoxMargin; + } + + Type EmbeddedAssetType(SerializedProperty property) + { + Type type = property.serializedObject.targetObject.GetType(); + var a = property.propertyPath.Split('.'); + for (int i = 0; i < a.Length; ++i) + { + var field = type.GetField(a[i], + System.Reflection.BindingFlags.Public + | System.Reflection.BindingFlags.NonPublic + | System.Reflection.BindingFlags.Instance); + if (field == null) continue; + type = field.FieldType; + } + return type; + } + + Type[] mAssetTypes = null; + List mAssetPresets; + GUIContent[] mAssetPresetNames; + + void RebuildPresetList() + { + if (mAssetPresets != null && mAssetPresetNames != null) + return; + + mAssetPresets = new List(); + if (mAssetTypes != null) + { + for (int i = 0; i < mAssetTypes.Length; ++i) + InspectorUtility.AddAssetsFromPackageSubDirectory( + mAssetTypes[i], mAssetPresets, "Presets/Noise"); + } + List presetNameList = new List(); + foreach (var n in mAssetPresets) + presetNameList.Add(new GUIContent("Presets/" + n.name)); + mAssetPresetNames = presetNameList.ToArray(); + } + + void AssetFieldWithCreateButton( + Rect r, SerializedProperty property, bool warnIfNull, string defaultName) + { + // Collect all the eligible asset types + Type type = EmbeddedAssetType(property); + if (mAssetTypes == null) + mAssetTypes = ReflectionHelpers.GetTypesInAllDependentAssemblies( + (Type t) => type.IsAssignableFrom(t) && !t.IsAbstract).ToArray(); + + float iconSize = r.height + 4; + r.width -= iconSize; + + GUIContent label = new GUIContent(property.displayName, property.tooltip); + if (warnIfNull && property.objectReferenceValue == null) + label.image = EditorGUIUtility.IconContent("console.warnicon.sml").image; + EditorGUI.PropertyField(r, property, label); + + r.x += r.width; r.width = iconSize; r.height = iconSize; + if (GUI.Button(r, EditorGUIUtility.IconContent("_Popup"), GUI.skin.label)) + { + GenericMenu menu = new GenericMenu(); + if (property.objectReferenceValue != null) + { + menu.AddItem(new GUIContent("Edit"), false, () + => Selection.activeObject = property.objectReferenceValue); + menu.AddItem(new GUIContent("Clone"), false, () => + { + ScriptableObject copyFrom = property.objectReferenceValue as ScriptableObject; + if (copyFrom != null) + { + string title = "Create New " + copyFrom.GetType().Name + " asset"; + ScriptableObject asset = CreateAsset( + copyFrom.GetType(), copyFrom, defaultName, title); + if (asset != null) + { + property.objectReferenceValue = asset; + property.serializedObject.ApplyModifiedProperties(); + } + } + }); + menu.AddItem(new GUIContent("Locate"), false, () + => EditorGUIUtility.PingObject(property.objectReferenceValue)); + } + + RebuildPresetList(); + int i = 0; + foreach (var a in mAssetPresets) + { + menu.AddItem(mAssetPresetNames[i++], false, () => + { + property.objectReferenceValue = a; + property.serializedObject.ApplyModifiedProperties(); + }); + } + + foreach (var t in mAssetTypes) + { + menu.AddItem(new GUIContent("New " + InspectorUtility.NicifyClassName(t.Name)), false, () => + { + string title = "Create New " + t.Name + " asset"; + ScriptableObject asset = CreateAsset(t, null, defaultName, title); + if (asset != null) + { + property.objectReferenceValue = asset; + property.serializedObject.ApplyModifiedProperties(); + } + }); + } + menu.ShowAsContext(); + } + } + + ScriptableObject CreateAsset( + Type assetType, ScriptableObject copyFrom, string defaultName, string dialogTitle) + { + ScriptableObject asset = null; + string path = EditorUtility.SaveFilePanelInProject( + dialogTitle, defaultName, "asset", string.Empty); + if (!string.IsNullOrEmpty(path)) + { + if (copyFrom != null) + { + string fromPath = AssetDatabase.GetAssetPath(copyFrom); + if (AssetDatabase.CopyAsset(fromPath, path)) + asset = AssetDatabase.LoadAssetAtPath(path, assetType) as ScriptableObject; + } + else + { + asset = ScriptableObjectUtility.CreateAt(assetType, path); + } + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + return asset; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/EmbeddedAssetPropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/EmbeddedAssetPropertyDrawer.cs.meta new file mode 100644 index 00000000..d436a2c2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/EmbeddedAssetPropertyDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57baee20e53f7b54782519af44a9468f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/NoiseSettingsPropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/NoiseSettingsPropertyDrawer.cs new file mode 100644 index 00000000..3d0442e5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/NoiseSettingsPropertyDrawer.cs @@ -0,0 +1,137 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(NoiseSettingsPropertyAttribute))] + internal sealed class NoiseSettingsPropertyDrawer : PropertyDrawer + { + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + RebuildProfileList(); + + float iconSize = rect.height + 4; + rect.width -= iconSize; + int preset = sNoisePresets.IndexOf((NoiseSettings)property.objectReferenceValue); + EditorGUI.showMixedValue = property.hasMultipleDifferentValues; + preset = EditorGUI.Popup(rect, EditorGUI.BeginProperty(rect, label, property), preset, sNoisePresetNames); + EditorGUI.showMixedValue = false; + string labelText = label.text; + NoiseSettings newProfile = preset < 0 ? null : sNoisePresets[preset] as NoiseSettings; + if ((NoiseSettings)property.objectReferenceValue != newProfile) + { + property.objectReferenceValue = newProfile; + property.serializedObject.ApplyModifiedProperties(); + } + rect.x += rect.width; rect.width = iconSize; rect.height = iconSize; rect.y -= 2; + if (GUI.Button(rect, EditorGUIUtility.IconContent("_Popup"), GUI.skin.label)) + { + GenericMenu menu = new GenericMenu(); + if (property.objectReferenceValue != null) + { + menu.AddItem(new GUIContent("Edit"), false, () + => Selection.activeObject = property.objectReferenceValue); + menu.AddItem(new GUIContent("Clone"), false, () => + { + NoiseSettings pp = CreateProfile( + property, labelText, + (NoiseSettings)property.objectReferenceValue); + if (pp != null) + { + property.objectReferenceValue = pp; + property.serializedObject.ApplyModifiedProperties(); + InvalidateProfileList(); + } + }); + menu.AddItem(new GUIContent("Locate"), false, () + => EditorGUIUtility.PingObject(property.objectReferenceValue)); + } + menu.AddItem(new GUIContent("New"), false, () => + { + //Undo.RecordObject(Target, "Change Noise Profile"); + NoiseSettings pp = CreateProfile(property, labelText, null); + if (pp != null) + { + property.objectReferenceValue = pp; + property.serializedObject.ApplyModifiedProperties(); + InvalidateProfileList(); + } + }); + menu.ShowAsContext(); + } + } + + static List sNoisePresets; + static GUIContent[] sNoisePresetNames; + static float sLastPresetRebuildTime = 0; + + public static void InvalidateProfileList() + { + sNoisePresets = null; + sNoisePresetNames = null; + } + + static void RebuildProfileList() + { + if (sLastPresetRebuildTime < Time.realtimeSinceStartup - 5) + InvalidateProfileList(); + if (sNoisePresets != null && sNoisePresetNames != null) + return; + + sNoisePresets = FindAssetsByType(); + InspectorUtility.AddAssetsFromPackageSubDirectory( + typeof(NoiseSettings), sNoisePresets, "Presets/Noise"); + sNoisePresets.Insert(0, null); + List presetNameList = new List(); + foreach (var n in sNoisePresets) + presetNameList.Add(new GUIContent((n == null) ? "(none)" : n.name)); + sNoisePresetNames = presetNameList.ToArray(); + sLastPresetRebuildTime = Time.realtimeSinceStartup; + } + + static List FindAssetsByType() where T : UnityEngine.Object + { + List assets = new List(); + string[] guids = AssetDatabase.FindAssets(string.Format("t:{0}", typeof(T))); + for (int i = 0; i < guids.Length; i++) + { + string assetPath = AssetDatabase.GUIDToAssetPath(guids[i]); + ScriptableObject asset = AssetDatabase.LoadAssetAtPath(assetPath) as ScriptableObject; + if (asset != null) + assets.Add(asset); + } + return assets; + } + + NoiseSettings CreateProfile(SerializedProperty property, string label, NoiseSettings copyFrom) + { + string path = InspectorUtility.GetVirtualCameraObjectName(property) + " " + label; + path = EditorUtility.SaveFilePanelInProject( + "Create Noise Profile asset", path, "asset", + "This asset will generate a procedural noise signal"); + if (!string.IsNullOrEmpty(path)) + { + NoiseSettings profile = null; + if (copyFrom != null) + { + string fromPath = AssetDatabase.GetAssetPath(copyFrom); + if (AssetDatabase.CopyAsset(fromPath, path)) + { + profile = AssetDatabase.LoadAssetAtPath( + path, typeof(NoiseSettings)) as NoiseSettings; + } + } + else + { + profile = ScriptableObjectUtility.CreateAt( + typeof(NoiseSettings), path) as NoiseSettings; + } + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + return profile; + } + return null; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/NoiseSettingsPropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/NoiseSettingsPropertyDrawer.cs.meta new file mode 100644 index 00000000..d681282e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/NoiseSettingsPropertyDrawer.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 7d0d800d47186f0468d962ccf338ab97 +timeCreated: 1518034045 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/OrbitalTransposerHeadingPropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/OrbitalTransposerHeadingPropertyDrawer.cs new file mode 100644 index 00000000..031263ed --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/OrbitalTransposerHeadingPropertyDrawer.cs @@ -0,0 +1,55 @@ +using UnityEngine; +using UnityEditor; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(OrbitalTransposerHeadingPropertyAttribute))] + internal sealed class OrbitalTransposerHeadingPropertyDrawer : PropertyDrawer + { + const int vSpace = 2; + bool mExpanded = true; + CinemachineOrbitalTransposer.Heading def = new CinemachineOrbitalTransposer.Heading(); // to access name strings + + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + float height = EditorGUIUtility.singleLineHeight; + rect.height = height; + mExpanded = EditorGUI.Foldout(rect, mExpanded, EditorGUI.BeginProperty(rect, label, property), true); + if (mExpanded) + { + ++EditorGUI.indentLevel; + + rect.y += height + vSpace; + EditorGUI.PropertyField(rect, property.FindPropertyRelative(() => def.m_Definition)); + + if (IsVelocityMode(property)) + { + rect.y += height + vSpace; + EditorGUI.PropertyField(rect, property.FindPropertyRelative(() => def.m_VelocityFilterStrength)); + } + + rect.y += height + vSpace; + EditorGUI.PropertyField(rect, property.FindPropertyRelative(() => def.m_Bias)); + + --EditorGUI.indentLevel; + } + } + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + float height = EditorGUIUtility.singleLineHeight + vSpace; + if (mExpanded) + height *= IsVelocityMode(property) ? 4 : 3; + return height; + } + + bool IsVelocityMode(SerializedProperty property) + { + var mode = property.FindPropertyRelative(() => def.m_Definition); + var value = (CinemachineOrbitalTransposer.Heading.HeadingDefinition) + (System.Enum.GetValues(typeof(CinemachineOrbitalTransposer.Heading.HeadingDefinition))).GetValue(mode.enumValueIndex); + return value == CinemachineOrbitalTransposer.Heading.HeadingDefinition.Velocity + || value == CinemachineOrbitalTransposer.Heading.HeadingDefinition.PositionDelta; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/OrbitalTransposerHeadingPropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/OrbitalTransposerHeadingPropertyDrawer.cs.meta new file mode 100644 index 00000000..1c78da79 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/OrbitalTransposerHeadingPropertyDrawer.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: cd1b3b6848c215f4cba3ace2c38f9bce +timeCreated: 1514911474 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/VcamTargetPropertyDrawer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/VcamTargetPropertyDrawer.cs new file mode 100644 index 00000000..538b80ff --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/VcamTargetPropertyDrawer.cs @@ -0,0 +1,40 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; + +namespace Cinemachine.Editor +{ + [CustomPropertyDrawer(typeof(VcamTargetPropertyAttribute))] + internal sealed class VcamTargetPropertyDrawer : PropertyDrawer + { + public override void OnGUI(Rect rect, SerializedProperty property, GUIContent label) + { + const float hSpace = 2; + float iconSize = rect.height + 4; + rect.width -= iconSize + hSpace; + EditorGUI.PropertyField(rect, property, EditorGUI.BeginProperty(rect, label, property)); + rect.x += rect.width + hSpace; rect.width = iconSize; + + var oldEnabled = GUI.enabled; + var target = property.objectReferenceValue as Transform; + if (target == null || target.GetComponent() != null) + GUI.enabled = false; + if (GUI.Button(rect, EditorGUIUtility.IconContent("_Popup"), GUI.skin.label)) + { + GenericMenu menu = new GenericMenu(); + menu.AddItem(new GUIContent("Convert to TargetGroup"), false, () => + { + GameObject go = ObjectFactory.CreateGameObject("Target Group", typeof(CinemachineTargetGroup)); + var group = go.GetComponent(); + + group.m_RotationMode = CinemachineTargetGroup.RotationMode.GroupAverage; + group.AddMember(target, 1, 1); + property.objectReferenceValue = group.Transform; + property.serializedObject.ApplyModifiedProperties(); + }); + menu.ShowAsContext(); + } + GUI.enabled = oldEnabled; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/VcamTargetPropertyDrawer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/VcamTargetPropertyDrawer.cs.meta new file mode 100644 index 00000000..736b3dc0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/PropertyDrawers/VcamTargetPropertyDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4b0a256055e11cf4999a9ee9e8b0db2a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline.meta new file mode 100644 index 00000000..2290b0ad --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59bf6f737ca29494a8a074e4e7151fc3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotClipEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotClipEditor.cs new file mode 100644 index 00000000..0626db1a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotClipEditor.cs @@ -0,0 +1,139 @@ +#if !UNITY_2019_1_OR_NEWER +#define CINEMACHINE_TIMELINE +#endif + +#if CINEMACHINE_TIMELINE && UNITY_2019_2_OR_NEWER + +using UnityEngine.Timeline; +using UnityEditor.Timeline; +using Cinemachine; +using UnityEditor; +using UnityEngine; +using UnityEngine.Playables; + +[CustomTimelineEditor(typeof(CinemachineShot))] +public class CinemachineShotClipEditor : ClipEditor +{ + [InitializeOnLoad] + class EditorInitialize + { + static EditorInitialize() { CinemachineMixer.GetMasterPlayableDirector = GetMasterDirector; } + static PlayableDirector GetMasterDirector() { return TimelineEditor.masterDirector; } + } + public delegate double TimelineGlobalToLocalTimeDelegate(double globalTime); + public static TimelineGlobalToLocalTimeDelegate TimelineGlobalToLocalTime = DefaultTimeConversion; +#if CINEMACHINE_TIMELINE_1_5_0 + static double DefaultTimeConversion(double time) { return TimelineEditor.GetInspectedTimeFromMasterTime(time); } +#else + static double DefaultTimeConversion(double time) { return time; } +#endif + + public override ClipDrawOptions GetClipOptions(TimelineClip clip) + { + var shotClip = (CinemachineShot) clip.asset; + var clipOptions = base.GetClipOptions(clip); + if (shotClip != null) + { + var director = TimelineEditor.inspectedDirector; + if (director != null) + { + var vcam = shotClip.VirtualCamera.Resolve(director); + if (vcam == null) + clipOptions.errorText = "A virtual camera must be assigned"; + else + clipOptions.tooltip = vcam.Name; + + } + } + return clipOptions; + } + + public override void OnClipChanged(TimelineClip clip) + { + var shotClip = (CinemachineShot)clip.asset; + if (shotClip == null) + return; + if (shotClip.DisplayName != null && shotClip.DisplayName.Length != 0) + clip.displayName = shotClip.DisplayName; + else + { + var director = TimelineEditor.inspectedDirector; + if (director != null) + { + var vcam = shotClip.VirtualCamera.Resolve(director); + if (vcam != null) + clip.displayName = vcam.Name; + } + } + } + + public override void OnCreate(TimelineClip clip, TrackAsset track, TimelineClip clonedFrom) + { + base.OnCreate(clip, track, clonedFrom); + if (CinemachineShotEditor.AutoCreateShotFromSceneView) + { + var asset = clip.asset as CinemachineShot; + var vcam = CinemachineShotEditor.CreatePassiveVcamFromSceneView(); + var d = TimelineEditor.inspectedDirector; + if (d != null && d.GetReferenceValue(asset.VirtualCamera.exposedName, out bool idValid) == null) + { + asset.VirtualCamera.exposedName = System.Guid.NewGuid().ToString(); + d.SetReferenceValue(asset.VirtualCamera.exposedName, vcam); + } + } + } + + GUIContent kUndamped = new GUIContent("UNCACHED"); + + public override void DrawBackground(TimelineClip clip, ClipBackgroundRegion region) + { + base.DrawBackground(clip, region); + + if (Application.isPlaying || !TargetPositionCache.UseCache + || TargetPositionCache.CacheMode == TargetPositionCache.Mode.Disabled + || TimelineEditor.inspectedDirector == null) + { + return; + } + + // Draw the cache indicator over the cached region + var cacheRange = TargetPositionCache.CacheTimeRange; + if (!cacheRange.IsEmpty) + { + cacheRange.Start = (float)TimelineGlobalToLocalTime(cacheRange.Start); + cacheRange.End = (float)TimelineGlobalToLocalTime(cacheRange.End); + + // Clip cacheRange to rect + float start = (float)region.startTime; + float end = (float)region.endTime; + cacheRange.Start = Mathf.Max((float)clip.ToLocalTime(cacheRange.Start), start); + cacheRange.End = Mathf.Min((float)clip.ToLocalTime(cacheRange.End), end); + + var r = region.position; + var a = r.x + r.width * (cacheRange.Start - start) / (end - start); + var b = r.x + r.width * (cacheRange.End - start) / (end - start); + r.x = a; r.width = b-a; + r.y += r.height; r.height *= 0.2f; r.y -= r.height; + EditorGUI.DrawRect(r, new Color(0.1f, 0.2f, 0.8f, 0.6f)); + } + + // Draw the "UNCACHED" indicator, if appropriate + if (!TargetPositionCache.IsRecording && !TargetPositionCache.CurrentPlaybackTimeValid) + { + var r = region.position; + var t = clip.ToLocalTime(TimelineGlobalToLocalTime(TimelineEditor.masterDirector.time)); + var pos = r.x + r.width + * (float)((t - region.startTime) / (region.endTime - region.startTime)); + + var s = EditorStyles.miniLabel.CalcSize(kUndamped); + r.width = s.x; r.x = pos - r.width / 2; + var c = GUI.color; + GUI.color = Color.yellow; + EditorGUI.LabelField(r, kUndamped, EditorStyles.miniLabel); + GUI.color = c; + } + } +} + + +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotClipEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotClipEditor.cs.meta new file mode 100644 index 00000000..89d7af16 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotClipEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f23d52331ea559841a7b7c27ca58037c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotEditor.cs new file mode 100644 index 00000000..8bfed8d8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotEditor.cs @@ -0,0 +1,241 @@ +#if !UNITY_2019_1_OR_NEWER +#define CINEMACHINE_TIMELINE +#endif +#if CINEMACHINE_TIMELINE + +using UnityEditor; +using UnityEngine; +using Cinemachine.Editor; +using System.Collections.Generic; +using UnityEditor.Timeline; +using Cinemachine; + +//namespace Cinemachine.Timeline +//{ + [CustomEditor(typeof(CinemachineShot))] + internal sealed class CinemachineShotEditor : BaseEditor + { + static string kAutoCreateKey = "CM_Timeline_AutoCreateShotFromSceneView"; + public static bool AutoCreateShotFromSceneView + { + get { return EditorPrefs.GetBool(kAutoCreateKey, false); } + set + { + if (value != AutoCreateShotFromSceneView) + EditorPrefs.SetBool(kAutoCreateKey, value); + } + } + +#if UNITY_2019_2_OR_NEWER + static string kUseScrubbingCache = "CNMCN_Timeline_CachedScrubbing"; + public static bool UseScrubbingCache + { + get { return EditorPrefs.GetBool(kUseScrubbingCache, false); } + set + { + if (UseScrubbingCache != value) + { + EditorPrefs.SetBool(kUseScrubbingCache, value); + TargetPositionCache.UseCache = value; + } + } + } + + [InitializeOnLoad] + public class SyncCacheEnabledSetting + { + static SyncCacheEnabledSetting() + { + TargetPositionCache.UseCache = UseScrubbingCache; + } + } +#endif + + static public CinemachineVirtualCameraBase CreatePassiveVcamFromSceneView() + { + var vcam = CinemachineMenu.CreatePassiveVirtualCamera("Virtual Camera", null, false); + vcam.m_StandbyUpdate = CinemachineVirtualCameraBase.StandbyUpdateMode.Never; + +#if false + // GML this is too bold. What if timeline is a child of something moving? + // also, SetActive(false) prevents the animator from being able to animate the object + vcam.gameObject.SetActive(false); + var d = TimelineEditor.inspectedDirector; + if (d != null) + Undo.SetTransformParent(vcam.transform, d.transform, ""); +#endif + return vcam; + } + + private static readonly GUIContent kVirtualCameraLabel + = new GUIContent("Virtual Camera", "The virtual camera to use for this shot"); + private static readonly GUIContent kAutoCreateLabel = new GUIContent( + "Auto-create new shots", "When enabled, new clips will be " + + "automatically populated to match the scene view camera. " + + "This is a global setting"); +#if UNITY_2019_2_OR_NEWER + private static readonly GUIContent kScrubbingCacheLabel = new GUIContent( + "Cached Scrubbing", + "For preview scrubbing, caches target positions and pre-simulates each frame to " + + "approximate damping and noise playback. Target position cache is built when timeline is " + + "played forward, and used when timeline is scrubbed within the indicated zone. " + + "This is a global setting,."); + GUIContent m_ClearText = new GUIContent("Clear", "Clear the target position scrubbing cache"); +#endif + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected override void GetExcludedPropertiesInInspector(List excluded) + { + base.GetExcludedPropertiesInInspector(excluded); + excluded.Add(FieldPath(x => x.VirtualCamera)); + } + + private void OnDisable() + { + DestroyComponentEditors(); + } + + private void OnDestroy() + { + DestroyComponentEditors(); + } + + public override void OnInspectorGUI() + { + BeginInspector(); + SerializedProperty vcamProperty = FindProperty(x => x.VirtualCamera); + EditorGUI.indentLevel = 0; // otherwise subeditor layouts get screwed up + + AutoCreateShotFromSceneView + = EditorGUILayout.Toggle(kAutoCreateLabel, AutoCreateShotFromSceneView); + + Rect rect; +#if UNITY_2019_2_OR_NEWER + GUI.enabled = !Application.isPlaying; + rect = EditorGUILayout.GetControlRect(); + var r = rect; + r.width = EditorGUIUtility.labelWidth + EditorGUIUtility.singleLineHeight; + if (Application.isPlaying) + EditorGUI.Toggle(r, kScrubbingCacheLabel, false); + else + UseScrubbingCache = EditorGUI.Toggle(r, kScrubbingCacheLabel, UseScrubbingCache); + r.x += r.width; r.width = rect.width - r.width; + var buttonWidth = GUI.skin.button.CalcSize(m_ClearText).x; + r.width -= buttonWidth; + EditorGUI.LabelField(r, "(experimental)"); + r.x += r.width; r.width =buttonWidth; + GUI.enabled &= !TargetPositionCache.IsEmpty; + if (GUI.Button(r, m_ClearText)) + TargetPositionCache.ClearCache(); + GUI.enabled = true; +#endif + + EditorGUILayout.Space(); + CinemachineVirtualCameraBase vcam + = vcamProperty.exposedReferenceValue as CinemachineVirtualCameraBase; + if (vcam != null) + EditorGUILayout.PropertyField(vcamProperty, kVirtualCameraLabel); + else + { + GUIContent createLabel = new GUIContent("Create"); + Vector2 createSize = GUI.skin.button.CalcSize(createLabel); + + rect = EditorGUILayout.GetControlRect(true); + rect.width -= createSize.x; + + EditorGUI.PropertyField(rect, vcamProperty, kVirtualCameraLabel); + rect.x += rect.width; rect.width = createSize.x; + if (GUI.Button(rect, createLabel)) + { + vcam = CreatePassiveVcamFromSceneView(); + vcamProperty.exposedReferenceValue = vcam; + } + serializedObject.ApplyModifiedProperties(); + } + + EditorGUI.BeginChangeCheck(); + DrawRemainingPropertiesInInspector(); + + if (vcam != null) + DrawSubeditors(vcam); + + // by default timeline rebuilds the entire graph when something changes, + // but if a property of the virtual camera changes, we only need to re-evaluate the timeline. + // this prevents flicker on post processing updates + if (EditorGUI.EndChangeCheck()) + { + TimelineEditor.Refresh(RefreshReason.SceneNeedsUpdate); + GUI.changed = false; + } + } + + void DrawSubeditors(CinemachineVirtualCameraBase vcam) + { + // Create an editor for each of the cinemachine virtual cam and its components + GUIStyle foldoutStyle = new GUIStyle(EditorStyles.foldout) { fontStyle = FontStyle.Bold }; + UpdateComponentEditors(vcam); + if (m_editors != null) + { + foreach (UnityEditor.Editor e in m_editors) + { + if (e == null || e.target == null || (e.target.hideFlags & HideFlags.HideInInspector) != 0) + continue; + + // Separator line - how do you make a thinner one? + GUILayout.Box("", new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.Height(1) } ); + + bool expanded = true; + if (!s_EditorExpanded.TryGetValue(e.target.GetType(), out expanded)) + expanded = true; + expanded = EditorGUILayout.Foldout( + expanded, e.target.GetType().Name, true, foldoutStyle); + if (expanded) + e.OnInspectorGUI(); + s_EditorExpanded[e.target.GetType()] = expanded; + } + } + } + + CinemachineVirtualCameraBase m_cachedReferenceObject; + UnityEditor.Editor[] m_editors = null; + static Dictionary s_EditorExpanded = new Dictionary(); + + void UpdateComponentEditors(CinemachineVirtualCameraBase obj) + { + MonoBehaviour[] components = null; + if (obj != null) + components = obj.gameObject.GetComponents(); + int numComponents = (components == null) ? 0 : components.Length; + int numEditors = (m_editors == null) ? 0 : m_editors.Length; + if (m_cachedReferenceObject != obj || (numComponents + 1) != numEditors) + { + DestroyComponentEditors(); + m_cachedReferenceObject = obj; + if (obj != null) + { + m_editors = new UnityEditor.Editor[components.Length + 1]; + CreateCachedEditor(obj.gameObject.GetComponent(), null, ref m_editors[0]); + for (int i = 0; i < components.Length; ++i) + CreateCachedEditor(components[i], null, ref m_editors[i + 1]); + } + } + } + + void DestroyComponentEditors() + { + m_cachedReferenceObject = null; + if (m_editors != null) + { + for (int i = 0; i < m_editors.Length; ++i) + { + if (m_editors[i] != null) + UnityEngine.Object.DestroyImmediate(m_editors[i]); + m_editors[i] = null; + } + m_editors = null; + } + } + } +//} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotEditor.cs.meta new file mode 100644 index 00000000..9b938dfd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Timeline/CinemachineShotEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f24a4388d07ef494e8516cb859803e09 +timeCreated: 1484435492 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility.meta new file mode 100644 index 00000000..5dc84001 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 29d58ccb958d24942bf23fafcec87c0b +folderAsset: yes +timeCreated: 1489096338 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/BaseEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/BaseEditor.cs new file mode 100644 index 00000000..5a00d48b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/BaseEditor.cs @@ -0,0 +1,137 @@ +using UnityEditor; +using System; +using System.Collections.Generic; +using Cinemachine.Utility; +using System.Linq.Expressions; + +namespace Cinemachine.Editor +{ + /// + /// A convenience base class for making inspector editors. + /// + /// The class we're editing + public class BaseEditor : UnityEditor.Editor where T : class + { + /// + /// The target object, cast as the same class as the object being edited + /// + protected T Target { get { return target as T; } } + + /// + /// Return the Serialized property for a field, and exclude it from being automatically + /// displayed in the inspector. Call this when you need to provide a custom UX for a field. + /// + /// Magic experssion code + /// Call format is FindAndExcludeProperty(x => x.myField) + /// The serialized property for the field + protected SerializedProperty FindAndExcludeProperty(Expression> expr) + { + SerializedProperty p = FindProperty(expr); + ExcludeProperty(p.name); + return p; + } + + /// + /// Return the Serialized property for a field. + /// + /// Magic experssion code + /// Call format is FindProperty(x => x.myField) + /// The serialized property for the field + protected SerializedProperty FindProperty(Expression> expr) + { + return serializedObject.FindProperty(FieldPath(expr)); + } + + /// + /// Magic code to get the string name of a field. Will not build if the field name changes. + /// + /// Magic experssion code + /// Call format is FieldPath(x => x.myField) + /// The string name of the field + protected string FieldPath(Expression> expr) + { + return ReflectionHelpers.GetFieldPath(expr); + } + + /// Obsolete, do not use. Use the overload, which is more performant + /// List of property names to exclude + protected virtual List GetExcludedPropertiesInInspector() { return mExcluded; } + + /// Get the property names to exclude in the inspector. + /// Add the names to this list + protected virtual void GetExcludedPropertiesInInspector(List excluded) + { + excluded.Add("m_Script"); + } + + /// + /// Exclude a property from automatic inclusion in the inspector + /// when DrawRemainingPropertiesInInspector() is called + /// + /// The property to exclude + protected void ExcludeProperty(string propertyName) + { + mExcluded.Add(propertyName); + } + + /// Check whenther a property is in the excluded list + /// The property to check + /// True if property is excluded from automatic inclusion in the inspector + /// when DrawRemainingPropertiesInInspector() is called + protected bool IsPropertyExcluded(string propertyName) + { + return mExcluded.Contains(propertyName); + } + + /// + /// Draw the inspector + /// + public override void OnInspectorGUI() + { + BeginInspector(); + DrawRemainingPropertiesInInspector(); + } + + List mExcluded = new List(); + + /// + /// Clients should call this at the start of OnInspectorGUI. + /// Updates the serialized object and Sets up for excluded properties. + /// + protected virtual void BeginInspector() + { + serializedObject.Update(); + mExcluded.Clear(); + GetExcludedPropertiesInInspector(mExcluded); + } + + /// + /// Draw a property in the inspector, if it is not excluded. + /// Property is marked as drawn, so will not be drawn again + /// by DrawRemainingPropertiesInInspector() + /// + /// The property to draw + protected virtual void DrawPropertyInInspector(SerializedProperty p) + { + if (!IsPropertyExcluded(p.name)) + { + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(p); + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + ExcludeProperty(p.name); + } + } + + /// + /// Draw all remaining unexcluded undrawn properties in the inspector. + /// + protected void DrawRemainingPropertiesInInspector() + { + EditorGUI.BeginChangeCheck(); + DrawPropertiesExcluding(serializedObject, mExcluded.ToArray()); + if (EditorGUI.EndChangeCheck()) + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/BaseEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/BaseEditor.cs.meta new file mode 100644 index 00000000..aa543296 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/BaseEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 15ef94834d9e4aa44ac8fe619843346b +timeCreated: 1506620939 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineEditorAnalytics.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineEditorAnalytics.cs new file mode 100644 index 00000000..39a82674 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineEditorAnalytics.cs @@ -0,0 +1,248 @@ +using System; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace Cinemachine.Editor +{ + [InitializeOnLoad] + static class CinemachineEditorAnalytics + { + const int k_MaxEventsPerHour = 360; + const int k_MaxNumberOfElements = 1000; + const string k_VendorKey = "unity.cinemachine"; + + // register an event handler when the class is initialized + static CinemachineEditorAnalytics() + { + EditorApplication.playModeStateChanged += SendAnalyticsOnPlayEnter; + } + + /// + /// Send analytics event when using Create -> Cinemachine menu + /// + /// Name of the vcam created + public static void SendCreateEvent(string name) + { + if (!EditorAnalytics.enabled) + return; + + var data = new CreateEventData + { + vcam_created = name, + }; + + // Register our event + EditorAnalytics.RegisterEventWithLimit("cm_create_vcam", + k_MaxEventsPerHour, k_MaxNumberOfElements, k_VendorKey); + + // Send the data to the database + EditorAnalytics.SendEventWithLimit("cm_create_vcam", data); + } + + struct CreateEventData + { + public string vcam_created; // vcam created from Create -> Cinemachine menu + } + + /// + /// Send analytics event when using entering playmode + /// + /// State change to detect entering playmode + static void SendAnalyticsOnPlayEnter(PlayModeStateChange state) + { + // Only send analytics if it is enabled + if (!EditorAnalytics.enabled) + return; + + // Only send data when entering playmode + if (state != PlayModeStateChange.EnteredPlayMode) + return; + + var startTime = Time.realtimeSinceStartup; + + var cinemachineCore = CinemachineCore.Instance; + var vcamCount = cinemachineCore.VirtualCameraCount; + var vcamDatas = new List(); + + // collect data from all vcams + for (int i = 0; i < vcamCount; ++i) + { + var vcamBase = cinemachineCore.GetVirtualCamera(i); + CollectData(vcamBase, i.ToString(), ref vcamDatas); + } + + var projectData = new ProjectData + { + brain_count = cinemachineCore.BrainCount, + vcam_count = cinemachineCore.VirtualCameraCount, + cam_count = Camera.allCamerasCount, + vcams = vcamDatas, + time_elapsed = Time.realtimeSinceStartup - startTime, + }; + + // Register our event + EditorAnalytics.RegisterEventWithLimit("cm_vcams_on_play", + k_MaxEventsPerHour, k_MaxNumberOfElements, k_VendorKey); + + // Send the data to the database + EditorAnalytics.SendEventWithLimit("cm_vcams_on_play", projectData); + } + + static void CollectData(CinemachineVirtualCameraBase vcamBase, string id, ref List vcamDatas) + { + if (vcamBase == null) return; + + var vcamData = new VcamData(id, vcamBase); + + // VirtualCamera + var vcam = vcamBase as CinemachineVirtualCamera; + if (vcam != null) + { + vcamData.SetTransitionsAndLens(vcam.m_Transitions, vcam.m_Lens); + vcamData.SetComponents(vcam.GetComponentPipeline()); + + vcamDatas.Add(vcamData); + return; + } + +#if CINEMACHINE_EXPERIMENTAL_VCAM + // NewVirtualCamera or NewFreeLook + var vcamNew = vcamBase as CinemachineNewVirtualCamera; + if (vcamNew != null) + { + vcamData.SetTransitionsAndLens(vcamNew.m_Transitions, vcamNew.m_Lens); + vcamData.SetComponents(vcamNew.ComponentCache); + + vcamDatas.Add(vcamData); + return; + } +#endif + + // Composite vcam (Freelook, Mixing, StateDriven, ClearShot...): + var freeLook = vcamBase as CinemachineFreeLook; + if (freeLook != null) + { + vcamData.SetTransitionsAndLens(freeLook.m_Transitions, freeLook.m_Lens); + } + vcamDatas.Add(vcamData); + + var vcamChildren = + vcamBase.GetComponentsInChildren(); + for (var c = 1; c < vcamChildren.Length; c++) + { + if ((CinemachineVirtualCameraBase)vcamChildren[c].ParentCamera == vcamBase) + CollectData(vcamChildren[c], id + "." + c, ref vcamDatas); + } + } + + [Serializable] + struct ProjectData + { + public int brain_count; + public int vcam_count; + public int cam_count; + public List vcams; + public float time_elapsed; + } + + [Serializable] + struct VcamData + { + public string id; + public string vcam_class; + public bool has_follow_target; + public bool has_lookat_target; + public string blend_hint; + public bool inherit_position; + public string standby_update; + public string mode_overwrite; + public string body_component; + public string aim_component; + public string noise_component; + public int custom_component_count; + public string[] extensions; + public int custom_extension_count; + + public VcamData(string id, CinemachineVirtualCameraBase vcamBase) : this() + { + var _ = 0; + + this.id = id; + vcam_class = GetTypeName(vcamBase.GetType(), ref _); + has_follow_target = vcamBase.Follow != null; + has_lookat_target = vcamBase.LookAt != null; + blend_hint = ""; + inherit_position = false; + standby_update = vcamBase.m_StandbyUpdate.ToString(); + mode_overwrite = ""; + body_component = ""; + aim_component = ""; + noise_component = ""; + custom_component_count = 0; + custom_extension_count = 0; + var vcamExtensions = vcamBase.mExtensions; + if (vcamExtensions != null) + { + extensions = new string[vcamExtensions.Count]; + for (var i = 0; i < vcamExtensions.Count; i++) + { + extensions[i] = (GetTypeName(vcamExtensions[i].GetType(), ref custom_extension_count)); + } + } + else + { + extensions = Array.Empty(); + } + } + + public void SetTransitionsAndLens( + CinemachineVirtualCameraBase.TransitionParams transitions, LensSettings lens) + { + blend_hint = transitions.m_BlendHint.ToString(); + inherit_position = transitions.m_InheritPosition; + mode_overwrite = lens.ModeOverride.ToString(); + } + + public void SetComponents(CinemachineComponentBase[] cmComps) + { + custom_component_count = 0; + body_component = aim_component = noise_component = ""; + if (cmComps != null) + { + for (var i = 0; i < cmComps.Length; i++) + { +#if CINEMACHINE_EXPERIMENTAL_VCAM + if (cmComps[i] == null) continue; +#endif + var componentName = GetTypeName(cmComps[i].GetType(), ref custom_component_count); + switch (cmComps[i].Stage) + { + case CinemachineCore.Stage.Body: + body_component = componentName; + break; + case CinemachineCore.Stage.Aim: + aim_component = componentName; + break; + case CinemachineCore.Stage.Noise: + noise_component = componentName; + break; + default: + break; + } + } + } + } + + static string GetTypeName(Type type, ref int customTypeCount) + { + if (typeof(CinemachineBrain).Assembly != type.Assembly) + { + ++customTypeCount; + return "Custom"; + } + return type.Name; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineEditorAnalytics.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineEditorAnalytics.cs.meta new file mode 100644 index 00000000..c78695d5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineEditorAnalytics.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f8277034562bc4596b7a121435fe0caf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineLensPresets.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineLensPresets.cs new file mode 100644 index 00000000..2332407c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineLensPresets.cs @@ -0,0 +1,197 @@ +using UnityEngine; +using System; +using UnityEditor; +using System.Collections.Generic; + +#if CINEMACHINE_HDRP || CINEMACHINE_LWRP_7_3_1 + #if CINEMACHINE_HDRP_7_3_1 + using UnityEngine.Rendering.HighDefinition; + #else + #if CINEMACHINE_LWRP_7_3_1 + using UnityEngine.Rendering.Universal; + #else + using UnityEngine.Experimental.Rendering.HDPipeline; + #endif + #endif +#endif + +namespace Cinemachine.Editor +{ + /// + /// User-definable named presets for lenses. This is a Singleton asset, available in editor only + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public sealed class CinemachineLensPresets : ScriptableObject + { + private static CinemachineLensPresets sInstance = null; + private static bool alreadySearched = false; + + /// Get the singleton instance of this object, or null if it doesn't exist + public static CinemachineLensPresets InstanceIfExists + { + get + { + if (!alreadySearched) + { + alreadySearched = true; + var guids = AssetDatabase.FindAssets("t:CinemachineLensPresets"); + for (int i = 0; i < guids.Length && sInstance == null; ++i) + sInstance = AssetDatabase.LoadAssetAtPath( + AssetDatabase.GUIDToAssetPath(guids[i])); + } + return sInstance; + } + } + + /// Get the singleton instance of this object. Creates asset if nonexistant + public static CinemachineLensPresets Instance + { + get + { + if (InstanceIfExists == null) + { + string newAssetPath = EditorUtility.SaveFilePanelInProject( + "Create Lens Presets asset", "CinemachineLensPresets", "asset", + "This editor-only file will contain the lens presets for this project"); + if (!string.IsNullOrEmpty(newAssetPath)) + { + sInstance = CreateInstance(); + // Create some sample presets + List defaults = new List(); + defaults.Add(new Preset() { m_Name = "21mm", m_FieldOfView = 60f } ); + defaults.Add(new Preset() { m_Name = "35mm", m_FieldOfView = 38f } ); + defaults.Add(new Preset() { m_Name = "58mm", m_FieldOfView = 23f } ); + defaults.Add(new Preset() { m_Name = "80mm", m_FieldOfView = 17f } ); + defaults.Add(new Preset() { m_Name = "125mm", m_FieldOfView = 10f } ); + sInstance.m_Presets = defaults.ToArray(); + AssetDatabase.CreateAsset(sInstance, newAssetPath); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + } + return sInstance; + } + } + + /// Lens Preset + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public struct Preset + { + /// + /// Name of the preset + /// + [Tooltip("Lens Name")] + public string m_Name; + + /// + /// This is the camera view in vertical degrees. For cinematic people, a 50mm lens + /// on a super-35mm sensor would equal a 19.6 degree FOV + /// + [Range(1f, 179f)] + [Tooltip("This is the camera view in vertical degrees. For cinematic people, " + + " a 50mm lens on a super-35mm sensor would equal a 19.6 degree FOV")] + public float m_FieldOfView; + } + /// The array containing Preset definitions for nonphysical cameras + [Tooltip("The array containing Preset definitions, for nonphysical cameras")] + public Preset[] m_Presets = new Preset[0]; + + /// Physical Lens Preset + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public struct PhysicalPreset + { + /// + /// Name of the preset + /// + [Tooltip("Lens Name")] + public string m_Name; + + /// + /// This is the camera focal length in mm + /// + [Tooltip("This is the camera focal length in mm")] + public float m_FocalLength; + + /// Position of the gate relative to the film back + public Vector2 LensShift; + +#if CINEMACHINE_HDRP + public int Iso; + public float ShutterSpeed; + [Range(HDPhysicalCamera.kMinAperture, HDPhysicalCamera.kMaxAperture)] + public float Aperture; + [Range(HDPhysicalCamera.kMinBladeCount, HDPhysicalCamera.kMaxBladeCount)] + public int BladeCount; + public Vector2 Curvature; + [Range(0, 1)] + public float BarrelClipping; + [Range(-1, 1)] + public float Anamorphism; +#endif + } + + /// The array containing Preset definitions, for physical cameras + [Tooltip("The array containing Preset definitions, for physical cameras")] + public PhysicalPreset[] m_PhysicalPresets = new PhysicalPreset[0]; + + /// Get the index of the preset that matches the lens settings + /// Vertical field of view + /// the preset index, or -1 if no matching preset + public int GetMatchingPreset(float verticalFOV) + { + for (int i = 0; i < m_Presets.Length; ++i) + if (Mathf.Approximately(m_Presets[i].m_FieldOfView, verticalFOV)) + return i; + return -1; + } + + /// Get the index of the physical preset that matches the lens settings + /// Focal length to match + /// the preset index, or -1 if no matching preset + public int GetMatchingPhysicalPreset(float focalLength) + { + for (int i = 0; i < m_PhysicalPresets.Length; ++i) + if (Mathf.Approximately(m_PhysicalPresets[i].m_FocalLength, focalLength)) + return i; + return -1; + } + +#if CINEMACHINE_HDRP + /// Get the index of the physical preset that matches the lens settings + /// the preset index, or -1 if no matching preset + public int GetMatchingPhysicalPreset( + float FocalLength, + int Iso, + float ShutterSpeed, + float Aperture, + int BladeCount, + Vector2 Curvature, + float BarrelClipping, + float Anamorphism, + Vector2 LensShift) + { + for (int i = 0; i < m_PhysicalPresets.Length; ++i) + { + if (Mathf.Approximately(m_PhysicalPresets[i].m_FocalLength, FocalLength) + && m_PhysicalPresets[i].Iso == Iso + && Mathf.Approximately(m_PhysicalPresets[i].ShutterSpeed, ShutterSpeed) + && Mathf.Approximately(m_PhysicalPresets[i].Aperture, Aperture) + && m_PhysicalPresets[i].BladeCount == BladeCount + && Mathf.Approximately(m_PhysicalPresets[i].Curvature.x, Curvature.x) + && Mathf.Approximately(m_PhysicalPresets[i].Curvature.y, Curvature.y) + && Mathf.Approximately(m_PhysicalPresets[i].BarrelClipping, BarrelClipping) + && Mathf.Approximately(m_PhysicalPresets[i].Anamorphism, Anamorphism) + && Mathf.Approximately(m_PhysicalPresets[i].LensShift.x, LensShift.x) + && Mathf.Approximately(m_PhysicalPresets[i].LensShift.y, LensShift.y)) + { + return i; + } + } + return -1; + } +#endif + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineLensPresets.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineLensPresets.cs.meta new file mode 100644 index 00000000..18c2160c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineLensPresets.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 87edaa385191f4e43ac1e2831a02159f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineSceneTools.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineSceneTools.cs new file mode 100644 index 00000000..26d426c4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineSceneTools.cs @@ -0,0 +1,773 @@ +#if UNITY_2021_2_OR_NEWER +using System; +using System.Collections.Generic; +using Cinemachine.Utility; +using UnityEditor; +using UnityEditor.EditorTools; +using UnityEngine; + +namespace Cinemachine.Editor +{ + /// + /// Static class that manages Cinemachine Tools. It knows which tool is active, + /// and ensures that exclusive tools are not active at the same time. + /// The tools and editors requiring tools register/unregister themselves here. + /// + static class CinemachineSceneToolUtility + { +#if UNITY_2022_1_OR_NEWER + /// + /// Checks whether tool is the currently active exclusive tool. + /// + /// Tool to check. + /// True, when the tool is the active exclusive tool. False, otherwise. + public static bool IsToolActive(Type tool) + { + return s_ActiveExclusiveTool == tool; + } + static Type s_ActiveExclusiveTool; + + /// + /// Register your Type from the editor script's OnEnable function. + /// This way CinemachineTools will know which tools to display. + /// + /// Tool to register + public static void RegisterTool(Type tool) + { + if (s_RequiredTools.ContainsKey(tool)) + { + s_RequiredTools[tool]++; + } + else + { + s_RequiredTools.Add(tool, 1); + } + + s_TriggerToolBarRefresh = true; + } + + /// + /// Unregister your Type from the editor script's OnDisable function. + /// This way CinemachineTools will know which tools to display. + /// + /// Tool to register + public static void UnregisterTool(Type tool) + { + if (s_RequiredTools.ContainsKey(tool)) + { + s_RequiredTools[tool]--; + if (s_RequiredTools[tool] <= 0) + { + s_RequiredTools.Remove(tool); + } + } + + s_TriggerToolBarRefresh = true; + } + + internal static bool IsToolRequired(Type tool) + { + return s_RequiredTools.ContainsKey(tool); + } + static Dictionary s_RequiredTools; + + internal static void SetTool(bool active, Type tool) + { + if (active) + { + s_ActiveExclusiveTool = tool; + } + else + { + s_ActiveExclusiveTool = s_ActiveExclusiveTool == tool ? null : s_ActiveExclusiveTool; + } + + s_TriggerToolBarRefresh = true; + } + + static CinemachineSceneToolUtility() + { + s_RequiredTools = new Dictionary(); + EditorApplication.update += RefreshToolbar; + } + + static bool s_TriggerToolBarRefresh; + static void RefreshToolbar() + { + if (s_TriggerToolBarRefresh) + { +#if UNITY_2022_2_OR_NEWER + ToolManager.RefreshAvailableTools(); +#else + // The following is a hack to refresh the toolbars + foreach (var scene in SceneView.sceneViews) + { + if (((SceneView)scene).TryGetOverlay("unity-transform-toolbar", out var tools)) + { + if (tools.displayed) + { + tools.displayed = false; + tools.displayed = true; + break; + } + } + } +#endif + s_TriggerToolBarRefresh = false; + } + } +#else + /// + /// Checks whether tool is the currently active exclusive tool. + /// + /// Tool to check. + /// True, when the tool is the active exclusive tool. False, otherwise. + public static bool IsToolActive(Type tool) + { + return s_ActiveExclusiveTool == tool; + } + static Type s_ActiveExclusiveTool; + + /// + /// Register your Type from the editor script's OnEnable function. + /// This way CinemachineTools will know which tools to display. + /// + /// Tool to register + public static void RegisterTool(Type tool) + { + if (s_RequiredTools.ContainsKey(tool)) + { + s_RequiredTools[tool]++; + } + else + { + s_RequiredTools.Add(tool, 1); + } + } + + /// + /// Unregister your Type from the editor script's OnDisable function. + /// This way CinemachineTools will know which tools to display. + /// + /// Tool to register + public static void UnregisterTool(Type tool) + { + if (s_RequiredTools.ContainsKey(tool)) + { + s_RequiredTools[tool]--; + if (s_RequiredTools[tool] <= 0) + { + s_RequiredTools.Remove(tool); + } + } + } + static Dictionary s_RequiredTools; + + public delegate void ToolHandler(bool v); + struct CinemachineSceneToolDelegates + { + public ToolHandler ToggleSetter; + public ToolHandler IsDisplayedSetter; + } + static Dictionary s_ExclusiveTools; // tools that can't be active at the same time + static Dictionary s_Tools; // tools without restrictions + + /// + /// Use for registering tool handlers for tools that are exclusive with each other, + /// meaning they cannot be active at the same time. + /// + /// The tool to register. + /// The tool's toggle value setter. + /// The tool's isDisplayed setter. + internal static void RegisterExclusiveToolHandlers(Type tool, ToolHandler toggleSetter, ToolHandler isDisplayedSetter) + { + RegisterToolHandlers(ref s_ExclusiveTools, tool, toggleSetter, isDisplayedSetter); + } + + /// + /// Use for registering tool handlers for tools that can be active anytime + /// without taking other tools into consideration. + /// + /// The tool to register. + /// The tool's toggle value setter. + /// The tool's isDisplayed setter. + internal static void RegisterToolHandlers(Type tool, ToolHandler toggleSetter, ToolHandler isDisplayedSetter) + { + RegisterToolHandlers(ref s_Tools, tool, toggleSetter, isDisplayedSetter); + } + + static void RegisterToolHandlers(ref Dictionary tools, + Type tool, ToolHandler toggleSetter, ToolHandler isDisplayedSetter) + { + if (tools.ContainsKey(tool)) + { + tools.Remove(tool); + } + + tools.Add(tool, new CinemachineSceneToolDelegates + { + ToggleSetter = toggleSetter, + IsDisplayedSetter = isDisplayedSetter, + }); + } + + internal delegate bool ToolbarHandler(); + static ToolbarHandler s_ToolBarIsDisplayed; + internal static void RegisterToolbarIsDisplayedHandler(ToolbarHandler handler) + { + s_ToolBarIsDisplayed = handler; + } + + static bool s_ToolbarTurnOffByMe; + internal delegate bool ToolbarTurnOnOffHandler(bool on); + static ToolbarTurnOnOffHandler s_ToolBarDisplay; + internal static void RegisterToolbarDisplayHandler(ToolbarTurnOnOffHandler handler) + { + s_ToolBarDisplay = handler; + } + + internal static void SetTool(bool active, Type tool) + { + if (active) + { + s_ActiveExclusiveTool = tool; + EnsureCinemachineToolsAreExclusiveWithUnityTools(); + } + else + { + s_ActiveExclusiveTool = s_ActiveExclusiveTool == tool ? null : s_ActiveExclusiveTool; + } + } + + static void EnsureCinemachineToolsAreExclusiveWithUnityTools() + { + foreach (var toolHandle in s_ExclusiveTools) + { + toolHandle.Value.ToggleSetter(toolHandle.Key == s_ActiveExclusiveTool); + } + if (s_ActiveExclusiveTool != null) + { + Tools.current = Tool.None; // Cinemachine tools are exclusive with unity tools + } + } + + static CinemachineSceneToolUtility() + { + s_ExclusiveTools = new Dictionary(); + s_Tools = new Dictionary(); + s_RequiredTools = new Dictionary(); + + EditorApplication.update += () => + { + if (s_RequiredTools.Count <= 0) + { + s_ToolbarTurnOffByMe |= s_ToolBarDisplay(false); + } + else if (s_ToolbarTurnOffByMe) + { + s_ToolBarDisplay(true); + s_ToolbarTurnOffByMe = false; + } + + var cmToolbarIsHidden = !s_ToolBarIsDisplayed(); + // if a unity tool is selected or cmToolbar is hidden, unselect our tools. + if (s_ActiveExclusiveTool != null && (Tools.current != Tool.None || cmToolbarIsHidden)) + { + SetTool(true, null); + } + + if (!cmToolbarIsHidden) + { + // only display cm tools that are relevant for the current selection + foreach (var toolHandle in s_ExclusiveTools) + { + toolHandle.Value.IsDisplayedSetter(s_RequiredTools.ContainsKey(toolHandle.Key)); + } + foreach (var toolHandle in s_Tools) + { + toolHandle.Value.IsDisplayedSetter(s_RequiredTools.ContainsKey(toolHandle.Key)); + } + } + }; + } +#endif + } + + static class CinemachineSceneToolHelpers + { + public const float LineThickness = 2f; + public static readonly Color HelperLineDefaultColor = new Color(255, 255, 255, 25); + const float k_DottedLineSpacing = 4f; + + static GUIStyle s_LabelStyle = new GUIStyle + { + normal = + { + background = AssetDatabase.LoadAssetAtPath(ScriptableObjectUtility. + CinemachineRealativeInstallPath + "/Editor/EditorResources/SceneToolsLabelBackground.png"), + textColor = Handles.selectedColor, + }, + fontStyle = FontStyle.Bold, + padding = new RectOffset(5, 0, 5, 0) + }; + + + public static float SliderHandleDelta(Vector3 newPos, Vector3 oldPos, Vector3 forward) + { + var delta = newPos - oldPos; + return Mathf.Sign(Vector3.Dot(delta, forward)) * delta.magnitude; + } + + /// + /// Calculate delta and discard imprecision. + /// + public static Vector3 PositionHandleDelta(Quaternion rot, Vector3 newPos, Vector3 oldPos) + { + var delta = + Quaternion.Inverse(rot) * (newPos - oldPos); + delta = new Vector3( + Mathf.Abs(delta.x) < UnityVectorExtensions.Epsilon ? 0 : delta.x, + Mathf.Abs(delta.y) < UnityVectorExtensions.Epsilon ? 0 : delta.y, + Mathf.Abs(delta.z) < UnityVectorExtensions.Epsilon ? 0 : delta.z); + return delta; + } + + public static void DrawLabel(Vector3 position, string text) + { + var labelOffset = HandleUtility.GetHandleSize(position) / 5f; + Handles.Label(position + new Vector3(0, -labelOffset, 0), text, s_LabelStyle); + } + + public static float CubeHandleCapSize(Vector3 position) => HandleUtility.GetHandleSize(position) / 10f; + + static int s_ScaleSliderHash = "ScaleSliderHash".GetHashCode(); + static float s_FOVAfterLastToolModification; + + public static void FovToolHandle(CinemachineVirtualCameraBase vcam, SerializedProperty lensProperty, + in LensSettings lens, bool isLensHorizontal) + { + var orthographic = lens.Orthographic; + if (GUIUtility.hotControl == 0) + { + s_FOVAfterLastToolModification = orthographic ? lens.OrthographicSize : lens.FieldOfView; + } + var originalColor = Handles.color; + Handles.color = Handles.preselectionColor; + + var camPos = vcam.State.FinalPosition; + var camRot = vcam.State.FinalOrientation; + var camForward = camRot * Vector3.forward; + + EditorGUI.BeginChangeCheck(); +#if UNITY_2022_2_OR_NEWER + var fovHandleId = GUIUtility.GetControlID(s_ScaleSliderHash, FocusType.Passive); + var newFov = Handles.ScaleSlider(fovHandleId, s_FOVAfterLastToolModification, + camPos, camForward, camRot, HandleUtility.GetHandleSize(camPos), 0.1f); +#else + var fovHandleId = GUIUtility.GetControlID(s_ScaleSliderHash, FocusType.Passive) + 1; + var newFov = Handles.ScaleSlider( + s_FOVAfterLastToolModification, camPos, camForward, camRot, HandleUtility.GetHandleSize(camPos), 0.1f); +#endif + if (EditorGUI.EndChangeCheck()) + { + if (orthographic) + { + lensProperty.FindPropertyRelative("OrthographicSize").floatValue += + (s_FOVAfterLastToolModification - newFov); + } + else + { + lensProperty.FindPropertyRelative("FieldOfView").floatValue += + (s_FOVAfterLastToolModification - newFov); + lensProperty.FindPropertyRelative("FieldOfView").floatValue = + Mathf.Clamp(lensProperty.FindPropertyRelative("FieldOfView").floatValue, 1f, 179f); + } + lensProperty.serializedObject.ApplyModifiedProperties(); + } + s_FOVAfterLastToolModification = newFov; + + var fovHandleDraggedOrHovered = + GUIUtility.hotControl == fovHandleId || HandleUtility.nearestControl == fovHandleId; + if (fovHandleDraggedOrHovered) + { + var labelPos = camPos + camForward * HandleUtility.GetHandleSize(camPos); + if (lens.IsPhysicalCamera) + { + DrawLabel(labelPos, "Focal Length (" + + Camera.FieldOfViewToFocalLength(lens.FieldOfView, lens.SensorSize.y).ToString("F1") + ")"); + } + else if (orthographic) + { + DrawLabel(labelPos, "Orthographic Size (" + + lens.OrthographicSize.ToString("F1") + ")"); + } + else if (isLensHorizontal) + { + DrawLabel(labelPos, "Horizontal FOV (" + + Camera.VerticalToHorizontalFieldOfView(lens.FieldOfView, lens.Aspect).ToString("F1") + ")"); + } + else + { + DrawLabel(labelPos, "Vertical FOV (" + + lens.FieldOfView.ToString("F1") + ")"); + } + } + + Handles.color = fovHandleDraggedOrHovered ? Handles.selectedColor : HelperLineDefaultColor; + var vcamLocalToWorld = Matrix4x4.TRS(camPos, camRot, Vector3.one); + DrawFrustum(vcamLocalToWorld, lens); + + SoloOnDrag(GUIUtility.hotControl == fovHandleId, vcam, fovHandleId); + + Handles.color = originalColor; + } + + public static void NearFarClipHandle(CinemachineVirtualCameraBase vcam, SerializedProperty lens) + { + var originalColor = Handles.color; + Handles.color = Handles.preselectionColor; + + var vcamState = vcam.State; + var camPos = vcamState.FinalPosition; + var camRot = vcamState.FinalOrientation; + var camForward = camRot * Vector3.forward; + var nearClipPlane = lens.FindPropertyRelative("NearClipPlane"); + var farClipPlane = lens.FindPropertyRelative("FarClipPlane"); + var nearClipPos = camPos + camForward * nearClipPlane.floatValue; + var farClipPos = camPos + camForward * farClipPlane.floatValue; + var vcamLens = vcamState.Lens; + + EditorGUI.BeginChangeCheck(); + var ncHandleId = GUIUtility.GetControlID(FocusType.Passive); + var newNearClipPos = Handles.Slider(ncHandleId, nearClipPos, camForward, + CubeHandleCapSize(nearClipPos), Handles.CubeHandleCap, 0.5f); + var fcHandleId = GUIUtility.GetControlID(FocusType.Passive); + var newFarClipPos = Handles.Slider(fcHandleId, farClipPos, camForward, + CubeHandleCapSize(farClipPos), Handles.CubeHandleCap, 0.5f); + if (EditorGUI.EndChangeCheck()) + { + nearClipPlane.floatValue += + SliderHandleDelta(newNearClipPos, nearClipPos, camForward); + if (!vcamLens.Orthographic) + { + nearClipPlane.floatValue = Mathf.Max(0.01f, nearClipPlane.floatValue); + } + farClipPlane.floatValue += + SliderHandleDelta(newFarClipPos, farClipPos, camForward); + lens.serializedObject.ApplyModifiedProperties(); + } + + var vcamLocalToWorld = Matrix4x4.TRS(camPos, camRot, Vector3.one); + Handles.color = HelperLineDefaultColor; + DrawFrustum(vcamLocalToWorld, vcamLens); + if (GUIUtility.hotControl == ncHandleId || HandleUtility.nearestControl == ncHandleId) + { + DrawPreFrustum(vcamLocalToWorld, vcamLens); + DrawLabel(nearClipPos, "Near Clip Plane (" + nearClipPlane.floatValue.ToString("F1") + ")"); + } + if (GUIUtility.hotControl == fcHandleId || HandleUtility.nearestControl == fcHandleId) + { + DrawPreFrustum(vcamLocalToWorld, vcamLens); + DrawLabel(farClipPos, "Far Clip Plane (" + farClipPlane.floatValue.ToString("F1") + ")"); + } + + SoloOnDrag(GUIUtility.hotControl == ncHandleId || GUIUtility.hotControl == fcHandleId, + vcam, Mathf.Min(ncHandleId, fcHandleId)); + + Handles.color = originalColor; + } + + static void DrawPreFrustum(Matrix4x4 transform, LensSettings lens) + { + if (!lens.Orthographic && lens.NearClipPlane >= 0) + { + DrawPerspectiveFrustum(transform, lens.FieldOfView, + lens.NearClipPlane, 0, lens.Aspect, true); + } + } + + static void DrawFrustum(Matrix4x4 transform, LensSettings lens) + { + if (lens.Orthographic) + { + DrawOrthographicFrustum(transform, lens.OrthographicSize, + lens.FarClipPlane, lens.NearClipPlane, lens.Aspect); + } + else + { + DrawPerspectiveFrustum(transform, lens.FieldOfView, + lens.FarClipPlane, lens.NearClipPlane, lens.Aspect, false); + } + } + + static void DrawOrthographicFrustum(Matrix4x4 transform, + float orthographicSize, float farClipPlane, float nearClipRange, float aspect) + { + var originalMatrix = Handles.matrix; + Handles.matrix = transform; + + var size = new Vector3(aspect * orthographicSize * 2, + orthographicSize * 2, farClipPlane - nearClipRange); + Handles.DrawWireCube(new Vector3(0, 0, (size.z / 2) + nearClipRange), size); + + Handles.matrix = originalMatrix; + } + + static void DrawPerspectiveFrustum(Matrix4x4 transform, + float fov, float farClipPlane, float nearClipRange, float aspect, bool dottedLine) + { + var originalMatrix = Handles.matrix; + Handles.matrix = transform; + + fov = fov * 0.5f * Mathf.Deg2Rad; + var tanfov = Mathf.Tan(fov); + var farEnd = new Vector3(0, 0, farClipPlane); + var endSizeX = new Vector3(farClipPlane * tanfov * aspect, 0, 0); + var endSizeY = new Vector3(0, farClipPlane * tanfov, 0); + + Vector3 s1, s2, s3, s4; + var e1 = farEnd + endSizeX + endSizeY; + var e2 = farEnd - endSizeX + endSizeY; + var e3 = farEnd - endSizeX - endSizeY; + var e4 = farEnd + endSizeX - endSizeY; + if (nearClipRange <= 0.0f) + { + s1 = s2 = s3 = s4 = Vector3.zero; + } + else + { + var startSizeX = new Vector3(nearClipRange * tanfov * aspect, 0, 0); + var startSizeY = new Vector3(0, nearClipRange * tanfov, 0); + var startPoint = new Vector3(0, 0, nearClipRange); + s1 = startPoint + startSizeX + startSizeY; + s2 = startPoint - startSizeX + startSizeY; + s3 = startPoint - startSizeX - startSizeY; + s4 = startPoint + startSizeX - startSizeY; + + if (dottedLine) + { + Handles.DrawDottedLine(s1, s2, k_DottedLineSpacing); + Handles.DrawDottedLine(s2, s3, k_DottedLineSpacing); + Handles.DrawDottedLine(s3, s4, k_DottedLineSpacing); + Handles.DrawDottedLine(s4, s1, k_DottedLineSpacing); + } + else + { + Handles.DrawLine(s1, s2); + Handles.DrawLine(s2, s3); + Handles.DrawLine(s3, s4); + Handles.DrawLine(s4, s1); + } + } + + if (dottedLine) + { + Handles.DrawDottedLine(e1, e2, k_DottedLineSpacing); + Handles.DrawDottedLine(e2, e3, k_DottedLineSpacing); + Handles.DrawDottedLine(e3, e4, k_DottedLineSpacing); + Handles.DrawDottedLine(e4, e1, k_DottedLineSpacing); + + Handles.DrawDottedLine(s1, e1, k_DottedLineSpacing); + Handles.DrawDottedLine(s2, e2, k_DottedLineSpacing); + Handles.DrawDottedLine(s3, e3, k_DottedLineSpacing); + Handles.DrawDottedLine(s4, e4, k_DottedLineSpacing); + } + else + { + Handles.DrawLine(e1, e2); + Handles.DrawLine(e2, e3); + Handles.DrawLine(e3, e4); + Handles.DrawLine(e4, e1); + + Handles.DrawLine(s1, e1); + Handles.DrawLine(s2, e2); + Handles.DrawLine(s3, e3); + Handles.DrawLine(s4, e4); + } + + Handles.matrix = originalMatrix; + } + + public static void TrackedObjectOffsetTool( + CinemachineComponentBase cmComponent, SerializedProperty trackedObjectOffset) + { + var originalColor = Handles.color; + + var lookAtPos = cmComponent.LookAtTargetPosition; + var lookAtRot = cmComponent.LookAtTargetRotation; + var trackedObjectPos = lookAtPos + lookAtRot * trackedObjectOffset.vector3Value; + + EditorGUI.BeginChangeCheck(); +#if UNITY_2022_2_OR_NEWER + var tooHandleIds = Handles.PositionHandleIds.@default; + var newTrackedObjectPos = Handles.PositionHandle(tooHandleIds, trackedObjectPos, lookAtRot); + var tooHandleMinId = tooHandleIds.x - 1; + var tooHandleMaxId = tooHandleIds.xyz + 1; +#else + var tooHandleMinId = GUIUtility.GetControlID(FocusType.Passive); + var newTrackedObjectPos = Handles.PositionHandle(trackedObjectPos, lookAtRot); + var tooHandleMaxId = GUIUtility.GetControlID(FocusType.Passive); +#endif + if (EditorGUI.EndChangeCheck()) + { + trackedObjectOffset.vector3Value += + PositionHandleDelta(lookAtRot, newTrackedObjectPos, trackedObjectPos); + trackedObjectOffset.serializedObject.ApplyModifiedProperties(); + } + + var trackedObjectOffsetHandleIsDragged = + tooHandleMinId < GUIUtility.hotControl && GUIUtility.hotControl < tooHandleMaxId; + var trackedObjectOffsetHandleIsUsedOrHovered = trackedObjectOffsetHandleIsDragged || + tooHandleMinId < HandleUtility.nearestControl && HandleUtility.nearestControl < tooHandleMaxId; + if (trackedObjectOffsetHandleIsUsedOrHovered) + { + DrawLabel(trackedObjectPos, "(" + cmComponent.Stage + ") Tracked Object Offset " + + trackedObjectOffset.vector3Value.ToString("F1")); + } + + Handles.color = trackedObjectOffsetHandleIsUsedOrHovered ? + Handles.selectedColor : HelperLineDefaultColor; + Handles.DrawDottedLine(lookAtPos, trackedObjectPos, k_DottedLineSpacing); + Handles.DrawLine(trackedObjectPos, cmComponent.VcamState.FinalPosition); + + SoloOnDrag(trackedObjectOffsetHandleIsDragged, cmComponent.VirtualCamera, tooHandleMaxId); + + Handles.color = originalColor; + } + + public static void TransposerFollowOffsetTool(CinemachineTransposer cmComponent) + { + var originalColor = Handles.color; + + var brain = CinemachineCore.Instance.FindPotentialTargetBrain(cmComponent.VirtualCamera); + var up = brain != null ? brain.DefaultWorldUp : Vector3.up; + var camPos = cmComponent.GetTargetCameraPosition(up); + var camRot = cmComponent.GetReferenceOrientation(up); + + EditorGUI.BeginChangeCheck(); +#if UNITY_2022_2_OR_NEWER + var foHandleIds = Handles.PositionHandleIds.@default; + var newPos = Handles.PositionHandle(foHandleIds, camPos, camRot); + var foHandleMinId = foHandleIds.x - 1; + var foHandleMaxId = foHandleIds.xyz + 1; +#else + var foHandleMinId = GUIUtility.GetControlID(FocusType.Passive); + var newPos = Handles.PositionHandle(camPos, camRot); + var foHandleMaxId = GUIUtility.GetControlID(FocusType.Passive); +#endif + if (EditorGUI.EndChangeCheck()) + { + var so = new SerializedObject(cmComponent); + var followOffset = so.FindProperty(() => cmComponent.m_FollowOffset); + followOffset.vector3Value += PositionHandleDelta(camRot, newPos, camPos); + so.ApplyModifiedProperties(); + followOffset.vector3Value = cmComponent.EffectiveOffset; + so.ApplyModifiedProperties(); + } + + var followOffsetHandleIsDragged = + foHandleMinId < GUIUtility.hotControl && GUIUtility.hotControl < foHandleMaxId; + var followOffsetHandleIsDraggedOrHovered = followOffsetHandleIsDragged || + foHandleMinId < HandleUtility.nearestControl && HandleUtility.nearestControl < foHandleMaxId; + if (followOffsetHandleIsDraggedOrHovered) + { + DrawLabel(camPos, "Follow offset " + cmComponent.m_FollowOffset.ToString("F1")); + } + + Handles.color = followOffsetHandleIsDraggedOrHovered ? Handles.selectedColor : HelperLineDefaultColor; + Handles.DrawDottedLine(cmComponent.FollowTargetPosition, camPos, k_DottedLineSpacing); + + SoloOnDrag(followOffsetHandleIsDragged, cmComponent.VirtualCamera, foHandleMaxId); + + Handles.color = originalColor; + } + + /// + /// Draws Orbit handles (e.g. for freelook) + /// + /// Index of the rig being edited, or -1 if none + public static int OrbitControlHandle( + CinemachineVirtualCameraBase vcam, SerializedProperty orbits) + { + var originalColor = Handles.color; + var followPos = vcam.Follow.position; + var draggedRig = -1; + var minIndex = 1; + for (var rigIndex = 0; rigIndex < orbits.arraySize; ++rigIndex) + { + var orbit = orbits.GetArrayElementAtIndex(rigIndex); + var orbitHeight = orbit.FindPropertyRelative("m_Height"); + var orbitRadius = orbit.FindPropertyRelative("m_Radius"); + Handles.color = Handles.preselectionColor; + EditorGUI.BeginChangeCheck(); + + var heightHandleId = GUIUtility.GetControlID(FocusType.Passive); + var heightHandlePos = followPos + Vector3.up * orbitHeight.floatValue; + var newHeightHandlePos = Handles.Slider(heightHandleId, heightHandlePos, Vector3.up, + CubeHandleCapSize(heightHandlePos), Handles.CubeHandleCap, 0.5f); + + var radiusHandleOffset = Vector3.right; + var radiusHandleId = GUIUtility.GetControlID(FocusType.Passive); + var radiusHandlePos = followPos + Vector3.up * orbitHeight.floatValue + + radiusHandleOffset * orbitRadius.floatValue; + var newRadiusHandlePos = Handles.Slider(radiusHandleId, radiusHandlePos, radiusHandleOffset, + CubeHandleCapSize(radiusHandlePos), Handles.CubeHandleCap, 0.5f); + + if (EditorGUI.EndChangeCheck()) + { + orbitHeight.floatValue += + SliderHandleDelta(newHeightHandlePos, heightHandlePos, Vector3.up); + orbitRadius.floatValue += + SliderHandleDelta(newRadiusHandlePos, radiusHandlePos, radiusHandleOffset); + orbits.serializedObject.ApplyModifiedProperties(); + } + + var isDragged = GUIUtility.hotControl == heightHandleId || GUIUtility.hotControl == radiusHandleId; + Handles.color = isDragged || HandleUtility.nearestControl == heightHandleId || + HandleUtility.nearestControl == radiusHandleId ? Handles.selectedColor : HelperLineDefaultColor; + if (GUIUtility.hotControl == heightHandleId || HandleUtility.nearestControl == heightHandleId) + { + DrawLabel(heightHandlePos, "Height: " + orbitHeight.floatValue); + } + if (GUIUtility.hotControl == radiusHandleId || HandleUtility.nearestControl == radiusHandleId) + { + DrawLabel(radiusHandlePos, "Radius: " + orbitRadius.floatValue); + } + + Handles.DrawWireDisc(newHeightHandlePos, Vector3.up, orbitRadius.floatValue); + if (isDragged) + { + draggedRig = rigIndex; + minIndex = Mathf.Min(Mathf.Min(heightHandleId), radiusHandleId); + } + } + SoloOnDrag(draggedRig != -1, vcam, minIndex); + + Handles.color = originalColor; + return draggedRig; + } + + static bool s_IsDragging; + static ICinemachineCamera s_UserSolo; + public static void SoloOnDrag(bool isDragged, ICinemachineCamera vcam, int handleMaxId) + { + if (isDragged) + { + if (!s_IsDragging) + { + s_UserSolo = CinemachineBrain.SoloCamera; + s_IsDragging = true; + } + CinemachineBrain.SoloCamera = vcam; + } + else if (s_IsDragging && handleMaxId != -1) // Handles sometimes return -1 as id, ignore those frames + { + CinemachineBrain.SoloCamera = s_UserSolo; + InspectorUtility.RepaintGameView(); + s_IsDragging = false; + s_UserSolo = null; + } + } + } +} +#endif \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineSceneTools.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineSceneTools.cs.meta new file mode 100644 index 00000000..1b586e33 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/CinemachineSceneTools.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8a55c5521f6ab4af298e86f0cda02006 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/EmbeddedAssetHelpers.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/EmbeddedAssetHelpers.cs new file mode 100644 index 00000000..d0c69d9a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/EmbeddedAssetHelpers.cs @@ -0,0 +1,172 @@ +using UnityEngine; +using UnityEditor; +using UnityEditor.VersionControl; +using System; + +namespace Cinemachine.Editor +{ + /// + /// Helper for drawing embedded asset editors + /// + internal class EmbeddeAssetEditor where T : ScriptableObject + { + /// + /// Create in OnEnable() + /// + public EmbeddeAssetEditor(string propertyName, UnityEditor.Editor owner) + { + m_PropertyName = propertyName; + m_Owner = owner; + m_CreateButtonGUIContent = new GUIContent( + "Create Asset", "Create a new shared settings asset"); + } + + /// + /// Called after the asset editor is created, in case it needs + /// to be customized + /// + public OnCreateEditorDelegate OnCreateEditor; + public delegate void OnCreateEditorDelegate(UnityEditor.Editor editor); + + /// + /// Called when the asset being edited was changed by the user. + /// + public OnChangedDelegate OnChanged; + public delegate void OnChangedDelegate(T obj); + + /// + /// Free the resources in OnDisable() + /// + public void OnDisable() + { + DestroyEditor(); + m_Owner = null; + } + + /// + /// Customize this after creation if you want + /// + public GUIContent m_CreateButtonGUIContent; + + private string m_PropertyName; + private UnityEditor.Editor m_Editor = null; + private UnityEditor.Editor m_Owner = null; + + const int kIndentOffset = 3; + + /// + /// Call this from OnInspectorGUI. Will draw the asset reference field, and + /// the embedded editor, or a Create Asset button, if no asset is set. + /// + public void DrawEditorCombo( + string title, string defaultName, string extension, string message, + string showLabel, bool indent) + { + SerializedProperty property = m_Owner.serializedObject.FindProperty(m_PropertyName); + if (m_Editor == null) + UpdateEditor(property); + if (m_Editor == null) + AssetFieldWithCreateButton(property, title, defaultName, extension, message); + else + { + EditorGUILayout.BeginVertical(GUI.skin.box); + Rect rect = EditorGUILayout.GetControlRect(true); + rect.height = EditorGUIUtility.singleLineHeight; + EditorGUI.BeginChangeCheck(); + EditorGUI.PropertyField(rect, property); + if (EditorGUI.EndChangeCheck()) + { + m_Owner.serializedObject.ApplyModifiedProperties(); + UpdateEditor(property); + } + if (m_Editor != null) + { + Rect foldoutRect = new Rect( + rect.x - kIndentOffset, rect.y, rect.width + kIndentOffset, rect.height); + property.isExpanded = EditorGUI.Foldout( + foldoutRect, property.isExpanded, GUIContent.none, true); + + bool canEditAsset = AssetDatabase.IsOpenForEdit(m_Editor.target, StatusQueryOptions.UseCachedIfPossible); + GUI.enabled = canEditAsset; + if (property.isExpanded) + { + EditorGUILayout.Separator(); + EditorGUILayout.HelpBox( + "This is a shared asset. Changes made here will apply to all users of this asset.", + MessageType.Info); + EditorGUI.BeginChangeCheck(); + if (indent) + ++EditorGUI.indentLevel; + m_Editor.OnInspectorGUI(); + if (indent) + --EditorGUI.indentLevel; + if (EditorGUI.EndChangeCheck() && (OnChanged != null)) + OnChanged(property.objectReferenceValue as T); + } + GUI.enabled = true; + if (m_Editor.target != null) + { + if (!canEditAsset && GUILayout.Button("Check out")) + { + Task task = Provider.Checkout(AssetDatabase.GetAssetPath(m_Editor.target), CheckoutMode.Asset); + task.Wait(); + } + } + } + EditorGUILayout.EndVertical(); + } + } + + private void AssetFieldWithCreateButton( + SerializedProperty property, + string title, string defaultName, string extension, string message) + { + EditorGUI.BeginChangeCheck(); + + float hSpace = 5; + float buttonWidth = GUI.skin.button.CalcSize(m_CreateButtonGUIContent).x; + Rect r = EditorGUILayout.GetControlRect(true); + r.width -= buttonWidth + hSpace; + EditorGUI.PropertyField(r, property); + r.x += r.width + hSpace; r.width = buttonWidth; + if (GUI.Button(r, m_CreateButtonGUIContent)) + { + string newAssetPath = EditorUtility.SaveFilePanelInProject( + title, defaultName, extension, message); + if (!string.IsNullOrEmpty(newAssetPath)) + { + T asset = ScriptableObjectUtility.CreateAt(newAssetPath); + property.objectReferenceValue = asset; + m_Owner.serializedObject.ApplyModifiedProperties(); + } + } + if (EditorGUI.EndChangeCheck()) + { + m_Owner.serializedObject.ApplyModifiedProperties(); + UpdateEditor(property); + } + } + + public void DestroyEditor() + { + if (m_Editor != null) + { + UnityEngine.Object.DestroyImmediate(m_Editor); + m_Editor = null; + } + } + + public void UpdateEditor(SerializedProperty property) + { + var target = property.objectReferenceValue; + if (m_Editor != null && m_Editor.target != target) + DestroyEditor(); + if (target != null) + { + m_Editor = UnityEditor.Editor.CreateEditor(target); + if (OnCreateEditor != null) + OnCreateEditor(m_Editor); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/EmbeddedAssetHelpers.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/EmbeddedAssetHelpers.cs.meta new file mode 100644 index 00000000..c0bbee61 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/EmbeddedAssetHelpers.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d30409ab90458e5409807c8b0274ac9c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/InspectorUtility.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/InspectorUtility.cs new file mode 100644 index 00000000..5c5ad5df --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/InspectorUtility.cs @@ -0,0 +1,202 @@ +using UnityEngine; +using UnityEditor; +using System; +using System.Collections.Generic; +using System.IO; + +namespace Cinemachine.Editor +{ + /// + /// Collection of tools and helpers for drawing inspectors + /// + public class InspectorUtility + { + /// Put multiple properties on a single inspector line, with + /// optional label overrides. Passing null as a label (or sublabel) override will + /// cause the property's displayName to be used as a label. For no label at all, + /// pass GUIContent.none. + /// Rect in which to draw + /// Main label + /// Properties to place on the line + /// Sublabels for the properties + public static void MultiPropertyOnLine( + Rect rect, + GUIContent label, + SerializedProperty[] props, GUIContent[] subLabels) + { + if (props == null || props.Length == 0) + return; + + const int hSpace = 2; + int indentLevel = EditorGUI.indentLevel; + float labelWidth = EditorGUIUtility.labelWidth; + + float totalSubLabelWidth = 0; + int numBoolColumns = 0; + List actualLabels = new List(); + for (int i = 0; i < props.Length; ++i) + { + GUIContent sublabel = new GUIContent(props[i].displayName, props[i].tooltip); + if (subLabels != null && subLabels.Length > i && subLabels[i] != null) + sublabel = subLabels[i]; + actualLabels.Add(sublabel); + totalSubLabelWidth += GUI.skin.label.CalcSize(sublabel).x; + if (i > 0) + totalSubLabelWidth += hSpace; + // Special handling for toggles, or it looks stupid + if (props[i].propertyType == SerializedPropertyType.Boolean) + { + totalSubLabelWidth += rect.height; + ++numBoolColumns; + } + } + + float subFieldWidth = rect.width - labelWidth - totalSubLabelWidth; + float numCols = props.Length - numBoolColumns; + float colWidth = numCols == 0 ? 0 : subFieldWidth / numCols; + + // Main label. If no first sublabel, then main label must take on that + // role, for mouse dragging value-scrolling support + int subfieldStartIndex = 0; + if (label == null) + label = new GUIContent(props[0].displayName, props[0].tooltip); + if (actualLabels[0] != GUIContent.none) + rect = EditorGUI.PrefixLabel(rect, label); + else + { + rect.width = labelWidth + colWidth; + EditorGUI.PropertyField(rect, props[0], label); + rect.x += rect.width + hSpace; + subfieldStartIndex = 1; + } + + for (int i = subfieldStartIndex; i < props.Length; ++i) + { + EditorGUI.indentLevel = 0; + EditorGUIUtility.labelWidth = GUI.skin.label.CalcSize(actualLabels[i]).x; + if (props[i].propertyType == SerializedPropertyType.Boolean) + { + rect.width = EditorGUIUtility.labelWidth + rect.height; + props[i].boolValue = EditorGUI.ToggleLeft(rect, actualLabels[i], props[i].boolValue); + } + else + { + rect.width = EditorGUIUtility.labelWidth + colWidth; + EditorGUI.PropertyField(rect, props[i], actualLabels[i]); + } + rect.x += rect.width + hSpace; + } + + EditorGUIUtility.labelWidth = labelWidth; + EditorGUI.indentLevel = indentLevel; + } + + /// + /// Normalize a curve so that each of X and Y axes ranges from 0 to 1 + /// + /// Curve to normalize + /// The normalized curve + public static AnimationCurve NormalizeCurve(AnimationCurve curve) + { + return RuntimeUtility.NormalizeCurve(curve, true, true); + } + + /// + /// Remove the "Cinemachine" prefix, then call the standard Unity Nicify. + /// + /// The name to nicify + /// The nicified name + public static string NicifyClassName(string name) + { + if (name.StartsWith("Cinemachine")) + name = name.Substring(11); // Trim the prefix + return ObjectNames.NicifyVariableName(name); + } + + /// + /// Add to a list all assets of a given type found in a given location + /// + /// The asset type to look for + /// The list to add found assets to + /// The location in which to look. Path is relative to package root. + public static void AddAssetsFromPackageSubDirectory( + Type type, List assets, string path) + { + try + { + path = "/" + path; + var info = new DirectoryInfo(ScriptableObjectUtility.CinemachineInstallPath + path); + path = ScriptableObjectUtility.kPackageRoot + path + "/"; + var fileInfo = info.GetFiles(); + foreach (var file in fileInfo) + { + if (file.Extension != ".asset") + continue; + string name = path + file.Name; + ScriptableObject a = AssetDatabase.LoadAssetAtPath(name, type) as ScriptableObject; + if (a != null) + assets.Add(a); + } + } + catch + { + } + } + + // Temporarily here + /// + /// Creates a new GameObject. + /// + /// Name to give the object. + /// Optional components to add. + /// The GameObject that was created. + [Obsolete("Use ObjectFactory.CreateGameObject(string name, params Type[] types) instead.")] + public static GameObject CreateGameObject(string name, params Type[] types) + { + return ObjectFactory.CreateGameObject(name, types); + } + + private static int m_lastRepaintFrame; + + /// + /// Force a repaint of the Game View + /// + /// Like it says + public static void RepaintGameView(UnityEngine.Object unused = null) + { + if (m_lastRepaintFrame == Time.frameCount) + return; + m_lastRepaintFrame = Time.frameCount; + + EditorApplication.QueuePlayerLoopUpdate(); + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + } + + /// + /// Try to get the name of the owning virtual camera oibject. If none then use + /// the object's name + /// + /// + /// + internal static string GetVirtualCameraObjectName(SerializedProperty property) + { + // A little hacky here, as we favour virtual cameras... + var obj = property.serializedObject.targetObject; + GameObject go = obj as GameObject; + if (go == null) + { + var component = obj as Component; + if (component != null) + go = component.gameObject; + } + if (go != null) + { + var vcam = go.GetComponentInParent(); + if (vcam != null) + return vcam.Name; + return go.name; + } + return obj.name; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/InspectorUtility.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/InspectorUtility.cs.meta new file mode 100644 index 00000000..1979233b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/InspectorUtility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ebb13519e7af50b4dbc59d78b3bb6a32 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ReflectionHelpers.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ReflectionHelpers.cs new file mode 100644 index 00000000..7a87414d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ReflectionHelpers.cs @@ -0,0 +1,241 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Reflection; +using System.Text; + +namespace Cinemachine.Utility +{ + /// An ad-hoc collection of helpers for reflection, used by Cinemachine + /// or its editor tools in various places + [DocumentationSorting(DocumentationSortingAttribute.Level.Undoc)] + public static class ReflectionHelpers + { + /// Copy the fields from one object to another + /// The source object to copy from + /// The destination object to copy to + /// The mask to filter the attributes. + /// Only those fields that get caught in the filter will be copied + public static void CopyFields( + System.Object src, System.Object dst, + System.Reflection.BindingFlags bindingAttr + = System.Reflection.BindingFlags.Public + | System.Reflection.BindingFlags.NonPublic + | System.Reflection.BindingFlags.Instance) + { + if (src != null && dst != null) + { + Type type = src.GetType(); + FieldInfo[] fields = type.GetFields(bindingAttr); + for (int i = 0; i < fields.Length; ++i) + if (!fields[i].IsStatic) + fields[i].SetValue(dst, fields[i].GetValue(src)); + } + } + + /// Search the assembly for all types that match a predicate + /// The assembly to search + /// The type to look for + /// A list of types found in the assembly that inherit from the predicate + public static IEnumerable GetTypesInAssembly( + Assembly assembly, Predicate predicate) + { + if (assembly == null) + return null; + + Type[] types = new Type[0]; + try + { + types = assembly.GetTypes(); + } + catch (Exception) + { + // Can't load the types in this assembly + } + types = (from t in types + where t != null && predicate(t) + select t).ToArray(); + return types; + } + + /// Get a type from a name + /// The name of the type to search for + /// The type matching the name, or null if not found + public static Type GetTypeInAllDependentAssemblies(string typeName) + { + foreach (Type type in GetTypesInAllDependentAssemblies(t => t.Name == typeName)) + return type; + return null; + } + + /// Search all assemblies for all types that match a predicate + /// The type to look for + /// A list of types found in the assembly that inherit from the predicate + public static IEnumerable GetTypesInAllDependentAssemblies(Predicate predicate) + { + List foundTypes = new List(100); + Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); + string definedIn = typeof(CinemachineComponentBase).Assembly.GetName().Name; + foreach (Assembly assembly in assemblies) + { + // Note that we have to call GetName().Name. Just GetName() will not work. + if ((!assembly.GlobalAssemblyCache) + && ((assembly.GetName().Name == definedIn) + || assembly.GetReferencedAssemblies().Any(a => a.Name == definedIn))) + try + { + foreach (Type foundType in GetTypesInAssembly(assembly, predicate)) + foundTypes.Add(foundType); + } + catch (Exception) {} // Just skip uncooperative assemblies + } + return foundTypes; + } +#if false + /// call GetTypesInAssembly() for all assemblies that match a predicate + /// Which assemblies to search + /// What type to look for + public static IEnumerable GetTypesInLoadedAssemblies( + Predicate assemblyPredicate, Predicate predicate) + { + Assembly[] assemblies = System.AppDomain.CurrentDomain.GetAssemblies(); + assemblies = assemblies.Where((Assembly assembly) + => { return assemblyPredicate(assembly); }).OrderBy((Assembly ass) + => { return ass.FullName; }).ToArray(); + + List foundTypes = new List(100); + foreach (Assembly assembly in assemblies) + { + foreach (Type foundType in GetTypesInAssembly(assembly, predicate)) + foundTypes.Add(foundType); + } + + return foundTypes; + } + + /// Is a type defined and visible + /// Fullly-qualified type name + /// true if the type exists + public static bool TypeIsDefined(string fullname) + { + Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); + foreach (Assembly assembly in assemblies) + { + try + { + foreach (var type in assembly.GetTypes()) + if (type.FullName == fullname) + return true; + } + catch (System.Exception) {} // Just skip uncooperative assemblies + } + return false; + } +#endif + /// Cheater extension to access internal field of an object + /// The field type + /// The type of the field + /// The object to access + /// The string name of the field to access + /// The value of the field in the objects + public static T AccessInternalField(this Type type, object obj, string memberName) + { + if (string.IsNullOrEmpty(memberName) || (type == null)) + return default(T); + + System.Reflection.BindingFlags bindingFlags = System.Reflection.BindingFlags.NonPublic; + if (obj != null) + bindingFlags |= System.Reflection.BindingFlags.Instance; + else + bindingFlags |= System.Reflection.BindingFlags.Static; + + FieldInfo field = type.GetField(memberName, bindingFlags); + if ((field != null) && (field.FieldType == typeof(T))) + return (T)field.GetValue(obj); + else + return default(T); + } + +#if false + /// Cheater extension to access internal property of an object + /// The field type + /// The type of the field + /// The object to access + /// The string name of the field to access + /// The value of the field in the objects + public static T AccessInternalProperty(this Type type, object obj, string memberName) + { + if (string.IsNullOrEmpty(memberName) || (type == null)) + return default(T); + + System.Reflection.BindingFlags bindingFlags = System.Reflection.BindingFlags.NonPublic; + if (obj != null) + bindingFlags |= System.Reflection.BindingFlags.Instance; + else + bindingFlags |= System.Reflection.BindingFlags.Static; + + PropertyInfo pi = type.GetProperty(memberName, bindingFlags); + if ((pi != null) && (pi.PropertyType == typeof(T))) + return (T)pi.GetValue(obj, null); + else + return default(T); + } +#endif + + /// Get the object owner of a field. This method processes + /// the '.' separator to get from the object that owns the compound field + /// to the object that owns the leaf field + /// The name of the field, which may contain '.' separators + /// the owner of the compound field + /// The object owner of the field + public static object GetParentObject(string path, object obj) + { + var fields = path.Split('.'); + if (fields.Length == 1) + return obj; + + var info = obj.GetType().GetField( + fields[0], System.Reflection.BindingFlags.Public + | System.Reflection.BindingFlags.NonPublic + | System.Reflection.BindingFlags.Instance); + obj = info.GetValue(obj); + + return GetParentObject(string.Join(".", fields, 1, fields.Length - 1), obj); + } + + /// Returns a string path from an expression - mostly used to retrieve serialized properties + /// without hardcoding the field path. Safer, and allows for proper refactoring. + /// Magic expression + /// Magic expression + /// Magic expression + /// The string version of the field path + public static string GetFieldPath(Expression> expr) + { + MemberExpression me; + switch (expr.Body.NodeType) + { + case ExpressionType.MemberAccess: + me = expr.Body as MemberExpression; + break; + default: + throw new InvalidOperationException(); + } + + var members = new List(); + while (me != null) + { + members.Add(me.Member.Name); + me = me.Expression as MemberExpression; + } + + var sb = new StringBuilder(); + for (int i = members.Count - 1; i >= 0; i--) + { + sb.Append(members[i]); + if (i > 0) sb.Append('.'); + } + return sb.ToString(); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ReflectionHelpers.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ReflectionHelpers.cs.meta new file mode 100644 index 00000000..920be326 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ReflectionHelpers.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8986fa27e90db314d8a3359520e7fd1a +timeCreated: 1487370732 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SaveDuringPlay.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SaveDuringPlay.cs new file mode 100644 index 00000000..56baa117 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SaveDuringPlay.cs @@ -0,0 +1,616 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using UnityEditor; +using UnityEngine; +using UnityEngine.Assertions; + +namespace SaveDuringPlay +{ + /// A collection of tools for finding objects + static class ObjectTreeUtil + { + /// + /// Get the full name of an object, travelling up the transform parents to the root. + /// + public static string GetFullName(GameObject current) + { + if (current == null) + return ""; + if (current.transform.parent == null) + return "/" + current.name; + return GetFullName(current.transform.parent.gameObject) + "/" + current.name; + } + + /// + /// Will find the named object, active or inactive, from the full path. + /// + public static GameObject FindObjectFromFullName(string fullName, GameObject[] roots) + { + if (string.IsNullOrEmpty(fullName) || roots == null) + return null; + + string[] path = fullName.Split('/'); + if (path.Length < 2) // skip leading '/' + return null; + + Transform root = null; + for (int i = 0; root == null && i < roots.Length; ++i) + if (roots[i].name == path[1]) + root = roots[i].transform; + + if (root == null) + return null; + + for (int i = 2; i < path.Length; ++i) // skip root + { + bool found = false; + for (int c = 0; c < root.childCount; ++c) + { + Transform child = root.GetChild(c); + if (child.name == path[i]) + { + found = true; + root = child; + break; + } + } + if (!found) + return null; + } + return root.gameObject; + } + + /// Finds all the root objects in a scene, active or not + public static GameObject[] FindAllRootObjectsInScene() + { + return UnityEngine.SceneManagement.SceneManager.GetActiveScene().GetRootGameObjects(); + } + + + /// + /// This finds all the behaviours in scene, active or inactive, excluding prefabs + /// + public static T[] FindAllBehavioursInScene() where T : MonoBehaviour + { + List objectsInScene = new List(); + foreach (T b in Resources.FindObjectsOfTypeAll()) + { + if (b == null) + continue; // object was deleted + GameObject go = b.gameObject; + if (go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave) + continue; + if (EditorUtility.IsPersistent(go.transform.root.gameObject)) + continue; + objectsInScene.Add(b); + } + return objectsInScene.ToArray(); + } + } + + class GameObjectFieldScanner + { + /// + /// Called for each leaf field. Return value should be true if action was taken. + /// It will be propagated back to the caller. + /// + public OnLeafFieldDelegate OnLeafField; + public delegate bool OnLeafFieldDelegate(string fullName, Type type, ref object value); + + /// + /// Called for each field node, if and only if OnLeafField() for it or one + /// of its leaves returned true. + /// + public OnFieldValueChangedDelegate OnFieldValueChanged; + public delegate bool OnFieldValueChangedDelegate( + string fullName, FieldInfo fieldInfo, object fieldOwner, object value); + + /// + /// Called for each field, to test whether to proceed with scanning it. Return true to scan. + /// + public FilterFieldDelegate FilterField; + public delegate bool FilterFieldDelegate(string fullName, FieldInfo fieldInfo); + + /// + /// Called for each behaviour, to test whether to proceed with scanning it. Return true to scan. + /// + public FilterComponentDelegate FilterComponent; + public delegate bool FilterComponentDelegate(MonoBehaviour b); + + /// + /// The leafmost UnityEngine.Object + /// + public UnityEngine.Object LeafObject { get; private set; } + + /// + /// Which fields will be scanned + /// + const BindingFlags kBindingFlags = BindingFlags.Public | BindingFlags.Instance; + + bool ScanFields(string fullName, Type type, ref object obj) + { + bool doneSomething = false; + + // Check if it's a complex type + bool isLeaf = true; + if (obj != null + && !typeof(Component).IsAssignableFrom(type) + && !typeof(ScriptableObject).IsAssignableFrom(type) + && !typeof(GameObject).IsAssignableFrom(type)) + { + if (type.IsArray) + { + isLeaf = false; + var array = obj as Array; + object arrayLength = array.Length; + if (OnLeafField != null && OnLeafField( + fullName + ".Length", arrayLength.GetType(), ref arrayLength)) + { + Array newArray = Array.CreateInstance( + array.GetType().GetElementType(), Convert.ToInt32(arrayLength)); + Array.Copy(array, 0, newArray, 0, Math.Min(array.Length, newArray.Length)); + array = newArray; + doneSomething = true; + } + for (int i = 0; i < array.Length; ++i) + { + object element = array.GetValue(i); + if (ScanFields(fullName + "[" + i + "]", array.GetType().GetElementType(), ref element)) + { + array.SetValue(element, i); + doneSomething = true; + } + } + if (doneSomething) + obj = array; + } + else if (typeof(IList).IsAssignableFrom(type)) + { + isLeaf = false; + var list = obj as IList; + object length = list.Count; + + // restore list size + if (OnLeafField != null && OnLeafField( + fullName + ".Length", length.GetType(), ref length)) + { + var newLength = (int)length; + var currentLength = list.Count; + for (int i = 0; i < currentLength - newLength; ++i) + { + list.RemoveAt(currentLength - i - 1); // make list shorter if needed + } + for (int i = 0; i < newLength - currentLength; ++i) + { + list.Add(GetValue(type.GetGenericArguments()[0])); // make list longer if needed + } + doneSomething = true; + } + + // restore values + for (int i = 0; i < list.Count; ++i) + { + var c = list[i]; + if (ScanFields(fullName + "[" + i + "]", c.GetType(), ref c)) + { + list[i] = c; + doneSomething = true; + } + } + + if (doneSomething) + obj = list; + } + else + { + // Check if it's a complex type + FieldInfo[] fields = obj.GetType().GetFields(kBindingFlags); + if (fields.Length > 0) + { + isLeaf = false; + for (int i = 0; i < fields.Length; ++i) + { + string name = fullName + "." + fields[i].Name; + if (FilterField == null || FilterField(name, fields[i])) + { + object fieldValue = fields[i].GetValue(obj); + if (ScanFields(name, fields[i].FieldType, ref fieldValue)) + { + doneSomething = true; + if (OnFieldValueChanged != null) + OnFieldValueChanged(name, fields[i], obj, fieldValue); + } + } + } + } + } + } + // If it's a leaf field then call the leaf handler + if (isLeaf && OnLeafField != null) + if (OnLeafField(fullName, type, ref obj)) + doneSomething = true; + + return doneSomething; + } + + static object GetValue(Type type) + { + Assert.IsNotNull(type); + return Activator.CreateInstance(type); + } + + bool ScanFields(string fullName, MonoBehaviour b) + { + bool doneSomething = false; + LeafObject = b; + + FieldInfo[] fields = b.GetType().GetFields(kBindingFlags); + if (fields.Length > 0) + { + for (int i = 0; i < fields.Length; ++i) + { + string name = fullName + "." + fields[i].Name; + if (FilterField == null || FilterField(name, fields[i])) + { + object fieldValue = fields[i].GetValue(b); + if (ScanFields(name, fields[i].FieldType, ref fieldValue)) + doneSomething = true; + + // If leaf action was taken, propagate it up to the parent node + if (doneSomething && OnFieldValueChanged != null) + OnFieldValueChanged(fullName, fields[i], b, fieldValue); + } + } + } + return doneSomething; + } + + /// + /// Recursively scan [SaveDuringPlay] MonoBehaviours of a GameObject and its children. + /// For each leaf field found, call the OnFieldValue delegate. + /// + public bool ScanFields(GameObject go, string prefix = null) + { + bool doneSomething = false; + if (prefix == null) + prefix = ""; + else if (prefix.Length > 0) + prefix += "."; + + MonoBehaviour[] components = go.GetComponents(); + for (int i = 0; i < components.Length; ++i) + { + MonoBehaviour c = components[i]; + if (c == null || (FilterComponent != null && !FilterComponent(c))) + continue; + if (ScanFields(prefix + c.GetType().FullName + i, c)) + doneSomething = true; + } + return doneSomething; + } + }; + + /// + /// Using reflection, this class scans a GameObject (and optionally its children) + /// and records all the field settings. This only works for "nice" field settings + /// within MonoBehaviours. Changes to the behaviour stack made between saving + /// and restoring will fool this class. + /// + class ObjectStateSaver + { + string mObjectFullPath; + + Dictionary mValues = new Dictionary(); + + /// + /// Recursively collect all the field values in the MonoBehaviours + /// owned by this object and its descendants. The values are stored + /// in an internal dictionary. + /// + public void CollectFieldValues(GameObject go) + { + mObjectFullPath = ObjectTreeUtil.GetFullName(go); + GameObjectFieldScanner scanner = new GameObjectFieldScanner(); + scanner.FilterField = FilterField; + scanner.FilterComponent = HasSaveDuringPlay; + scanner.OnLeafField = (string fullName, Type type, ref object value) => + { + // Save the value in the dictionary + mValues[fullName] = StringFromLeafObject(value); + //Debug.Log(mObjectFullPath + "." + fullName + " = " + mValues[fullName]); + return false; + }; + scanner.ScanFields(go); + } + + public GameObject FindSavedGameObject(GameObject[] roots) + { + return ObjectTreeUtil.FindObjectFromFullName(mObjectFullPath, roots); + } + + /// + /// Recursively scan the MonoBehaviours of a GameObject and its children. + /// For each field found, look up its value in the internal dictionary. + /// If it's present and its value in the dictionary differs from the actual + /// value in the game object, Set the GameObject's value using the value + /// recorded in the dictionary. + /// + public bool PutFieldValues(GameObject go, GameObject[] roots) + { + GameObjectFieldScanner scanner = new GameObjectFieldScanner(); + scanner.FilterField = FilterField; + scanner.FilterComponent = HasSaveDuringPlay; + scanner.OnLeafField = (string fullName, Type type, ref object value) => + { + // Lookup the value in the dictionary + if (mValues.TryGetValue(fullName, out string savedValue) + && StringFromLeafObject(value) != savedValue) + { + //Debug.Log("Put " + mObjectFullPath + "." + fullName + " = " + mValues[fullName]); + value = LeafObjectFromString(type, mValues[fullName].Trim(), roots); + return true; // changed + } + return false; + }; + scanner.OnFieldValueChanged = (fullName, fieldInfo, fieldOwner, value) => + { + fieldInfo.SetValue(fieldOwner, value); + if (PrefabUtility.GetPrefabInstanceStatus(go) != PrefabInstanceStatus.NotAPrefab) + PrefabUtility.RecordPrefabInstancePropertyModifications(scanner.LeafObject); + return true; + }; + return scanner.ScanFields(go); + } + + /// Ignore fields marked with the [NoSaveDuringPlay] attribute + static bool FilterField(string fullName, FieldInfo fieldInfo) + { + var attrs = fieldInfo.GetCustomAttributes(false); + foreach (var attr in attrs) + if (attr.GetType().Name.Equals("NoSaveDuringPlayAttribute")) + return false; + return true; + } + + /// Only process components with the [SaveDuringPlay] attribute + public static bool HasSaveDuringPlay(MonoBehaviour b) + { + var attrs = b.GetType().GetCustomAttributes(true); + foreach (var attr in attrs) + if (attr.GetType().Name.Equals("SaveDuringPlayAttribute")) + return true; + return false; + } + + /// + /// Parse a string to generate an object. + /// Only very limited primitive object types are supported. + /// Enums, Vectors and most other structures are automatically supported, + /// because the reflection system breaks them down into their primitive components. + /// You can add more support here, as needed. + /// + static object LeafObjectFromString(Type type, string value, GameObject[] roots) + { + if (type == typeof(Single)) + return float.Parse(value); + if (type == typeof(Double)) + return double.Parse(value); + if (type == typeof(Boolean)) + return Boolean.Parse(value); + if (type == typeof(string)) + return value; + if (type == typeof(Int32)) + return Int32.Parse(value); + if (type == typeof(UInt32)) + return UInt32.Parse(value); + if (typeof(Component).IsAssignableFrom(type)) + { + // Try to find the named game object + GameObject go = ObjectTreeUtil.FindObjectFromFullName(value, roots); + return (go != null) ? go.GetComponent(type) : null; + } + if (typeof(GameObject).IsAssignableFrom(type)) + { + // Try to find the named game object + return GameObject.Find(value); + } + if (typeof(ScriptableObject).IsAssignableFrom(type)) + { + return AssetDatabase.LoadAssetAtPath(value, type); + } + return null; + } + + static string StringFromLeafObject(object obj) + { + if (obj == null) + return string.Empty; + + if (typeof(Component).IsAssignableFrom(obj.GetType())) + { + Component c = (Component)obj; + if (c == null) // Component overrides the == operator, so we have to check + return string.Empty; + return ObjectTreeUtil.GetFullName(c.gameObject); + } + if (typeof(GameObject).IsAssignableFrom(obj.GetType())) + { + GameObject go = (GameObject)obj; + if (go == null) // GameObject overrides the == operator, so we have to check + return string.Empty; + return ObjectTreeUtil.GetFullName(go); + } + if (typeof(ScriptableObject).IsAssignableFrom(obj.GetType())) + { + return AssetDatabase.GetAssetPath(obj as ScriptableObject); + } + return obj.ToString(); + } + }; + + + /// + /// For all registered object types, record their state when exiting Play Mode, + /// and restore that state to the objects in the scene. This is a very limited + /// implementation which has not been rigorously tested with many objects types. + /// It's quite possible that not everything will be saved. + /// + /// This class is expected to become obsolete when Unity implements this functionality + /// in a more general way. + /// + /// To use this class, + /// drop this script into your project, and add the [SaveDuringPlay] attribute to your class. + /// + /// Note: if you want some specific field in your class NOT to be saved during play, + /// add a property attribute whose class name contains the string "NoSaveDuringPlay" + /// and the field will not be saved. + /// + [InitializeOnLoad] + public class SaveDuringPlay + { + /// Editor preferences key for SaveDuringPlay enabled + public static string kEnabledKey = "SaveDuringPlay_Enabled"; + + /// Enabled status for SaveDuringPlay. + /// This is a global setting, saved in Editor Prefs + public static bool Enabled + { + get => EditorPrefs.GetBool(kEnabledKey, false); + set + { + if (value != Enabled) + { + EditorPrefs.SetBool(kEnabledKey, value); + } + } + } + + static SaveDuringPlay() + { + // Install our callbacks +#if UNITY_2017_2_OR_NEWER + EditorApplication.playModeStateChanged += OnPlayStateChanged; +#else + EditorApplication.update += OnEditorUpdate; + EditorApplication.playmodeStateChanged += OnPlayStateChanged; +#endif + } + +#if UNITY_2017_2_OR_NEWER + static void OnPlayStateChanged(PlayModeStateChange pmsc) + { + if (Enabled) + { + switch (pmsc) + { + // If exiting playmode, collect the state of all interesting objects + case PlayModeStateChange.ExitingPlayMode: + SaveAllInterestingStates(); + break; + case PlayModeStateChange.EnteredEditMode when sSavedStates != null: + RestoreAllInterestingStates(); + break; + } + } + } +#else + static void OnPlayStateChanged() + { + // If exiting playmode, collect the state of all interesting objects + if (Enabled) + { + if (!EditorApplication.isPlayingOrWillChangePlaymode && EditorApplication.isPlaying) + SaveAllInterestingStates(); + } + } + + static float sWaitStartTime = 0; + static void OnEditorUpdate() + { + if (Enabled && sSavedStates != null && !Application.isPlaying) + { + // Wait a bit for things to settle before applying the saved state + const float WaitTime = 1f; // GML todo: is there a better way to do this? + float time = Time.realtimeSinceStartup; + if (sWaitStartTime == 0) + sWaitStartTime = time; + else if (time - sWaitStartTime > WaitTime) + { + RestoreAllInterestingStates(); + sWaitStartTime = 0; + } + } + } +#endif + + /// + /// If you need to get notified before state is collected for hotsave, this is the place + /// + public static OnHotSaveDelegate OnHotSave; + + /// Delegate for HotSave notification + public delegate void OnHotSaveDelegate(); + + /// Collect all relevant objects, active or not + static HashSet FindInterestingObjects() + { + var objects = new HashSet(); + MonoBehaviour[] everything = ObjectTreeUtil.FindAllBehavioursInScene(); + foreach (var b in everything) + { + if (!objects.Contains(b.gameObject) && ObjectStateSaver.HasSaveDuringPlay(b)) + { + //Debug.Log("Found " + ObjectTreeUtil.GetFullName(b.gameObject) + " for hot-save"); + objects.Add(b.gameObject); + } + } + return objects; + } + + static List sSavedStates = null; + + static void SaveAllInterestingStates() + { + //Debug.Log("Exiting play mode: Saving state for all interesting objects"); + if (OnHotSave != null) + OnHotSave(); + + sSavedStates = new List(); + var objects = FindInterestingObjects(); + foreach (var obj in objects) + { + var saver = new ObjectStateSaver(); + saver.CollectFieldValues(obj); + sSavedStates.Add(saver); + } + if (sSavedStates.Count == 0) + sSavedStates = null; + } + + static void RestoreAllInterestingStates() + { + //Debug.Log("Updating state for all interesting objects"); + bool dirty = false; + GameObject[] roots = ObjectTreeUtil.FindAllRootObjectsInScene(); + foreach (ObjectStateSaver saver in sSavedStates) + { + GameObject go = saver.FindSavedGameObject(roots); + if (go != null) + { + Undo.RegisterFullObjectHierarchyUndo(go, "SaveDuringPlay"); + if (saver.PutFieldValues(go, roots)) + { + //Debug.Log("SaveDuringPlay: updated settings of " + saver.ObjetFullPath); + EditorUtility.SetDirty(go); + dirty = true; + } + } + } + if (dirty) + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + sSavedStates = null; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SaveDuringPlay.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SaveDuringPlay.cs.meta new file mode 100644 index 00000000..8a08625c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SaveDuringPlay.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 24ec24775a1b45e4ea81ac13002dee32 +timeCreated: 1485895820 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ScriptableObjectUtility.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ScriptableObjectUtility.cs new file mode 100644 index 00000000..1d127cbd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ScriptableObjectUtility.cs @@ -0,0 +1,143 @@ +using UnityEngine; +using UnityEditor; +using System.IO; +using System; + +namespace Cinemachine.Editor +{ + /// + /// This is a collection of utilities surrounding ScriptableObjects + /// + public class ScriptableObjectUtility : ScriptableObject + { + /// + /// The default relative path to the root directory where Cinemachine is installed + /// + public static string kPackageRoot = "Packages/com.unity.cinemachine"; + + /// Get the Cinemachine package install path. + public static string CinemachineInstallPath + { + get + { + string path = Path.GetFullPath(kPackageRoot); + path = path.Replace('\\', '/'); // because of GetFullPath() + return path; + } + } + + /// Get the relative Cinemachine package install path. + public static string CinemachineRealativeInstallPath + { + get + { + return kPackageRoot; + } + } + + /// Create a scriptable object asset + /// The type of asset to create + /// The full path and filename of the asset to create + /// The newly-created asset + public static T CreateAt(string assetPath) where T : ScriptableObject + { + return CreateAt(typeof(T), assetPath) as T; + } + + /// Create a scriptable object asset + /// The type of asset to create + /// The full path and filename of the asset to create + /// The newly-created asset + public static ScriptableObject CreateAt(Type assetType, string assetPath) + { + ScriptableObject asset = ScriptableObject.CreateInstance(assetType); + if (asset == null) + { + Debug.LogError("failed to create instance of " + assetType.Name + " at " + assetPath); + return null; + } + AssetDatabase.CreateAsset(asset, assetPath); + return asset; + } + + /// Create a ScriptableObject asset + /// The type of asset to create + /// If true, prepend the selected asset folder name to the asset name + /// If true, remove instances of the "Asset", "Attributes", "Container" strings from the name + public static void Create(bool prependFolderName = false, bool trimName = true) where T : ScriptableObject + { + string className = typeof(T).Name; + string assetName = className; + string folder = GetSelectedAssetFolder(); + + if (trimName) + { + string[] standardNames = new string[] { "Asset", "Attributes", "Container" }; + foreach (string standardName in standardNames) + { + assetName = assetName.Replace(standardName, ""); + } + } + + if (prependFolderName) + { + string folderName = Path.GetFileName(folder); + assetName = (string.IsNullOrEmpty(assetName) ? folderName : string.Format("{0}_{1}", folderName, assetName)); + } + + Create(className, assetName, folder); + } + + private static ScriptableObject Create(string className, string assetName, string folder) + { + ScriptableObject asset = ScriptableObject.CreateInstance(className); + if (asset == null) + { + Debug.LogError("failed to create instance of " + className); + return null; + } + + asset.name = assetName ?? className; + + string assetPath = GetUnusedAssetPath(folder, asset.name); + AssetDatabase.CreateAsset(asset, assetPath); + + return asset; + } + + private static string GetSelectedAssetFolder() + { + if ((Selection.activeObject != null) && AssetDatabase.Contains(Selection.activeObject)) + { + string assetPath = AssetDatabase.GetAssetPath(Selection.activeObject); + string assetPathAbsolute = string.Format("{0}/{1}", Path.GetDirectoryName(Application.dataPath), assetPath); + + if (Directory.Exists(assetPathAbsolute)) + { + return assetPath; + } + else + { + return Path.GetDirectoryName(assetPath); + } + } + + return "Assets"; + } + + private static string GetUnusedAssetPath(string folder, string assetName) + { + for (int n = 0; n < 9999; n++) + { + string assetPath = string.Format("{0}/{1}{2}.asset", folder, assetName, (n == 0 ? "" : n.ToString())); + string existingGUID = AssetDatabase.AssetPathToGUID(assetPath); + if (string.IsNullOrEmpty(existingGUID)) + { + return assetPath; + } + } + + return null; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ScriptableObjectUtility.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ScriptableObjectUtility.cs.meta new file mode 100644 index 00000000..aeba3cc0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/ScriptableObjectUtility.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ba59c38a116ff2f4fb69f825ba0da3bc +timeCreated: 1481654957 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SerializedPropertyHelper.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SerializedPropertyHelper.cs new file mode 100644 index 00000000..c3f8dba0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SerializedPropertyHelper.cs @@ -0,0 +1,73 @@ +using System; +using System.Linq.Expressions; +using UnityEditor; + +namespace Cinemachine.Editor +{ + /// + /// Helpers for the editor relating to SerializedPropertys + /// + public static class SerializedPropertyHelper + { + /// + /// This is a way to get a field name string in such a manner that the compiler will + /// generate errors for invalid fields. Much better than directly using strings. + /// Usage: instead of + /// + /// "m_MyField"; + /// + /// do this: + /// + /// MyClass myclass = null; + /// SerializedPropertyHelper.PropertyName( () => myClass.m_MyField); + /// + /// + /// Magic expression that resolves to a field: () => myClass.m_MyField + /// + public static string PropertyName(Expression> exp) + { + var body = exp.Body as MemberExpression; + if (body == null) + { + var ubody = (UnaryExpression)exp.Body; + body = ubody.Operand as MemberExpression; + } + return body.Member.Name; + } + + /// + /// A compiler-assisted (non-string-based) way to call SerializedProperty.FindProperty + /// + /// The serialized object to search + /// Magic expression that resolves to a field: () => myClass.m_MyField + /// The resulting SerializedProperty, or null + public static SerializedProperty FindProperty(this SerializedObject obj, Expression> exp) + { + return obj.FindProperty(PropertyName(exp)); + } + + /// + /// A compiler-assisted (non-string-based) way to call SerializedProperty.FindPropertyRelative + /// + /// The serialized object to search + /// Magic expression that resolves to a field: () => myClass.m_MyField + /// The resulting SerializedProperty, or null + public static SerializedProperty FindPropertyRelative(this SerializedProperty obj, Expression> exp) + { + return obj.FindPropertyRelative(PropertyName(exp)); + } + + /// Get the value of a proprty, as an object + /// The property to query + /// The object value of the property + public static object GetPropertyValue(SerializedProperty property) + { + var targetObject = property.serializedObject.targetObject; + var targetObjectClassType = targetObject.GetType(); + var field = targetObjectClassType.GetField(property.propertyPath); + if (field != null) + return field.GetValue(targetObject); + return null; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SerializedPropertyHelper.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SerializedPropertyHelper.cs.meta new file mode 100644 index 00000000..b5f06c44 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/SerializedPropertyHelper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a60d9407e2bb20e4ea00281b1e33eae7 +timeCreated: 1488400542 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/VcamStageEditor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/VcamStageEditor.cs new file mode 100644 index 00000000..909d8f87 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/VcamStageEditor.cs @@ -0,0 +1,356 @@ +using UnityEngine; +using UnityEditor; +using System; +using System.Collections.Generic; +using Cinemachine.Utility; + +namespace Cinemachine.Editor +{ + class VcamStageEditor + { + // Static state and caches - Call UpdateStaticData() to refresh this + struct StageData + { + public bool IsExpanded { get; set; } + public string Name; + public Type[] types; // first entry is null + public GUIContent[] PopupOptions; + } + static StageData[] sStageData = null; + + [InitializeOnLoad] + class EditorInitialize + { + // This code dynamically discovers eligible classes and builds the menu + // data for the various component pipeline stages. + static EditorInitialize() + { + sStageData = new StageData[Enum.GetValues(typeof(CinemachineCore.Stage)).Length]; + + var stageTypes = new List[Enum.GetValues(typeof(CinemachineCore.Stage)).Length]; + for (int i = 0; i < stageTypes.Length; ++i) + { + sStageData[i].Name = ((CinemachineCore.Stage)i).ToString(); + stageTypes[i] = new List(); + } + + // Get all ICinemachineComponents + var allTypes + = ReflectionHelpers.GetTypesInAllDependentAssemblies( + (Type t) => typeof(CinemachineComponentBase).IsAssignableFrom(t) && !t.IsAbstract); + + // GML todo: use class attribute instead + // Create a temp game object so we can instance behaviours + GameObject go = new GameObject("Cinemachine Temp Object"); + go.hideFlags = HideFlags.DontSaveInBuild | HideFlags.DontSaveInEditor; + foreach (Type t in allTypes) + { + MonoBehaviour b = go.AddComponent(t) as MonoBehaviour; + CinemachineComponentBase c = b != null ? (CinemachineComponentBase)b : null; + if (c != null) + { + CinemachineCore.Stage stage = c.Stage; + stageTypes[(int)stage].Add(t); + } + } + GameObject.DestroyImmediate(go); + + // Create the static lists + for (int i = 0; i < stageTypes.Length; ++i) + { + stageTypes[i].Insert(0, null); // first item is "none" + sStageData[i].types = stageTypes[i].ToArray(); + GUIContent[] names = new GUIContent[sStageData[i].types.Length]; + for (int n = 0; n < names.Length; ++n) + { + if (n == 0) + { + bool useSimple + = (i == (int)CinemachineCore.Stage.Aim) + || (i == (int)CinemachineCore.Stage.Body); + names[n] = new GUIContent((useSimple) ? "Do nothing" : "none"); + } + else + names[n] = new GUIContent(InspectorUtility.NicifyClassName(sStageData[i].types[n].Name)); + } + sStageData[i].PopupOptions = names; + } + } + } + + /// + /// Hack for vcams because there's no way to find out if an editor is collaped + /// + internal static class ActiveEditorRegistry + { + static HashSet s_ActiveEditorRegistry = new HashSet(); + public static void SetActiveEditor(UnityEditor.Editor e, bool active) + { + if (e != null && active != s_ActiveEditorRegistry.Contains(e)) + { + if (active) + s_ActiveEditorRegistry.Add(e); + else + s_ActiveEditorRegistry.Remove(e); + InspectorUtility.RepaintGameView(); + } + } + public static bool IsActiveEditor(UnityEditor.Editor e) + { + return e == null ? false : s_ActiveEditorRegistry.Contains(e); + } + } + + int m_StageSelection; + bool m_StageError; + bool m_IsMixedType; + CinemachineCore.Stage m_Stage; + List m_EditedComponents; + List m_ScratchComponentList; + UnityEditor.Editor m_ComponentEditor; + System.Reflection.MethodInfo m_ComponentEditorOnSceneGUI; + + // Call this from OnEnable() + public VcamStageEditor(CinemachineCore.Stage stage) + { + m_StageSelection = 0; + m_StageError = false; + m_Stage = stage; + m_EditedComponents = new List(); + m_ScratchComponentList = new List(); + } + + // Call this from OnDisable() + public void Shutdown() + { + ActiveEditorRegistry.SetActiveEditor(m_ComponentEditor, false); + if (m_ComponentEditor != null) + UnityEngine.Object.DestroyImmediate(m_ComponentEditor); + m_ComponentEditor = null; + m_ComponentEditorOnSceneGUI = null; + m_EditedComponents.Clear(); + m_ScratchComponentList.Clear(); + } + + // The current editor for the component (may be null) + public UnityEditor.Editor ComponentEditor { get { return m_ComponentEditor; } } + + // Returns true if there are more than zero options for this pipeline stage + public bool HasImplementation { get { return sStageData[(int)m_Stage].PopupOptions.Length > 1; } } + + // Can the component type be changed by the user? + public bool TypeIsLocked { get; set; } + + // Call this from Editor's OnInspectorGUI + public void OnInspectorGUI() + { + m_ScratchComponentList.Clear(); + int numNullComponents = GetComponent(m_Stage, m_ScratchComponentList); + + // Have the edited components changed? + int numComponents = m_ScratchComponentList.Count; + bool dirty = numComponents != m_EditedComponents.Count; + for (int i = 0; !dirty && i < numComponents; ++i) + dirty = m_ScratchComponentList[i] != m_EditedComponents[i]; + if (dirty) + { + if (m_ComponentEditor != null) + { + ActiveEditorRegistry.SetActiveEditor(m_ComponentEditor, false); + m_ComponentEditor.ResetTarget(); + UnityEngine.Object.DestroyImmediate(m_ComponentEditor); + } + m_ComponentEditor = null; + m_ComponentEditorOnSceneGUI = null; + + m_EditedComponents.Clear(); + m_EditedComponents.AddRange(m_ScratchComponentList); + m_IsMixedType = false; + for (int i = 1; !m_IsMixedType && i < numComponents; ++i) + m_IsMixedType = m_EditedComponents[i].GetType() != m_EditedComponents[i-1].GetType(); + } + if (numNullComponents > 0 && numComponents > 0) + m_IsMixedType = true; + if (numComponents > 0 && m_ComponentEditor == null && !m_IsMixedType) + { + UnityEditor.Editor.CreateCachedEditor(m_EditedComponents.ToArray(), null, ref m_ComponentEditor); + if (m_ComponentEditor != null) + m_ComponentEditorOnSceneGUI = m_ComponentEditor.GetType().GetMethod("OnSceneGUI", + System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + } + m_StageSelection = GetPopupIndexForComponent(numComponents == 0 ? null : m_EditedComponents[0]); + + m_StageError = false; + for (int i = 0; !m_StageError && i < numComponents; ++i) + m_StageError = !m_EditedComponents[i].IsValid; + + DrawComponentInspector(); + } + + public void OnSceneGUI() + { + // Forward to embedded editor + if (m_ComponentEditor != null && m_ComponentEditorOnSceneGUI != null) + m_ComponentEditorOnSceneGUI.Invoke(m_ComponentEditor, null); + } + + private int GetPopupIndexForComponent(CinemachineComponentBase c) + { + if (c != null) + { + var types = sStageData[(int)m_Stage].types; + for (int i = types.Length-1; i > 0; --i) + if (c.GetType() == types[i]) + return i; + } + return 0; // none + } + + private void DrawComponentInspector() + { + const float indentSize = 15; // GML wtf get rid of this + int index = (int)m_Stage; + Rect rect = EditorGUILayout.GetControlRect(true); + + // Don't use PrefixLabel() because it will link the enabled status of field and label + GUIContent label = new GUIContent(InspectorUtility.NicifyClassName(m_Stage.ToString())); + if (m_StageError) + label.image = EditorGUIUtility.IconContent("console.warnicon.sml").image; + float labelWidth = EditorGUIUtility.labelWidth - EditorGUI.indentLevel * indentSize; + Rect r = rect; r.width = labelWidth; + EditorGUI.LabelField(r, label); + + r = rect; r.width -= labelWidth; r.x += labelWidth; + + EditorGUI.BeginChangeCheck(); + bool wasEnabled = GUI.enabled; + if (TypeIsLocked) + GUI.enabled = false; + EditorGUI.showMixedValue = m_IsMixedType; + m_StageSelection = EditorGUI.Popup(r, m_StageSelection, sStageData[index].PopupOptions); + EditorGUI.showMixedValue = false; + GUI.enabled = wasEnabled; + Type type = sStageData[index].types[m_StageSelection]; + if (EditorGUI.EndChangeCheck()) + { + SetComponent(m_Stage, type); + if (m_StageSelection != 0) + sStageData[index].IsExpanded = true; + Shutdown(); + GUIUtility.ExitGUI(); + return; // let the component editor be recreated + } + + // Draw the embedded editor + if (type != null) + { + r = new Rect(rect.x, rect.y, labelWidth, rect.height); + var isExpanded = m_IsMixedType ? false : EditorGUI.Foldout( + r, sStageData[index].IsExpanded, GUIContent.none, true); + if (isExpanded || isExpanded != sStageData[index].IsExpanded) + { + // Make the editor for that stage + ActiveEditorRegistry.SetActiveEditor(m_ComponentEditor, isExpanded); + if (isExpanded && m_ComponentEditor != null) + { + ++EditorGUI.indentLevel; + m_ComponentEditor.OnInspectorGUI(); + --EditorGUI.indentLevel; + } + } + sStageData[index].IsExpanded = isExpanded; + } + } + + // Returns the number of null components in this stage + public delegate int GetComponentDelegate( + CinemachineCore.Stage stage, List result); + public GetComponentDelegate GetComponent; + + public delegate void SetComponentDelegate(CinemachineCore.Stage stage, Type type); + public SetComponentDelegate SetComponent; + } + + internal class VcamStageEditorPipeline + { + static GUIContent ProceduralMotionLabel = new GUIContent( + "Procedural Motion", + "Use the procedural motion algorithms to automatically drive the transform in " + + "relation to the LookAt and Follow targets. \n\n" + + "Body controls the position, and Aim controls the rotation.\n\n" + + "If Do Nothing is selected, " + + "then the transform will not be written to, and can be controlled manually " + + "or otherwise driven by script."); + + VcamStageEditor[] m_subeditors; + + // Call from editor's OnEnable + public void Initialize( + VcamStageEditor.GetComponentDelegate getComponent, + VcamStageEditor.SetComponentDelegate setComponent) + { + m_subeditors = new VcamStageEditor[(int)CinemachineCore.Stage.Finalize]; + for (CinemachineCore.Stage stage = CinemachineCore.Stage.Body; + stage < CinemachineCore.Stage.Finalize; ++stage) + { + var ed = new VcamStageEditor(stage); + m_subeditors[(int)stage] = ed; + ed.GetComponent = getComponent; + ed.SetComponent = setComponent; + } + } + + public void SetStageIsLocked(CinemachineCore.Stage stage) + { + m_subeditors[(int)stage].TypeIsLocked = true; + } + + // Call from editor's OnDisable + public void Shutdown() + { + if (m_subeditors != null) + { + for (int i = 0; i < m_subeditors.Length; ++i) + { + if (m_subeditors[i] != null) + m_subeditors[i].Shutdown(); + m_subeditors[i] = null; + } + m_subeditors = null; + } + } + + // Call from editor's OnInspectorGUI + public void OnInspectorGUI(bool withHeader) + { + if (withHeader) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField(ProceduralMotionLabel, EditorStyles.boldLabel); + } + for (int i = 0; i < m_subeditors.Length; ++i) + { + var ed = m_subeditors[i]; + if (ed == null) + continue; + if (!ed.HasImplementation) + continue; + ed.OnInspectorGUI(); // may destroy component + } + } + + // Call from editor's OnSceneGUI + public void OnSceneGUI() + { + // Forward to the embedded editors + for (int i = 0; i < m_subeditors.Length; ++i) + { + var ed = m_subeditors[i]; + if (ed == null) + continue; + + ed.OnSceneGUI(); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/VcamStageEditor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/VcamStageEditor.cs.meta new file mode 100644 index 00000000..3ab9d5e0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Utility/VcamStageEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68194b7bb9ff1c6489c9c3c87c68c2a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows.meta new file mode 100644 index 00000000..d2329677 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9c644b247df49ee47957d373411a85c3 +folderAsset: yes +timeCreated: 1489096338 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineColliderPrefs.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineColliderPrefs.cs new file mode 100644 index 00000000..813967fc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineColliderPrefs.cs @@ -0,0 +1,85 @@ +using UnityEngine; +using UnityEditor; + +using Cinemachine.Editor; + +namespace Cinemachine +{ + [InitializeOnLoad] + internal static class CinemachineColliderPrefs + { + private static bool SettingsFoldedOut + { + get { return EditorPrefs.GetBool(kColliderSettingsFoldoutKey, false); } + set + { + if (value != SettingsFoldedOut) + { + EditorPrefs.SetBool(kColliderSettingsFoldoutKey, value); + } + } + } + + public static Color FeelerHitColor + { + get + { + return CinemachineSettings.UnpackColour(EditorPrefs.GetString(kFeelerHitColourKey, CinemachineSettings.PackColor(Color.yellow))); + } + + set + { + if (value != FeelerHitColor) + { + EditorPrefs.SetString(kFeelerHitColourKey, CinemachineSettings.PackColor(value)); + } + } + } + + public static Color FeelerColor + { + get + { + return CinemachineSettings.UnpackColour(EditorPrefs.GetString(kFeelerColourKey, CinemachineSettings.PackColor(Color.gray))); + } + + set + { + if (value != FeelerColor) + { + EditorPrefs.SetString(kFeelerColourKey, CinemachineSettings.PackColor(value)); + } + } + } + + private const string kColliderSettingsFoldoutKey = "CNMCN_Collider_Foldout"; + private const string kFeelerHitColourKey = "CNMCN_Collider_FeelerHit_Colour"; + private const string kFeelerColourKey = "CNMCN_Collider_Feeler_Colour"; + + static CinemachineColliderPrefs() + { + Cinemachine.Editor.CinemachineSettings.AdditionalCategories += DrawColliderSettings; + } + + private static void DrawColliderSettings() + { + SettingsFoldedOut = EditorGUILayout.Foldout(SettingsFoldedOut, "Collider Settings", true); + if (SettingsFoldedOut) + { + EditorGUI.indentLevel++; + + EditorGUI.BeginChangeCheck(); + + FeelerHitColor = EditorGUILayout.ColorField("Feeler Hit", FeelerHitColor); + FeelerColor = EditorGUILayout.ColorField("Feeler", FeelerColor); + + if (EditorGUI.EndChangeCheck()) + { + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + } + + EditorGUI.indentLevel--; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineColliderPrefs.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineColliderPrefs.cs.meta new file mode 100644 index 00000000..f2d554cf --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineColliderPrefs.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aceb1a3f85f55c249bba6eaade29f2aa +timeCreated: 1484415513 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineSettings.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineSettings.cs new file mode 100644 index 00000000..3eafb937 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineSettings.cs @@ -0,0 +1,577 @@ +#if !UNITY_2019_1_OR_NEWER +#define CINEMACHINE_UGUI +#endif + +using UnityEngine; +using UnityEditor; +using System; + +namespace Cinemachine.Editor +{ +#if !UNITY_2021_2_OR_NEWER + [InitializeOnLoad] + internal sealed class CinemachineSettings +#else + internal sealed class CinemachineSettings : AssetPostprocessor +#endif + + { + +#if UNITY_2021_2_OR_NEWER + static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths, bool didDomainReload) + { + if (didDomainReload) + { + EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI; + } + } +#endif + + public static class CinemachineCoreSettings + { + private static readonly string hShowInGameGuidesKey = "CNMCN_Core_ShowInGameGuides"; + public static bool ShowInGameGuides + { + get { return EditorPrefs.GetBool(hShowInGameGuidesKey, true); } + set + { + if (ShowInGameGuides != value) + { + EditorPrefs.SetBool(hShowInGameGuidesKey, value); + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + } + } + } + + + static string kUseTimelneScrubbingCache = "CNMCN_Timeeline_UseTimelineScrubbingCache"; + public static bool UseTimelneScrubbingCache + { + get { return EditorPrefs.GetBool(kUseTimelneScrubbingCache, true); } + set + { + if (UseTimelneScrubbingCache != value) + EditorPrefs.SetBool(kUseTimelneScrubbingCache, value); + } + } + + private static readonly string kCoreActiveGizmoColourKey = "CNMCN_Core_Active_Gizmo_Colour"; + public static readonly Color kDefaultActiveColour = new Color32(255, 0, 0, 100); + public static Color ActiveGizmoColour + { + get + { + string packedColour = EditorPrefs.GetString(kCoreActiveGizmoColourKey, PackColor(kDefaultActiveColour)); + return UnpackColour(packedColour); + } + + set + { + if (ActiveGizmoColour != value) + { + string packedColour = PackColor(value); + EditorPrefs.SetString(kCoreActiveGizmoColourKey, packedColour); + } + } + } + + private static readonly string kCoreInactiveGizmoColourKey = "CNMCN_Core_Inactive_Gizmo_Colour"; + public static readonly Color kDefaultInactiveColour = new Color32(9, 54, 87, 100); + public static Color InactiveGizmoColour + { + get + { + string packedColour = EditorPrefs.GetString(kCoreInactiveGizmoColourKey, PackColor(kDefaultInactiveColour)); + return UnpackColour(packedColour); + } + + set + { + if (InactiveGizmoColour != value) + { + string packedColour = PackColor(value); + EditorPrefs.SetString(kCoreInactiveGizmoColourKey, packedColour); + } + } + } + + private static readonly string kCoreBoundaryObjectGizmoColorKey = "CNMCN_Core_BoundaryObject_Gizmo_Colour"; + public static readonly Color kDefaultBoundaryObjectColour = Color.yellow; + public static Color BoundaryObjectGizmoColour + { + get + { + string packedColour = EditorPrefs.GetString(kCoreBoundaryObjectGizmoColorKey, PackColor(kDefaultBoundaryObjectColour)); + return UnpackColour(packedColour); + } + + set + { + if (BoundaryObjectGizmoColour != value) + { + string packedColour = PackColor(value); + EditorPrefs.SetString(kCoreBoundaryObjectGizmoColorKey, packedColour); + } + } + } + } + + public static class ComposerSettings + { + private static readonly string kOverlayOpacityKey = "CNMCN_Overlay_Opacity"; + private static readonly string kComposerHardBoundsColourKey = "CNMCN_Composer_HardBounds_Colour"; + private static readonly string kComposerSoftBoundsColourKey = "CNMCN_Composer_SoftBounds_Colour"; + private static readonly string kComposerTargetColourKey = "CNMCN_Composer_Target_Colour"; + private static readonly string kComposerTargetSizeKey = "CNMCN_Composer_Target_Size"; + + public const float kDefaultOverlayOpacity = 0.15f; + public static readonly Color kDefaultHardBoundsColour = new Color32(255, 0, 72, 255); + public static readonly Color kDefaultSoftBoundsColour = new Color32(0, 194, 255, 255); + public static readonly Color kDefaultTargetColour = new Color32(255, 254, 25, 255); + + public static float OverlayOpacity + { + get { return EditorPrefs.GetFloat(kOverlayOpacityKey, kDefaultOverlayOpacity); } + set + { + if (value != OverlayOpacity) + { + EditorPrefs.SetFloat(kOverlayOpacityKey, value); + } + } + } + + public static Color HardBoundsOverlayColour + { + get + { + string packedColour = EditorPrefs.GetString(kComposerHardBoundsColourKey, PackColor(kDefaultHardBoundsColour)); + return UnpackColour(packedColour); + } + + set + { + if (HardBoundsOverlayColour != value) + { + string packedColour = PackColor(value); + EditorPrefs.SetString(kComposerHardBoundsColourKey, packedColour); + } + } + } + + public static Color SoftBoundsOverlayColour + { + get + { + string packedColour = EditorPrefs.GetString(kComposerSoftBoundsColourKey, PackColor(kDefaultSoftBoundsColour)); + return UnpackColour(packedColour); + } + + set + { + if (SoftBoundsOverlayColour != value) + { + string packedColour = PackColor(value); + EditorPrefs.SetString(kComposerSoftBoundsColourKey, packedColour); + } + } + } + + public static Color TargetColour + { + get + { + string packedColour = EditorPrefs.GetString(kComposerTargetColourKey, PackColor(kDefaultTargetColour)); + return UnpackColour(packedColour); + } + + set + { + if (TargetColour != value) + { + string packedColour = PackColor(value); + EditorPrefs.SetString(kComposerTargetColourKey, packedColour); + } + } + } + + public static float TargetSize + { + get + { + return EditorPrefs.GetFloat(kComposerTargetSizeKey, 5f); + } + + set + { + if (TargetSize != value) + { + EditorPrefs.SetFloat(kComposerTargetSizeKey, value); + } + } + } + } + + private static bool ShowCoreSettings + { + get { return EditorPrefs.GetBool(kCoreSettingsFoldKey, false); } + set + { + if (value != ShowCoreSettings) + { + EditorPrefs.SetBool(kCoreSettingsFoldKey, value); + } + } + } + + private static bool ShowComposerSettings + { + get { return EditorPrefs.GetBool(kComposerSettingsFoldKey, false); } + set + { + if (value != ShowComposerSettings) + { + EditorPrefs.SetBool(kComposerSettingsFoldKey, value); + } + } + } + + private static Texture2D sCinemachineLogoTexture = null; + internal static Texture2D CinemachineLogoTexture + { + get + { + if (sCinemachineLogoTexture == null) + sCinemachineLogoTexture = AssetDatabase.LoadAssetAtPath( + ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/cm_logo_sm.png"); + if (sCinemachineLogoTexture != null) + sCinemachineLogoTexture.hideFlags = HideFlags.DontSaveInEditor; + return sCinemachineLogoTexture; + } + } + + private static Texture2D sCinemachineHeader = null; + internal static Texture2D CinemachineHeader + { + get + { + if (sCinemachineHeader == null) + sCinemachineHeader = AssetDatabase.LoadAssetAtPath( + ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/cinemachine_header.tif"); + ; + if (sCinemachineHeader != null) + sCinemachineHeader.hideFlags = HideFlags.DontSaveInEditor; + return sCinemachineHeader; + } + } + + private static readonly string kCoreSettingsFoldKey = "CNMCN_Core_Folded"; + private static readonly string kComposerSettingsFoldKey = "CNMCN_Composer_Folded"; + + internal static event Action AdditionalCategories = null; + +#if !UNITY_2021_2_OR_NEWER + [InitializeOnLoadMethod] + /// Ensures that CM Brain logo is added to the Main Camera + /// after adding a virtual camera to the project for the first time + static void OnPackageLoadedInEditor() + { +#if UNITY_2020_3_OR_NEWER + // Nothing to load in the context of a secondary process. + if ((int)UnityEditor.MPE.ProcessService.level == 2 /*UnityEditor.MPE.ProcessLevel.Secondary*/) + return; +#endif + if (CinemachineLogoTexture == null) + { + // After adding the CM to a project, we need to wait for one update cycle for the assets to load + EditorApplication.update -= OnPackageLoadedInEditor; + EditorApplication.update += OnPackageLoadedInEditor; + } + else + { + EditorApplication.update -= OnPackageLoadedInEditor; + EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI; // Update hierarchy with CM Brain logo + } + } + + static CinemachineSettings() + { + if (CinemachineLogoTexture != null) + { + EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI; + } + } +#endif + + class Styles { + //private static readonly GUIContent sCoreShowHiddenObjectsToggle = new GUIContent("Show Hidden Objects", "If checked, Cinemachine hidden objects will be shown in the inspector. This might be necessary to repair broken script mappings when upgrading from a pre-release version"); + public static readonly GUIContent sCoreActiveGizmosColour = new GUIContent("Active Virtual Camera", "The colour for the active virtual camera's gizmos"); + public static readonly GUIContent sCoreInactiveGizmosColour = new GUIContent("Inactive Virtual Camera", "The colour for all inactive virtual camera gizmos"); + public static readonly GUIContent sCoreBoundaryObjectGizmosColour = new GUIContent("Boundary Object", "The colour to indicate secondary objects like group boundaries and confiner shapes"); + public static readonly GUIContent sComposerOverlayOpacity = new GUIContent("Overlay Opacity", "The alpha of the composer's overlay when a virtual camera is selected with composer module enabled"); + public static readonly GUIContent sComposerHardBoundsOverlay = new GUIContent("Hard Bounds Overlay", "The colour of the composer overlay's hard bounds region"); + public static readonly GUIContent sComposerSoftBoundsOverlay = new GUIContent("Soft Bounds Overlay", "The colour of the composer overlay's soft bounds region"); + public static readonly GUIContent sComposerTargetOverlay = new GUIContent("Composer Target", "The colour of the composer overlay's target"); + public static readonly GUIContent sComposerTargetOverlayPixels = new GUIContent("Target Size (px)", "The size of the composer overlay's target box in pixels"); + } + + private static Vector2 sScrollPosition = Vector2.zero; + + static GUIContent sDraggableText = new GUIContent("Draggable Game Window Guides", "If checked, game window " + + "guides are draggable in play mode. If false, game window guides are only for visualization"); + static GUIContent sGlobalMuteText = new GUIContent("Storyboard Global Mute", "If checked, all storyboards " + + "are globally muted."); + +#if UNITY_2019_1_OR_NEWER + [SettingsProvider] + static SettingsProvider CreateProjectSettingsProvider() + { + var provider = new SettingsProvider("Preferences/Cinemachine", + SettingsScope.User, SettingsProvider.GetSearchKeywordsFromGUIContentProperties()); + provider.guiHandler = (sarchContext) => OnGUI(); + return provider; + } +#else + [PreferenceItem("Cinemachine")] +#endif + private static void OnGUI() + { + if (CinemachineHeader != null) + { + const float kWidth = 350f; + float aspectRatio = (float)CinemachineHeader.height / (float)CinemachineHeader.width; + GUILayout.BeginScrollView(Vector2.zero, false, false, GUILayout.Width(kWidth), GUILayout.Height(kWidth * aspectRatio)); + Rect texRect = new Rect(0f, 0f, kWidth, kWidth * aspectRatio); + + GUILayout.BeginArea(texRect); + GUI.DrawTexture(texRect, CinemachineHeader, ScaleMode.ScaleToFit); + GUILayout.EndArea(); + + GUILayout.EndScrollView(); + } + + // set label width, so text is not cut for Toggles + float originalLabelWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = GUI.skin.label.CalcSize( + sGlobalMuteText.text.Length > sDraggableText.text.Length ? sGlobalMuteText : sDraggableText).x; + { +#if CINEMACHINE_UGUI + CinemachineStoryboardMute.Enabled = EditorGUILayout.Toggle( + sGlobalMuteText, + CinemachineStoryboardMute.Enabled); +#endif + CinemachineScreenComposerGuidesGlobalDraggable.Enabled = EditorGUILayout.Toggle( + sDraggableText, + CinemachineScreenComposerGuidesGlobalDraggable.Enabled); + } + EditorGUIUtility.labelWidth = originalLabelWidth; + + sScrollPosition = GUILayout.BeginScrollView(sScrollPosition); + + //CinemachineCore.sShowHiddenObjects + // = EditorGUILayout.Toggle("Show Hidden Objects", CinemachineCore.sShowHiddenObjects); + + ShowCoreSettings = EditorGUILayout.Foldout(ShowCoreSettings, "Runtime Settings", true); + if (ShowCoreSettings) + { + EditorGUI.indentLevel++; + EditorGUI.BeginChangeCheck(); + EditorGUILayout.BeginHorizontal(); + EditorGUI.BeginChangeCheck(); + Color newActiveGizmoColour = EditorGUILayout.ColorField(Styles.sCoreActiveGizmosColour, CinemachineCoreSettings.ActiveGizmoColour); + + if (EditorGUI.EndChangeCheck()) + { + CinemachineCoreSettings.ActiveGizmoColour = newActiveGizmoColour; + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + } + + if (GUILayout.Button("Reset")) + { + CinemachineCoreSettings.ActiveGizmoColour = CinemachineCoreSettings.kDefaultActiveColour; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUI.BeginChangeCheck(); + Color newInactiveGizmoColour = EditorGUILayout.ColorField(Styles.sCoreInactiveGizmosColour, CinemachineCoreSettings.InactiveGizmoColour); + + if (EditorGUI.EndChangeCheck()) + { + CinemachineCoreSettings.InactiveGizmoColour = newInactiveGizmoColour; + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + } + + if (GUILayout.Button("Reset")) + { + CinemachineCoreSettings.InactiveGizmoColour = CinemachineCoreSettings.kDefaultInactiveColour; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUI.BeginChangeCheck(); + Color newBoundaryObjectColor = EditorGUILayout.ColorField(Styles.sCoreBoundaryObjectGizmosColour, CinemachineCoreSettings.BoundaryObjectGizmoColour); + + if (EditorGUI.EndChangeCheck()) + { + CinemachineCoreSettings.BoundaryObjectGizmoColour = newBoundaryObjectColor; + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + } + + if (GUILayout.Button("Reset")) + { + CinemachineCoreSettings.BoundaryObjectGizmoColour = CinemachineCoreSettings.kDefaultBoundaryObjectColour; + } + EditorGUILayout.EndHorizontal(); + EditorGUI.indentLevel--; + } + + ShowComposerSettings = EditorGUILayout.Foldout(ShowComposerSettings, "Composer Settings", true); + if (ShowComposerSettings) + { + EditorGUI.indentLevel++; + EditorGUILayout.BeginHorizontal(); + EditorGUI.BeginChangeCheck(); + + float overlayOpacity = EditorGUILayout.Slider(Styles.sComposerOverlayOpacity, ComposerSettings.OverlayOpacity, 0f, 1f); + + if (EditorGUI.EndChangeCheck()) + { + ComposerSettings.OverlayOpacity = overlayOpacity; + } + + if (GUILayout.Button("Reset")) + { + ComposerSettings.OverlayOpacity = ComposerSettings.kDefaultOverlayOpacity; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUI.BeginChangeCheck(); + Color newHardEdgeColor = EditorGUILayout.ColorField(Styles.sComposerHardBoundsOverlay, ComposerSettings.HardBoundsOverlayColour); + + if (EditorGUI.EndChangeCheck()) + { + ComposerSettings.HardBoundsOverlayColour = newHardEdgeColor; + } + + if (GUILayout.Button("Reset")) + { + ComposerSettings.HardBoundsOverlayColour = ComposerSettings.kDefaultHardBoundsColour; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUI.BeginChangeCheck(); + Color newSoftEdgeColor = EditorGUILayout.ColorField(Styles.sComposerSoftBoundsOverlay, ComposerSettings.SoftBoundsOverlayColour); + + if (EditorGUI.EndChangeCheck()) + { + ComposerSettings.SoftBoundsOverlayColour = newSoftEdgeColor; + } + + if (GUILayout.Button("Reset")) + { + ComposerSettings.SoftBoundsOverlayColour = ComposerSettings.kDefaultSoftBoundsColour; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUI.BeginChangeCheck(); + Color newTargetColour = EditorGUILayout.ColorField(Styles.sComposerTargetOverlay, ComposerSettings.TargetColour); + + if (EditorGUI.EndChangeCheck()) + { + ComposerSettings.TargetColour = newTargetColour; + } + + if (GUILayout.Button("Reset")) + { + ComposerSettings.TargetColour = ComposerSettings.kDefaultTargetColour; + } + EditorGUILayout.EndHorizontal(); + + EditorGUI.BeginChangeCheck(); + float targetSide = EditorGUILayout.FloatField(Styles.sComposerTargetOverlayPixels, ComposerSettings.TargetSize); + + if (EditorGUI.EndChangeCheck()) + { + ComposerSettings.TargetSize = targetSide; + } + EditorGUI.indentLevel--; + } + + if (AdditionalCategories != null) + { + AdditionalCategories(); + } + + GUILayout.EndScrollView(); + } + + private static void OnHierarchyGUI(int instanceID, Rect selectionRect) + { + GameObject instance = EditorUtility.InstanceIDToObject(instanceID) as GameObject; + if (instance == null) + { + // Object in process of being deleted? + return; + } + + if (instance.GetComponent() != null) + { + Rect texRect = new Rect(selectionRect.xMax - selectionRect.height, selectionRect.yMin, selectionRect.height, selectionRect.height); + GUI.DrawTexture(texRect, CinemachineLogoTexture, ScaleMode.ScaleAndCrop); + } + } + + internal static Color UnpackColour(string str) + { + if (!string.IsNullOrEmpty(str)) + { + byte[] bytes = Base64Decode(str); + + if ((bytes != null) && bytes.Length == 16) + { + float r = BitConverter.ToSingle(bytes, 0); + float g = BitConverter.ToSingle(bytes, 4); + float b = BitConverter.ToSingle(bytes, 8); + float a = BitConverter.ToSingle(bytes, 12); + + return new Color(r, g, b, a); + } + } + + return Color.white; + } + + internal static string PackColor(Color col) + { + byte[] bytes = new byte[16]; + + byte[] rBytes = BitConverter.GetBytes(col.r); + byte[] gBytes = BitConverter.GetBytes(col.g); + byte[] bBytes = BitConverter.GetBytes(col.b); + byte[] aBytes = BitConverter.GetBytes(col.a); + + Buffer.BlockCopy(rBytes, 0, bytes, 0, 4); + Buffer.BlockCopy(gBytes, 0, bytes, 4, 4); + Buffer.BlockCopy(bBytes, 0, bytes, 8, 4); + Buffer.BlockCopy(aBytes, 0, bytes, 12, 4); + + return Base64Encode(bytes); + } + + private static string Base64Encode(byte[] data) + { + return Convert.ToBase64String(data); + } + + private static byte[] Base64Decode(string base64EncodedData) + { + return Convert.FromBase64String(base64EncodedData); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineSettings.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineSettings.cs.meta new file mode 100644 index 00000000..9c207d2f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/CinemachineSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 74d8c4d6e5d0338469ae46c13725f3ce +timeCreated: 1488314898 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/WaveformWindow.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/WaveformWindow.cs new file mode 100644 index 00000000..bd44a807 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/WaveformWindow.cs @@ -0,0 +1,235 @@ +using UnityEngine; +using UnityEditor; +using System.IO; +using System.Collections.Generic; +using UnityEngine.Rendering; + +namespace Cinemachine.Editor +{ + internal class WaveformWindow : EditorWindow + { + WaveformGenerator mWaveformGenerator; + Texture2D mScreenshot; + string mScreenshotFilename; + + // Controls how frequently (in seconds) the view will update. + // Performance is really bad, so keep this as large as possible. + public static float UpdateInterval = 0.5f; + public static void SetDefaultUpdateInterval() { UpdateInterval = 0.5f; } + + //[MenuItem("Window/Waveform Monitor")] + public static void OpenWindow() + { + WaveformWindow window = EditorWindow.GetWindow(false); + window.autoRepaintOnSceneChange = true; + //window.position = new Rect(100, 100, 400, 400); + window.Show(true); + } + + private void OnEnable() + { + titleContent = new GUIContent("Waveform", CinemachineSettings.CinemachineLogoTexture); + mWaveformGenerator = new WaveformGenerator(); + + mScreenshotFilename = Path.GetFullPath(FileUtil.GetUniqueTempPathInProject() + ".png"); + ScreenCapture.CaptureScreenshot(mScreenshotFilename); + EditorApplication.update += UpdateScreenshot; + } + + private void OnDisable() + { + EditorApplication.update -= UpdateScreenshot; + if (!string.IsNullOrEmpty(mScreenshotFilename) && File.Exists(mScreenshotFilename)) + File.Delete(mScreenshotFilename); + mScreenshotFilename = null; + mWaveformGenerator.DestroyBuffers(); + if (mScreenshot != null) + DestroyImmediate(mScreenshot); + mScreenshot = null; + } + + private void OnGUI() + { + Rect rect = EditorGUILayout.GetControlRect(true); + EditorGUIUtility.labelWidth /= 2; + EditorGUI.BeginChangeCheck(); + mWaveformGenerator.m_Exposure = EditorGUI.Slider( + rect, "Exposure", mWaveformGenerator.m_Exposure, 0.01f, 2); + if (EditorGUI.EndChangeCheck()) + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + EditorGUIUtility.labelWidth *= 2; + rect.y += rect.height; + rect.height = position.height - rect.height; + var tex = mWaveformGenerator.Result; + if (tex != null) + GUI.DrawTexture(rect, tex); + } + + float mLastUpdateTime = 0; + private void UpdateScreenshot() + { + // Don't do this too often + float now = Time.time; + if (mScreenshot != null && now - mLastUpdateTime < UpdateInterval) + return; + + mLastUpdateTime = now; + if (!string.IsNullOrEmpty(mScreenshotFilename) && File.Exists(mScreenshotFilename)) + { + byte[] fileData = File.ReadAllBytes(mScreenshotFilename); + if (mScreenshot == null) + mScreenshot = new Texture2D(2, 2); + mScreenshot.LoadImage(fileData); // this will auto-resize the texture dimensions. + mWaveformGenerator.RenderWaveform(mScreenshot); + + // Capture the next one + ScreenCapture.CaptureScreenshot(mScreenshotFilename); + } + } + + class WaveformGenerator + { + public float m_Exposure = 0.2f; + + RenderTexture mOutput; + ComputeBuffer mData; + + int mThreadGroupSize; + int mThreadGroupSizeX; + int mThreadGroupSizeY; + + ComputeShader mWaveformCompute; + MaterialPropertyBlock mWaveformProperties; + Material mWaveformMaterial; + CommandBuffer mCmd; + + static Mesh sFullscreenTriangle; + static Mesh FullscreenTriangle + { + get + { + if (sFullscreenTriangle == null) + { + sFullscreenTriangle = new Mesh { name = "Fullscreen Triangle" }; + sFullscreenTriangle.SetVertices(new List + { + new Vector3(-1f, -1f, 0f), + new Vector3(-1f, 3f, 0f), + new Vector3( 3f, -1f, 0f) + }); + sFullscreenTriangle.SetIndices( + new [] { 0, 1, 2 }, MeshTopology.Triangles, 0, false); + sFullscreenTriangle.UploadMeshData(false); + } + return sFullscreenTriangle; + } + } + + public WaveformGenerator() + { + mWaveformCompute = AssetDatabase.LoadAssetAtPath( + ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/CMWaveform.compute"); + mWaveformProperties = new MaterialPropertyBlock(); + mWaveformMaterial = new Material(AssetDatabase.LoadAssetAtPath( + ScriptableObjectUtility.CinemachineRealativeInstallPath + + "/Editor/EditorResources/CMWaveform.shader")) + { + name = "CMWaveformMaterial", + hideFlags = HideFlags.DontSave + }; + mCmd = new CommandBuffer(); + } + + void CreateBuffers(int width, int height) + { + if (mOutput == null || !mOutput.IsCreated() + || mOutput.width != width || mOutput.height != height) + { + DestroyImmediate(mOutput); + mOutput = new RenderTexture(width, height, 0, RenderTextureFormat.ARGB32) + { + anisoLevel = 0, + filterMode = FilterMode.Bilinear, + wrapMode = TextureWrapMode.Clamp, + useMipMap = false + }; + mOutput.Create(); + } + + int count = Mathf.CeilToInt(width / (float)mThreadGroupSizeX) * mThreadGroupSizeX * height; + if (mData == null) + mData = new ComputeBuffer(count, sizeof(uint) << 2); + else if (mData.count < count) + { + mData.Release(); + mData = new ComputeBuffer(count, sizeof(uint) << 2); + } + } + + public void DestroyBuffers() + { + if (mData != null) + mData.Release(); + mData = null; + DestroyImmediate(mOutput); + mOutput = null; + } + + public RenderTexture Result { get { return mOutput; } } + + public void RenderWaveform(Texture2D source) + { + if (mWaveformMaterial == null) + return; + + int width = source.width; + int height = source.height; + int histogramResolution = 256; + + mThreadGroupSize = 256; + mThreadGroupSizeX = 16; + mThreadGroupSizeY = 16; + CreateBuffers(width, histogramResolution); + + mCmd.Clear(); + mCmd.BeginSample("CMWaveform"); + + var parameters = new Vector4( + width, height, + QualitySettings.activeColorSpace == ColorSpace.Linear ? 1 : 0, + histogramResolution); + + // Clear the buffer on every frame + int kernel = mWaveformCompute.FindKernel("KCMWaveformClear"); + mCmd.SetComputeBufferParam(mWaveformCompute, kernel, "_WaveformBuffer", mData); + mCmd.SetComputeVectorParam(mWaveformCompute, "_Params", parameters); + mCmd.DispatchCompute(mWaveformCompute, kernel, + Mathf.CeilToInt(width / (float)mThreadGroupSizeX), + Mathf.CeilToInt(histogramResolution / (float)mThreadGroupSizeY), 1); + + // Gather all pixels and fill in our waveform + kernel = mWaveformCompute.FindKernel("KCMWaveformGather"); + mCmd.SetComputeBufferParam(mWaveformCompute, kernel, "_WaveformBuffer", mData); + mCmd.SetComputeTextureParam(mWaveformCompute, kernel, "_Source", source); + mCmd.SetComputeVectorParam(mWaveformCompute, "_Params", parameters); + mCmd.DispatchCompute(mWaveformCompute, kernel, width, + Mathf.CeilToInt(height / (float)mThreadGroupSize), 1); + + // Generate the waveform texture + float exposure = Mathf.Max(0f, m_Exposure); + exposure *= (float)histogramResolution / height; + mWaveformProperties.SetVector(Shader.PropertyToID("_Params"), + new Vector4(width, histogramResolution, exposure, 0f)); + mWaveformProperties.SetBuffer(Shader.PropertyToID("_WaveformBuffer"), mData); + mCmd.SetRenderTarget(mOutput); + mCmd.DrawMesh( + FullscreenTriangle, Matrix4x4.identity, + mWaveformMaterial, 0, 0, mWaveformProperties); + mCmd.EndSample("CMWaveform"); + + Graphics.ExecuteCommandBuffer(mCmd); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/WaveformWindow.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/WaveformWindow.cs.meta new file mode 100644 index 00000000..19c65f24 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/Windows/WaveformWindow.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: a8725b08dfa3851468b1f029bb53c966 +timeCreated: 1517576612 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/com.unity.cinemachine.Editor.asmdef b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/com.unity.cinemachine.Editor.asmdef new file mode 100644 index 00000000..dd981f64 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/com.unity.cinemachine.Editor.asmdef @@ -0,0 +1,91 @@ +{ + "name": "com.unity.cinemachine.editor", + "rootNamespace": "", + "references": [ + "Cinemachine", + "Unity.Timeline", + "Unity.Timeline.Editor", + "Unity.Postprocessing.Runtime", + "Unity.Postprocessing.Editor", + "Unity.RenderPipelines.Core.Runtime", + "Unity.RenderPipelines.Core.Editor", + "Unity.RenderPipelines.HighDefinition.Runtime", + "Unity.RenderPipelines.HighDefinition.Editor", + "Unity.ugui", + "Unity.RenderPipelines.Universal.Runtime", + "Unity.RenderPipelines.Universal.Editor", + "Unity.InputSystem" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [ + { + "name": "com.unity.postprocessing", + "expression": "2.1.0", + "define": "CINEMACHINE_POST_PROCESSING_V2" + }, + { + "name": "com.unity.timeline", + "expression": "0.0.0-builtin", + "define": "CINEMACHINE_TIMELINE" + }, + { + "name": "com.unity.render-pipelines.high-definition", + "expression": "5.3.1", + "define": "CINEMACHINE_HDRP" + }, + { + "name": "com.unity.render-pipelines.high-definition", + "expression": "7.3.1", + "define": "CINEMACHINE_HDRP_7_3_1" + }, + { + "name": "com.unity.modules.physics2d", + "expression": "1.0.0", + "define": "CINEMACHINE_PHYSICS_2D" + }, + { + "name": "com.unity.modules.physics", + "expression": "1.0.0", + "define": "CINEMACHINE_PHYSICS" + }, + { + "name": "com.unity.ugui", + "expression": "1.0.0", + "define": "CINEMACHINE_UGUI" + }, + { + "name": "com.unity.render-pipelines.universal", + "expression": "7.3.1", + "define": "CINEMACHINE_LWRP_7_3_1" + }, + { + "name": "com.unity.timeline", + "expression": "1.5.0-preview.5", + "define": "CINEMACHINE_TIMELINE_1_5_0" + }, + { + "name": "com.unity.modules.animation", + "expression": "1.0.0", + "define": "CINEMACHINE_UNITY_ANIMATION" + }, + { + "name": "com.unity.modules.imgui", + "expression": "1.0.0", + "define": "CINEMACHINE_UNITY_IMGUI" + }, + { + "name": "com.unity.inputsystem", + "expression": "1.0.0", + "define": "CINEMACHINE_UNITY_INPUTSYSTEM" + } + ], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/com.unity.cinemachine.Editor.asmdef.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/com.unity.cinemachine.Editor.asmdef.meta new file mode 100644 index 00000000..4f8a4bd5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Editor/com.unity.cinemachine.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ba8c092d026123a418fb4bfb797a7bd8 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Gizmos.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Gizmos.meta new file mode 100644 index 00000000..f2d03369 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Gizmos.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e23e7b0718e5ff841b3583b60706de89 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Gizmos/cm_logo.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Gizmos/cm_logo.png new file mode 100644 index 00000000..47f19039 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Gizmos/cm_logo.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Gizmos/cm_logo.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Gizmos/cm_logo.png.meta new file mode 100644 index 00000000..c182f4d2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Gizmos/cm_logo.png.meta @@ -0,0 +1,94 @@ +fileFormatVersion: 2 +guid: b8ba3923a6094cd48b85425f47fd7450 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 1 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/LICENSE.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/LICENSE.md new file mode 100644 index 00000000..f96667b2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/LICENSE.md @@ -0,0 +1,8 @@ +Cinemachine copyright © 2021 Unity Technologies + +Licensed under the Unity Companion License for Unity-dependent +projects--see [Unity Companion License](http://www.unity3d.com/legal/licenses/Unity_Companion_License). + +Unless expressly provided otherwise, the Software under this license is made available strictly on an “AS IS” BASIS +WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and +conditions. diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/LICENSE.md.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/LICENSE.md.meta new file mode 100644 index 00000000..7faeeb98 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/LICENSE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 320f1f07d0845624cb1b7a4839826250 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets.meta new file mode 100644 index 00000000..0f697732 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: acfb7c627ec0e8544a0e04b103d45615 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise.meta new file mode 100644 index 00000000..e2cb210f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8f107aadf823af24889bc290a1cca90d +folderAsset: yes +timeCreated: 1455314775 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Shake.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Shake.asset new file mode 100644 index 00000000..12f39c5a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Shake.asset @@ -0,0 +1,87 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: 6D Shake + m_EditorClassIdentifier: + PositionNoise: + - X: + Frequency: 3.2 + Amplitude: 0.011 + Constant: 1 + Y: + Frequency: 1.9 + Amplitude: 0.059 + Constant: 1 + Z: + Frequency: 3.33 + Amplitude: 0.021 + Constant: 1 + - X: + Frequency: 7.7 + Amplitude: 0.009 + Constant: 1 + Y: + Frequency: 9.1 + Amplitude: 0.04 + Constant: 0 + Z: + Frequency: 9.22 + Amplitude: 0.009 + Constant: 1 + - X: + Frequency: 51.51 + Amplitude: 0.002 + Constant: 1 + Y: + Frequency: 55.54 + Amplitude: 0.05 + Constant: 1 + Z: + Frequency: 58.55 + Amplitude: 0.017 + Constant: 1 + OrientationNoise: + - X: + Frequency: 5.83 + Amplitude: 0.09 + Constant: 1 + Y: + Frequency: 1.8 + Amplitude: 0.059 + Constant: 1 + Z: + Frequency: 2.38 + Amplitude: 0.017 + Constant: 1 + - X: + Frequency: 9.17 + Amplitude: 0.14 + Constant: 1 + Y: + Frequency: 11.35 + Amplitude: 0.041 + Constant: 1 + Z: + Frequency: 10.52 + Amplitude: 0.009 + Constant: 1 + - X: + Frequency: 57.17 + Amplitude: 0.15 + Constant: 1 + Y: + Frequency: 54.17 + Amplitude: 0.048 + Constant: 1 + Z: + Frequency: 63.76 + Amplitude: 0.016 + Constant: 1 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Shake.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Shake.asset.meta new file mode 100644 index 00000000..34645af6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Shake.asset.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 69ce8388f6785dd4c8c39915efece2f4 +timeCreated: 1518036470 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Wobble.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Wobble.asset new file mode 100644 index 00000000..4becce89 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Wobble.asset @@ -0,0 +1,88 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: 6D Wobble + m_EditorClassIdentifier: + PositionNoise: + - X: + Frequency: 3.2 + Amplitude: 0.35 + Constant: 0 + Y: + Frequency: 1.9 + Amplitude: 0.35 + Constant: 0 + Z: + Frequency: 3.33 + Amplitude: 0.39 + Constant: 0 + - X: + Frequency: 12.77 + Amplitude: 0.09 + Constant: 0 + Y: + Frequency: 9.8 + Amplitude: 0.23 + Constant: 0 + Z: + Frequency: 9.9 + Amplitude: 0.18 + Constant: 0 + - X: + Frequency: 9.8 + Amplitude: 0.08 + Constant: 0 + Y: + Frequency: 10.21 + Amplitude: 0.2 + Constant: 0 + Z: + Frequency: 16.12 + Amplitude: 0.2 + Constant: 0 + OrientationNoise: + - X: + Frequency: 5.2 + Amplitude: 0.987 + Constant: 0 + Y: + Frequency: 5.39 + Amplitude: 1.34 + Constant: 0 + Z: + Frequency: 2.23 + Amplitude: 2 + Constant: 0 + - X: + Frequency: 9.17 + Amplitude: 0.73 + Constant: 0 + Y: + Frequency: 11.35 + Amplitude: 0.86 + Constant: 0 + Z: + Frequency: 8.31 + Amplitude: 0.51 + Constant: 0 + - X: + Frequency: 13.52 + Amplitude: 0.78 + Constant: 0 + Y: + Frequency: 27.66 + Amplitude: 0.55 + Constant: 0 + Z: + Frequency: 18.91 + Amplitude: 0.28 + Constant: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Wobble.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Wobble.asset.meta new file mode 100644 index 00000000..a2d32203 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/6D Wobble.asset.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e9ce97b7a206dc64d90931ea044e0c72 +timeCreated: 1518036470 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_extreme.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_extreme.asset new file mode 100644 index 00000000..932f84a8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_extreme.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: Handheld_normal_extreme + m_EditorClassIdentifier: + m_Position: [] + m_Orientation: + - X: + Amplitude: 15 + Frequency: 0.2 + Y: + Amplitude: 7 + Frequency: 0.25 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 5 + Frequency: 0.9 + Y: + Amplitude: 3 + Frequency: 1 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 2 + Frequency: 2 + Y: + Amplitude: 1 + Frequency: 0 + Z: + Amplitude: 0 + Frequency: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_extreme.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_extreme.asset.meta new file mode 100644 index 00000000..5514dbae --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_extreme.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 20a705aea2d80e0478fb89b6f43d8530 +timeCreated: 1465497741 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_mild.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_mild.asset new file mode 100644 index 00000000..0fcf853f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_mild.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: Handheld_normal_mild + m_EditorClassIdentifier: + m_Position: [] + m_Orientation: + - X: + Amplitude: 7 + Frequency: 0.15 + Y: + Amplitude: 5 + Frequency: 0.1 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 4 + Frequency: 0.8 + Y: + Amplitude: 2 + Frequency: 0.75 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 1 + Frequency: 1.2 + Y: + Amplitude: 0.8 + Frequency: 1.5 + Z: + Amplitude: 0 + Frequency: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_mild.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_mild.asset.meta new file mode 100644 index 00000000..b0912fec --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_mild.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 46965f9cbaf525742a6da4c2172a99cd +timeCreated: 1461691296 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_strong.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_strong.asset new file mode 100644 index 00000000..2314ece7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_strong.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: Handheld_normal_strong + m_EditorClassIdentifier: + m_Position: [] + m_Orientation: + - X: + Amplitude: 10 + Frequency: .400000006 + Y: + Amplitude: 10 + Frequency: .0599999987 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 5 + Frequency: 1.44000006 + Y: + Amplitude: 3 + Frequency: .730000019 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 3 + Frequency: 2.49000001 + Y: + Amplitude: 1 + Frequency: 2 + Z: + Amplitude: 0 + Frequency: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_strong.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_strong.asset.meta new file mode 100644 index 00000000..22954aff --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_normal_strong.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b241f91b9ccf8ff489abf204b30d3112 +timeCreated: 1461691296 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_mild.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_mild.asset new file mode 100644 index 00000000..cb71840b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_mild.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: Handheld_tele_mild + m_EditorClassIdentifier: + m_Position: [] + m_Orientation: + - X: + Amplitude: 4 + Frequency: .200000003 + Y: + Amplitude: 2 + Frequency: .150000006 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 2 + Frequency: .400000006 + Y: + Amplitude: 2 + Frequency: .5 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 1 + Frequency: .699999988 + Y: + Amplitude: 1 + Frequency: .600000024 + Z: + Amplitude: 0 + Frequency: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_mild.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_mild.asset.meta new file mode 100644 index 00000000..e446851f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_mild.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3dacaec0287d7444b4bd276816e1666 +timeCreated: 1461691921 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_strong.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_strong.asset new file mode 100644 index 00000000..f17cfba5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_strong.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: Handheld_tele_strong + m_EditorClassIdentifier: + m_Position: [] + m_Orientation: + - X: + Amplitude: 6.19000006 + Frequency: .389999986 + Y: + Amplitude: 4 + Frequency: .150000006 + Z: + Amplitude: 1 + Frequency: .100000001 + - X: + Amplitude: 1.84000003 + Frequency: 1.75 + Y: + Amplitude: .5 + Frequency: .899999976 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 2.29999995 + Frequency: 2 + Y: + Amplitude: .5 + Frequency: 1.39999998 + Z: + Amplitude: 0 + Frequency: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_strong.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_strong.asset.meta new file mode 100644 index 00000000..bf9c64e1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_tele_strong.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 554b0ed52734c154eab51f6cedd3a7d7 +timeCreated: 1461691296 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_mild.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_mild.asset new file mode 100644 index 00000000..8202fa25 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_mild.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: Handheld_wideangle_mild + m_EditorClassIdentifier: + m_Position: [] + m_Orientation: + - X: + Amplitude: 12 + Frequency: .150000006 + Y: + Amplitude: 5 + Frequency: .100000001 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 5 + Frequency: .600000024 + Y: + Amplitude: 4 + Frequency: .449999988 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 1 + Frequency: 1.5 + Y: + Amplitude: 1 + Frequency: 1.20000005 + Z: + Amplitude: 0 + Frequency: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_mild.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_mild.asset.meta new file mode 100644 index 00000000..13e433f9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_mild.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8608ec81ee27a15488d33f9dad239e91 +timeCreated: 1461691111 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_strong.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_strong.asset new file mode 100644 index 00000000..eb08b68f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_strong.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: Handheld_wideangle_strong + m_EditorClassIdentifier: + m_Position: [] + m_Orientation: + - X: + Amplitude: 17.4599991 + Frequency: .5 + Y: + Amplitude: 5 + Frequency: .25 + Z: + Amplitude: 0 + Frequency: .100000001 + - X: + Amplitude: 12.4700003 + Frequency: .939999998 + Y: + Amplitude: 4 + Frequency: .5 + Z: + Amplitude: 1 + Frequency: .400000006 + - X: + Amplitude: 4 + Frequency: 1.20000005 + Y: + Amplitude: 2 + Frequency: 1.29999995 + Z: + Amplitude: 0 + Frequency: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_strong.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_strong.asset.meta new file mode 100644 index 00000000..d80c9de7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Presets/Noise/Handheld_wideangle_strong.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 20e46be82478fa24b90f748044c06b4b +timeCreated: 1461691111 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime.meta new file mode 100644 index 00000000..df29d400 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4948b50a839a1c6419fdd70e2555ba44 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/AssemblyInfo.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/AssemblyInfo.cs new file mode 100644 index 00000000..06754244 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/AssemblyInfo.cs @@ -0,0 +1,3 @@ +using System.Runtime.CompilerServices; +[assembly: InternalsVisibleTo("com.unity.cinemachine.editor")] +[assembly: InternalsVisibleTo("Cinemachine.Runtime.Tests")] diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/AssemblyInfo.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/AssemblyInfo.cs.meta new file mode 100644 index 00000000..9f315617 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/AssemblyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c64ec1fa74cb7174da4b9f561a7dffe1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours.meta new file mode 100644 index 00000000..cd02ad9d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fd10c4a322c950342a9d03a14ae879b7 +folderAsset: yes +timeCreated: 1489096338 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/Cinemachine3rdPersonAim.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/Cinemachine3rdPersonAim.cs new file mode 100644 index 00000000..bd187226 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/Cinemachine3rdPersonAim.cs @@ -0,0 +1,151 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#endif + +using UnityEngine; + +namespace Cinemachine +{ +#if CINEMACHINE_PHYSICS + /// + /// An add-on module for Cinemachine Virtual Camera that forces the LookAt + /// point to the center of the screen, based on the Follow target's orientation, + /// cancelling noise and other corrections. + /// This is useful for third-person style aim cameras that want a dead-accurate + /// aim at all times, even in the presence of positional or rotational noise. + /// + [AddComponentMenu("")] // Hide in menu + [ExecuteAlways] + [SaveDuringPlay] + [DisallowMultipleComponent] + public class Cinemachine3rdPersonAim : CinemachineExtension + { + /// Objects on these layers will be detected. + [Header("Aim Target Detection")] + [Tooltip("Objects on these layers will be detected")] + public LayerMask AimCollisionFilter; + + /// Objects with this tag will be ignored. + /// It is a good idea to set this field to the target's tag. + [TagField] + [Tooltip("Objects with this tag will be ignored. " + + "It is a good idea to set this field to the target's tag")] + public string IgnoreTag = string.Empty; + + /// How far to project the object detection ray. + [Tooltip("How far to project the object detection ray")] + public float AimDistance; + + /// This 2D object will be positioned in the game view over the raycast hit point, + /// if any, or will remain in the center of the screen if no hit point is + /// detected. May be null, in which case no on-screen indicator will appear. + [Tooltip("This 2D object will be positioned in the game view over the raycast hit point, if any, " + + "or will remain in the center of the screen if no hit point is detected. " + + "May be null, in which case no on-screen indicator will appear")] + public RectTransform AimTargetReticle; + + /// World space position of where the player would hit if a projectile were to + /// be fired from the player origin. This may be different + /// from state.ReferenceLookAt due to camera offset from player origin. + public Vector3 AimTarget { get; private set; } + + private void OnValidate() + { + AimDistance = Mathf.Max(1, AimDistance); + } + + private void Reset() + { + AimCollisionFilter = 1; + IgnoreTag = string.Empty; + AimDistance = 200.0f; + AimTargetReticle = null; + } + + /// Notification that this virtual camera is going live. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + /// True to request a vcam update of internal state + public override bool OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + CinemachineCore.CameraUpdatedEvent.RemoveListener(DrawReticle); + CinemachineCore.CameraUpdatedEvent.AddListener(DrawReticle); + return false; + } + + void DrawReticle(CinemachineBrain brain) + { + if (!brain.IsLive(VirtualCamera) || brain.OutputCamera == null) + CinemachineCore.CameraUpdatedEvent.RemoveListener(DrawReticle); + else if (AimTargetReticle != null) + AimTargetReticle.position = brain.OutputCamera.WorldToScreenPoint(AimTarget); + } + + Vector3 ComputeLookAtPoint(Vector3 camPos, Transform player) + { + // We don't want to hit targets behind the player + var aimDistance = AimDistance; + var playerOrientation = player.rotation; + var fwd = playerOrientation * Vector3.forward; + var playerPos = Quaternion.Inverse(playerOrientation) * (player.position - camPos); + if (playerPos.z > 0) + { + camPos += fwd * playerPos.z; + aimDistance -= playerPos.z; + } + + aimDistance = Mathf.Max(1, aimDistance); + bool hasHit = RuntimeUtility.RaycastIgnoreTag(new Ray(camPos, fwd), + out RaycastHit hitInfo, aimDistance, AimCollisionFilter, IgnoreTag); + return hasHit ? hitInfo.point : camPos + fwd * aimDistance; + } + + Vector3 ComputeAimTarget(Vector3 cameraLookAt, Transform player) + { + // Adjust for actual player aim target (may be different due to offset) + var playerPos = player.position; + var dir = cameraLookAt - playerPos; + if (RuntimeUtility.RaycastIgnoreTag(new Ray(playerPos, dir), + out RaycastHit hitInfo, dir.magnitude, AimCollisionFilter, IgnoreTag)) + return hitInfo.point; + return cameraLookAt; + } + + /// + /// Sets the ReferenceLookAt to be the result of a raycast in the direction of camera forward. + /// If an object is hit, point is placed there, else it is placed at AimDistance. + /// + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + if (stage == CinemachineCore.Stage.Body) + { + // Raycast to establish what we're actually aiming at + var player = vcam.Follow; + if (player != null) + { + state.ReferenceLookAt = ComputeLookAtPoint(state.CorrectedPosition, player); + AimTarget = ComputeAimTarget(state.ReferenceLookAt, player); + } + } + if (stage == CinemachineCore.Stage.Finalize) + { + // Stabilize the LookAt point in the center of the screen + var dir = state.ReferenceLookAt - state.FinalPosition; + if (dir.sqrMagnitude > 0.01f) + { + state.RawOrientation = Quaternion.LookRotation(dir, state.ReferenceUp); + state.OrientationCorrection = Quaternion.identity; + } + } + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/Cinemachine3rdPersonAim.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/Cinemachine3rdPersonAim.cs.meta new file mode 100644 index 00000000..4800396e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/Cinemachine3rdPersonAim.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2588cc5dedbb75e49a44aada63f7b939 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBlendListCamera.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBlendListCamera.cs new file mode 100644 index 00000000..ef948fe6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBlendListCamera.cs @@ -0,0 +1,387 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_UNITY_IMGUI +#endif + +using Cinemachine.Utility; +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Cinemachine +{ + /// + /// This is a virtual camera "manager" that owns and manages a collection + /// of child Virtual Cameras. When the camera goes live, these child vcams + /// are enabled, one after another, holding each camera for a designated time. + /// Blends between cameras are specified. + /// The last camera is held indefinitely. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [DisallowMultipleComponent] + [ExecuteAlways] + [ExcludeFromPreset] + [AddComponentMenu("Cinemachine/CinemachineBlendListCamera")] + [HelpURL(Documentation.BaseURL + "manual/CinemachineBlendListCamera.html")] + public class CinemachineBlendListCamera : CinemachineVirtualCameraBase + { + /// Default object for the camera children to look at (the aim target), + /// if not specified in a child rig. May be empty + [Tooltip("Default object for the camera children to look at (the aim target), if not " + + "specified in a child camera. May be empty if all of the children define targets of their own.")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_LookAt; + + /// Default object for the camera children wants to move with (the body target), + /// if not specified in a child rig. May be empty + [Tooltip("Default object for the camera children wants to move with (the body target), " + + "if not specified in a child camera. May be empty if all of the children define targets of their own.")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_Follow; + + /// When enabled, the current camera and blend will be indicated in the game window, for debugging + [Tooltip("When enabled, the current child camera and blend will be indicated in the game window, for debugging")] + public bool m_ShowDebugText; + + /// When enabled, the child vcams will cycle indefinitely instead of just stopping at the last one + [Tooltip("When enabled, the child vcams will cycle indefinitely instead of just stopping at the last one")] + public bool m_Loop; + + /// Internal API for the editor. Do not use this field + [SerializeField][HideInInspector][NoSaveDuringPlay] + internal CinemachineVirtualCameraBase[] m_ChildCameras; + + /// This represents a single entry in the instrunction list of the BlendListCamera. + [Serializable] + public struct Instruction + { + /// The virtual camera to activate when this instruction becomes active + [Tooltip("The virtual camera to activate when this instruction becomes active")] + public CinemachineVirtualCameraBase m_VirtualCamera; + /// How long to wait (in seconds) before activating the next virtual camera in the list (if any) + [Tooltip("How long to wait (in seconds) before activating the next virtual camera in the list (if any)")] + public float m_Hold; + /// How to blend to the next virtual camera in the list (if any) + [CinemachineBlendDefinitionProperty] + [Tooltip("How to blend to the next virtual camera in the list (if any)")] + public CinemachineBlendDefinition m_Blend; + }; + + /// The set of instructions associating virtual cameras with states. + /// The set of instructions for enabling child cameras + [Tooltip("The set of instructions for enabling child cameras.")] + public Instruction[] m_Instructions; + + /// Gets a brief debug description of this virtual camera, for use when displayiong debug info + public override string Description + { + get + { + // Show the active camera and blend + if (mActiveBlend != null) + return mActiveBlend.Description; + + ICinemachineCamera vcam = LiveChild; + if (vcam == null) + return "(none)"; + var sb = CinemachineDebug.SBFromPool(); + sb.Append("["); sb.Append(vcam.Name); sb.Append("]"); + string text = sb.ToString(); + CinemachineDebug.ReturnToPool(sb); + return text; + } + } + + void Reset() + { + m_LookAt = null; + m_Follow = null; + m_ShowDebugText = false; + m_Loop = false; + m_Instructions = null; + m_ChildCameras = null; + } + + /// Get the current "best" child virtual camera, that would be chosen + /// if the State Driven Camera were active. + public ICinemachineCamera LiveChild { get; set; } + + /// Check whether the vcam a live child of this camera. + /// The Virtual Camera to check + /// If truw, will only return true if this vcam is the dominat live child + /// True if the vcam is currently actively influencing the state of this vcam + public override bool IsLiveChild(ICinemachineCamera vcam, bool dominantChildOnly = false) + { + return vcam == LiveChild || (mActiveBlend != null && mActiveBlend.Uses(vcam)); + } + + /// The State of the current live child + public override CameraState State { get { return m_State; } } + + /// Get the current LookAt target. Returns parent's LookAt if parent + /// is non-null and no specific LookAt defined for this camera + override public Transform LookAt + { + get { return ResolveLookAt(m_LookAt); } + set { m_LookAt = value; } + } + + /// Get the current Follow target. Returns parent's Follow if parent + /// is non-null and no specific Follow defined for this camera + override public Transform Follow + { + get { return ResolveFollow(m_Follow); } + set { m_Follow = value; } + } + + /// This is called to notify the vcam that a target got warped, + /// so that the vcam can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + UpdateListOfChildren(); + foreach (var vcam in m_ChildCameras) + vcam.OnTargetObjectWarped(target, positionDelta); + base.OnTargetObjectWarped(target, positionDelta); + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + UpdateListOfChildren(); + foreach (var vcam in m_ChildCameras) + vcam.ForceCameraPosition(pos, rot); + base.ForceCameraPosition(pos, rot); + } + + /// Notification that this virtual camera is going live. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + base.OnTransitionFromCamera(fromCam, worldUp, deltaTime); + InvokeOnTransitionInExtensions(fromCam, worldUp, deltaTime); + mActivationTime = CinemachineCore.CurrentTime; + mCurrentInstruction = 0; + LiveChild = null; + mActiveBlend = null; + m_TransitioningFrom = fromCam; + InternalUpdateCameraState(worldUp, deltaTime); + } + + ICinemachineCamera m_TransitioningFrom; + + /// Called by CinemachineCore at designated update time + /// so the vcam can position itself and track its targets. This implementation + /// updates all the children, chooses the best one, and implements any required blending. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) + { + if (!PreviousStateIsValid) + { + mCurrentInstruction = -1; + mActiveBlend = null; + } + + UpdateListOfChildren(); + AdvanceCurrentInstruction(deltaTime); + + CinemachineVirtualCameraBase best = null; + if (mCurrentInstruction >= 0 && mCurrentInstruction < m_Instructions.Length) + best = m_Instructions[mCurrentInstruction].m_VirtualCamera; + + if (best != null) + { + if (!best.gameObject.activeInHierarchy) + { + best.gameObject.SetActive(true); + best.UpdateCameraState(worldUp, deltaTime); + } + ICinemachineCamera previousCam = LiveChild; + LiveChild = best; + + // Are we transitioning cameras? + if (previousCam != LiveChild && LiveChild != null) + { + // Notify incoming camera of transition + LiveChild.OnTransitionFromCamera(previousCam, worldUp, deltaTime); + + // Generate Camera Activation event in the brain if live + CinemachineCore.Instance.GenerateCameraActivationEvent(LiveChild, previousCam); + + if (previousCam != null) + { + // Create a blend (will be null if a cut) + mActiveBlend = CreateBlend( + previousCam, LiveChild, + m_Instructions[mCurrentInstruction].m_Blend, + mActiveBlend); + + // If cutting, generate a camera cut event if live + if (mActiveBlend == null || !mActiveBlend.Uses(previousCam)) + CinemachineCore.Instance.GenerateCameraCutEvent(LiveChild); + } + } + } + + // Advance the current blend (if any) + if (mActiveBlend != null) + { + mActiveBlend.TimeInBlend += (deltaTime >= 0) ? deltaTime : mActiveBlend.Duration; + if (mActiveBlend.IsComplete) + mActiveBlend = null; + } + + if (mActiveBlend != null) + { + mActiveBlend.UpdateCameraState(worldUp, deltaTime); + m_State = mActiveBlend.State; + } + else if (LiveChild != null) + { + if (m_TransitioningFrom != null) + LiveChild.OnTransitionFromCamera(m_TransitioningFrom, worldUp, deltaTime); + m_State = LiveChild.State; + } + m_TransitioningFrom = null; + InvokePostPipelineStageCallback( + this, CinemachineCore.Stage.Finalize, ref m_State, deltaTime); + PreviousStateIsValid = true; + } + + /// Makes sure the internal child cache is up to date + protected override void OnEnable() + { + base.OnEnable(); + InvalidateListOfChildren(); + LiveChild = null; + mActiveBlend = null; + CinemachineDebug.OnGUIHandlers -= OnGuiHandler; + CinemachineDebug.OnGUIHandlers += OnGuiHandler; + } + + /// + /// Uninstall the GUI handler + /// + protected override void OnDisable() + { + base.OnDisable(); + CinemachineDebug.OnGUIHandlers -= OnGuiHandler; + } + + /// Makes sure the internal child cache is up to date + void OnTransformChildrenChanged() + { + InvalidateListOfChildren(); + } + + /// Will only be called if Unity Editor - never in build + private void OnGuiHandler() + { +#if CINEMACHINE_UNITY_IMGUI + if (!m_ShowDebugText) + CinemachineDebug.ReleaseScreenPos(this); + else + { + var sb = CinemachineDebug.SBFromPool(); + sb.Append(Name); sb.Append(": "); sb.Append(Description); + string text = sb.ToString(); + Rect r = CinemachineDebug.GetScreenPos(this, text, GUI.skin.box); + GUI.Label(r, text, GUI.skin.box); + CinemachineDebug.ReturnToPool(sb); + } +#endif + } + + CameraState m_State = CameraState.Default; + + /// The list of child cameras. These are just the immediate children in the hierarchy. + public CinemachineVirtualCameraBase[] ChildCameras { get { UpdateListOfChildren(); return m_ChildCameras; }} + + /// Is there a blend in progress? + public bool IsBlending { get { return mActiveBlend != null; } } + + /// The time at which the current instruction went live + float mActivationTime = -1; + int mCurrentInstruction = 0; + private CinemachineBlend mActiveBlend = null; + + void InvalidateListOfChildren() { m_ChildCameras = null; LiveChild = null; } + + void UpdateListOfChildren() + { + if (m_ChildCameras != null) + return; + List list = new List(); + CinemachineVirtualCameraBase[] kids = GetComponentsInChildren(true); + foreach (CinemachineVirtualCameraBase k in kids) + if (k.transform.parent == transform) + list.Add(k); + m_ChildCameras = list.ToArray(); + ValidateInstructions(); + } + + /// Internal API for the inspector editor. + /// // GML todo: make this private, part of UpdateListOfChildren() + internal void ValidateInstructions() + { + if (m_Instructions == null) + m_Instructions = Array.Empty(); + for (int i = 0; i < m_Instructions.Length; ++i) + { + if (m_Instructions[i].m_VirtualCamera != null + && m_Instructions[i].m_VirtualCamera.transform.parent != transform) + { + m_Instructions[i].m_VirtualCamera = null; + } + } + mActiveBlend = null; + } + + private void AdvanceCurrentInstruction(float deltaTime) + { + if (m_ChildCameras == null || m_ChildCameras.Length == 0 + || mActivationTime < 0 || m_Instructions.Length == 0) + { + mActivationTime = -1; + mCurrentInstruction = -1; + mActiveBlend = null; + return; + } + + float now = CinemachineCore.CurrentTime; + if (mCurrentInstruction < 0 || deltaTime < 0) + { + mActivationTime = now; + mCurrentInstruction = 0; + } + if (mCurrentInstruction > m_Instructions.Length - 1) + { + mActivationTime = now; + mCurrentInstruction = m_Instructions.Length - 1; + } + + var holdTime = m_Instructions[mCurrentInstruction].m_Hold + + m_Instructions[mCurrentInstruction].m_Blend.BlendTime; + var minHold = mCurrentInstruction < m_Instructions.Length - 1 || m_Loop + ? 0 : float.MaxValue; + if (now - mActivationTime > Mathf.Max(minHold, holdTime)) + { + mActivationTime = now; + ++mCurrentInstruction; + if (m_Loop && mCurrentInstruction == m_Instructions.Length) + mCurrentInstruction = 0; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBlendListCamera.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBlendListCamera.cs.meta new file mode 100644 index 00000000..ecb63d32 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBlendListCamera.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 53258ad9ad6e71e48bb8643c9522112e +timeCreated: 1509546373 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBrain.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBrain.cs new file mode 100644 index 00000000..3a943bea --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBrain.cs @@ -0,0 +1,1023 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_UNITY_IMGUI +#endif + +using Cinemachine.Utility; +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.SceneManagement; + +#if CINEMACHINE_HDRP || CINEMACHINE_LWRP_7_3_1 + #if CINEMACHINE_HDRP_7_3_1 + using UnityEngine.Rendering.HighDefinition; + #else + #if CINEMACHINE_LWRP_7_3_1 + using UnityEngine.Rendering.Universal; + #else + using UnityEngine.Experimental.Rendering.HDPipeline; + #endif + #endif +#endif + +namespace Cinemachine +{ + /// + /// This interface is specifically for Timeline. Do not use it. + /// + public interface ICameraOverrideStack + { + /// + /// Override the current camera and current blend. This setting will trump + /// any in-game logic that sets virtual camera priorities and Enabled states. + /// This is the main API for the timeline. + /// + /// Id to represent a specific client. An internal + /// stack is maintained, with the most recent non-empty override taking precenence. + /// This id must be > 0. If you pass -1, a new id will be created, and returned. + /// Use that id for subsequent calls. Don't forget to + /// call ReleaseCameraOverride after all overriding is finished, to + /// free the OverideStack resources. + /// The camera to set, corresponding to weight=0. + /// The camera to set, corresponding to weight=1. + /// The blend weight. 0=camA, 1=camB. + /// Override for deltaTime. Should be Time.FixedDelta for + /// time-based calculations to be included, -1 otherwise. + /// The override ID. Don't forget to call ReleaseCameraOverride + /// after all overriding is finished, to free the OverideStack resources. + int SetCameraOverride( + int overrideId, + ICinemachineCamera camA, ICinemachineCamera camB, + float weightB, float deltaTime); + + /// + /// See SetCameraOverride. Call ReleaseCameraOverride after all overriding + /// is finished, to free the OverrideStack resources. + /// + /// The ID to released. This is the value that + /// was returned by SetCameraOverride + void ReleaseCameraOverride(int overrideId); + + /// + /// Get the current definition of Up. May be different from Vector3.up. + /// + Vector3 DefaultWorldUp { get; } + } + + + /// + /// CinemachineBrain is the link between the Unity Camera and the Cinemachine Virtual + /// Cameras in the scene. It monitors the priority stack to choose the current + /// Virtual Camera, and blend with another if necessary. Finally and most importantly, + /// it applies the Virtual Camera state to the attached Unity Camera. + /// + /// The CinemachineBrain is also the place where rules for blending between virtual cameras + /// are defined. Camera blending is an interpolation over time of one virtual camera + /// position and state to another. If you think of virtual cameras as cameramen, then + /// blending is a little like one cameraman smoothly passing the camera to another cameraman. + /// You can specify the time over which to blend, as well as the blend curve shape. + /// Note that a camera cut is just a zero-time blend. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] +// [RequireComponent(typeof(Camera))] // strange but true: we can live without it + [DisallowMultipleComponent] + [ExecuteAlways] + [AddComponentMenu("Cinemachine/CinemachineBrain")] + [SaveDuringPlay] + [HelpURL(Documentation.BaseURL + "manual/CinemachineBrainProperties.html")] + public class CinemachineBrain : MonoBehaviour, ICameraOverrideStack + { + /// + /// When enabled, the current camera and blend will be indicated in the + /// game window, for debugging. + /// + [Tooltip("When enabled, the current camera and blend will be indicated in " + + "the game window, for debugging")] + public bool m_ShowDebugText = false; + + /// + /// When enabled, shows the camera's frustum in the scene view. + /// + [Tooltip("When enabled, the camera's frustum will be shown at all times " + + "in the scene view")] + public bool m_ShowCameraFrustum = true; + + /// + /// When enabled, the cameras will always respond in real-time to user input and damping, + /// even if the game is running in slow motion + /// + [Tooltip("When enabled, the cameras will always respond in real-time to user input " + + "and damping, even if the game is running in slow motion")] + public bool m_IgnoreTimeScale = false; + + /// + /// If set, this object's Y axis will define the worldspace Up vector for all the + /// virtual cameras. This is useful in top-down game environments. If not set, Up is worldspace Y. + /// + [Tooltip("If set, this object's Y axis will define the worldspace Up vector for all the " + + "virtual cameras. This is useful for instance in top-down game environments. " + + "If not set, Up is worldspace Y. Setting this appropriately is important, " + + "because Virtual Cameras don't like looking straight up or straight down.")] + public Transform m_WorldUpOverride; + + /// This enum defines the options available for the update method. + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum UpdateMethod + { + /// Virtual cameras are updated in sync with the Physics module, in FixedUpdate + FixedUpdate, + /// Virtual cameras are updated in MonoBehaviour LateUpdate. + LateUpdate, + /// Virtual cameras are updated according to how the target is updated. + SmartUpdate, + /// Virtual cameras are not automatically updated, client must explicitly call + /// the CinemachineBrain's ManualUpdate() method. + ManualUpdate + }; + + /// Depending on how the target objects are animated, adjust the update method to + /// minimize the potential jitter. Use FixedUpdate if all your targets are animated with for RigidBody animation. + /// SmartUpdate will choose the best method for each virtual camera, depending + /// on how the target is animated. + [Tooltip("The update time for the vcams. Use FixedUpdate if all your targets are animated " + + "during FixedUpdate (e.g. RigidBodies), LateUpdate if all your targets are animated " + + "during the normal Update loop, and SmartUpdate if you want Cinemachine to do the " + + "appropriate thing on a per-target basis. SmartUpdate is the recommended setting")] + public UpdateMethod m_UpdateMethod = UpdateMethod.SmartUpdate; + + /// This enum defines the options available for the update method. + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum BrainUpdateMethod + { + /// Camera is updated in sync with the Physics module, in FixedUpdate + FixedUpdate, + /// Camera is updated in MonoBehaviour LateUpdate (or when ManualUpdate is called). + LateUpdate + }; + + /// The update time for the Brain, i.e. when the blends are evaluated and the + /// brain's transform is updated. + [Tooltip("The update time for the Brain, i.e. when the blends are evaluated and " + + "the brain's transform is updated")] + public BrainUpdateMethod m_BlendUpdateMethod = BrainUpdateMethod.LateUpdate; + + /// + /// The blend which is used if you don't explicitly define a blend between two Virtual Cameras. + /// + [CinemachineBlendDefinitionProperty] + [Tooltip("The blend that is used in cases where you haven't explicitly defined a " + + "blend between two Virtual Cameras")] + public CinemachineBlendDefinition m_DefaultBlend + = new CinemachineBlendDefinition(CinemachineBlendDefinition.Style.EaseInOut, 2f); + + /// + /// This is the asset which contains custom settings for specific blends. + /// + [Tooltip("This is the asset that contains custom settings for blends between " + + "specific virtual cameras in your scene")] + public CinemachineBlenderSettings m_CustomBlends = null; + + /// + /// Get the Unity Camera that is attached to this GameObject. This is the camera + /// that will be controlled by the brain. + /// + public Camera OutputCamera + { + get + { + if (m_OutputCamera == null && !Application.isPlaying) + ControlledObject.TryGetComponent(out m_OutputCamera); + return m_OutputCamera; + } + } + private Camera m_OutputCamera = null; // never use directly - use accessor + + /// + /// CinemachineBrain controls this GameObject. Normally, this is the GameObject to which + /// the CinemachineBrain component is attached. However, it is possible to override this + /// by setting this property to another GameObject. If a Camera component is attached to the + /// Controlled Object, then that Camera component's lens settings will also be driven + /// by the CinemachineBrain. + /// If this property is set to null, then CinemachineBrain is controlling the GameObject + /// to which it is attached. The value of this property will always report as non-null. + /// + public GameObject ControlledObject + { + get => m_TargetOverride == null ? gameObject : m_TargetOverride; + set + { + if (!ReferenceEquals(m_TargetOverride, value)) + { + m_TargetOverride = value; + ControlledObject.TryGetComponent(out m_OutputCamera); // update output camera when target changes + } + } + } + + private GameObject m_TargetOverride = null; // never use directly - use accessor + + /// Event with a CinemachineBrain parameter + [Serializable] public class BrainEvent : UnityEvent {} + + /// + /// Event that is fired when a virtual camera is activated. + /// The parameters are (incoming_vcam, outgoing_vcam), in that order. + /// + [Serializable] public class VcamActivatedEvent : UnityEvent {} + + /// This event will fire whenever a virtual camera goes live and there is no blend + [Tooltip("This event will fire whenever a virtual camera goes live and there is no blend")] + public BrainEvent m_CameraCutEvent = new BrainEvent(); + + /// This event will fire whenever a virtual camera goes live. If a blend is involved, + /// then the event will fire on the first frame of the blend. + /// + /// The Parameters are (incoming_vcam, outgoing_vcam), in that order. + [Tooltip("This event will fire whenever a virtual camera goes live. If a blend is " + + "involved, then the event will fire on the first frame of the blend.")] + public VcamActivatedEvent m_CameraActivatedEvent = new VcamActivatedEvent(); + + /// + /// API for the Unity Editor. + /// Show this camera no matter what. This is static, and so affects all Cinemachine brains. + /// + public static ICinemachineCamera SoloCamera + { + get { return mSoloCamera; } + set + { + if (value != null && !CinemachineCore.Instance.IsLive(value)) + value.OnTransitionFromCamera(null, Vector3.up, CinemachineCore.DeltaTime); + mSoloCamera = value; + } + } + + /// API for the Unity Editor. + /// Color used to indicate that a camera is in Solo mode. + public static Color GetSoloGUIColor() { return Color.Lerp(Color.red, Color.yellow, 0.8f); } + + /// Get the default world up for the virtual cameras. + public Vector3 DefaultWorldUp + { get { return (m_WorldUpOverride != null) ? m_WorldUpOverride.transform.up : Vector3.up; } } + + private static ICinemachineCamera mSoloCamera; + private Coroutine mPhysicsCoroutine; + + private int m_LastFrameUpdated; + + private void OnEnable() + { + // Make sure there is a first stack frame + if (mFrameStack.Count == 0) + mFrameStack.Add(new BrainFrame()); + + CinemachineCore.Instance.AddActiveBrain(this); + CinemachineDebug.OnGUIHandlers -= OnGuiHandler; + CinemachineDebug.OnGUIHandlers += OnGuiHandler; + + // We check in after the physics system has had a chance to move things + mPhysicsCoroutine = StartCoroutine(AfterPhysics()); + + SceneManager.sceneLoaded += OnSceneLoaded; + SceneManager.sceneUnloaded += OnSceneUnloaded; + } + + private void OnDisable() + { + SceneManager.sceneLoaded -= OnSceneLoaded; + SceneManager.sceneUnloaded -= OnSceneUnloaded; + + CinemachineDebug.OnGUIHandlers -= OnGuiHandler; + CinemachineCore.Instance.RemoveActiveBrain(this); + mFrameStack.Clear(); + StopCoroutine(mPhysicsCoroutine); + } + + void OnSceneLoaded(Scene scene, LoadSceneMode mode) + { + if (Time.frameCount == m_LastFrameUpdated && mFrameStack.Count > 0) + ManualUpdate(); + } + void OnSceneUnloaded(Scene scene) + { + if (Time.frameCount == m_LastFrameUpdated && mFrameStack.Count > 0) + ManualUpdate(); + } + + void Awake() + { + ControlledObject.TryGetComponent(out m_OutputCamera); + } + + void Start() + { + m_LastFrameUpdated = -1; + UpdateVirtualCameras(CinemachineCore.UpdateFilter.Late, -1f); + } + + private void OnGuiHandler() + { +#if CINEMACHINE_UNITY_IMGUI + if (!m_ShowDebugText) + CinemachineDebug.ReleaseScreenPos(this); + else + { + // Show the active camera and blend + var sb = CinemachineDebug.SBFromPool(); + Color color = GUI.color; + sb.Length = 0; + sb.Append("CM "); + sb.Append(gameObject.name); + sb.Append(": "); + if (SoloCamera != null) + { + sb.Append("SOLO "); + GUI.color = GetSoloGUIColor(); + } + + if (IsBlending) + sb.Append(ActiveBlend.Description); + else + { + ICinemachineCamera vcam = ActiveVirtualCamera; + if (vcam == null) + sb.Append("(none)"); + else + { + sb.Append("["); + sb.Append(vcam.Name); + sb.Append("]"); + } + } + string text = sb.ToString(); + Rect r = CinemachineDebug.GetScreenPos(this, text, GUI.skin.box); + GUI.Label(r, text, GUI.skin.box); + GUI.color = color; + CinemachineDebug.ReturnToPool(sb); + } +#endif + } + +#if UNITY_EDITOR + private void OnGUI() + { + if (CinemachineDebug.OnGUIHandlers != null) + CinemachineDebug.OnGUIHandlers(); + } +#endif + + WaitForFixedUpdate mWaitForFixedUpdate = new WaitForFixedUpdate(); + private IEnumerator AfterPhysics() + { + while (true) + { + // FixedUpdate can be called multiple times per frame + yield return mWaitForFixedUpdate; + if (m_UpdateMethod == UpdateMethod.FixedUpdate + || m_UpdateMethod == UpdateMethod.SmartUpdate) + { + CinemachineCore.UpdateFilter filter = CinemachineCore.UpdateFilter.Fixed; + if (m_UpdateMethod == UpdateMethod.SmartUpdate) + { + // Track the targets + UpdateTracker.OnUpdate(UpdateTracker.UpdateClock.Fixed); + filter = CinemachineCore.UpdateFilter.SmartFixed; + } + UpdateVirtualCameras(filter, GetEffectiveDeltaTime(true)); + } + // Choose the active vcam and apply it to the Unity camera + if (m_BlendUpdateMethod == BrainUpdateMethod.FixedUpdate) + { + UpdateFrame0(Time.fixedDeltaTime); + ProcessActiveCamera(Time.fixedDeltaTime); + } + } + } + + private void LateUpdate() + { + if (m_UpdateMethod != UpdateMethod.ManualUpdate) + ManualUpdate(); + } + + /// + /// Call this method explicitly from an external script to update the virtual cameras + /// and position the main camera, if the UpdateMode is set to ManualUpdate. + /// For other update modes, this method is called automatically, and should not be + /// called from elsewhere. + /// + public void ManualUpdate() + { + m_LastFrameUpdated = Time.frameCount; + + float deltaTime = GetEffectiveDeltaTime(false); + if (!Application.isPlaying || m_BlendUpdateMethod != BrainUpdateMethod.FixedUpdate) + UpdateFrame0(deltaTime); + + ComputeCurrentBlend(ref mCurrentLiveCameras, 0); + + if (m_UpdateMethod == UpdateMethod.FixedUpdate) + { + // Special handling for fixed update: cameras that have been enabled + // since the last physics frame must be updated now + if (m_BlendUpdateMethod != BrainUpdateMethod.FixedUpdate) + { + CinemachineCore.Instance.m_CurrentUpdateFilter = CinemachineCore.UpdateFilter.Fixed; + if (SoloCamera == null) + mCurrentLiveCameras.UpdateCameraState( + DefaultWorldUp, GetEffectiveDeltaTime(true)); + } + } + else + { + CinemachineCore.UpdateFilter filter = CinemachineCore.UpdateFilter.Late; + if (m_UpdateMethod == UpdateMethod.SmartUpdate) + { + // Track the targets + UpdateTracker.OnUpdate(UpdateTracker.UpdateClock.Late); + filter = CinemachineCore.UpdateFilter.SmartLate; + } + UpdateVirtualCameras(filter, deltaTime); + } + + // Choose the active vcam and apply it to the Unity camera + if (!Application.isPlaying || m_BlendUpdateMethod != BrainUpdateMethod.FixedUpdate) + ProcessActiveCamera(deltaTime); + } + +#if UNITY_EDITOR + /// This is only needed in editor mode to force timeline to call OnGUI while + /// timeline is up and the game is not running, in order to allow dragging + /// the composer guide in the game view. + private void OnPreCull() + { + if (!Application.isPlaying) + { + // Note: this call will cause any screen canvas attached to the camera + // to be painted one frame out of sync. It will only happen in the editor when not playing. + ProcessActiveCamera(GetEffectiveDeltaTime(false)); + } + } +#endif + + private float GetEffectiveDeltaTime(bool fixedDelta) + { + if (CinemachineCore.UniformDeltaTimeOverride >= 0) + return CinemachineCore.UniformDeltaTimeOverride; + + if (SoloCamera != null) + return Time.unscaledDeltaTime; + + if (!Application.isPlaying) + { + for (int i = mFrameStack.Count - 1; i > 0; --i) + { + var frame = mFrameStack[i]; + if (frame.Active) + return frame.deltaTimeOverride; + } + return -1; + } + if (m_IgnoreTimeScale) + return fixedDelta ? Time.fixedDeltaTime : Time.unscaledDeltaTime; + return fixedDelta ? Time.fixedDeltaTime : Time.deltaTime; + } + + private void UpdateVirtualCameras(CinemachineCore.UpdateFilter updateFilter, float deltaTime) + { + // We always update all active virtual cameras + CinemachineCore.Instance.m_CurrentUpdateFilter = updateFilter; + Camera camera = OutputCamera; + CinemachineCore.Instance.UpdateAllActiveVirtualCameras( + camera == null ? -1 : camera.cullingMask, DefaultWorldUp, deltaTime); + + // Make sure all live cameras get updated, in case some of them are deactivated + if (SoloCamera != null) + SoloCamera.UpdateCameraState(DefaultWorldUp, deltaTime); + mCurrentLiveCameras.UpdateCameraState(DefaultWorldUp, deltaTime); + + // Restore the filter for general use + updateFilter = CinemachineCore.UpdateFilter.Late; + if (Application.isPlaying) + { + if (m_UpdateMethod == UpdateMethod.SmartUpdate) + updateFilter |= CinemachineCore.UpdateFilter.Smart; + else if (m_UpdateMethod == UpdateMethod.FixedUpdate) + updateFilter = CinemachineCore.UpdateFilter.Fixed; + } + CinemachineCore.Instance.m_CurrentUpdateFilter = updateFilter; + } + + /// + /// Get the current active virtual camera. + /// + public ICinemachineCamera ActiveVirtualCamera + { + get + { + if (SoloCamera != null) + return SoloCamera; + return DeepCamBFromBlend(mCurrentLiveCameras); + } + } + + static ICinemachineCamera DeepCamBFromBlend(CinemachineBlend blend) + { + ICinemachineCamera vcam = blend.CamB; + while (vcam != null) + { + if (!vcam.IsValid) + return null; // deleted! + BlendSourceVirtualCamera bs = vcam as BlendSourceVirtualCamera; + if (bs == null) + break; + vcam = bs.Blend.CamB; + } + return vcam; + } + + /// + /// Checks if the vcam is live as part of an outgoing blend. + /// Does not check whether the vcam is also the current active vcam. + /// + /// The virtual camera to check + /// True if the virtual camera is part of a live outgoing blend, false otherwise + public bool IsLiveInBlend(ICinemachineCamera vcam) + { + // Ignore mCurrentLiveCameras.CamB + if (vcam == mCurrentLiveCameras.CamA) + return true; + var b = mCurrentLiveCameras.CamA as BlendSourceVirtualCamera; + if (b != null && b.Blend.Uses(vcam)) + return true; + ICinemachineCamera parent = vcam.ParentCamera; + if (parent != null && parent.IsLiveChild(vcam, false)) + return IsLiveInBlend(parent); + return false; + } + + /// + /// Is there a blend in progress? + /// + public bool IsBlending { get { return ActiveBlend != null; } } + + /// + /// Get the current blend in progress. Returns null if none. + /// It is also possible to set the current blend, but this is not a recommended usage. + /// + public CinemachineBlend ActiveBlend + { + get + { + if (SoloCamera != null) + return null; + if (mCurrentLiveCameras.CamA == null || mCurrentLiveCameras.Equals(null) || mCurrentLiveCameras.IsComplete) + return null; + return mCurrentLiveCameras; + } + set + { + if (value == null) + mFrameStack[0].blend.Duration = 0; + else + mFrameStack[0].blend = value; + } + } + + private class BrainFrame + { + public int id; + public CinemachineBlend blend = new CinemachineBlend(null, null, null, 0, 0); + public bool Active { get { return blend.IsValid; } } + + // Working data - updated every frame + public CinemachineBlend workingBlend = new CinemachineBlend(null, null, null, 0, 0); + public BlendSourceVirtualCamera workingBlendSource = new BlendSourceVirtualCamera(null); + + // Used by Timeline Preview for overriding the current value of deltaTime + public float deltaTimeOverride; + + // Used for blend reversal. Range is 0...1, + // representing where the blend started when reversed mid-blend + public float blendStartPosition; + } + + // Current game state is always frame 0, overrides are subsequent frames + private List mFrameStack = new List(); + private int mNextFrameId = 1; + + /// Get the frame index corresponding to the ID + private int GetBrainFrame(int withId) + { + int count = mFrameStack.Count; + for (int i = count - 1; i > 0; --i) + if (mFrameStack[i].id == withId) + return i; + // Not found - add it + mFrameStack.Add(new BrainFrame() { id = withId }); + return mFrameStack.Count - 1; + } + + // Current Brain State - result of all frames. Blend camB is "current" camera always + CinemachineBlend mCurrentLiveCameras = new CinemachineBlend(null, null, null, 0, 0); + + // To avoid GC memory alloc every frame + private static readonly AnimationCurve mDefaultLinearAnimationCurve = AnimationCurve.Linear(0, 0, 1, 1); + + /// + /// This API is specifically for Timeline. Do not use it. + /// Override the current camera and current blend. This setting will trump + /// any in-game logic that sets virtual camera priorities and Enabled states. + /// This is the main API for the timeline. + /// + /// Id to represent a specific client. An internal + /// stack is maintained, with the most recent non-empty override taking precenence. + /// This id must be > 0. If you pass -1, a new id will be created, and returned. + /// Use that id for subsequent calls. Don't forget to + /// call ReleaseCameraOverride after all overriding is finished, to + /// free the OverideStack resources. + /// The camera to set, corresponding to weight=0 + /// The camera to set, corresponding to weight=1 + /// The blend weight. 0=camA, 1=camB + /// override for deltaTime. Should be Time.FixedDelta for + /// time-based calculations to be included, -1 otherwise + /// The oiverride ID. Don't forget to call ReleaseCameraOverride + /// after all overriding is finished, to free the OverideStack resources. + public int SetCameraOverride( + int overrideId, + ICinemachineCamera camA, ICinemachineCamera camB, + float weightB, float deltaTime) + { + if (overrideId < 0) + overrideId = mNextFrameId++; + + BrainFrame frame = mFrameStack[GetBrainFrame(overrideId)]; + frame.deltaTimeOverride = deltaTime; + frame.blend.CamA = camA; + frame.blend.CamB = camB; + frame.blend.BlendCurve = mDefaultLinearAnimationCurve; + frame.blend.Duration = 1; + frame.blend.TimeInBlend = weightB; + + // In case vcams are inactive game objects, make sure they get initialized properly + var cam = camA as CinemachineVirtualCameraBase; + if (cam != null) + cam.EnsureStarted(); + cam = camB as CinemachineVirtualCameraBase; + if (cam != null) + cam.EnsureStarted(); + + return overrideId; + } + + /// + /// This API is specifically for Timeline. Do not use it. + /// Release the resources used for a camera override client. + /// See SetCameraOverride. + /// + /// The ID to released. This is the value that + /// was returned by SetCameraOverride + public void ReleaseCameraOverride(int overrideId) + { + for (int i = mFrameStack.Count - 1; i > 0; --i) + { + if (mFrameStack[i].id == overrideId) + { + mFrameStack.RemoveAt(i); + return; + } + } + } + + ICinemachineCamera mActiveCameraPreviousFrame; + GameObject mActiveCameraPreviousFrameGameObject; + + private void ProcessActiveCamera(float deltaTime) + { + var activeCamera = ActiveVirtualCamera; + if (SoloCamera != null) + { + var state = SoloCamera.State; + PushStateToUnityCamera(ref state); + } + else if (activeCamera == null) + { + // No active virtal camera. We create a state representing its position + // and call the callback, but we don't actively set the transform or lens + var state = CameraState.Default; + var target = ControlledObject.transform; + state.RawPosition = target.position; + state.RawOrientation = target.rotation; + state.Lens = LensSettings.FromCamera(m_OutputCamera); + state.BlendHint |= CameraState.BlendHintValue.NoTransform | CameraState.BlendHintValue.NoLens; + PushStateToUnityCamera(ref state); + } + else + { + // Has the current camera changed this frame? + if (mActiveCameraPreviousFrameGameObject == null) + mActiveCameraPreviousFrame = null; // object was deleted + if (activeCamera != mActiveCameraPreviousFrame) + { + // Notify incoming camera of transition + activeCamera.OnTransitionFromCamera( + mActiveCameraPreviousFrame, DefaultWorldUp, deltaTime); + if (m_CameraActivatedEvent != null) + m_CameraActivatedEvent.Invoke(activeCamera, mActiveCameraPreviousFrame); + + // If we're cutting without a blend, send an event + if (!IsBlending || (mActiveCameraPreviousFrame != null + && !ActiveBlend.Uses(mActiveCameraPreviousFrame))) + { + if (m_CameraCutEvent != null) + m_CameraCutEvent.Invoke(this); + if (CinemachineCore.CameraCutEvent != null) + CinemachineCore.CameraCutEvent.Invoke(this); + } + // Re-update in case it's inactive + activeCamera.UpdateCameraState(DefaultWorldUp, deltaTime); + } + // Apply the vcam state to the Unity camera + var state = mCurrentLiveCameras.State; + PushStateToUnityCamera(ref state); + } + mActiveCameraPreviousFrame = activeCamera; + mActiveCameraPreviousFrameGameObject + = activeCamera == null ? null : activeCamera.VirtualCameraGameObject; + } + + private void UpdateFrame0(float deltaTime) + { + // Make sure there is a first stack frame + if (mFrameStack.Count == 0) + mFrameStack.Add(new BrainFrame()); + + // Update the in-game frame (frame 0) + BrainFrame frame = mFrameStack[0]; + + // Are we transitioning cameras? + var activeCamera = TopCameraFromPriorityQueue(); + var outGoingCamera = frame.blend.CamB; + + if (activeCamera != outGoingCamera) + { + // Do we need to create a game-play blend? + if ((UnityEngine.Object)activeCamera != null + && (UnityEngine.Object)outGoingCamera != null && deltaTime >= 0) + { + // Create a blend (curve will be null if a cut) + var blendDef = LookupBlend(outGoingCamera, activeCamera); + float blendDuration = blendDef.BlendTime; + float blendStartPosition = 0; + if (blendDef.BlendCurve != null && blendDuration > UnityVectorExtensions.Epsilon) + { + if (frame.blend.IsComplete) + frame.blend.CamA = outGoingCamera; // new blend + else + { + // Special case: if backing out of a blend-in-progress + // with the same blend in reverse, adjust the blend time + // to cancel out the progress made in the opposite direction + if ((frame.blend.CamA == activeCamera + || (frame.blend.CamA as BlendSourceVirtualCamera)?.Blend.CamB == activeCamera) + && frame.blend.CamB == outGoingCamera) + { + // How far have we blended? That is what we must undo + var progress = frame.blendStartPosition + + (1 - frame.blendStartPosition) * frame.blend.TimeInBlend / frame.blend.Duration; + blendDuration *= progress; + blendStartPosition = 1 - progress; + } + // Chain to existing blend + frame.blend.CamA = new BlendSourceVirtualCamera( + new CinemachineBlend( + frame.blend.CamA, frame.blend.CamB, + frame.blend.BlendCurve, frame.blend.Duration, + frame.blend.TimeInBlend)); + } + } + frame.blend.BlendCurve = blendDef.BlendCurve; + frame.blend.Duration = blendDuration; + frame.blend.TimeInBlend = 0; + frame.blendStartPosition = blendStartPosition; + } + // Set the current active camera + frame.blend.CamB = activeCamera; + } + + // Advance the current blend (if any) + if (frame.blend.CamA != null) + { + frame.blend.TimeInBlend += (deltaTime >= 0) ? deltaTime : frame.blend.Duration; + if (frame.blend.IsComplete) + { + // No more blend + frame.blend.CamA = null; + frame.blend.BlendCurve = null; + frame.blend.Duration = 0; + frame.blend.TimeInBlend = 0; + } + } + } + + /// + /// Used internally to compute the currrent blend, taking into account + /// the in-game camera and all the active overrides. Caller may optionally + /// exclude n topmost overrides. + /// + /// Receives the nested blend + /// Optionaly exclude the last number + /// of overrides from the blend + public void ComputeCurrentBlend( + ref CinemachineBlend outputBlend, int numTopLayersToExclude) + { + // Make sure there is a first stack frame + if (mFrameStack.Count == 0) + mFrameStack.Add(new BrainFrame()); + + // Resolve the current working frame states in the stack + int lastActive = 0; + int topLayer = Mathf.Max(1, mFrameStack.Count - numTopLayersToExclude); + for (int i = 0; i < topLayer; ++i) + { + BrainFrame frame = mFrameStack[i]; + if (i == 0 || frame.Active) + { + frame.workingBlend.CamA = frame.blend.CamA; + frame.workingBlend.CamB = frame.blend.CamB; + frame.workingBlend.BlendCurve = frame.blend.BlendCurve; + frame.workingBlend.Duration = frame.blend.Duration; + frame.workingBlend.TimeInBlend = frame.blend.TimeInBlend; + if (i > 0 && !frame.blend.IsComplete) + { + if (frame.workingBlend.CamA == null) + { + if (mFrameStack[lastActive].blend.IsComplete) + frame.workingBlend.CamA = mFrameStack[lastActive].blend.CamB; + else + { + frame.workingBlendSource.Blend = mFrameStack[lastActive].workingBlend; + frame.workingBlend.CamA = frame.workingBlendSource; + } + } + else if (frame.workingBlend.CamB == null) + { + if (mFrameStack[lastActive].blend.IsComplete) + frame.workingBlend.CamB = mFrameStack[lastActive].blend.CamB; + else + { + frame.workingBlendSource.Blend = mFrameStack[lastActive].workingBlend; + frame.workingBlend.CamB = frame.workingBlendSource; + } + } + } + lastActive = i; + } + } + var workingBlend = mFrameStack[lastActive].workingBlend; + outputBlend.CamA = workingBlend.CamA; + outputBlend.CamB = workingBlend.CamB; + outputBlend.BlendCurve = workingBlend.BlendCurve; + outputBlend.Duration = workingBlend.Duration; + outputBlend.TimeInBlend = workingBlend.TimeInBlend; + } + + /// + /// True if the ICinemachineCamera the current active camera, + /// or part of a current blend, either directly or indirectly because its parents are live. + /// + /// The camera to test whether it is live + /// If true, will only return true if this vcam is the dominat live child + /// True if the camera is live (directly or indirectly) + /// or part of a blend in progress. + public bool IsLive(ICinemachineCamera vcam, bool dominantChildOnly = false) + { + if (SoloCamera == vcam) + return true; + if (mCurrentLiveCameras.Uses(vcam)) + return true; + + ICinemachineCamera parent = vcam.ParentCamera; + while (parent != null && parent.IsLiveChild(vcam, dominantChildOnly)) + { + if (SoloCamera == parent || mCurrentLiveCameras.Uses(parent)) + return true; + vcam = parent; + parent = vcam.ParentCamera; + } + return false; + } + + /// + /// The current state applied to the unity camera (may be the result of a blend) + /// + public CameraState CurrentCameraState { get; private set; } + + /// + /// Get the highest-priority Enabled ICinemachineCamera + /// that is visible to my camera. Culling Mask is used to test visibility. + /// + private ICinemachineCamera TopCameraFromPriorityQueue() + { + CinemachineCore core = CinemachineCore.Instance; + Camera outputCamera = OutputCamera; + int mask = outputCamera == null ? ~0 : outputCamera.cullingMask; + int numCameras = core.VirtualCameraCount; + for (int i = 0; i < numCameras; ++i) + { + var cam = core.GetVirtualCamera(i); + GameObject go = cam != null ? cam.gameObject : null; + if (go != null && (mask & (1 << go.layer)) != 0) + return cam; + } + return null; + } + + /// + /// Create a blend curve for blending from one ICinemachineCamera to another. + /// If there is a specific blend defined for these cameras it will be used, otherwise + /// a default blend will be created, which could be a cut. + /// + private CinemachineBlendDefinition LookupBlend( + ICinemachineCamera fromKey, ICinemachineCamera toKey) + { + // Get the blend curve that's most appropriate for these cameras + CinemachineBlendDefinition blend = m_DefaultBlend; + if (m_CustomBlends != null) + { + string fromCameraName = (fromKey != null) ? fromKey.Name : string.Empty; + string toCameraName = (toKey != null) ? toKey.Name : string.Empty; + blend = m_CustomBlends.GetBlendForVirtualCameras( + fromCameraName, toCameraName, blend); + } + if (CinemachineCore.GetBlendOverride != null) + blend = CinemachineCore.GetBlendOverride(fromKey, toKey, blend, this); + return blend; + } + + /// Apply a cref="CameraState"/> to the game object + private void PushStateToUnityCamera(ref CameraState state) + { + CurrentCameraState = state; + var target = ControlledObject.transform; + if ((state.BlendHint & CameraState.BlendHintValue.NoPosition) == 0) + target.position = state.FinalPosition; + if ((state.BlendHint & CameraState.BlendHintValue.NoOrientation) == 0) + target.rotation = state.FinalOrientation; + if ((state.BlendHint & CameraState.BlendHintValue.NoLens) == 0) + { + Camera cam = OutputCamera; + if (cam != null) + { + cam.nearClipPlane = state.Lens.NearClipPlane; + cam.farClipPlane = state.Lens.FarClipPlane; + cam.orthographicSize = state.Lens.OrthographicSize; + cam.fieldOfView = state.Lens.FieldOfView; + cam.lensShift = state.Lens.LensShift; + if (state.Lens.ModeOverride != LensSettings.OverrideModes.None) + cam.orthographic = state.Lens.Orthographic; + bool isPhysical = state.Lens.ModeOverride == LensSettings.OverrideModes.None + ? cam.usePhysicalProperties : state.Lens.IsPhysicalCamera; + cam.usePhysicalProperties = isPhysical; + if (isPhysical && state.Lens.IsPhysicalCamera) + { + cam.sensorSize = state.Lens.SensorSize; + cam.gateFit = state.Lens.GateFit; + cam.focalLength = Camera.FieldOfViewToFocalLength(state.Lens.FieldOfView, state.Lens.SensorSize.y); +#if UNITY_2022_2_OR_NEWER + cam.focusDistance = state.Lens.FocusDistance; +#endif + +#if CINEMACHINE_HDRP + #if CINEMACHINE_HDRP_14 + cam.iso = state.Lens.Iso; + cam.shutterSpeed = state.Lens.ShutterSpeed; + cam.aperture = state.Lens.Aperture; + cam.bladeCount = state.Lens.BladeCount; + cam.curvature = state.Lens.Curvature; + cam.barrelClipping = state.Lens.BarrelClipping; + cam.anamorphism = state.Lens.Anamorphism; + #else + cam.TryGetComponent(out var hda); + if (hda != null) + { + hda.physicalParameters.iso = state.Lens.Iso; + hda.physicalParameters.shutterSpeed = state.Lens.ShutterSpeed; + hda.physicalParameters.aperture = state.Lens.Aperture; + hda.physicalParameters.bladeCount = state.Lens.BladeCount; + hda.physicalParameters.curvature = state.Lens.Curvature; + hda.physicalParameters.barrelClipping = state.Lens.BarrelClipping; + hda.physicalParameters.anamorphism = state.Lens.Anamorphism; + } + #endif +#endif + } + } + } + if (CinemachineCore.CameraUpdatedEvent != null) + CinemachineCore.CameraUpdatedEvent.Invoke(this); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBrain.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBrain.cs.meta new file mode 100644 index 00000000..d52c3b58 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineBrain.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 72ece51f2901e7445ab60da3685d6b5f +timeCreated: 1493069520 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 100 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCameraOffset.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCameraOffset.cs new file mode 100644 index 00000000..bbf15c32 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCameraOffset.cs @@ -0,0 +1,70 @@ +using UnityEngine; +using Cinemachine.Utility; +using Cinemachine; + +/// +/// An add-on module for Cinemachine Virtual Camera that adds a final offset to the camera +/// +[AddComponentMenu("")] // Hide in menu +[ExecuteAlways] +[HelpURL(Documentation.BaseURL + "api/Cinemachine.CinemachineCameraOffset.html")] +[SaveDuringPlay] +public class CinemachineCameraOffset : CinemachineExtension +{ + /// + /// Offset the camera's position by this much (camera space) + /// + [Tooltip("Offset the camera's position by this much (camera space)")] + public Vector3 m_Offset = Vector3.zero; + + /// + /// When to apply the offset + /// + [Tooltip("When to apply the offset")] + public CinemachineCore.Stage m_ApplyAfter = CinemachineCore.Stage.Aim; + + /// + /// If applying offset after aim, re-adjust the aim to preserve the screen position + /// of the LookAt target as much as possible + /// + [Tooltip("If applying offset after aim, re-adjust the aim to preserve the screen position" + + " of the LookAt target as much as possible")] + public bool m_PreserveComposition; + + /// + /// Applies the specified offset to the camera state + /// + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + if (stage == m_ApplyAfter) + { + bool preserveAim = m_PreserveComposition + && state.HasLookAt && stage > CinemachineCore.Stage.Body; + + Vector3 screenOffset = Vector2.zero; + if (preserveAim) + { + screenOffset = state.RawOrientation.GetCameraRotationToTarget( + state.ReferenceLookAt - state.CorrectedPosition, state.ReferenceUp); + } + + Vector3 offset = state.RawOrientation * m_Offset; + state.PositionCorrection += offset; + if (!preserveAim) + state.ReferenceLookAt += offset; + else + { + var q = Quaternion.LookRotation( + state.ReferenceLookAt - state.CorrectedPosition, state.ReferenceUp); + q = q.ApplyCameraRotation(-screenOffset, state.ReferenceUp); + state.RawOrientation = q; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCameraOffset.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCameraOffset.cs.meta new file mode 100644 index 00000000..470a18ac --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCameraOffset.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 44d70cc20219cd84593f67d248eafe36 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineClearShot.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineClearShot.cs new file mode 100644 index 00000000..7af5136d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineClearShot.cs @@ -0,0 +1,470 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using System.Collections.Generic; +using UnityEngine; +using Cinemachine.Utility; + +namespace Cinemachine +{ +#if CINEMACHINE_PHYSICS + /// + /// Cinemachine ClearShot is a "manager camera" that owns and manages a set of + /// Virtual Camera gameObject children. When Live, the ClearShot will check the + /// children, and choose the one with the best quality shot and make it Live. + /// + /// This can be a very powerful tool. If the child cameras have CinemachineCollider + /// extensions, they will analyze the scene for target obstructions, optimal target + /// distance, and other items, and report their assessment of shot quality back to + /// the ClearShot parent, who will then choose the best one. You can use this to set + /// up complex multi-camera coverage of a scene, and be assured that a clear shot of + /// the target will always be available. + /// + /// If multiple child cameras have the same shot quality, the one with the highest + /// priority will be chosen. + /// + /// You can also define custom blends between the ClearShot children. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [DisallowMultipleComponent] + [ExecuteAlways] + [ExcludeFromPreset] + [AddComponentMenu("Cinemachine/CinemachineClearShot")] + [HelpURL(Documentation.BaseURL + "manual/CinemachineClearShot.html")] + public class CinemachineClearShot : CinemachineVirtualCameraBase + { + /// Default object for the camera children to look at (the aim target), if not specified in a child camera. May be empty. + [Tooltip("Default object for the camera children to look at (the aim target), if not specified in a child camera. May be empty if all children specify targets of their own.")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_LookAt = null; + + /// Default object for the camera children wants to move with (the body target), if not specified in a child camera. May be empty. + [Tooltip("Default object for the camera children wants to move with (the body target), if not specified in a child camera. May be empty if all children specify targets of their own.")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_Follow = null; + + /// When enabled, the current camera and blend will be indicated in the game window, for debugging + [Tooltip("When enabled, the current child camera and blend will be indicated in the game window, for debugging")] + [NoSaveDuringPlay] + public bool m_ShowDebugText = false; + + /// Internal API for the editor. Do not use this filed. + [SerializeField, HideInInspector, NoSaveDuringPlay] + internal CinemachineVirtualCameraBase[] m_ChildCameras = null; + + /// Wait this many seconds before activating a new child camera + [Tooltip("Wait this many seconds before activating a new child camera")] + public float m_ActivateAfter; + + /// An active camera must be active for at least this many seconds + [Tooltip("An active camera must be active for at least this many seconds")] + public float m_MinDuration; + + /// If checked, camera choice will be randomized if multiple cameras are equally desirable. Otherwise, child list order will be used + [Tooltip("If checked, camera choice will be randomized if multiple cameras are equally desirable. Otherwise, child list order and child camera priority will be used.")] + public bool m_RandomizeChoice = false; + + /// The blend which is used if you don't explicitly define a blend between two Virtual Cameras + [CinemachineBlendDefinitionProperty] + [Tooltip("The blend which is used if you don't explicitly define a blend between two Virtual Cameras")] + public CinemachineBlendDefinition m_DefaultBlend + = new CinemachineBlendDefinition(CinemachineBlendDefinition.Style.Cut, 0); + + /// This is the asset which contains custom settings for specific blends + [HideInInspector] + public CinemachineBlenderSettings m_CustomBlends = null; + + /// Gets a brief debug description of this virtual camera, for use when displayiong debug info + public override string Description + { + get + { + // Show the active camera and blend + if (mActiveBlend != null) + return mActiveBlend.Description; + + ICinemachineCamera vcam = LiveChild; + if (vcam == null) + return "(none)"; + var sb = CinemachineDebug.SBFromPool(); + sb.Append("["); sb.Append(vcam.Name); sb.Append("]"); + string text = sb.ToString(); + CinemachineDebug.ReturnToPool(sb); + return text; + } + } + + /// Get the current "best" child virtual camera, that would be chosen + /// if the ClearShot camera were active. + public ICinemachineCamera LiveChild { get; set; } + + /// The CameraState of the currently live child + public override CameraState State { get { return m_State; } } + + /// Check whether the vcam a live child of this camera. + /// The Virtual Camera to check + /// If truw, will only return true if this vcam is the dominat live child + /// True if the vcam is currently actively influencing the state of this vcam + public override bool IsLiveChild(ICinemachineCamera vcam, bool dominantChildOnly = false) + { + return vcam == LiveChild || (mActiveBlend != null && mActiveBlend.Uses(vcam)); + } + + /// Get the current LookAt target. Returns parent's LookAt if parent + /// is non-null and no specific LookAt defined for this camera + override public Transform LookAt + { + get { return ResolveLookAt(m_LookAt); } + set { m_LookAt = value; } + } + + /// Get the current Follow target. Returns parent's Follow if parent + /// is non-null and no specific Follow defined for this camera + override public Transform Follow + { + get { return ResolveFollow(m_Follow); } + set { m_Follow = value; } + } + + /// This is called to notify the vcam that a target got warped, + /// so that the vcam can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + UpdateListOfChildren(); + foreach (var vcam in m_ChildCameras) + vcam.OnTargetObjectWarped(target, positionDelta); + base.OnTargetObjectWarped(target, positionDelta); + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + UpdateListOfChildren(); + foreach (var vcam in m_ChildCameras) + vcam.ForceCameraPosition(pos, rot); + base.ForceCameraPosition(pos, rot); + } + + /// Internal use only. Called by CinemachineCore at designated update time + /// so the vcam can position itself and track its targets. This implementation + /// updates all the children, chooses the best one, and implements any required blending. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + public override void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) + { + // Choose the best camera + UpdateListOfChildren(); + ICinemachineCamera previousCam = LiveChild; + LiveChild = ChooseCurrentCamera(worldUp); + + // Are we transitioning cameras? + if (previousCam != LiveChild && LiveChild != null) + { + // Notify incoming camera of transition + LiveChild.OnTransitionFromCamera(previousCam, worldUp, deltaTime); + + // Generate Camera Activation event in the brain if live + CinemachineCore.Instance.GenerateCameraActivationEvent(LiveChild, previousCam); + + // Are we transitioning cameras? + if (previousCam != null) + { + // Create a blend (will be null if a cut) + mActiveBlend = CreateBlend( + previousCam, LiveChild, + LookupBlend(previousCam, LiveChild), mActiveBlend); + + // If cutting, generate a camera cut event if live + if (mActiveBlend == null || !mActiveBlend.Uses(previousCam)) + CinemachineCore.Instance.GenerateCameraCutEvent(LiveChild); + } + } + + // Advance the current blend (if any) + if (mActiveBlend != null) + { + mActiveBlend.TimeInBlend += (deltaTime >= 0) + ? deltaTime : mActiveBlend.Duration; + if (mActiveBlend.IsComplete) + mActiveBlend = null; + } + + if (mActiveBlend != null) + { + mActiveBlend.UpdateCameraState(worldUp, deltaTime); + m_State = mActiveBlend.State; + } + else if (LiveChild != null) + { + if (m_TransitioningFrom != null) + LiveChild.OnTransitionFromCamera(m_TransitioningFrom, worldUp, deltaTime); + m_State = LiveChild.State; + } + m_TransitioningFrom = null; + InvokePostPipelineStageCallback(this, CinemachineCore.Stage.Finalize, ref m_State, deltaTime); + PreviousStateIsValid = true; + } + + /// Makes sure the internal child cache is up to date + protected override void OnEnable() + { + base.OnEnable(); + InvalidateListOfChildren(); + mActiveBlend = null; + CinemachineDebug.OnGUIHandlers -= OnGuiHandler; + CinemachineDebug.OnGUIHandlers += OnGuiHandler; + } + + /// + /// Uninstall the GUI handler + /// + protected override void OnDisable() + { + base.OnDisable(); + CinemachineDebug.OnGUIHandlers -= OnGuiHandler; + } + + /// Makes sure the internal child cache is up to date + public void OnTransformChildrenChanged() + { + InvalidateListOfChildren(); + UpdateListOfChildren(); + } + + /// Will only be called if Unity Editor - never in build + private void OnGuiHandler() + { + if (!m_ShowDebugText) + CinemachineDebug.ReleaseScreenPos(this); + else + { + var sb = CinemachineDebug.SBFromPool(); + sb.Append(Name); sb.Append(": "); sb.Append(Description); + string text = sb.ToString(); + Rect r = CinemachineDebug.GetScreenPos(this, text, GUI.skin.box); + GUI.Label(r, text, GUI.skin.box); + CinemachineDebug.ReturnToPool(sb); + } + } + + /// Is there a blend in progress? + public bool IsBlending => mActiveBlend != null; + + /// + /// Get the current active blend in progress. Will return null if no blend is in progress. + /// + public CinemachineBlend ActiveBlend => mActiveBlend; + + CameraState m_State = CameraState.Default; + + /// The list of child cameras. These are just the immediate children in the hierarchy. + public CinemachineVirtualCameraBase[] ChildCameras + { + get { UpdateListOfChildren(); return m_ChildCameras; } + } + + float mActivationTime = 0; + float mPendingActivationTime = 0; + ICinemachineCamera mPendingCamera; + private CinemachineBlend mActiveBlend = null; + + void InvalidateListOfChildren() + { + m_ChildCameras = null; + m_RandomizedChilden = null; + LiveChild = null; + } + + /// If RandomizeChoice is enabled, call this to re-randomize the children next frame. + /// This is useful if you want to freshen up the shot. + public void ResetRandomization() + { + m_RandomizedChilden = null; + mRandomizeNow = true; + } + + void UpdateListOfChildren() + { + if (m_ChildCameras != null) + return; + + List list = new List(); + CinemachineVirtualCameraBase[] kids = GetComponentsInChildren(true); + foreach (CinemachineVirtualCameraBase k in kids) + if (k.transform.parent == transform) + list.Add(k); + m_ChildCameras = list.ToArray(); + + // Zap the cached current instructions + mActivationTime = mPendingActivationTime = 0; + mPendingCamera = null; + LiveChild = null; + mActiveBlend = null; + } + + private bool mRandomizeNow = false; + private CinemachineVirtualCameraBase[] m_RandomizedChilden = null; + + private ICinemachineCamera ChooseCurrentCamera(Vector3 worldUp) + { + if (m_ChildCameras == null || m_ChildCameras.Length == 0) + { + mActivationTime = 0; + return null; + } + + CinemachineVirtualCameraBase[] childCameras = m_ChildCameras; + if (!m_RandomizeChoice) + m_RandomizedChilden = null; + else if (m_ChildCameras.Length > 1) + { + if (m_RandomizedChilden == null) + m_RandomizedChilden = Randomize(m_ChildCameras); + childCameras = m_RandomizedChilden; + } + + if (LiveChild != null && !LiveChild.VirtualCameraGameObject.activeSelf) + LiveChild = null; + ICinemachineCamera best = LiveChild; + for (int i = 0; i < childCameras.Length; ++i) + { + CinemachineVirtualCameraBase vcam = childCameras[i]; + if (vcam != null && vcam.gameObject.activeInHierarchy) + { + // Choose the first in the list that is better than the current + if (best == null + || vcam.State.ShotQuality > best.State.ShotQuality + || (vcam.State.ShotQuality == best.State.ShotQuality && vcam.Priority > best.Priority) + || (m_RandomizeChoice && mRandomizeNow && (ICinemachineCamera)vcam != LiveChild + && vcam.State.ShotQuality == best.State.ShotQuality + && vcam.Priority == best.Priority)) + { + best = vcam; + } + } + } + mRandomizeNow = false; + + float now = CinemachineCore.CurrentTime; + if (mActivationTime != 0) + { + // Is it active now? + if (LiveChild == best) + { + // Yes, cancel any pending + mPendingActivationTime = 0; + mPendingCamera = null; + return best; + } + + // Is it pending? + if (PreviousStateIsValid) + { + if (mPendingActivationTime != 0 && mPendingCamera == best) + { + // Has it been pending long enough, and are we allowed to switch away + // from the active action? + if ((now - mPendingActivationTime) > m_ActivateAfter + && (now - mActivationTime) > m_MinDuration) + { + // Yes, activate it now + m_RandomizedChilden = null; // reshuffle the children + mActivationTime = now; + mPendingActivationTime = 0; + mPendingCamera = null; + return best; + } + return LiveChild; + } + } + } + // Neither active nor pending. + mPendingActivationTime = 0; // cancel the pending, if any + mPendingCamera = null; + + // Can we activate it now? + if (PreviousStateIsValid && mActivationTime > 0) + { + if (m_ActivateAfter > 0 + || (now - mActivationTime) < m_MinDuration) + { + // Too early - make it pending + mPendingCamera = best; + mPendingActivationTime = now; + return LiveChild; + } + } + // Activate now + m_RandomizedChilden = null; // reshuffle the children + mActivationTime = now; + return best; + } + + struct Pair { public int a; public float b; } + CinemachineVirtualCameraBase[] Randomize(CinemachineVirtualCameraBase[] src) + { + List pairs = new List(); + for (int i = 0; i < src.Length; ++i) + { + Pair p = new Pair(); p.a = i; p.b = Random.Range(0, 1000f); + pairs.Add(p); + } + pairs.Sort((p1, p2) => (int)p1.b - (int)p2.b); + CinemachineVirtualCameraBase[] dst = new CinemachineVirtualCameraBase[src.Length]; + Pair[] result = pairs.ToArray(); + for (int i = 0; i < src.Length; ++i) + dst[i] = src[result[i].a]; + return dst; + } + + private CinemachineBlendDefinition LookupBlend( + ICinemachineCamera fromKey, ICinemachineCamera toKey) + { + // Get the blend curve that's most appropriate for these cameras + CinemachineBlendDefinition blend = m_DefaultBlend; + if (m_CustomBlends != null) + { + string fromCameraName = (fromKey != null) ? fromKey.Name : string.Empty; + string toCameraName = (toKey != null) ? toKey.Name : string.Empty; + blend = m_CustomBlends.GetBlendForVirtualCameras( + fromCameraName, toCameraName, blend); + } + if (CinemachineCore.GetBlendOverride != null) + blend = CinemachineCore.GetBlendOverride(fromKey, toKey, blend, this); + return blend; + } + + /// Notification that this virtual camera is going live. + /// This implementation resets the child randomization. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + base.OnTransitionFromCamera(fromCam, worldUp, deltaTime); + InvokeOnTransitionInExtensions(fromCam, worldUp, deltaTime); + m_TransitioningFrom = fromCam; + if (m_RandomizeChoice && mActiveBlend == null) + { + m_RandomizedChilden = null; + LiveChild = null; + } + InternalUpdateCameraState(worldUp, deltaTime); + } + + ICinemachineCamera m_TransitioningFrom; + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineClearShot.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineClearShot.cs.meta new file mode 100644 index 00000000..fdbb4764 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineClearShot.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d62f748f5292bb343be9e6b0c84416d9 +timeCreated: 1489088130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCollider.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCollider.cs new file mode 100644 index 00000000..87f9aa1f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCollider.cs @@ -0,0 +1,801 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#endif + +using UnityEngine; +using System.Collections.Generic; +using Cinemachine.Utility; +using UnityEngine.Serialization; +using System; + +namespace Cinemachine +{ +#if CINEMACHINE_PHYSICS + /// + /// An add-on module for Cinemachine Virtual Camera that post-processes + /// the final position of the virtual camera. Based on the supplied settings, + /// the Collider will attempt to preserve the line of sight + /// with the LookAt target of the virtual camera by moving + /// away from objects that will obstruct the view. + /// + /// Additionally, the Collider can be used to assess the shot quality and + /// report this as a field in the camera State. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Hide in menu + [SaveDuringPlay] + [ExecuteAlways] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachineCollider.html")] + public class CinemachineCollider : CinemachineExtension + { + /// Objects on these layers will be detected. + [Header("Obstacle Detection")] + [Tooltip("Objects on these layers will be detected")] + public LayerMask m_CollideAgainst = 1; + + /// Obstacles with this tag will be ignored. It is a good idea to set this field to the target's tag + [TagField] + [Tooltip("Obstacles with this tag will be ignored. It is a good idea to set this field to the target's tag")] + public string m_IgnoreTag = string.Empty; + + /// Objects on these layers will never obstruct view of the target. + [Tooltip("Objects on these layers will never obstruct view of the target")] + public LayerMask m_TransparentLayers = 0; + + /// Obstacles closer to the target than this will be ignored + [Tooltip("Obstacles closer to the target than this will be ignored")] + public float m_MinimumDistanceFromTarget = 0.1f; + + /// + /// When enabled, will attempt to resolve situations where the line of sight to the + /// target is blocked by an obstacle + /// + [Space] + [Tooltip("When enabled, will attempt to resolve situations where the line of sight " + + "to the target is blocked by an obstacle")] + [FormerlySerializedAs("m_PreserveLineOfSight")] + public bool m_AvoidObstacles = true; + + /// + /// The raycast distance to test for when checking if the line of sight to this camera's target is clear. + /// + [Tooltip("The maximum raycast distance when checking if the line of sight to this camera's target is clear. " + + "If the setting is 0 or less, the current actual distance to target will be used.")] + [FormerlySerializedAs("m_LineOfSightFeelerDistance")] + public float m_DistanceLimit; + + /// + /// Don't take action unless occlusion has lasted at least this long. + /// + [Tooltip("Don't take action unless occlusion has lasted at least this long.")] + public float m_MinimumOcclusionTime; + + /// + /// Camera will try to maintain this distance from any obstacle. + /// Increase this value if you are seeing inside obstacles due to a large + /// FOV on the camera. + /// + [Tooltip("Camera will try to maintain this distance from any obstacle. Try to keep this value small. " + + "Increase it if you are seeing inside obstacles due to a large FOV on the camera.")] + public float m_CameraRadius = 0.1f; + + /// The way in which the Collider will attempt to preserve sight of the target. + public enum ResolutionStrategy + { + /// Camera will be pulled forward along its Z axis until it is in front of + /// the nearest obstacle + PullCameraForward, + /// In addition to pulling the camera forward, an effort will be made to + /// return the camera to its original height + PreserveCameraHeight, + /// In addition to pulling the camera forward, an effort will be made to + /// return the camera to its original distance from the target + PreserveCameraDistance + }; + /// The way in which the Collider will attempt to preserve sight of the target. + [Tooltip("The way in which the Collider will attempt to preserve sight of the target.")] + public ResolutionStrategy m_Strategy = ResolutionStrategy.PreserveCameraHeight; + + /// + /// Upper limit on how many obstacle hits to process. Higher numbers may impact performance. + /// In most environments, 4 is enough. + /// + [Range(1, 10)] + [Tooltip("Upper limit on how many obstacle hits to process. Higher numbers may impact performance. " + + "In most environments, 4 is enough.")] + public int m_MaximumEffort = 4; + + /// + /// Smoothing to apply to obstruction resolution. Nearest camera point is held for at least this long. + /// + [Range(0, 2)] + [Tooltip("Smoothing to apply to obstruction resolution. Nearest camera point is held for at least this long")] + public float m_SmoothingTime; + + /// + /// How gradually the camera returns to its normal position after having been corrected. + /// Higher numbers will move the camera more gradually back to normal. + /// + [Range(0, 10)] + [Tooltip("How gradually the camera returns to its normal position after having been corrected. " + + "Higher numbers will move the camera more gradually back to normal.")] + [FormerlySerializedAs("m_Smoothing")] + public float m_Damping; + + /// + /// How gradually the camera moves to resolve an occlusion. + /// Higher numbers will move the camera more gradually. + /// + [Range(0, 10)] + [Tooltip("How gradually the camera moves to resolve an occlusion. " + + "Higher numbers will move the camera more gradually.")] + public float m_DampingWhenOccluded; + + /// If greater than zero, a higher score will be given to shots when the target is closer to + /// this distance. Set this to zero to disable this feature + [Header("Shot Evaluation")] + [Tooltip("If greater than zero, a higher score will be given to shots when the target is closer to this distance. " + + "Set this to zero to disable this feature.")] + public float m_OptimalTargetDistance; + + /// See whether an object is blocking the camera's view of the target + /// The virtual camera in question. This might be different from the + /// virtual camera that owns the collider, in the event that the camera has children + /// True if something is blocking the view + public bool IsTargetObscured(ICinemachineCamera vcam) + { + return GetExtraState(vcam).targetObscured; + } + + /// See whether the virtual camera has been moved nby the collider + /// The virtual camera in question. This might be different from the + /// virtual camera that owns the collider, in the event that the camera has children + /// True if the virtual camera has been displaced due to collision or + /// target obstruction + public bool CameraWasDisplaced(ICinemachineCamera vcam) + { + return GetCameraDisplacementDistance(vcam) > 0; + } + + /// See how far the virtual camera wa moved nby the collider + /// The virtual camera in question. This might be different from the + /// virtual camera that owns the collider, in the event that the camera has children + /// True if the virtual camera has been displaced due to collision or + /// target obstruction + public float GetCameraDisplacementDistance(ICinemachineCamera vcam) + { + return GetExtraState(vcam).previousDisplacement.magnitude; + } + + void OnValidate() + { + m_DistanceLimit = Mathf.Max(0, m_DistanceLimit); + m_MinimumOcclusionTime = Mathf.Max(0, m_MinimumOcclusionTime); + m_CameraRadius = Mathf.Max(0, m_CameraRadius); + m_MinimumDistanceFromTarget = Mathf.Max(0.01f, m_MinimumDistanceFromTarget); + m_OptimalTargetDistance = Mathf.Max(0, m_OptimalTargetDistance); + } + + /// + /// Cleanup + /// + protected override void OnDestroy() + { + RuntimeUtility.DestroyScratchCollider(); + base.OnDestroy(); + } + + /// This must be small but greater than 0 - reduces false results due to precision + const float k_PrecisionSlush = 0.001f; + + /// + /// Per-vcam extra state info + /// + class VcamExtraState + { + public Vector3 previousDisplacement; + public Vector3 previousCameraOffset; + public Vector3 previousCameraPosition; + public float previousDampTime; + public bool targetObscured; + public float occlusionStartTime; + public List debugResolutionPath; + + public void AddPointToDebugPath(Vector3 p) + { +#if UNITY_EDITOR + if (debugResolutionPath == null) + debugResolutionPath = new List(); + debugResolutionPath.Add(p); +#endif + } + + // Thanks to Sebastien LeTouze from Exiin Studio for the smoothing idea + float m_SmoothedDistance; + float m_SmoothedTime; + public float ApplyDistanceSmoothing(float distance, float smoothingTime) + { + if (m_SmoothedTime != 0 && smoothingTime > Epsilon) + { + float now = CinemachineCore.CurrentTime; + if (now - m_SmoothedTime < smoothingTime) + return Mathf.Min(distance, m_SmoothedDistance); + } + return distance; + } + public void UpdateDistanceSmoothing(float distance) + { + if (m_SmoothedDistance == 0 || distance < m_SmoothedDistance) + { + m_SmoothedDistance = distance; + m_SmoothedTime = CinemachineCore.CurrentTime; + } + } + public void ResetDistanceSmoothing(float smoothingTime) + { + float now = CinemachineCore.CurrentTime; + if (now - m_SmoothedTime >= smoothingTime) + m_SmoothedDistance = m_SmoothedTime = 0; + } + }; + + /// Inspector API for debugging collision resolution path + public List> DebugPaths + { + get + { + List> list = new List>(); + List extraStates = GetAllExtraStates(); + foreach (var v in extraStates) + if (v.debugResolutionPath != null && v.debugResolutionPath.Count > 0) + list.Add(v.debugResolutionPath); + return list; + } + } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() + { + return Mathf.Max(m_Damping, Mathf.Max(m_DampingWhenOccluded, m_SmoothingTime)); + } + + /// + /// Callback to do the collision resolution and shot evaluation + /// + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + if (stage == CinemachineCore.Stage.Body) + { + var extra = GetExtraState(vcam); + extra.targetObscured = false; + extra.debugResolutionPath?.RemoveRange(0, extra.debugResolutionPath.Count); + + if (m_AvoidObstacles) + { + var initialCamPos = state.CorrectedPosition; + + // Rotate the previous collision correction along with the camera + var dampingBypass = Quaternion.Euler(state.PositionDampingBypass); + extra.previousDisplacement = dampingBypass * extra.previousDisplacement; + + // Calculate the desired collision correction + Vector3 displacement = PreserveLineOfSight(ref state, ref extra); + if (m_MinimumOcclusionTime > Epsilon) + { + // If minimum occlusion time set, ignore new occlusions until they've lasted long enough + float now = CinemachineCore.CurrentTime; + if (displacement.AlmostZero()) + extra.occlusionStartTime = 0; // no occlusion + else + { + if (extra.occlusionStartTime <= 0) + extra.occlusionStartTime = now; // occlusion timer starts now + if (now - extra.occlusionStartTime < m_MinimumOcclusionTime) + displacement = extra.previousDisplacement; + } + } + + // Apply distance smoothing - this can artificially hold the camera closer + // to the target for a while, to reduce popping in and out on bumpy objects + if (m_SmoothingTime > Epsilon) + { + Vector3 pos = initialCamPos + displacement; + Vector3 dir = pos - state.ReferenceLookAt; + float distance = dir.magnitude; + if (distance > Epsilon) + { + dir /= distance; + if (!displacement.AlmostZero()) + extra.UpdateDistanceSmoothing(distance); + distance = extra.ApplyDistanceSmoothing(distance, m_SmoothingTime); + displacement += (state.ReferenceLookAt + dir * distance) - pos; + } + } + + if (displacement.AlmostZero()) + extra.ResetDistanceSmoothing(m_SmoothingTime); + + // Apply additional correction due to camera radius + var cameraPos = initialCamPos + displacement; + displacement += RespectCameraRadius(cameraPos, state.HasLookAt ? state.ReferenceLookAt : cameraPos); + + // Apply damping + float dampTime = m_DampingWhenOccluded; + if (deltaTime >= 0 && VirtualCamera.PreviousStateIsValid && m_DampingWhenOccluded + m_Damping > Epsilon) + { + // To ease the transition between damped and undamped regions, we damp the damp time + var dispSqrMag = displacement.sqrMagnitude; + dampTime = dispSqrMag > extra.previousDisplacement.sqrMagnitude ? m_DampingWhenOccluded : m_Damping; + if (dispSqrMag < Epsilon) + dampTime = extra.previousDampTime - Damper.Damp(extra.previousDampTime, dampTime, deltaTime); + + if (dampTime > 0) + { + bool bodyAfterAim = false; + if (vcam is CinemachineVirtualCamera) + { + var body = (vcam as CinemachineVirtualCamera).GetCinemachineComponent(CinemachineCore.Stage.Body); + bodyAfterAim = body != null && body.BodyAppliesAfterAim; + } + + var prevDisplacement = bodyAfterAim ? extra.previousDisplacement + : state.ReferenceLookAt + dampingBypass * extra.previousCameraOffset - initialCamPos; + displacement = prevDisplacement + Damper.Damp(displacement - prevDisplacement, dampTime, deltaTime); + } + } + state.PositionCorrection += displacement; + cameraPos = state.CorrectedPosition; + + // Adjust the damping bypass to account for the displacement + if (state.HasLookAt && VirtualCamera.PreviousStateIsValid) + { + var dir0 = extra.previousCameraPosition - state.ReferenceLookAt; + var dir1 = cameraPos - state.ReferenceLookAt; + if (dir0.sqrMagnitude > Epsilon && dir1.sqrMagnitude > Epsilon) + state.PositionDampingBypass = UnityVectorExtensions.SafeFromToRotation( + dir0, dir1, state.ReferenceUp).eulerAngles; + } + extra.previousDisplacement = displacement; + extra.previousCameraOffset = cameraPos - state.ReferenceLookAt; + extra.previousCameraPosition = cameraPos; + extra.previousDampTime = dampTime; + } + } + // Rate the shot after the aim was set + if (stage == CinemachineCore.Stage.Aim) + { + var extra = GetExtraState(vcam); + extra.targetObscured = IsTargetOffscreen(state) || CheckForTargetObstructions(state); + + // GML these values are an initial arbitrary attempt at rating quality + if (extra.targetObscured) + state.ShotQuality *= 0.2f; + if (!extra.previousDisplacement.AlmostZero()) + state.ShotQuality *= 0.8f; + + float nearnessBoost = 0; + const float kMaxNearBoost = 0.2f; + if (m_OptimalTargetDistance > 0 && state.HasLookAt) + { + float distance = Vector3.Magnitude(state.ReferenceLookAt - state.FinalPosition); + if (distance <= m_OptimalTargetDistance) + { + float threshold = m_OptimalTargetDistance / 2; + if (distance >= threshold) + nearnessBoost = kMaxNearBoost * (distance - threshold) + / (m_OptimalTargetDistance - threshold); + } + else + { + distance -= m_OptimalTargetDistance; + float threshold = m_OptimalTargetDistance * 3; + if (distance < threshold) + nearnessBoost = kMaxNearBoost * (1f - (distance / threshold)); + } + state.ShotQuality *= (1f + nearnessBoost); + } + } + } + + Vector3 PreserveLineOfSight(ref CameraState state, ref VcamExtraState extra) + { + Vector3 displacement = Vector3.zero; + if (state.HasLookAt && m_CollideAgainst != 0 + && m_CollideAgainst != m_TransparentLayers) + { + Vector3 cameraPos = state.CorrectedPosition; + Vector3 lookAtPos = state.ReferenceLookAt; + RaycastHit hitInfo = new RaycastHit(); + displacement = PullCameraInFrontOfNearestObstacle( + cameraPos, lookAtPos, m_CollideAgainst & ~m_TransparentLayers, ref hitInfo); + Vector3 pos = cameraPos + displacement; + if (hitInfo.collider != null) + { + extra.AddPointToDebugPath(pos); + if (m_Strategy != ResolutionStrategy.PullCameraForward) + { + Vector3 targetToCamera = cameraPos - lookAtPos; + pos = PushCameraBack( + pos, targetToCamera, hitInfo, lookAtPos, + new Plane(state.ReferenceUp, cameraPos), + targetToCamera.magnitude, m_MaximumEffort, ref extra); + } + } + displacement = pos - cameraPos; + } + return displacement; + } + + Vector3 PullCameraInFrontOfNearestObstacle( + Vector3 cameraPos, Vector3 lookAtPos, int layerMask, ref RaycastHit hitInfo) + { + Vector3 displacement = Vector3.zero; + Vector3 dir = cameraPos - lookAtPos; + float targetDistance = dir.magnitude; + if (targetDistance > Epsilon) + { + dir /= targetDistance; + float minDistanceFromTarget = Mathf.Max(m_MinimumDistanceFromTarget, Epsilon); + if (targetDistance < minDistanceFromTarget + Epsilon) + displacement = dir * (minDistanceFromTarget - targetDistance); + else + { + float rayLength = targetDistance - minDistanceFromTarget; + if (m_DistanceLimit > Epsilon) + rayLength = Mathf.Min(m_DistanceLimit, rayLength); + + // Make a ray that looks towards the camera, to get the obstacle closest to target + Ray ray = new Ray(cameraPos - rayLength * dir, dir); + rayLength += k_PrecisionSlush; + if (rayLength > Epsilon) + { + if (RuntimeUtility.RaycastIgnoreTag( + ray, out hitInfo, rayLength, layerMask, m_IgnoreTag)) + { + // Pull camera forward in front of obstacle + float adjustment = Mathf.Max(0, hitInfo.distance - k_PrecisionSlush); + displacement = ray.GetPoint(adjustment) - cameraPos; + } + } + } + } + return displacement; + } + + Vector3 PushCameraBack( + Vector3 currentPos, Vector3 pushDir, RaycastHit obstacle, + Vector3 lookAtPos, Plane startPlane, float targetDistance, int iterations, + ref VcamExtraState extra) + { + // Take a step along the wall. + Vector3 pos = currentPos; + Vector3 dir = Vector3.zero; + if (!GetWalkingDirection(pos, pushDir, obstacle, ref dir)) + return pos; + + Ray ray = new Ray(pos, dir); + float distance = GetPushBackDistance(ray, startPlane, targetDistance, lookAtPos); + if (distance <= Epsilon) + return pos; + + // Check only as far as the obstacle bounds + float clampedDistance = ClampRayToBounds(ray, distance, obstacle.collider.bounds); + distance = Mathf.Min(distance, clampedDistance + k_PrecisionSlush); + + if (RuntimeUtility.RaycastIgnoreTag(ray, out var hitInfo, distance, + m_CollideAgainst & ~m_TransparentLayers, m_IgnoreTag)) + { + // We hit something. Stop there and take a step along that wall. + float adjustment = hitInfo.distance - k_PrecisionSlush; + pos = ray.GetPoint(adjustment); + extra.AddPointToDebugPath(pos); + if (iterations > 1) + pos = PushCameraBack( + pos, dir, hitInfo, + lookAtPos, startPlane, + targetDistance, iterations-1, ref extra); + + return pos; + } + + // Didn't hit anything. Can we push back all the way now? + pos = ray.GetPoint(distance); + + // First check if we can still see the target. If not, abort + dir = pos - lookAtPos; + float d = dir.magnitude; + if (d < Epsilon || RuntimeUtility.RaycastIgnoreTag( + new Ray(lookAtPos, dir), out _, d - k_PrecisionSlush, + m_CollideAgainst & ~m_TransparentLayers, m_IgnoreTag)) + return currentPos; + + // All clear + ray = new Ray(pos, dir); + extra.AddPointToDebugPath(pos); + distance = GetPushBackDistance(ray, startPlane, targetDistance, lookAtPos); + if (distance > Epsilon) + { + if (!RuntimeUtility.RaycastIgnoreTag(ray, out hitInfo, distance, + m_CollideAgainst & ~m_TransparentLayers, m_IgnoreTag)) + { + pos = ray.GetPoint(distance); // no obstacles - all good + extra.AddPointToDebugPath(pos); + } + else + { + // We hit something. Stop there and maybe take a step along that wall + float adjustment = hitInfo.distance - k_PrecisionSlush; + pos = ray.GetPoint(adjustment); + extra.AddPointToDebugPath(pos); + if (iterations > 1) + pos = PushCameraBack( + pos, dir, hitInfo, lookAtPos, startPlane, + targetDistance, iterations-1, ref extra); + } + } + return pos; + } + + RaycastHit[] m_CornerBuffer = new RaycastHit[4]; + + bool GetWalkingDirection( + Vector3 pos, Vector3 pushDir, RaycastHit obstacle, ref Vector3 outDir) + { + Vector3 normal2 = obstacle.normal; + + // Check for nearby obstacles. Are we in a corner? + float nearbyDistance = k_PrecisionSlush * 5; + int numFound = Physics.SphereCastNonAlloc( + pos, nearbyDistance, pushDir.normalized, m_CornerBuffer, 0, + m_CollideAgainst & ~m_TransparentLayers, QueryTriggerInteraction.Ignore); + if (numFound > 1) + { + // Calculate the second normal + for (int i = 0; i < numFound; ++i) + { + if (m_CornerBuffer[i].collider == null) + continue; + if (m_IgnoreTag.Length > 0 && m_CornerBuffer[i].collider.CompareTag(m_IgnoreTag)) + continue; + Type type = m_CornerBuffer[i].collider.GetType(); + if (type == typeof(BoxCollider) + || type == typeof(SphereCollider) + || type == typeof(CapsuleCollider)) + { + Vector3 p = m_CornerBuffer[i].collider.ClosestPoint(pos); + Vector3 d = p - pos; + if (d.magnitude > Vector3.kEpsilon) + { + if (m_CornerBuffer[i].collider.Raycast( + new Ray(pos, d), out m_CornerBuffer[i], nearbyDistance)) + { + if (!(m_CornerBuffer[i].normal - obstacle.normal).AlmostZero()) + normal2 = m_CornerBuffer[i].normal; + break; + } + } + } + } + } + + // Walk along the wall. If we're in a corner, walk their intersecting line + Vector3 dir = Vector3.Cross(obstacle.normal, normal2); + if (dir.AlmostZero()) + dir = Vector3.ProjectOnPlane(pushDir, obstacle.normal); + else + { + float dot = Vector3.Dot(dir, pushDir); + if (Mathf.Abs(dot) < Epsilon) + return false; + if (dot < 0) + dir = -dir; + } + if (dir.AlmostZero()) + return false; + + outDir = dir.normalized; + return true; + } + + const float k_AngleThreshold = 0.1f; + float GetPushBackDistance(Ray ray, Plane startPlane, float targetDistance, Vector3 lookAtPos) + { + float maxDistance = targetDistance - (ray.origin - lookAtPos).magnitude; + if (maxDistance < Epsilon) + return 0; + if (m_Strategy == ResolutionStrategy.PreserveCameraDistance) + return maxDistance; + + if (!startPlane.Raycast(ray, out var distance)) + distance = 0; + distance = Mathf.Min(maxDistance, distance); + if (distance < Epsilon) + return 0; + + // If we are close to parallel to the plane, we have to take special action + float angle = Mathf.Abs(UnityVectorExtensions.Angle(startPlane.normal, ray.direction) - 90); + if (angle < k_AngleThreshold) + distance = Mathf.Lerp(0, distance, angle / k_AngleThreshold); + return distance; + } + + static float ClampRayToBounds(Ray ray, float distance, Bounds bounds) + { + float d; + if (Vector3.Dot(ray.direction, Vector3.up) > 0) + { + if (new Plane(Vector3.down, bounds.max).Raycast(ray, out d) && d > Epsilon) + distance = Mathf.Min(distance, d); + } + else if (Vector3.Dot(ray.direction, Vector3.down) > 0) + { + if (new Plane(Vector3.up, bounds.min).Raycast(ray, out d) && d > Epsilon) + distance = Mathf.Min(distance, d); + } + + if (Vector3.Dot(ray.direction, Vector3.right) > 0) + { + if (new Plane(Vector3.left, bounds.max).Raycast(ray, out d) && d > Epsilon) + distance = Mathf.Min(distance, d); + } + else if (Vector3.Dot(ray.direction, Vector3.left) > 0) + { + if (new Plane(Vector3.right, bounds.min).Raycast(ray, out d) && d > Epsilon) + distance = Mathf.Min(distance, d); + } + + if (Vector3.Dot(ray.direction, Vector3.forward) > 0) + { + if (new Plane(Vector3.back, bounds.max).Raycast(ray, out d) && d > Epsilon) + distance = Mathf.Min(distance, d); + } + else if (Vector3.Dot(ray.direction, Vector3.back) > 0) + { + if (new Plane(Vector3.forward, bounds.min).Raycast(ray, out d) && d > Epsilon) + distance = Mathf.Min(distance, d); + } + return distance; + } + + static Collider[] s_ColliderBuffer = new Collider[5]; + + Vector3 RespectCameraRadius(Vector3 cameraPos, Vector3 lookAtPos) + { + Vector3 result = Vector3.zero; + if (m_CameraRadius < Epsilon || m_CollideAgainst == 0) + return result; + + Vector3 dir = cameraPos - lookAtPos; + float distance = dir.magnitude; + if (distance > Epsilon) + dir /= distance; + + // Pull it out of any intersecting obstacles + RaycastHit hitInfo; + int numObstacles = Physics.OverlapSphereNonAlloc( + cameraPos, m_CameraRadius, s_ColliderBuffer, + m_CollideAgainst, QueryTriggerInteraction.Ignore); + if (numObstacles == 0 && m_TransparentLayers != 0 + && distance > m_MinimumDistanceFromTarget + Epsilon) + { + // Make sure the camera position isn't completely inside an obstacle. + // OverlapSphereNonAlloc won't catch those. + float d = distance - m_MinimumDistanceFromTarget; + Vector3 targetPos = lookAtPos + dir * m_MinimumDistanceFromTarget; + if (RuntimeUtility.RaycastIgnoreTag(new Ray(targetPos, dir), + out hitInfo, d, m_CollideAgainst, m_IgnoreTag)) + { + // Only count it if there's an incoming collision but not an outgoing one + Collider c = hitInfo.collider; + if (!c.Raycast(new Ray(cameraPos, -dir), out hitInfo, d)) + s_ColliderBuffer[numObstacles++] = c; + } + } + if (numObstacles > 0 && distance == 0 || distance > m_MinimumDistanceFromTarget) + { + var scratchCollider = RuntimeUtility.GetScratchCollider(); + scratchCollider.radius = m_CameraRadius; + + Vector3 newCamPos = cameraPos; + for (int i = 0; i < numObstacles; ++i) + { + Collider c = s_ColliderBuffer[i]; + if (m_IgnoreTag.Length > 0 && c.CompareTag(m_IgnoreTag)) + continue; + + // If we have a lookAt target, move the camera to the nearest edge of obstacle + if (distance > m_MinimumDistanceFromTarget) + { + dir = newCamPos - lookAtPos; + float d = dir.magnitude; + if (d > Epsilon) + { + dir /= d; + var ray = new Ray(lookAtPos, dir); + if (c.Raycast(ray, out hitInfo, d + m_CameraRadius)) + newCamPos = ray.GetPoint(hitInfo.distance) - (dir * k_PrecisionSlush); + } + } + if (Physics.ComputePenetration( + scratchCollider, newCamPos, Quaternion.identity, + c, c.transform.position, c.transform.rotation, + out var offsetDir, out var offsetDistance)) + { + newCamPos += offsetDir * offsetDistance; + } + } + result = newCamPos - cameraPos; + } + + // Respect the minimum distance from target - push camera back if we have to + if (distance > Epsilon && m_MinimumDistanceFromTarget > Epsilon) + { + float minDistance = Mathf.Max(m_MinimumDistanceFromTarget, m_CameraRadius) + k_PrecisionSlush; + Vector3 newOffset = cameraPos + result - lookAtPos; + if (newOffset.magnitude < minDistance) + result = lookAtPos - cameraPos + dir * minDistance; + } + + return result; + } + + bool CheckForTargetObstructions(CameraState state) + { + if (state.HasLookAt) + { + Vector3 lookAtPos = state.ReferenceLookAt; + Vector3 pos = state.CorrectedPosition; + Vector3 dir = lookAtPos - pos; + float distance = dir.magnitude; + if (distance < Mathf.Max(m_MinimumDistanceFromTarget, Epsilon)) + return true; + Ray ray = new Ray(pos, dir.normalized); + if (RuntimeUtility.RaycastIgnoreTag(ray, out _, + distance - m_MinimumDistanceFromTarget, + m_CollideAgainst & ~m_TransparentLayers, m_IgnoreTag)) + return true; + } + return false; + } + + static bool IsTargetOffscreen(CameraState state) + { + if (state.HasLookAt) + { + Vector3 dir = state.ReferenceLookAt - state.CorrectedPosition; + dir = Quaternion.Inverse(state.CorrectedOrientation) * dir; + if (state.Lens.Orthographic) + { + if (Mathf.Abs(dir.y) > state.Lens.OrthographicSize) + return true; + if (Mathf.Abs(dir.x) > state.Lens.OrthographicSize * state.Lens.Aspect) + return true; + } + else + { + float fov = state.Lens.FieldOfView / 2; + float angle = UnityVectorExtensions.Angle(dir.ProjectOntoPlane(Vector3.right), Vector3.forward); + if (angle > fov) + return true; + + fov = Mathf.Rad2Deg * Mathf.Atan(Mathf.Tan(fov * Mathf.Deg2Rad) * state.Lens.Aspect); + angle = UnityVectorExtensions.Angle(dir.ProjectOntoPlane(Vector3.up), Vector3.forward); + if (angle > fov) + return true; + } + } + return false; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCollider.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCollider.cs.meta new file mode 100644 index 00000000..03a77fe2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineCollider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e501d18bb52cf8c40b1853ca4904654f +timeCreated: 1491854845 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner.cs new file mode 100644 index 00000000..142e6ccc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner.cs @@ -0,0 +1,313 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using UnityEngine; +using System.Collections.Generic; +using Cinemachine.Utility; +using System; + +namespace Cinemachine +{ +#if CINEMACHINE_PHYSICS || CINEMACHINE_PHYSICS_2D + /// + /// An add-on module for Cinemachine Virtual Camera that post-processes + /// the final position of the virtual camera. It will confine the virtual + /// camera's position to the volume specified in the Bounding Volume field. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Hide in menu + [SaveDuringPlay] + [ExecuteAlways] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachineConfiner.html")] + public class CinemachineConfiner : CinemachineExtension + { +#if CINEMACHINE_PHYSICS && CINEMACHINE_PHYSICS_2D + /// The confiner can operate using a 2D bounding shape or a 3D bounding volume + public enum Mode + { + /// Use a 2D bounding shape, suitable for an orthographic camera + Confine2D, + /// Use a 3D bounding shape, suitable for perspective cameras + Confine3D + }; + /// The confiner can operate using a 2D bounding shape or a 3D bounding volume + [Tooltip("The confiner can operate using a 2D bounding shape or a 3D bounding volume")] + public Mode m_ConfineMode; +#endif + +#if CINEMACHINE_PHYSICS + /// The volume within which the camera is to be contained. + [Tooltip("The volume within which the camera is to be contained")] + public Collider m_BoundingVolume; +#endif + +#if CINEMACHINE_PHYSICS_2D + + /// The 2D shape within which the camera is to be contained. + [Tooltip("The 2D shape within which the camera is to be contained")] + public Collider2D m_BoundingShape2D; + private Collider2D m_BoundingShape2DCache; +#endif + /// If camera is orthographic, screen edges will be confined to the volume. + [Tooltip("If camera is orthographic, screen edges will be confined to the volume. " + + "If not checked, then only the camera center will be confined")] + public bool m_ConfineScreenEdges = true; + + /// How gradually to return the camera to the bounding volume if it goes beyond the borders + [Tooltip("How gradually to return the camera to the bounding volume if it goes beyond the borders. " + + "Higher numbers are more gradual.")] + [Range(0, 10)] + public float m_Damping = 0; + + /// See whether the virtual camera has been moved by the confiner + /// The virtual camera in question. This might be different from the + /// virtual camera that owns the confiner, in the event that the camera has children + /// True if the virtual camera has been repositioned + public bool CameraWasDisplaced(CinemachineVirtualCameraBase vcam) + { + return GetCameraDisplacementDistance(vcam) > 0; + } + + /// See how far virtual camera has been moved by the confiner + /// The virtual camera in question. This might be different from the + /// virtual camera that owns the confiner, in the event that the camera has children + /// True if the virtual camera has been repositioned + public float GetCameraDisplacementDistance(CinemachineVirtualCameraBase vcam) + { + return GetExtraState(vcam).confinerDisplacement; + } + + private void OnValidate() + { + m_Damping = Mathf.Max(0, m_Damping); + } + + /// + /// Called when connecting to a virtual camera + /// + /// True if connecting, false if disconnecting + protected override void ConnectToVcam(bool connect) + { + base.ConnectToVcam(connect); + } + + class VcamExtraState + { + public Vector3 m_previousDisplacement; + public float confinerDisplacement; + }; + + /// Check if the bounding volume is defined + public bool IsValid + { + get + { +#if CINEMACHINE_PHYSICS && !CINEMACHINE_PHYSICS_2D + return m_BoundingVolume != null && m_BoundingVolume.enabled && m_BoundingVolume.gameObject.activeInHierarchy; +#elif CINEMACHINE_PHYSICS_2D && !CINEMACHINE_PHYSICS + return m_BoundingShape2D != null && m_BoundingShape2D.enabled && m_BoundingShape2D.gameObject.activeInHierarchy; +#else + return (m_ConfineMode == Mode.Confine3D && m_BoundingVolume != null && m_BoundingVolume.enabled && m_BoundingVolume.gameObject.activeInHierarchy) + || (m_ConfineMode == Mode.Confine2D && m_BoundingShape2D != null && m_BoundingShape2D.enabled && m_BoundingShape2D.gameObject.activeInHierarchy); +#endif + } + } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() + { + return m_Damping; + } + + /// + /// Callback to do the camera confining + /// + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + if (IsValid && stage == CinemachineCore.Stage.Body) + { + var extra = GetExtraState(vcam); + Vector3 displacement; + if (m_ConfineScreenEdges && state.Lens.Orthographic) + displacement = ConfineScreenEdges(ref state); + else + displacement = ConfinePoint(state.CorrectedPosition); + + if (m_Damping > 0 && deltaTime >= 0 && VirtualCamera.PreviousStateIsValid) + { + Vector3 delta = displacement - extra.m_previousDisplacement; + delta = Damper.Damp(delta, m_Damping, deltaTime); + displacement = extra.m_previousDisplacement + delta; + } + extra.m_previousDisplacement = displacement; + state.PositionCorrection += displacement; + extra.confinerDisplacement = displacement.magnitude; + } + } + + private List> m_pathCache; + private int m_pathTotalPointCount; + + /// Call this if the bounding shape's points change at runtime + public void InvalidatePathCache() + { +#if CINEMACHINE_PHYSICS_2D + m_pathCache = null; + m_BoundingShape2DCache = null; +#endif + } + + bool ValidatePathCache() + { +#if CINEMACHINE_PHYSICS_2D + if (m_BoundingShape2DCache != m_BoundingShape2D) + { + InvalidatePathCache(); + m_BoundingShape2DCache = m_BoundingShape2D; + } + + Type colliderType = m_BoundingShape2D == null ? null: m_BoundingShape2D.GetType(); + if (colliderType == typeof(PolygonCollider2D)) + { + PolygonCollider2D poly = m_BoundingShape2D as PolygonCollider2D; + if (m_pathCache == null || m_pathCache.Count != poly.pathCount || m_pathTotalPointCount != poly.GetTotalPointCount()) + { + m_pathCache = new List>(); + for (int i = 0; i < poly.pathCount; ++i) + { + Vector2[] path = poly.GetPath(i); + List dst = new List(); + for (int j = 0; j < path.Length; ++j) + dst.Add(path[j]); + m_pathCache.Add(dst); + } + m_pathTotalPointCount = poly.GetTotalPointCount(); + } + return true; + } + else if (colliderType == typeof(CompositeCollider2D)) + { + CompositeCollider2D poly = m_BoundingShape2D as CompositeCollider2D; + if (m_pathCache == null || m_pathCache.Count != poly.pathCount || m_pathTotalPointCount != poly.pointCount) + { + m_pathCache = new List>(); + Vector2[] path = new Vector2[poly.pointCount]; + var lossyScale = m_BoundingShape2D.transform.lossyScale; + Vector2 revertCompositeColliderScale = new Vector2( + 1f / lossyScale.x, + 1f / lossyScale.y); + for (int i = 0; i < poly.pathCount; ++i) + { + int numPoints = poly.GetPath(i, path); + List dst = new List(); + for (int j = 0; j < numPoints; ++j) + dst.Add(path[j] * revertCompositeColliderScale); + m_pathCache.Add(dst); + } + m_pathTotalPointCount = poly.pointCount; + } + return true; + } +#endif + InvalidatePathCache(); + return false; + } + + private Vector3 ConfinePoint(Vector3 camPos) + { +#if CINEMACHINE_PHYSICS + // 3D version + #if CINEMACHINE_PHYSICS_2D + if (m_ConfineMode == Mode.Confine3D) + #endif + return m_BoundingVolume.ClosestPoint(camPos) - camPos; +#endif + +#if CINEMACHINE_PHYSICS_2D + // 2D version + Vector2 p = camPos; + Vector2 closest = p; + if (m_BoundingShape2D.OverlapPoint(camPos)) + return Vector3.zero; + // Find the nearest point on the shape's boundary + if (!ValidatePathCache()) + return Vector3.zero; + + float bestDistance = float.MaxValue; + for (int i = 0; i < m_pathCache.Count; ++i) + { + int numPoints = m_pathCache[i].Count; + if (numPoints > 0) + { + Vector2 v0 = m_BoundingShape2D.transform.TransformPoint(m_pathCache[i][numPoints - 1] + + m_BoundingShape2D.offset); + for (int j = 0; j < numPoints; ++j) + { + Vector2 v = m_BoundingShape2D.transform.TransformPoint(m_pathCache[i][j] + + m_BoundingShape2D.offset); + Vector2 c = Vector2.Lerp(v0, v, p.ClosestPointOnSegment(v0, v)); + float d = Vector2.SqrMagnitude(p - c); + if (d < bestDistance) + { + bestDistance = d; + closest = c; + } + v0 = v; + } + } + } + return closest - p; +#endif + } + + // Camera must be orthographic + Vector3 ConfineScreenEdges(ref CameraState state) + { + var rot = state.CorrectedOrientation; + var dy = state.Lens.OrthographicSize; + var dx = dy * state.Lens.Aspect; + var vx = (rot * Vector3.right) * dx; + var vy = (rot * Vector3.up) * dy; + + var displacement = Vector3.zero; + var camPos = state.CorrectedPosition; + var lastD = Vector3.zero; + + const int kMaxIter = 12; + for (var i = 0; i < kMaxIter; ++i) + { + var d = ConfinePoint((camPos - vy) - vx); + if (d.AlmostZero()) + d = ConfinePoint((camPos + vy) + vx); + if (d.AlmostZero()) + d = ConfinePoint((camPos - vy) + vx); + if (d.AlmostZero()) + d = ConfinePoint((camPos + vy) - vx); + if (d.AlmostZero()) + break; + if ((d + lastD).AlmostZero()) + { + displacement += d * 0.5f; // confiner too small: center it + break; + } + displacement += d; + camPos += d; + lastD = d; + } + return displacement; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner.cs.meta new file mode 100644 index 00000000..0aa63c95 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a2fba25a5cd15594e8f050a11e386c80 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: b8ba3923a6094cd48b85425f47fd7450, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner2D.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner2D.cs new file mode 100644 index 00000000..ec6400b5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner2D.cs @@ -0,0 +1,391 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS_2D +#endif + +using System; +using System.Collections.Generic; +using Cinemachine.Utility; +using UnityEditor; +using UnityEngine; + +namespace Cinemachine +{ + +#if CINEMACHINE_PHYSICS_2D + /// + /// + /// An add-on module for Cinemachine Virtual Camera that post-processes the final position + /// of the virtual camera. It will confine the camera's position such that the screen edges stay + /// within a shape defined by a 2D polygon. This will work for orthographic or perspective cameras, + /// provided that the camera's forward vector remains parallel to the bounding shape's normal, + /// i.e. that the camera is looking straight at the polygon, and not obliquely at it. + /// + /// + /// + /// When confining the camera, the camera's view size at the polygon plane is considered, and + /// also its aspect ratio. Based on this information and the input polygon, a second (smaller) + /// polygon is computed to which the camera's transform is constrained. Computation of this secondary + /// polygon is nontrivial and expensive, so it should be done only when absolutely necessary. + /// + /// + /// + /// The cached secondary polygon needs to be recomputed in the following circumstances: + /// + /// when the input polygon's points change + /// when the input polygon is non-uniformly scaled + /// when the input polygon is rotated + /// + /// For efficiency reasons, Cinemachine will not automatically regenerate the inner polygon + /// in these cases, and it is the responsibility of the client to call the InvalidateCache() + /// method to trigger the recalculation. An inspector button is also provided for this purpose. + /// + /// + /// + /// If the input polygon scales uniformly or translates, the cache remains valid. If the + /// polygon rotates, then the cache degrades in quality (more or less depending on the aspect + /// ratio - it's better if the ratio is close to 1:1) but can still be used. + /// Regenerating it will eliminate the imperfections. + /// + /// + /// + /// The cached secondary polygon is not a single polygon, but rather a family of polygons from + /// which a member is chosen depending on the current size of the camera view. The number of + /// polygons in this family will depend on the complexity of the input polygon, and the maximum + /// expected camera view size. The MaxOrthoSize property is provided to give a hint to the + /// algorithm to stop generating polygons for camera view sizes larger than the one specified. + /// This can represent a substantial cost saving when regenerating the cache, so it is a good + /// idea to set it carefully. Leaving it at 0 will cause the maximum number of polygons to be generated. + /// + /// + [AddComponentMenu("")] // Hide in menu + [SaveDuringPlay] + [ExecuteAlways] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachineConfiner2D.html")] + public class CinemachineConfiner2D : CinemachineExtension + { + /// The 2D shape within which the camera is to be contained. + [Tooltip("The 2D shape within which the camera is to be contained. " + + "Can be a 2D polygon or 2D composite collider.")] + public Collider2D m_BoundingShape2D; + + /// Damping applied automatically around corners to avoid jumps. + [Tooltip("Damping applied around corners to avoid jumps. Higher numbers are more gradual.")] + [Range(0, 5)] + public float m_Damping; + + /// + /// To optimize computation and memory costs, set this to the largest view size that the camera + /// is expected to have. The confiner will not compute a polygon cache for frustum sizes larger + /// than this. This refers to the size in world units of the frustum at the confiner plane + /// (for orthographic cameras, this is just the orthographic size). If set to 0, then this + /// parameter is ignored and a polygon cache will be calculated for all potential window sizes. + /// + [Tooltip("To optimize computation and memory costs, set this to the largest view size that the " + + "camera is expected to have. The confiner will not compute a polygon cache for frustum " + + "sizes larger than this. This refers to the size in world units of the frustum at the " + + "confiner plane (for orthographic cameras, this is just the orthographic size). If set " + + "to 0, then this parameter is ignored and a polygon cache will be calculated for all " + + "potential window sizes.")] + public float m_MaxWindowSize; + + float m_MaxComputationTimePerFrameInSeconds = 1f / 120f; + + /// Invalidates cache and consequently trigger a rebake at next iteration. + public void InvalidateCache() + { + m_shapeCache.Invalidate(); + } + + /// Validates cache + /// Aspect ratio of camera. + /// Returns true if the cache could be validated. False, otherwise. + public bool ValidateCache(float cameraAspectRatio) + { + return m_shapeCache.ValidateCache(m_BoundingShape2D, m_MaxWindowSize, cameraAspectRatio, out _); + } + + const float k_cornerAngleTreshold = 10f; + + /// + /// Callback to do the camera confining + /// + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + if (stage == CinemachineCore.Stage.Body) + { + var aspectRatio = state.Lens.Aspect; + if (!m_shapeCache.ValidateCache( + m_BoundingShape2D, m_MaxWindowSize, aspectRatio, out bool confinerStateChanged)) + { + return; // invalid path + } + + var oldCameraPos = state.CorrectedPosition; + var cameraPosLocal = m_shapeCache.m_DeltaWorldToBaked.MultiplyPoint3x4(oldCameraPos); + var currentFrustumHeight = CalculateHalfFrustumHeight(state, cameraPosLocal.z); + // convert frustum height from world to baked space. deltaWorldToBaked.lossyScale is always uniform. + var bakedSpaceFrustumHeight = currentFrustumHeight * + m_shapeCache.m_DeltaWorldToBaked.lossyScale.x; + + // Make sure we have a solution for our current frustum size + var extra = GetExtraState(vcam); + extra.m_vcam = vcam; + if (confinerStateChanged || extra.m_BakedSolution == null + || !extra.m_BakedSolution.IsValid()) + { + extra.m_BakedSolution = m_shapeCache.m_confinerOven.GetBakedSolution(bakedSpaceFrustumHeight); + } + + cameraPosLocal = extra.m_BakedSolution.ConfinePoint(cameraPosLocal); + var newCameraPos = m_shapeCache.m_DeltaBakedToWorld.MultiplyPoint3x4(cameraPosLocal); + + // Don't move the camera along its z-axis + var fwd = state.CorrectedOrientation * Vector3.forward; + newCameraPos -= fwd * Vector3.Dot(fwd, newCameraPos - oldCameraPos); + + // Remember the desired displacement for next frame + var prev = extra.m_PreviousDisplacement; + var displacement = newCameraPos - oldCameraPos; + extra.m_PreviousDisplacement = displacement; + + if (!VirtualCamera.PreviousStateIsValid || deltaTime < 0 || m_Damping <= 0) + extra.m_DampedDisplacement = Vector3.zero; + else + { + // If a big change from previous frame's desired displacement is detected, + // assume we are going around a corner and extract that difference for damping + if (prev.sqrMagnitude > 0.01f && Vector2.Angle(prev, displacement) > k_cornerAngleTreshold) + extra.m_DampedDisplacement += displacement - prev; + + extra.m_DampedDisplacement -= Damper.Damp(extra.m_DampedDisplacement, m_Damping, deltaTime); + displacement -= extra.m_DampedDisplacement; + } + state.PositionCorrection += displacement; + } + } + + /// + /// Calculates half frustum height for orthographic or perspective camera. + /// For more info on frustum height, see + /// + /// CameraState for checking if Orthographic or Perspective + /// vcam, to check its position + /// Frustum height of the camera + float CalculateHalfFrustumHeight(in CameraState state, in float cameraPosLocalZ) + { + float frustumHeight; + if (state.Lens.Orthographic) + { + frustumHeight = state.Lens.OrthographicSize; + } + else + { + // distance between the collider's plane and the camera + float distance = cameraPosLocalZ; + frustumHeight = distance * Mathf.Tan(state.Lens.FieldOfView * 0.5f * Mathf.Deg2Rad); + } + + return Mathf.Abs(frustumHeight); + } + + class VcamExtraState + { + public Vector3 m_PreviousDisplacement; + public Vector3 m_DampedDisplacement; + public ConfinerOven.BakedSolution m_BakedSolution; + public CinemachineVirtualCameraBase m_vcam; + }; + + ShapeCache m_shapeCache; + + /// + /// ShapeCache: contains all states that dependent only on the settings in the confiner. + /// + struct ShapeCache + { + public ConfinerOven m_confinerOven; + public List> m_OriginalPath; // in baked space, not including offset + + // These account for offset and transform change since baking + public Matrix4x4 m_DeltaWorldToBaked; + public Matrix4x4 m_DeltaBakedToWorld; + + float m_aspectRatio; + float m_maxWindowSize; + internal float m_maxComputationTimePerFrameInSeconds; + + Matrix4x4 m_bakedToWorld; // defines baked space + Collider2D m_boundingShape2D; + + /// + /// Invalidates shapeCache + /// + public void Invalidate() + { + m_aspectRatio = 0; + m_maxWindowSize = -1; + m_DeltaBakedToWorld = m_DeltaWorldToBaked = Matrix4x4.identity; + + m_boundingShape2D = null; + m_OriginalPath = null; + + m_confinerOven = null; + } + + /// + /// Checks if we have a valid confiner state cache. Calculates cache if it is invalid (outdated or empty). + /// + /// Bounding shape + /// Max Window size + /// Aspect ratio/param> + /// True, if the baked confiner state has changed. + /// False, otherwise. + /// True, if input is valid. False, otherwise. + public bool ValidateCache( + Collider2D boundingShape2D, float maxWindowSize, + float aspectRatio, out bool confinerStateChanged) + { + confinerStateChanged = false; + if (IsValid(boundingShape2D, aspectRatio, maxWindowSize)) + { + // Advance confiner baking + if (m_confinerOven.State == ConfinerOven.BakingState.BAKING) + { + m_confinerOven.BakeConfiner(m_maxComputationTimePerFrameInSeconds); + + // If no longer baking, then confinerStateChanged + confinerStateChanged = m_confinerOven.State != ConfinerOven.BakingState.BAKING; + } + + // Update in case the polygon's transform changed + CalculateDeltaTransformationMatrix(); + + // If delta world to baked scale is uniform, cache is valid. + Vector2 lossyScaleXY = m_DeltaWorldToBaked.lossyScale; + if (lossyScaleXY.IsUniform()) + { + return true; + } + } + + Invalidate(); + confinerStateChanged = true; + + Type colliderType = boundingShape2D == null ? null: boundingShape2D.GetType(); + if (colliderType == typeof(PolygonCollider2D)) + { + var poly = boundingShape2D as PolygonCollider2D; + m_OriginalPath = new List>(); + + // Cache the current worldspace shape + m_bakedToWorld = boundingShape2D.transform.localToWorldMatrix; + for (int i = 0; i < poly.pathCount; ++i) + { + Vector2[] path = poly.GetPath(i); + List dst = new List(); + for (int j = 0; j < path.Length; ++j) + dst.Add(m_bakedToWorld.MultiplyPoint3x4(path[j])); + m_OriginalPath.Add(dst); + } + } + else if (colliderType == typeof(CompositeCollider2D)) + { + var poly = boundingShape2D as CompositeCollider2D; + m_OriginalPath = new List>(); + + // Cache the current worldspace shape + m_bakedToWorld = boundingShape2D.transform.localToWorldMatrix; + var path = new Vector2[poly.pointCount]; + for (int i = 0; i < poly.pathCount; ++i) + { + int numPoints = poly.GetPath(i, path); + List dst = new List(); + for (int j = 0; j < numPoints; ++j) + dst.Add(m_bakedToWorld.MultiplyPoint3x4(path[j])); + m_OriginalPath.Add(dst); + } + } + else + { + return false; // input collider is invalid + } + + m_confinerOven = new ConfinerOven(m_OriginalPath, aspectRatio, maxWindowSize); + m_aspectRatio = aspectRatio; + m_boundingShape2D = boundingShape2D; + m_maxWindowSize = maxWindowSize; + + CalculateDeltaTransformationMatrix(); + + return true; + } + + bool IsValid(in Collider2D boundingShape2D, in float aspectRatio, in float maxOrthoSize) + { + return boundingShape2D != null && m_boundingShape2D != null && + m_boundingShape2D == boundingShape2D && // same boundingShape? + m_OriginalPath != null && // first time? + m_confinerOven != null && // cache not empty? + Mathf.Abs(m_aspectRatio - aspectRatio) < UnityVectorExtensions.Epsilon && // aspect changed? + Mathf.Abs(m_maxWindowSize - maxOrthoSize) < UnityVectorExtensions.Epsilon; // max ortho changed? + } + + void CalculateDeltaTransformationMatrix() + { + // Account for current collider offset (in local space) and + // incorporate the worldspace delta that the confiner has moved since baking + var m = Matrix4x4.Translate(-m_boundingShape2D.offset) * + m_boundingShape2D.transform.worldToLocalMatrix; + m_DeltaWorldToBaked = m_bakedToWorld * m; + m_DeltaBakedToWorld = m_DeltaWorldToBaked.inverse; + } + } + + #if UNITY_EDITOR + // Used by editor gizmo drawer + internal bool GetGizmoPaths( + out List> originalPath, + ref List> currentPath, + out Matrix4x4 pathLocalToWorld) + { + originalPath = m_shapeCache.m_OriginalPath; + pathLocalToWorld = m_shapeCache.m_DeltaBakedToWorld; + currentPath.Clear(); + var allExtraStates = GetAllExtraStates(); + for (var i = 0; i < allExtraStates.Count; ++i) + { + var e = allExtraStates[i]; + if (e.m_BakedSolution != null) + { + currentPath.AddRange(e.m_BakedSolution.GetBakedPath()); + } + } + return originalPath != null; + } + + internal float BakeProgress() => m_shapeCache.m_confinerOven != null ? m_shapeCache.m_confinerOven.bakeProgress : 0f; + internal bool ConfinerOvenTimedOut() => m_shapeCache.m_confinerOven != null && + m_shapeCache.m_confinerOven.State == ConfinerOven.BakingState.TIMEOUT; +#endif + + void OnValidate() + { + m_Damping = Mathf.Max(0, m_Damping); + m_shapeCache.m_maxComputationTimePerFrameInSeconds = m_MaxComputationTimePerFrameInSeconds; + } + + void Reset() + { + m_Damping = 0.5f; + m_MaxWindowSize = -1; + } + } +#endif +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner2D.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner2D.cs.meta new file mode 100644 index 00000000..95a77824 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineConfiner2D.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f453f694addf4275988fac205bc91968 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: b8ba3923a6094cd48b85425f47fd7450, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineDollyCart.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineDollyCart.cs new file mode 100644 index 00000000..1434bd13 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineDollyCart.cs @@ -0,0 +1,81 @@ +using UnityEngine; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// This is a very simple behaviour that constrains its transform to a CinemachinePath. + /// It can be used to animate any objects along a path, or as a Follow target for + /// Cinemachine Virtual Cameras. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [ExecuteAlways] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachineDollyCart.html")] + public class CinemachineDollyCart : MonoBehaviour + { + /// The path to follow + [Tooltip("The path to follow")] + public CinemachinePathBase m_Path; + + /// This enum defines the options available for the update method. + public enum UpdateMethod + { + /// Updated in normal MonoBehaviour Update. + Update, + /// Updated in sync with the Physics module, in FixedUpdate + FixedUpdate, + /// Updated in normal MonoBehaviour LateUpdate + LateUpdate + }; + + /// When to move the cart, if Velocity is non-zero + [Tooltip("When to move the cart, if Velocity is non-zero")] + public UpdateMethod m_UpdateMethod = UpdateMethod.Update; + + /// How to interpret the Path Position + [Tooltip("How to interpret the Path Position. If set to Path Units, values are as follows: 0 represents the first waypoint on the path, 1 is the second, and so on. Values in-between are points on the path in between the waypoints. If set to Distance, then Path Position represents distance along the path.")] + public CinemachinePathBase.PositionUnits m_PositionUnits = CinemachinePathBase.PositionUnits.Distance; + + /// Move the cart with this speed + [Tooltip("Move the cart with this speed along the path. The value is interpreted according to the Position Units setting.")] + [FormerlySerializedAs("m_Velocity")] + public float m_Speed; + + /// The cart's current position on the path, in distance units + [Tooltip("The position along the path at which the cart will be placed. This can be animated directly or, if the velocity is non-zero, will be updated automatically. The value is interpreted according to the Position Units setting.")] + [FormerlySerializedAs("m_CurrentDistance")] + public float m_Position; + + void FixedUpdate() + { + if (m_UpdateMethod == UpdateMethod.FixedUpdate) + SetCartPosition(m_Position + m_Speed * Time.deltaTime); + } + + void Update() + { + float speed = Application.isPlaying ? m_Speed : 0; + if (m_UpdateMethod == UpdateMethod.Update) + SetCartPosition(m_Position + speed * Time.deltaTime); + } + + void LateUpdate() + { + if (!Application.isPlaying) + SetCartPosition(m_Position); + else if (m_UpdateMethod == UpdateMethod.LateUpdate) + SetCartPosition(m_Position + m_Speed * Time.deltaTime); + } + + void SetCartPosition(float distanceAlongPath) + { + if (m_Path != null) + { + m_Position = m_Path.StandardizeUnit(distanceAlongPath, m_PositionUnits); + transform.position = m_Path.EvaluatePositionAtUnit(m_Position, m_PositionUnits); + transform.rotation = m_Path.EvaluateOrientationAtUnit(m_Position, m_PositionUnits); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineDollyCart.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineDollyCart.cs.meta new file mode 100644 index 00000000..afddf2bd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineDollyCart.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 99a9c787e5d1bbf48a389834c4a9641c +timeCreated: 1502981597 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineExternalCamera.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineExternalCamera.cs new file mode 100644 index 00000000..06c4415d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineExternalCamera.cs @@ -0,0 +1,80 @@ +using Cinemachine.Utility; +using UnityEngine; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// This component will expose a non-cinemachine camera to the cinemachine system, + /// allowing it to participate in blends. + /// Just add it as a component alongside an existing Unity Camera component. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [RequireComponent(typeof(Camera)), DisallowMultipleComponent] + [AddComponentMenu("Cinemachine/CinemachineExternalCamera")] + [ExecuteAlways] + [HelpURL(Documentation.BaseURL + "manual/CinemachineExternalCamera.html")] + public class CinemachineExternalCamera : CinemachineVirtualCameraBase + { + /// The object that the camera is looking at. + [Tooltip("The object that the camera is looking at. Setting this will improve the " + + "quality of the blends to and from this camera")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_LookAt = null; + + private Camera m_Camera; + private CameraState m_State = CameraState.Default; + + /// Get the CameraState, as we are able to construct one from the Unity Camera + public override CameraState State { get { return m_State; } } + + /// The object that the camera is looking at + override public Transform LookAt + { + get { return m_LookAt; } + set { m_LookAt = value; } + } + + /// This vcam defines no targets + override public Transform Follow { get; set; } + + /// Hint for blending positions to and from this virtual camera + [Tooltip("Hint for blending positions to and from this virtual camera")] + [FormerlySerializedAs("m_PositionBlending")] + public BlendHint m_BlendHint = BlendHint.None; + + /// Internal use only. Do not call this method + /// Effective world up + /// Effective deltaTime + public override void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) + { + // Get the state from the camera + if (m_Camera == null) + { +#if UNITY_2019_2_OR_NEWER + TryGetComponent(out m_Camera); +#else + m_Camera = GetComponent(); +#endif + } + m_State = CameraState.Default; + m_State.RawPosition = transform.position; + m_State.RawOrientation = transform.rotation; + m_State.ReferenceUp = m_State.RawOrientation * Vector3.up; + if (m_Camera != null) + m_State.Lens = LensSettings.FromCamera(m_Camera); + + if (m_LookAt != null) + { + m_State.ReferenceLookAt = m_LookAt.transform.position; + Vector3 dir = m_State.ReferenceLookAt - State.RawPosition; + if (!dir.AlmostZero()) + m_State.ReferenceLookAt = m_State.RawPosition + Vector3.Project( + dir, State.RawOrientation * Vector3.forward); + } + ApplyPositionBlendMethod(ref m_State, m_BlendHint); + InvokePostPipelineStageCallback(this, CinemachineCore.Stage.Finalize, ref m_State, deltaTime); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineExternalCamera.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineExternalCamera.cs.meta new file mode 100644 index 00000000..ce71f510 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineExternalCamera.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 57744762d9079934292f57896d8193e0 +timeCreated: 1489441713 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFollowZoom.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFollowZoom.cs new file mode 100644 index 00000000..a003c64f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFollowZoom.cs @@ -0,0 +1,106 @@ +using UnityEngine; +using Cinemachine.Utility; + +namespace Cinemachine +{ + /// + /// An add-on module for Cinemachine Virtual Camera that adjusts + /// the FOV of the lens to keep the target object at a constant size on the screen, + /// regardless of camera and target position. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Hide in menu + [SaveDuringPlay] + [ExecuteAlways] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachineFollowZoom.html")] + public class CinemachineFollowZoom : CinemachineExtension + { + /// The shot width to maintain, in world units, at target distance. + /// FOV will be adusted as far as possible to maintain this width at the + /// target distance from the camera. + [Tooltip("The shot width to maintain, in world units, at target distance.")] + public float m_Width = 2f; + + /// Increase this value to soften the aggressiveness of the follow-zoom. + /// Small numbers are more responsive, larger numbers give a more heavy slowly responding camera. + [Range(0f, 20f)] + [Tooltip("Increase this value to soften the aggressiveness of the follow-zoom. Small numbers are more responsive, larger numbers give a more heavy slowly responding camera.")] + public float m_Damping = 1f; + + /// Will not generate an FOV smaller than this. + [Range(1f, 179f)] + [Tooltip("Lower limit for the FOV that this behaviour will generate.")] + public float m_MinFOV = 3f; + + /// Will not generate an FOV larget than this. + [Range(1f, 179f)] + [Tooltip("Upper limit for the FOV that this behaviour will generate.")] + public float m_MaxFOV = 60f; + + private void OnValidate() + { + m_Width = Mathf.Max(0, m_Width); + m_MaxFOV = Mathf.Clamp(m_MaxFOV, 1, 179); + m_MinFOV = Mathf.Clamp(m_MinFOV, 1, m_MaxFOV); + } + + class VcamExtraState + { + public float m_previousFrameZoom = 0; + } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() + { + return m_Damping; + } + + /// Callback to preform the zoom adjustment + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + VcamExtraState extra = GetExtraState(vcam); + if (deltaTime < 0 || !VirtualCamera.PreviousStateIsValid) + extra.m_previousFrameZoom = state.Lens.FieldOfView; + + // Set the zoom after the body has been positioned, but before the aim, + // so that composer can compose using the updated fov. + if (stage == CinemachineCore.Stage.Body) + { + // Try to reproduce the target width + float targetWidth = Mathf.Max(m_Width, 0); + float fov = 179f; + float d = Vector3.Distance(state.CorrectedPosition, state.ReferenceLookAt); + if (d > UnityVectorExtensions.Epsilon) + { + // Clamp targetWidth to FOV min/max + float minW = d * 2f * Mathf.Tan(m_MinFOV * Mathf.Deg2Rad / 2f); + float maxW = d * 2f * Mathf.Tan(m_MaxFOV * Mathf.Deg2Rad / 2f); + targetWidth = Mathf.Clamp(targetWidth, minW, maxW); + + // Apply damping + if (deltaTime >= 0 && m_Damping > 0 && VirtualCamera.PreviousStateIsValid) + { + float currentWidth = d * 2f * Mathf.Tan(extra.m_previousFrameZoom * Mathf.Deg2Rad / 2f); + float delta = targetWidth - currentWidth; + delta = VirtualCamera.DetachedLookAtTargetDamp(delta, m_Damping, deltaTime); + targetWidth = currentWidth + delta; + } + fov = 2f * Mathf.Atan(targetWidth / (2 * d)) * Mathf.Rad2Deg; + } + LensSettings lens = state.Lens; + lens.FieldOfView = extra.m_previousFrameZoom = Mathf.Clamp(fov, m_MinFOV, m_MaxFOV); + state.Lens = lens; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFollowZoom.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFollowZoom.cs.meta new file mode 100644 index 00000000..04bcf86f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFollowZoom.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4700f9f03ad19f94baf0367cb7a9c988 +timeCreated: 1491854845 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFreeLook.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFreeLook.cs new file mode 100644 index 00000000..1a583b74 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFreeLook.cs @@ -0,0 +1,901 @@ +using UnityEngine; +using Cinemachine.Utility; +using UnityEngine.Serialization; +using System; +using System.Collections.Generic; + +namespace Cinemachine +{ + /// + /// A Cinemachine Camera geared towards a 3rd person camera experience. + /// The camera orbits around its subject with three separate camera rigs defining + /// rings around the target. Each rig has its own radius, height offset, composer, + /// and lens settings. + /// Depending on the camera's position along the spline connecting these three rigs, + /// these settings are interpolated to give the final camera position and state. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [DisallowMultipleComponent] + [ExecuteAlways] + [ExcludeFromPreset] + [AddComponentMenu("Cinemachine/CinemachineFreeLook")] + [HelpURL(Documentation.BaseURL + "manual/CinemachineFreeLook.html")] + public class CinemachineFreeLook : CinemachineVirtualCameraBase + { + /// Object for the camera children to look at (the aim target) + [Tooltip("Object for the camera children to look at (the aim target).")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_LookAt = null; + + /// Object for the camera children wants to move with (the body target) + [Tooltip("Object for the camera children wants to move with (the body target).")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_Follow = null; + + /// If enabled, this lens setting will apply to all three child rigs, + /// otherwise the child rig lens settings will be used + [Tooltip("If enabled, this lens setting will apply to all three child rigs, " + + "otherwise the child rig lens settings will be used")] + [FormerlySerializedAs("m_UseCommonLensSetting")] + public bool m_CommonLens = true; + + /// Specifies the lens properties of this Virtual Camera. + /// This generally mirrors the Unity Camera's lens settings, and will be used to drive + /// the Unity camera when the vcam is active + [FormerlySerializedAs("m_LensAttributes")] + [Tooltip("Specifies the lens properties of this Virtual Camera. This generally " + + "mirrors the Unity Camera's lens settings, and will be used to drive the " + + "Unity camera when the vcam is active")] + public LensSettings m_Lens = LensSettings.Default; + + /// Collection of parameters that influence how this virtual camera transitions from + /// other virtual cameras + public TransitionParams m_Transitions; + + /// Legacy support + [SerializeField] [HideInInspector] + [FormerlySerializedAs("m_BlendHint")] + [FormerlySerializedAs("m_PositionBlending")] private BlendHint m_LegacyBlendHint; + + /// The Vertical axis. Value is 0..1. Chooses how to blend the child rigs + [Header("Axis Control")] + [Tooltip("The Vertical axis. Value is 0..1. Chooses how to blend the child rigs")] + [AxisStateProperty] + public AxisState m_YAxis = new AxisState(0, 1, false, true, 2f, 0.2f, 0.1f, "Mouse Y", false); + + /// Controls how automatic recentering of the Y axis is accomplished + [Tooltip("Controls how automatic recentering of the Y axis is accomplished")] + public AxisState.Recentering m_YAxisRecentering = new AxisState.Recentering(false, 1, 2); + + /// The Horizontal axis. Value is -180...180. This is passed on to + /// the rigs' OrbitalTransposer component + [Tooltip("The Horizontal axis. Value is -180...180. " + + "This is passed on to the rigs' OrbitalTransposer component")] + [AxisStateProperty] + public AxisState m_XAxis = new AxisState(-180, 180, true, false, 300f, 0.1f, 0.1f, "Mouse X", true); + + /// The definition of Forward. Camera will follow behind + [OrbitalTransposerHeadingProperty] + [Tooltip("The definition of Forward. Camera will follow behind.")] + public CinemachineOrbitalTransposer.Heading m_Heading + = new CinemachineOrbitalTransposer.Heading( + CinemachineOrbitalTransposer.Heading.HeadingDefinition.TargetForward, 4, 0); + + /// Controls how automatic recentering of the X axis is accomplished + [Tooltip("Controls how automatic recentering of the X axis is accomplished")] + public AxisState.Recentering m_RecenterToTargetHeading = new AxisState.Recentering(false, 1, 2); + + /// The coordinate space to use when interpreting the offset from the target + [Header("Orbits")] + [Tooltip("The coordinate space to use when interpreting the offset from the target. " + + "This is also used to set the camera's Up vector, which will be maintained " + + "when aiming the camera.")] + public CinemachineOrbitalTransposer.BindingMode m_BindingMode + = CinemachineOrbitalTransposer.BindingMode.SimpleFollowWithWorldUp; + + /// + [Tooltip("Controls how taut is the line that connects the rigs' orbits, which " + + "determines final placement on the Y axis")] + [Range(0f, 1f)] + [FormerlySerializedAs("m_SplineTension")] + public float m_SplineCurvature = 0.2f; + + /// Defines the height and radius of the Rig orbit + [Serializable] + public struct Orbit + { + /// Height relative to target + public float m_Height; + /// Radius of orbit + public float m_Radius; + /// Constructor with specific values + /// Orbit height + /// Orbit radius + public Orbit(float h, float r) { m_Height = h; m_Radius = r; } + } + + /// The radius and height of the three orbiting rigs + [Tooltip("The radius and height of the three orbiting rigs.")] + public Orbit[] m_Orbits = new Orbit[3] + { + // These are the default orbits + new Orbit(4.5f, 1.75f), + new Orbit(2.5f, 3f), + new Orbit(0.4f, 1.3f) + }; + + // Legacy support + [SerializeField] [HideInInspector] [FormerlySerializedAs("m_HeadingBias")] + private float m_LegacyHeadingBias = float.MaxValue; + bool mUseLegacyRigDefinitions = false; + + /// Enforce bounds for fields, when changed in inspector. + protected override void OnValidate() + { + base.OnValidate(); + + // Upgrade after a legacy deserialize + if (m_LegacyHeadingBias != float.MaxValue) + { + m_Heading.m_Bias= m_LegacyHeadingBias; + m_LegacyHeadingBias = float.MaxValue; + int heading = (int)m_Heading.m_Definition; + if (m_RecenterToTargetHeading.LegacyUpgrade(ref heading, ref m_Heading.m_VelocityFilterStrength)) + m_Heading.m_Definition = (CinemachineOrbitalTransposer.Heading.HeadingDefinition)heading; + mUseLegacyRigDefinitions = true; + } + if (m_LegacyBlendHint != BlendHint.None) + { + m_Transitions.m_BlendHint = m_LegacyBlendHint; + m_LegacyBlendHint = BlendHint.None; + } + m_YAxis.Validate(); + m_XAxis.Validate(); + m_RecenterToTargetHeading.Validate(); + m_YAxisRecentering.Validate(); + m_Lens.Validate(); + + InvalidateRigCache(); + +#if UNITY_EDITOR + for (int i = 0; m_Rigs != null && i < m_Rigs.Length; ++i) + if (m_Rigs[i] != null) + CinemachineVirtualCamera.SetFlagsForHiddenChild(m_Rigs[i].gameObject); +#endif + } + + /// Get a child rig + /// Rig index. Can be 0, 1, or 2 + /// The rig, or null if index is bad. + public CinemachineVirtualCamera GetRig(int i) + { + return (UpdateRigCache() && i >= 0 && i < 3) ? m_Rigs[i] : null; + } + + internal bool RigsAreCreated { get => m_Rigs != null && m_Rigs.Length == 3; } + + /// Names of the 3 child rigs + public static string[] RigNames { get { return new string[] { "TopRig", "MiddleRig", "BottomRig" }; } } + + bool mIsDestroyed = false; + + /// Updates the child rig cache + protected override void OnEnable() + { + mIsDestroyed = false; + base.OnEnable(); + InvalidateRigCache(); + UpdateInputAxisProvider(); + } + + /// + /// API for the inspector. Internal use only + /// + public void UpdateInputAxisProvider() + { + m_XAxis.SetInputAxisProvider(0, null); + m_YAxis.SetInputAxisProvider(1, null); + var provider = GetInputAxisProvider(); + if (provider != null) + { + m_XAxis.SetInputAxisProvider(0, provider); + m_YAxis.SetInputAxisProvider(1, provider); + } + } + + /// Makes sure that the child rigs get destroyed in an undo-firndly manner. + /// Invalidates the rig cache. + protected override void OnDestroy() + { + // Make the rigs visible instead of destroying - this is to keep Undo happy + if (m_Rigs != null) + foreach (var rig in m_Rigs) + if (rig != null && rig.gameObject != null) + rig.gameObject.hideFlags + &= ~(HideFlags.HideInHierarchy | HideFlags.HideInInspector); + + mIsDestroyed = true; + base.OnDestroy(); + } + + /// Invalidates the rig cache + void OnTransformChildrenChanged() + { + InvalidateRigCache(); + } + + void Reset() + { + DestroyRigs(); + UpdateRigCache(); + } + + /// Set this to force the next update to ignore deltaTime and reset itself + public override bool PreviousStateIsValid + { + get { return base.PreviousStateIsValid; } + set + { + if (value == false) + for (int i = 0; m_Rigs != null && i < m_Rigs.Length; ++i) + if (m_Rigs[i] != null) + m_Rigs[i].PreviousStateIsValid = value; + base.PreviousStateIsValid = value; + } + } + + /// The cacmera state, which will be a blend of the child rig states + override public CameraState State { get { return m_State; } } + + /// Get the current LookAt target. Returns parent's LookAt if parent + /// is non-null and no specific LookAt defined for this camera + override public Transform LookAt + { + get { return ResolveLookAt(m_LookAt); } + set { m_LookAt = value; } + } + + /// Get the current Follow target. Returns parent's Follow if parent + /// is non-null and no specific Follow defined for this camera + override public Transform Follow + { + get { return ResolveFollow(m_Follow); } + set { m_Follow = value; } + } + + /// Check whether the vcam a live child of this camera. + /// Returns true if the child is currently contributing actively to the camera state. + /// The Virtual Camera to check + /// If truw, will only return true if this vcam is the dominat live child + /// True if the vcam is currently actively influencing the state of this vcam + public override bool IsLiveChild(ICinemachineCamera vcam, bool dominantChildOnly = false) + { + // Do not update the rig cache here or there will be infinite loop at creation time + if (!RigsAreCreated) + return false; + var y = GetYAxisValue(); + if (dominantChildOnly) + { + if (vcam == (ICinemachineCamera)m_Rigs[0]) + return y > 0.666f; + if (vcam == (ICinemachineCamera)m_Rigs[2]) + return y < 0.333; + if (vcam == (ICinemachineCamera)m_Rigs[1]) + return y >= 0.333f && y <= 0.666f; + return false; + } + if (vcam == (ICinemachineCamera)m_Rigs[1]) + return true; + if (y < 0.5f) + return vcam == (ICinemachineCamera)m_Rigs[2]; + return vcam == (ICinemachineCamera)m_Rigs[0]; + } + + /// This is called to notify the vcam that a target got warped, + /// so that the vcam can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + UpdateRigCache(); + if (RigsAreCreated) + foreach (var vcam in m_Rigs) + vcam.OnTargetObjectWarped(target, positionDelta); + base.OnTargetObjectWarped(target, positionDelta); + } + + /// + /// Force the virtual camera to assume a given position and orientation. + /// Procedural placement then takes over + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + var up = State.ReferenceUp; + m_YAxis.Value = GetYAxisClosestValue(pos, up); + + PreviousStateIsValid = true; + transform.position = pos; + transform.rotation = rot; + m_State.RawPosition = pos; + m_State.RawOrientation = rot; + + if (UpdateRigCache()) + { + for (int i = 0; i < 3; ++i) + m_Rigs[i].ForceCameraPosition(pos, rot); + + if (m_BindingMode != CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp) + m_XAxis.Value = mOrbitals[1].m_XAxis.Value; + + PushSettingsToRigs(); + InternalUpdateCameraState(up, -1); + } + base.ForceCameraPosition(pos, rot); + } + + /// Internal use only. Called by CinemachineCore at designated update time + /// so the vcam can position itself and track its targets. All 3 child rigs are updated, + /// and a blend calculated, depending on the value of the Y axis. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + override public void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) + { + UpdateTargetCache(); + UpdateRigCache(); + if (!RigsAreCreated) + return; + + // Update the current state by invoking the component pipeline + m_State = CalculateNewState(worldUp, deltaTime); + ApplyPositionBlendMethod(ref m_State, m_Transitions.m_BlendHint); + + // Push the raw position back to the game object's transform, so it + // moves along with the camera. Leave the orientation alone, because it + // screws up camera dragging when there is a LookAt behaviour. + if (Follow != null) + { + Vector3 delta = State.RawPosition - transform.position; + transform.position = State.RawPosition; + m_Rigs[0].transform.position -= delta; + m_Rigs[1].transform.position -= delta; + m_Rigs[2].transform.position -= delta; + } + + InvokePostPipelineStageCallback(this, CinemachineCore.Stage.Finalize, ref m_State, deltaTime); + PreviousStateIsValid = true; + + // Set up for next frame + bool activeCam = PreviousStateIsValid && CinemachineCore.Instance.IsLive(this); + if (activeCam && deltaTime >= 0) + { + if (m_YAxis.Update(deltaTime)) + m_YAxisRecentering.CancelRecentering(); + } + PushSettingsToRigs(); + if (m_BindingMode == CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp) + m_XAxis.Value = 0; + } + + /// If we are transitioning from another FreeLook, grab the axis values from it. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + base.OnTransitionFromCamera(fromCam, worldUp, deltaTime); + if (!RigsAreCreated) + return; + InvokeOnTransitionInExtensions(fromCam, worldUp, deltaTime); +// m_RecenterToTargetHeading.DoRecentering(ref m_XAxis, -1, 0); +// m_YAxis.m_Recentering.DoRecentering(ref m_YAxis, -1, 0.5f); +// m_RecenterToTargetHeading.CancelRecentering(); +// m_YAxis.m_Recentering.CancelRecentering(); + if (fromCam != null && m_Transitions.m_InheritPosition + && !CinemachineCore.Instance.IsLiveInBlend(this)) + { + var cameraPos = fromCam.State.RawPosition; + + // Special handling for FreeLook: get an undamped outgoing position + if (fromCam is CinemachineFreeLook) + { + var flFrom = (fromCam as CinemachineFreeLook); + var orbital = flFrom.mOrbitals != null ? flFrom.mOrbitals[1] : null; + if (orbital != null) + cameraPos = orbital.GetTargetCameraPosition(worldUp); + } + ForceCameraPosition(cameraPos, fromCam.State.FinalOrientation); + } + UpdateCameraState(worldUp, deltaTime); + if (m_Transitions.m_OnCameraLive != null) + m_Transitions.m_OnCameraLive.Invoke(this, fromCam); + } + + /// + /// Returns true, because FreeLook requires input. + /// + internal override bool RequiresUserInput() + { + return true; + } + + float GetYAxisClosestValue(Vector3 cameraPos, Vector3 up) + { + if (Follow != null) + { + // Rotate the camera pos to the back + Quaternion q = Quaternion.FromToRotation(up, Vector3.up); + Vector3 dir = q * (cameraPos - Follow.position); + Vector3 flatDir = dir; flatDir.y = 0; + if (!flatDir.AlmostZero()) + { + float angle = UnityVectorExtensions.SignedAngle(flatDir, Vector3.back, Vector3.up); + dir = Quaternion.AngleAxis(angle, Vector3.up) * dir; + } + dir.x = 0; + + // We need to find the minimum of the angle of function using steepest descent + return SteepestDescent(dir.normalized * (cameraPos - Follow.position).magnitude); + } + return m_YAxis.Value; // stay conservative + } + + float SteepestDescent(Vector3 cameraOffset) + { + const int maxIteration = 10; + const float epsilon = 0.00005f; + var x = InitialGuess(cameraOffset); + for (var i = 0; i < maxIteration; ++i) + { + var angle = AngleFunction(x); + var slope = SlopeOfAngleFunction(x); + if (Mathf.Abs(slope) < epsilon || Mathf.Abs(angle) < epsilon) + break; // found best + x = Mathf.Clamp01(x - (angle / slope)); // clamping is needed so we don't overshoot + } + return x; + + // localFunctions + float AngleFunction(float input) + { + var point = GetLocalPositionForCameraFromInput(input); + return Mathf.Abs(UnityVectorExtensions.SignedAngle(cameraOffset, point, Vector3.right)); + } + // approximating derivative using symmetric difference quotient (finite diff) + float SlopeOfAngleFunction(float input) + { + var angleBehind = AngleFunction(input - epsilon); + var angleAfter = AngleFunction(input + epsilon); + return (angleAfter - angleBehind) / (2f * epsilon); + } + // initial guess based on closest line (approximating spline) to point + float InitialGuess(Vector3 cameraPosInRigSpace) + { + UpdateCachedSpline(); + var pb = m_CachedKnots[1]; // point at the bottom of spline + var pm = m_CachedKnots[2]; // point in the middle of spline + var pt = m_CachedKnots[3]; // point at the top of spline + var t1 = cameraPosInRigSpace.ClosestPointOnSegment(pb, pm); + var d1 = Vector3.SqrMagnitude(Vector3.Lerp(pb, pm, t1) - cameraPosInRigSpace); + var t2 = cameraPosInRigSpace.ClosestPointOnSegment(pm, pt); + var d2 = Vector3.SqrMagnitude(Vector3.Lerp(pm, pt, t2) - cameraPosInRigSpace); + + // [0,0.5] represent bottom to mid, and [0.5,1] represents mid to top + return d1 < d2 ? Mathf.Lerp(0f, 0.5f, t1) : Mathf.Lerp(0.5f, 1f, t2); + } + } + + CameraState m_State = CameraState.Default; // Current state this frame + + // Serialized only to implement copy/paste of rigs. + // Note however that this strategy has its limitations: the rigs + // won't be pasted onto a prefab asset outside the scene unless the prefab + // is opened in Prefab edit mode. + [SerializeField][HideInInspector][NoSaveDuringPlay] + CinemachineVirtualCamera[] m_Rigs = new CinemachineVirtualCamera[3]; + + void InvalidateRigCache() { mOrbitals = null; } + CinemachineOrbitalTransposer[] mOrbitals = null; + CinemachineBlend mBlendA; + CinemachineBlend mBlendB; + + /// + /// Override component pipeline creation. + /// This needs to be done by the editor to support Undo. + /// The override must do exactly the same thing as the CreatePipeline method in this class. + /// + public static CreateRigDelegate CreateRigOverride; + + /// + /// Override component pipeline creation. + /// This needs to be done by the editor to support Undo. + /// The override must do exactly the same thing as the CreatePipeline method in this class. + /// + public delegate CinemachineVirtualCamera CreateRigDelegate( + CinemachineFreeLook vcam, string name, CinemachineVirtualCamera copyFrom); + + /// + /// Override component pipeline destruction. + /// This needs to be done by the editor to support Undo. + /// + public static DestroyRigDelegate DestroyRigOverride; + + /// + /// Override component pipeline destruction. + /// This needs to be done by the editor to support Undo. + /// + public delegate void DestroyRigDelegate(GameObject rig); + + private void DestroyRigs() + { + // First collect rigs because we will destroy as we go + var rigs = new List(3); + for (int i = 0; i < RigNames.Length; ++i) + foreach (Transform child in transform) + if (child.gameObject.name == RigNames[i]) + rigs.Add(child.GetComponent()); + + foreach (var rig in rigs) + { + if (rig != null) + { + if (DestroyRigOverride != null) + DestroyRigOverride(rig.gameObject); + else + { + rig.DestroyPipeline(); + Destroy(rig); + if (!RuntimeUtility.IsPrefab(gameObject)) + Destroy(rig.gameObject); + } + } + } + mOrbitals = null; + m_Rigs = null; + } + + private CinemachineVirtualCamera[] CreateRigs(CinemachineVirtualCamera[] copyFrom) + { + float[] softCenterDefaultsV = new float[] { 0.5f, 0.55f, 0.6f }; + + // Invalidate the cache + mOrbitals = null; + m_Rigs = null; + + // Create the rig contents + CinemachineVirtualCamera[] newRigs = new CinemachineVirtualCamera[3]; + for (int i = 0; i < newRigs.Length; ++i) + { + var src = (copyFrom != null && copyFrom.Length > i) ? copyFrom[i] : null; + if (CreateRigOverride != null) + newRigs[i] = CreateRigOverride(this, RigNames[i], src); + else + { + // Recycle the game object if it exists + GameObject go = null; + foreach (Transform child in transform) + { + if (child.gameObject.name == RigNames[i]) + { + go = child.gameObject; + break; + } + } + + // Create a new rig with default components + // Note: copyFrom only supported in Editor, not build + if (go == null) + { + if (!RuntimeUtility.IsPrefab(gameObject)) + { + go = new GameObject(RigNames[i]); + go.transform.parent = transform; + } + } + if (go == null) + newRigs[i] = null; + else + { + newRigs[i] = go.AddComponent(); + newRigs[i].AddCinemachineComponent(); + newRigs[i].AddCinemachineComponent(); + } + } + + // Set up the defaults + if (newRigs[i] != null) + { + newRigs[i].InvalidateComponentPipeline(); + CinemachineOrbitalTransposer orbital = newRigs[i].GetCinemachineComponent(); + if (orbital == null) + orbital = newRigs[i].AddCinemachineComponent(); // should not happen + if (src == null) + { + // Only set defaults if not copying + orbital.m_YawDamping = 0; + CinemachineComposer composer = newRigs[i].GetCinemachineComponent(); + if (composer != null) + { + composer.m_HorizontalDamping = composer.m_VerticalDamping = 0; + composer.m_ScreenX = 0.5f; + composer.m_ScreenY = softCenterDefaultsV[i]; + composer.m_DeadZoneWidth = composer.m_DeadZoneHeight = 0f; + composer.m_SoftZoneWidth = composer.m_SoftZoneHeight = 0.8f; + composer.m_BiasX = composer.m_BiasY = 0; + } + } + } + } + return newRigs; + } + + private bool UpdateRigCache() + { + if (mIsDestroyed) + return false; + +#if UNITY_EDITOR + // Special condition: Did we just get copy/pasted? + if (m_Rigs != null && m_Rigs.Length == 3 + && m_Rigs[0] != null && m_Rigs[0].transform.parent != transform) + { + var copyFrom = m_Rigs; + DestroyRigs(); + CreateRigs(copyFrom); + } +#endif + + // Early out if we're up to date + if (mOrbitals != null && mOrbitals.Length == 3) + return true; + + // Locate existing rigs, and recreate them if any are missing + m_CachedXAxisHeading = 0; + m_Rigs = null; + mOrbitals = null; + var rigs = LocateExistingRigs(false); + if (rigs == null || rigs.Count != 3) + { + DestroyRigs(); + CreateRigs(null); + rigs = LocateExistingRigs(true); + } + if (rigs != null && rigs.Count == 3) + m_Rigs = rigs.ToArray(); + + if (RigsAreCreated) + { + mOrbitals = new CinemachineOrbitalTransposer[m_Rigs.Length]; + for (int i = 0; i < m_Rigs.Length; ++i) + mOrbitals[i] = m_Rigs[i].GetCinemachineComponent(); + +#if UNITY_EDITOR + foreach (var rig in m_Rigs) + { + // Configure the UI + if (rig == null) + continue; + rig.m_ExcludedPropertiesInInspector = m_CommonLens + ? new string[] { "m_Script", "Header", "Extensions", "m_Priority", "m_Transitions", "m_Follow", "m_StandbyUpdate", "m_Lens" } + : new string[] { "m_Script", "Header", "Extensions", "m_Priority", "m_Transitions", "m_Follow", "m_StandbyUpdate" }; + rig.m_LockStageInInspector = new CinemachineCore.Stage[] { CinemachineCore.Stage.Body }; + } +#endif + + // Create the blend objects + mBlendA = new CinemachineBlend(m_Rigs[1], m_Rigs[0], AnimationCurve.Linear(0, 0, 1, 1), 1, 0); + mBlendB = new CinemachineBlend(m_Rigs[2], m_Rigs[1], AnimationCurve.Linear(0, 0, 1, 1), 1, 0); + + return true; + } + return false; + } + + private List LocateExistingRigs(bool forceOrbital) + { + m_CachedXAxisHeading = m_XAxis.Value; + m_LastHeadingUpdateFrame = -1; + var rigs = new List(3); + foreach (Transform child in transform) + { + CinemachineVirtualCamera vcam = child.GetComponent(); + if (vcam != null) + { + GameObject go = child.gameObject; + for (int i = 0; i < RigNames.Length; ++i) + { + if (go.name != RigNames[i]) + continue; + + // Must have an orbital transposer or it's no good + var orbital = vcam.GetCinemachineComponent(); + if (orbital == null && forceOrbital) + orbital = vcam.AddCinemachineComponent(); + if (orbital != null) + { + orbital.m_HeadingIsSlave = true; + orbital.HideOffsetInInspector = true; + orbital.m_XAxis.m_InputAxisName = string.Empty; + orbital.HeadingUpdater = UpdateXAxisHeading; + orbital.m_RecenterToTargetHeading.m_enabled = false; + + vcam.m_StandbyUpdate = m_StandbyUpdate; + rigs.Add(vcam); + } + } + } + } + return rigs; + } + + float m_CachedXAxisHeading; + float m_LastHeadingUpdateFrame; + + float UpdateXAxisHeading(CinemachineOrbitalTransposer orbital, float deltaTime, Vector3 up) + { + if (this == null) + return 0; // deleted + + // Update the axis only once per frame + if (!PreviousStateIsValid) + deltaTime = -1; + if (m_LastHeadingUpdateFrame != Time.frameCount || deltaTime < 0) + { + m_LastHeadingUpdateFrame = Time.frameCount; + var oldValue = m_XAxis.Value; + m_CachedXAxisHeading = orbital.UpdateHeading( + deltaTime, up, + ref m_XAxis, ref m_RecenterToTargetHeading, + CinemachineCore.Instance.IsLive(this)); + // Allow externally-driven values to work in this mode + if (m_BindingMode == CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp) + m_XAxis.Value = oldValue; + } + return m_CachedXAxisHeading; + } + + void PushSettingsToRigs() + { + for (int i = 0; i < m_Rigs.Length; ++i) + { + if (m_CommonLens) + m_Rigs[i].m_Lens = m_Lens; + + // If we just deserialized from a legacy version, + // pull the orbits and targets from the rigs + if (mUseLegacyRigDefinitions) + { + mUseLegacyRigDefinitions = false; + m_Orbits[i].m_Height = mOrbitals[i].m_FollowOffset.y; + m_Orbits[i].m_Radius = -mOrbitals[i].m_FollowOffset.z; + if (m_Rigs[i].Follow != null) + Follow = m_Rigs[i].Follow; + } + m_Rigs[i].Follow = null; + m_Rigs[i].m_StandbyUpdate = m_StandbyUpdate; + m_Rigs[i].FollowTargetAttachment = FollowTargetAttachment; + m_Rigs[i].LookAtTargetAttachment = LookAtTargetAttachment; + if (!PreviousStateIsValid) + { + m_Rigs[i].PreviousStateIsValid = false; + m_Rigs[i].transform.position = transform.position; + m_Rigs[i].transform.rotation = transform.rotation; + } +#if UNITY_EDITOR + // Hide the rigs from prying eyes + CinemachineVirtualCamera.SetFlagsForHiddenChild(m_Rigs[i].gameObject); +#endif + mOrbitals[i].m_FollowOffset = GetLocalPositionForCameraFromInput(GetYAxisValue()); + mOrbitals[i].m_BindingMode = m_BindingMode; + mOrbitals[i].m_Heading = m_Heading; + mOrbitals[i].m_XAxis.Value = m_XAxis.Value; + + // Hack to get SimpleFollow with heterogeneous dampings to work + if (m_BindingMode == CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp) + m_Rigs[i].SetStateRawPosition(State.RawPosition); + } + } + + private float GetYAxisValue() + { + float range = m_YAxis.m_MaxValue - m_YAxis.m_MinValue; + return (range > UnityVectorExtensions.Epsilon) ? m_YAxis.Value / range : 0.5f; + } + + private CameraState CalculateNewState(Vector3 worldUp, float deltaTime) + { + CameraState state = PullStateFromVirtualCamera(worldUp, ref m_Lens); + m_YAxisRecentering.DoRecentering(ref m_YAxis, deltaTime, 0.5f); + + // Blend from the appropriate rigs + float t = GetYAxisValue(); + if (t > 0.5f) + { + if (mBlendA != null) + { + mBlendA.TimeInBlend = (t - 0.5f) * 2f; + mBlendA.UpdateCameraState(worldUp, deltaTime); + state = mBlendA.State; + } + } + else + { + if (mBlendB != null) + { + mBlendB.TimeInBlend = t * 2f; + mBlendB.UpdateCameraState(worldUp, deltaTime); + state = mBlendB.State; + } + } + return state; + } + + /// + /// Returns the local position of the camera along the spline used to connect the + /// three camera rigs. Does not take into account the current heading of the + /// camera (or its target) + /// + /// The t-value for the camera on its spline. Internally clamped to + /// the value [0,1] + /// The local offset (back + up) of the camera WRT its target based on the + /// supplied t-value + public Vector3 GetLocalPositionForCameraFromInput(float t) + { + if (mOrbitals == null) + return Vector3.zero; + UpdateCachedSpline(); + int n = 1; + if (t > 0.5f) + { + t -= 0.5f; + n = 2; + } + return SplineHelpers.Bezier3( + t * 2f, m_CachedKnots[n], m_CachedCtrl1[n], m_CachedCtrl2[n], m_CachedKnots[n+1]); + } + + Orbit[] m_CachedOrbits; + float m_CachedTension; + Vector4[] m_CachedKnots; + Vector4[] m_CachedCtrl1; + Vector4[] m_CachedCtrl2; + void UpdateCachedSpline() + { + bool cacheIsValid = (m_CachedOrbits != null && m_CachedOrbits.Length == 3 + && m_CachedTension == m_SplineCurvature); + for (int i = 0; i < 3 && cacheIsValid; ++i) + cacheIsValid = (m_CachedOrbits[i].m_Height == m_Orbits[i].m_Height + && m_CachedOrbits[i].m_Radius == m_Orbits[i].m_Radius); + if (!cacheIsValid) + { + float t = m_SplineCurvature; + m_CachedKnots = new Vector4[5]; + m_CachedCtrl1 = new Vector4[5]; + m_CachedCtrl2 = new Vector4[5]; + m_CachedKnots[1] = new Vector4(0, m_Orbits[2].m_Height, -m_Orbits[2].m_Radius, 0); + m_CachedKnots[2] = new Vector4(0, m_Orbits[1].m_Height, -m_Orbits[1].m_Radius, 0); + m_CachedKnots[3] = new Vector4(0, m_Orbits[0].m_Height, -m_Orbits[0].m_Radius, 0); + m_CachedKnots[0] = Vector4.Lerp(m_CachedKnots[1], Vector4.zero, t); + m_CachedKnots[4] = Vector4.Lerp(m_CachedKnots[3], Vector4.zero, t); + SplineHelpers.ComputeSmoothControlPoints( + ref m_CachedKnots, ref m_CachedCtrl1, ref m_CachedCtrl2); + m_CachedOrbits = new Orbit[3]; + for (int i = 0; i < 3; ++i) + m_CachedOrbits[i] = m_Orbits[i]; + m_CachedTension = m_SplineCurvature; + } + } + + // This prevents the sensor size from dirtying the scene in the event of aspect ratio change + internal override void OnBeforeSerialize() + { + if (!m_Lens.IsPhysicalCamera) + m_Lens.SensorSize = Vector2.one; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFreeLook.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFreeLook.cs.meta new file mode 100644 index 00000000..8f3ebe7d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineFreeLook.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 319d2fe34a804e245819465c9505ea59 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineMixingCamera.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineMixingCamera.cs new file mode 100644 index 00000000..ce0b7c39 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineMixingCamera.cs @@ -0,0 +1,300 @@ +using UnityEngine; +using Cinemachine.Utility; +using System.Collections.Generic; + +namespace Cinemachine +{ + /// + /// CinemachineMixingCamera is a "manager camera" that takes on the state of + /// the weighted average of the states of its child virtual cameras. + /// + /// A fixed number of slots are made available for cameras, rather than a dynamic array. + /// We do it this way in order to support weight animation from the Timeline. + /// Timeline cannot animate array elements. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [DisallowMultipleComponent] + [ExecuteAlways] + [ExcludeFromPreset] + [AddComponentMenu("Cinemachine/CinemachineMixingCamera")] + [HelpURL(Documentation.BaseURL + "manual/CinemachineMixingCamera.html")] + public class CinemachineMixingCamera : CinemachineVirtualCameraBase + { + /// The maximum number of tracked cameras. If you want to add + /// more cameras, do it here in the source code, and be sure to add the + /// extra member variables and to make the appropriate changes in + /// GetWeight() and SetWeight(). + /// The inspector will figure itself out based on this value. + public const int MaxCameras = 8; + + /// Weight of the first tracked camera + [Tooltip("The weight of the first tracked camera")] + public float m_Weight0 = 0.5f; + /// Weight of the second tracked camera + [Tooltip("The weight of the second tracked camera")] + public float m_Weight1 = 0.5f; + /// Weight of the third tracked camera + [Tooltip("The weight of the third tracked camera")] + public float m_Weight2 = 0.5f; + /// Weight of the fourth tracked camera + [Tooltip("The weight of the fourth tracked camera")] + public float m_Weight3 = 0.5f; + /// Weight of the fifth tracked camera + [Tooltip("The weight of the fifth tracked camera")] + public float m_Weight4 = 0.5f; + /// Weight of the sixth tracked camera + [Tooltip("The weight of the sixth tracked camera")] + public float m_Weight5 = 0.5f; + /// Weight of the seventh tracked camera + [Tooltip("The weight of the seventh tracked camera")] + public float m_Weight6 = 0.5f; + /// Weight of the eighth tracked camera + [Tooltip("The weight of the eighth tracked camera")] + public float m_Weight7 = 0.5f; + + /// Get the weight of the child at an index. + /// The child index. Only immediate CinemachineVirtualCameraBase + /// children are counted. + /// The weight of the camera. Valid only if camera is active and enabled. + public float GetWeight(int index) + { + switch (index) + { + case 0: return m_Weight0; + case 1: return m_Weight1; + case 2: return m_Weight2; + case 3: return m_Weight3; + case 4: return m_Weight4; + case 5: return m_Weight5; + case 6: return m_Weight6; + case 7: return m_Weight7; + } + Debug.LogError("CinemachineMixingCamera: Invalid index: " + index); + return 0; + } + + /// Set the weight of the child at an index. + /// The child index. Only immediate CinemachineVirtualCameraBase + /// children are counted. + /// The weight to set. Can be any non-negative number. + public void SetWeight(int index, float w) + { + switch (index) + { + case 0: m_Weight0 = w; return; + case 1: m_Weight1 = w; return; + case 2: m_Weight2 = w; return; + case 3: m_Weight3 = w; return; + case 4: m_Weight4 = w; return; + case 5: m_Weight5 = w; return; + case 6: m_Weight6 = w; return; + case 7: m_Weight7 = w; return; + } + Debug.LogError("CinemachineMixingCamera: Invalid index: " + index); + } + + /// Get the weight of the child CinemachineVirtualCameraBase. + /// The child camera. + /// The weight of the camera. Valid only if camera is active and enabled. + public float GetWeight(CinemachineVirtualCameraBase vcam) + { + ValidateListOfChildren(); + int index; + if (m_indexMap.TryGetValue(vcam, out index)) + return GetWeight(index); + Debug.LogError("CinemachineMixingCamera: Invalid child: " + + ((vcam != null) ? vcam.Name : "(null)")); + return 0; + } + + /// Set the weight of the child CinemachineVirtualCameraBase. + /// The child camera. + /// The weight to set. Can be any non-negative number. + public void SetWeight(CinemachineVirtualCameraBase vcam, float w) + { + ValidateListOfChildren(); + int index; + if (m_indexMap.TryGetValue(vcam, out index)) + SetWeight(index, w); + else + Debug.LogError("CinemachineMixingCamera: Invalid child: " + + ((vcam != null) ? vcam.Name : "(null)")); + } + + /// Blended camera state + private CameraState m_State = CameraState.Default; + + /// Get the current "best" child virtual camera, which is nominally + /// the one with the greatest weight. + private ICinemachineCamera LiveChild { get; set; } + + /// The blended CameraState + public override CameraState State { get { return m_State; } } + + /// Not used + override public Transform LookAt { get; set; } + + /// Not used + override public Transform Follow { get; set; } + + /// This is called to notify the vcam that a target got warped, + /// so that the vcam can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + ValidateListOfChildren(); + foreach (var vcam in m_ChildCameras) + vcam.OnTargetObjectWarped(target, positionDelta); + base.OnTargetObjectWarped(target, positionDelta); + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + ValidateListOfChildren(); + foreach (var vcam in m_ChildCameras) + vcam.ForceCameraPosition(pos, rot); + base.ForceCameraPosition(pos, rot); + } + + /// Makes sure the internal child cache is up to date + protected override void OnEnable() + { + base.OnEnable(); + InvalidateListOfChildren(); + } + + /// Makes sure the internal child cache is up to date + public void OnTransformChildrenChanged() + { + InvalidateListOfChildren(); + } + + /// Makes sure the weights are non-negative + protected override void OnValidate() + { + base.OnValidate(); + for (int i = 0; i < MaxCameras; ++i) + SetWeight(i, Mathf.Max(0, GetWeight(i))); + } + + /// Check whether the vcam a live child of this camera. + /// The Virtual Camera to check + /// If truw, will only return true if this vcam is the dominat live child + /// True if the vcam is currently actively influencing the state of this vcam + public override bool IsLiveChild(ICinemachineCamera vcam, bool dominantChildOnly = false) + { + CinemachineVirtualCameraBase[] children = ChildCameras; + for (int i = 0; i < MaxCameras && i < children.Length; ++i) + if ((ICinemachineCamera)children[i] == vcam) + return GetWeight(i) > UnityVectorExtensions.Epsilon && children[i].isActiveAndEnabled; + return false; + } + + private CinemachineVirtualCameraBase[] m_ChildCameras; + private Dictionary m_indexMap; + + /// Get the cached list of child cameras. + /// These are just the immediate children in the hierarchy. + /// Note: only the first entries of this list participate in the + /// final blend, up to MaxCameras + public CinemachineVirtualCameraBase[] ChildCameras + { + get { ValidateListOfChildren(); return m_ChildCameras; } + } + + /// Invalidate the cached list of child cameras. + protected void InvalidateListOfChildren() + { + m_ChildCameras = null; + m_indexMap = null; + LiveChild = null; + } + + /// Rebuild the cached list of child cameras. + protected void ValidateListOfChildren() + { + if (m_ChildCameras != null) + return; + + m_indexMap = new Dictionary(); + List list = new List(); + CinemachineVirtualCameraBase[] kids + = GetComponentsInChildren(true); + foreach (CinemachineVirtualCameraBase k in kids) + { + if (k.transform.parent == transform) + { + int index = list.Count; + list.Add(k); + if (index < MaxCameras) + m_indexMap.Add(k, index); + } + } + m_ChildCameras = list.ToArray(); + } + + /// Notification that this virtual camera is going live. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + base.OnTransitionFromCamera(fromCam, worldUp, deltaTime); + InvokeOnTransitionInExtensions(fromCam, worldUp, deltaTime); + CinemachineVirtualCameraBase[] children = ChildCameras; + for (int i = 0; i < MaxCameras && i < children.Length; ++i) + { + CinemachineVirtualCameraBase vcam = children[i]; + if (vcam.isActiveAndEnabled && GetWeight(i) > UnityVectorExtensions.Epsilon) + vcam.OnTransitionFromCamera(fromCam, worldUp, deltaTime); + } + InternalUpdateCameraState(worldUp, deltaTime); + } + + /// Internal use only. Do not call this methid. + /// Called by CinemachineCore at designated update time + /// so the vcam can position itself and track its targets. This implementation + /// computes and caches the weighted blend of the tracked cameras. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + public override void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) + { + CinemachineVirtualCameraBase[] children = ChildCameras; + LiveChild = null; + float highestWeight = 0; + float totalWeight = 0; + for (int i = 0; i < MaxCameras && i < children.Length; ++i) + { + CinemachineVirtualCameraBase vcam = children[i]; + if (vcam.isActiveAndEnabled) + { + float weight = Mathf.Max(0, GetWeight(i)); + if (weight > UnityVectorExtensions.Epsilon) + { + totalWeight += weight; + if (totalWeight == weight) + m_State = vcam.State; + else + m_State = CameraState.Lerp(m_State, vcam.State, weight / totalWeight); + + if (weight > highestWeight) + { + highestWeight = weight; + LiveChild = vcam; + } + } + } + } + InvokePostPipelineStageCallback( + this, CinemachineCore.Stage.Finalize, ref m_State, deltaTime); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineMixingCamera.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineMixingCamera.cs.meta new file mode 100644 index 00000000..3457ffbc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineMixingCamera.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6c26251a3e1f5ac41afa5ffb404c5f71 +timeCreated: 1502201564 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePath.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePath.cs new file mode 100644 index 00000000..eff21cc1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePath.cs @@ -0,0 +1,191 @@ +using UnityEngine; +using System; +using Cinemachine.Utility; + +namespace Cinemachine +{ + /// Defines a world-space path, consisting of an array of waypoints, + /// each of which has position, tangent, and roll settings. Bezier interpolation + /// is performed between the waypoints, to get a smooth and continuous path. + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("Cinemachine/CinemachinePath")] + [SaveDuringPlay] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachinePath.html")] + public class CinemachinePath : CinemachinePathBase + { + /// A waypoint along the path + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] public struct Waypoint + { + /// Position in path-local space + [Tooltip("Position in path-local space")] + public Vector3 position; + + /// Offset from the position, which defines the tangent of the curve at the waypoint. + /// The length of the tangent encodes the strength of the bezier handle. + /// The same handle is used symmetrically on both sides of the waypoint, to ensure smoothness. + [Tooltip("Offset from the position, which defines the tangent of the curve at the waypoint. " + + "The length of the tangent encodes the strength of the bezier handle. The same handle " + + "is used symmetrically on both sides of the waypoint, to ensure smoothness.")] + public Vector3 tangent; + + /// Defines the roll of the path at this waypoint. + /// The other orientation axes are inferred from the tangent and world up. + [Tooltip("Defines the roll of the path at this waypoint. The other orientation axes are inferred from the tangent and world up.")] + public float roll; + } + + /// If checked, then the path ends are joined to form a continuous loop + [Tooltip("If checked, then the path ends are joined to form a continuous loop.")] + public bool m_Looped; + + /// The waypoints that define the path. + /// They will be interpolated using a bezier curve + [Tooltip("The waypoints that define the path. They will be interpolated using a bezier curve.")] + public Waypoint[] m_Waypoints = Array.Empty(); + + /// The minimum value for the path position + public override float MinPos => 0; + + /// The maximum value for the path position + public override float MaxPos + { + get + { + int count = m_Waypoints.Length - 1; + if (count < 1) + return 0; + return m_Looped ? count + 1 : count; + } + } + /// True if the path ends are joined to form a continuous loop + public override bool Looped => m_Looped; + + private void Reset() + { + m_Looped = false; + m_Waypoints = new Waypoint[2] + { + new Waypoint { position = new Vector3(0, 0, -5), tangent = new Vector3(1, 0, 0) }, + new Waypoint { position = new Vector3(0, 0, 5), tangent = new Vector3(1, 0, 0) } + }; + m_Appearance = new Appearance(); + InvalidateDistanceCache(); + } + + private void OnValidate() { InvalidateDistanceCache(); } + + /// When calculating the distance cache, sample the path this many + /// times between points + public override int DistanceCacheSampleStepsPerSegment => m_Resolution; + + /// Returns normalized position + float GetBoundingIndices(float pos, out int indexA, out int indexB) + { + pos = StandardizePos(pos); + int rounded = Mathf.RoundToInt(pos); + if (Mathf.Abs(pos - rounded) < UnityVectorExtensions.Epsilon) + indexA = indexB = (rounded == m_Waypoints.Length) ? 0 : rounded; + else + { + indexA = Mathf.FloorToInt(pos); + if (indexA >= m_Waypoints.Length) + { + pos -= MaxPos; + indexA = 0; + } + indexB = Mathf.CeilToInt(pos); + if (indexB >= m_Waypoints.Length) + indexB = 0; + } + return pos; + } + + /// Get a worldspace position of a point along the path + /// Postion along the path. Need not be normalized. + /// Local-space position of the point along at path at pos + public override Vector3 EvaluateLocalPosition(float pos) + { + var result = Vector3.zero; + if (m_Waypoints.Length > 0) + { + pos = GetBoundingIndices(pos, out var indexA, out var indexB); + if (indexA == indexB) + result = m_Waypoints[indexA].position; + else + { + // interpolate + var wpA = m_Waypoints[indexA]; + var wpB = m_Waypoints[indexB]; + result = SplineHelpers.Bezier3(pos - indexA, + m_Waypoints[indexA].position, wpA.position + wpA.tangent, + wpB.position - wpB.tangent, wpB.position); + } + } + return result; + } + + /// Get the tangent of the curve at a point along the path. + /// Postion along the path. Need not be normalized. + /// Local-space direction of the path tangent. + /// Length of the vector represents the tangent strength + public override Vector3 EvaluateLocalTangent(float pos) + { + var result = Vector3.forward; + if (m_Waypoints.Length > 0) + { + pos = GetBoundingIndices(pos, out var indexA, out var indexB); + if (indexA == indexB) + result = m_Waypoints[indexA].tangent; + else + { + var wpA = m_Waypoints[indexA]; + var wpB = m_Waypoints[indexB]; + result = SplineHelpers.BezierTangent3(pos - indexA, + m_Waypoints[indexA].position, wpA.position + wpA.tangent, + wpB.position - wpB.tangent, wpB.position); + } + } + return result; + } + + /// Get the orientation the curve at a point along the path. + /// Postion along the path. Need not be normalized. + /// Local-space orientation of the path, as defined by tangent, up, and roll. + public override Quaternion EvaluateLocalOrientation(float pos) + { + var result = Quaternion.identity; + if (m_Waypoints.Length > 0) + { + pos = GetBoundingIndices(pos, out var indexA, out var indexB); + var fwd = EvaluateLocalTangent(pos); + if (!fwd.AlmostZero()) + result = Quaternion.LookRotation(fwd) * RollAroundForward(GetRoll(indexA, indexB, pos)); + } + return result; + } + + internal float GetRoll(int indexA, int indexB, float standardizedPos) + { + if (indexA == indexB) + return m_Waypoints[indexA].roll; + float rollA = m_Waypoints[indexA].roll; + float rollB = m_Waypoints[indexB].roll; + if (indexB == 0) + { + // Special handling at the wraparound - cancel the spins + rollA %= 360; + rollB %= 360; + } + return Mathf.Lerp(rollA, rollB, standardizedPos - indexA); + } + + // same as Quaternion.AngleAxis(roll, Vector3.forward), just simplified + static Quaternion RollAroundForward(float angle) + { + float halfAngle = angle * 0.5F * Mathf.Deg2Rad; + return new Quaternion(0, 0, Mathf.Sin(halfAngle), Mathf.Cos(halfAngle)); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePath.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePath.cs.meta new file mode 100644 index 00000000..740fb74a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePath.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2d37e5385efd7064cb1d54c94960acae +timeCreated: 1496785107 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePipeline.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePipeline.cs new file mode 100644 index 00000000..5474e7c6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePipeline.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// + /// Internal container for CinemachineComponentBase. Does nothing but contain. + /// + [AddComponentMenu("")] // Don't display in add component menu + public sealed class CinemachinePipeline : MonoBehaviour + { + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePipeline.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePipeline.cs.meta new file mode 100644 index 00000000..91114637 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePipeline.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ac0b09e7857660247b1477e93731de29 +timeCreated: 1489088253 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePixelPerfect.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePixelPerfect.cs new file mode 100644 index 00000000..10c1ea74 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePixelPerfect.cs @@ -0,0 +1,73 @@ +using UnityEngine; + +#if CINEMACHINE_LWRP_7_3_1 || CINEMACHINE_PIXEL_PERFECT_2_0_3 + +namespace Cinemachine +{ + /// + /// An add-on module for Cinemachine Virtual Camera that tweaks the orthographic size + /// of the virtual camera. It detects the presence of the Pixel Perfect Camera component and use the + /// settings from that Pixel Perfect Camera to correct the orthographic size so that pixel art + /// sprites would appear pixel perfect when the virtual camera becomes live. + /// + [AddComponentMenu("")] // Hide in menu + [ExecuteAlways] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachinePixelPerfect.html")] + public class CinemachinePixelPerfect : CinemachineExtension + { + /// Callback to tweak the orthographic size + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + // This must run during the Body stage because CinemachineConfiner also runs during Body stage, + // and CinemachinePixelPerfect needs to run before CinemachineConfiner as the confiner reads the + // orthographic size. We also altered the script execution order to ensure this. + if (stage != CinemachineCore.Stage.Body) + return; + + var brain = CinemachineCore.Instance.FindPotentialTargetBrain(vcam); + if (brain == null || !brain.IsLive(vcam)) + return; + +#if CINEMACHINE_LWRP_7_3_1 + UnityEngine.Experimental.Rendering.Universal.PixelPerfectCamera pixelPerfectCamera; +#elif CINEMACHINE_PIXEL_PERFECT_2_0_3 + UnityEngine.U2D.PixelPerfectCamera pixelPerfectCamera; +#endif + brain.TryGetComponent(out pixelPerfectCamera); + if (pixelPerfectCamera == null || !pixelPerfectCamera.isActiveAndEnabled) + return; + +#if UNITY_EDITOR + if (!UnityEditor.EditorApplication.isPlaying && !pixelPerfectCamera.runInEditMode) + return; +#endif + + var lens = state.Lens; + lens.OrthographicSize = pixelPerfectCamera.CorrectCinemachineOrthoSize(lens.OrthographicSize); + state.Lens = lens; + } + } +} +#else + +// We need this dummy MonoBehaviour for Unity to properly recognize this script asset. +namespace Cinemachine +{ + /// + /// An add-on module for Cinemachine Virtual Camera that tweaks the orthographic size + /// of the virtual camera. It detects the presence of the Pixel Perfect Camera component and use the + /// settings from that Pixel Perfect Camera to correct the orthographic size so that pixel art + /// sprites would appear pixel perfect when the virtual camera becomes live. + /// + [AddComponentMenu("")] // Hide in menu + [DisallowMultipleComponent] + public class CinemachinePixelPerfect : MonoBehaviour {} +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePixelPerfect.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePixelPerfect.cs.meta new file mode 100644 index 00000000..688792dd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachinePixelPerfect.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1a8a05de0ac134f4f9d01bef6b9da077 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: -1 + icon: {fileID: 2800000, guid: b8ba3923a6094cd48b85425f47fd7450, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineRecomposer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineRecomposer.cs new file mode 100644 index 00000000..79c2b356 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineRecomposer.cs @@ -0,0 +1,118 @@ +using UnityEngine; +using Cinemachine; + +/// +/// An add-on module for Cinemachine Virtual Camera that adds a final tweak to the camera +/// comnposition. It is intended for use in a Timeline context, where you want to hand-adjust +/// the output of procedural or recorded camera aiming. +/// +[AddComponentMenu("")] // Hide in menu +[ExecuteAlways] +[SaveDuringPlay] +[HelpURL(Documentation.BaseURL + "manual/CinemachineRecomposer.html")] +public class CinemachineRecomposer : CinemachineExtension +{ + /// + /// When to apply the adjustment + /// + [Tooltip("When to apply the adjustment")] + public CinemachineCore.Stage m_ApplyAfter; + + /// + /// Tilt the camera by this much + /// + [Tooltip("Tilt the camera by this much")] + public float m_Tilt; + + /// + /// Pan the camera by this much + /// + [Tooltip("Pan the camera by this much")] + public float m_Pan; + + /// + /// Roll the camera by this much + /// + [Tooltip("Roll the camera by this much")] + public float m_Dutch; + + /// + /// Scale the zoom by this amount (normal = 1) + /// + [Tooltip("Scale the zoom by this amount (normal = 1)")] + public float m_ZoomScale; + + /// + /// Lowering this value relaxes the camera's attention to the Follow target (normal = 1) + /// + [Range(0, 1)] + [Tooltip("Lowering this value relaxes the camera's attention to the Follow target (normal = 1)")] + public float m_FollowAttachment; + + /// + /// Lowering this value relaxes the camera's attention to the LookAt target (normal = 1) + /// + [Range(0, 1)] + [Tooltip("Lowering this value relaxes the camera's attention to the LookAt target (normal = 1)")] + public float m_LookAtAttachment; + + private void Reset() + { + m_ApplyAfter = CinemachineCore.Stage.Finalize; + m_Tilt = 0; + m_Pan = 0; + m_Dutch = 0; + m_ZoomScale = 1; + m_FollowAttachment = 1; + m_LookAtAttachment = 1; + } + + private void OnValidate() + { + m_ZoomScale = Mathf.Max(0.01f, m_ZoomScale); + m_FollowAttachment = Mathf.Clamp01(m_FollowAttachment); + m_LookAtAttachment = Mathf.Clamp01(m_LookAtAttachment); + } + + /// Callback to set the target attachment + /// The virtual camera being processed + /// Input state that must be mutated + /// The current applicable deltaTime + public override void PrePipelineMutateCameraStateCallback( + CinemachineVirtualCameraBase vcam, ref CameraState curState, float deltaTime) + { + vcam.FollowTargetAttachment = m_FollowAttachment; + vcam.LookAtTargetAttachment = m_LookAtAttachment; + } + + /// Callback to tweak the settings + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + if (stage == m_ApplyAfter) + { + var lens = state.Lens; + + // Tilt by local X + var qTilted = state.RawOrientation * Quaternion.AngleAxis(m_Tilt, Vector3.right); + // Pan in world space + var qDesired = Quaternion.AngleAxis(m_Pan, state.ReferenceUp) * qTilted; + state.OrientationCorrection = Quaternion.Inverse(state.CorrectedOrientation) * qDesired; + // And dutch at the end + lens.Dutch += m_Dutch; + // Finally zoom + if (m_ZoomScale != 1) + { + lens.OrthographicSize *= m_ZoomScale; + lens.FieldOfView *= m_ZoomScale; + } + state.Lens = lens; + } + } +} + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineRecomposer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineRecomposer.cs.meta new file mode 100644 index 00000000..4556e26d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineRecomposer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0544e7b14d134a1449e61175446cfb95 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineSmoothPath.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineSmoothPath.cs new file mode 100644 index 00000000..be490a1e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineSmoothPath.cs @@ -0,0 +1,238 @@ +using UnityEngine; +using System; +using Cinemachine.Utility; + +namespace Cinemachine +{ + /// Defines a world-space path, consisting of an array of waypoints, + /// each of which has position and roll settings. Bezier interpolation + /// is performed between the waypoints, to get a smooth and continuous path. + /// The path will pass through all waypoints, and (unlike CinemachinePath) first + /// and second order continuity is guaranteed + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("Cinemachine/CinemachineSmoothPath")] + [SaveDuringPlay] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachineSmoothPath.html")] + public class CinemachineSmoothPath : CinemachinePathBase + { + /// If checked, then the path ends are joined to form a continuous loop + [Tooltip("If checked, then the path ends are joined to form a continuous loop.")] + public bool m_Looped; + + /// A waypoint along the path + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] public struct Waypoint + { + /// Position in path-local space + [Tooltip("Position in path-local space")] + public Vector3 position; + + /// Defines the roll of the path at this waypoint. + /// The other orientation axes are inferred from the tangent and world up. + [Tooltip("Defines the roll of the path at this waypoint. The other orientation axes are inferred from the tangent and world up.")] + public float roll; + + /// Representation as Vector4 + internal Vector4 AsVector4 + { + get { return new Vector4(position.x, position.y, position.z, roll); } + } + + internal static Waypoint FromVector4(Vector4 v) + { + Waypoint wp = new Waypoint(); + wp.position = new Vector3(v[0], v[1], v[2]); + wp.roll = v[3]; + return wp; + } + } + + /// The waypoints that define the path. + /// They will be interpolated using a bezier curve + [Tooltip("The waypoints that define the path. They will be interpolated using a bezier curve.")] + public Waypoint[] m_Waypoints = Array.Empty(); + + /// The minimum value for the path position + public override float MinPos => 0; + + /// The maximum value for the path position + public override float MaxPos + { + get + { + int count = m_Waypoints.Length - 1; + if (count < 1) + return 0; + return m_Looped ? count + 1 : count; + } + } + /// True if the path ends are joined to form a continuous loop + public override bool Looped => m_Looped; + + /// When calculating the distance cache, sample the path this many + /// times between points + public override int DistanceCacheSampleStepsPerSegment => m_Resolution; + + private void OnValidate() { InvalidateDistanceCache(); } + + private void Reset() + { + m_Looped = false; + m_Waypoints = new Waypoint[2] + { + new Waypoint { position = new Vector3(0, 0, -5) }, + new Waypoint { position = new Vector3(0, 0, 5) } + }; + m_Appearance = new Appearance(); + InvalidateDistanceCache(); + } + + /// Call this if the path changes in such a way as to affect distances + /// or other cached path elements + public override void InvalidateDistanceCache() + { + base.InvalidateDistanceCache(); + m_ControlPoints1 = null; + m_ControlPoints2 = null; + } + + internal Waypoint[] m_ControlPoints1; + internal Waypoint[] m_ControlPoints2; + bool m_IsLoopedCache; + + internal void UpdateControlPoints() + { + int numPoints = (m_Waypoints == null) ? 0 : m_Waypoints.Length; + if (numPoints > 1 + && (Looped != m_IsLoopedCache + || m_ControlPoints1 == null || m_ControlPoints1.Length != numPoints + || m_ControlPoints2 == null || m_ControlPoints2.Length != numPoints)) + { + Vector4[] p1 = new Vector4[numPoints]; + Vector4[] p2 = new Vector4[numPoints]; + Vector4[] K = new Vector4[numPoints]; + for (int i = 0; i < numPoints; ++i) + K[i] = m_Waypoints[i].AsVector4; + if (Looped) + SplineHelpers.ComputeSmoothControlPointsLooped(ref K, ref p1, ref p2); + else + SplineHelpers.ComputeSmoothControlPoints(ref K, ref p1, ref p2); + + m_ControlPoints1 = new Waypoint[numPoints]; + m_ControlPoints2 = new Waypoint[numPoints]; + for (int i = 0; i < numPoints; ++i) + { + m_ControlPoints1[i] = Waypoint.FromVector4(p1[i]); + m_ControlPoints2[i] = Waypoint.FromVector4(p2[i]); + } + m_IsLoopedCache = Looped; + } + } + + /// Returns standardized position + float GetBoundingIndices(float pos, out int indexA, out int indexB) + { + pos = StandardizePos(pos); + int numWaypoints = m_Waypoints.Length; + if (numWaypoints < 2) + indexA = indexB = 0; + else + { + indexA = Mathf.FloorToInt(pos); + if (indexA >= numWaypoints) + { + // Only true if looped + pos -= MaxPos; + indexA = 0; + } + indexB = indexA + 1; + if (indexB == numWaypoints) + { + if (Looped) + indexB = 0; + else + { + --indexB; + --indexA; + } + } + } + return pos; + } + + /// Get a worldspace position of a point along the path + /// Position along the path. Need not be normalized. + /// World-space position of the point along at path at pos + public override Vector3 EvaluateLocalPosition(float pos) + { + var result = Vector3.zero; + if (m_Waypoints.Length > 0) + { + UpdateControlPoints(); + pos = GetBoundingIndices(pos, out var indexA, out var indexB); + if (indexA == indexB) + result = m_Waypoints[indexA].position; + else + result = SplineHelpers.Bezier3(pos - indexA, + m_Waypoints[indexA].position, m_ControlPoints1[indexA].position, + m_ControlPoints2[indexA].position, m_Waypoints[indexB].position); + } + return result; + } + + /// Get the tangent of the curve at a point along the path. + /// Position along the path. Need not be normalized. + /// World-space direction of the path tangent. + /// Length of the vector represents the tangent strength + public override Vector3 EvaluateLocalTangent(float pos) + { + var result = Vector3.forward; + if (m_Waypoints.Length > 1) + { + UpdateControlPoints(); + pos = GetBoundingIndices(pos, out var indexA, out var indexB); + if (!Looped && indexA == m_Waypoints.Length - 1) + --indexA; + result = SplineHelpers.BezierTangent3(pos - indexA, + m_Waypoints[indexA].position, m_ControlPoints1[indexA].position, + m_ControlPoints2[indexA].position, m_Waypoints[indexB].position); + } + return result; + } + + /// Get the orientation the curve at a point along the path. + /// Position along the path. Need not be normalized. + /// World-space orientation of the path, as defined by tangent, up, and roll. + public override Quaternion EvaluateLocalOrientation(float pos) + { + var result = Quaternion.identity; + if (m_Waypoints.Length > 0) + { + float roll; + pos = GetBoundingIndices(pos, out var indexA, out var indexB); + if (indexA == indexB) + roll = m_Waypoints[indexA].roll; + else + { + UpdateControlPoints(); + roll = SplineHelpers.Bezier1(pos - indexA, + m_Waypoints[indexA].roll, m_ControlPoints1[indexA].roll, + m_ControlPoints2[indexA].roll, m_Waypoints[indexB].roll); + } + + Vector3 fwd = EvaluateTangent(pos); + if (!fwd.AlmostZero()) + result = Quaternion.LookRotation(fwd) * RollAroundForward(roll); + } + return result; + } + + // same as Quaternion.AngleAxis(roll, Vector3.forward), just simplified + static Quaternion RollAroundForward(float angle) + { + float halfAngle = angle * 0.5F * Mathf.Deg2Rad; + return new Quaternion(0, 0, Mathf.Sin(halfAngle), Mathf.Cos(halfAngle)); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineSmoothPath.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineSmoothPath.cs.meta new file mode 100644 index 00000000..5f636ed5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineSmoothPath.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a200b19ca1a9685429ed7e043c28e904 +timeCreated: 1505831686 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStateDrivenCamera.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStateDrivenCamera.cs new file mode 100644 index 00000000..dcc43205 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStateDrivenCamera.cs @@ -0,0 +1,566 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_UNITY_ANIMATION +#endif + +using Cinemachine.Utility; +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace Cinemachine +{ +#if CINEMACHINE_UNITY_ANIMATION + /// + /// This is a virtual camera "manager" that owns and manages a collection + /// of child Virtual Cameras. These child vcams are mapped to individual states in + /// an animation state machine, allowing you to associate specific vcams to specific + /// animation states. When that state is active in the state machine, then the + /// associated camera will be activated. + /// + /// You can define custom blends and transitions between child cameras. + /// + /// In order to use this behaviour, you must have an animated target (i.e. an object + /// animated with a state machine) to drive the behaviour. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [DisallowMultipleComponent] + [ExecuteAlways] + [ExcludeFromPreset] + [AddComponentMenu("Cinemachine/CinemachineStateDrivenCamera")] + [HelpURL(Documentation.BaseURL + "manual/CinemachineStateDrivenCamera.html")] + public class CinemachineStateDrivenCamera : CinemachineVirtualCameraBase + { + /// Default object for the camera children to look at (the aim target), + /// if not specified in a child rig. May be empty + [Tooltip("Default object for the camera children to look at (the aim target), " + + "if not specified in a child camera. May be empty if all of the children " + + "define targets of their own.")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_LookAt = null; + + /// Default object for the camera children wants to move with (the body target), + /// if not specified in a child rig. May be empty + [Tooltip("Default object for the camera children wants to move with (the body target), " + + "if not specified in a child camera. May be empty if all of the children " + + "define targets of their own.")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_Follow = null; + + /// The state machine whose state changes will drive this camera's choice of active child + [Space] + [Tooltip("The state machine whose state changes will drive this camera's choice of active child")] + [NoSaveDuringPlay] + public Animator m_AnimatedTarget; + + /// Which layer in the target FSM to observe + [Tooltip("Which layer in the target state machine to observe")] + [NoSaveDuringPlay] + public int m_LayerIndex; + + /// When enabled, the current camera and blend will be indicated in + /// the game window, for debugging + [Tooltip("When enabled, the current child camera and blend will be indicated in " + + "the game window, for debugging")] + public bool m_ShowDebugText = false; + + /// Internal API for the editor. Do not use this field + [SerializeField][HideInInspector][NoSaveDuringPlay] + internal CinemachineVirtualCameraBase[] m_ChildCameras = null; + + /// This represents a single instrunction to the StateDrivenCamera. It associates + /// an state from the state machine with a child Virtual Camera, and also holds + /// activation tuning parameters. + [Serializable] + public struct Instruction + { + /// The full hash of the animation state + [Tooltip("The full hash of the animation state")] + public int m_FullHash; + /// The virtual camera to activate when the animation state becomes active + [Tooltip("The virtual camera to activate when the animation state becomes active")] + public CinemachineVirtualCameraBase m_VirtualCamera; + /// How long to wait (in seconds) before activating the virtual camera. + /// This filters out very short state durations + [Tooltip("How long to wait (in seconds) before activating the virtual camera. " + + "This filters out very short state durations")] + public float m_ActivateAfter; + /// The minimum length of time (in seconds) to keep a virtual camera active + [Tooltip("The minimum length of time (in seconds) to keep a virtual camera active")] + public float m_MinDuration; + }; + + /// The set of instructions associating virtual cameras with states. + /// These instructions are used to choose the live child at any given moment + [Tooltip("The set of instructions associating virtual cameras with states. " + + "These instructions are used to choose the live child at any given moment")] + public Instruction[] m_Instructions; + + /// + /// The blend which is used if you don't explicitly define a blend between two Virtual Camera children. + /// + [CinemachineBlendDefinitionProperty] + [Tooltip("The blend which is used if you don't explicitly define a blend between two Virtual Camera children")] + public CinemachineBlendDefinition m_DefaultBlend + = new CinemachineBlendDefinition(CinemachineBlendDefinition.Style.EaseInOut, 0.5f); + + /// + /// This is the asset which contains custom settings for specific child blends. + /// + [Tooltip("This is the asset which contains custom settings for specific child blends")] + public CinemachineBlenderSettings m_CustomBlends = null; + + /// Internal API for the Inspector editor. This implements nested states. + [Serializable] + [DocumentationSorting(DocumentationSortingAttribute.Level.Undoc)] + internal struct ParentHash + { + /// Internal API for the Inspector editor + public int m_Hash; + /// Internal API for the Inspector editor + public int m_ParentHash; + /// Internal API for the Inspector editor + public ParentHash(int h, int p) { m_Hash = h; m_ParentHash = p; } + } + /// Internal API for the Inspector editor + [HideInInspector][SerializeField] internal ParentHash[] m_ParentHash = null; + + /// Gets a brief debug description of this virtual camera, for use when displayiong debug info + public override string Description + { + get + { + // Show the active camera and blend + if (mActiveBlend != null) + return mActiveBlend.Description; + + ICinemachineCamera vcam = LiveChild; + if (vcam == null) + return "(none)"; + var sb = CinemachineDebug.SBFromPool(); + sb.Append("["); sb.Append(vcam.Name); sb.Append("]"); + string text = sb.ToString(); + CinemachineDebug.ReturnToPool(sb); + return text; + } + } + + /// Get the current "best" child virtual camera, that would be chosen + /// if the State Driven Camera were active. + public ICinemachineCamera LiveChild { get; set; } + + /// Check whether the vcam a live child of this camera. + /// The Virtual Camera to check + /// If true, will only return true if this vcam is the dominat live child + /// True if the vcam is currently actively influencing the state of this vcam + public override bool IsLiveChild(ICinemachineCamera vcam, bool dominantChildOnly = false) + { + return vcam == LiveChild || (mActiveBlend != null && mActiveBlend.Uses(vcam)); + } + + /// The State of the current live child + public override CameraState State { get { return m_State; } } + + /// Get the current LookAt target. Returns parent's LookAt if parent + /// is non-null and no specific LookAt defined for this camera + override public Transform LookAt + { + get { return ResolveLookAt(m_LookAt); } + set { m_LookAt = value; } + } + + /// Get the current Follow target. Returns parent's Follow if parent + /// is non-null and no specific Follow defined for this camera + override public Transform Follow + { + get { return ResolveFollow(m_Follow); } + set { m_Follow = value; } + } + + /// This is called to notify the vcam that a target got warped, + /// so that the vcam can update its internal state to make the camera + /// also warp seamlessly. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + UpdateListOfChildren(); + foreach (var vcam in m_ChildCameras) + vcam.OnTargetObjectWarped(target, positionDelta); + base.OnTargetObjectWarped(target, positionDelta); + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + UpdateListOfChildren(); + foreach (var vcam in m_ChildCameras) + vcam.ForceCameraPosition(pos, rot); + base.ForceCameraPosition(pos, rot); + } + + /// Notification that this virtual camera is going live. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + base.OnTransitionFromCamera(fromCam, worldUp, deltaTime); + InvokeOnTransitionInExtensions(fromCam, worldUp, deltaTime); + m_TransitioningFrom = fromCam; + InternalUpdateCameraState(worldUp, deltaTime); + } + + ICinemachineCamera m_TransitioningFrom; + + /// Internal use only. Do not call this method. + /// Called by CinemachineCore at designated update time + /// so the vcam can position itself and track its targets. This implementation + /// updates all the children, chooses the best one, and implements any required blending. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) + { + UpdateListOfChildren(); + CinemachineVirtualCameraBase best = ChooseCurrentCamera(); + if (best != null && !best.gameObject.activeInHierarchy) + { + best.gameObject.SetActive(true); + best.UpdateCameraState(worldUp, deltaTime); + } + + ICinemachineCamera previousCam = LiveChild; + LiveChild = best; + + // Are we transitioning cameras? + if (previousCam != LiveChild && LiveChild != null) + { + // Notify incoming camera of transition + LiveChild.OnTransitionFromCamera(previousCam, worldUp, deltaTime); + + // Generate Camera Activation event in the brain if live + CinemachineCore.Instance.GenerateCameraActivationEvent(LiveChild, previousCam); + + if (previousCam != null) + { + // Create a blend (will be null if a cut) + mActiveBlend = CreateBlend( + previousCam, LiveChild, + LookupBlend(previousCam, LiveChild), mActiveBlend); + + // If cutting, generate a camera cut event if live + if (mActiveBlend == null || !mActiveBlend.Uses(previousCam)) + CinemachineCore.Instance.GenerateCameraCutEvent(LiveChild); + } + } + + // Advance the current blend (if any) + if (mActiveBlend != null) + { + mActiveBlend.TimeInBlend += (deltaTime >= 0) + ? deltaTime : mActiveBlend.Duration; + if (mActiveBlend.IsComplete) + mActiveBlend = null; + } + + if (mActiveBlend != null) + { + mActiveBlend.UpdateCameraState(worldUp, deltaTime); + m_State = mActiveBlend.State; + } + else if (LiveChild != null) + { + if (m_TransitioningFrom != null) + LiveChild.OnTransitionFromCamera(m_TransitioningFrom , worldUp, deltaTime); + m_State = LiveChild.State; + } + m_TransitioningFrom = null; + InvokePostPipelineStageCallback(this, CinemachineCore.Stage.Finalize, ref m_State, deltaTime); + PreviousStateIsValid = true; + } + + /// Makes sure the internal child cache is up to date + protected override void OnEnable() + { + base.OnEnable(); + InvalidateListOfChildren(); + mActiveBlend = null; + CinemachineDebug.OnGUIHandlers -= OnGuiHandler; + CinemachineDebug.OnGUIHandlers += OnGuiHandler; + } + + /// + /// Uninstall the GUI handler + /// + protected override void OnDisable() + { + base.OnDisable(); + CinemachineDebug.OnGUIHandlers -= OnGuiHandler; + } + + /// Makes sure the internal child cache is up to date + public void OnTransformChildrenChanged() + { + InvalidateListOfChildren(); + } + + /// Will only be called if Unity Editor - never in build + private void OnGuiHandler() + { + if (!m_ShowDebugText) + CinemachineDebug.ReleaseScreenPos(this); + else + { + var sb = CinemachineDebug.SBFromPool(); + sb.Append(Name); sb.Append(": "); sb.Append(Description); + string text = sb.ToString(); + Rect r = CinemachineDebug.GetScreenPos(this, text, GUI.skin.box); + GUI.Label(r, text, GUI.skin.box); + CinemachineDebug.ReturnToPool(sb); + } + } + + CameraState m_State = CameraState.Default; + + /// The list of child cameras. These are just the immediate children in the hierarchy. + public CinemachineVirtualCameraBase[] ChildCameras { get { UpdateListOfChildren(); return m_ChildCameras; }} + + /// Is there a blend in progress? + public bool IsBlending => mActiveBlend != null; + + /// + /// Get the current active blend in progress. Will return null if no blend is in progress. + /// + public CinemachineBlend ActiveBlend => mActiveBlend; + + /// API for the inspector editor. Animation module does not have hashes + /// for state parents, so we have to invent them in order to implement nested state + /// handling + /// Parent state's hash + /// The clip to create the fake hash for + /// The fake hash + public static int CreateFakeHash(int parentHash, AnimationClip clip) + { + return Animator.StringToHash(parentHash.ToString() + "_" + clip.name); + } + + // Avoid garbage string manipulations at runtime + struct HashPair { public int parentHash; public int hash; } + Dictionary> mHashCache; + int LookupFakeHash(int parentHash, AnimationClip clip) + { + if (mHashCache == null) + mHashCache = new Dictionary>(); + List list = null; + if (!mHashCache.TryGetValue(clip, out list)) + { + list = new List(); + mHashCache[clip] = list; + } + for (int i = 0; i < list.Count; ++i) + if (list[i].parentHash == parentHash) + return list[i].hash; + int newHash = CreateFakeHash(parentHash, clip); + list.Add(new HashPair() { parentHash = parentHash, hash = newHash }); + mStateParentLookup[newHash] = parentHash; + return newHash; + } + + + float mActivationTime = 0; + Instruction mActiveInstruction; + float mPendingActivationTime = 0; + Instruction mPendingInstruction; + private CinemachineBlend mActiveBlend = null; + + void InvalidateListOfChildren() { m_ChildCameras = null; LiveChild = null; } + + void UpdateListOfChildren() + { + if (m_ChildCameras != null && mInstructionDictionary != null && mStateParentLookup != null) + return; + List list = new List(); + CinemachineVirtualCameraBase[] kids = GetComponentsInChildren(true); + foreach (CinemachineVirtualCameraBase k in kids) + if (k.transform.parent == transform) + list.Add(k); + m_ChildCameras = list.ToArray(); + ValidateInstructions(); + } + + private Dictionary mInstructionDictionary; + private Dictionary mStateParentLookup; + /// Internal API for the inspector editor. + internal void ValidateInstructions() + { + if (m_Instructions == null) + m_Instructions = Array.Empty(); + mInstructionDictionary = new Dictionary(); + for (int i = 0; i < m_Instructions.Length; ++i) + { + if (m_Instructions[i].m_VirtualCamera != null + && m_Instructions[i].m_VirtualCamera.transform.parent != transform) + { + m_Instructions[i].m_VirtualCamera = null; + } + mInstructionDictionary[m_Instructions[i].m_FullHash] = i; + } + + // Create the parent lookup + mStateParentLookup = new Dictionary(); + if (m_ParentHash != null) + foreach (var i in m_ParentHash) + mStateParentLookup[i.m_Hash] = i.m_ParentHash; + + // Zap the cached current instructions + mHashCache = null; + mActivationTime = mPendingActivationTime = 0; + mActiveBlend = null; + } + + List m_clipInfoList = new List(); + private CinemachineVirtualCameraBase ChooseCurrentCamera() + { + if (m_ChildCameras == null || m_ChildCameras.Length == 0) + { + mActivationTime = 0; + return null; + } + CinemachineVirtualCameraBase defaultCam = m_ChildCameras[0]; + if (m_AnimatedTarget == null || !m_AnimatedTarget.gameObject.activeSelf + || m_AnimatedTarget.runtimeAnimatorController == null + || m_LayerIndex < 0 || !m_AnimatedTarget.hasBoundPlayables + || m_LayerIndex >= m_AnimatedTarget.layerCount) + { + mActivationTime = 0; + return defaultCam; + } + + // Get the current state + int hash; + if (m_AnimatedTarget.IsInTransition(m_LayerIndex)) + { + // Force "current" state to be the state we're transitioning to + AnimatorStateInfo info = m_AnimatedTarget.GetNextAnimatorStateInfo(m_LayerIndex); + m_AnimatedTarget.GetNextAnimatorClipInfo(m_LayerIndex, m_clipInfoList); + hash = GetClipHash(info.fullPathHash, m_clipInfoList); + } + else + { + AnimatorStateInfo info = m_AnimatedTarget.GetCurrentAnimatorStateInfo(m_LayerIndex); + m_AnimatedTarget.GetCurrentAnimatorClipInfo(m_LayerIndex, m_clipInfoList); + hash = GetClipHash(info.fullPathHash, m_clipInfoList); + } + + // If we don't have an instruction for this state, find a suitable default + while (hash != 0 && !mInstructionDictionary.ContainsKey(hash)) + hash = mStateParentLookup.ContainsKey(hash) ? mStateParentLookup[hash] : 0; + + float now = CinemachineCore.CurrentTime; + if (mActivationTime != 0) + { + // Is it active now? + if (mActiveInstruction.m_FullHash == hash) + { + // Yes, cancel any pending + mPendingActivationTime = 0; + return mActiveInstruction.m_VirtualCamera; + } + + // Is it pending? + if (PreviousStateIsValid) + { + if (mPendingActivationTime != 0 && mPendingInstruction.m_FullHash == hash) + { + // Has it been pending long enough, and are we allowed to switch away + // from the active action? + if ((now - mPendingActivationTime) > mPendingInstruction.m_ActivateAfter + && ((now - mActivationTime) > mActiveInstruction.m_MinDuration + || mPendingInstruction.m_VirtualCamera.Priority + > mActiveInstruction.m_VirtualCamera.Priority)) + { + // Yes, activate it now + mActiveInstruction = mPendingInstruction; + mActivationTime = now; + mPendingActivationTime = 0; + } + return mActiveInstruction.m_VirtualCamera; + } + } + } + // Neither active nor pending. + mPendingActivationTime = 0; // cancel the pending, if any + + if (!mInstructionDictionary.ContainsKey(hash)) + { + // No defaults set, we just ignore this state + if (mActivationTime != 0) + return mActiveInstruction.m_VirtualCamera; + return defaultCam; + } + + // Can we activate it now? + Instruction newInstr = m_Instructions[mInstructionDictionary[hash]]; + if (newInstr.m_VirtualCamera == null) + newInstr.m_VirtualCamera = defaultCam; + if (PreviousStateIsValid && mActivationTime > 0) + { + if (newInstr.m_ActivateAfter > 0 + || ((now - mActivationTime) < mActiveInstruction.m_MinDuration + && newInstr.m_VirtualCamera.Priority + <= mActiveInstruction.m_VirtualCamera.Priority)) + { + // Too early - make it pending + mPendingInstruction = newInstr; + mPendingActivationTime = now; + if (mActivationTime != 0) + return mActiveInstruction.m_VirtualCamera; + return defaultCam; + } + } + // Activate now + mActiveInstruction = newInstr; + mActivationTime = now; + return mActiveInstruction.m_VirtualCamera; + } + + int GetClipHash(int hash, List clips) + { + // Find the strongest-weighted animation clip substate + int bestClip = -1; + for (int i = 0; i < clips.Count; ++i) + if (bestClip < 0 || clips[i].weight > clips[bestClip].weight) + bestClip = i; + + // Use its hash + if (bestClip >= 0 && clips[bestClip].weight > 0) + hash = LookupFakeHash(hash, clips[bestClip].clip); + + return hash; + } + + private CinemachineBlendDefinition LookupBlend( + ICinemachineCamera fromKey, ICinemachineCamera toKey) + { + // Get the blend curve that's most appropriate for these cameras + CinemachineBlendDefinition blend = m_DefaultBlend; + if (m_CustomBlends != null) + { + string fromCameraName = (fromKey != null) ? fromKey.Name : string.Empty; + string toCameraName = (toKey != null) ? toKey.Name : string.Empty; + blend = m_CustomBlends.GetBlendForVirtualCameras( + fromCameraName, toCameraName, blend); + } + if (CinemachineCore.GetBlendOverride != null) + blend = CinemachineCore.GetBlendOverride(fromKey, toKey, blend, this); + return blend; + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStateDrivenCamera.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStateDrivenCamera.cs.meta new file mode 100644 index 00000000..2f271bc1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStateDrivenCamera.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 325a6a3050a061e4b8aa51386c30e8e1 +timeCreated: 1489088095 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStoryboard.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStoryboard.cs new file mode 100644 index 00000000..8a2cf043 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStoryboard.cs @@ -0,0 +1,451 @@ +#if !UNITY_2019_1_OR_NEWER +#define CINEMACHINE_UGUI +#endif +using UnityEngine; + +#if CINEMACHINE_UGUI +using System.Collections.Generic; +using Cinemachine.Utility; + +namespace Cinemachine +{ + /// + /// An add-on module for Cinemachine Virtual Camera that places an image in screen space + /// over the camera's output. + /// + [SaveDuringPlay] + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Hide in menu + [ExecuteAlways] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachineStoryboard.html")] + public class CinemachineStoryboard : CinemachineExtension + { + /// + /// If checked, all storyboards are globally muted + /// + [Tooltip("If checked, all storyboards are globally muted")] + public static bool s_StoryboardGlobalMute; + + /// + /// If checked, the specified image will be displayed as an overlay over the virtual camera's output + /// + [Tooltip("If checked, the specified image will be displayed as an overlay over the virtual camera's output")] + public bool m_ShowImage = true; + + /// + /// The image to display + /// + [Tooltip("The image to display")] + public Texture m_Image; + + /// How to fit the image in the frame, in the event that the aspect ratios don't match + public enum FillStrategy + { + /// Image will be as large as possible on the screen, without being cropped + BestFit, + /// Image will be cropped if necessary so that the screen is entirely filled + CropImageToFit, + /// Image will be stretched to cover any aspect mismatch with the screen + StretchToFit + }; + /// + /// How to handle differences between image aspect and screen aspect + /// + [Tooltip("How to handle differences between image aspect and screen aspect")] + public FillStrategy m_Aspect = FillStrategy.BestFit; + + /// + /// The opacity of the image. 0 is transparent, 1 is opaque + /// + [Tooltip("The opacity of the image. 0 is transparent, 1 is opaque")] + [Range(0, 1)] + public float m_Alpha = 1; + + /// + /// The screen-space position at which to display the image. Zero is center + /// + [Tooltip("The screen-space position at which to display the image. Zero is center")] + public Vector2 m_Center = Vector2.zero; + + /// + /// The screen-space rotation to apply to the image + /// + [Tooltip("The screen-space rotation to apply to the image")] + public Vector3 m_Rotation = Vector3.zero; + + /// + /// The screen-space scaling to apply to the image + /// + [Tooltip("The screen-space scaling to apply to the image")] + public Vector2 m_Scale = Vector3.one; + + /// + /// If checked, X and Y scale are synchronized + /// + [Tooltip("If checked, X and Y scale are synchronized")] + public bool m_SyncScale = true; + + /// + /// If checked, Camera transform will not be controlled by this virtual camera + /// + [Tooltip("If checked, Camera transform will not be controlled by this virtual camera")] + public bool m_MuteCamera; + + /// + /// Wipe the image on and off horizontally + /// + [Range(-1, 1)] + [Tooltip("Wipe the image on and off horizontally")] + public float m_SplitView = 0f; + + /// + /// The render mode of the canvas on which the storyboard is drawn. + /// + [Tooltip("The render mode of the canvas on which the storyboard is drawn.")] + public StoryboardRenderMode m_RenderMode = StoryboardRenderMode.ScreenSpaceOverlay; + + /// + /// Allows ordering canvases to render on top or below other canvases. + /// + [Tooltip("Allows ordering canvases to render on top or below other canvases.")] + public int m_SortingOrder; + + /// + /// How far away from the camera is the storyboard's canvas generated. + /// + [Tooltip("How far away from the camera is the Canvas generated.")] + public float m_PlaneDistance = 100; + + class CanvasInfo + { + public GameObject mCanvas; + public Canvas mCanvasComponent; + public CinemachineBrain mCanvasParent; + public RectTransform mViewport; // for mViewport clipping + public UnityEngine.UI.RawImage mRawImage; + } + List mCanvasInfo = new List(); + + /// Callback to display the image + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + // Apply to this vcam only, not the children + if (vcam != VirtualCamera || stage != CinemachineCore.Stage.Finalize) + return; + + UpdateRenderCanvas(); + + if (m_ShowImage) + state.AddCustomBlendable(new CameraState.CustomBlendable(this, 1)); + if (m_MuteCamera) + state.BlendHint |= CameraState.BlendHintValue.NoTransform | CameraState.BlendHintValue.NoLens; + } + + /// + /// Camera render modes supported by CinemachineStoryboard. + /// + public enum StoryboardRenderMode + { + /// + /// Renders in camera screen space. This means, that the storyboard is going to be displayed in front of + /// any objects in the scene. Equivalent to Unity's RenderMode.ScreenSpaceOverlay. + /// + ScreenSpaceOverlay = RenderMode.ScreenSpaceOverlay, + /// + /// Render using the vcam on which the storyboard is on. This is useful, if you'd like to render the + /// storyboard at a specific distance from the vcam. Equivalent to Unity's RenderMode.ScreenSpaceCamera. + /// + ScreenSpaceCamera = RenderMode.ScreenSpaceCamera + }; + + void UpdateRenderCanvas() + { + for (int i = 0; i < mCanvasInfo.Count; ++i) + { + if (mCanvasInfo[i] == null || mCanvasInfo[i].mCanvasComponent == null) + mCanvasInfo.RemoveAt(i--); + else + { + mCanvasInfo[i].mCanvasComponent.renderMode = (RenderMode) m_RenderMode; + mCanvasInfo[i].mCanvasComponent.planeDistance = m_PlaneDistance; + mCanvasInfo[i].mCanvasComponent.sortingOrder = m_SortingOrder; + } + } + } + + + /// Connect to virtual camera. Adds/removes listener + /// True if connecting, false if disconnecting + protected override void ConnectToVcam(bool connect) + { + base.ConnectToVcam(connect); + CinemachineCore.CameraUpdatedEvent.RemoveListener(CameraUpdatedCallback); + if (connect) + CinemachineCore.CameraUpdatedEvent.AddListener(CameraUpdatedCallback); + else + DestroyCanvas(); + } + + string CanvasName => "_CM_canvas" + gameObject.GetInstanceID(); + + void CameraUpdatedCallback(CinemachineBrain brain) + { + bool showIt = enabled && m_ShowImage && CinemachineCore.Instance.IsLive(VirtualCamera); + int layer = 1 << gameObject.layer; + if (brain.OutputCamera == null || (brain.OutputCamera.cullingMask & layer) == 0) + showIt = false; + if (s_StoryboardGlobalMute) + showIt = false; + CanvasInfo ci = LocateMyCanvas(brain, showIt); + if (ci != null && ci.mCanvas != null) + ci.mCanvas.SetActive(showIt); + } + + CanvasInfo LocateMyCanvas(CinemachineBrain parent, bool createIfNotFound) + { + CanvasInfo ci = null; + for (int i = 0; ci == null && i < mCanvasInfo.Count; ++i) + if (mCanvasInfo[i] != null && mCanvasInfo[i].mCanvasParent == parent) + ci = mCanvasInfo[i]; + if (createIfNotFound) + { + if (ci == null) + { + ci = new CanvasInfo() { mCanvasParent = parent }; + int numChildren = parent.transform.childCount; + for (int i = 0; ci.mCanvas == null && i < numChildren; ++i) + { + RectTransform child = parent.transform.GetChild(i) as RectTransform; + if (child != null && child.name == CanvasName) + { + ci.mCanvas = child.gameObject; + var kids = ci.mCanvas.GetComponentsInChildren(); + ci.mViewport = kids.Length > 1 ? kids[1] : null; // 0 is mCanvas + ci.mRawImage = ci.mCanvas.GetComponentInChildren(); + ci.mCanvasComponent = ci.mCanvas.GetComponent(); + } + } + mCanvasInfo.Add(ci); + } + if (ci.mCanvas == null || ci.mViewport == null || ci.mRawImage == null || ci.mCanvasComponent == null) + CreateCanvas(ci); + } + return ci; + } + + void CreateCanvas(CanvasInfo ci) + { + ci.mCanvas = new GameObject(CanvasName, typeof(RectTransform)); + ci.mCanvas.layer = gameObject.layer; + ci.mCanvas.hideFlags = HideFlags.HideAndDontSave; + ci.mCanvas.transform.SetParent(ci.mCanvasParent.transform); +#if UNITY_EDITOR + // Workaround for Unity bug case Case 1004117 + CanvasesAndTheirOwners.AddCanvas(ci.mCanvas, this); +#endif + + var c = ci.mCanvasComponent = ci.mCanvas.AddComponent(); + c.renderMode = (RenderMode) m_RenderMode; + c.sortingOrder = m_SortingOrder; + c.planeDistance = m_PlaneDistance; + c.worldCamera = ci.mCanvasParent.OutputCamera; + + var go = new GameObject("Viewport", typeof(RectTransform)); + go.transform.SetParent(ci.mCanvas.transform); + ci.mViewport = (RectTransform)go.transform; + go.AddComponent(); + + go = new GameObject("RawImage", typeof(RectTransform)); + go.transform.SetParent(ci.mViewport.transform); + ci.mRawImage = go.AddComponent(); + } + + void DestroyCanvas() + { + int numBrains = CinemachineCore.Instance.BrainCount; + for (int i = 0; i < numBrains; ++i) + { + var parent = CinemachineCore.Instance.GetActiveBrain(i); + int numChildren = parent.transform.childCount; + for (int j = numChildren - 1; j >= 0; --j) + { + RectTransform child = parent.transform.GetChild(j) as RectTransform; + if (child != null && child.name == CanvasName) + { + var canvas = child.gameObject; + RuntimeUtility.DestroyObject(canvas); +#if UNITY_EDITOR + // Workaround for Unity bug case Case 1004117 + CanvasesAndTheirOwners.RemoveCanvas(canvas); +#endif + } + } + } + mCanvasInfo.Clear(); + } + + void PlaceImage(CanvasInfo ci, float alpha) + { + if (ci.mRawImage != null && ci.mViewport != null) + { + Rect screen = new Rect(0, 0, Screen.width, Screen.height); + if (ci.mCanvasParent.OutputCamera != null) + screen = ci.mCanvasParent.OutputCamera.pixelRect; + screen.x -= (float)Screen.width/2; + screen.y -= (float)Screen.height/2; + + // Apply Split View + float wipeAmount = -Mathf.Clamp(m_SplitView, -1, 1) * screen.width; + + Vector3 pos = screen.center; + pos.x -= wipeAmount/2; + ci.mViewport.localPosition = pos; + ci.mViewport.localRotation = Quaternion.identity; + ci.mViewport.localScale = Vector3.one; + ci.mViewport.ForceUpdateRectTransforms(); + ci.mViewport.sizeDelta = new Vector2(screen.width + 1 - Mathf.Abs(wipeAmount), screen.height + 1); + + Vector2 scale = Vector2.one; + if (m_Image != null + && m_Image.width > 0 && m_Image.width > 0 + && screen.width > 0 && screen.height > 0) + { + float f = (screen.height * m_Image.width) / (screen.width * m_Image.height); + switch (m_Aspect) + { + case FillStrategy.BestFit: + if (f >= 1) + scale.y /= f; + else + scale.x *= f; + break; + case FillStrategy.CropImageToFit: + if (f >= 1) + scale.x *= f; + else + scale.y /= f; + break; + case FillStrategy.StretchToFit: + break; + } + } + scale.x *= m_Scale.x; + scale.y *= m_SyncScale ? m_Scale.x : m_Scale.y; + + ci.mRawImage.texture = m_Image; + Color tintColor = Color.white; + tintColor.a = m_Alpha * alpha; + ci.mRawImage.color = tintColor; + + pos = new Vector2(screen.width * m_Center.x, screen.height * m_Center.y); + pos.x += wipeAmount/2; + ci.mRawImage.rectTransform.localPosition = pos; + ci.mRawImage.rectTransform.localRotation = Quaternion.Euler(m_Rotation); + ci.mRawImage.rectTransform.localScale = scale; + ci.mRawImage.rectTransform.ForceUpdateRectTransforms(); + ci.mRawImage.rectTransform.sizeDelta = screen.size; + } + } + + static void StaticBlendingHandler(CinemachineBrain brain) + { + CameraState state = brain.CurrentCameraState; + int numBlendables = state.NumCustomBlendables; + for (int i = 0; i < numBlendables; ++i) + { + var b = state.GetCustomBlendable(i); + CinemachineStoryboard src = b.m_Custom as CinemachineStoryboard; + if (!(src == null)) // in case it was deleted + { + bool showIt = true; + int layer = 1 << src.gameObject.layer; + if (brain.OutputCamera == null || (brain.OutputCamera.cullingMask & layer) == 0) + showIt = false; + if (s_StoryboardGlobalMute) + showIt = false; + CanvasInfo ci = src.LocateMyCanvas(brain, showIt); + if (ci != null) + src.PlaceImage(ci, b.m_Weight); + } + } + } + +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoad] + class EditorInitialize { static EditorInitialize() { InitializeModule(); } } +#endif + [RuntimeInitializeOnLoadMethod] + static void InitializeModule() + { + CinemachineCore.CameraUpdatedEvent.RemoveListener(StaticBlendingHandler); + CinemachineCore.CameraUpdatedEvent.AddListener(StaticBlendingHandler); + } + + +#if UNITY_EDITOR + // Workaround for the Unity bug where OnDestroy doesn't get called if Undo + // bug case Case 1004117 + [UnityEditor.InitializeOnLoad] + class CanvasesAndTheirOwners + { + static Dictionary sCanvasesAndTheirOwners; + static CanvasesAndTheirOwners() + { + UnityEditor.Undo.undoRedoPerformed -= OnUndoRedoPerformed; + UnityEditor.Undo.undoRedoPerformed += OnUndoRedoPerformed; + } + static void OnUndoRedoPerformed() + { + if (sCanvasesAndTheirOwners != null) + { + List toDestroy = null; + foreach (var v in sCanvasesAndTheirOwners) + { + if (v.Value == null) + { + if (toDestroy == null) + toDestroy = new List(); + toDestroy.Add(v.Key); + } + } + if (toDestroy != null) + { + foreach (var o in toDestroy) + { + RemoveCanvas(o); + RuntimeUtility.DestroyObject(o); + } + } + } + } + public static void RemoveCanvas(UnityEngine.Object canvas) + { + if (sCanvasesAndTheirOwners != null && sCanvasesAndTheirOwners.ContainsKey(canvas)) + sCanvasesAndTheirOwners.Remove(canvas); + } + public static void AddCanvas(UnityEngine.Object canvas, UnityEngine.Object owner) + { + if (sCanvasesAndTheirOwners == null) + sCanvasesAndTheirOwners = new Dictionary(); + sCanvasesAndTheirOwners.Add(canvas, owner); + } + } +#endif + } +} +#else +// We need this dummy MonoBehaviour for Unity to properly recognize this script asset. +namespace Cinemachine +{ + [AddComponentMenu("")] // Hide in menu + public class CinemachineStoryboard : MonoBehaviour {} +} +#endif + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStoryboard.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStoryboard.cs.meta new file mode 100644 index 00000000..cf16ccd0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineStoryboard.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 82e62c82b3be64042ac529dee964cc2f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineTargetGroup.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineTargetGroup.cs new file mode 100644 index 00000000..4a1b67a5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineTargetGroup.cs @@ -0,0 +1,545 @@ +using UnityEngine; +using System; +using Cinemachine.Utility; +using System.Collections.Generic; + +namespace Cinemachine +{ + /// + /// Interface representing something that can be used as a vcam target. + /// It has a transform, a bounding box, and a bounding sphere. + /// + public interface ICinemachineTargetGroup + { + /// + /// Get the MonoBehaviour's Transform + /// + Transform Transform { get; } + + /// + /// The axis-aligned bounding box of the group, computed using the targets positions and radii + /// + Bounds BoundingBox { get; } + + /// + /// The bounding sphere of the group, computed using the targets positions and radii + /// + BoundingSphere Sphere { get; } + + /// + /// Returns true if the group has no non-zero-weight members + /// + bool IsEmpty { get; } + + /// The axis-aligned bounding box of the group, in a specific reference frame + /// The frame of reference in which to compute the bounding box + /// The axis-aligned bounding box of the group, in the desired frame of reference + Bounds GetViewSpaceBoundingBox(Matrix4x4 observer); + + /// + /// Get the local-space angular bounds of the group, from a spoecific point of view. + /// Also returns the z depth range of the members. + /// + /// Point of view from which to calculate, and in whose + /// space the return values are + /// The lower bound of the screen angles of the members (degrees) + /// The upper bound of the screen angles of the members (degrees) + /// The min and max depth values of the members, relative to the observer + void GetViewSpaceAngularBounds( + Matrix4x4 observer, out Vector2 minAngles, out Vector2 maxAngles, out Vector2 zRange); + } + + /// Defines a group of target objects, each with a radius and a weight. + /// The weight is used when calculating the average position of the target group. + /// Higher-weighted members of the group will count more. + /// The bounding box is calculated by taking the member positions, weight, + /// and radii into account. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("Cinemachine/CinemachineTargetGroup")] + [SaveDuringPlay] + [ExecuteAlways] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachineTargetGroup.html")] + public class CinemachineTargetGroup : MonoBehaviour, ICinemachineTargetGroup + { + /// Holds the information that represents a member of the group + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] public struct Target + { + /// The target objects. This object's position and orientation will contribute to the + /// group's average position and orientation, in accordance with its weight + [Tooltip("The target objects. This object's position and orientation will contribute to the " + + "group's average position and orientation, in accordance with its weight")] + public Transform target; + /// How much weight to give the target when averaging. Cannot be negative + [Tooltip("How much weight to give the target when averaging. Cannot be negative")] + public float weight; + /// The radius of the target, used for calculating the bounding box. Cannot be negative + [Tooltip("The radius of the target, used for calculating the bounding box. Cannot be negative")] + public float radius; + } + + /// How the group's position is calculated + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum PositionMode + { + ///Group position will be the center of the group's axis-aligned bounding box + GroupCenter, + /// Group position will be the weighted average of the positions of the members + GroupAverage + } + + /// How the group's position is calculated + [Tooltip("How the group's position is calculated. Select GroupCenter for the center of the bounding box, " + + "and GroupAverage for a weighted average of the positions of the members.")] + public PositionMode m_PositionMode = PositionMode.GroupCenter; + + /// How the group's orientation is calculated + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum RotationMode + { + /// Manually set in the group's transform + Manual, + /// Weighted average of the orientation of its members. + GroupAverage + } + + /// How the group's orientation is calculated + [Tooltip("How the group's rotation is calculated. Select Manual to use the value in the group's transform, " + + "and GroupAverage for a weighted average of the orientations of the members.")] + public RotationMode m_RotationMode = RotationMode.Manual; + + /// This enum defines the options available for the update method. + public enum UpdateMethod + { + /// Updated in normal MonoBehaviour Update. + Update, + /// Updated in sync with the Physics module, in FixedUpdate + FixedUpdate, + /// Updated in MonoBehaviour LateUpdate. + LateUpdate + }; + + /// When to update the group's transform based on the position of the group members + [Tooltip("When to update the group's transform based on the position of the group members")] + public UpdateMethod m_UpdateMethod = UpdateMethod.LateUpdate; + + /// The target objects, together with their weights and radii, that will + /// contribute to the group's average position, orientation, and size + [NoSaveDuringPlay] + [Tooltip("The target objects, together with their weights and radii, that will contribute to the " + + "group's average position, orientation, and size.")] + public Target[] m_Targets = Array.Empty(); + + float m_MaxWeight; + Vector3 m_AveragePos; + Bounds m_BoundingBox; + BoundingSphere m_BoundingSphere; + int m_LastUpdateFrame = -1; + + // Caches of valid members so we don't keep checking activeInHierarchy + List m_ValidMembers = new List(); + List m_MemberValidity = new List(); + + void OnValidate() + { + var count = m_Targets == null ? 0 : m_Targets.Length; + for (int i = 0; i < count; ++i) + { + m_Targets[i].weight = Mathf.Max(0, m_Targets[i].weight); + m_Targets[i].radius = Mathf.Max(0, m_Targets[i].radius); + } + } + + void Reset() + { + m_PositionMode = PositionMode.GroupCenter; + m_RotationMode = RotationMode.Manual; + m_UpdateMethod = UpdateMethod.LateUpdate; + m_Targets = Array.Empty(); + } + + /// + /// Get the MonoBehaviour's Transform + /// + public Transform Transform => transform; + + /// The axis-aligned bounding box of the group, computed using the + /// targets positions and radii + public Bounds BoundingBox + { + get + { + if (m_LastUpdateFrame != Time.frameCount) + DoUpdate(); + return m_BoundingBox; + } + private set => m_BoundingBox = value; + } + + /// The bounding sphere of the group, computed using the + /// targets positions and radii + public BoundingSphere Sphere + { + get + { + if (m_LastUpdateFrame != Time.frameCount) + DoUpdate(); + return m_BoundingSphere; + } + private set => m_BoundingSphere = value; + } + + /// Return true if there are no members with weight > 0. This returns the + /// cached member state and is only valid after a call to DoUpdate(). If members + /// are added or removed after that call, this will not necessarily return + /// correct information before the next update. + public bool IsEmpty + { + get + { + if (m_LastUpdateFrame != Time.frameCount) + DoUpdate(); + return m_ValidMembers.Count == 0; + } + } + + /// Add a member to the group + /// The member to add + /// The new member's weight + /// The new member's radius + public void AddMember(Transform t, float weight, float radius) + { + int index = 0; + if (m_Targets == null) + m_Targets = new Target[1]; + else + { + index = m_Targets.Length; + var oldTargets = m_Targets; + m_Targets = new Target[index + 1]; + Array.Copy(oldTargets, m_Targets, index); + } + m_Targets[index].target = t; + m_Targets[index].weight = weight; + m_Targets[index].radius = radius; + } + + /// Remove a member from the group + /// The member to remove + public void RemoveMember(Transform t) + { + int index = FindMember(t); + if (index >= 0) + { + var oldTargets = m_Targets; + m_Targets = new Target[m_Targets.Length - 1]; + if (index > 0) + Array.Copy(oldTargets, m_Targets, index); + if (index < oldTargets.Length - 1) + Array.Copy(oldTargets, index + 1, m_Targets, index, oldTargets.Length - index - 1); + } + } + + /// Locate a member's index in the group. + /// The member to find + /// Member index, or -1 if not a member + public int FindMember(Transform t) + { + if (m_Targets != null) + { + for (int i = m_Targets.Length-1; i >= 0; --i) + if (m_Targets[i].target == t) + return i; + } + return -1; + } + + /// + /// Get the bounding sphere of a group memebr, with the weight taken into account. + /// As the member's weight goes to 0, the position lerps to the group average position. + /// Note that this result is only valid after DoUpdate has been called. If members + /// are added or removed after that call or change their weights or active state, + /// this will not necessarily return correct information before the next update. + /// + /// Member index + /// The weighted bounding sphere + public BoundingSphere GetWeightedBoundsForMember(int index) + { + if (m_LastUpdateFrame != Time.frameCount) + DoUpdate(); + if (!IndexIsValid(index) || !m_MemberValidity[index]) + return Sphere; + return WeightedMemberBoundsForValidMember(ref m_Targets[index], m_AveragePos, m_MaxWeight); + } + + /// The axis-aligned bounding box of the group, in a specific reference frame. + /// Note that this result is only valid after DoUpdate has been called. If members + /// are added or removed after that call or change their weights or active state, + /// this will not necessarily return correct information before the next update. + /// The frame of reference in which to compute the bounding box + /// The axis-aligned bounding box of the group, in the desired frame of reference + public Bounds GetViewSpaceBoundingBox(Matrix4x4 observer) + { + if (m_LastUpdateFrame != Time.frameCount) + DoUpdate(); + var inverseView = observer; + if (!Matrix4x4.Inverse3DAffine(observer, ref inverseView)) + inverseView = observer.inverse; + var b = new Bounds(inverseView.MultiplyPoint3x4(m_AveragePos), Vector3.zero); + if (CachedCountIsValid) + { + bool gotOne = false; + var unit = 2 * Vector3.one; + var count = m_ValidMembers.Count; + for (int i = 0; i < count; ++i) + { + var s = WeightedMemberBoundsForValidMember(ref m_Targets[m_ValidMembers[i]], m_AveragePos, m_MaxWeight); + s.position = inverseView.MultiplyPoint3x4(s.position); + if (gotOne) + b.Encapsulate(new Bounds(s.position, s.radius * unit)); + else + b = new Bounds(s.position, s.radius * unit); + gotOne = true; + } + } + return b; + } + + bool CachedCountIsValid => m_MemberValidity.Count == (m_Targets == null ? 0 : m_Targets.Length); + bool IndexIsValid(int index) => index >= 0 && m_Targets != null && index < m_Targets.Length && CachedCountIsValid; + + static BoundingSphere WeightedMemberBoundsForValidMember(ref Target t, Vector3 avgPos, float maxWeight) + { + var pos = TargetPositionCache.GetTargetPosition(t.target); + var w = Mathf.Max(0, t.weight); + if (maxWeight > UnityVectorExtensions.Epsilon && w < maxWeight) + w /= maxWeight; + else + w = 1; + return new BoundingSphere(Vector3.Lerp(avgPos, pos, w), t.radius * w); + } + + /// + /// Update the group's transform right now, depending on the transforms of the members. + /// Normally this is called automatically by Update() or LateUpdate(). + /// + public void DoUpdate() + { + m_LastUpdateFrame = Time.frameCount; + + UpdateMemberValidity(); + m_AveragePos = CalculateAveragePosition(out m_MaxWeight); + BoundingBox = CalculateBoundingBox(); + m_BoundingSphere = CalculateBoundingSphere(m_MaxWeight); + + switch (m_PositionMode) + { + case PositionMode.GroupCenter: + transform.position = Sphere.position; + break; + case PositionMode.GroupAverage: + transform.position = m_AveragePos; + break; + } + + switch (m_RotationMode) + { + case RotationMode.Manual: + break; + case RotationMode.GroupAverage: + transform.rotation = CalculateAverageOrientation(); + break; + } + } + + void UpdateMemberValidity() + { + int count = m_Targets == null ? 0 : m_Targets.Length; + m_ValidMembers.Clear(); + m_ValidMembers.Capacity = Mathf.Max(m_ValidMembers.Capacity, count); + m_MemberValidity.Clear(); + m_MemberValidity.Capacity = Mathf.Max(m_MemberValidity.Capacity, count); + for (int i = 0; i < count; ++i) + { + m_MemberValidity.Add(m_Targets[i].target != null + && m_Targets[i].weight > UnityVectorExtensions.Epsilon + && m_Targets[i].target.gameObject.activeInHierarchy); + if (m_MemberValidity[i]) + m_ValidMembers.Add(i); + } + } + + // Assumes that UpdateMemberValidity() has been called + Vector3 CalculateAveragePosition(out float maxWeight) + { + var pos = Vector3.zero; + float weightSum = 0; + maxWeight = 0; + var count = m_ValidMembers.Count; + for (int i = 0; i < count; ++i) + { + var targetIndex = m_ValidMembers[i]; + var weight = m_Targets[targetIndex].weight; + weightSum += weight; + pos += TargetPositionCache.GetTargetPosition(m_Targets[targetIndex].target) * weight; + maxWeight = Mathf.Max(maxWeight, weight); + } + if (weightSum > UnityVectorExtensions.Epsilon) + pos /= weightSum; + else + pos = transform.position; + return pos; + } + + // Assumes that CalculateAveragePosition() has been called + Bounds CalculateBoundingBox() + { + var b = new Bounds(m_AveragePos, Vector3.zero); + if (m_MaxWeight > UnityVectorExtensions.Epsilon) + { + var count = m_ValidMembers.Count; + for (int i = 0; i < count; ++i) + { + var s = WeightedMemberBoundsForValidMember(ref m_Targets[m_ValidMembers[i]], m_AveragePos, m_MaxWeight); + b.Encapsulate(new Bounds(s.position, s.radius * 2 * Vector3.one)); + } + } + return b; + } + + /// + /// Use Ritter's algorithm for calculating an approximate bounding sphere. + /// Assumes that CalculateBoundingBox() has been called. + /// + /// The maximum weight of members in the group + /// An approximate bounding sphere. Will be slightly large. + BoundingSphere CalculateBoundingSphere(float maxWeight) + { + var sphere = new BoundingSphere { position = transform.position }; + bool gotOne = false; + + var count = m_ValidMembers.Count; + for (int i = 0; i < count; ++i) + { + var s = WeightedMemberBoundsForValidMember(ref m_Targets[m_ValidMembers[i]], m_AveragePos, maxWeight); + if (!gotOne) + { + gotOne = true; + sphere = s; + continue; + } + var distance = (s.position - sphere.position).magnitude + s.radius; + if (distance > sphere.radius) + { + // Point is outside current sphere: update + sphere.radius = (sphere.radius + distance) * 0.5f; + sphere.position = (sphere.radius * sphere.position + (distance - sphere.radius) * s.position) / distance; + } + } + return sphere; + } + + Quaternion CalculateAverageOrientation() + { + if (m_MaxWeight <= UnityVectorExtensions.Epsilon) + return transform.rotation; + + float weightedAverage = 0; + var r = Quaternion.identity; + var count = m_ValidMembers.Count; + for (int i = 0; i < count; ++i) + { + var targetIndex = m_ValidMembers[i]; + var scaledWeight = m_Targets[targetIndex].weight / m_MaxWeight; + var rot = TargetPositionCache.GetTargetRotation(m_Targets[targetIndex].target); + r *= Quaternion.Slerp(Quaternion.identity, rot, scaledWeight); + weightedAverage += scaledWeight; + } + return Quaternion.Slerp(Quaternion.identity, r, 1.0f / weightedAverage); + } + + void FixedUpdate() + { + if (m_UpdateMethod == UpdateMethod.FixedUpdate) + DoUpdate(); + } + + void Update() + { + if (!Application.isPlaying || m_UpdateMethod == UpdateMethod.Update) + DoUpdate(); + } + + void LateUpdate() + { + if (m_UpdateMethod == UpdateMethod.LateUpdate) + DoUpdate(); + } + + /// + /// Get the local-space angular bounds of the group, from a specific point of view. + /// Also returns the z depth range of the members. + /// Note that this result is only valid after DoUpdate has been called. If members + /// are added or removed after that call or change their weights or active state, + /// this will not necessarily return correct information before the next update. + /// + /// Point of view from which to calculate, and in whose + /// space the return values are + /// The lower bound of the screen angles of the members (degrees) + /// The upper bound of the screen angles of the members (degrees) + /// The min and max depth values of the members, relative to the observer + public void GetViewSpaceAngularBounds( + Matrix4x4 observer, out Vector2 minAngles, out Vector2 maxAngles, out Vector2 zRange) + { + if (m_LastUpdateFrame != Time.frameCount) + DoUpdate(); + var world2local = observer; + if (!Matrix4x4.Inverse3DAffine(observer, ref world2local)) + world2local = observer.inverse; + + zRange = Vector2.zero; + var b = new Bounds(); + if (CachedCountIsValid) + { + bool haveOne = false; + var count = m_ValidMembers.Count; + for (int i = 0; i < count; ++i) + { + var s = WeightedMemberBoundsForValidMember(ref m_Targets[m_ValidMembers[i]], m_AveragePos, m_MaxWeight); + var p = world2local.MultiplyPoint3x4(s.position); + if (p.z < UnityVectorExtensions.Epsilon) + continue; // behind us + + var rN = s.radius / p.z; + var rN2 = new Vector3(rN, rN, 0); + var pN = p / p.z; + if (!haveOne) + { + b.center = pN; + b.extents = rN2; + zRange = new Vector2(p.z, p.z); + haveOne = true; + } + else + { + b.Encapsulate(pN + rN2); + b.Encapsulate(pN - rN2); + zRange.x = Mathf.Min(zRange.x, p.z); + zRange.y = Mathf.Max(zRange.y, p.z); + } + } + } + // Don't need the high-precision versions of UnityVectorExtensions.SignedAngle + var pMin = b.min; + var pMax = b.max; + minAngles = new Vector2( + Vector3.SignedAngle(Vector3.forward, new Vector3(0, pMin.y, 1), Vector3.left), + Vector3.SignedAngle(Vector3.forward, new Vector3(pMin.x, 0, 1), Vector3.up)); + maxAngles = new Vector2( + Vector3.SignedAngle(Vector3.forward, new Vector3(0, pMax.y, 1), Vector3.left), + Vector3.SignedAngle(Vector3.forward, new Vector3(pMax.x, 0, 1), Vector3.up)); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineTargetGroup.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineTargetGroup.cs.meta new file mode 100644 index 00000000..19ab5872 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineTargetGroup.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e5eb80d8e62d9d145bb50fb783c0f731 +timeCreated: 1496785096 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineVirtualCamera.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineVirtualCamera.cs new file mode 100644 index 00000000..6462edb8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineVirtualCamera.cs @@ -0,0 +1,633 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// This behaviour is intended to be attached to an empty Transform GameObject, + /// and it represents a Virtual Camera within the Unity scene. + /// + /// The Virtual Camera will animate its Transform according to the rules contained + /// in its CinemachineComponent pipeline (Aim, Body, and Noise). When the virtual + /// camera is Live, the Unity camera will assume the position and orientation + /// of the virtual camera. + /// + /// A virtual camera is not a camera. Instead, it can be thought of as a camera controller, + /// not unlike a cameraman. It can drive the Unity Camera and control its position, + /// orientation, lens settings, and PostProcessing effects. Each Virtual Camera owns + /// its own Cinemachine Component Pipeline, through which you provide the instructions + /// for dynamically tracking specific game objects. + /// + /// A virtual camera is very lightweight, and does no rendering of its own. It merely + /// tracks interesting GameObjects, and positions itself accordingly. A typical game + /// can have dozens of virtual cameras, each set up to follow a particular character + /// or capture a particular event. + /// + /// A Virtual Camera can be in any of three states: + /// + /// * **Live**: The virtual camera is actively controlling the Unity Camera. The + /// virtual camera is tracking its targets and being updated every frame. + /// * **Standby**: The virtual camera is tracking its targets and being updated + /// every frame, but no Unity Camera is actively being controlled by it. This is + /// the state of a virtual camera that is enabled in the scene but perhaps at a + /// lower priority than the Live virtual camera. + /// * **Disabled**: The virtual camera is present but disabled in the scene. It is + /// not actively tracking its targets and so consumes no processing power. However, + /// the virtual camera can be made live from the Timeline. + /// + /// The Unity Camera can be driven by any virtual camera in the scene. The game + /// logic can choose the virtual camera to make live by manipulating the virtual + /// cameras' enabled flags and their priorities, based on game logic. + /// + /// In order to be driven by a virtual camera, the Unity Camera must have a CinemachineBrain + /// behaviour, which will select the most eligible virtual camera based on its priority + /// or on other criteria, and will manage blending. + /// + /// + /// + /// + /// + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [DisallowMultipleComponent] + [ExecuteAlways] + [ExcludeFromPreset] + [AddComponentMenu("Cinemachine/CinemachineVirtualCamera")] + [HelpURL(Documentation.BaseURL + "manual/CinemachineVirtualCamera.html")] + public class CinemachineVirtualCamera : CinemachineVirtualCameraBase + { + /// The object that the camera wants to look at (the Aim target). + /// The Aim component of the CinemachineComponent pipeline + /// will refer to this target and orient the vcam in accordance with rules and + /// settings that are provided to it. + /// If this is null, then the vcam's Transform orientation will be used. + [Tooltip("The object that the camera wants to look at (the Aim target). " + + "If this is null, then the vcam's Transform orientation will define the camera's orientation.")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_LookAt = null; + + /// The object that the camera wants to move with (the Body target). + /// The Body component of the CinemachineComponent pipeline + /// will refer to this target and position the vcam in accordance with rules and + /// settings that are provided to it. + /// If this is null, then the vcam's Transform position will be used. + [Tooltip("The object that the camera wants to move with (the Body target). " + + "If this is null, then the vcam's Transform position will define the camera's position.")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_Follow = null; + + /// Specifies the LensSettings of this Virtual Camera. + /// These settings will be transferred to the Unity camera when the vcam is live. + [FormerlySerializedAs("m_LensAttributes")] + [Tooltip("Specifies the lens properties of this Virtual Camera. This generally " + + "mirrors the Unity Camera's lens settings, and will be used to drive the " + + "Unity camera when the vcam is active.")] + public LensSettings m_Lens = LensSettings.Default; + + /// Collection of parameters that influence how this virtual camera transitions from + /// other virtual cameras + public TransitionParams m_Transitions; + + /// Legacy support + [SerializeField] [HideInInspector] + [FormerlySerializedAs("m_BlendHint")] + [FormerlySerializedAs("m_PositionBlending")] private BlendHint m_LegacyBlendHint; + + /// This is the name of the hidden GameObject that will be created as a child object + /// of the virtual camera. This hidden game object acts as a container for the polymorphic + /// CinemachineComponent pipeline. The Inspector UI for the Virtual Camera + /// provides access to this pipleline, as do the CinemachineComponent-family of + /// public methods in this class. + /// The lifecycle of the pipeline GameObject is managed automatically. + public const string PipelineName = "cm"; + + /// The CameraState object holds all of the information + /// necessary to position the Unity camera. It is the output of this class. + override public CameraState State { get { return m_State; } } + + /// Get the LookAt target for the Aim component in the Cinemachine pipeline. + /// If this vcam is a part of a meta-camera collection, then the owner's target + /// will be used if the local target is null. + override public Transform LookAt + { + get { return ResolveLookAt(m_LookAt); } + set { m_LookAt = value; } + } + + /// Get the Follow target for the Body component in the Cinemachine pipeline. + /// If this vcam is a part of a meta-camera collection, then the owner's target + /// will be used if the local target is null. + override public Transform Follow + { + get { return ResolveFollow(m_Follow); } + set { m_Follow = value; } + } + + /// + /// Query components and extensions for the maximum damping time. + /// + /// Highest damping setting in this vcam + public override float GetMaxDampTime() + { + float maxDamp = base.GetMaxDampTime(); + UpdateComponentPipeline(); + if (m_ComponentPipeline != null) + for (int i = 0; i < m_ComponentPipeline.Length; ++i) + maxDamp = Mathf.Max(maxDamp, m_ComponentPipeline[i].GetMaxDampTime()); + return maxDamp; + } + + /// Internal use only. Do not call this method. + /// Called by CinemachineCore at the appropriate Update time + /// so the vcam can position itself and track its targets. This class will + /// invoke its pipeline and generate a CameraState for this frame. + /// Effective world up + /// Effective deltaTime + override public void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) + { + UpdateTargetCache(); + + // Update the state by invoking the component pipeline + m_State = CalculateNewState(worldUp, deltaTime); + ApplyPositionBlendMethod(ref m_State, m_Transitions.m_BlendHint); + + // Push the raw position back to the game object's transform, so it + // moves along with the camera. + if (Follow != null) + transform.position = State.RawPosition; + if (LookAt != null) + transform.rotation = State.RawOrientation; + + PreviousStateIsValid = true; + } + + /// Make sure that the pipeline cache is up-to-date. + override protected void OnEnable() + { + base.OnEnable(); + m_State = PullStateFromVirtualCamera(Vector3.up, ref m_Lens); + InvalidateComponentPipeline(); + + // Can't add components during OnValidate + if (ValidatingStreamVersion < 20170927) + { + if (Follow != null && GetCinemachineComponent(CinemachineCore.Stage.Body) == null) + AddCinemachineComponent(); + if (LookAt != null && GetCinemachineComponent(CinemachineCore.Stage.Aim) == null) + AddCinemachineComponent(); + } + } + + /// Calls the DestroyPipelineDelegate for destroying the hidden + /// child object, to support undo. + protected override void OnDestroy() + { + // Make the pipeline visible instead of destroying - this is to keep Undo happy + foreach (Transform child in transform) + if (child.GetComponent() != null) + child.gameObject.hideFlags + &= ~(HideFlags.HideInHierarchy | HideFlags.HideInInspector); + + base.OnDestroy(); + } + + /// Enforce bounds for fields, when changed in inspector. + protected override void OnValidate() + { + base.OnValidate(); + m_Lens.Validate(); + if (m_LegacyBlendHint != BlendHint.None) + { + m_Transitions.m_BlendHint = m_LegacyBlendHint; + m_LegacyBlendHint = BlendHint.None; + } + } + + void OnTransformChildrenChanged() + { + InvalidateComponentPipeline(); + } + + void Reset() + { + DestroyPipeline(); + UpdateComponentPipeline(); + } + + /// + /// Override component pipeline creation. + /// This needs to be done by the editor to support Undo. + /// The override must do exactly the same thing as the CreatePipeline method in this class. + /// + public static CreatePipelineDelegate CreatePipelineOverride; + + /// + /// Override component pipeline creation. + /// This needs to be done by the editor to support Undo. + /// The override must do exactly the same thing as the CreatePipeline method in + /// the CinemachineVirtualCamera class. + /// + public delegate Transform CreatePipelineDelegate( + CinemachineVirtualCamera vcam, string name, CinemachineComponentBase[] copyFrom); + + /// + /// Override component pipeline destruction. + /// This needs to be done by the editor to support Undo. + /// + public static DestroyPipelineDelegate DestroyPipelineOverride; + + /// + /// Override component pipeline destruction. + /// This needs to be done by the editor to support Undo. + /// + public delegate void DestroyPipelineDelegate(GameObject pipeline); + + /// Destroy any existing pipeline container. + internal void DestroyPipeline() + { + List oldPipeline = new List(); + foreach (Transform child in transform) + if (child.GetComponent() != null) + oldPipeline.Add(child); + + foreach (Transform child in oldPipeline) + { + if (DestroyPipelineOverride != null) + DestroyPipelineOverride(child.gameObject); + else + { + var oldStuff = child.GetComponents(); + foreach (var c in oldStuff) + Destroy(c); + if (!RuntimeUtility.IsPrefab(gameObject)) + Destroy(child.gameObject); + } + } + m_ComponentOwner = null; + InvalidateComponentPipeline(); + PreviousStateIsValid = false; + } + + /// Create a default pipeline container. + /// Note: copyFrom only supported in Editor, not build + internal Transform CreatePipeline(CinemachineVirtualCamera copyFrom) + { + CinemachineComponentBase[] components = null; + if (copyFrom != null) + { + copyFrom.InvalidateComponentPipeline(); // make sure it's up to date + components = copyFrom.GetComponentPipeline(); + } + + Transform newPipeline = null; + if (CreatePipelineOverride != null) + newPipeline = CreatePipelineOverride(this, PipelineName, components); + else if (!RuntimeUtility.IsPrefab(gameObject)) + { + GameObject go = new GameObject(PipelineName); + go.transform.parent = transform; + go.AddComponent(); + newPipeline = go.transform; + } + PreviousStateIsValid = false; + return newPipeline; + } + + /// + /// Editor API: Call this when changing the pipeline from the editor. + /// Will force a rebuild of the pipeline cache. + /// + public void InvalidateComponentPipeline() { m_ComponentPipeline = null; } + + /// Get the hidden CinemachinePipeline child object. + /// The hidden CinemachinePipeline child object + public Transform GetComponentOwner() { UpdateComponentPipeline(); return m_ComponentOwner; } + + /// Get the component pipeline owned by the hidden child pipline container. + /// For most purposes, it is preferable to use the GetCinemachineComponent method. + /// The component pipeline + public CinemachineComponentBase[] GetComponentPipeline() { UpdateComponentPipeline(); return m_ComponentPipeline; } + + /// Get the component set for a specific stage. + /// The stage for which we want the component + /// The Cinemachine component for that stage, or null if not defined + public CinemachineComponentBase GetCinemachineComponent(CinemachineCore.Stage stage) + { + CinemachineComponentBase[] components = GetComponentPipeline(); + if (components != null) + foreach (var c in components) + if (c.Stage == stage) + return c; + return null; + } + + /// Get an existing component of a specific type from the cinemachine pipeline. + /// The type of component to get + /// The component if it's present, or null + public T GetCinemachineComponent() where T : CinemachineComponentBase + { + CinemachineComponentBase[] components = GetComponentPipeline(); + if (components != null) + foreach (var c in components) + if (c is T) + return c as T; + return null; + } + + /// Add a component to the cinemachine pipeline. + /// Existing components at the new component's stage are removed + /// The type of component to add + /// The new component + public T AddCinemachineComponent() where T : CinemachineComponentBase + { + // Get the existing components + Transform owner = GetComponentOwner(); + if (owner == null) + return null; // maybe it's a prefab + CinemachineComponentBase[] components = owner.GetComponents(); + + T component = owner.gameObject.AddComponent(); + if (component != null && components != null) + { + // Remove the existing components at that stage + CinemachineCore.Stage stage = component.Stage; + for (int i = components.Length - 1; i >= 0; --i) + { + if (components[i].Stage == stage) + { + components[i].enabled = false; + RuntimeUtility.DestroyObject(components[i]); + } + } + } + InvalidateComponentPipeline(); + return component; + } + + /// Remove a component from the cinemachine pipeline if it's present. + /// The type of component to remove + public void DestroyCinemachineComponent() where T : CinemachineComponentBase + { + CinemachineComponentBase[] components = GetComponentPipeline(); + if (components != null) + { + foreach (var c in components) + { + if (c is T) + { + c.enabled = false; + RuntimeUtility.DestroyObject(c); + InvalidateComponentPipeline(); + } + } + } + } + + CameraState m_State = CameraState.Default; // Current state this frame + + CinemachineComponentBase[] m_ComponentPipeline = null; + + // Serialized only to implement copy/paste of CM subcomponents. + // Note however that this strategy has its limitations: the CM pipeline Components + // won't be pasted onto a prefab asset outside the scene unless the prefab + // is opened in Prefab edit mode. + [SerializeField][HideInInspector] private Transform m_ComponentOwner = null; + + void UpdateComponentPipeline() + { +#if UNITY_EDITOR + // Did we just get copy/pasted? + if (m_ComponentOwner != null && m_ComponentOwner.parent != transform) + { + CinemachineVirtualCamera copyFrom = (m_ComponentOwner.parent != null) + ? m_ComponentOwner.parent.gameObject.GetComponent() : null; + DestroyPipeline(); + CreatePipeline(copyFrom); + m_ComponentOwner = null; + } + // Make sure the pipeline stays hidden, even through prefab + if (m_ComponentOwner != null) + SetFlagsForHiddenChild(m_ComponentOwner.gameObject); +#endif + // Early out if we're up-to-date + if (m_ComponentOwner != null && m_ComponentPipeline != null) + return; + + m_ComponentOwner = null; + List list = new List(); + foreach (Transform child in transform) + { + if (child.GetComponent() != null) + { + CinemachineComponentBase[] components = child.GetComponents(); + foreach (CinemachineComponentBase c in components) + if (c.enabled) + list.Add(c); + m_ComponentOwner = child; + break; + } + } + + // Make sure we have a pipeline owner + if (m_ComponentOwner == null) + m_ComponentOwner = CreatePipeline(null); + + if (m_ComponentOwner != null && m_ComponentOwner.gameObject != null) + { + // Sort the pipeline + list.Sort((c1, c2) => (int)c1.Stage - (int)c2.Stage); + m_ComponentPipeline = list.ToArray(); + } + } + + static internal void SetFlagsForHiddenChild(GameObject child) + { + if (child != null) + { + if (CinemachineCore.sShowHiddenObjects) + child.hideFlags &= ~(HideFlags.HideInHierarchy | HideFlags.HideInInspector); + else + child.hideFlags |= (HideFlags.HideInHierarchy | HideFlags.HideInInspector); + } + } + + private Transform mCachedLookAtTarget; + private CinemachineVirtualCameraBase mCachedLookAtTargetVcam; + private CameraState CalculateNewState(Vector3 worldUp, float deltaTime) + { + FollowTargetAttachment = 1; + LookAtTargetAttachment = 1; + + // Initialize the camera state, in case the game object got moved in the editor + CameraState state = PullStateFromVirtualCamera(worldUp, ref m_Lens); + + Transform lookAtTarget = LookAt; + if (lookAtTarget != mCachedLookAtTarget) + { + mCachedLookAtTarget = lookAtTarget; + mCachedLookAtTargetVcam = null; + if (lookAtTarget != null) + mCachedLookAtTargetVcam = lookAtTarget.GetComponent(); + } + if (lookAtTarget != null) + { + if (mCachedLookAtTargetVcam != null) + state.ReferenceLookAt = mCachedLookAtTargetVcam.State.FinalPosition; + else + state.ReferenceLookAt = TargetPositionCache.GetTargetPosition(lookAtTarget); + } + + // Update the state by invoking the component pipeline + UpdateComponentPipeline(); // avoid GetComponentPipeline() here because of GC + + // Extensions first + InvokePrePipelineMutateCameraStateCallback(this, ref state, deltaTime); + + // Then components + if (m_ComponentPipeline == null) + { + state.BlendHint |= CameraState.BlendHintValue.IgnoreLookAtTarget; + for (var stage = CinemachineCore.Stage.Body; stage <= CinemachineCore.Stage.Finalize; ++stage) + InvokePostPipelineStageCallback(this, stage, ref state, deltaTime); + } + else + { + for (int i = 0; i < m_ComponentPipeline.Length; ++i) + if (m_ComponentPipeline[i] != null) + m_ComponentPipeline[i].PrePipelineMutateCameraState(ref state, deltaTime); + + int componentIndex = 0; + CinemachineComponentBase postAimBody = null; + for (var stage = CinemachineCore.Stage.Body; stage <= CinemachineCore.Stage.Finalize; ++stage) + { + var c = componentIndex < m_ComponentPipeline.Length + ? m_ComponentPipeline[componentIndex] : null; + if (c != null && stage == c.Stage) + { + ++componentIndex; + if (stage == CinemachineCore.Stage.Body && c.BodyAppliesAfterAim) + { + postAimBody = c; + continue; // do the body stage of the pipeline after Aim + } + c.MutateCameraState(ref state, deltaTime); + } + InvokePostPipelineStageCallback(this, stage, ref state, deltaTime); + + if (stage == CinemachineCore.Stage.Aim) + { + if (c == null) + state.BlendHint |= CameraState.BlendHintValue.IgnoreLookAtTarget; + // If we have saved a Body for after Aim, do it now + if (postAimBody != null) + { + postAimBody.MutateCameraState(ref state, deltaTime); + InvokePostPipelineStageCallback(this, CinemachineCore.Stage.Body, ref state, deltaTime); + } + } + } + } + return state; + } + + /// This is called to notify the vcam that a target got warped, + /// so that the vcam can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + if (target == Follow) + { + transform.position += positionDelta; + m_State.RawPosition += positionDelta; + } + UpdateComponentPipeline(); // avoid GetComponentPipeline() here because of GC + if (m_ComponentPipeline != null) + { + for (int i = 0; i < m_ComponentPipeline.Length; ++i) + m_ComponentPipeline[i].OnTargetObjectWarped(target, positionDelta); + } + base.OnTargetObjectWarped(target, positionDelta); + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + PreviousStateIsValid = true; + transform.position = pos; + transform.rotation = rot; + m_State.RawPosition = pos; + m_State.RawOrientation = rot; + + UpdateComponentPipeline(); // avoid GetComponentPipeline() here because of GC + if (m_ComponentPipeline != null) + for (int i = 0; i < m_ComponentPipeline.Length; ++i) + m_ComponentPipeline[i].ForceCameraPosition(pos, rot); + + base.ForceCameraPosition(pos, rot); + } + + // This is a hack for FreeLook rigs - to be removed + internal void SetStateRawPosition(Vector3 pos) { m_State.RawPosition = pos; } + + /// If we are transitioning from another vcam, grab the position from it. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + base.OnTransitionFromCamera(fromCam, worldUp, deltaTime); + InvokeOnTransitionInExtensions(fromCam, worldUp, deltaTime); + bool forceUpdate = false; + + if (m_Transitions.m_InheritPosition && fromCam != null + && !CinemachineCore.Instance.IsLiveInBlend(this)) + ForceCameraPosition(fromCam.State.FinalPosition, fromCam.State.FinalOrientation); + + UpdateComponentPipeline(); // avoid GetComponentPipeline() here because of GC + if (m_ComponentPipeline != null) + { + for (int i = 0; i < m_ComponentPipeline.Length; ++i) + if (m_ComponentPipeline[i].OnTransitionFromCamera( + fromCam, worldUp, deltaTime, ref m_Transitions)) + forceUpdate = true; + } + if (forceUpdate) + { + InternalUpdateCameraState(worldUp, deltaTime); + InternalUpdateCameraState(worldUp, deltaTime); + } + else + UpdateCameraState(worldUp, deltaTime); + if (m_Transitions.m_OnCameraLive != null) + m_Transitions.m_OnCameraLive.Invoke(this, fromCam); + } + + /// + /// Returns true, when the vcam has an extension or components that require input. + /// + internal override bool RequiresUserInput() + { + if (base.RequiresUserInput()) + return true; + return m_ComponentPipeline != null && m_ComponentPipeline.Any(c => c != null && c.RequiresUserInput); + } + + // This prevents the sensor size from dirtying the scene in the event of aspect ratio change + internal override void OnBeforeSerialize() + { + if (!m_Lens.IsPhysicalCamera) + m_Lens.SensorSize = Vector2.one; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineVirtualCamera.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineVirtualCamera.cs.meta new file mode 100644 index 00000000..3530e25e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Behaviours/CinemachineVirtualCamera.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 45e653bab7fb20e499bda25e1b646fea +timeCreated: 1496775476 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components.meta new file mode 100644 index 00000000..e2157e24 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0fafdc3d4f989ff48803e7d870539b41 +folderAsset: yes +timeCreated: 1489096338 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/Cinemachine3rdPersonFollow.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/Cinemachine3rdPersonFollow.cs new file mode 100644 index 00000000..b51ceb64 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/Cinemachine3rdPersonFollow.cs @@ -0,0 +1,305 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#endif + +using UnityEngine; +using Cinemachine.Utility; + +namespace Cinemachine +{ + /// + /// Third-person follower, with complex pivoting: horizontal about the origin, + /// vertical about the shoulder. + /// + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class Cinemachine3rdPersonFollow : CinemachineComponentBase + { + /// How responsively the camera tracks the target. Each axis (camera-local) + /// can have its own setting. Value is the approximate time it takes the camera + /// to catch up to the target's new position. Smaller values give a more rigid + /// effect, larger values give a squishier one. + [Tooltip("How responsively the camera tracks the target. Each axis (camera-local) " + + "can have its own setting. Value is the approximate time it takes the camera " + + "to catch up to the target's new position. Smaller values give a more " + + "rigid effect, larger values give a squishier one")] + public Vector3 Damping; + + /// Position of the shoulder pivot relative to the Follow target origin. + /// This offset is in target-local space. + [Header("Rig")] + [Tooltip("Position of the shoulder pivot relative to the Follow target origin. " + + "This offset is in target-local space")] + public Vector3 ShoulderOffset; + + /// Vertical offset of the hand in relation to the shoulder. + /// Arm length will affect the follow target's screen position + /// when the camera rotates vertically. + [Tooltip("Vertical offset of the hand in relation to the shoulder. " + + "Arm length will affect the follow target's screen position when " + + "the camera rotates vertically")] + public float VerticalArmLength; + + /// Specifies which shoulder (left, right, or in-between) the camera is on. + [Tooltip("Specifies which shoulder (left, right, or in-between) the camera is on")] + [Range(0, 1)] + public float CameraSide; + + /// How far baehind the hand the camera will be placed. + [Tooltip("How far baehind the hand the camera will be placed")] + public float CameraDistance; + +#if CINEMACHINE_PHYSICS + /// Camera will avoid obstacles on these layers. + [Header("Obstacles")] + [Tooltip("Camera will avoid obstacles on these layers")] + public LayerMask CameraCollisionFilter; + + /// + /// Obstacles with this tag will be ignored. It is a good idea + /// to set this field to the target's tag + /// + [TagField] + [Tooltip("Obstacles with this tag will be ignored. " + + "It is a good idea to set this field to the target's tag")] + public string IgnoreTag = string.Empty; + + /// + /// Specifies how close the camera can get to obstacles + /// + [Tooltip("Specifies how close the camera can get to obstacles")] + [Range(0, 1)] + public float CameraRadius; + + /// + /// How gradually the camera moves to correct for occlusions. + /// Higher numbers will move the camera more gradually. + /// + [Range(0, 10)] + [Tooltip("How gradually the camera moves to correct for occlusions. " + + "Higher numbers will move the camera more gradually.")] + public float DampingIntoCollision; + + /// + /// How gradually the camera returns to its normal position after having been corrected by the built-in + /// collision resolution system. Higher numbers will move the camera more gradually back to normal. + /// + [Range(0, 10)] + [Tooltip("How gradually the camera returns to its normal position after having been corrected by the built-in " + + "collision resolution system. Higher numbers will move the camera more gradually back to normal.")] + public float DampingFromCollision; +#endif + + // State info + Vector3 m_PreviousFollowTargetPosition; + Vector3 m_DampingCorrection; // this is in local rig space +#if CINEMACHINE_PHYSICS + float m_CamPosCollisionCorrection; +#endif + + void OnValidate() + { + CameraSide = Mathf.Clamp(CameraSide, -1.0f, 1.0f); + Damping.x = Mathf.Max(0, Damping.x); + Damping.y = Mathf.Max(0, Damping.y); + Damping.z = Mathf.Max(0, Damping.z); +#if CINEMACHINE_PHYSICS + CameraRadius = Mathf.Max(0.001f, CameraRadius); + DampingIntoCollision = Mathf.Max(0, DampingIntoCollision); + DampingFromCollision = Mathf.Max(0, DampingFromCollision); +#endif + } + + void Reset() + { + ShoulderOffset = new Vector3(0.5f, -0.4f, 0.0f); + VerticalArmLength = 0.4f; + CameraSide = 1.0f; + CameraDistance = 2.0f; + Damping = new Vector3(0.1f, 0.5f, 0.3f); +#if CINEMACHINE_PHYSICS + CameraCollisionFilter = 0; + CameraRadius = 0.2f; + DampingIntoCollision = 0; + DampingFromCollision = 2f; +#endif + } + +#if CINEMACHINE_PHYSICS + void OnDestroy() + { + RuntimeUtility.DestroyScratchCollider(); + } +#endif + + /// True if component is enabled and has a Follow target defined + public override bool IsValid => enabled && FollowTarget != null; + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Aim stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Body; } } + +#if CINEMACHINE_PHYSICS + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() + { + return Mathf.Max( + Mathf.Max(DampingIntoCollision, DampingFromCollision), + Mathf.Max(Damping.x, Mathf.Max(Damping.y, Damping.z))); + } +#endif + + /// Orients the camera to match the Follow target's orientation + /// The current camera state + /// Elapsed time since last frame, for damping calculations. + /// If negative, previous state is reset. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + if (IsValid) + { + if (!VirtualCamera.PreviousStateIsValid) + deltaTime = -1; + PositionCamera(ref curState, deltaTime); + } + } + + /// This is called to notify the us that a target got warped, + /// so that we can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + base.OnTargetObjectWarped(target, positionDelta); + if (target == FollowTarget) + { + m_PreviousFollowTargetPosition += positionDelta; + } + } + + void PositionCamera(ref CameraState curState, float deltaTime) + { + var up = curState.ReferenceUp; + var targetPos = FollowTargetPosition; + var targetRot = FollowTargetRotation; + var targetForward = targetRot * Vector3.forward; + var heading = GetHeading(targetRot, up); + + if (deltaTime < 0) + { + // No damping - reset damping state info + m_DampingCorrection = Vector3.zero; +#if CINEMACHINE_PHYSICS + m_CamPosCollisionCorrection = 0; +#endif + } + else + { + // Damping correction is applied to the shoulder offset - stretching the rig + m_DampingCorrection += Quaternion.Inverse(heading) * (m_PreviousFollowTargetPosition - targetPos); + m_DampingCorrection -= VirtualCamera.DetachedFollowTargetDamp(m_DampingCorrection, Damping, deltaTime); + } + + m_PreviousFollowTargetPosition = targetPos; + var root = targetPos; + GetRawRigPositions(root, targetRot, heading, out _, out Vector3 hand); + + // Place the camera at the correct distance from the hand + var camPos = hand - (targetForward * (CameraDistance - m_DampingCorrection.z)); + +#if CINEMACHINE_PHYSICS + // Check if hand is colliding with something, if yes, then move the hand + // closer to the player. The radius is slightly enlarged, to avoid problems + // next to walls + float dummy = 0; + var collidedHand = ResolveCollisions(root, hand, -1, CameraRadius * 1.05f, ref dummy); + camPos = ResolveCollisions( + collidedHand, camPos, deltaTime, CameraRadius, ref m_CamPosCollisionCorrection); +#endif + // Set state + curState.RawPosition = camPos; + curState.RawOrientation = targetRot; // not necessary, but left in to avoid breaking scenes that depend on this + } + + /// + /// Internal use only. Public for the inspector gizmo + /// + /// Root of the rig. + /// Shoulder of the rig. + /// Hand of the rig. + public void GetRigPositions(out Vector3 root, out Vector3 shoulder, out Vector3 hand) + { + var up = VirtualCamera.State.ReferenceUp; + var targetRot = FollowTargetRotation; + var heading = GetHeading(targetRot, up); + root = m_PreviousFollowTargetPosition; + GetRawRigPositions(root, targetRot, heading, out shoulder, out hand); +#if CINEMACHINE_PHYSICS + float dummy = 0; + hand = ResolveCollisions(root, hand, -1, CameraRadius * 1.05f, ref dummy); +#endif + } + + internal static Quaternion GetHeading(Quaternion targetRot, Vector3 up) + { + var targetForward = targetRot * Vector3.forward; + var planeForward = Vector3.Cross(up, Vector3.Cross(targetForward.ProjectOntoPlane(up), up)); + if (planeForward.AlmostZero()) + planeForward = Vector3.Cross(targetRot * Vector3.right, up); + return Quaternion.LookRotation(planeForward, up); + } + + void GetRawRigPositions( + Vector3 root, Quaternion targetRot, Quaternion heading, + out Vector3 shoulder, out Vector3 hand) + { + var shoulderOffset = ShoulderOffset; + shoulderOffset.x = Mathf.Lerp(-shoulderOffset.x, shoulderOffset.x, CameraSide); + shoulderOffset.x += m_DampingCorrection.x; + shoulderOffset.y += m_DampingCorrection.y; + shoulder = root + heading * shoulderOffset; + hand = shoulder + targetRot * new Vector3(0, VerticalArmLength, 0); + } + +#if CINEMACHINE_PHYSICS + Vector3 ResolveCollisions( + Vector3 root, Vector3 tip, float deltaTime, + float cameraRadius, ref float collisionCorrection) + { + if (CameraCollisionFilter.value == 0) + { + return tip; + } + + var dir = tip - root; + var len = dir.magnitude; + dir /= len; + + var result = tip; + float desiredCorrection = 0; + + if (RuntimeUtility.SphereCastIgnoreTag( + root, cameraRadius, dir, out RaycastHit hitInfo, + len, CameraCollisionFilter, IgnoreTag)) + { + var desiredResult = hitInfo.point + hitInfo.normal * cameraRadius; + desiredCorrection = (desiredResult - tip).magnitude; + } + + collisionCorrection += deltaTime < 0 ? desiredCorrection - collisionCorrection : Damper.Damp( + desiredCorrection - collisionCorrection, + desiredCorrection > collisionCorrection ? DampingIntoCollision : DampingFromCollision, + deltaTime); + + // Apply the correction + if (collisionCorrection > Epsilon) + result -= dir * collisionCorrection; + + return result; + } +#endif + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/Cinemachine3rdPersonFollow.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/Cinemachine3rdPersonFollow.cs.meta new file mode 100644 index 00000000..ecb02698 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/Cinemachine3rdPersonFollow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bd6043bde05a7fc4cba197d06915c1e3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineBasicMultiChannelPerlin.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineBasicMultiChannelPerlin.cs new file mode 100644 index 00000000..6304930d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineBasicMultiChannelPerlin.cs @@ -0,0 +1,115 @@ +using UnityEngine; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// As a part of the Cinemachine Pipeline implementing the Noise stage, this + /// component adds Perlin Noise to the Camera state, in the Correction + /// channel of the CameraState. + /// + /// The noise is created by using a predefined noise profile asset. This defines the + /// shape of the noise over time. You can scale this in amplitude or in time, to produce + /// a large family of different noises using the same profile. + /// + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineBasicMultiChannelPerlin : CinemachineComponentBase + { + /// + /// Serialized property for referencing a NoiseSettings asset + /// + [Tooltip("The asset containing the Noise Profile. Define the frequencies and amplitudes " + + "there to make a characteristic noise profile. Make your own or just use one of the many presets.")] + [FormerlySerializedAs("m_Definition")] + [NoiseSettingsProperty] + public NoiseSettings m_NoiseProfile; + + /// + /// When rotating the camera, offset the camera's pivot position by this much (camera space) + /// + [Tooltip("When rotating the camera, offset the camera's pivot position by this much (camera space)")] + public Vector3 m_PivotOffset = Vector3.zero; + + /// + /// Gain to apply to the amplitudes defined in the settings asset. + /// + [Tooltip("Gain to apply to the amplitudes defined in the NoiseSettings asset. 1 is normal. " + + "Setting this to 0 completely mutes the noise.")] + public float m_AmplitudeGain = 1f; + + /// + /// Scale factor to apply to the frequencies defined in the settings asset. + /// + [Tooltip("Scale factor to apply to the frequencies defined in the NoiseSettings asset. 1 is normal. " + + "Larger magnitudes will make the noise shake more rapidly.")] + public float m_FrequencyGain = 1f; + + /// True if the component is valid, i.e. it has a noise definition and is enabled. + public override bool IsValid { get { return enabled && m_NoiseProfile != null; } } + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Noise stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Noise; } } + + /// Applies noise to the Correction channel of the CameraState if the + /// delta time is greater than 0. Otherwise, does nothing. + /// The current camera state + /// How much to advance the perlin noise generator. + /// Noise is only applied if this value is greater than or equal to 0 + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + if (!IsValid || deltaTime < 0) + { + mInitialized = false; + return; + } + + if (!mInitialized) + Initialize(); + + if (TargetPositionCache.CacheMode == TargetPositionCache.Mode.Playback + && TargetPositionCache.HasCurrentTime) + mNoiseTime = TargetPositionCache.CurrentTime * m_FrequencyGain; + else + mNoiseTime += deltaTime * m_FrequencyGain; + curState.PositionCorrection += curState.CorrectedOrientation * NoiseSettings.GetCombinedFilterResults( + m_NoiseProfile.PositionNoise, mNoiseTime, mNoiseOffsets) * m_AmplitudeGain; + Quaternion rotNoise = Quaternion.Euler(NoiseSettings.GetCombinedFilterResults( + m_NoiseProfile.OrientationNoise, mNoiseTime, mNoiseOffsets) * m_AmplitudeGain); + if (m_PivotOffset != Vector3.zero) + { + Matrix4x4 m = Matrix4x4.Translate(-m_PivotOffset); + m = Matrix4x4.Rotate(rotNoise) * m; + m = Matrix4x4.Translate(m_PivotOffset) * m; + curState.PositionCorrection += curState.CorrectedOrientation * m.MultiplyPoint(Vector3.zero); + } + curState.OrientationCorrection = curState.OrientationCorrection * rotNoise; + } + + private bool mInitialized = false; + private float mNoiseTime = 0; + + [SerializeField][HideInInspector] + private Vector3 mNoiseOffsets = Vector3.zero; + + /// Generate a new random seed + public void ReSeed() + { + mNoiseOffsets = new Vector3( + Random.Range(-1000f, 1000f), + Random.Range(-1000f, 1000f), + Random.Range(-1000f, 1000f)); + } + + void Initialize() + { + mInitialized = true; + mNoiseTime = CinemachineCore.CurrentTime * m_FrequencyGain; + if (mNoiseOffsets == Vector3.zero) + ReSeed(); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineBasicMultiChannelPerlin.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineBasicMultiChannelPerlin.cs.meta new file mode 100644 index 00000000..d5386a57 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineBasicMultiChannelPerlin.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68bb026fafb42b14791938953eaace77 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineComposer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineComposer.cs new file mode 100644 index 00000000..bcfcee9d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineComposer.cs @@ -0,0 +1,513 @@ +using UnityEngine; +using System; +using Cinemachine.Utility; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// This is a CinemachineComponent in the Aim section of the component pipeline. + /// Its job is to aim the camera at the vcam's LookAt target object, with + /// configurable offsets, damping, and composition rules. + /// + /// The composer does not change the camera's position. It will only pan and tilt the + /// camera where it is, in order to get the desired framing. To move the camera, you have + /// to use the virtual camera's Body section. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineComposer : CinemachineComponentBase + { + /// Target offset from the object's center in LOCAL space which + /// the Composer tracks. Use this to fine-tune the tracking target position + /// when the desired area is not in the tracked object's center + [Tooltip("Target offset from the target object's center in target-local space. Use this to " + + "fine-tune the tracking target position when the desired area is not the tracked object's center.")] + public Vector3 m_TrackedObjectOffset = Vector3.zero; + + /// This setting will instruct the composer to adjust its target offset based + /// on the motion of the target. The composer will look at a point where it estimates + /// the target will be this many seconds into the future. Note that this setting is sensitive + /// to noisy animation, and can amplify the noise, resulting in undesirable camera jitter. + /// If the camera jitters unacceptably when the target is in motion, turn down this setting, + /// or animate the target more smoothly. + [Space] + [Tooltip("This setting will instruct the composer to adjust its target offset based on the motion " + + "of the target. The composer will look at a point where it estimates the target will be this " + + "many seconds into the future. Note that this setting is sensitive to noisy animation, and " + + "can amplify the noise, resulting in undesirable camera jitter. If the camera jitters " + + "unacceptably when the target is in motion, turn down this setting, or animate the target more smoothly.")] + [Range(0f, 1f)] + public float m_LookaheadTime = 0; + + /// Controls the smoothness of the lookahead algorithm. Larger values smooth out + /// jittery predictions and also increase prediction lag + [Tooltip("Controls the smoothness of the lookahead algorithm. Larger values smooth " + + "out jittery predictions and also increase prediction lag")] + [Range(0, 30)] + public float m_LookaheadSmoothing = 0; + + /// If checked, movement along the Y axis will be ignored for lookahead calculations + [Tooltip("If checked, movement along the Y axis will be ignored for lookahead calculations")] + public bool m_LookaheadIgnoreY; + + /// How aggressively the camera tries to follow the target in the screen-horizontal direction. + /// Small numbers are more responsive, rapidly orienting the camera to keep the target in + /// the dead zone. Larger numbers give a more heavy slowly responding camera. + /// Using different vertical and horizontal settings can yield a wide range of camera behaviors. + [Space] + [Range(0f, 20)] + [Tooltip("How aggressively the camera tries to follow the target in the screen-horizontal direction. " + + "Small numbers are more responsive, rapidly orienting the camera to keep the target in " + + "the dead zone. Larger numbers give a more heavy slowly responding camera. Using different " + + "vertical and horizontal settings can yield a wide range of camera behaviors.")] + public float m_HorizontalDamping = 0.5f; + + /// How aggressively the camera tries to follow the target in the screen-vertical direction. + /// Small numbers are more responsive, rapidly orienting the camera to keep the target in + /// the dead zone. Larger numbers give a more heavy slowly responding camera. Using different vertical + /// and horizontal settings can yield a wide range of camera behaviors. + [Range(0f, 20)] + [Tooltip("How aggressively the camera tries to follow the target in the screen-vertical direction. " + + "Small numbers are more responsive, rapidly orienting the camera to keep the target in " + + "the dead zone. Larger numbers give a more heavy slowly responding camera. Using different " + + "vertical and horizontal settings can yield a wide range of camera behaviors.")] + public float m_VerticalDamping = 0.5f; + + /// Horizontal screen position for target. The camera will rotate to the position the tracked object here + [Space] + [Range(-0.5f, 1.5f)] + [Tooltip("Horizontal screen position for target. The camera will rotate to position the tracked object here.")] + public float m_ScreenX = 0.5f; + + /// Vertical screen position for target, The camera will rotate to to position the tracked object here + [Range(-0.5f, 1.5f)] + [Tooltip("Vertical screen position for target, The camera will rotate to position the tracked object here.")] + public float m_ScreenY = 0.5f; + + /// Camera will not rotate horizontally if the target is within this range of the position + [Range(0f, 2f)] + [Tooltip("Camera will not rotate horizontally if the target is within this range of the position.")] + public float m_DeadZoneWidth = 0f; + + /// Camera will not rotate vertically if the target is within this range of the position + [Range(0f, 2f)] + [Tooltip("Camera will not rotate vertically if the target is within this range of the position.")] + public float m_DeadZoneHeight = 0f; + + /// When target is within this region, camera will gradually move to re-align + /// towards the desired position, depending onm the damping speed + [Range(0f, 2f)] + [Tooltip("When target is within this region, camera will gradually rotate horizontally to re-align " + + "towards the desired position, depending on the damping speed.")] + public float m_SoftZoneWidth = 0.8f; + + /// When target is within this region, camera will gradually move to re-align + /// towards the desired position, depending onm the damping speed + [Range(0f, 2f)] + [Tooltip("When target is within this region, camera will gradually rotate vertically to re-align " + + "towards the desired position, depending on the damping speed.")] + public float m_SoftZoneHeight = 0.8f; + + /// A non-zero bias will move the targt position away from the center of the soft zone + [Range(-0.5f, 0.5f)] + [Tooltip("A non-zero bias will move the target position horizontally away from the center of the soft zone.")] + public float m_BiasX = 0f; + + /// A non-zero bias will move the targt position away from the center of the soft zone + [Range(-0.5f, 0.5f)] + [Tooltip("A non-zero bias will move the target position vertically away from the center of the soft zone.")] + public float m_BiasY = 0f; + + /// Force target to center of screen when this camera activates. + /// If false, will clamp target to the edges of the dead zone + [Tooltip("Force target to center of screen when this camera activates. If false, will " + + "clamp target to the edges of the dead zone")] + public bool m_CenterOnActivate = true; + + /// True if component is enabled and has a LookAt defined + public override bool IsValid { get { return enabled && LookAtTarget != null; } } + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Aim stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Aim; } } + + /// Internal API for inspector + public Vector3 TrackedPoint { get; private set; } + + /// Apply the target offsets to the target location. + /// Also set the TrackedPoint property, taking lookahead into account. + /// The unoffset LookAt point + /// Currest effective world up + /// Current effective deltaTime + /// The LookAt point with the offset applied + protected virtual Vector3 GetLookAtPointAndSetTrackedPoint( + Vector3 lookAt, Vector3 up, float deltaTime) + { + Vector3 pos = lookAt; + if (LookAtTarget != null) + pos += LookAtTargetRotation * m_TrackedObjectOffset; + + if (m_LookaheadTime < Epsilon) + TrackedPoint = pos; + else + { + var resetLookahead = VirtualCamera.LookAtTargetChanged || !VirtualCamera.PreviousStateIsValid; + m_Predictor.Smoothing = m_LookaheadSmoothing; + m_Predictor.AddPosition(pos, resetLookahead ? -1 : deltaTime, m_LookaheadTime); + var delta = m_Predictor.PredictPositionDelta(m_LookaheadTime); + if (m_LookaheadIgnoreY) + delta = delta.ProjectOntoPlane(up); + TrackedPoint = pos + delta; + } + return pos; + } + + /// State information for damping + Vector3 m_CameraPosPrevFrame = Vector3.zero; + Vector3 m_LookAtPrevFrame = Vector3.zero; + Vector2 m_ScreenOffsetPrevFrame = Vector2.zero; + Quaternion m_CameraOrientationPrevFrame = Quaternion.identity; + internal PositionPredictor m_Predictor = new PositionPredictor(); + + /// This is called to notify the us that a target got warped, + /// so that we can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + base.OnTargetObjectWarped(target, positionDelta); + if (target == LookAtTarget) + { + m_CameraPosPrevFrame += positionDelta; + m_LookAtPrevFrame += positionDelta; + m_Predictor.ApplyTransformDelta(positionDelta); + } + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + base.ForceCameraPosition(pos, rot); + m_CameraPosPrevFrame = pos; + m_CameraOrientationPrevFrame = rot; + } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() + { + return Mathf.Max(m_HorizontalDamping, m_VerticalDamping); + } + + /// Sets the state's ReferenceLookAt, applying the offset. + /// Input state that must be mutated + /// Current effective deltaTime + public override void PrePipelineMutateCameraState(ref CameraState curState, float deltaTime) + { + if (IsValid && curState.HasLookAt) + curState.ReferenceLookAt = GetLookAtPointAndSetTrackedPoint( + curState.ReferenceLookAt, curState.ReferenceUp, deltaTime); + } + + /// Applies the composer rules and orients the camera accordingly + /// The current camera state + /// Used for calculating damping. If less than + /// zero, then target will snap to the center of the dead zone. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + if (!IsValid || !curState.HasLookAt) + return; + + // Correct the tracked point in the event that it's behind the camera + // while the real target is in front + if (!(TrackedPoint - curState.ReferenceLookAt).AlmostZero()) + { + Vector3 mid = Vector3.Lerp(curState.CorrectedPosition, curState.ReferenceLookAt, 0.5f); + Vector3 toLookAt = curState.ReferenceLookAt - mid; + Vector3 toTracked = TrackedPoint - mid; + if (Vector3.Dot(toLookAt, toTracked) < 0) + { + float t = Vector3.Distance(curState.ReferenceLookAt, mid) + / Vector3.Distance(curState.ReferenceLookAt, TrackedPoint); + TrackedPoint = Vector3.Lerp(curState.ReferenceLookAt, TrackedPoint, t); + } + } + + float targetDistance = (TrackedPoint - curState.CorrectedPosition).magnitude; + if (targetDistance < Epsilon) + { + if (deltaTime >= 0 && VirtualCamera.PreviousStateIsValid) + curState.RawOrientation = m_CameraOrientationPrevFrame; + return; // navel-gazing, get outa here + } + + // Expensive FOV calculations + mCache.UpdateCache(curState.Lens, SoftGuideRect, HardGuideRect, targetDistance); + + Quaternion rigOrientation = curState.RawOrientation; + if (deltaTime < 0 || !VirtualCamera.PreviousStateIsValid) + { + // No damping, just snap to central bounds, skipping the soft zone + rigOrientation = Quaternion.LookRotation( + rigOrientation * Vector3.forward, curState.ReferenceUp); + Rect rect = mCache.mFovSoftGuideRect; + if (m_CenterOnActivate) + rect = new Rect(rect.center, Vector2.zero); // Force to center + RotateToScreenBounds( + ref curState, rect, curState.ReferenceLookAt, + ref rigOrientation, mCache.mFov, mCache.mFovH, -1); + } + else + { + // Start with previous frame's orientation (but with current up) + Vector3 dir = m_LookAtPrevFrame - m_CameraPosPrevFrame; + if (dir.AlmostZero()) + rigOrientation = Quaternion.LookRotation( + m_CameraOrientationPrevFrame * Vector3.forward, curState.ReferenceUp); + else + { + dir = Quaternion.Euler(curState.PositionDampingBypass) * dir; + rigOrientation = Quaternion.LookRotation(dir, curState.ReferenceUp); + rigOrientation = rigOrientation.ApplyCameraRotation( + -m_ScreenOffsetPrevFrame, curState.ReferenceUp); + } + + // Move target through the soft zone, with damping + RotateToScreenBounds( + ref curState, mCache.mFovSoftGuideRect, TrackedPoint, + ref rigOrientation, mCache.mFov, mCache.mFovH, deltaTime); + + // Force the actual target (not the lookahead one) into the hard bounds, no damping + if (deltaTime < 0 || VirtualCamera.LookAtTargetAttachment > 1 - Epsilon) + RotateToScreenBounds( + ref curState, mCache.mFovHardGuideRect, curState.ReferenceLookAt, + ref rigOrientation, mCache.mFov, mCache.mFovH, -1); + } + + m_CameraPosPrevFrame = curState.CorrectedPosition; + m_LookAtPrevFrame = TrackedPoint; + m_CameraOrientationPrevFrame = UnityQuaternionExtensions.Normalized(rigOrientation); + m_ScreenOffsetPrevFrame = m_CameraOrientationPrevFrame.GetCameraRotationToTarget( + m_LookAtPrevFrame - curState.CorrectedPosition, curState.ReferenceUp); + + curState.RawOrientation = m_CameraOrientationPrevFrame; + } + + /// Internal API for the inspector editor + internal Rect SoftGuideRect + { + get + { + return new Rect( + m_ScreenX - m_DeadZoneWidth / 2, m_ScreenY - m_DeadZoneHeight / 2, + m_DeadZoneWidth, m_DeadZoneHeight); + } + set + { + m_DeadZoneWidth = Mathf.Clamp(value.width, 0, 2); + m_DeadZoneHeight = Mathf.Clamp(value.height, 0, 2); + m_ScreenX = Mathf.Clamp(value.x + m_DeadZoneWidth / 2, -0.5f, 1.5f); + m_ScreenY = Mathf.Clamp(value.y + m_DeadZoneHeight / 2, -0.5f, 1.5f); + m_SoftZoneWidth = Mathf.Max(m_SoftZoneWidth, m_DeadZoneWidth); + m_SoftZoneHeight = Mathf.Max(m_SoftZoneHeight, m_DeadZoneHeight); + } + } + + /// Internal API for the inspector editor + internal Rect HardGuideRect + { + get + { + Rect r = new Rect( + m_ScreenX - m_SoftZoneWidth / 2, m_ScreenY - m_SoftZoneHeight / 2, + m_SoftZoneWidth, m_SoftZoneHeight); + r.position += new Vector2( + m_BiasX * (m_SoftZoneWidth - m_DeadZoneWidth), + m_BiasY * (m_SoftZoneHeight - m_DeadZoneHeight)); + return r; + } + set + { + m_SoftZoneWidth = Mathf.Clamp(value.width, 0, 2f); + m_SoftZoneHeight = Mathf.Clamp(value.height, 0, 2f); + m_DeadZoneWidth = Mathf.Min(m_DeadZoneWidth, m_SoftZoneWidth); + m_DeadZoneHeight = Mathf.Min(m_DeadZoneHeight, m_SoftZoneHeight); + } + } + + // Cache for some expensive calculations + struct FovCache + { + public Rect mFovSoftGuideRect; + public Rect mFovHardGuideRect; + public float mFovH; + public float mFov; + + float mOrthoSizeOverDistance; + float mAspect; + Rect mSoftGuideRect; + Rect mHardGuideRect; + + public void UpdateCache( + LensSettings lens, Rect softGuide, Rect hardGuide, float targetDistance) + { + bool recalculate = mAspect != lens.Aspect + || softGuide != mSoftGuideRect || hardGuide != mHardGuideRect; + if (lens.Orthographic) + { + float orthoOverDistance = Mathf.Abs(lens.OrthographicSize / targetDistance); + if (mOrthoSizeOverDistance == 0 + || Mathf.Abs(orthoOverDistance - mOrthoSizeOverDistance) / mOrthoSizeOverDistance + > mOrthoSizeOverDistance * 0.01f) + recalculate = true; + if (recalculate) + { + // Calculate effective fov - fake it for ortho based on target distance + mFov = Mathf.Rad2Deg * 2 * Mathf.Atan(orthoOverDistance); + mFovH = Mathf.Rad2Deg * 2 * Mathf.Atan(lens.Aspect * orthoOverDistance); + mOrthoSizeOverDistance = orthoOverDistance; + } + } + else + { + var verticalFOV = lens.FieldOfView; + if (mFov != verticalFOV) + recalculate = true; + if (recalculate) + { + mFov = verticalFOV; + double radHFOV = 2 * Math.Atan(Math.Tan(mFov * Mathf.Deg2Rad / 2) * lens.Aspect); + mFovH = (float)(Mathf.Rad2Deg * radHFOV); + mOrthoSizeOverDistance = 0; + } + } + if (recalculate) + { + mFovSoftGuideRect = ScreenToFOV(softGuide, mFov, mFovH, lens.Aspect); + mSoftGuideRect = softGuide; + mFovHardGuideRect = ScreenToFOV(hardGuide, mFov, mFovH, lens.Aspect); + mHardGuideRect = hardGuide; + mAspect = lens.Aspect; + } + } + + // Convert from screen coords to normalized FOV angular coords + private Rect ScreenToFOV(Rect rScreen, float fov, float fovH, float aspect) + { + Rect r = new Rect(rScreen); + Matrix4x4 persp = Matrix4x4.Perspective(fov, aspect, 0.0001f, 2f).inverse; + + Vector3 p = persp.MultiplyPoint(new Vector3(0, (r.yMin * 2f) - 1f, 0.5f)); p.z = -p.z; + float angle = UnityVectorExtensions.SignedAngle(Vector3.forward, p, Vector3.left); + r.yMin = ((fov / 2) + angle) / fov; + + p = persp.MultiplyPoint(new Vector3(0, (r.yMax * 2f) - 1f, 0.5f)); p.z = -p.z; + angle = UnityVectorExtensions.SignedAngle(Vector3.forward, p, Vector3.left); + r.yMax = ((fov / 2) + angle) / fov; + + p = persp.MultiplyPoint(new Vector3((r.xMin * 2f) - 1f, 0, 0.5f)); p.z = -p.z; + angle = UnityVectorExtensions.SignedAngle(Vector3.forward, p, Vector3.up); + r.xMin = ((fovH / 2) + angle) / fovH; + + p = persp.MultiplyPoint(new Vector3((r.xMax * 2f) - 1f, 0, 0.5f)); p.z = -p.z; + angle = UnityVectorExtensions.SignedAngle(Vector3.forward, p, Vector3.up); + r.xMax = ((fovH / 2) + angle) / fovH; + return r; + } + } + FovCache mCache; + + + /// + /// Adjust the rigOrientation to put the camera within the screen bounds. + /// If deltaTime >= 0 then damping will be applied. + /// Assumes that currentOrientation fwd is such that input rigOrientation's + /// local up is NEVER NEVER NEVER pointing downwards, relative to + /// state.ReferenceUp. If this condition is violated + /// then you will see crazy spinning. That's the symptom. + /// + private void RotateToScreenBounds( + ref CameraState state, Rect screenRect, Vector3 trackedPoint, + ref Quaternion rigOrientation, float fov, float fovH, float deltaTime) + { + Vector3 targetDir = trackedPoint - state.CorrectedPosition; + Vector2 rotToRect = rigOrientation.GetCameraRotationToTarget(targetDir, state.ReferenceUp); + + // Bring it to the edge of screenRect, if outside. Leave it alone if inside. + ClampVerticalBounds(ref screenRect, targetDir, state.ReferenceUp, fov); + float min = (screenRect.yMin - 0.5f) * fov; + float max = (screenRect.yMax - 0.5f) * fov; + if (rotToRect.x < min) + rotToRect.x -= min; + else if (rotToRect.x > max) + rotToRect.x -= max; + else + rotToRect.x = 0; + + min = (screenRect.xMin - 0.5f) * fovH; + max = (screenRect.xMax - 0.5f) * fovH; + if (rotToRect.y < min) + rotToRect.y -= min; + else if (rotToRect.y > max) + rotToRect.y -= max; + else + rotToRect.y = 0; + + // Apply damping + if (deltaTime >= 0 && VirtualCamera.PreviousStateIsValid) + { + rotToRect.x = VirtualCamera.DetachedLookAtTargetDamp( + rotToRect.x, m_VerticalDamping, deltaTime); + rotToRect.y = VirtualCamera.DetachedLookAtTargetDamp( + rotToRect.y, m_HorizontalDamping, deltaTime); + } + + // Rotate + rigOrientation = rigOrientation.ApplyCameraRotation(rotToRect, state.ReferenceUp); + } + + /// + /// Prevent upside-down camera situation. This can happen if we have a high + /// camera pitch combined with composer settings that cause the camera to tilt + /// beyond the vertical in order to produce the desired framing. We prevent this by + /// clamping the composer's vertical settings so that this situation can't happen. + /// + private bool ClampVerticalBounds(ref Rect r, Vector3 dir, Vector3 up, float fov) + { + float angle = UnityVectorExtensions.Angle(dir, up); + float halfFov = (fov / 2f) + 1; // give it a little extra to accommodate precision errors + if (angle < halfFov) + { + // looking up + float maxY = 1f - (halfFov - angle) / fov; + if (r.yMax > maxY) + { + r.yMin = Mathf.Min(r.yMin, maxY); + r.yMax = Mathf.Min(r.yMax, maxY); + return true; + } + } + if (angle > (180 - halfFov)) + { + // looking down + float minY = (angle - (180 - halfFov)) / fov; + if (minY > r.yMin) + { + r.yMin = Mathf.Max(r.yMin, minY); + r.yMax = Mathf.Max(r.yMax, minY); + return true; + } + } + return false; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineComposer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineComposer.cs.meta new file mode 100644 index 00000000..21069b46 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineComposer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f4044717213e31446939f7bd49c896ea +timeCreated: 1488314898 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineFramingTransposer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineFramingTransposer.cs new file mode 100644 index 00000000..9933d1f8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineFramingTransposer.cs @@ -0,0 +1,683 @@ +using System; +using Cinemachine.Utility; +using UnityEngine; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// This is a Cinemachine Component in the Body section of the component pipeline. + /// Its job is to position the camera in a fixed screen-space relationship to + /// the vcam's Follow target object, with offsets and damping. + /// + /// The camera will be first moved along the camera Z axis until the Follow target + /// is at the desired distance from the camera's X-Y plane. The camera will then + /// be moved in its XY plane until the Follow target is at the desired point on + /// the camera's screen. + /// + /// The FramingTansposer will only change the camera's position in space. It will not + /// re-orient or otherwise aim the camera. + /// + /// For this component to work properly, the vcam's LookAt target must be null. + /// The Follow target will define what the camera is looking at. + /// + /// If the Follow target is a ICinemachineTargetGroup, then additional controls will + /// be available to dynamically adjust the camera's view in order to frame the entire group. + /// + /// Although this component was designed for orthographic cameras, it works equally + /// well with persective cameras and can be used in 3D environments. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineFramingTransposer : CinemachineComponentBase + { + /// + /// Offset from the Follow Target object (in target-local co-ordinates). The camera will attempt to + /// frame the point which is the target's position plus this offset. Use it to correct for + /// cases when the target's origin is not the point of interest for the camera. + /// + [Tooltip("Offset from the Follow Target object (in target-local co-ordinates). " + + "The camera will attempt to frame the point which is the target's position plus " + + "this offset. Use it to correct for cases when the target's origin is not the " + + "point of interest for the camera.")] + public Vector3 m_TrackedObjectOffset; + + /// This setting will instruct the composer to adjust its target offset based + /// on the motion of the target. The composer will look at a point where it estimates + /// the target will be this many seconds into the future. Note that this setting is sensitive + /// to noisy animation, and can amplify the noise, resulting in undesirable camera jitter. + /// If the camera jitters unacceptably when the target is in motion, turn down this setting, + /// or animate the target more smoothly. + [Tooltip("This setting will instruct the composer to adjust its target offset based on the " + + "motion of the target. The composer will look at a point where it estimates the target " + + "will be this many seconds into the future. Note that this setting is sensitive to noisy " + + "animation, and can amplify the noise, resulting in undesirable camera jitter. " + + "If the camera jitters unacceptably when the target is in motion, turn down this " + + "setting, or animate the target more smoothly.")] + [Range(0f, 1f)] + [Space] + public float m_LookaheadTime = 0; + + /// Controls the smoothness of the lookahead algorithm. Larger values smooth out + /// jittery predictions and also increase prediction lag + [Tooltip("Controls the smoothness of the lookahead algorithm. Larger values smooth out " + + "jittery predictions and also increase prediction lag")] + [Range(0, 30)] + public float m_LookaheadSmoothing = 0; + + /// If checked, movement along the Y axis will be ignored for lookahead calculations + [Tooltip("If checked, movement along the Y axis will be ignored for lookahead calculations")] + public bool m_LookaheadIgnoreY; + + /// How aggressively the camera tries to maintain the offset in the X-axis. + /// Small numbers are more responsive, rapidly translating the camera to keep the target's + /// x-axis offset. Larger numbers give a more heavy slowly responding camera. + /// Using different settings per axis can yield a wide range of camera behaviors + [Space] + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to maintain the offset in the X-axis. " + + "Small numbers are more responsive, rapidly translating the camera to keep the target's " + + "x-axis offset. Larger numbers give a more heavy slowly responding camera. " + + "Using different settings per axis can yield a wide range of camera behaviors.")] + public float m_XDamping = 1f; + + /// How aggressively the camera tries to maintain the offset in the Y-axis. + /// Small numbers are more responsive, rapidly translating the camera to keep the target's + /// y-axis offset. Larger numbers give a more heavy slowly responding camera. + /// Using different settings per axis can yield a wide range of camera behaviors + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to maintain the offset in the Y-axis. " + + "Small numbers are more responsive, rapidly translating the camera to keep the target's " + + "y-axis offset. Larger numbers give a more heavy slowly responding camera. " + + "Using different settings per axis can yield a wide range of camera behaviors.")] + public float m_YDamping = 1f; + + /// How aggressively the camera tries to maintain the offset in the Z-axis. + /// Small numbers are more responsive, rapidly translating the camera to keep the + /// target's z-axis offset. Larger numbers give a more heavy slowly responding camera. + /// Using different settings per axis can yield a wide range of camera behaviors + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to maintain the offset in the Z-axis. " + + "Small numbers are more responsive, rapidly translating the camera to keep the target's " + + "z-axis offset. Larger numbers give a more heavy slowly responding camera. " + + "Using different settings per axis can yield a wide range of camera behaviors.")] + public float m_ZDamping = 1f; + + /// If set, damping will apply only to target motion, and not when + /// the camera rotation changes. Turn this on to get an instant response when + /// the rotation changes + [Tooltip("If set, damping will apply only to target motion, but not to camera " + + "rotation changes. Turn this on to get an instant response when the rotation changes. ")] + public bool m_TargetMovementOnly = true; + + /// Horizontal screen position for target. The camera will move to position the tracked object here + [Space] + [Range(-0.5f, 1.5f)] + [Tooltip("Horizontal screen position for target. The camera will move to position the tracked object here.")] + public float m_ScreenX = 0.5f; + + /// Vertical screen position for target, The camera will move to to position the tracked object here + [Range(-0.5f, 1.5f)] + [Tooltip("Vertical screen position for target, The camera will move to position the tracked object here.")] + public float m_ScreenY = 0.5f; + + /// The distance along the camera axis that will be maintained from the Follow target + [Tooltip("The distance along the camera axis that will be maintained from the Follow target")] + public float m_CameraDistance = 10f; + + /// Camera will not move horizontally if the target is within this range of the position + [Space] + [Range(0f, 2f)] + [Tooltip("Camera will not move horizontally if the target is within this range of the position.")] + public float m_DeadZoneWidth = 0f; + + /// Camera will not move vertically if the target is within this range of the position + [Range(0f, 2f)] + [Tooltip("Camera will not move vertically if the target is within this range of the position.")] + public float m_DeadZoneHeight = 0f; + + /// The camera will not move along its z-axis if the Follow target is within + /// this distance of the specified camera distance + [Tooltip("The camera will not move along its z-axis if the Follow target is within " + + "this distance of the specified camera distance")] + [FormerlySerializedAs("m_DistanceDeadZoneSize")] + public float m_DeadZoneDepth = 0; + + /// If checked, then then soft zone will be unlimited in size + [Space] + [Tooltip("If checked, then then soft zone will be unlimited in size.")] + public bool m_UnlimitedSoftZone = false; + + /// When target is within this region, camera will gradually move to re-align + /// towards the desired position, depending onm the damping speed + [Range(0f, 2f)] + [Tooltip("When target is within this region, camera will gradually move horizontally to " + + "re-align towards the desired position, depending on the damping speed.")] + public float m_SoftZoneWidth = 0.8f; + + /// When target is within this region, camera will gradually move to re-align + /// towards the desired position, depending onm the damping speed + [Range(0f, 2f)] + [Tooltip("When target is within this region, camera will gradually move vertically to " + + "re-align towards the desired position, depending on the damping speed.")] + public float m_SoftZoneHeight = 0.8f; + + /// A non-zero bias will move the targt position away from the center of the soft zone + [Range(-0.5f, 0.5f)] + [Tooltip("A non-zero bias will move the target position horizontally away from the center of the soft zone.")] + public float m_BiasX = 0f; + + /// A non-zero bias will move the targt position away from the center of the soft zone + [Range(-0.5f, 0.5f)] + [Tooltip("A non-zero bias will move the target position vertically away from the center of the soft zone.")] + public float m_BiasY = 0f; + + /// Force target to center of screen when this camera activates. + /// If false, will clamp target to the edges of the dead zone + [Tooltip("Force target to center of screen when this camera activates. " + + "If false, will clamp target to the edges of the dead zone")] + public bool m_CenterOnActivate = true; + + /// What screen dimensions to consider when framing + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum FramingMode + { + /// Consider only the horizontal dimension. Vertical framing is ignored. + Horizontal, + /// Consider only the vertical dimension. Horizontal framing is ignored. + Vertical, + /// The larger of the horizontal and vertical dimensions will dominate, to get the best fit. + HorizontalAndVertical, + /// Don't do any framing adjustment + None + }; + + /// What screen dimensions to consider when framing + [Space] + [Tooltip("What screen dimensions to consider when framing. Can be Horizontal, Vertical, or both")] + [FormerlySerializedAs("m_FramingMode")] + public FramingMode m_GroupFramingMode = FramingMode.HorizontalAndVertical; + + /// How to adjust the camera to get the desired framing + public enum AdjustmentMode + { + /// Do not move the camera, only adjust the FOV. + ZoomOnly, + /// Just move the camera, don't change the FOV. + DollyOnly, + /// Move the camera as much as permitted by the ranges, then + /// adjust the FOV if necessary to make the shot. + DollyThenZoom + }; + + /// How to adjust the camera to get the desired framing + [Tooltip("How to adjust the camera to get the desired framing. You can zoom, dolly in/out, or do both.")] + public AdjustmentMode m_AdjustmentMode = AdjustmentMode.ZoomOnly; + + /// How much of the screen to fill with the bounding box of the targets. + [Tooltip("The bounding box of the targets should occupy this amount of the screen space. " + + "1 means fill the whole screen. 0.5 means fill half the screen, etc.")] + public float m_GroupFramingSize = 0.8f; + + /// How much closer to the target can the camera go? + [Tooltip("The maximum distance toward the target that this behaviour is allowed to move the camera.")] + public float m_MaxDollyIn = 5000f; + + /// How much farther from the target can the camera go? + [Tooltip("The maximum distance away the target that this behaviour is allowed to move the camera.")] + public float m_MaxDollyOut = 5000f; + + /// Set this to limit how close to the target the camera can get + [Tooltip("Set this to limit how close to the target the camera can get.")] + public float m_MinimumDistance = 1; + + /// Set this to limit how far from the taregt the camera can get + [Tooltip("Set this to limit how far from the target the camera can get.")] + public float m_MaximumDistance = 5000f; + + /// If adjusting FOV, will not set the FOV lower than this + [Range(1, 179)] + [Tooltip("If adjusting FOV, will not set the FOV lower than this.")] + public float m_MinimumFOV = 3; + + /// If adjusting FOV, will not set the FOV higher than this + [Range(1, 179)] + [Tooltip("If adjusting FOV, will not set the FOV higher than this.")] + public float m_MaximumFOV = 60; + + /// If adjusting Orthographic Size, will not set it lower than this + [Tooltip("If adjusting Orthographic Size, will not set it lower than this.")] + public float m_MinimumOrthoSize = 1; + + /// If adjusting Orthographic Size, will not set it higher than this + [Tooltip("If adjusting Orthographic Size, will not set it higher than this.")] + public float m_MaximumOrthoSize = 5000; + + /// Internal API for the inspector editor + internal Rect SoftGuideRect + { + get + { + return new Rect( + m_ScreenX - m_DeadZoneWidth / 2, m_ScreenY - m_DeadZoneHeight / 2, + m_DeadZoneWidth, m_DeadZoneHeight); + } + set + { + m_DeadZoneWidth = Mathf.Clamp(value.width, 0, 2); + m_DeadZoneHeight = Mathf.Clamp(value.height, 0, 2); + m_ScreenX = Mathf.Clamp(value.x + m_DeadZoneWidth / 2, -0.5f, 1.5f); + m_ScreenY = Mathf.Clamp(value.y + m_DeadZoneHeight / 2, -0.5f, 1.5f); + m_SoftZoneWidth = Mathf.Max(m_SoftZoneWidth, m_DeadZoneWidth); + m_SoftZoneHeight = Mathf.Max(m_SoftZoneHeight, m_DeadZoneHeight); + } + } + + /// Internal API for the inspector editor + internal Rect HardGuideRect + { + get + { + Rect r = new Rect( + m_ScreenX - m_SoftZoneWidth / 2, m_ScreenY - m_SoftZoneHeight / 2, + m_SoftZoneWidth, m_SoftZoneHeight); + r.position += new Vector2( + m_BiasX * (m_SoftZoneWidth - m_DeadZoneWidth), + m_BiasY * (m_SoftZoneHeight - m_DeadZoneHeight)); + return r; + } + set + { + m_SoftZoneWidth = Mathf.Clamp(value.width, 0, 2f); + m_SoftZoneHeight = Mathf.Clamp(value.height, 0, 2f); + m_DeadZoneWidth = Mathf.Min(m_DeadZoneWidth, m_SoftZoneWidth); + m_DeadZoneHeight = Mathf.Min(m_DeadZoneHeight, m_SoftZoneHeight); + } + } + + void OnValidate() + { + m_CameraDistance = Mathf.Max(m_CameraDistance, kMinimumCameraDistance); + m_DeadZoneDepth = Mathf.Max(m_DeadZoneDepth, 0); + + m_GroupFramingSize = Mathf.Max(0.001f, m_GroupFramingSize); + m_MaxDollyIn = Mathf.Max(0, m_MaxDollyIn); + m_MaxDollyOut = Mathf.Max(0, m_MaxDollyOut); + m_MinimumDistance = Mathf.Max(0, m_MinimumDistance); + m_MaximumDistance = Mathf.Max(m_MinimumDistance, m_MaximumDistance); + m_MinimumFOV = Mathf.Max(1, m_MinimumFOV); + m_MaximumFOV = Mathf.Clamp(m_MaximumFOV, m_MinimumFOV, 179); + m_MinimumOrthoSize = Mathf.Max(0.01f, m_MinimumOrthoSize); + m_MaximumOrthoSize = Mathf.Max(m_MinimumOrthoSize, m_MaximumOrthoSize); + } + + /// True if component is enabled and has a valid Follow target + public override bool IsValid { get { return enabled && FollowTarget != null; } } + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Body stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Body; } } + + /// FramingTransposer's algorithm tahes camera orientation as input, + /// so even though it is a Body component, it must apply after Aim + public override bool BodyAppliesAfterAim { get { return true; } } + + const float kMinimumCameraDistance = 0.01f; + const float kMinimumGroupSize = 0.01f; + + /// State information for damping + Vector3 m_PreviousCameraPosition = Vector3.zero; + internal PositionPredictor m_Predictor = new PositionPredictor(); + + /// Internal API for inspector + public Vector3 TrackedPoint { get; private set; } + + /// This is called to notify the us that a target got warped, + /// so that we can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + base.OnTargetObjectWarped(target, positionDelta); + if (target == FollowTarget) + { + m_PreviousCameraPosition += positionDelta; + m_Predictor.ApplyTransformDelta(positionDelta); + } + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + base.ForceCameraPosition(pos, rot); + m_PreviousCameraPosition = pos; + m_prevRotation = rot; + } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() + { + return Mathf.Max(m_XDamping, Mathf.Max(m_YDamping, m_ZDamping)); + } + + /// Notification that this virtual camera is going live. + /// Base class implementation does nothing. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + /// Transition settings for this vcam + /// True if the vcam should do an internal update as a result of this call + public override bool OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime, + ref CinemachineVirtualCameraBase.TransitionParams transitionParams) + { + if (fromCam != null && transitionParams.m_InheritPosition + && !CinemachineCore.Instance.IsLiveInBlend(VirtualCamera)) + { + m_PreviousCameraPosition = fromCam.State.RawPosition; + m_prevRotation = fromCam.State.RawOrientation; + m_InheritingPosition = true; + return true; + } + return false; + } + + bool m_InheritingPosition; + + // Convert from screen coords to normalized orthographic distance coords + private Rect ScreenToOrtho(Rect rScreen, float orthoSize, float aspect) + { + Rect r = new Rect(); + r.yMax = 2 * orthoSize * ((1f-rScreen.yMin) - 0.5f); + r.yMin = 2 * orthoSize * ((1f-rScreen.yMax) - 0.5f); + r.xMin = 2 * orthoSize * aspect * (rScreen.xMin - 0.5f); + r.xMax = 2 * orthoSize * aspect * (rScreen.xMax - 0.5f); + return r; + } + + private Vector3 OrthoOffsetToScreenBounds(Vector3 targetPos2D, Rect screenRect) + { + // Bring it to the edge of screenRect, if outside. Leave it alone if inside. + Vector3 delta = Vector3.zero; + if (targetPos2D.x < screenRect.xMin) + delta.x += targetPos2D.x - screenRect.xMin; + if (targetPos2D.x > screenRect.xMax) + delta.x += targetPos2D.x - screenRect.xMax; + if (targetPos2D.y < screenRect.yMin) + delta.y += targetPos2D.y - screenRect.yMin; + if (targetPos2D.y > screenRect.yMax) + delta.y += targetPos2D.y - screenRect.yMax; + return delta; + } + + float m_prevFOV; // State for frame damping + Quaternion m_prevRotation; + + /// For editor visulaization of the calculated bounding box of the group + public Bounds LastBounds { get; private set; } + + /// For editor visualization of the calculated bounding box of the group + public Matrix4x4 LastBoundsMatrix { get; private set; } + + /// Positions the virtual camera according to the transposer rules. + /// The current camera state + /// Used for damping. If less than 0, no damping is done. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + LensSettings lens = curState.Lens; + Vector3 followTargetPosition = FollowTargetPosition + (FollowTargetRotation * m_TrackedObjectOffset); + bool previousStateIsValid = deltaTime >= 0 && VirtualCamera.PreviousStateIsValid; + if (!previousStateIsValid || VirtualCamera.FollowTargetChanged) + m_Predictor.Reset(); + if (!previousStateIsValid) + { + m_PreviousCameraPosition = curState.RawPosition; + m_prevFOV = lens.Orthographic ? lens.OrthographicSize : lens.FieldOfView; + m_prevRotation = curState.RawOrientation; + if (!m_InheritingPosition && m_CenterOnActivate) + { + m_PreviousCameraPosition = FollowTargetPosition + + (curState.RawOrientation * Vector3.back) * m_CameraDistance; + } + } + if (!IsValid) + { + m_InheritingPosition = false; + return; + } + + var verticalFOV = lens.FieldOfView; + + // Compute group bounds and adjust follow target for group framing + ICinemachineTargetGroup group = AbstractFollowTargetGroup; + bool isGroupFraming = group != null && m_GroupFramingMode != FramingMode.None && !group.IsEmpty; + if (isGroupFraming) + followTargetPosition = ComputeGroupBounds(group, ref curState); + + TrackedPoint = followTargetPosition; + if (m_LookaheadTime > Epsilon) + { + m_Predictor.Smoothing = m_LookaheadSmoothing; + m_Predictor.AddPosition(followTargetPosition, deltaTime, m_LookaheadTime); + var delta = m_Predictor.PredictPositionDelta(m_LookaheadTime); + if (m_LookaheadIgnoreY) + delta = delta.ProjectOntoPlane(curState.ReferenceUp); + var p = followTargetPosition + delta; + if (isGroupFraming) + { + var b = LastBounds; + b.center += LastBoundsMatrix.MultiplyPoint3x4(delta); + LastBounds = b; + } + TrackedPoint = p; + } + + if (!curState.HasLookAt) + curState.ReferenceLookAt = followTargetPosition; + + // Adjust the desired depth for group framing + float targetDistance = m_CameraDistance; + bool isOrthographic = lens.Orthographic; + float targetHeight = isGroupFraming ? GetTargetHeight(LastBounds.size / m_GroupFramingSize) : 0; + targetHeight = Mathf.Max(targetHeight, kMinimumGroupSize); + if (!isOrthographic && isGroupFraming) + { + // Adjust height for perspective - we want the height at the near surface + float boundsDepth = LastBounds.extents.z; + float z = LastBounds.center.z; + if (z > boundsDepth) + targetHeight = Mathf.Lerp(0, targetHeight, (z - boundsDepth) / z); + + if (m_AdjustmentMode != AdjustmentMode.ZoomOnly) + { + // What distance from near edge would be needed to get the adjusted + // target height, at the current FOV + targetDistance = targetHeight / (2f * Mathf.Tan(verticalFOV * Mathf.Deg2Rad / 2f)); + + // Clamp to respect min/max distance settings to the near surface of the bounds + targetDistance = Mathf.Clamp(targetDistance, m_MinimumDistance, m_MaximumDistance); + + // Clamp to respect min/max camera movement + float targetDelta = targetDistance - m_CameraDistance; + targetDelta = Mathf.Clamp(targetDelta, -m_MaxDollyIn, m_MaxDollyOut); + targetDistance = m_CameraDistance + targetDelta; + } + } + + // Optionally allow undamped camera orientation change + Quaternion localToWorld = curState.RawOrientation; + if (previousStateIsValid && m_TargetMovementOnly) + { + var q = localToWorld * Quaternion.Inverse(m_prevRotation); + m_PreviousCameraPosition = TrackedPoint + q * (m_PreviousCameraPosition - TrackedPoint); + } + m_prevRotation = localToWorld; + + // Work in camera-local space + Vector3 camPosWorld = m_PreviousCameraPosition; + Quaternion worldToLocal = Quaternion.Inverse(localToWorld); + Vector3 cameraPos = worldToLocal * camPosWorld; + Vector3 targetPos = (worldToLocal * TrackedPoint) - cameraPos; + Vector3 lookAtPos = targetPos; + + // Move along camera z + Vector3 cameraOffset = Vector3.zero; + float cameraMin = Mathf.Max(kMinimumCameraDistance, targetDistance - m_DeadZoneDepth/2); + float cameraMax = Mathf.Max(cameraMin, targetDistance + m_DeadZoneDepth/2); + float targetZ = Mathf.Min(targetPos.z, lookAtPos.z); + if (targetZ < cameraMin) + cameraOffset.z = targetZ - cameraMin; + if (targetZ > cameraMax) + cameraOffset.z = targetZ - cameraMax; + + // Move along the XY plane + float screenSize = lens.Orthographic + ? lens.OrthographicSize + : Mathf.Tan(0.5f * verticalFOV * Mathf.Deg2Rad) * (targetZ - cameraOffset.z); + Rect softGuideOrtho = ScreenToOrtho(SoftGuideRect, screenSize, lens.Aspect); + if (!previousStateIsValid) + { + // No damping or hard bounds, just snap to central bounds, skipping the soft zone + Rect rect = softGuideOrtho; + if (m_CenterOnActivate && !m_InheritingPosition) + rect = new Rect(rect.center, Vector2.zero); // Force to center + cameraOffset += OrthoOffsetToScreenBounds(targetPos, rect); + } + else + { + // Move it through the soft zone, with damping + cameraOffset += OrthoOffsetToScreenBounds(targetPos, softGuideOrtho); + cameraOffset = VirtualCamera.DetachedFollowTargetDamp( + cameraOffset, new Vector3(m_XDamping, m_YDamping, m_ZDamping), deltaTime); + + // Make sure the real target (not the lookahead one) is still in the frame + if (!m_UnlimitedSoftZone + && (deltaTime < 0 || VirtualCamera.FollowTargetAttachment > 1 - Epsilon)) + { + Rect hardGuideOrtho = ScreenToOrtho(HardGuideRect, screenSize, lens.Aspect); + var realTargetPos = (worldToLocal * followTargetPosition) - cameraPos; + cameraOffset += OrthoOffsetToScreenBounds( + realTargetPos - cameraOffset, hardGuideOrtho); + } + } + curState.RawPosition = localToWorld * (cameraPos + cameraOffset); + m_PreviousCameraPosition = curState.RawPosition; + + // Adjust lens for group framing + if (isGroupFraming) + { + if (isOrthographic) + { + targetHeight = Mathf.Clamp(targetHeight / 2, m_MinimumOrthoSize, m_MaximumOrthoSize); + + // Apply Damping + if (previousStateIsValid) + targetHeight = m_prevFOV + VirtualCamera.DetachedFollowTargetDamp( + targetHeight - m_prevFOV, m_ZDamping, deltaTime); + m_prevFOV = targetHeight; + + lens.OrthographicSize = Mathf.Clamp(targetHeight, m_MinimumOrthoSize, m_MaximumOrthoSize); + curState.Lens = lens; + } + else if (m_AdjustmentMode != AdjustmentMode.DollyOnly) + { + var localTarget = Quaternion.Inverse(curState.RawOrientation) + * (followTargetPosition - curState.RawPosition); + float nearBoundsDistance = localTarget.z; + float targetFOV = 179; + if (nearBoundsDistance > Epsilon) + targetFOV = 2f * Mathf.Atan(targetHeight / (2 * nearBoundsDistance)) * Mathf.Rad2Deg; + targetFOV = Mathf.Clamp(targetFOV, m_MinimumFOV, m_MaximumFOV); + + // ApplyDamping + if (previousStateIsValid) + targetFOV = m_prevFOV + VirtualCamera.DetachedFollowTargetDamp( + targetFOV - m_prevFOV, m_ZDamping, deltaTime); + m_prevFOV = targetFOV; + + lens.FieldOfView = targetFOV; + curState.Lens = lens; + } + } + m_InheritingPosition = false; + } + + float GetTargetHeight(Vector2 boundsSize) + { + switch (m_GroupFramingMode) + { + case FramingMode.Horizontal: + return boundsSize.x / VcamState.Lens.Aspect; + case FramingMode.Vertical: + return boundsSize.y; + default: + case FramingMode.HorizontalAndVertical: + return Mathf.Max(boundsSize.x / VcamState.Lens.Aspect, boundsSize.y); + } + } + + Vector3 ComputeGroupBounds(ICinemachineTargetGroup group, ref CameraState curState) + { + Vector3 cameraPos = curState.RawPosition; + Vector3 fwd = curState.RawOrientation * Vector3.forward; + + // Get the bounding box from camera's direction in view space + LastBoundsMatrix = Matrix4x4.TRS(cameraPos, curState.RawOrientation, Vector3.one); + Bounds b = group.GetViewSpaceBoundingBox(LastBoundsMatrix); + Vector3 groupCenter = LastBoundsMatrix.MultiplyPoint3x4(b.center); + float boundsDepth = b.extents.z; + if (!curState.Lens.Orthographic) + { + // Parallax might change bounds - refine + float d = (Quaternion.Inverse(curState.RawOrientation) * (groupCenter - cameraPos)).z; + cameraPos = groupCenter - fwd * (Mathf.Max(d, boundsDepth) + boundsDepth); + + // Will adjust cameraPos + b = GetScreenSpaceGroupBoundingBox(group, ref cameraPos, curState.RawOrientation); + LastBoundsMatrix = Matrix4x4.TRS(cameraPos, curState.RawOrientation, Vector3.one); + groupCenter = LastBoundsMatrix.MultiplyPoint3x4(b.center); + } + LastBounds = b; + return groupCenter - fwd * boundsDepth; + } + + static Bounds GetScreenSpaceGroupBoundingBox( + ICinemachineTargetGroup group, ref Vector3 pos, Quaternion orientation) + { + var observer = Matrix4x4.TRS(pos, orientation, Vector3.one); + group.GetViewSpaceAngularBounds(observer, out var minAngles, out var maxAngles, out var zRange); + var shift = (minAngles + maxAngles) / 2; + + var q = Quaternion.identity.ApplyCameraRotation(new Vector2(-shift.x, shift.y), Vector3.up); + pos = q * new Vector3(0, 0, (zRange.y + zRange.x)/2); + pos.z = 0; + pos = observer.MultiplyPoint3x4(pos); + observer = Matrix4x4.TRS(pos, orientation, Vector3.one); + group.GetViewSpaceAngularBounds(observer, out minAngles, out maxAngles, out zRange); + + // For width and height (in camera space) of the bounding box, we use the values at the center of the box. + // This is an arbitrary choice. The gizmo drawer will take this into account when displaying + // the frustum bounds of the group + var d = zRange.y + zRange.x; + Vector2 angles = new Vector2(89.5f, 89.5f); + if (zRange.x > 0) + { + angles = Vector2.Max(maxAngles, UnityVectorExtensions.Abs(minAngles)); + angles = Vector2.Min(angles, new Vector2(89.5f, 89.5f)); + } + angles *= Mathf.Deg2Rad; + return new Bounds( + new Vector3(0, 0, d/2), + new Vector3(Mathf.Tan(angles.y) * d, Mathf.Tan(angles.x) * d, zRange.y - zRange.x)); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineFramingTransposer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineFramingTransposer.cs.meta new file mode 100644 index 00000000..b5190172 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineFramingTransposer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6ad980451443d70438faac0bc6c235a0 +timeCreated: 1502038595 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineGroupComposer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineGroupComposer.cs new file mode 100644 index 00000000..3d13292d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineGroupComposer.cs @@ -0,0 +1,304 @@ +using UnityEngine; +using Cinemachine.Utility; + +namespace Cinemachine +{ + /// + /// This is a CinemachineComponent in the Aim section of the component pipeline. + /// Its job is to aim the camera at a target object, with configurable offsets, damping, + /// and composition rules. + /// + /// In addition, if the target is a ICinemachineTargetGroup, the behaviour + /// will adjust the FOV and the camera distance to ensure that the entire group of targets + /// is framed properly. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineGroupComposer : CinemachineComposer + { + /// How much of the screen to fill with the bounding box of the targets. + [Space] + [Tooltip("The bounding box of the targets should occupy this amount of the screen space. 1 means fill the whole screen. 0.5 means fill half the screen, etc.")] + public float m_GroupFramingSize = 0.8f; + + /// What screen dimensions to consider when framing + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum FramingMode + { + /// Consider only the horizontal dimension. Vertical framing is ignored. + Horizontal, + /// Consider only the vertical dimension. Horizontal framing is ignored. + Vertical, + /// The larger of the horizontal and vertical dimensions will dominate, to get the best fit. + HorizontalAndVertical + }; + + /// What screen dimensions to consider when framing + [Tooltip("What screen dimensions to consider when framing. Can be Horizontal, Vertical, or both")] + public FramingMode m_FramingMode = FramingMode.HorizontalAndVertical; + + /// How aggressively the camera tries to frame the group. + /// Small numbers are more responsive + [Range(0, 20)] + [Tooltip("How aggressively the camera tries to frame the group. Small numbers are more responsive, rapidly adjusting the camera to keep the group in the frame. Larger numbers give a more heavy slowly responding camera.")] + public float m_FrameDamping = 2f; + + /// How to adjust the camera to get the desired framing + public enum AdjustmentMode + { + /// Do not move the camera, only adjust the FOV. + ZoomOnly, + /// Just move the camera, don't change the FOV. + DollyOnly, + /// Move the camera as much as permitted by the ranges, then + /// adjust the FOV if necessary to make the shot. + DollyThenZoom + }; + + /// How to adjust the camera to get the desired framing + [Tooltip("How to adjust the camera to get the desired framing. You can zoom, dolly in/out, or do both.")] + public AdjustmentMode m_AdjustmentMode = AdjustmentMode.ZoomOnly; + + /// How much closer to the target can the camera go? + [Tooltip("The maximum distance toward the target that this behaviour is allowed to move the camera.")] + public float m_MaxDollyIn = 5000f; + + /// How much farther from the target can the camera go? + [Tooltip("The maximum distance away the target that this behaviour is allowed to move the camera.")] + public float m_MaxDollyOut = 5000f; + + /// Set this to limit how close to the target the camera can get + [Tooltip("Set this to limit how close to the target the camera can get.")] + public float m_MinimumDistance = 1; + + /// Set this to limit how far from the taregt the camera can get + [Tooltip("Set this to limit how far from the target the camera can get.")] + public float m_MaximumDistance = 5000f; + + /// If adjusting FOV, will not set the FOV lower than this + [Range(1, 179)] + [Tooltip("If adjusting FOV, will not set the FOV lower than this.")] + public float m_MinimumFOV = 3; + + /// If adjusting FOV, will not set the FOV higher than this + [Range(1, 179)] + [Tooltip("If adjusting FOV, will not set the FOV higher than this.")] + public float m_MaximumFOV = 60; + + /// If adjusting Orthographic Size, will not set it lower than this + [Tooltip("If adjusting Orthographic Size, will not set it lower than this.")] + public float m_MinimumOrthoSize = 1; + + /// If adjusting Orthographic Size, will not set it higher than this + [Tooltip("If adjusting Orthographic Size, will not set it higher than this.")] + public float m_MaximumOrthoSize = 5000; + + private void OnValidate() + { + m_GroupFramingSize = Mathf.Max(0.001f, m_GroupFramingSize); + m_MaxDollyIn = Mathf.Max(0, m_MaxDollyIn); + m_MaxDollyOut = Mathf.Max(0, m_MaxDollyOut); + m_MinimumDistance = Mathf.Max(0, m_MinimumDistance); + m_MaximumDistance = Mathf.Max(m_MinimumDistance, m_MaximumDistance); + m_MinimumFOV = Mathf.Max(1, m_MinimumFOV); + m_MaximumFOV = Mathf.Clamp(m_MaximumFOV, m_MinimumFOV, 179); + m_MinimumOrthoSize = Mathf.Max(0.01f, m_MinimumOrthoSize); + m_MaximumOrthoSize = Mathf.Max(m_MinimumOrthoSize, m_MaximumOrthoSize); + } + + // State for damping + float m_prevFramingDistance; + float m_prevFOV; + + /// For editor visulaization of the calculated bounding box of the group + public Bounds LastBounds { get; private set; } + + /// For editor visualization of the calculated bounding box of the group + public Matrix4x4 LastBoundsMatrix { get; private set; } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() + { + return Mathf.Max(base.GetMaxDampTime(), m_FrameDamping); + } + + /// Applies the composer rules and orients the camera accordingly + /// The current camera state + /// Used for calculating damping. If less than + /// zero, then target will snap to the center of the dead zone. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + // Can't do anything without a group to look at + ICinemachineTargetGroup group = AbstractLookAtTargetGroup; + if (group == null) + { + base.MutateCameraState(ref curState, deltaTime); + return; + } + + if (!IsValid || !curState.HasLookAt) + { + m_prevFramingDistance = 0; + m_prevFOV = 0; + return; + } + + bool isOrthographic = curState.Lens.Orthographic; + bool canMoveCamera = !isOrthographic && m_AdjustmentMode != AdjustmentMode.ZoomOnly; + + // Get the bounding box from camera's POV in view space + Vector3 up = curState.ReferenceUp; + var cameraPos = curState.RawPosition; + BoundingSphere s = group.Sphere; + Vector3 groupCenter = s.position; + Vector3 fwd = groupCenter - cameraPos; + float d = fwd.magnitude; + if (d < Epsilon) + return; // navel-gazing, get outa here + + // Approximate looking at the group center + fwd /= d; + LastBoundsMatrix = Matrix4x4.TRS( + cameraPos, Quaternion.LookRotation(fwd, up), Vector3.one); + + // Correction for the actual center + Bounds b; + if (isOrthographic) + { + b = group.GetViewSpaceBoundingBox(LastBoundsMatrix); + groupCenter = LastBoundsMatrix.MultiplyPoint3x4(b.center); + fwd = (groupCenter - cameraPos).normalized; + LastBoundsMatrix = Matrix4x4.TRS(cameraPos, Quaternion.LookRotation(fwd, up), Vector3.one); + b = group.GetViewSpaceBoundingBox(LastBoundsMatrix); + LastBounds = b; + } + else + { + b = GetScreenSpaceGroupBoundingBox(group, LastBoundsMatrix, out fwd); + LastBoundsMatrix = Matrix4x4.TRS(cameraPos, Quaternion.LookRotation(fwd, up), Vector3.one); + LastBounds = b; + groupCenter = cameraPos + fwd * b.center.z; + } + + // Adjust bounds for framing size, and get target height + float boundsDepth = b.extents.z; + float targetHeight = GetTargetHeight(b.size / m_GroupFramingSize); + + if (isOrthographic) + { + targetHeight = Mathf.Clamp(targetHeight / 2, m_MinimumOrthoSize, m_MaximumOrthoSize); + + // ApplyDamping + if (deltaTime >= 0 && VirtualCamera.PreviousStateIsValid) + targetHeight = m_prevFOV + VirtualCamera.DetachedLookAtTargetDamp( + targetHeight - m_prevFOV, m_FrameDamping, deltaTime); + m_prevFOV = targetHeight; + + LensSettings lens = curState.Lens; + lens.OrthographicSize = Mathf.Clamp(targetHeight, m_MinimumOrthoSize, m_MaximumOrthoSize); + curState.Lens = lens; + } + else + { + // Adjust height for perspective - we want the height at the near surface + float z = b.center.z; + if (z > boundsDepth) + targetHeight = Mathf.Lerp(0, targetHeight, (z - boundsDepth) / z); + + // Move the camera + if (canMoveCamera) + { + // What distance from near edge would be needed to get the adjusted + // target height, at the current FOV + float targetDistance = boundsDepth + + targetHeight / (2f * Mathf.Tan(curState.Lens.FieldOfView * Mathf.Deg2Rad / 2f)); + + // Clamp to respect min/max distance settings to the near surface of the bounds + targetDistance = Mathf.Clamp( + targetDistance, boundsDepth + m_MinimumDistance, boundsDepth + m_MaximumDistance); + + // Clamp to respect min/max camera movement + float targetDelta = targetDistance - Vector3.Distance(curState.RawPosition, groupCenter); + targetDelta = Mathf.Clamp(targetDelta, -m_MaxDollyIn, m_MaxDollyOut); + + // ApplyDamping + if (deltaTime >= 0 && VirtualCamera.PreviousStateIsValid) + { + float delta = targetDelta - m_prevFramingDistance; + delta = VirtualCamera.DetachedLookAtTargetDamp(delta, m_FrameDamping, deltaTime); + targetDelta = m_prevFramingDistance + delta; + } + m_prevFramingDistance = targetDelta; + curState.PositionCorrection -= fwd * targetDelta; + cameraPos -= fwd * targetDelta; + } + + // Apply zoom + if (m_AdjustmentMode != AdjustmentMode.DollyOnly) + { + float nearBoundsDistance = (groupCenter - cameraPos).magnitude - boundsDepth; + float targetFOV = 179; + if (nearBoundsDistance > Epsilon) + targetFOV = 2f * Mathf.Atan(targetHeight / (2 * nearBoundsDistance)) * Mathf.Rad2Deg; + targetFOV = Mathf.Clamp(targetFOV, m_MinimumFOV, m_MaximumFOV); + + // ApplyDamping + if (deltaTime >= 0 && m_prevFOV != 0 && VirtualCamera.PreviousStateIsValid) + targetFOV = m_prevFOV + VirtualCamera.DetachedLookAtTargetDamp( + targetFOV - m_prevFOV, m_FrameDamping, deltaTime); + m_prevFOV = targetFOV; + + LensSettings lens = curState.Lens; + lens.FieldOfView = targetFOV; + curState.Lens = lens; + } + } + // Now compose normally + curState.ReferenceLookAt = GetLookAtPointAndSetTrackedPoint( + groupCenter, curState.ReferenceUp, deltaTime); + base.MutateCameraState(ref curState, deltaTime); + } + + float GetTargetHeight(Vector2 boundsSize) + { + switch (m_FramingMode) + { + case FramingMode.Horizontal: + return Mathf.Max(Epsilon, boundsSize.x ) / VcamState.Lens.Aspect; + case FramingMode.Vertical: + return Mathf.Max(Epsilon, boundsSize.y); + default: + case FramingMode.HorizontalAndVertical: + return Mathf.Max( + Mathf.Max(Epsilon, boundsSize.x) / VcamState.Lens.Aspect, + Mathf.Max(Epsilon, boundsSize.y)); + } + } + + /// Point of view + /// New forward direction to use when interpreting the return value + /// Bounding box in a slightly rotated version of observer, as specified by newFwd + static Bounds GetScreenSpaceGroupBoundingBox( + ICinemachineTargetGroup group, Matrix4x4 observer, out Vector3 newFwd) + { + group.GetViewSpaceAngularBounds(observer, out var minAngles, out var maxAngles, out var zRange); + var shift = (minAngles + maxAngles) / 2; + + newFwd = Quaternion.identity.ApplyCameraRotation(new Vector2(-shift.x, shift.y), Vector3.up) * Vector3.forward; + newFwd = observer.MultiplyVector(newFwd); + + // For width and height (in camera space) of the bounding box, we use the values at the center of the box. + // This is an arbitrary choice. The gizmo drawer will take this into account when displaying + // the frustum bounds of the group + var d = zRange.y + zRange.x; + var angles = Vector2.Min(maxAngles - shift, new Vector2(89.5f, 89.5f)) * Mathf.Deg2Rad; + return new Bounds( + new Vector3(0, 0, d/2), + new Vector3(Mathf.Tan(angles.y) * d, Mathf.Tan(angles.x) * d, zRange.y - zRange.x)); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineGroupComposer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineGroupComposer.cs.meta new file mode 100644 index 00000000..3a23c26c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineGroupComposer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0f7633c93f0364a418841eeb8b058634 +timeCreated: 1496696780 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLockToTarget.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLockToTarget.cs new file mode 100644 index 00000000..43fe99ad --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLockToTarget.cs @@ -0,0 +1,53 @@ +using Cinemachine.Utility; +using UnityEngine; + +namespace Cinemachine +{ + /// + /// This is a CinemachineComponent in the Aim section of the component pipeline. + /// Its job is to place the camera on the Follow Target. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineHardLockToTarget : CinemachineComponentBase + { + /// + /// How much time it takes for the position to catch up to the target's position + /// + [Tooltip("How much time it takes for the position to catch up to the target's position")] + public float m_Damping = 0; + Vector3 m_PreviousTargetPosition; + + /// True if component is enabled and has a LookAt defined + public override bool IsValid { get { return enabled && FollowTarget != null; } } + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Aim stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Body; } } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() { return m_Damping; } + + /// Applies the composer rules and orients the camera accordingly + /// The current camera state + /// Used for calculating damping. If less than + /// zero, then target will snap to the center of the dead zone. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + if (!IsValid) + return; + + Vector3 dampedPos = FollowTargetPosition; + if (deltaTime >= 0) + dampedPos = m_PreviousTargetPosition + VirtualCamera.DetachedFollowTargetDamp( + dampedPos - m_PreviousTargetPosition, m_Damping, deltaTime); + m_PreviousTargetPosition = dampedPos; + curState.RawPosition = dampedPos; + } + } +} + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLockToTarget.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLockToTarget.cs.meta new file mode 100644 index 00000000..05ed3939 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLockToTarget.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 36d1163fa822e8b418a0a603ec078d5c +timeCreated: 1506531396 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLookAt.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLookAt.cs new file mode 100644 index 00000000..8aef7042 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLookAt.cs @@ -0,0 +1,41 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// + /// This is a CinemachineComponent in the Aim section of the component pipeline. + /// Its job is to aim the camera hard at the LookAt target. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineHardLookAt : CinemachineComponentBase + { + /// True if component is enabled and has a LookAt defined + public override bool IsValid { get { return enabled && LookAtTarget != null; } } + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Aim stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Aim; } } + + /// Applies the composer rules and orients the camera accordingly + /// The current camera state + /// Used for calculating damping. If less than + /// zero, then target will snap to the center of the dead zone. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + if (IsValid && curState.HasLookAt) + { + Vector3 dir = (curState.ReferenceLookAt - curState.CorrectedPosition); + if (dir.magnitude > Epsilon) + { + if (Vector3.Cross(dir.normalized, curState.ReferenceUp).magnitude < Epsilon) + curState.RawOrientation = Quaternion.FromToRotation(Vector3.forward, dir); + else + curState.RawOrientation = Quaternion.LookRotation(dir, curState.ReferenceUp); + } + } + } + } +} + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLookAt.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLookAt.cs.meta new file mode 100644 index 00000000..fee022a1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineHardLookAt.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1e8b78ac948f05a46a6d8339a503172b +timeCreated: 1506531396 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineOrbitalTransposer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineOrbitalTransposer.cs new file mode 100644 index 00000000..d1aa1882 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineOrbitalTransposer.cs @@ -0,0 +1,482 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using System; +using UnityEngine; +using Cinemachine.Utility; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// This is a CinemachineComponent in the the Body section of the component pipeline. + /// Its job is to position the camera in a variable relationship to a the vcam's + /// Follow target object, with offsets and damping. + /// + /// This component is typically used to implement a camera that follows its target. + /// It can accept player input from an input device, which allows the player to + /// dynamically control the relationship between the camera and the target, + /// for example with a joystick. + /// + /// The OrbitalTransposer introduces the concept of __Heading__, which is the direction + /// in which the target is moving, and the OrbitalTransposer will attempt to position + /// the camera in relationship to the heading, which is by default directly behind the target. + /// You can control the default relationship by adjusting the Heading Bias setting. + /// + /// If you attach an input controller to the OrbitalTransposer, then the player can also + /// control the way the camera positions itself in relation to the target heading. This allows + /// the camera to move to any spot on an orbit around the target. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineOrbitalTransposer : CinemachineTransposer + { + /// + /// How the "forward" direction is defined. Orbital offset is in relation to the forward + /// direction. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public struct Heading + { + /// + /// Sets the algorithm for determining the target's heading for purposes + /// of re-centering the camera + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum HeadingDefinition + { + /// + /// Target heading calculated from the difference between its position on + /// the last update and current frame. + /// + PositionDelta, + /// + /// Target heading calculated from its Rigidbody's velocity. + /// If no Rigidbody exists, it will fall back + /// to HeadingDerivationMode.PositionDelta + /// + Velocity, + /// + /// Target heading calculated from the Target Transform's euler Y angle + /// + TargetForward, + /// + /// Default heading is a constant world space heading. + /// + WorldForward, + } + /// The method by which the 'default heading' is calculated if + /// recentering to target heading is enabled + [FormerlySerializedAs("m_HeadingDefinition")] + [Tooltip("How 'forward' is defined. The camera will be placed by default behind the target. " + + "PositionDelta will consider 'forward' to be the direction in which the target is moving.")] + public HeadingDefinition m_Definition; + + /// Size of the velocity sampling window for target heading filter. + /// Used only if deriving heading from target's movement + [Range(0, 10)] + [Tooltip("Size of the velocity sampling window for target heading filter. This filters out " + + "irregularities in the target's movement. Used only if deriving heading from target's " + + "movement (PositionDelta or Velocity)")] + public int m_VelocityFilterStrength; + + /// Additional Y rotation applied to the target heading. + /// When this value is 0, the camera will be placed behind the target + [Range(-180f, 180f)] + [FormerlySerializedAs("m_HeadingBias")] + [Tooltip("Where the camera is placed when the X-axis value is zero. This is a rotation in " + + "degrees around the Y axis. When this value is 0, the camera will be placed behind " + + "the target. Nonzero offsets will rotate the zero position around the target.")] + public float m_Bias; + + /// Constructor + /// The heading definition + /// The strength of the heading filter + /// The heading bias + public Heading(HeadingDefinition def, int filterStrength, float bias) + { + m_Definition = def; + m_VelocityFilterStrength = filterStrength; + m_Bias = bias; + } + }; + + /// The definition of Forward. Camera will follow behind. + [Space] + [OrbitalTransposerHeadingProperty] + [Tooltip("The definition of Forward. Camera will follow behind.")] + public Heading m_Heading = new Heading(Heading.HeadingDefinition.TargetForward, 4, 0); + + /// Parameters that control Automating Heading Recentering + [Tooltip("Automatic heading recentering. The settings here defines how the camera " + + "will reposition itself in the absence of player input.")] + public AxisState.Recentering m_RecenterToTargetHeading = new AxisState.Recentering(true, 1, 2); + + /// Axis representing the current heading. Value is in degrees + /// and represents a rotation about the up vector + [Tooltip("Heading Control. The settings here control the behaviour of the camera " + + "in response to the player's input.")] + [AxisStateProperty] + public AxisState m_XAxis = new AxisState(-180, 180, true, false, 300f, 0.1f, 0.1f, "Mouse X", true); + + /// Legacy support + [SerializeField] [HideInInspector] [FormerlySerializedAs("m_Radius")] private float m_LegacyRadius = float.MaxValue; + [SerializeField] [HideInInspector] [FormerlySerializedAs("m_HeightOffset")] private float m_LegacyHeightOffset = float.MaxValue; + [SerializeField] [HideInInspector] [FormerlySerializedAs("m_HeadingBias")] private float m_LegacyHeadingBias = float.MaxValue; + + /// Legacy support for old serialized versions + protected override void OnValidate() + { + // Upgrade after a legacy deserialize + if (m_LegacyRadius != float.MaxValue + && m_LegacyHeightOffset != float.MaxValue + && m_LegacyHeadingBias != float.MaxValue) + { + m_FollowOffset = new Vector3(0, m_LegacyHeightOffset, -m_LegacyRadius); + m_LegacyHeightOffset = m_LegacyRadius = float.MaxValue; + + m_Heading.m_Bias = m_LegacyHeadingBias; + m_XAxis.m_MaxSpeed /= 10; + m_XAxis.m_AccelTime /= 10; + m_XAxis.m_DecelTime /= 10; + m_LegacyHeadingBias = float.MaxValue; + int heading = (int)m_Heading.m_Definition; + if (m_RecenterToTargetHeading.LegacyUpgrade(ref heading, ref m_Heading.m_VelocityFilterStrength)) + m_Heading.m_Definition = (Heading.HeadingDefinition)heading; + } + m_XAxis.Validate(); + m_RecenterToTargetHeading.Validate(); + + base.OnValidate(); + } + + /// + /// Drive the x-axis setting programmatically. + /// Automatic heading updating will be disabled. + /// + [HideInInspector, NoSaveDuringPlay] + public bool m_HeadingIsSlave = false; + + /// + /// Delegate that allows the the m_XAxis object to be replaced with another one. + /// + internal delegate float UpdateHeadingDelegate( + CinemachineOrbitalTransposer orbital, float deltaTime, Vector3 up); + + /// + /// Delegate that allows the the XAxis object to be replaced with another one. + /// To use it, just call orbital.UpdateHeading() with a reference to a + /// private AxisState object, and that AxisState object will be updated and + /// used to calculate the heading. + /// + internal UpdateHeadingDelegate HeadingUpdater + = (CinemachineOrbitalTransposer orbital, float deltaTime, Vector3 up) => { + return orbital.UpdateHeading( + deltaTime, up, ref orbital.m_XAxis, + ref orbital.m_RecenterToTargetHeading, + CinemachineCore.Instance.IsLive(orbital.VirtualCamera)); + }; + + /// + /// Update the X axis and calculate the heading. This can be called by a delegate + /// with a custom axis. Note that this method is obsolete. + /// + /// Used for damping. If less than 0, no damping is done. + /// World Up, set by the CinemachineBrain + /// + /// Axis value + public float UpdateHeading(float deltaTime, Vector3 up, ref AxisState axis) + { + return UpdateHeading(deltaTime, up, ref axis, ref m_RecenterToTargetHeading, true); + } + + /// + /// Update the X axis and calculate the heading. This can be called by a delegate + /// with a custom axis. + /// + /// Used for damping. If less than 0, no damping is done. + /// World Up, set by the CinemachineBrain + /// + /// + /// true if the vcam is live + /// Axis value + public float UpdateHeading( + float deltaTime, Vector3 up, ref AxisState axis, + ref AxisState.Recentering recentering, bool isLive) + { + if (m_BindingMode == BindingMode.SimpleFollowWithWorldUp) + { + axis.m_MinValue = -180; + axis.m_MaxValue = 180; + } + + // Only read joystick when game is playing + if (deltaTime < 0 || !VirtualCamera.PreviousStateIsValid || !isLive) + { + axis.Reset(); + recentering.CancelRecentering(); + } + else if (axis.Update(deltaTime)) + recentering.CancelRecentering(); + + if (m_BindingMode == BindingMode.SimpleFollowWithWorldUp) + { + float finalHeading = axis.Value; + axis.Value = 0; + return finalHeading; + } + + float targetHeading = GetTargetHeading(axis.Value, GetReferenceOrientation(up)); + recentering.DoRecentering(ref axis, deltaTime, targetHeading); + return axis.Value; + } + + private void OnEnable() + { + // GML todo: do we really need this? + m_PreviousTarget = null; + m_LastTargetPosition = Vector3.zero; + + UpdateInputAxisProvider(); + } + + /// + /// API for the inspector. Internal use only + /// + public void UpdateInputAxisProvider() + { + m_XAxis.SetInputAxisProvider(0, null); + if (!m_HeadingIsSlave && VirtualCamera != null) + { + var provider = VirtualCamera.GetInputAxisProvider(); + if (provider != null) + m_XAxis.SetInputAxisProvider(0, provider); + } + } + + private Vector3 m_LastTargetPosition = Vector3.zero; + private HeadingTracker mHeadingTracker; +#if CINEMACHINE_PHYSICS + private Rigidbody m_TargetRigidBody = null; +#endif + private Transform m_PreviousTarget; + private Vector3 m_LastCameraPosition; + + /// This is called to notify the us that a target got warped, + /// so that we can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + base.OnTargetObjectWarped(target, positionDelta); + if (target == FollowTarget) + { + m_LastTargetPosition += positionDelta; + m_LastCameraPosition += positionDelta; + } + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + base.ForceCameraPosition(pos, rot); + m_LastCameraPosition = pos; + m_XAxis.Value = GetAxisClosestValue(pos, VirtualCamera.State.ReferenceUp); + } + + /// Notification that this virtual camera is going live. + /// Base class implementation does nothing. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + /// Transition settings for this vcam + /// True if the vcam should do an internal update as a result of this call + public override bool OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime, + ref CinemachineVirtualCameraBase.TransitionParams transitionParams) + { + m_RecenterToTargetHeading.DoRecentering(ref m_XAxis, -1, 0); + m_RecenterToTargetHeading.CancelRecentering(); + if (fromCam != null //&& fromCam.Follow == FollowTarget + && m_BindingMode != CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp + && transitionParams.m_InheritPosition + && !CinemachineCore.Instance.IsLiveInBlend(VirtualCamera)) + { + m_XAxis.Value = GetAxisClosestValue(fromCam.State.RawPosition, worldUp); + return true; + } + return false; + } + + /// + /// What axis value would we need to get as close as possible to the desired cameraPos? + /// + /// camera position we would like to approximate + /// world up + /// The best value to put into the X axis, to approximate the desired camera pos + public float GetAxisClosestValue(Vector3 cameraPos, Vector3 up) + { + Quaternion orient = GetReferenceOrientation(up); + Vector3 fwd = (orient * Vector3.forward).ProjectOntoPlane(up); + if (!fwd.AlmostZero() && FollowTarget != null) + { + // Get the base camera placement + float heading = 0; + if (m_BindingMode != BindingMode.SimpleFollowWithWorldUp) + heading += m_Heading.m_Bias; + orient = orient * Quaternion.AngleAxis(heading, up); + Vector3 targetPos = FollowTargetPosition; + Vector3 pos = targetPos + orient * EffectiveOffset; + + Vector3 a = (pos - targetPos).ProjectOntoPlane(up); + Vector3 b = (cameraPos - targetPos).ProjectOntoPlane(up); + return Vector3.SignedAngle(a, b, up); + } + return m_LastHeading; // Can't calculate, stay conservative + } + + float m_LastHeading; + + /// Positions the virtual camera according to the transposer rules. + /// The current camera state + /// Used for damping. If less than 0, no damping is done. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + InitPrevFrameStateInfo(ref curState, deltaTime); + + // Update the heading + if (FollowTarget != m_PreviousTarget) + { + m_PreviousTarget = FollowTarget; +#if CINEMACHINE_PHYSICS + m_TargetRigidBody = (m_PreviousTarget == null) ? null : m_PreviousTarget.GetComponent(); +#endif + m_LastTargetPosition = (m_PreviousTarget == null) ? Vector3.zero : m_PreviousTarget.position; + mHeadingTracker = null; + } + m_LastHeading = HeadingUpdater(this, deltaTime, curState.ReferenceUp); + float heading = m_LastHeading; + if (IsValid) + { + // Calculate the heading + if (m_BindingMode != BindingMode.SimpleFollowWithWorldUp) + heading += m_Heading.m_Bias; + Quaternion headingRot = Quaternion.AngleAxis(heading, Vector3.up); + + Vector3 rawOffset = EffectiveOffset; + Vector3 offset = headingRot * rawOffset; + + // Track the target, with damping + TrackTarget(deltaTime, curState.ReferenceUp, offset, out Vector3 pos, out Quaternion orient); + + // Place the camera + offset = orient * offset; + curState.ReferenceUp = orient * Vector3.up; + + // Respect minimum target distance on XZ plane + var targetPosition = FollowTargetPosition; + pos += GetOffsetForMinimumTargetDistance( + pos, offset, curState.RawOrientation * Vector3.forward, + curState.ReferenceUp, targetPosition); + curState.RawPosition = pos + offset; + + if (deltaTime >= 0 && VirtualCamera.PreviousStateIsValid) + { + var lookAt = targetPosition; + if (LookAtTarget != null) + lookAt = LookAtTargetPosition; + var dir0 = m_LastCameraPosition - lookAt; + var dir1 = curState.RawPosition - lookAt; + if (dir0.sqrMagnitude > 0.01f && dir1.sqrMagnitude > 0.01f) + curState.PositionDampingBypass = UnityVectorExtensions.SafeFromToRotation( + dir0, dir1, curState.ReferenceUp).eulerAngles; + } + m_LastTargetPosition = targetPosition; + m_LastCameraPosition = curState.RawPosition; + } + } + + /// Internal API for the Inspector Editor, so it can draw a marker at the target + /// Current effective world up + /// The position of the Follow target + public override Vector3 GetTargetCameraPosition(Vector3 worldUp) + { + if (!IsValid) + return Vector3.zero; + float heading = m_LastHeading; + if (m_BindingMode != BindingMode.SimpleFollowWithWorldUp) + heading += m_Heading.m_Bias; + Quaternion orient = Quaternion.AngleAxis(heading, Vector3.up); + orient = GetReferenceOrientation(worldUp) * orient; + var pos = orient * EffectiveOffset; + pos += m_LastTargetPosition; + return pos; + } + + /// OrbitalTransposer is controlled by input. + public override bool RequiresUserInput => true; + + // Make sure this is calld only once per frame + private float GetTargetHeading(float currentHeading, Quaternion targetOrientation) + { + if (m_BindingMode == BindingMode.SimpleFollowWithWorldUp) + return 0; + if (FollowTarget == null) + return currentHeading; + + var headingDef = m_Heading.m_Definition; +#if CINEMACHINE_PHYSICS + if (headingDef == Heading.HeadingDefinition.Velocity && m_TargetRigidBody == null) + headingDef = Heading.HeadingDefinition.PositionDelta; +#endif + + Vector3 velocity = Vector3.zero; + switch (headingDef) + { + case Heading.HeadingDefinition.Velocity: +#if CINEMACHINE_PHYSICS + velocity = m_TargetRigidBody.velocity; + break; +#endif + case Heading.HeadingDefinition.PositionDelta: + velocity = FollowTargetPosition - m_LastTargetPosition; + break; + case Heading.HeadingDefinition.TargetForward: + velocity = FollowTargetRotation * Vector3.forward; + break; + default: + case Heading.HeadingDefinition.WorldForward: + return 0; + } + + // Process the velocity and derive the heading from it. + Vector3 up = targetOrientation * Vector3.up; + velocity = velocity.ProjectOntoPlane(up); + if (headingDef != Heading.HeadingDefinition.TargetForward) + { + int filterSize = m_Heading.m_VelocityFilterStrength * 5; + if (mHeadingTracker == null || mHeadingTracker.FilterSize != filterSize) + mHeadingTracker = new HeadingTracker(filterSize); + mHeadingTracker.DecayHistory(); + if (!velocity.AlmostZero()) + mHeadingTracker.Add(velocity); + velocity = mHeadingTracker.GetReliableHeading(); + } + if (!velocity.AlmostZero()) + return UnityVectorExtensions.SignedAngle( + targetOrientation * Vector3.forward, velocity, up); + + // If no reliable heading, then stay where we are. + return currentHeading; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineOrbitalTransposer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineOrbitalTransposer.cs.meta new file mode 100644 index 00000000..81a1fba3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineOrbitalTransposer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9384ab8608cdc3d479fe89cd51eed48f +timeCreated: 1485281954 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachinePOV.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachinePOV.cs new file mode 100644 index 00000000..5ae1fadc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachinePOV.cs @@ -0,0 +1,244 @@ +using Cinemachine.Utility; +using UnityEngine; + +namespace Cinemachine +{ + /// + /// This is a CinemachineComponent in the Aim section of the component pipeline. + /// Its job is to aim the camera in response to the user's mouse or joystick input. + /// + /// The composer does not change the camera's position. It will only pan and tilt the + /// camera where it is, in order to get the desired framing. To move the camera, you have + /// to use the virtual camera's Body section. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachinePOV : CinemachineComponentBase + { + /// + /// Defines the recentering target: Recentering goes here + /// + public enum RecenterTargetMode + { + /// + /// Just go to 0 + /// + None, + + /// + /// Axis angles are relative to Follow target's forward + /// + FollowTargetForward, + + /// + /// Axis angles are relative to LookAt target's forward + /// + LookAtTargetForward + } + + /// + /// Defines the recentering target: recentering goes here + /// + public RecenterTargetMode m_RecenterTarget = RecenterTargetMode.None; + + /// The Vertical axis. Value is -90..90. Controls the vertical orientation + [Tooltip("The Vertical axis. Value is -90..90. Controls the vertical orientation")] + [AxisStateProperty] + public AxisState m_VerticalAxis = new AxisState(-70, 70, false, false, 300f, 0.1f, 0.1f, "Mouse Y", true); + + /// Controls how automatic recentering of the Vertical axis is accomplished + [Tooltip("Controls how automatic recentering of the Vertical axis is accomplished")] + public AxisState.Recentering m_VerticalRecentering = new AxisState.Recentering(false, 1, 2); + + /// The Horizontal axis. Value is -180..180. Controls the horizontal orientation + [Tooltip("The Horizontal axis. Value is -180..180. Controls the horizontal orientation")] + [AxisStateProperty] + public AxisState m_HorizontalAxis = new AxisState(-180, 180, true, false, 300f, 0.1f, 0.1f, "Mouse X", false); + + /// Controls how automatic recentering of the Horizontal axis is accomplished + [Tooltip("Controls how automatic recentering of the Horizontal axis is accomplished")] + public AxisState.Recentering m_HorizontalRecentering = new AxisState.Recentering(false, 1, 2); + + /// Obsolete - no longer used + [HideInInspector] + [Tooltip("Obsolete - no longer used")] + public bool m_ApplyBeforeBody; + + Quaternion m_PreviousCameraRotation; + + /// True if component is enabled and has a LookAt defined + public override bool IsValid { get { return enabled; } } + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Aim stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Aim; } } + + private void OnValidate() + { + m_VerticalAxis.Validate(); + m_VerticalRecentering.Validate(); + m_HorizontalAxis.Validate(); + m_HorizontalRecentering.Validate(); + } + + private void OnEnable() + { + UpdateInputAxisProvider(); + } + + /// + /// API for the inspector. Internal use only + /// + public void UpdateInputAxisProvider() + { + m_HorizontalAxis.SetInputAxisProvider(0, null); + m_VerticalAxis.SetInputAxisProvider(1, null); + if (VirtualCamera != null) + { + var provider = VirtualCamera.GetInputAxisProvider(); + if (provider != null) + { + m_HorizontalAxis.SetInputAxisProvider(0, provider); + m_VerticalAxis.SetInputAxisProvider(1, provider); + } + } + } + + /// Does nothing + /// + /// + public override void PrePipelineMutateCameraState(ref CameraState state, float deltaTime) {} + + /// Applies the axis values and orients the camera accordingly + /// The current camera state + /// Used for calculating damping. Not used. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + if (!IsValid) + return; + + // Only read joystick when game is playing + if (deltaTime >= 0 && (!VirtualCamera.PreviousStateIsValid || !CinemachineCore.Instance.IsLive(VirtualCamera))) + deltaTime = -1; + if (deltaTime >= 0) + { + if (m_HorizontalAxis.Update(deltaTime)) + m_HorizontalRecentering.CancelRecentering(); + if (m_VerticalAxis.Update(deltaTime)) + m_VerticalRecentering.CancelRecentering(); + } + var recenterTarget = GetRecenterTarget(); + m_HorizontalRecentering.DoRecentering(ref m_HorizontalAxis, deltaTime, recenterTarget.x); + m_VerticalRecentering.DoRecentering(ref m_VerticalAxis, deltaTime, recenterTarget.y); + + // If we have a transform parent, then apply POV in the local space of the parent + Quaternion rot = Quaternion.Euler(m_VerticalAxis.Value, m_HorizontalAxis.Value, 0); + Transform parent = VirtualCamera.transform.parent; + if (parent != null) + rot = parent.rotation * rot; + else + rot = Quaternion.FromToRotation(Vector3.up, curState.ReferenceUp) * rot; + curState.RawOrientation = rot; + + if (VirtualCamera.PreviousStateIsValid) + curState.PositionDampingBypass = UnityVectorExtensions.SafeFromToRotation( + m_PreviousCameraRotation * Vector3.forward, + rot * Vector3.forward, curState.ReferenceUp).eulerAngles; + m_PreviousCameraRotation = rot; + } + + /// + /// Get the horizonmtal and vertical angles that correspong to "at rest" position. + /// + /// X is horizontal angle (rot Y) and Y is vertical angle (rot X) + public Vector2 GetRecenterTarget() + { + Transform t = null; + switch (m_RecenterTarget) + { + case RecenterTargetMode.FollowTargetForward: t = VirtualCamera.Follow; break; + case RecenterTargetMode.LookAtTargetForward: t = VirtualCamera.LookAt; break; + default: break; + } + if (t != null) + { + var fwd = t.forward; + Transform parent = VirtualCamera.transform.parent; + if (parent != null) + fwd = parent.rotation * fwd; + var v = Quaternion.FromToRotation(Vector3.forward, fwd).eulerAngles; + return new Vector2(NormalizeAngle(v.y), NormalizeAngle(v.x)); + } + return Vector2.zero; + } + + // Normalize angle value to [-180, 180] degrees. + static float NormalizeAngle(float angle) + { + return ((angle + 180) % 360) - 180; + } + + /// + /// Force the virtual camera to assume a given position and orientation. + /// Procedural placement then takes over + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + SetAxesForRotation(rot); + } + + /// Notification that this virtual camera is going live. + /// Base class implementation does nothing. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + /// Transition settings for this vcam + /// True if the vcam should do an internal update as a result of this call + public override bool OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime, + ref CinemachineVirtualCameraBase.TransitionParams transitionParams) + { + m_HorizontalRecentering.DoRecentering(ref m_HorizontalAxis, -1, 0); + m_VerticalRecentering.DoRecentering(ref m_VerticalAxis, -1, 0); + m_HorizontalRecentering.CancelRecentering(); + m_VerticalRecentering.CancelRecentering(); + if (fromCam != null && transitionParams.m_InheritPosition + && !CinemachineCore.Instance.IsLiveInBlend(VirtualCamera)) + { + SetAxesForRotation(fromCam.State.RawOrientation); + return true; + } + return false; + } + + /// POV is controlled by input. + public override bool RequiresUserInput => true; + + void SetAxesForRotation(Quaternion targetRot) + { + Vector3 up = VcamState.ReferenceUp; + Vector3 fwd = Vector3.forward; + Transform parent = VirtualCamera.transform.parent; + if (parent != null) + fwd = parent.rotation * fwd; + + m_HorizontalAxis.Value = 0; + m_HorizontalAxis.Reset(); + Vector3 targetFwd = targetRot * Vector3.forward; + Vector3 a = fwd.ProjectOntoPlane(up); + Vector3 b = targetFwd.ProjectOntoPlane(up); + if (!a.AlmostZero() && !b.AlmostZero()) + m_HorizontalAxis.Value = Vector3.SignedAngle(a, b, up); + + m_VerticalAxis.Value = 0; + m_VerticalAxis.Reset(); + fwd = Quaternion.AngleAxis(m_HorizontalAxis.Value, up) * fwd; + Vector3 right = Vector3.Cross(up, fwd); + if (!right.AlmostZero()) + m_VerticalAxis.Value = Vector3.SignedAngle(fwd, targetFwd, right); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachinePOV.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachinePOV.cs.meta new file mode 100644 index 00000000..7e8db780 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachinePOV.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3c9beda531928fc40968802117a5d256 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineSameAsFollowTarget.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineSameAsFollowTarget.cs new file mode 100644 index 00000000..440b32c0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineSameAsFollowTarget.cs @@ -0,0 +1,58 @@ +using Cinemachine.Utility; +using UnityEngine; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// This is a CinemachineComponent in the Aim section of the component pipeline. + /// Its job is to match the orientation of the Follow target. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineSameAsFollowTarget : CinemachineComponentBase + { + /// + /// How much time it takes for the aim to catch up to the target's rotation + /// + [Tooltip("How much time it takes for the aim to catch up to the target's rotation")] + [FormerlySerializedAs("m_AngularDamping")] + public float m_Damping = 0; + + Quaternion m_PreviousReferenceOrientation = Quaternion.identity; + + /// True if component is enabled and has a Follow target defined + public override bool IsValid { get { return enabled && FollowTarget != null; } } + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Aim stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Aim; } } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() { return m_Damping; } + + /// Orients the camera to match the Follow target's orientation + /// The current camera state + /// Not used. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + if (!IsValid) + return; + + Quaternion dampedOrientation = FollowTargetRotation; + if (deltaTime >= 0) + { + float t = VirtualCamera.DetachedFollowTargetDamp(1, m_Damping, deltaTime); + dampedOrientation = Quaternion.Slerp( + m_PreviousReferenceOrientation, FollowTargetRotation, t); + } + m_PreviousReferenceOrientation = dampedOrientation; + curState.RawOrientation = dampedOrientation; + curState.ReferenceUp = dampedOrientation * Vector3.up; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineSameAsFollowTarget.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineSameAsFollowTarget.cs.meta new file mode 100644 index 00000000..c960831a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineSameAsFollowTarget.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a4c41ac9245b87c4192012080077d830 +timeCreated: 1511551300 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTrackedDolly.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTrackedDolly.cs new file mode 100644 index 00000000..ad7d890c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTrackedDolly.cs @@ -0,0 +1,335 @@ +using UnityEngine; +using System; +using Cinemachine.Utility; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// A Cinemachine Virtual Camera Body component that constrains camera motion + /// to a CinemachinePath. The camera can move along the path. + /// + /// This behaviour can operate in two modes: manual positioning, and Auto-Dolly positioning. + /// In Manual mode, the camera's position is specified by animating the Path Position field. + /// In Auto-Dolly mode, the Path Position field is animated automatically every frame by finding + /// the position on the path that's closest to the virtual camera's Follow target. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineTrackedDolly : CinemachineComponentBase + { + /// The path to which the camera will be constrained. This must be non-null. + [Tooltip("The path to which the camera will be constrained. This must be non-null.")] + public CinemachinePathBase m_Path; + + /// The position along the path at which the camera will be placed. + /// This can be animated directly, or set automatically by the Auto-Dolly feature + /// to get as close as possible to the Follow target. + [Tooltip("The position along the path at which the camera will be placed. " + + "This can be animated directly, or set automatically by the Auto-Dolly feature to " + + "get as close as possible to the Follow target. The value is interpreted " + + "according to the Position Units setting.")] + public float m_PathPosition; + + /// How to interpret the Path Position + [Tooltip("How to interpret Path Position. If set to Path Units, values are as follows: " + + "0 represents the first waypoint on the path, 1 is the second, and so on. Values " + + "in-between are points on the path in between the waypoints. If set to Distance, " + + "then Path Position represents distance along the path.")] + public CinemachinePathBase.PositionUnits m_PositionUnits = CinemachinePathBase.PositionUnits.PathUnits; + + /// Where to put the camera realtive to the path postion. X is perpendicular + /// to the path, Y is up, and Z is parallel to the path. + [Tooltip("Where to put the camera relative to the path position. X is perpendicular " + + "to the path, Y is up, and Z is parallel to the path. This allows the camera to " + + "be offset from the path itself (as if on a tripod, for example).")] + public Vector3 m_PathOffset = Vector3.zero; + + /// How aggressively the camera tries to maintain the offset perpendicular to the path. + /// Small numbers are more responsive, rapidly translating the camera to keep the target's + /// x-axis offset. Larger numbers give a more heavy slowly responding camera. + /// Using different settings per axis can yield a wide range of camera behaviors + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to maintain its position in a direction " + + "perpendicular to the path. Small numbers are more responsive, rapidly translating " + + "the camera to keep the target's x-axis offset. Larger numbers give a more heavy " + + "slowly responding camera. Using different settings per axis can yield a wide range " + + "of camera behaviors.")] + public float m_XDamping = 0f; + + /// How aggressively the camera tries to maintain the offset in the path-local up direction. + /// Small numbers are more responsive, rapidly translating the camera to keep the target's + /// y-axis offset. Larger numbers give a more heavy slowly responding camera. + /// Using different settings per axis can yield a wide range of camera behaviors + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to maintain its position in the path-local up direction. " + + "Small numbers are more responsive, rapidly translating the camera to keep the target's " + + "y-axis offset. Larger numbers give a more heavy slowly responding camera. Using different " + + "settings per axis can yield a wide range of camera behaviors.")] + public float m_YDamping = 0f; + + /// How aggressively the camera tries to maintain the offset parallel to the path. + /// Small numbers are more responsive, rapidly translating the camera to keep the + /// target's z-axis offset. Larger numbers give a more heavy slowly responding camera. + /// Using different settings per axis can yield a wide range of camera behaviors + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to maintain its position in a direction parallel to the path. " + + "Small numbers are more responsive, rapidly translating the camera to keep the target's z-axis offset. " + + "Larger numbers give a more heavy slowly responding camera. Using different settings per axis " + + "can yield a wide range of camera behaviors.")] + public float m_ZDamping = 1f; + + /// Different ways to set the camera's up vector + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum CameraUpMode + { + /// Leave the camera's up vector alone. It will be set according to the Brain's WorldUp. + Default, + /// Take the up vector from the path's up vector at the current point + Path, + /// Take the up vector from the path's up vector at the current point, but with the roll zeroed out + PathNoRoll, + /// Take the up vector from the Follow target's up vector + FollowTarget, + /// Take the up vector from the Follow target's up vector, but with the roll zeroed out + FollowTargetNoRoll, + }; + + /// How to set the virtual camera's Up vector. This will affect the screen composition. + [Tooltip("How to set the virtual camera's Up vector. This will affect the screen composition, because " + + "the camera Aim behaviours will always try to respect the Up direction.")] + public CameraUpMode m_CameraUp = CameraUpMode.Default; + + /// "How aggressively the camera tries to track the target rotation's X angle. + /// Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to track the target rotation's X angle. Small numbers are " + + "more responsive. Larger numbers give a more heavy slowly responding camera.")] + public float m_PitchDamping = 0; + + /// How aggressively the camera tries to track the target rotation's Y angle. + /// Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to track the target rotation's Y angle. Small numbers are " + + "more responsive. Larger numbers give a more heavy slowly responding camera.")] + public float m_YawDamping = 0; + + /// How aggressively the camera tries to track the target rotation's Z angle. + /// Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to track the target rotation's Z angle. Small numbers " + + "are more responsive. Larger numbers give a more heavy slowly responding camera.")] + public float m_RollDamping = 0f; + + /// Controls how automatic dollying occurs + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public struct AutoDolly + { + /// If checked, will enable automatic dolly, which chooses a path position + /// that is as close as possible to the Follow target. + [Tooltip("If checked, will enable automatic dolly, which chooses a path position that is as " + + "close as possible to the Follow target. Note: this can have significant performance impact")] + public bool m_Enabled; + + /// Offset, in current position units, from the closest point on the path to the follow target. + [Tooltip("Offset, in current position units, from the closest point on the path to the follow target")] + public float m_PositionOffset; + + /// Search up to this many waypoints on either side of the current position. Use 0 for Entire path + [Tooltip("Search up to this many waypoints on either side of the current position. Use 0 for Entire path.")] + public int m_SearchRadius; + + /// We search between waypoints by dividing the segment into this many straight pieces. + /// The higher the number, the more accurate the result, but performance is + /// proportionally slower for higher numbers + [FormerlySerializedAs("m_StepsPerSegment")] + [Tooltip("We search between waypoints by dividing the segment into this many straight pieces. " + + "he higher the number, the more accurate the result, but performance is proportionally " + + "slower for higher numbers")] + public int m_SearchResolution; + + /// Constructor with specific field values + /// Whether to enable automatic dolly + /// Offset, in current position units, from the closest point on the path to the follow target + /// Search up to this many waypoints on either side of the current position + /// We search between waypoints by dividing the segment into this many straight pieces + public AutoDolly(bool enabled, float positionOffset, int searchRadius, int stepsPerSegment) + { + m_Enabled = enabled; + m_PositionOffset = positionOffset; + m_SearchRadius = searchRadius; + m_SearchResolution = stepsPerSegment; + } + }; + + /// Controls how automatic dollying occurs + [Tooltip("Controls how automatic dollying occurs. A Follow target is necessary to use this feature.")] + public AutoDolly m_AutoDolly = new AutoDolly(false, 0, 2, 5); + + /// True if component is enabled and has a path + public override bool IsValid { get { return enabled && m_Path != null; } } + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Body stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Body; } } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() + { + var d2 = AngularDamping; + var a = Mathf.Max(m_XDamping, Mathf.Max(m_YDamping, m_ZDamping)); + var b = Mathf.Max(d2.x, Mathf.Max(d2.y, d2.z)); + return Mathf.Max(a, b); + } + + /// Positions the virtual camera according to the transposer rules. + /// The current camera state + /// Used for damping. If less that 0, no damping is done. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + // Init previous frame state info + if (deltaTime < 0 || !VirtualCamera.PreviousStateIsValid) + { + m_PreviousPathPosition = m_PathPosition; + m_PreviousCameraPosition = curState.RawPosition; + m_PreviousOrientation = curState.RawOrientation; + } + + if (!IsValid) + return; + + // Get the new ideal path base position + if (m_AutoDolly.m_Enabled && FollowTarget != null) + { + float prevPos = m_Path.ToNativePathUnits(m_PreviousPathPosition, m_PositionUnits); + // This works in path units + m_PathPosition = m_Path.FindClosestPoint( + FollowTargetPosition, + Mathf.FloorToInt(prevPos), + (deltaTime < 0 || m_AutoDolly.m_SearchRadius <= 0) + ? -1 : m_AutoDolly.m_SearchRadius, + m_AutoDolly.m_SearchResolution); + m_PathPosition = m_Path.FromPathNativeUnits(m_PathPosition, m_PositionUnits); + + // Apply the path position offset + m_PathPosition += m_AutoDolly.m_PositionOffset; + } + float newPathPosition = m_PathPosition; + + if (deltaTime >= 0 && VirtualCamera.PreviousStateIsValid) + { + // Normalize previous position to find the shortest path + float maxUnit = m_Path.MaxUnit(m_PositionUnits); + if (maxUnit > 0) + { + float prev = m_Path.StandardizeUnit(m_PreviousPathPosition, m_PositionUnits); + float next = m_Path.StandardizeUnit(newPathPosition, m_PositionUnits); + if (m_Path.Looped && Mathf.Abs(next - prev) > maxUnit / 2) + { + if (next > prev) + prev += maxUnit; + else + prev -= maxUnit; + } + m_PreviousPathPosition = prev; + newPathPosition = next; + } + + // Apply damping along the path direction + float offset = m_PreviousPathPosition - newPathPosition; + offset = Damper.Damp(offset, m_ZDamping, deltaTime); + newPathPosition = m_PreviousPathPosition - offset; + } + m_PreviousPathPosition = newPathPosition; + Quaternion newPathOrientation = m_Path.EvaluateOrientationAtUnit(newPathPosition, m_PositionUnits); + + // Apply the offset to get the new camera position + Vector3 newCameraPos = m_Path.EvaluatePositionAtUnit(newPathPosition, m_PositionUnits); + Vector3 offsetX = newPathOrientation * Vector3.right; + Vector3 offsetY = newPathOrientation * Vector3.up; + Vector3 offsetZ = newPathOrientation * Vector3.forward; + newCameraPos += m_PathOffset.x * offsetX; + newCameraPos += m_PathOffset.y * offsetY; + newCameraPos += m_PathOffset.z * offsetZ; + + // Apply damping to the remaining directions + if (deltaTime >= 0 && VirtualCamera.PreviousStateIsValid) + { + Vector3 currentCameraPos = m_PreviousCameraPosition; + Vector3 delta = (currentCameraPos - newCameraPos); + Vector3 delta1 = Vector3.Dot(delta, offsetY) * offsetY; + Vector3 delta0 = delta - delta1; + delta0 = Damper.Damp(delta0, m_XDamping, deltaTime); + delta1 = Damper.Damp(delta1, m_YDamping, deltaTime); + newCameraPos = currentCameraPos - (delta0 + delta1); + } + curState.RawPosition = m_PreviousCameraPosition = newCameraPos; + + // Set the orientation and up + Quaternion newOrientation + = GetCameraOrientationAtPathPoint(newPathOrientation, curState.ReferenceUp); + if (deltaTime >= 0 && VirtualCamera.PreviousStateIsValid) + { + Vector3 relative = (Quaternion.Inverse(m_PreviousOrientation) + * newOrientation).eulerAngles; + for (int i = 0; i < 3; ++i) + if (relative[i] > 180) + relative[i] -= 360; + relative = Damper.Damp(relative, AngularDamping, deltaTime); + newOrientation = m_PreviousOrientation * Quaternion.Euler(relative); + } + m_PreviousOrientation = newOrientation; + + curState.RawOrientation = newOrientation; + if (m_CameraUp != CameraUpMode.Default) + curState.ReferenceUp = curState.RawOrientation * Vector3.up; + } + + private Quaternion GetCameraOrientationAtPathPoint(Quaternion pathOrientation, Vector3 up) + { + switch (m_CameraUp) + { + default: + case CameraUpMode.Default: break; + case CameraUpMode.Path: return pathOrientation; + case CameraUpMode.PathNoRoll: + return Quaternion.LookRotation(pathOrientation * Vector3.forward, up); + case CameraUpMode.FollowTarget: + if (FollowTarget != null) + return FollowTargetRotation; + break; + case CameraUpMode.FollowTargetNoRoll: + if (FollowTarget != null) + return Quaternion.LookRotation(FollowTargetRotation * Vector3.forward, up); + break; + } + return Quaternion.LookRotation(VirtualCamera.transform.rotation * Vector3.forward, up); + } + + private Vector3 AngularDamping + { + get + { + switch (m_CameraUp) + { + case CameraUpMode.PathNoRoll: + case CameraUpMode.FollowTargetNoRoll: + return new Vector3(m_PitchDamping, m_YawDamping, 0); + case CameraUpMode.Default: + return Vector3.zero; + default: + return new Vector3(m_PitchDamping, m_YawDamping, m_RollDamping); + } + } + } + + private float m_PreviousPathPosition = 0; + Quaternion m_PreviousOrientation = Quaternion.identity; + private Vector3 m_PreviousCameraPosition = Vector3.zero; + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTrackedDolly.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTrackedDolly.cs.meta new file mode 100644 index 00000000..9b953eac --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTrackedDolly.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 418e42c7d0405cc48a7b83f63ea53bb3 +timeCreated: 1493213884 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTransposer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTransposer.cs new file mode 100644 index 00000000..0603c44d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTransposer.cs @@ -0,0 +1,465 @@ +using System; +using Cinemachine.Utility; +using UnityEngine; + +namespace Cinemachine +{ + /// + /// This is a CinemachineComponent in the Body section of the component pipeline. + /// Its job is to position the camera in a fixed relationship to the vcam's Follow + /// target object, with offsets and damping. + /// + /// The Tansposer will only change the camera's position in space. It will not + /// re-orient or otherwise aim the camera. To to that, you need to instruct + /// the vcam in the Aim section of its pipeline. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [AddComponentMenu("")] // Don't display in add component menu + [SaveDuringPlay] + public class CinemachineTransposer : CinemachineComponentBase + { + /// + /// The coordinate space to use when interpreting the offset from the target + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum BindingMode + { + /// + /// Camera will be bound to the Follow target using a frame of reference consisting + /// of the target's local frame at the moment when the virtual camera was enabled, + /// or when the target was assigned. + /// + LockToTargetOnAssign = 0, + /// + /// Camera will be bound to the Follow target using a frame of reference consisting + /// of the target's local frame, with the tilt and roll zeroed out. + /// + LockToTargetWithWorldUp = 1, + /// + /// Camera will be bound to the Follow target using a frame of reference consisting + /// of the target's local frame, with the roll zeroed out. + /// + LockToTargetNoRoll = 2, + /// + /// Camera will be bound to the Follow target using the target's local frame. + /// + LockToTarget = 3, + /// Camera will be bound to the Follow target using a world space offset. + WorldSpace = 4, + /// Offsets will be calculated relative to the target, using Camera-local axes + SimpleFollowWithWorldUp = 5 + } + /// The coordinate space to use when interpreting the offset from the target + [Tooltip("The coordinate space to use when interpreting the offset from the target. This is also " + + "used to set the camera's Up vector, which will be maintained when aiming the camera.")] + public BindingMode m_BindingMode = BindingMode.LockToTargetWithWorldUp; + + /// The distance which the transposer will attempt to maintain from the transposer subject + [Tooltip("The distance vector that the transposer will attempt to maintain from the Follow target")] + public Vector3 m_FollowOffset = Vector3.back * 10f; + + /// How aggressively the camera tries to maintain the offset in the X-axis. + /// Small numbers are more responsive, rapidly translating the camera to keep the target's + /// x-axis offset. Larger numbers give a more heavy slowly responding camera. + /// Using different settings per axis can yield a wide range of camera behaviors + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to maintain the offset in the X-axis. Small numbers " + + "are more responsive, rapidly translating the camera to keep the target's x-axis offset. " + + "Larger numbers give a more heavy slowly responding camera. Using different settings per " + + "axis can yield a wide range of camera behaviors.")] + public float m_XDamping = 1f; + + /// How aggressively the camera tries to maintain the offset in the Y-axis. + /// Small numbers are more responsive, rapidly translating the camera to keep the target's + /// y-axis offset. Larger numbers give a more heavy slowly responding camera. + /// Using different settings per axis can yield a wide range of camera behaviors + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to maintain the offset in the Y-axis. Small numbers " + + "are more responsive, rapidly translating the camera to keep the target's y-axis offset. " + + "Larger numbers give a more heavy slowly responding camera. Using different settings per " + + "axis can yield a wide range of camera behaviors.")] + public float m_YDamping = 1f; + + /// How aggressively the camera tries to maintain the offset in the Z-axis. + /// Small numbers are more responsive, rapidly translating the camera to keep the + /// target's z-axis offset. Larger numbers give a more heavy slowly responding camera. + /// Using different settings per axis can yield a wide range of camera behaviors + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to maintain the offset in the Z-axis. " + + "Small numbers are more responsive, rapidly translating the camera to keep the " + + "target's z-axis offset. Larger numbers give a more heavy slowly responding camera. " + + "Using different settings per axis can yield a wide range of camera behaviors.")] + public float m_ZDamping = 1f; + + /// How to calculate the angular damping for the target orientation + public enum AngularDampingMode + { + /// Use Euler angles to specify damping values. + /// Subject to gimbal-lock fwhen pitch is steep. + Euler, + /// + /// Use quaternions to calculate angular damping. + /// No per-channel control, but not susceptible to gimbal-lock + Quaternion + } + + /// How to calculate the angular damping for the target orientation. + /// Use Quaternion if you expect the target to take on very steep pitches, which would + /// be subject to gimbal lock if Eulers are used. + public AngularDampingMode m_AngularDampingMode = AngularDampingMode.Euler; + + /// How aggressively the camera tries to track the target rotation's X angle. + /// Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to track the target rotation's X angle. " + + "Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera.")] + public float m_PitchDamping = 0; + + /// How aggressively the camera tries to track the target rotation's Y angle. + /// Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to track the target rotation's Y angle. " + + "Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera.")] + public float m_YawDamping = 0; + + /// How aggressively the camera tries to track the target rotation's Z angle. + /// Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to track the target rotation's Z angle. " + + "Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera.")] + public float m_RollDamping = 0f; + + /// How aggressively the camera tries to track the target's orientation. + /// Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera. + [Range(0f, 20f)] + [Tooltip("How aggressively the camera tries to track the target's orientation. " + + "Small numbers are more responsive. Larger numbers give a more heavy slowly responding camera.")] + public float m_AngularDamping = 0f; + + /// Derived classes should call this from their OnValidate() implementation + protected virtual void OnValidate() + { + m_FollowOffset = EffectiveOffset; + } + + /// Hide the offset in int inspector. Used by FreeLook. + public bool HideOffsetInInspector { get; set; } + + /// Get the target offset, with sanitization + public Vector3 EffectiveOffset + { + get + { + Vector3 offset = m_FollowOffset; + if (m_BindingMode == BindingMode.SimpleFollowWithWorldUp) + { + offset.x = 0; + offset.z = -Mathf.Abs(offset.z); + } + return offset; + } + } + + /// True if component is enabled and has a valid Follow target + public override bool IsValid { get { return enabled && FollowTarget != null; } } + + /// Get the Cinemachine Pipeline stage that this component implements. + /// Always returns the Body stage + public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Body; } } + + /// + /// Report maximum damping time needed for this component. + /// + /// Highest damping setting in this component + public override float GetMaxDampTime() + { + var d = Damping; + var d2 = AngularDamping; + var a = Mathf.Max(d.x, Mathf.Max(d.y, d.z)); + var b = Mathf.Max(d2.x, Mathf.Max(d2.y, d2.z)); + return Mathf.Max(a, b); + } + + /// Positions the virtual camera according to the transposer rules. + /// The current camera state + /// Used for damping. If less than 0, no damping is done. + public override void MutateCameraState(ref CameraState curState, float deltaTime) + { + InitPrevFrameStateInfo(ref curState, deltaTime); + if (IsValid) + { + Vector3 offset = EffectiveOffset; + TrackTarget(deltaTime, curState.ReferenceUp, offset, out Vector3 pos, out Quaternion orient); + offset = orient * offset; + + curState.ReferenceUp = orient * Vector3.up; + + // Respect minimum target distance on XZ plane + var targetPosition = FollowTargetPosition; + pos += GetOffsetForMinimumTargetDistance( + pos, offset, curState.RawOrientation * Vector3.forward, + curState.ReferenceUp, targetPosition); + + curState.RawPosition = pos + offset; + } + } + + /// This is called to notify the us that a target got warped, + /// so that we can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + base.OnTargetObjectWarped(target, positionDelta); + if (target == FollowTarget) + m_PreviousTargetPosition += positionDelta; + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + base.ForceCameraPosition(pos, rot); + + // Infer target pos from camera + var targetRot = m_BindingMode == BindingMode.SimpleFollowWithWorldUp + ? rot : GetReferenceOrientation(VirtualCamera.State.ReferenceUp); + m_PreviousTargetPosition = pos - targetRot * EffectiveOffset; + } + + /// Initializes the state for previous frame if appropriate. + /// The current camera state + /// Current effective deltaTime. + protected void InitPrevFrameStateInfo( + ref CameraState curState, float deltaTime) + { + bool prevStateValid = deltaTime >= 0 && VirtualCamera.PreviousStateIsValid; + if (m_previousTarget != FollowTarget || !prevStateValid) + { + m_previousTarget = FollowTarget; + m_targetOrientationOnAssign = FollowTargetRotation; + } + if (!prevStateValid) + { + m_PreviousTargetPosition = FollowTargetPosition; + m_PreviousReferenceOrientation = GetReferenceOrientation(curState.ReferenceUp); + } + } + + /// Positions the virtual camera according to the transposer rules. + /// Used for damping. If less than 0, no damping is done. + /// Current camera up + /// Where we want to put the camera relative to the follow target + /// Resulting camera position + /// Damped target orientation + protected void TrackTarget( + float deltaTime, Vector3 up, Vector3 desiredCameraOffset, + out Vector3 outTargetPosition, out Quaternion outTargetOrient) + { + var targetOrientation = GetReferenceOrientation(up); + var dampedOrientation = targetOrientation; + bool prevStateValid = deltaTime >= 0 && VirtualCamera.PreviousStateIsValid; + if (prevStateValid) + { + if (m_AngularDampingMode == AngularDampingMode.Quaternion + && m_BindingMode == BindingMode.LockToTarget) + { + float t = VirtualCamera.DetachedFollowTargetDamp(1, m_AngularDamping, deltaTime); + dampedOrientation = Quaternion.Slerp( + m_PreviousReferenceOrientation, targetOrientation, t); + } + else + { + var relative = (Quaternion.Inverse(m_PreviousReferenceOrientation) + * targetOrientation).eulerAngles; + for (int i = 0; i < 3; ++i) + { + if (Mathf.Abs(relative[i]) < 0.01f) // correct for precision drift + relative[i] = 0; + else if (relative[i] > 180) + relative[i] -= 360; + } + relative = VirtualCamera.DetachedFollowTargetDamp(relative, AngularDamping, deltaTime); + dampedOrientation = m_PreviousReferenceOrientation * Quaternion.Euler(relative); + } + } + m_PreviousReferenceOrientation = dampedOrientation; + + var targetPosition = FollowTargetPosition; + var currentPosition = m_PreviousTargetPosition; + var previousOffset = prevStateValid ? m_PreviousOffset : desiredCameraOffset; + var offsetDelta = desiredCameraOffset - previousOffset; + if (offsetDelta.sqrMagnitude > 0.01f) + { + var q = UnityVectorExtensions.SafeFromToRotation( + m_PreviousOffset.ProjectOntoPlane(up), + desiredCameraOffset.ProjectOntoPlane(up), up); + currentPosition = targetPosition + q * (m_PreviousTargetPosition - targetPosition); + } + m_PreviousOffset = desiredCameraOffset; + + // Adjust for damping, which is done in camera-offset-local coords + var positionDelta = targetPosition - currentPosition; + if (prevStateValid) + { + Quaternion dampingSpace; + if (desiredCameraOffset.AlmostZero()) + dampingSpace = VcamState.RawOrientation; + else + dampingSpace = Quaternion.LookRotation(dampedOrientation * desiredCameraOffset, up); + var localDelta = Quaternion.Inverse(dampingSpace) * positionDelta; + localDelta = VirtualCamera.DetachedFollowTargetDamp(localDelta, Damping, deltaTime); + positionDelta = dampingSpace * localDelta; + } + currentPosition += positionDelta; + + outTargetPosition = m_PreviousTargetPosition = currentPosition; + outTargetOrient = dampedOrientation; + } + + /// Return a new damped target position that respects the minimum + /// distance from the real target + /// The effective position of the target, after damping + /// Desired camera offset from target + /// Current camera local +Z direction + /// Effective world up + /// The real undamped target position + /// New camera offset, potentially adjusted to respect minimum distance from target + protected Vector3 GetOffsetForMinimumTargetDistance( + Vector3 dampedTargetPos, Vector3 cameraOffset, + Vector3 cameraFwd, Vector3 up, Vector3 actualTargetPos) + { + var posOffset = Vector3.zero; + if (VirtualCamera.FollowTargetAttachment > 1 - Epsilon) + { + cameraOffset = cameraOffset.ProjectOntoPlane(up); + var minDistance = cameraOffset.magnitude * 0.2f; + if (minDistance > 0) + { + actualTargetPos = actualTargetPos.ProjectOntoPlane(up); + dampedTargetPos = dampedTargetPos.ProjectOntoPlane(up); + var cameraPos = dampedTargetPos + cameraOffset; + var d = Vector3.Dot( + actualTargetPos - cameraPos, + (dampedTargetPos - cameraPos).normalized); + if (d < minDistance) + { + var dir = actualTargetPos - dampedTargetPos; + var len = dir.magnitude; + if (len < 0.01f) + dir = -cameraFwd.ProjectOntoPlane(up); + else + dir /= len; + posOffset = dir * (minDistance - d); + } + m_PreviousTargetPosition += posOffset; + } + } + return posOffset; + } + + /// + /// Damping speeds for each of the 3 axes of the offset from target + /// + protected Vector3 Damping + { + get + { + switch (m_BindingMode) + { + case BindingMode.SimpleFollowWithWorldUp: + return new Vector3(0, m_YDamping, m_ZDamping); + default: + return new Vector3(m_XDamping, m_YDamping, m_ZDamping); + } + } + } + + /// + /// Damping speeds for each of the 3 axes of the target's rotation + /// + protected Vector3 AngularDamping + { + get + { + switch (m_BindingMode) + { + case BindingMode.LockToTargetNoRoll: + return new Vector3(m_PitchDamping, m_YawDamping, 0); + case BindingMode.LockToTargetWithWorldUp: + return new Vector3(0, m_YawDamping, 0); + case BindingMode.LockToTargetOnAssign: + case BindingMode.WorldSpace: + case BindingMode.SimpleFollowWithWorldUp: + return Vector3.zero; + default: + return new Vector3(m_PitchDamping, m_YawDamping, m_RollDamping); + } + } + } + + /// Internal API for the Inspector Editor, so it can draw a marker at the target + /// Current effective world up + /// The position of the Follow target + public virtual Vector3 GetTargetCameraPosition(Vector3 worldUp) + { + if (!IsValid) + return Vector3.zero; + return FollowTargetPosition + GetReferenceOrientation(worldUp) * EffectiveOffset; + } + + /// State information for damping + Vector3 m_PreviousTargetPosition = Vector3.zero; + Quaternion m_PreviousReferenceOrientation = Quaternion.identity; + Quaternion m_targetOrientationOnAssign = Quaternion.identity; + Vector3 m_PreviousOffset; + Transform m_previousTarget = null; + + /// Internal API for the Inspector Editor, so it can draw a marker at the target + /// Current effective world up + /// The rotation of the Follow target, as understood by the Transposer. + /// This is not necessarily the same thing as the actual target rotation + public Quaternion GetReferenceOrientation(Vector3 worldUp) + { + if (m_BindingMode == BindingMode.WorldSpace) + return Quaternion.identity; + if (FollowTarget != null) + { + Quaternion targetOrientation = FollowTarget.rotation; + switch (m_BindingMode) + { + case BindingMode.LockToTargetOnAssign: + return m_targetOrientationOnAssign; + case BindingMode.LockToTargetWithWorldUp: + { + Vector3 fwd = (targetOrientation * Vector3.forward).ProjectOntoPlane(worldUp); + if (fwd.AlmostZero()) + break; + return Quaternion.LookRotation(fwd, worldUp); + } + case BindingMode.LockToTargetNoRoll: + return Quaternion.LookRotation(targetOrientation * Vector3.forward, worldUp); + case BindingMode.LockToTarget: + return targetOrientation; + case BindingMode.SimpleFollowWithWorldUp: + { + Vector3 fwd = (FollowTargetPosition - VcamState.RawPosition).ProjectOntoPlane(worldUp); + if (fwd.AlmostZero()) + break; + return Quaternion.LookRotation(fwd, worldUp); + } + } + } + // Gimbal lock situation - use previous orientation if it exists +#if UNITY_2019_1_OR_NEWER + return m_PreviousReferenceOrientation.normalized; +#else + return m_PreviousReferenceOrientation.Normalized(); +#endif + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTransposer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTransposer.cs.meta new file mode 100644 index 00000000..404e6285 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Components/CinemachineTransposer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fa7155796051b734daa718462081dc5f +timeCreated: 1484001119 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core.meta new file mode 100644 index 00000000..010446bf --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3d53800f587b60a4191877d7713cd17c +folderAsset: yes +timeCreated: 1489096338 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/AxisState.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/AxisState.cs new file mode 100644 index 00000000..dd7db64c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/AxisState.cs @@ -0,0 +1,484 @@ +using UnityEngine; +using System; +using Cinemachine.Utility; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// Axis state for defining how to react to player input. + /// The settings here control the responsiveness of the axis to player input. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public struct AxisState + { + /// The current value of the axis + [NoSaveDuringPlay] + [Tooltip("The current value of the axis.")] + public float Value; + + /// How to interpret the Max Speed setting. + public enum SpeedMode + { + /// + /// The Max Speed setting will be interpreted as a maximum axis speed, in units/second + /// + MaxSpeed, + + /// + /// The Max Speed setting will be interpreted as a direct multiplier on the input value + /// + InputValueGain + }; + + /// How to interpret the Max Speed setting. + [Tooltip("How to interpret the Max Speed setting: in units/second, or as a " + + "direct input value multiplier")] + public SpeedMode m_SpeedMode; + + /// How fast the axis value can travel. Increasing this number + /// makes the behaviour more responsive to joystick input + [Tooltip("The maximum speed of this axis in units/second, or the input value " + + "multiplier, depending on the Speed Mode")] + public float m_MaxSpeed; + + /// The amount of time in seconds it takes to accelerate to + /// MaxSpeed with the supplied Axis at its maximum value + [Tooltip("The amount of time in seconds it takes to accelerate to MaxSpeed " + + "with the supplied Axis at its maximum value")] + public float m_AccelTime; + + /// The amount of time in seconds it takes to decelerate + /// the axis to zero if the supplied axis is in a neutral position + [Tooltip("The amount of time in seconds it takes to decelerate the axis to " + + "zero if the supplied axis is in a neutral position")] + public float m_DecelTime; + + /// The name of this axis as specified in Unity Input manager. + /// Setting to an empty string will disable the automatic updating of this axis + [FormerlySerializedAs("m_AxisName")] + [Tooltip("The name of this axis as specified in Unity Input manager. " + + "Setting to an empty string will disable the automatic updating of this axis")] + public string m_InputAxisName; + + /// The value of the input axis. A value of 0 means no input + /// You can drive this directly from a + /// custom input system, or you can set the Axis Name and have the value + /// driven by the internal Input Manager + [NoSaveDuringPlay] + [Tooltip("The value of the input axis. A value of 0 means no input. " + + "You can drive this directly from a custom input system, or you can set " + + "the Axis Name and have the value driven by the internal Input Manager")] + public float m_InputAxisValue; + + /// If checked, then the raw value of the input axis will be inverted + /// before it is used. + [FormerlySerializedAs("m_InvertAxis")] + [Tooltip("If checked, then the raw value of the input axis will be inverted " + + "before it is used")] + public bool m_InvertInput; + + /// The minimum value for the axis + [Tooltip("The minimum value for the axis")] + public float m_MinValue; + + /// The maximum value for the axis + [Tooltip("The maximum value for the axis")] + public float m_MaxValue; + + /// If checked, then the axis will wrap around at the + /// min/max values, forming a loop + [Tooltip("If checked, then the axis will wrap around at the min/max values, " + + "forming a loop")] + public bool m_Wrap; + + /// Automatic recentering. Valid only if HasRecentering is true + [Tooltip("Automatic recentering to at-rest position")] + public Recentering m_Recentering; + + float m_CurrentSpeed; + float m_LastUpdateTime; + int m_LastUpdateFrame; + + /// Constructor with specific values + /// + /// + /// + /// + /// + /// + /// + /// + /// + public AxisState( + float minValue, float maxValue, bool wrap, bool rangeLocked, + float maxSpeed, float accelTime, float decelTime, + string name, bool invert) + { + m_MinValue = minValue; + m_MaxValue = maxValue; + m_Wrap = wrap; + ValueRangeLocked = rangeLocked; + + HasRecentering = false; + m_Recentering = new Recentering(false, 1, 2); + + m_SpeedMode = SpeedMode.MaxSpeed; + m_MaxSpeed = maxSpeed; + m_AccelTime = accelTime; + m_DecelTime = decelTime; + Value = (minValue + maxValue) / 2; + m_InputAxisName = name; + m_InputAxisValue = 0; + m_InvertInput = invert; + + m_CurrentSpeed = 0f; + m_InputAxisProvider = null; + m_InputAxisIndex = 0; + m_LastUpdateTime = 0; + m_LastUpdateFrame = 0; + } + + /// Call from OnValidate: Make sure the fields are sensible + public void Validate() + { + if (m_SpeedMode == SpeedMode.MaxSpeed) + m_MaxSpeed = Mathf.Max(0, m_MaxSpeed); + m_AccelTime = Mathf.Max(0, m_AccelTime); + m_DecelTime = Mathf.Max(0, m_DecelTime); + m_MaxValue = Mathf.Clamp(m_MaxValue, m_MinValue, m_MaxValue); + } + + const float Epsilon = UnityVectorExtensions.Epsilon; + + /// + /// Cancel current input state and reset input to 0 + /// + public void Reset() + { + m_InputAxisValue = 0; + m_CurrentSpeed = 0; + m_LastUpdateTime = 0; + m_LastUpdateFrame = 0; + } + + /// + /// This is an interface to override default querying of Unity's legacy Input system. + /// If a befaviour implementing this interface is attached to a Cinemachine virtual camera that + /// requires input, that interface will be polled for input instead of the standard Input system. + /// + public interface IInputAxisProvider + { + /// Get the value of the input axis + /// Which axis to query: 0, 1, or 2. These represent, respectively, the X, Y, and Z axes + /// The input value of the axis queried + float GetAxisValue(int axis); + } + IInputAxisProvider m_InputAxisProvider; + int m_InputAxisIndex; + + /// + /// Set an input provider for this axis. If an input provider is set, the + /// provider will be queried when user input is needed, and the Input Axis Name + /// field will be ignored. If no provider is set, then the legacy Input system + /// will be queried, using the Input Axis Name. + /// + /// Which axis will be queried for input + /// The input provider + public void SetInputAxisProvider(int axis, IInputAxisProvider provider) + { + m_InputAxisIndex = axis; + m_InputAxisProvider = provider; + } + + /// Returns true if this axis has an InputAxisProvider, in which case + /// we ignore the input axis name + public bool HasInputProvider { get => m_InputAxisProvider != null; } + + /// + /// Updates the state of this axis based on the Input axis defined + /// by AxisState.m_AxisName + /// + /// Delta time in seconds + /// Returns true if this axis's input was non-zero this Update, + /// false otherwise + public bool Update(float deltaTime) + { + // Update only once per frame + if (Time.frameCount == m_LastUpdateFrame) + return false; + m_LastUpdateFrame = Time.frameCount; + + // Cheating: we want the render frame time, not the fixed frame time + if (deltaTime >= 0 && m_LastUpdateTime != 0) + deltaTime = Time.realtimeSinceStartup - m_LastUpdateTime; + + m_LastUpdateTime = Time.realtimeSinceStartup; + + if (m_InputAxisProvider != null) + m_InputAxisValue = m_InputAxisProvider.GetAxisValue(m_InputAxisIndex); + else if (!string.IsNullOrEmpty(m_InputAxisName)) + { + try { m_InputAxisValue = CinemachineCore.GetInputAxis(m_InputAxisName); } + catch (ArgumentException e) { Debug.LogError(e.ToString()); } + } + + float input = m_InputAxisValue; + if (m_InvertInput) + input *= -1f; + + if (m_SpeedMode == SpeedMode.MaxSpeed) + return MaxSpeedUpdate(input, deltaTime); // legacy mode + + // Direct mode update: maxSpeed interpreted as multiplier + input *= m_MaxSpeed; // apply gain + if (deltaTime < 0) + m_CurrentSpeed = 0; + else + { + float dampTime = Mathf.Abs(input) < Mathf.Abs(m_CurrentSpeed) ? m_DecelTime : m_AccelTime; + m_CurrentSpeed += Damper.Damp(input - m_CurrentSpeed, dampTime, deltaTime); + + // Decelerate to the end points of the range if not wrapping + float range = m_MaxValue - m_MinValue; + if (!m_Wrap && m_DecelTime > Epsilon && range > Epsilon) + { + float v0 = ClampValue(Value); + float v = ClampValue(v0 + m_CurrentSpeed * deltaTime); + float d = (m_CurrentSpeed > 0) ? m_MaxValue - v : v - m_MinValue; + if (d < (0.1f * range) && Mathf.Abs(m_CurrentSpeed) > Epsilon) + m_CurrentSpeed = Damper.Damp(v - v0, m_DecelTime, deltaTime) / deltaTime; + } + input = m_CurrentSpeed * deltaTime; + } + Value = ClampValue(Value + m_CurrentSpeed); + return Mathf.Abs(input) > Epsilon; + } + + float ClampValue(float v) + { + float r = m_MaxValue - m_MinValue; + if (m_Wrap && r > Epsilon) + { + v = (v - m_MinValue) % r; + v += m_MinValue + ((v < 0) ? r : 0); + } + return Mathf.Clamp(v, m_MinValue, m_MaxValue); + } + + bool MaxSpeedUpdate(float input, float deltaTime) + { + if (m_MaxSpeed > Epsilon) + { + float targetSpeed = input * m_MaxSpeed; + if (Mathf.Abs(targetSpeed) < Epsilon + || (Mathf.Sign(m_CurrentSpeed) == Mathf.Sign(targetSpeed) + && Mathf.Abs(targetSpeed) < Mathf.Abs(m_CurrentSpeed))) + { + // Need to decelerate + float a = Mathf.Abs(targetSpeed - m_CurrentSpeed) / Mathf.Max(Epsilon, m_DecelTime); + float delta = Mathf.Min(a * deltaTime, Mathf.Abs(m_CurrentSpeed)); + m_CurrentSpeed -= Mathf.Sign(m_CurrentSpeed) * delta; + } + else + { + // Accelerate to the target speed + float a = Mathf.Abs(targetSpeed - m_CurrentSpeed) / Mathf.Max(Epsilon, m_AccelTime); + m_CurrentSpeed += Mathf.Sign(targetSpeed) * a * deltaTime; + if (Mathf.Sign(m_CurrentSpeed) == Mathf.Sign(targetSpeed) + && Mathf.Abs(m_CurrentSpeed) > Mathf.Abs(targetSpeed)) + { + m_CurrentSpeed = targetSpeed; + } + } + } + + // Clamp our max speeds so we don't go crazy + float maxSpeed = GetMaxSpeed(); + m_CurrentSpeed = Mathf.Clamp(m_CurrentSpeed, -maxSpeed, maxSpeed); + + Value += m_CurrentSpeed * deltaTime; + bool isOutOfRange = (Value > m_MaxValue) || (Value < m_MinValue); + if (isOutOfRange) + { + if (m_Wrap) + { + if (Value > m_MaxValue) + Value = m_MinValue + (Value - m_MaxValue); + else + Value = m_MaxValue + (Value - m_MinValue); + } + else + { + Value = Mathf.Clamp(Value, m_MinValue, m_MaxValue); + m_CurrentSpeed = 0f; + } + } + return Mathf.Abs(input) > Epsilon; + } + + // MaxSpeed may be limited as we approach the range ends, in order + // to prevent a hard bump + float GetMaxSpeed() + { + float range = m_MaxValue - m_MinValue; + if (!m_Wrap && range > 0) + { + float threshold = range / 10f; + if (m_CurrentSpeed > 0 && (m_MaxValue - Value) < threshold) + { + float t = (m_MaxValue - Value) / threshold; + return Mathf.Lerp(0, m_MaxSpeed, t); + } + else if (m_CurrentSpeed < 0 && (Value - m_MinValue) < threshold) + { + float t = (Value - m_MinValue) / threshold; + return Mathf.Lerp(0, m_MaxSpeed, t); + } + } + return m_MaxSpeed; + } + + /// Value range is locked, i.e. not adjustable by the user (used by editor) + public bool ValueRangeLocked { get; set; } + + /// True if the Recentering member is valid (bcak-compatibility support: + /// old versions had recentering in a separate structure) + public bool HasRecentering { get; set; } + + /// Helper for automatic axis recentering + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public struct Recentering + { + /// If checked, will enable automatic recentering of the + /// axis. If FALSE, recenting is disabled. + [Tooltip("If checked, will enable automatic recentering of the axis. If unchecked, recenting is disabled.")] + public bool m_enabled; + + /// If no input has been detected, the camera will wait + /// this long in seconds before moving its heading to the default heading. + [Tooltip("If no user input has been detected on the axis, the axis will wait this long in seconds before recentering.")] + public float m_WaitTime; + + /// How long it takes to reach destination once recentering has started + [Tooltip("How long it takes to reach destination once recentering has started.")] + public float m_RecenteringTime; + + float m_LastUpdateTime; + + /// Constructor with specific field values + /// + /// + /// + public Recentering(bool enabled, float waitTime, float recenteringTime) + { + m_enabled = enabled; + m_WaitTime = waitTime; + m_RecenteringTime = recenteringTime; + mLastAxisInputTime = 0; + mRecenteringVelocity = 0; + m_LegacyHeadingDefinition = m_LegacyVelocityFilterStrength = -1; + m_LastUpdateTime = 0; + } + + /// Call this from OnValidate() + public void Validate() + { + m_WaitTime = Mathf.Max(0, m_WaitTime); + m_RecenteringTime = Mathf.Max(0, m_RecenteringTime); + } + + // Internal state + float mLastAxisInputTime; + float mRecenteringVelocity; + + /// + /// Copy Recentering state from another Recentering component. + /// + /// + public void CopyStateFrom(ref Recentering other) + { + if (mLastAxisInputTime != other.mLastAxisInputTime) + other.mRecenteringVelocity = 0; + mLastAxisInputTime = other.mLastAxisInputTime; + } + + /// Cancel any recenetering in progress. + public void CancelRecentering() + { + mLastAxisInputTime = Time.realtimeSinceStartup; + mRecenteringVelocity = 0; + } + + /// Skip the wait time and start recentering now (only if enabled). + public void RecenterNow() => mLastAxisInputTime = -1; + + /// Bring the axis back to the centered state (only if enabled). + /// The axis to recenter + /// Current effective deltaTime + /// The value that is considered to be centered + public void DoRecentering(ref AxisState axis, float deltaTime, float recenterTarget) + { + // Cheating: we want the render frame time, not the fixed frame time + if (deltaTime >= 0) + deltaTime = Time.realtimeSinceStartup - m_LastUpdateTime; + + m_LastUpdateTime = Time.realtimeSinceStartup; + + if (!m_enabled && deltaTime >= 0) + return; + + recenterTarget = axis.ClampValue(recenterTarget); + if (deltaTime < 0) + { + CancelRecentering(); + if (m_enabled) + axis.Value = recenterTarget; + return; + } + + float v = axis.ClampValue(axis.Value); + float delta = recenterTarget - v; + if (delta == 0) + return; + + // Time to start recentering? + if (mLastAxisInputTime >= 0 && Time.realtimeSinceStartup < (mLastAxisInputTime + m_WaitTime)) + return; // nope + + // Determine the direction + float r = axis.m_MaxValue - axis.m_MinValue; + if (axis.m_Wrap && Mathf.Abs(delta) > r * 0.5f) + v += Mathf.Sign(recenterTarget - v) * r; + + // Damp our way there + if (m_RecenteringTime < 0.001f) + v = recenterTarget; + else + v = Mathf.SmoothDamp( + v, recenterTarget, ref mRecenteringVelocity, + m_RecenteringTime, 9999, deltaTime); + axis.Value = axis.ClampValue(v); + } + + // Legacy support + [SerializeField] [HideInInspector] [FormerlySerializedAs("m_HeadingDefinition")] + int m_LegacyHeadingDefinition; + [SerializeField] [HideInInspector] [FormerlySerializedAs("m_VelocityFilterStrength")] + int m_LegacyVelocityFilterStrength; + internal bool LegacyUpgrade(ref int heading, ref int velocityFilter) + { + if (m_LegacyHeadingDefinition != -1 && m_LegacyVelocityFilterStrength != -1) + { + heading = m_LegacyHeadingDefinition; + velocityFilter = m_LegacyVelocityFilterStrength; + m_LegacyHeadingDefinition = m_LegacyVelocityFilterStrength = -1; + return true; + } + return false; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/AxisState.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/AxisState.cs.meta new file mode 100644 index 00000000..2f36de5d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/AxisState.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 557c6f70a7173744abaa3967b6da6f5d +timeCreated: 1504195334 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CameraState.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CameraState.cs new file mode 100644 index 00000000..d10d7063 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CameraState.cs @@ -0,0 +1,493 @@ +using UnityEngine; +using Cinemachine.Utility; +using System.Collections.Generic; + +namespace Cinemachine +{ + /// + /// The output of the Cinemachine engine for a specific virtual camera. The information + /// in this struct can be blended, and provides what is needed to calculate an + /// appropriate camera position, orientation, and lens setting. + /// + /// Raw values are what the Cinemachine behaviours generate. The correction channel + /// holds perturbations to the raw values - e.g. noise or smoothing, or obstacle + /// avoidance corrections. Coirrections are not considered when making time-based + /// calculations such as damping. + /// + /// The Final position and orientation is the comination of the raw values and + /// their corrections. + /// + public struct CameraState + { + /// + /// Camera Lens Settings. + /// + public LensSettings Lens; + + /// + /// Which way is up. World space unit vector. Must have a length of 1. + /// + public Vector3 ReferenceUp; + + /// + /// The world space focus point of the camera. What the camera wants to look at. + /// There is a special constant define to represent "nothing". Be careful to + /// check for that (or check the HasLookAt property). + /// + public Vector3 ReferenceLookAt; + + /// + /// Returns true if this state has a valid ReferenceLookAt value. + /// + #pragma warning disable 1718 // comparison made to same variable + public bool HasLookAt => ReferenceLookAt == ReferenceLookAt; // will be false if NaN + + /// + /// This constant represents "no point in space" or "no direction". + /// + public static Vector3 kNoPoint = new Vector3(float.NaN, float.NaN, float.NaN); + + /// + /// Raw (un-corrected) world space position of this camera + /// + public Vector3 RawPosition; + + /// + /// Raw (un-corrected) world space orientation of this camera + /// + public Quaternion RawOrientation; + + /// This is a way for the Body component to bypass aim damping, + /// useful for when the body needs to rotate its point of view, but does not + /// want interference from the aim damping. The value is the camera + /// rotation, in Euler degrees. + public Vector3 PositionDampingBypass; + + /// + /// Subjective estimation of how "good" the shot is. + /// Larger values mean better quality. Default is 1. + /// + public float ShotQuality; + + /// + /// Position correction. This will be added to the raw position. + /// This value doesn't get fed back into the system when calculating the next frame. + /// Can be noise, or smoothing, or both, or something else. + /// + public Vector3 PositionCorrection; + + /// + /// Orientation correction. This will be added to the raw orientation. + /// This value doesn't get fed back into the system when calculating the next frame. + /// Can be noise, or smoothing, or both, or something else. + /// + public Quaternion OrientationCorrection; + + /// + /// Position with correction applied. + /// + public Vector3 CorrectedPosition => RawPosition + PositionCorrection; + + /// + /// Orientation with correction applied. + /// + public Quaternion CorrectedOrientation => RawOrientation * OrientationCorrection; + + /// + /// Position with correction applied. This is what the final camera gets. + /// + public Vector3 FinalPosition => RawPosition + PositionCorrection; + + /// + /// Orientation with correction and dutch applied. This is what the final camera gets. + /// + public Quaternion FinalOrientation + { + get + { + if (Mathf.Abs(Lens.Dutch) > UnityVectorExtensions.Epsilon) + return CorrectedOrientation * Quaternion.AngleAxis(Lens.Dutch, Vector3.forward); + return CorrectedOrientation; + } + } + + /// + /// These hints can be or'ed toether to influence how blending is done, and how state + /// is applied to the camera + /// + public enum BlendHintValue + { + /// Normal state blending + Nothing = 0, + /// This state does not affect the camera position + NoPosition = 1, + /// This state does not affect the camera rotation + NoOrientation = 2, + /// Combination of NoPosition and NoOrientation + NoTransform = NoPosition | NoOrientation, + /// Spherical blend about the LookAt target (if any) + SphericalPositionBlend = 4, + /// Cylindrical blend about the LookAt target (if any) + CylindricalPositionBlend = 8, + /// Radial blend when the LookAt target changes(if any) + RadialAimBlend = 16, + /// Ignore the LookAt target and just slerp the orientation + IgnoreLookAtTarget = 32, + /// This state does not affect the lens + NoLens = 64, + } + + /// + /// These hints can be or'ed toether to influence how blending is done, and how state + /// is applied to the camera + /// + public BlendHintValue BlendHint; + + /// + /// State with default values + /// + public static CameraState Default + { + get + { + CameraState state = new CameraState(); + state.Lens = LensSettings.Default; + state.ReferenceUp = Vector3.up; + state.ReferenceLookAt = kNoPoint; + state.RawPosition = Vector3.zero; + state.RawOrientation = Quaternion.identity; + state.ShotQuality = 1; + state.PositionCorrection = Vector3.zero; + state.OrientationCorrection = Quaternion.identity; + state.PositionDampingBypass = Vector3.zero; + state.BlendHint = BlendHintValue.Nothing; + return state; + } + } + + /// Opaque structure represent extra blendable stuff and its weight. + /// The base system ignores this data - it is intended for extension modules + public struct CustomBlendable + { + /// The custom stuff that the extension module will consider + public Object m_Custom; + /// The weight of the custom stuff. Must be 0...1 + public float m_Weight; + + /// Constructor with specific values + /// The custom stuff that the extension module will consider + /// The weight of the custom stuff. Must be 0...1 + public CustomBlendable(Object custom, float weight) + { m_Custom = custom; m_Weight = weight; } + }; + + // This is to avoid excessive GC allocs + CustomBlendable mCustom0; + CustomBlendable mCustom1; + CustomBlendable mCustom2; + CustomBlendable mCustom3; + List m_CustomOverflow; + + /// The number of custom blendables that will be applied to the camera. + /// The base system manages but otherwise ignores this data - it is intended for + /// extension modules + public int NumCustomBlendables { get; private set; } + + /// Get a custom blendable that will be applied to the camera. + /// The base system manages but otherwise ignores this data - it is intended for + /// extension modules + /// Which one to get. Must be in range [0...NumCustomBlendables) + /// The custom blendable at the specified index. + public CustomBlendable GetCustomBlendable(int index) + { + switch (index) + { + case 0: return mCustom0; + case 1: return mCustom1; + case 2: return mCustom2; + case 3: return mCustom3; + default: + { + index -= 4; + if (m_CustomOverflow != null && index < m_CustomOverflow.Count) + return m_CustomOverflow[index]; + return new CustomBlendable(null, 0); + } + } + } + + int FindCustomBlendable(Object custom) + { + if (mCustom0.m_Custom == custom) + return 0; + if (mCustom1.m_Custom == custom) + return 1; + if (mCustom2.m_Custom == custom) + return 2; + if (mCustom3.m_Custom == custom) + return 3; + if (m_CustomOverflow != null) + { + for (int i = 0; i < m_CustomOverflow.Count; ++i) + if (m_CustomOverflow[i].m_Custom == custom) + return i + 4; + } + return -1; + } + + /// Add a custom blendable to the pot for eventual application to the camera. + /// The base system manages but otherwise ignores this data - it is intended for + /// extension modules + /// The custom blendable to add. If b.m_Custom is the same as an + /// already-added custom blendable, then they will be merged and the weights combined. + public void AddCustomBlendable(CustomBlendable b) + { + // Attempt to merge common blendables to avoid growth + int index = FindCustomBlendable(b.m_Custom); + if (index >= 0) + b.m_Weight += GetCustomBlendable(index).m_Weight; + else + { + index = NumCustomBlendables; + NumCustomBlendables = index + 1; + } + switch (index) + { + case 0: mCustom0 = b; break; + case 1: mCustom1 = b; break; + case 2: mCustom2 = b; break; + case 3: mCustom3 = b; break; + default: + { + if (m_CustomOverflow == null) + m_CustomOverflow = new List(); + m_CustomOverflow.Add(b); + break; + } + } + } + + /// Intelligently blend the contents of two states. + /// The first state, corresponding to t=0 + /// The second state, corresponding to t=1 + /// How much to interpolate. Internally clamped to 0..1 + /// Linearly interpolated CameraState + public static CameraState Lerp(CameraState stateA, CameraState stateB, float t) + { + t = Mathf.Clamp01(t); + float adjustedT = t; + + CameraState state = new CameraState(); + + // Combine the blend hints intelligently + if (((stateA.BlendHint & stateB.BlendHint) & BlendHintValue.NoPosition) != 0) + state.BlendHint |= BlendHintValue.NoPosition; + if (((stateA.BlendHint & stateB.BlendHint) & BlendHintValue.NoOrientation) != 0) + state.BlendHint |= BlendHintValue.NoOrientation; + if (((stateA.BlendHint & stateB.BlendHint) & BlendHintValue.NoLens) != 0) + state.BlendHint |= BlendHintValue.NoLens; + if (((stateA.BlendHint | stateB.BlendHint) & BlendHintValue.SphericalPositionBlend) != 0) + state.BlendHint |= BlendHintValue.SphericalPositionBlend; + if (((stateA.BlendHint | stateB.BlendHint) & BlendHintValue.CylindricalPositionBlend) != 0) + state.BlendHint |= BlendHintValue.CylindricalPositionBlend; + + if (((stateA.BlendHint | stateB.BlendHint) & BlendHintValue.NoLens) == 0) + state.Lens = LensSettings.Lerp(stateA.Lens, stateB.Lens, t); + else if (((stateA.BlendHint & stateB.BlendHint) & BlendHintValue.NoLens) == 0) + { + if ((stateA.BlendHint & BlendHintValue.NoLens) != 0) + state.Lens = stateB.Lens; + else + state.Lens = stateA.Lens; + } + state.ReferenceUp = Vector3.Slerp(stateA.ReferenceUp, stateB.ReferenceUp, t); + state.ShotQuality = Mathf.Lerp(stateA.ShotQuality, stateB.ShotQuality, t); + + state.PositionCorrection = ApplyPosBlendHint( + stateA.PositionCorrection, stateA.BlendHint, + stateB.PositionCorrection, stateB.BlendHint, + state.PositionCorrection, + Vector3.Lerp(stateA.PositionCorrection, stateB.PositionCorrection, t)); + + state.OrientationCorrection = ApplyRotBlendHint( + stateA.OrientationCorrection, stateA.BlendHint, + stateB.OrientationCorrection, stateB.BlendHint, + state.OrientationCorrection, + Quaternion.Slerp(stateA.OrientationCorrection, stateB.OrientationCorrection, t)); + + // LookAt target + if (!stateA.HasLookAt || !stateB.HasLookAt) + state.ReferenceLookAt = kNoPoint; + else + { + // Re-interpolate FOV to preserve target composition, if possible + float fovA = stateA.Lens.FieldOfView; + float fovB = stateB.Lens.FieldOfView; + if (((stateA.BlendHint | stateB.BlendHint) & BlendHintValue.NoLens) == 0 + && !state.Lens.Orthographic && !Mathf.Approximately(fovA, fovB)) + { + LensSettings lens = state.Lens; + lens.FieldOfView = InterpolateFOV( + fovA, fovB, + Mathf.Max((stateA.ReferenceLookAt - stateA.CorrectedPosition).magnitude, stateA.Lens.NearClipPlane), + Mathf.Max((stateB.ReferenceLookAt - stateB.CorrectedPosition).magnitude, stateB.Lens.NearClipPlane), t); + state.Lens = lens; + + // Make sure we preserve the screen composition through FOV changes + adjustedT = Mathf.Abs((lens.FieldOfView - fovA) / (fovB - fovA)); + } + // Linear interpolation of lookAt target point + state.ReferenceLookAt = Vector3.Lerp( + stateA.ReferenceLookAt, stateB.ReferenceLookAt, adjustedT); + } + + // Raw position + state.RawPosition = ApplyPosBlendHint( + stateA.RawPosition, stateA.BlendHint, + stateB.RawPosition, stateB.BlendHint, + state.RawPosition, state.InterpolatePosition( + stateA.RawPosition, stateA.ReferenceLookAt, + stateB.RawPosition, stateB.ReferenceLookAt, + t)); + + // Interpolate the LookAt in Screen Space if requested + if (state.HasLookAt + && ((stateA.BlendHint | stateB.BlendHint) & BlendHintValue.RadialAimBlend) != 0) + { + state.ReferenceLookAt = state.RawPosition + Vector3.Slerp( + stateA.ReferenceLookAt - state.RawPosition, + stateB.ReferenceLookAt - state.RawPosition, adjustedT); + } + + // Clever orientation interpolation + Quaternion newOrient = state.RawOrientation; + if (((stateA.BlendHint | stateB.BlendHint) & BlendHintValue.NoOrientation) == 0) + { + Vector3 dirTarget = Vector3.zero; + if (state.HasLookAt)//&& ((stateA.BlendHint | stateB.BlendHint) & BlendHintValue.RadialAimBlend) == 0) + { + // If orientations are different, use LookAt to blend them + float angle = Quaternion.Angle(stateA.RawOrientation, stateB.RawOrientation); + if (angle > UnityVectorExtensions.Epsilon) + dirTarget = state.ReferenceLookAt - state.CorrectedPosition; + } + + if (dirTarget.AlmostZero() + || ((stateA.BlendHint | stateB.BlendHint) & BlendHintValue.IgnoreLookAtTarget) != 0) + { + // Don't know what we're looking at - can only slerp + newOrient = Quaternion.Slerp(stateA.RawOrientation, stateB.RawOrientation, t); + } + else + { + // Rotate while preserving our lookAt target + var up = state.ReferenceUp; + dirTarget.Normalize(); + if (Vector3.Cross(dirTarget, up).AlmostZero()) + { + // Looking up or down at the pole + newOrient = Quaternion.Slerp(stateA.RawOrientation, stateB.RawOrientation, t); + up = newOrient * Vector3.up; + } + + // Blend the desired offsets from center + newOrient = Quaternion.LookRotation(dirTarget, up); + var deltaA = -stateA.RawOrientation.GetCameraRotationToTarget( + stateA.ReferenceLookAt - stateA.CorrectedPosition, up); + var deltaB = -stateB.RawOrientation.GetCameraRotationToTarget( + stateB.ReferenceLookAt - stateB.CorrectedPosition, up); + newOrient = newOrient.ApplyCameraRotation(Vector2.Lerp(deltaA, deltaB, adjustedT), up); + } + } + state.RawOrientation = ApplyRotBlendHint( + stateA.RawOrientation, stateA.BlendHint, + stateB.RawOrientation, stateB.BlendHint, + state.RawOrientation, newOrient); + + // Accumulate the custom blendables and apply the weights + for (int i = 0; i < stateA.NumCustomBlendables; ++i) + { + CustomBlendable b = stateA.GetCustomBlendable(i); + b.m_Weight *= (1-t); + if (b.m_Weight > 0) + state.AddCustomBlendable(b); + } + for (int i = 0; i < stateB.NumCustomBlendables; ++i) + { + CustomBlendable b = stateB.GetCustomBlendable(i); + b.m_Weight *= t; + if (b.m_Weight > 0) + state.AddCustomBlendable(b); + } + return state; + } + + static float InterpolateFOV(float fovA, float fovB, float dA, float dB, float t) + { + // We interpolate shot height + float hA = dA * 2f * Mathf.Tan(fovA * Mathf.Deg2Rad / 2f); + float hB = dB * 2f * Mathf.Tan(fovB * Mathf.Deg2Rad / 2f); + float h = Mathf.Lerp(hA, hB, t); + float fov = 179f; + float d = Mathf.Lerp(dA, dB, t); + if (d > UnityVectorExtensions.Epsilon) + fov = 2f * Mathf.Atan(h / (2 * d)) * Mathf.Rad2Deg; + return Mathf.Clamp(fov, Mathf.Min(fovA, fovB), Mathf.Max(fovA, fovB)); + } + + static Vector3 ApplyPosBlendHint( + Vector3 posA, BlendHintValue hintA, + Vector3 posB, BlendHintValue hintB, + Vector3 original, Vector3 blended) + { + if (((hintA | hintB) & BlendHintValue.NoPosition) == 0) + return blended; + if (((hintA & hintB) & BlendHintValue.NoPosition) != 0) + return original; + if ((hintA & BlendHintValue.NoPosition) != 0) + return posB; + return posA; + } + + static Quaternion ApplyRotBlendHint( + Quaternion rotA, BlendHintValue hintA, + Quaternion rotB, BlendHintValue hintB, + Quaternion original, Quaternion blended) + { + if (((hintA | hintB) & BlendHintValue.NoOrientation) == 0) + return blended; + if (((hintA & hintB) & BlendHintValue.NoOrientation) != 0) + return original; + if ((hintA & BlendHintValue.NoOrientation) != 0) + return rotB; + return rotA; + } + + Vector3 InterpolatePosition( + Vector3 posA, Vector3 pivotA, + Vector3 posB, Vector3 pivotB, + float t) + { + if (pivotA == pivotA && pivotB == pivotB) // check for NaN + { + if ((BlendHint & BlendHintValue.CylindricalPositionBlend) != 0) + { + // Cylindrical interpolation about pivot + var a = Vector3.ProjectOnPlane(posA - pivotA, ReferenceUp); + var b = Vector3.ProjectOnPlane(posB - pivotB, ReferenceUp); + var c = Vector3.Slerp(a, b, t); + posA = (posA - a) + c; + posB = (posB - b) + c; + } + else if ((BlendHint & BlendHintValue.SphericalPositionBlend) != 0) + { + // Spherical interpolation about pivot + var c = Vector3.Slerp(posA - pivotA, posB - pivotB, t); + posA = pivotA + c; + posB = pivotB + c; + } + } + return Vector3.Lerp(posA, posB, t); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CameraState.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CameraState.cs.meta new file mode 100644 index 00000000..d2ee9c0a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CameraState.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c2a918f460a69394eb9726b31e1d404c +timeCreated: 1488314898 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlend.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlend.cs new file mode 100644 index 00000000..6111b5f0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlend.cs @@ -0,0 +1,319 @@ +using Cinemachine.Utility; +using System; +using UnityEngine; + +namespace Cinemachine +{ + /// + /// Describes a blend between 2 Cinemachine Virtual Cameras, and holds the + /// current state of the blend. + /// + public class CinemachineBlend + { + /// First camera in the blend + public ICinemachineCamera CamA; + + /// Second camera in the blend + public ICinemachineCamera CamB; + + /// The curve that describes the way the blend transitions over time + /// from the first camera to the second. X-axis is normalized time (0...1) over which + /// the blend takes place and Y axis is blend weight (0..1) + public AnimationCurve BlendCurve; + + /// The current time relative to the start of the blend + public float TimeInBlend; + + /// The current weight of the blend. This is an evaluation of the + /// BlendCurve at the current time relative to the start of the blend. + /// 0 means camA, 1 means camB. + public float BlendWeight + { + get + { + if (BlendCurve == null || BlendCurve.length < 2 || IsComplete) + return 1; + return Mathf.Clamp01(BlendCurve.Evaluate(TimeInBlend / Duration)); + } + } + + /// Validity test for the blend. True if either camera is defined. + public bool IsValid => ((CamA != null && CamA.IsValid) || (CamB != null && CamB.IsValid)); + + /// Duration in seconds of the blend. + public float Duration; + + /// True if the time relative to the start of the blend is greater + /// than or equal to the blend duration + public bool IsComplete => TimeInBlend >= Duration || !IsValid; + + /// Text description of the blend, for debugging + public string Description + { + get + { + var sb = CinemachineDebug.SBFromPool(); + if (CamB == null || !CamB.IsValid) + sb.Append("(none)"); + else + { + sb.Append("["); + sb.Append(CamB.Name); + sb.Append("]"); + } + sb.Append(" "); + sb.Append((int)(BlendWeight * 100f)); + sb.Append("% from "); + if (CamA == null || !CamA.IsValid) + sb.Append("(none)"); + else + { + sb.Append("["); + sb.Append(CamA.Name); + sb.Append("]"); + } + string text = sb.ToString(); + CinemachineDebug.ReturnToPool(sb); + return text; + } + } + + /// Does the blend use a specific Cinemachine Virtual Camera? + /// The camera to test + /// True if the camera is involved in the blend + public bool Uses(ICinemachineCamera cam) + { + if (cam == CamA || cam == CamB) + return true; + BlendSourceVirtualCamera b = CamA as BlendSourceVirtualCamera; + if (b != null && b.Blend.Uses(cam)) + return true; + b = CamB as BlendSourceVirtualCamera; + if (b != null && b.Blend.Uses(cam)) + return true; + return false; + } + + /// Construct a blend + /// First camera + /// Second camera + /// Blend curve + /// Duration of the blend, in seconds + /// Current time in blend, relative to the start of the blend + public CinemachineBlend( + ICinemachineCamera a, ICinemachineCamera b, AnimationCurve curve, float duration, float t) + { + CamA = a; + CamB = b; + BlendCurve = curve; + TimeInBlend = t; + Duration = duration; + } + + /// Make sure the source cameras get updated. + /// Default world up. Individual vcams may modify this + /// Time increment used for calculating time-based behaviours (e.g. damping) + public void UpdateCameraState(Vector3 worldUp, float deltaTime) + { + // Make sure both cameras have been updated (they are not necessarily + // enabled, and only enabled cameras get updated automatically + // every frame) + if (CamA != null && CamA.IsValid) + CamA.UpdateCameraState(worldUp, deltaTime); + if (CamB != null && CamB.IsValid) + CamB.UpdateCameraState(worldUp, deltaTime); + } + + /// Compute the blended CameraState for the current time in the blend. + public CameraState State + { + get + { + if (CamA == null || !CamA.IsValid) + { + if (CamB == null || !CamB.IsValid) + return CameraState.Default; + return CamB.State; + } + if (CamB == null || !CamB.IsValid) + return CamA.State; + return CameraState.Lerp(CamA.State, CamB.State, BlendWeight); + } + } + } + + /// Definition of a Camera blend. This struct holds the information + /// necessary to generate a suitable AnimationCurve for a Cinemachine Blend. + [Serializable] + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public struct CinemachineBlendDefinition + { + /// Supported predefined shapes for the blend curve. + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public enum Style + { + /// Zero-length blend + Cut, + /// S-shaped curve, giving a gentle and smooth transition + EaseInOut, + /// Linear out of the outgoing shot, and easy into the incoming + EaseIn, + /// Easy out of the outgoing shot, and linear into the incoming + EaseOut, + /// Easy out of the outgoing, and hard into the incoming + HardIn, + /// Hard out of the outgoing, and easy into the incoming + HardOut, + /// Linear blend. Mechanical-looking. + Linear, + /// Custom blend curve. + Custom + }; + + /// The shape of the blend curve. + [Tooltip("Shape of the blend curve")] + public Style m_Style; + + /// The duration (in seconds) of the blend, if not a cut. + /// If style is a cut, then this value is ignored. + [Tooltip("Duration of the blend, in seconds")] + public float m_Time; + + /// + /// Get the duration of the blend, in seconds. Will return 0 if blend style is a cut. + /// + public float BlendTime { get { return m_Style == Style.Cut ? 0 : m_Time; } } + + /// Constructor + /// The shape of the blend curve. + /// The duration (in seconds) of the blend + public CinemachineBlendDefinition(Style style, float time) + { + m_Style = style; + m_Time = time; + m_CustomCurve = null; + } + + /// + /// A user-defined AnimationCurve, used only if style is Custom. + /// Curve MUST be normalized, i.e. time range [0...1], value range [0...1]. + /// + public AnimationCurve m_CustomCurve; + + static AnimationCurve[] sStandardCurves; + void CreateStandardCurves() + { + sStandardCurves = new AnimationCurve[(int)Style.Custom]; + + sStandardCurves[(int)Style.Cut] = null; + sStandardCurves[(int)Style.EaseInOut] = AnimationCurve.EaseInOut(0f, 0f, 1, 1f); + + sStandardCurves[(int)Style.EaseIn] = AnimationCurve.Linear(0f, 0f, 1, 1f); + Keyframe[] keys = sStandardCurves[(int)Style.EaseIn].keys; + keys[0].outTangent = 1.4f; + keys[1].inTangent = 0; + sStandardCurves[(int)Style.EaseIn].keys = keys; + + sStandardCurves[(int)Style.EaseOut] = AnimationCurve.Linear(0f, 0f, 1, 1f); + keys = sStandardCurves[(int)Style.EaseOut].keys; + keys[0].outTangent = 0; + keys[1].inTangent = 1.4f; + sStandardCurves[(int)Style.EaseOut].keys = keys; + + sStandardCurves[(int)Style.HardIn] = AnimationCurve.Linear(0f, 0f, 1, 1f); + keys = sStandardCurves[(int)Style.HardIn].keys; + keys[0].outTangent = 0; + keys[1].inTangent = 3f; + sStandardCurves[(int)Style.HardIn].keys = keys; + + sStandardCurves[(int)Style.HardOut] = AnimationCurve.Linear(0f, 0f, 1, 1f); + keys = sStandardCurves[(int)Style.HardOut].keys; + keys[0].outTangent = 3f; + keys[1].inTangent = 0; + sStandardCurves[(int)Style.HardOut].keys = keys; + + sStandardCurves[(int)Style.Linear] = AnimationCurve.Linear(0f, 0f, 1, 1f); + } + + /// + /// A normalized AnimationCurve specifying the interpolation curve + /// for this camera blend. Y-axis values must be in range [0,1] (internally clamped + /// within Blender) and time must be in range of [0, 1]. + /// + public AnimationCurve BlendCurve + { + get + { + if (m_Style == Style.Custom) + { + if (m_CustomCurve == null) + m_CustomCurve = AnimationCurve.EaseInOut(0f, 0f, 1, 1f); + return m_CustomCurve; + } + if (sStandardCurves == null) + CreateStandardCurves(); + return sStandardCurves[(int)m_Style]; + } + } + } + + /// + /// Point source for blending. It's not really a virtual camera, but takes + /// a CameraState and exposes it as a virtual camera for the purposes of blending. + /// + internal class StaticPointVirtualCamera : ICinemachineCamera + { + public StaticPointVirtualCamera(CameraState state, string name) { State = state; Name = name; } + public void SetState(CameraState state) { State = state; } + + public string Name { get; private set; } + public string Description { get { return ""; }} + public int Priority { get; set; } + public Transform LookAt { get; set; } + public Transform Follow { get; set; } + public CameraState State { get; private set; } + public GameObject VirtualCameraGameObject { get { return null; } } + public bool IsValid { get { return true; } } + public ICinemachineCamera ParentCamera { get { return null; } } + public bool IsLiveChild(ICinemachineCamera vcam, bool dominantChildOnly = false) { return false; } + public void UpdateCameraState(Vector3 worldUp, float deltaTime) {} + public void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) {} + public void OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) {} + public void OnTargetObjectWarped(Transform target, Vector3 positionDelta) {} + } + + /// + /// Blend result source for blending. This exposes a CinemachineBlend object + /// as an ersatz virtual camera for the purposes of blending. This achieves the purpose + /// of blending the result oif a blend. + /// + internal class BlendSourceVirtualCamera : ICinemachineCamera + { + public BlendSourceVirtualCamera(CinemachineBlend blend) { Blend = blend; } + public CinemachineBlend Blend { get; set; } + + public string Name { get { return "Mid-blend"; }} + public string Description { get { return Blend == null ? "(null)" : Blend.Description; }} + public int Priority { get; set; } + public Transform LookAt { get; set; } + public Transform Follow { get; set; } + public CameraState State { get; private set; } + public GameObject VirtualCameraGameObject { get { return null; } } + public bool IsValid { get { return Blend != null && Blend.IsValid; } } + public ICinemachineCamera ParentCamera { get { return null; } } + public bool IsLiveChild(ICinemachineCamera vcam, bool dominantChildOnly = false) + { return Blend != null && (vcam == Blend.CamA || vcam == Blend.CamB); } + public CameraState CalculateNewState(float deltaTime) { return State; } + public void UpdateCameraState(Vector3 worldUp, float deltaTime) + { + if (Blend != null) + { + Blend.UpdateCameraState(worldUp, deltaTime); + State = Blend.State; + } + } + public void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) {} + public void OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) {} + public void OnTargetObjectWarped(Transform target, Vector3 positionDelta) {} + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlend.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlend.cs.meta new file mode 100644 index 00000000..4c6862af --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlend.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3fed8968b96eb924891cf86f5c51f661 +timeCreated: 1484407000 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlenderSettings.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlenderSettings.cs new file mode 100644 index 00000000..84275f8c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlenderSettings.cs @@ -0,0 +1,104 @@ +using UnityEngine; +using System; + +namespace Cinemachine +{ + /// + /// Asset that defines the rules for blending between Virtual Cameras. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + [HelpURL(Documentation.BaseURL + "manual/CinemachineBlending.html")] + public sealed class CinemachineBlenderSettings : ScriptableObject + { + /// + /// Container specifying how two specific Cinemachine Virtual Cameras + /// blend together. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public struct CustomBlend + { + /// When blending from this camera + [Tooltip("When blending from this camera")] + public string m_From; + + /// When blending to this camera + [Tooltip("When blending to this camera")] + public string m_To; + + /// Blend curve definition + [CinemachineBlendDefinitionProperty] + [Tooltip("Blend curve definition")] + public CinemachineBlendDefinition m_Blend; + } + /// The array containing explicitly defined blends between two Virtual Cameras + [Tooltip("The array containing explicitly defined blends between two Virtual Cameras")] + public CustomBlend[] m_CustomBlends = null; + + /// Internal API for the inspector editopr: a label to represent any camera + public const string kBlendFromAnyCameraLabel = "**ANY CAMERA**"; + + /// + /// Attempts to find a blend definition which matches the to and from cameras as specified. + /// If no match is found, the function returns the supplied default blend. + /// + /// The game object name of the from camera + /// The game object name of the to camera + /// Blend to return if no custom blend found. + /// + public CinemachineBlendDefinition GetBlendForVirtualCameras( + string fromCameraName, string toCameraName, CinemachineBlendDefinition defaultBlend) + { + bool gotAnyToMe = false; + bool gotMeToAny = false; + CinemachineBlendDefinition anyToMe = defaultBlend; + CinemachineBlendDefinition meToAny = defaultBlend; + if (m_CustomBlends != null) + { + for (int i = 0; i < m_CustomBlends.Length; ++i) + { + // Attempt to find direct name first + CustomBlend blendParams = m_CustomBlends[i]; + if ((blendParams.m_From == fromCameraName) + && (blendParams.m_To == toCameraName)) + { + return blendParams.m_Blend; + } + // If we come across applicable wildcards, remember them + if (blendParams.m_From == kBlendFromAnyCameraLabel) + { + if (!string.IsNullOrEmpty(toCameraName) + && blendParams.m_To == toCameraName) + { + if (!gotAnyToMe) + anyToMe = blendParams.m_Blend; + gotAnyToMe = true; + } + else if (blendParams.m_To == kBlendFromAnyCameraLabel) + defaultBlend = blendParams.m_Blend; + } + else if (blendParams.m_To == kBlendFromAnyCameraLabel + && !string.IsNullOrEmpty(fromCameraName) + && blendParams.m_From == fromCameraName) + { + if (!gotMeToAny) + meToAny = blendParams.m_Blend; + gotMeToAny = true; + } + } + } + + // If nothing is found try to find wild card blends from any + // camera to our new one + if (gotAnyToMe) + return anyToMe; + + // Still have nothing? Try from our camera to any camera + if (gotMeToAny) + return meToAny; + + return defaultBlend; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlenderSettings.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlenderSettings.cs.meta new file mode 100644 index 00000000..8152b65e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineBlenderSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 36baaa8bdcb9d8b49b9199833965d2c3 +timeCreated: 1486497606 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineComponentBase.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineComponentBase.cs new file mode 100644 index 00000000..008152c0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineComponentBase.cs @@ -0,0 +1,199 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// + /// An abstract representation of a mutator acting on a Cinemachine Virtual Camera + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.API)] + public abstract class CinemachineComponentBase : MonoBehaviour + { + /// Useful constant for very small floats + protected const float Epsilon = Utility.UnityVectorExtensions.Epsilon; + + /// Get the associated CinemachineVirtualCameraBase + public CinemachineVirtualCameraBase VirtualCamera + { + get + { + if (m_vcamOwner == null) + m_vcamOwner = GetComponent(); + if (m_vcamOwner == null && transform.parent != null) + m_vcamOwner = transform.parent.GetComponent(); + return m_vcamOwner; + } + } + CinemachineVirtualCameraBase m_vcamOwner; + + /// Returns the owner vcam's Follow target. + public Transform FollowTarget + { + get + { + CinemachineVirtualCameraBase vcam = VirtualCamera; + return vcam == null ? null : vcam.ResolveFollow(vcam.Follow); + } + } + + /// Returns the owner vcam's LookAt target. + public Transform LookAtTarget + { + get + { + CinemachineVirtualCameraBase vcam = VirtualCamera; + return vcam == null ? null : vcam.ResolveLookAt(vcam.LookAt); + } + } + + /// Get Follow target as ICinemachineTargetGroup, or null if target is not a group + public ICinemachineTargetGroup AbstractFollowTargetGroup + { + get + { + CinemachineVirtualCameraBase vcam = VirtualCamera; + return vcam == null ? null : vcam.AbstractFollowTargetGroup; + } + } + + /// Get Follow target as CinemachineTargetGroup, or null if target is not a CinemachineTargetGroup + public CinemachineTargetGroup FollowTargetGroup => AbstractFollowTargetGroup as CinemachineTargetGroup; + + /// Get the position of the Follow target. Special handling: If the Follow target is + /// a VirtualCamera, returns the vcam State's position, not the transform's position + public Vector3 FollowTargetPosition + { + get + { + var vcam = VirtualCamera.FollowTargetAsVcam; + if (vcam != null) + return vcam.State.FinalPosition; + Transform target = FollowTarget; + if (target != null) + return TargetPositionCache.GetTargetPosition(target); + return Vector3.zero; + } + } + + /// Get the rotation of the Follow target. Special handling: If the Follow target is + /// a VirtualCamera, returns the vcam State's rotation, not the transform's rotation + public Quaternion FollowTargetRotation + { + get + { + var vcam = VirtualCamera.FollowTargetAsVcam; + if (vcam != null) + return vcam.State.FinalOrientation; + Transform target = FollowTarget; + if (target != null) + return TargetPositionCache.GetTargetRotation(target); + return Quaternion.identity; + } + } + + /// Get LookAt target as ICinemachineTargetGroup, or null if target is not a group + public ICinemachineTargetGroup AbstractLookAtTargetGroup => VirtualCamera.AbstractLookAtTargetGroup; + + /// Get LookAt target as CinemachineTargetGroup, or null if target is not a CinemachineTargetGroup + public CinemachineTargetGroup LookAtTargetGroup => AbstractLookAtTargetGroup as CinemachineTargetGroup; + + /// Get the position of the LookAt target. Special handling: If the LookAt target is + /// a VirtualCamera, returns the vcam State's position, not the transform's position + public Vector3 LookAtTargetPosition + { + get + { + var vcam = VirtualCamera.LookAtTargetAsVcam; + if (vcam != null) + return vcam.State.FinalPosition; + Transform target = LookAtTarget; + if (target != null) + return TargetPositionCache.GetTargetPosition(target); + return Vector3.zero; + } + } + + /// Get the rotation of the LookAt target. Special handling: If the LookAt target is + /// a VirtualCamera, returns the vcam State's rotation, not the transform's rotation + public Quaternion LookAtTargetRotation + { + get + { + var vcam = VirtualCamera.LookAtTargetAsVcam; + if (vcam != null) + return vcam.State.FinalOrientation; + Transform target = LookAtTarget; + if (target != null) + return TargetPositionCache.GetTargetRotation(target); + return Quaternion.identity; + } + } + + /// Returns the owner vcam's CameraState. + public CameraState VcamState + { + get + { + CinemachineVirtualCameraBase vcam = VirtualCamera; + return vcam == null ? CameraState.Default : vcam.State; + } + } + + /// Returns true if this object is enabled and set up to produce results. + public abstract bool IsValid { get; } + + /// Override this to do such things as offset the RefereceLookAt. + /// Base class implementation does nothing. + /// Input state that must be mutated + /// Current effective deltaTime + public virtual void PrePipelineMutateCameraState(ref CameraState curState, float deltaTime) {} + + /// What part of the pipeline this fits into + public abstract CinemachineCore.Stage Stage { get; } + + /// Special for Body Stage compoments that want to be applied after Aim + /// stage because they use the aim as inout for the procedural placement + public virtual bool BodyAppliesAfterAim { get { return false; } } + + /// Mutates the camera state. This state will later be applied to the camera. + /// Input state that must be mutated + /// Delta time for time-based effects (ignore if less than 0) + public abstract void MutateCameraState(ref CameraState curState, float deltaTime); + + /// Notification that this virtual camera is going live. + /// Base class implementation does nothing. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + /// Transition settings for this vcam + /// True if the vcam should do an internal update as a result of this call + public virtual bool OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime, + ref CinemachineVirtualCameraBase.TransitionParams transitionParams) + { return false; } + + /// This is called to notify the component that a target got warped, + /// so that the component can update its internal state to make the camera + /// also warp seamlessy. Base class implementation does nothing. + /// The object that was warped + /// The amount the target's position changed + public virtual void OnTargetObjectWarped(Transform target, Vector3 positionDelta) {} + + /// + /// Force the virtual camera to assume a given position and orientation. + /// Procedural placement then takes over. + /// Base class implementation does nothing. + /// Worldspace pposition to take + /// Worldspace orientation to take + public virtual void ForceCameraPosition(Vector3 pos, Quaternion rot) {} + + /// + /// Report maximum damping time needed for this component. + /// Only used in editor for timeline scrubbing. + /// + /// Highest damping setting in this component + public virtual float GetMaxDampTime() { return 0; } + + /// Components that require user input should implement this and return true. + public virtual bool RequiresUserInput => false; + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineComponentBase.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineComponentBase.cs.meta new file mode 100644 index 00000000..780afda7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineComponentBase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b2f73bdc979030e419f33c10913639cc +timeCreated: 1510078351 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineCore.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineCore.cs new file mode 100644 index 00000000..a923c132 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineCore.cs @@ -0,0 +1,550 @@ +using UnityEngine; +using System.Collections.Generic; +using UnityEngine.Assertions; + +namespace Cinemachine +{ + internal static class Documentation + { + /// This must be used like + /// [HelpURL(Documentation.BaseURL + "api/some-page.html")] + /// or + /// [HelpURL(Documentation.BaseURL + "manual/some-page.html")] + /// It cannot support String.Format nor string interpolation + public const string BaseURL = "https://docs.unity3d.com/Packages/com.unity.cinemachine@2.9/"; + } + + /// A singleton that manages complete lists of CinemachineBrain and, + /// Cinemachine Virtual Cameras, and the priority queue. Provides + /// services to keeping track of whether Cinemachine Virtual Cameras have + /// been updated each frame. + public sealed class CinemachineCore + { + /// Data version string. Used to upgrade from legacy projects + public static readonly int kStreamingVersion = 20170927; + + /// + /// Stages in the Cinemachine Component pipeline, used for + /// UI organization>. This enum defines the pipeline order. + /// + public enum Stage + { + /// Second stage: position the camera in space + Body, + + /// Third stage: orient the camera to point at the target + Aim, + + /// Final pipeline stage: apply noise (this is done separately, in the + /// Correction channel of the CameraState) + Noise, + + /// Post-correction stage. This is invoked on all virtual camera + /// types, after the pipeline is complete + Finalize + }; + + private static CinemachineCore sInstance = null; + + /// Get the singleton instance + public static CinemachineCore Instance + { + get + { + if (sInstance == null) + sInstance = new CinemachineCore(); + return sInstance; + } + } + + /// + /// If true, show hidden Cinemachine objects, to make manual script mapping possible. + /// + public static bool sShowHiddenObjects = false; + + /// Delegate for overriding Unity's default input system. Returns the value + /// of the named axis. + public delegate float AxisInputDelegate(string axisName); + + /// Delegate for overriding Unity's default input system. + /// If you set this, then your delegate will be called instead of + /// System.Input.GetAxis(axisName) whenever in-game user input is needed. +#if ENABLE_LEGACY_INPUT_MANAGER + public static AxisInputDelegate GetInputAxis = UnityEngine.Input.GetAxis; +#else + public static AxisInputDelegate GetInputAxis = delegate { return 0; }; +#endif + + /// + /// If non-negative, cinemachine will update with this uniform delta time. + /// Usage is for timelines in manual update mode. + /// + public static float UniformDeltaTimeOverride = -1; + + /// + /// Replacement for Time.deltaTime, taking UniformDeltaTimeOverride into account. + /// + public static float DeltaTime => UniformDeltaTimeOverride >= 0 ? UniformDeltaTimeOverride : Time.deltaTime; + + /// + /// If non-negative, cinemachine willuse this value whenever it wants current game time. + /// Usage is for master timelines in manual update mode, for deterministic behaviour. + /// + public static float CurrentTimeOverride = -1; + + /// + /// Replacement for Time.time, taking CurrentTimeTimeOverride into account. + /// + public static float CurrentTime => CurrentTimeOverride >= 0 ? CurrentTimeOverride : Time.time; + + /// + /// Delegate for overriding a blend that is about to be applied to a transition. + /// A handler can either return the default blend, or a new blend specific to + /// current conditions. + /// + /// The outgoing virtual camera + /// Yhe incoming virtual camera + /// The blend that would normally be applied + /// The context in which the blend is taking place. + /// Can be a CinemachineBrain, or CinemachineStateDrivenCamera, or other manager + /// object that can initiate a blend + /// The blend definition to use for this transition. + public delegate CinemachineBlendDefinition GetBlendOverrideDelegate( + ICinemachineCamera fromVcam, ICinemachineCamera toVcam, + CinemachineBlendDefinition defaultBlend, + MonoBehaviour owner); + + /// + /// Delegate for overriding a blend that is about to be applied to a transition. + /// A handler can either return the default blend, or a new blend specific to + /// current conditions. + /// + public static GetBlendOverrideDelegate GetBlendOverride; + + /// This event will fire after a brain updates its Camera + public static CinemachineBrain.BrainEvent CameraUpdatedEvent = new CinemachineBrain.BrainEvent(); + + /// This event will fire after a brain updates its Camera + public static CinemachineBrain.BrainEvent CameraCutEvent = new CinemachineBrain.BrainEvent(); + + /// List of all active CinemachineBrains. + private List mActiveBrains = new List(); + + /// Access the array of active CinemachineBrains in the scene + public int BrainCount { get { return mActiveBrains.Count; } } + + /// Enables frame delta compensation for not updated frames. False is useful for deterministic test results. + internal static bool FrameDeltaCompensationEnabled = true; + + /// Access the array of active CinemachineBrains in the scene + /// without generating garbage + /// Index of the brain to access, range 0-BrainCount + /// The brain at the specified index + public CinemachineBrain GetActiveBrain(int index) + { + return mActiveBrains[index]; + } + + /// Called when a CinemachineBrain is enabled. + internal void AddActiveBrain(CinemachineBrain brain) + { + // First remove it, just in case it's being added twice + RemoveActiveBrain(brain); + mActiveBrains.Insert(0, brain); + } + + /// Called when a CinemachineBrain is disabled. + internal void RemoveActiveBrain(CinemachineBrain brain) + { + mActiveBrains.Remove(brain); + } + + /// List of all active ICinemachineCameras. + private List mActiveCameras = new List(); + + private bool m_ActiveCamerasAreSorted; + private int m_ActivationSequence; + + /// + /// List of all active Cinemachine Virtual Cameras for all brains. + /// This list is kept sorted by priority. + /// + public int VirtualCameraCount { get { return mActiveCameras.Count; } } + + /// Access the priority-sorted array of active ICinemachineCamera in the scene + /// without generating garbage + /// Index of the camera to access, range 0-VirtualCameraCount + /// The virtual camera at the specified index + public CinemachineVirtualCameraBase GetVirtualCamera(int index) + { + if (!m_ActiveCamerasAreSorted && mActiveCameras.Count > 1) + { + mActiveCameras.Sort((x, y) => + x.Priority == y.Priority ? y.m_ActivationId.CompareTo(x.m_ActivationId) : y.Priority.CompareTo(x.Priority)); + m_ActiveCamerasAreSorted = true; + } + return mActiveCameras[index]; + } + + /// Called when a Cinemachine Virtual Camera is enabled. + internal void AddActiveCamera(CinemachineVirtualCameraBase vcam) + { + Assert.IsFalse(mActiveCameras.Contains(vcam)); + vcam.m_ActivationId = m_ActivationSequence++; + mActiveCameras.Add(vcam); + m_ActiveCamerasAreSorted = false; + } + + /// Called when a Cinemachine Virtual Camera is disabled. + internal void RemoveActiveCamera(CinemachineVirtualCameraBase vcam) + { + if (mActiveCameras.Contains(vcam)) + mActiveCameras.Remove(vcam); + } + + /// Called when a Cinemachine Virtual Camera is destroyed. + internal void CameraDestroyed(CinemachineVirtualCameraBase vcam) + { + if (mActiveCameras.Contains(vcam)) + mActiveCameras.Remove(vcam); + if (mUpdateStatus != null && mUpdateStatus.ContainsKey(vcam)) + mUpdateStatus.Remove(vcam); + } + + // Registry of all vcams that are present, active or not + private List> mAllCameras + = new List>(); + + /// Called when a vcam is enabled. + internal void CameraEnabled(CinemachineVirtualCameraBase vcam) + { + int parentLevel = 0; + for (ICinemachineCamera p = vcam.ParentCamera; p != null; p = p.ParentCamera) + ++parentLevel; + while (mAllCameras.Count <= parentLevel) + mAllCameras.Add(new List()); + mAllCameras[parentLevel].Add(vcam); + } + + /// Called when a vcam is disabled. + internal void CameraDisabled(CinemachineVirtualCameraBase vcam) + { + for (int i = 0; i < mAllCameras.Count; ++i) + mAllCameras[i].Remove(vcam); + if (mRoundRobinVcamLastFrame == vcam) + mRoundRobinVcamLastFrame = null; + } + + CinemachineVirtualCameraBase mRoundRobinVcamLastFrame = null; + + static float s_LastUpdateTime; + static int s_FixedFrameCount; // Current fixed frame count + + /// Update all the active vcams in the scene, in the correct dependency order. + internal void UpdateAllActiveVirtualCameras(int layerMask, Vector3 worldUp, float deltaTime) + { + // Setup for roundRobin standby updating + var filter = m_CurrentUpdateFilter; + bool canUpdateStandby = (filter != UpdateFilter.SmartFixed); // never in smart fixed + CinemachineVirtualCameraBase currentRoundRobin = mRoundRobinVcamLastFrame; + + // Update the fixed frame count + float now = CinemachineCore.CurrentTime; + if (now != s_LastUpdateTime) + { + s_LastUpdateTime = now; + if ((filter & ~UpdateFilter.Smart) == UpdateFilter.Fixed) + ++s_FixedFrameCount; + } + + // Update the leaf-most cameras first + for (int i = mAllCameras.Count-1; i >= 0; --i) + { + var sublist = mAllCameras[i]; + for (int j = sublist.Count - 1; j >= 0; --j) + { + var vcam = sublist[j]; + if (canUpdateStandby && vcam == mRoundRobinVcamLastFrame) + currentRoundRobin = null; // update the next roundrobin candidate + if (vcam == null) + { + sublist.RemoveAt(j); + continue; // deleted + } + if (vcam.m_StandbyUpdate == CinemachineVirtualCameraBase.StandbyUpdateMode.Always + || IsLive(vcam)) + { + // Skip this vcam if it's not on the layer mask + if (((1 << vcam.gameObject.layer) & layerMask) != 0) + UpdateVirtualCamera(vcam, worldUp, deltaTime); + } + else if (currentRoundRobin == null + && mRoundRobinVcamLastFrame != vcam + && canUpdateStandby + && vcam.m_StandbyUpdate != CinemachineVirtualCameraBase.StandbyUpdateMode.Never + && vcam.isActiveAndEnabled) + { + // Do the round-robin update + m_CurrentUpdateFilter &= ~UpdateFilter.Smart; // force it + UpdateVirtualCamera(vcam, worldUp, deltaTime); + m_CurrentUpdateFilter = filter; + currentRoundRobin = vcam; + } + } + } + + // Did we manage to update a roundrobin? + if (canUpdateStandby) + { + if (currentRoundRobin == mRoundRobinVcamLastFrame) + currentRoundRobin = null; // take the first candidate + mRoundRobinVcamLastFrame = currentRoundRobin; + } + } + + /// + /// Update a single Cinemachine Virtual Camera if and only if it + /// hasn't already been updated this frame. Always update vcams via this method. + /// Calling this more than once per frame for the same camera will have no effect. + /// + internal void UpdateVirtualCamera( + CinemachineVirtualCameraBase vcam, Vector3 worldUp, float deltaTime) + { + if (vcam == null) + return; + + bool isSmartUpdate = (m_CurrentUpdateFilter & UpdateFilter.Smart) == UpdateFilter.Smart; + UpdateTracker.UpdateClock updateClock + = (UpdateTracker.UpdateClock)(m_CurrentUpdateFilter & ~UpdateFilter.Smart); + + // If we're in smart update mode and the target moved, then we must examine + // how the target has been moving recently in order to figure out whether to + // update now + if (isSmartUpdate) + { + Transform updateTarget = GetUpdateTarget(vcam); + if (updateTarget == null) + return; // vcam deleted + if (UpdateTracker.GetPreferredUpdate(updateTarget) != updateClock) + return; // wrong clock + } + + // Have we already been updated this frame? + if (mUpdateStatus == null) + mUpdateStatus = new Dictionary(); + if (!mUpdateStatus.TryGetValue(vcam, out UpdateStatus status)) + { + status = new UpdateStatus + { + lastUpdateDeltaTime = -2, + lastUpdateMode = UpdateTracker.UpdateClock.Late, + lastUpdateFrame = Time.frameCount + 2, // so that frameDelta ends up negative + lastUpdateFixedFrame = s_FixedFrameCount + 2 + }; + mUpdateStatus.Add(vcam, status); + } + + int frameDelta = (updateClock == UpdateTracker.UpdateClock.Late) + ? Time.frameCount - status.lastUpdateFrame + : s_FixedFrameCount - status.lastUpdateFixedFrame; + + if (deltaTime >= 0) + { + if (frameDelta == 0 && status.lastUpdateMode == updateClock + && status.lastUpdateDeltaTime == deltaTime) + return; // already updated + if (FrameDeltaCompensationEnabled && frameDelta > 0) + deltaTime *= frameDelta; // try to catch up if multiple frames + } + +//Debug.Log((vcam.ParentCamera == null ? "" : vcam.ParentCamera.Name + ".") + vcam.Name + ": frame " + Time.frameCount + "/" + status.lastUpdateFixedFrame + ", " + CurrentUpdateFilter + ", deltaTime = " + deltaTime); + vcam.InternalUpdateCameraState(worldUp, deltaTime); + status.lastUpdateFrame = Time.frameCount; + status.lastUpdateFixedFrame = s_FixedFrameCount; + status.lastUpdateMode = updateClock; + status.lastUpdateDeltaTime = deltaTime; + } + + class UpdateStatus + { + public int lastUpdateFrame; + public int lastUpdateFixedFrame; + public UpdateTracker.UpdateClock lastUpdateMode; + public float lastUpdateDeltaTime; + } + Dictionary mUpdateStatus; + + [RuntimeInitializeOnLoadMethod] + static void InitializeModule() + { + CinemachineCore.Instance.mUpdateStatus = new Dictionary(); + } + + /// Internal use only + internal enum UpdateFilter + { + Fixed = UpdateTracker.UpdateClock.Fixed, + Late = UpdateTracker.UpdateClock.Late, + Smart = 8, // meant to be or'ed with the others + SmartFixed = Smart | Fixed, + SmartLate = Smart | Late + } + internal UpdateFilter m_CurrentUpdateFilter; + + private static Transform GetUpdateTarget(CinemachineVirtualCameraBase vcam) + { + if (vcam == null || vcam.gameObject == null) + return null; + Transform target = vcam.LookAt; + if (target != null) + return target; + target = vcam.Follow; + if (target != null) + return target; + // If no target, use the vcam itself + return vcam.transform; + } + + /// Internal use only - inspector + internal UpdateTracker.UpdateClock GetVcamUpdateStatus(CinemachineVirtualCameraBase vcam) + { + UpdateStatus status; + if (mUpdateStatus == null || !mUpdateStatus.TryGetValue(vcam, out status)) + return UpdateTracker.UpdateClock.Late; + return status.lastUpdateMode; + } + + /// + /// Is this virtual camera currently actively controlling any Camera? + /// + /// The virtual camea in question + /// True if the vcam is currently driving a Brain + public bool IsLive(ICinemachineCamera vcam) + { + if (vcam != null) + { + for (int i = 0; i < BrainCount; ++i) + { + CinemachineBrain b = GetActiveBrain(i); + if (b != null && b.IsLive(vcam)) + return true; + } + } + return false; + } + + /// + /// Checks if the vcam is live as part of an outgoing blend in any active CinemachineBrain. + /// Does not check whether the vcam is also the current active vcam. + /// + /// The virtual camera to check + /// True if the virtual camera is part of a live outgoing blend, false otherwise + public bool IsLiveInBlend(ICinemachineCamera vcam) + { + if (vcam != null) + { + for (int i = 0; i < BrainCount; ++i) + { + CinemachineBrain b = GetActiveBrain(i); + if (b != null && b.IsLiveInBlend(vcam)) + return true; + } + } + return false; + } + + /// + /// Signal that the virtual has been activated. + /// If the camera is live, then all CinemachineBrains that are showing it will + /// send an activation event. + /// + /// The virtual camera being activated + /// The previously-active virtual camera (may be null) + public void GenerateCameraActivationEvent(ICinemachineCamera vcam, ICinemachineCamera vcamFrom) + { + if (vcam != null) + { + for (int i = 0; i < BrainCount; ++i) + { + CinemachineBrain b = GetActiveBrain(i); + if (b != null && b.IsLive(vcam)) + b.m_CameraActivatedEvent.Invoke(vcam, vcamFrom); + } + } + } + + /// + /// Signal that the virtual camera's content is discontinuous WRT the previous frame. + /// If the camera is live, then all CinemachineBrains that are showing it will send a cut event. + /// + /// The virtual camera being cut to + public void GenerateCameraCutEvent(ICinemachineCamera vcam) + { + if (vcam != null) + { + for (int i = 0; i < BrainCount; ++i) + { + CinemachineBrain b = GetActiveBrain(i); + if (b != null && b.IsLive(vcam)) + { + if (b.m_CameraCutEvent != null) + b.m_CameraCutEvent.Invoke(b); + if (CameraCutEvent != null) + CameraCutEvent.Invoke(b); + } + } + } + } + + /// + /// Try to find a CinemachineBrain to associate with a + /// Cinemachine Virtual Camera. The first CinemachineBrain + /// in which this Cinemachine Virtual Camera is live will be used. + /// If none, then the first active CinemachineBrain with the correct + /// layer filter will be used. + /// Brains with OutputCamera == null will not be returned. + /// Final result may be null. + /// + /// Virtual camera whose potential brain we need. + /// First CinemachineBrain found that might be + /// appropriate for this vcam, or null + public CinemachineBrain FindPotentialTargetBrain(CinemachineVirtualCameraBase vcam) + { + if (vcam != null) + { + int numBrains = BrainCount; + for (int i = 0; i < numBrains; ++i) + { + CinemachineBrain b = GetActiveBrain(i); + if (b != null && b.OutputCamera != null && b.IsLive(vcam)) + return b; + } + int layer = 1 << vcam.gameObject.layer; + for (int i = 0; i < numBrains; ++i) + { + CinemachineBrain b = GetActiveBrain(i); + if (b != null && b.OutputCamera != null && (b.OutputCamera.cullingMask & layer) != 0) + return b; + } + } + return null; + } + + /// Call this to notify all virtual camewras that may be tracking a target + /// that the target's position has suddenly warped to somewhere else, so that + /// the virtual cameras can update their internal state to make the camera + /// warp seamlessy along with the target. + /// + /// All virtual cameras are iterated so this call will work no matter how many + /// are tracking the target, and whether they are active or inactive. + /// + /// The object that was warped + /// The amount the target's position changed + public void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + int numVcams = VirtualCameraCount; + for (int i = 0; i < numVcams; ++i) + GetVirtualCamera(i).OnTargetObjectWarped(target, positionDelta); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineCore.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineCore.cs.meta new file mode 100644 index 00000000..032ca22f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineCore.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c7d73314dfe49f8458398c6dc8edcda8 +timeCreated: 1484001119 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineDebug.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineDebug.cs new file mode 100644 index 00000000..5d30fe5b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineDebug.cs @@ -0,0 +1,90 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_UNITY_IMGUI +#endif + +using UnityEngine; +using System.Collections.Generic; +using System.Text; + +namespace Cinemachine.Utility +{ + /// Manages onscreen positions for Cinemachine debugging output + public class CinemachineDebug + { + static HashSet mClients; + +#if CINEMACHINE_UNITY_IMGUI + /// Release a screen rectangle previously obtained through GetScreenPos() + /// The client caller. Used as a handle. + public static void ReleaseScreenPos(Object client) + { + if (mClients != null && mClients.Contains(client)) + mClients.Remove(client); + } + + /// Reserve an on-screen rectangle for debugging output. + /// The client caller. This is used as a handle. + /// Sample text, for determining rectangle size + /// What style will be used to draw, used here for + /// determining rect size + /// An area on the game screen large enough to print the text + /// in the style indicated + public static Rect GetScreenPos(Object client, string text, GUIStyle style) + { + if (mClients == null) + mClients = new HashSet(); + if (!mClients.Contains(client)) + mClients.Add(client); + + var pos = Vector2.zero; + Vector2 size = style.CalcSize(new GUIContent(text)); + if (mClients != null) + { + foreach (var c in mClients) + { + if (c == client) + break; + pos.y += size.y; + } + } + return new Rect(pos, size); + } +#endif + + /// + /// Delegate for OnGUI debugging. + /// This will be called by the CinemachineBrain in its OnGUI (editor only) + /// + public delegate void OnGUIDelegate(); + + /// + /// Delegate for OnGUI debugging. + /// This will be called by the CinemachineBrain in its OnGUI (editor only) + /// + public static OnGUIDelegate OnGUIHandlers; + + private static List mAvailableStringBuilders; + + /// Get a preallocated StringBuilder from the pool + /// The preallocated StringBuilder from the pool. + /// Client must call ReturnToPool when done + public static StringBuilder SBFromPool() + { + if (mAvailableStringBuilders == null || mAvailableStringBuilders.Count == 0) + return new StringBuilder(); + var sb = mAvailableStringBuilders[mAvailableStringBuilders.Count - 1]; + mAvailableStringBuilders.RemoveAt(mAvailableStringBuilders.Count - 1); + sb.Length = 0; + return sb; + } + + /// Return a StringBuilder to the preallocated pool + /// The string builder object to return to the pool + public static void ReturnToPool(StringBuilder sb) + { + if (mAvailableStringBuilders == null) + mAvailableStringBuilders = new List(); + mAvailableStringBuilders.Add(sb); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineDebug.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineDebug.cs.meta new file mode 100644 index 00000000..da7791e3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineDebug.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 10e6f8c815d3c4d45b1d98b951d53912 +timeCreated: 1481654954 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineExtension.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineExtension.cs new file mode 100644 index 00000000..e4074b5f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineExtension.cs @@ -0,0 +1,178 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace Cinemachine +{ + /// + /// Base class for a Cinemachine Virtual Camera extension module. + /// Hooks into the Cinemachine Pipeline. Use this to add extra processing + /// to the vcam, modifying its generated state + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.API)] + public abstract class CinemachineExtension : MonoBehaviour + { + /// Useful constant for very small floats + protected const float Epsilon = Utility.UnityVectorExtensions.Epsilon; + + /// Get the CinemachineVirtualCamera to which this extension is attached + public CinemachineVirtualCameraBase VirtualCamera + { + get + { + if (m_vcamOwner == null) + m_vcamOwner = GetComponent(); + return m_vcamOwner; + } + } + CinemachineVirtualCameraBase m_vcamOwner; + + /// Connect to virtual camera pipeline. + /// Override implementations must call this base implementation + protected virtual void Awake() + { + ConnectToVcam(true); + } + + /// Does nothing. It's here for the little checkbox in the inspector. + protected virtual void OnEnable() {} + +#if UNITY_EDITOR + [UnityEditor.Callbacks.DidReloadScripts] + static void OnScriptReload() + { + var extensions = Resources.FindObjectsOfTypeAll(); + // Sort by execution order + System.Array.Sort(extensions, (x, y) => + UnityEditor.MonoImporter.GetExecutionOrder(UnityEditor.MonoScript.FromMonoBehaviour(x)) + - UnityEditor.MonoImporter.GetExecutionOrder(UnityEditor.MonoScript.FromMonoBehaviour(y))); + foreach (var e in extensions) + e.ConnectToVcam(true); + } +#endif + /// Disconnect from virtual camera pipeline. + /// Override implementations must call this base implementation + protected virtual void OnDestroy() + { + ConnectToVcam(false); + } + + internal void EnsureStarted() { ConnectToVcam(true); } + + /// Connect to virtual camera. Implementation must be safe to be called + /// redundantly. Override implementations must call this base implementation + /// True if connecting, false if disconnecting + protected virtual void ConnectToVcam(bool connect) + { + if (connect && VirtualCamera == null) + Debug.LogError("CinemachineExtension requires a Cinemachine Virtual Camera component"); + if (VirtualCamera != null) + { + if (connect) + VirtualCamera.AddExtension(this); + else + VirtualCamera.RemoveExtension(this); + } + mExtraState = null; + } + + /// Override this to do such things as offset the RefereceLookAt. + /// Base class implementation does nothing. + /// The virtual camera being processed + /// Input state that must be mutated + /// The current applicable deltaTime + public virtual void PrePipelineMutateCameraStateCallback( + CinemachineVirtualCameraBase vcam, ref CameraState curState, float deltaTime) {} + + /// Legacy support. This is only here to avoid changing the API + /// to make PostPipelineStageCallback() public + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + public void InvokePostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + PostPipelineStageCallback(vcam, stage, ref state, deltaTime); + } + + /// + /// This callback will be called after the virtual camera has implemented + /// each stage in the pipeline. This method may modify the referenced state. + /// If deltaTime less than 0, reset all state info and perform no damping. + /// + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected abstract void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime); + + /// This is called to notify the extension that a target got warped, + /// so that the extension can update its internal state to make the camera + /// also warp seamlessy. Base class implementation does nothing. + /// The object that was warped + /// The amount the target's position changed + public virtual void OnTargetObjectWarped(Transform target, Vector3 positionDelta) {} + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public virtual void ForceCameraPosition(Vector3 pos, Quaternion rot) {} + + /// Notification that this virtual camera is going live. + /// Base class implementation must be called by any overridden method. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + /// True to request a vcam update of internal state + public virtual bool OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) { return false; } + + /// + /// Report maximum damping time needed for this extension. + /// Only used in editor for timeline scrubbing. + /// + /// Highest damping setting in this extension + public virtual float GetMaxDampTime() { return 0; } + + /// Extensions that require user input should implement this and return true. + public virtual bool RequiresUserInput => false; + + /// Because extensions can be placed on manager cams and will in that + /// case be called for all the vcam children, vcam-specific state information + /// should be stored here. Just define a class to hold your state info + /// and use it exclusively when calling this. + /// /// The type of the extra state class + /// The virtual camera being processed + /// The extra state, cast as type T + protected T GetExtraState(ICinemachineCamera vcam) where T : class, new() + { + if (mExtraState == null) + mExtraState = new Dictionary(); + System.Object extra = null; + if (!mExtraState.TryGetValue(vcam, out extra)) + extra = mExtraState[vcam] = new T(); + return extra as T; + } + + /// Inefficient method to get all extra state info for all vcams. + /// Intended for Editor use only, not runtime! + /// + /// The extra state type + /// A dynamically-allocated list with all the extra states + protected List GetAllExtraStates() where T : class, new() + { + var list = new List(); + if (mExtraState != null) + foreach (var v in mExtraState) + list.Add(v.Value as T); + return list; + } + + private Dictionary mExtraState; + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineExtension.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineExtension.cs.meta new file mode 100644 index 00000000..9fb5bd6a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineExtension.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4fa53a91a43ae1a4bbf6b29961b45c38 +timeCreated: 1504804419 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineInputAxisDriver.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineInputAxisDriver.cs new file mode 100644 index 00000000..863437dd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineInputAxisDriver.cs @@ -0,0 +1,154 @@ +using System; +using UnityEngine; +using Cinemachine.Utility; + +namespace Cinemachine +{ + /// + /// Alternative to AxisState - a simplified structure to hold the definition of an input axis + /// + [Serializable] + public struct AxisBase + { + /// The current value of the axis + [NoSaveDuringPlay] + [Tooltip("The current value of the axis.")] + public float m_Value; + + /// The minimum value for the axis + [Tooltip("The minimum value for the axis")] + public float m_MinValue; + + /// The maximum value for the axis + [Tooltip("The maximum value for the axis")] + public float m_MaxValue; + + /// If checked, then the axis will wrap around at the min/max values, forming a loop + [Tooltip("If checked, then the axis will wrap around at the min/max values, forming a loop")] + public bool m_Wrap; + + /// + /// Call this from OnValidate() to validate the fields of this structure (applies clamps, etc). + /// + public void Validate() + { + m_MaxValue = Mathf.Clamp(m_MaxValue, m_MinValue, m_MaxValue); + } + } + + /// + /// A helper class to drive an input axis, as an alternative to the standard Cinemachine.AxisState. + /// Behaviour is a simple direct scaling of the input channel, with no max speed. + /// + [Serializable] + public struct CinemachineInputAxisDriver + { + /// Multiply the input by this amount prior to processing. Controls the input power + [Tooltip("Multiply the input by this amount prior to processing. Controls the input power.")] + public float multiplier; + + /// The amount of time in seconds it takes to accelerate to a higher speed + [Tooltip("The amount of time in seconds it takes to accelerate to a higher speed")] + public float accelTime; + + /// The amount of time in seconds it takes to decelerate to a lower speed + [Tooltip("The amount of time in seconds it takes to decelerate to a lower speed")] + public float decelTime; + + /// The name of this axis as specified in Unity Input manager. + /// Setting to an empty string will disable the automatic updating of this axis + [Tooltip("The name of this axis as specified in Unity Input manager. " + + "Setting to an empty string will disable the automatic updating of this axis")] + public string name; + + /// The value of the input axis. A value of 0 means no input. You can drive + /// "this directly from a custom input system, or you can set the Axis Name and + /// have the value driven by the internal Input Manager + [NoSaveDuringPlay] + [Tooltip("The value of the input axis. A value of 0 means no input. You can drive " + + "this directly from a custom input system, or you can set the Axis Name and " + + "have the value driven by the internal Input Manager")] + public float inputValue; + + /// Internal state + private float mCurrentSpeed; + const float Epsilon = UnityVectorExtensions.Epsilon; + + /// Call from OnValidate: Make sure the fields are sensible + public void Validate() + { + accelTime = Mathf.Max(0, accelTime); + decelTime = Mathf.Max(0, decelTime); + } + + /// Update the axis + /// current deltaTime + /// The AxisState to update + /// True if the axis value changed due to user input, false otherwise + public bool Update(float deltaTime, ref AxisBase axis) + { + if (!string.IsNullOrEmpty(name)) + { + try { inputValue = CinemachineCore.GetInputAxis(name); } + catch (ArgumentException) {} + //catch (ArgumentException e) { Debug.LogError(e.ToString()); } + } + + float input = inputValue * multiplier; + if (deltaTime < Epsilon) + mCurrentSpeed = 0; + else + { + float speed = input / deltaTime; + float dampTime = Mathf.Abs(speed) < Mathf.Abs(mCurrentSpeed) ? decelTime : accelTime; + speed = mCurrentSpeed + Damper.Damp(speed - mCurrentSpeed, dampTime, deltaTime); + mCurrentSpeed = speed; + + // Decelerate to the end points of the range if not wrapping + float range = axis.m_MaxValue - axis.m_MinValue; + if (!axis.m_Wrap && decelTime > Epsilon && range > Epsilon) + { + float v0 = ClampValue(ref axis, axis.m_Value); + float v = ClampValue(ref axis, v0 + speed * deltaTime); + float d = (speed > 0) ? axis.m_MaxValue - v : v - axis.m_MinValue; + if (d < (0.1f * range) && Mathf.Abs(speed) > Epsilon) + speed = Damper.Damp(v - v0, decelTime, deltaTime) / deltaTime; + } + input = speed * deltaTime; + } + + axis.m_Value = ClampValue(ref axis, axis.m_Value + input); + return Mathf.Abs(inputValue) > Epsilon; + } + + + /// Support for legacy AxisState struct: update the axis + /// current deltaTime + /// The AxisState to update + /// True if the axis value changed due to user input, false otherwise + public bool Update(float deltaTime, ref AxisState axis) + { + var a = new AxisBase + { + m_Value = axis.Value, + m_MinValue = axis.m_MinValue, + m_MaxValue = axis.m_MaxValue, + m_Wrap = axis.m_Wrap + }; + bool changed = Update(deltaTime, ref a); + axis.Value = a.m_Value; + return changed; + } + + float ClampValue(ref AxisBase axis, float v) + { + float r = axis.m_MaxValue - axis.m_MinValue; + if (axis.m_Wrap && r > Epsilon) + { + v = (v - axis.m_MinValue) % r; + v += axis.m_MinValue + ((v < 0) ? r : 0); + } + return Mathf.Clamp(v, axis.m_MinValue, axis.m_MaxValue); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineInputAxisDriver.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineInputAxisDriver.cs.meta new file mode 100644 index 00000000..e08d8c2b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineInputAxisDriver.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6d862fce0b0707949bb86058d777b116 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePathBase.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePathBase.cs new file mode 100644 index 00000000..12c05664 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePathBase.cs @@ -0,0 +1,399 @@ +using UnityEngine; +using Cinemachine.Utility; +using System; + +namespace Cinemachine +{ + /// Abstract base class for a world-space path, + /// suitable for a camera dolly track. + public abstract class CinemachinePathBase : MonoBehaviour + { + /// Path samples per waypoint + [Tooltip("Path samples per waypoint. This is used for calculating path distances.")] + [Range(1, 100)] + public int m_Resolution = 20; + + /// This class holds the settings that control how the path + /// will appear in the editor scene view. The path is not visible in the game view + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] public class Appearance + { + /// The color of the path itself when it is active in the editor + [Tooltip("The color of the path itself when it is active in the editor")] + public Color pathColor = Color.green; + /// The color of the path itself when it is inactive in the editor + [Tooltip("The color of the path itself when it is inactive in the editor")] + public Color inactivePathColor = Color.gray; + /// The width of the railroad-tracks that are drawn to represent the path + [Tooltip("The width of the railroad-tracks that are drawn to represent the path")] + [Range(0f, 10f)] + public float width = 0.2f; + } + /// The settings that control how the path + /// will appear in the editor scene view. + [Tooltip("The settings that control how the path will appear in the editor scene view.")] + public Appearance m_Appearance = new Appearance(); + + /// The minimum value for the path position + public abstract float MinPos { get; } + + /// The maximum value for the path position + public abstract float MaxPos { get; } + + /// True if the path ends are joined to form a continuous loop + public abstract bool Looped { get; } + + /// Get a standardized path position, taking spins into account if looped + /// Position along the path + /// Standardized position, between MinPos and MaxPos + public virtual float StandardizePos(float pos) + { + if (Looped && MaxPos > 0) + { + pos = pos % MaxPos; + if (pos < 0) + pos += MaxPos; + return pos; + } + return Mathf.Clamp(pos, 0, MaxPos); + } + + /// Get a worldspace position of a point along the path + /// Postion along the path. Need not be standardized. + /// World-space position of the point along at path at pos + public virtual Vector3 EvaluatePosition(float pos) => transform.TransformPoint(EvaluateLocalPosition(pos)); + + /// Get the tangent of the curve at a point along the path. + /// Postion along the path. Need not be standardized. + /// World-space direction of the path tangent. + /// Length of the vector represents the tangent strength + public virtual Vector3 EvaluateTangent(float pos) => transform.TransformDirection(EvaluateLocalTangent(pos)); + + /// Get the orientation the curve at a point along the path. + /// Postion along the path. Need not be standardized. + /// World-space orientation of the path + public virtual Quaternion EvaluateOrientation(float pos) => transform.rotation * EvaluateLocalOrientation(pos); + + /// Get a worldspace position of a point along the path + /// Postion along the path. Need not be standardized. + /// Local-space position of the point along at path at pos + public abstract Vector3 EvaluateLocalPosition(float pos); + + /// Get the tangent of the curve at a point along the path. + /// Postion along the path. Need not be standardized. + /// Local-space direction of the path tangent. + /// Length of the vector represents the tangent strength + public abstract Vector3 EvaluateLocalTangent(float pos); + + /// Get the orientation the curve at a point along the path. + /// Postion along the path. Need not be standardized. + /// Local-space orientation of the path + public abstract Quaternion EvaluateLocalOrientation(float pos); + + /// Find the closest point on the path to a given worldspace target point. + /// Performance could be improved by checking the bounding polygon of each segment, + /// and only entering the best segment(s) + /// Worldspace target that we want to approach + /// In what segment of the path to start the search. + /// A Segment is a section of path between 2 waypoints. + /// How many segments on either side of the startSegment + /// to search. -1 means no limit, i.e. search the entire path + /// We search a segment by dividing it into this many + /// straight pieces. The higher the number, the more accurate the result, but performance + /// is proportionally slower for higher numbers + /// The position along the path that is closest to the target point. + /// The value is in Path Units, not Distance units. + public virtual float FindClosestPoint( + Vector3 p, int startSegment, int searchRadius, int stepsPerSegment) + { + float start = MinPos; + float end = MaxPos; + if (searchRadius >= 0) + { + if (Looped) + { + var r = Mathf.Min(searchRadius, Mathf.FloorToInt((end - start) / 2f)); + start = startSegment - r; + end = startSegment + r + 1; + } + else + { + start = Mathf.Max(startSegment - searchRadius, MinPos); + end = Mathf.Min(startSegment + searchRadius + 1, MaxPos); + } + } + stepsPerSegment = Mathf.RoundToInt(Mathf.Clamp(stepsPerSegment, 1f, 100f)); + float stepSize = 1f / stepsPerSegment; + float bestPos = startSegment; + float bestDistance = float.MaxValue; + int iterations = (stepsPerSegment == 1) ? 1 : 3; + for (int i = 0; i < iterations; ++i) + { + Vector3 v0 = EvaluatePosition(start); + for (float f = start + stepSize; f <= end; f += stepSize) + { + Vector3 v = EvaluatePosition(f); + float t = p.ClosestPointOnSegment(v0, v); + float d = Vector3.SqrMagnitude(p - Vector3.Lerp(v0, v, t)); + if (d < bestDistance) + { + bestDistance = d; + bestPos = f - (1 - t) * stepSize; + } + v0 = v; + } + start = bestPos - stepSize; + end = bestPos + stepSize; + stepSize /= stepsPerSegment; + } + return bestPos; + } + + /// How to interpret the Path Position + public enum PositionUnits + { + /// Use PathPosition units, where 0 is first waypoint, 1 is second waypoint, etc + PathUnits, + /// Use Distance Along Path. Path will be sampled according to its Resolution + /// setting, and a distance lookup table will be cached internally + Distance, + /// Normalized units, where 0 is the start of the path, and 1 is the end. + /// Path will be sampled according to its Resolution + /// setting, and a distance lookup table will be cached internally + Normalized + } + + /// Get the minimum value, for the given unit type + /// The unit type + /// The minimum allowable value for this path + public float MinUnit(PositionUnits units) + { + if (units == PositionUnits.Normalized) + return 0; + return units == PositionUnits.Distance ? 0 : MinPos; + } + + /// Get the maximum value, for the given unit type + /// The unit type + /// The maximum allowable value for this path + public float MaxUnit(PositionUnits units) + { + if (units == PositionUnits.Normalized) + return 1; + return units == PositionUnits.Distance ? PathLength : MaxPos; + } + + /// Standardize the unit, so that it lies between MinUmit and MaxUnit + /// The value to be standardized + /// The unit type + /// The standardized value of pos, between MinUnit and MaxUnit + public virtual float StandardizeUnit(float pos, PositionUnits units) + { + if (units == PositionUnits.PathUnits) + return StandardizePos(pos); + if (units == PositionUnits.Distance) + return StandardizePathDistance(pos); + float len = PathLength; + if (len < UnityVectorExtensions.Epsilon) + return 0; + return StandardizePathDistance(pos * len) / len; + } + + /// Get a worldspace position of a point along the path + /// Postion along the path. Need not be normalized. + /// The unit to use when interpreting the value of pos. + /// World-space position of the point along at path at pos + public Vector3 EvaluatePositionAtUnit(float pos, PositionUnits units) + { + return EvaluatePosition(ToNativePathUnits(pos, units)); + } + + /// Get the tangent of the curve at a point along the path. + /// Postion along the path. Need not be normalized. + /// The unit to use when interpreting the value of pos. + /// World-space direction of the path tangent. + /// Length of the vector represents the tangent strength + public Vector3 EvaluateTangentAtUnit(float pos, PositionUnits units) + { + return EvaluateTangent(ToNativePathUnits(pos, units)); + } + + /// Get the orientation the curve at a point along the path. + /// Postion along the path. Need not be normalized. + /// The unit to use when interpreting the value of pos. + /// World-space orientation of the path + public Quaternion EvaluateOrientationAtUnit(float pos, PositionUnits units) + { + return EvaluateOrientation(ToNativePathUnits(pos, units)); + } + + /// When calculating the distance cache, sample the path this many + /// times between points + public abstract int DistanceCacheSampleStepsPerSegment { get; } + + /// Call this if the path changes in such a way as to affect distances + /// or other cached path elements + public virtual void InvalidateDistanceCache() + { + m_DistanceToPos = null; + m_PosToDistance = null; + m_CachedSampleSteps = 0; + m_PathLength = 0; + } + + /// See whether the distance cache is valid. If it's not valid, + /// then any call to GetPathLength() or ToNativePathUnits() will + /// trigger a potentially costly regeneration of the path distance cache + /// Whether the cache is valid + public bool DistanceCacheIsValid() + { + return (MaxPos == MinPos) + || (m_DistanceToPos != null && m_PosToDistance != null + && m_CachedSampleSteps == DistanceCacheSampleStepsPerSegment + && m_CachedSampleSteps > 0); + } + + /// Get the length of the path in distance units. + /// If the distance cache is not valid, then calling this will + /// trigger a potentially costly regeneration of the path distance cache + /// The length of the path in distance units, when sampled at this rate + public float PathLength + { + get + { + if (DistanceCacheSampleStepsPerSegment < 1) + return 0; + if (!DistanceCacheIsValid()) + ResamplePath(DistanceCacheSampleStepsPerSegment); + return m_PathLength; + } + } + + /// Standardize a distance along the path based on the path length. + /// If the distance cache is not valid, then calling this will + /// trigger a potentially costly regeneration of the path distance cache + /// The distance to standardize + /// The standardized distance, ranging from 0 to path length + public float StandardizePathDistance(float distance) + { + float length = PathLength; + if (length < Vector3.kEpsilon) + return 0; + if (Looped) + { + distance = distance % length; + if (distance < 0) + distance += length; + } + return Mathf.Clamp(distance, 0, length); + } + + /// Get the path position to native path units. + /// If the distance cache is not valid, then calling this will + /// trigger a potentially costly regeneration of the path distance cache + /// The value to convert from + /// The units in which pos is expressed + /// The path position, in native units + public float ToNativePathUnits(float pos, PositionUnits units) + { + if (units == PositionUnits.PathUnits) + return pos; + if (DistanceCacheSampleStepsPerSegment < 1 || PathLength < UnityVectorExtensions.Epsilon) + return MinPos; + if (units == PositionUnits.Normalized) + pos *= PathLength; + pos = StandardizePathDistance(pos); + float d = pos / m_cachedDistanceStepSize; + int i = Mathf.FloorToInt(d); + if (i >= m_DistanceToPos.Length-1) + return MaxPos; + float t = d - (float)i; + return MinPos + Mathf.Lerp(m_DistanceToPos[i], m_DistanceToPos[i+1], t); + } + + /// Convert a path position from native path units to the desired units. + /// If the distance cache is not valid, then calling this will + /// trigger a potentially costly regeneration of the path distance cache + /// The value to convert from, in native units + /// The units to convert to + /// Tha path position, in the requested units + public float FromPathNativeUnits(float pos, PositionUnits units) + { + if (units == PositionUnits.PathUnits) + return pos; + float length = PathLength; + if (DistanceCacheSampleStepsPerSegment < 1 || length < UnityVectorExtensions.Epsilon) + return 0; + pos = StandardizePos(pos); + float d = pos / m_cachedPosStepSize; + int i = Mathf.FloorToInt(d); + if (i >= m_PosToDistance.Length-1) + pos = m_PathLength; + else + { + float t = d - (float)i; + pos = Mathf.Lerp(m_PosToDistance[i], m_PosToDistance[i+1], t); + } + if (units == PositionUnits.Normalized) + pos /= length; + return pos; + } + + private float[] m_DistanceToPos; + private float[] m_PosToDistance; + private int m_CachedSampleSteps; + private float m_PathLength; + private float m_cachedPosStepSize; + private float m_cachedDistanceStepSize; + + private void ResamplePath(int stepsPerSegment) + { + InvalidateDistanceCache(); + + float minPos = MinPos; + float maxPos = MaxPos; + float stepSize = 1f / Mathf.Max(1, stepsPerSegment); + + // Sample the positions + int numKeys = Mathf.RoundToInt((maxPos - minPos) / stepSize) + 1; + m_PosToDistance = new float[numKeys]; + m_CachedSampleSteps = stepsPerSegment; + m_cachedPosStepSize = stepSize; + + Vector3 p0 = EvaluatePosition(0); + m_PosToDistance[0] = 0; + float pos = minPos; + for (int i = 1; i < numKeys; ++i) + { + pos += stepSize; + Vector3 p = EvaluatePosition(pos); + float d = Vector3.Distance(p0, p); + m_PathLength += d; + p0 = p; + m_PosToDistance[i] = m_PathLength; + } + + // Resample the distances + m_DistanceToPos = new float[numKeys]; + m_DistanceToPos[0] = 0; + if (numKeys > 1) + { + stepSize = m_PathLength / (numKeys - 1); + m_cachedDistanceStepSize = stepSize; + float distance = 0; + int posIndex = 1; + for (int i = 1; i < numKeys; ++i) + { + distance += stepSize; + float d = m_PosToDistance[posIndex]; + while (d < distance && posIndex < numKeys-1) + d = m_PosToDistance[++posIndex]; + float d0 = m_PosToDistance[posIndex-1]; + float delta = d - d0; + float t = (distance - d0) / delta; + m_DistanceToPos[i] = m_cachedPosStepSize * (t + posIndex - 1); + } + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePathBase.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePathBase.cs.meta new file mode 100644 index 00000000..c8ecccf5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePathBase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a73149a4b6c41d741bc5e4e3b7711c0d +timeCreated: 1494359378 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePropertyAttribute.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePropertyAttribute.cs new file mode 100644 index 00000000..cfecb409 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePropertyAttribute.cs @@ -0,0 +1,92 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// + /// Property applied to AxisState. Used for custom drawing in the inspector. + /// + public sealed class AxisStatePropertyAttribute : PropertyAttribute {} + + /// + /// Property applied to OrbitalTransposer.Heading. Used for custom drawing in the inspector. + /// + public sealed class OrbitalTransposerHeadingPropertyAttribute : PropertyAttribute {} + + /// + /// This attributs is obsolete and unused. + /// + public sealed class LensSettingsPropertyAttribute : PropertyAttribute {} + + /// + /// Property applied to Vcam Target fields. Used for custom drawing in the inspector. + /// + public sealed class VcamTargetPropertyAttribute : PropertyAttribute { } + + /// + /// Property applied to CinemachineBlendDefinition. Used for custom drawing in the inspector. + /// + public sealed class CinemachineBlendDefinitionPropertyAttribute : PropertyAttribute {} + + /// + /// Invoke play-mode-save for a class. This class's fields will be scanned + /// upon exiting play mode, and its property values will be applied to the scene object. + /// This is a stopgap measure that will become obsolete once Unity implements + /// play-mode-save in a more general way. + /// + public sealed class SaveDuringPlayAttribute : System.Attribute {} + + /// + /// Suppresses play-mode-save for a field. Use it if the calsee has [SaveDuringPlay] + /// attribute but there are fields in the class that shouldn't be saved. + /// + public sealed class NoSaveDuringPlayAttribute : PropertyAttribute {} + + /// Property field is a Tag. + public sealed class TagFieldAttribute : PropertyAttribute {} + + /// Property field is a NoiseSettings asset. + public sealed class NoiseSettingsPropertyAttribute : PropertyAttribute {} + + /// + /// Used for custom drawing in the inspector. Inspector will show a foldout with the asset contents + /// + public sealed class CinemachineEmbeddedAssetPropertyAttribute : PropertyAttribute + { + /// If true, inspector will display a warning if the embedded asset is null + public bool WarnIfNull; + + /// Standard constructor + /// If true, inspector will display a warning if the embedded asset is null + public CinemachineEmbeddedAssetPropertyAttribute(bool warnIfNull = false) + { + WarnIfNull = warnIfNull; + } + } + + /// + /// Atrtribute to control the automatic generation of documentation. This attribute is obsolete and not used. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.Undoc)] + public sealed class DocumentationSortingAttribute : System.Attribute + { + /// Refinement level of the documentation + public enum Level + { + /// Type is excluded from documentation + Undoc, + /// Type is documented in the API reference + API, + /// Type is documented in the highly-refined User Manual + UserRef + }; + /// Refinement level of the documentation. The more refined, the more is excluded. + public Level Category { get; private set; } + + /// Contructor with specific values + /// Documentation level + public DocumentationSortingAttribute(Level category) + { + Category = category; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePropertyAttribute.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePropertyAttribute.cs.meta new file mode 100644 index 00000000..d6e2263d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachinePropertyAttribute.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2c760cb7073c57e44959f36cbed8ed39 +timeCreated: 1486510400 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineVirtualCameraBase.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineVirtualCameraBase.cs new file mode 100644 index 00000000..b28bb504 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineVirtualCameraBase.cs @@ -0,0 +1,909 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Cinemachine.Utility; +using UnityEngine; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// Base class for a Monobehaviour that represents a Virtual Camera within the Unity scene. + /// + /// This is intended to be attached to an empty Transform GameObject. + /// Inherited classes can be either standalone virtual cameras such + /// as CinemachineVirtualCamera, or meta-cameras such as + /// CinemachineClearShot or CinemachineFreeLook. + /// + /// A CinemachineVirtualCameraBase exposes a Priority property. When the behaviour is + /// enabled in the game, the Virtual Camera is automatically placed in a queue + /// maintained by the static CinemachineCore singleton. + /// The queue is sorted by priority. When a Unity camera is equipped with a + /// CinemachineBrain behaviour, the brain will choose the camera + /// at the head of the queue. If you have multiple Unity cameras with CinemachineBrain + /// behaviours (say in a split-screen context), then you can filter the queue by + /// setting the culling flags on the virtual cameras. The culling mask of the + /// Unity Camera will then act as a filter for the brain. Apart from this, + /// there is nothing that prevents a virtual camera from controlling multiple + /// Unity cameras simultaneously. + /// + [SaveDuringPlay] + public abstract class CinemachineVirtualCameraBase : MonoBehaviour, ICinemachineCamera, ISerializationCallbackReceiver + { + /// Inspector control - Use for hiding sections of the Inspector UI. + [HideInInspector, SerializeField, NoSaveDuringPlay] + public string[] m_ExcludedPropertiesInInspector = new string[] { "m_Script" }; + + /// Inspector control - Use for enabling sections of the Inspector UI. + [HideInInspector, SerializeField, NoSaveDuringPlay] + public CinemachineCore.Stage[] m_LockStageInInspector; + + /// Version that was last streamed, for upgrading legacy + public int ValidatingStreamVersion + { + get { return m_OnValidateCalled ? m_ValidatingStreamVersion : CinemachineCore.kStreamingVersion; } + private set { m_ValidatingStreamVersion = value; } + } + private int m_ValidatingStreamVersion = 0; + private bool m_OnValidateCalled = false; + + [HideInInspector, SerializeField, NoSaveDuringPlay] + private int m_StreamingVersion; + + /// The priority will determine which camera becomes active based on the + /// state of other cameras and this camera. Higher numbers have greater priority. + /// + [NoSaveDuringPlay] + [Tooltip("The priority will determine which camera becomes active based on the state of " + + "other cameras and this camera. Higher numbers have greater priority.")] + public int m_Priority = 10; + + /// A sequence number that represents object activation order of vcams. + /// Used for priority sorting. + internal int m_ActivationId; + + /// + /// This must be set every frame at the start of the pipeline to relax the virtual camera's + /// attachment to the target. Range is 0...1. + /// 1 is full attachment, and is the normal state. + /// 0 is no attachment, and virtual camera will behave as if no Follow + /// targets are set. + /// + [NonSerialized] + public float FollowTargetAttachment; + + /// + /// This must be set every frame at the start of the pipeline to relax the virtual camera's + /// attachment to the target. Range is 0...1. + /// 1 is full attachment, and is the normal state. + /// 0 is no attachment, and virtual camera will behave as if no LookAt + /// targets are set. + /// + [NonSerialized] + public float LookAtTargetAttachment; + + /// + /// How often to update a virtual camera when it is in Standby mode + /// + public enum StandbyUpdateMode + { + /// Only update if the virtual camera is Live + Never, + /// Update the virtual camera every frame, even when it is not Live + Always, + /// Update the virtual camera occasionally, the exact frequency depends + /// on how many other virtual cameras are in Standby + RoundRobin + }; + + /// When the virtual camera is not live, this is how often the virtual camera will + /// be updated. Set this to tune for performance. Most of the time Never is fine, unless + /// the virtual camera is doing shot evaluation. + /// + [Tooltip("When the virtual camera is not live, this is how often the virtual camera will be updated. " + + "Set this to tune for performance. Most of the time Never is fine, " + + "unless the virtual camera is doing shot evaluation.")] + public StandbyUpdateMode m_StandbyUpdate = StandbyUpdateMode.RoundRobin; + + /// + /// Query components and extensions for the maximum damping time. + /// Base class implementation queries extensions. + /// Only used in editor for timeline scrubbing. + /// + /// Highest damping setting in this vcam + public virtual float GetMaxDampTime() + { + float maxDamp = 0; + if (mExtensions != null) + for (int i = 0; i < mExtensions.Count; ++i) + maxDamp = Mathf.Max(maxDamp, mExtensions[i].GetMaxDampTime()); + return maxDamp; + } + + /// Get a damped version of a quantity. This is the portion of the + /// quantity that will take effect over the given time. + /// This method takes the target attachment into account. For general + /// damping without consideration of target attachment, use Damper.Damp() + /// The amount that will be damped + /// The rate of damping. This is the time it would + /// take to reduce the original amount to a negligible percentage + /// The time over which to damp + /// The damped amount. This will be the original amount scaled by + /// a value between 0 and 1. + public float DetachedFollowTargetDamp(float initial, float dampTime, float deltaTime) + { + dampTime = Mathf.Lerp(Mathf.Max(1, dampTime), dampTime, FollowTargetAttachment); + deltaTime = Mathf.Lerp(0, deltaTime, FollowTargetAttachment); + return Damper.Damp(initial, dampTime, deltaTime); + } + + /// Get a damped version of a quantity. This is the portion of the + /// quantity that will take effect over the given time. + /// This method takes the target attachment into account. For general + /// damping without consideration of target attachment, use Damper.Damp() + /// The amount that will be damped + /// The rate of damping. This is the time it would + /// take to reduce the original amount to a negligible percentage + /// The time over which to damp + /// The damped amount. This will be the original amount scaled by + /// a value between 0 and 1. + public Vector3 DetachedFollowTargetDamp(Vector3 initial, Vector3 dampTime, float deltaTime) + { + dampTime = Vector3.Lerp(Vector3.Max(Vector3.one, dampTime), dampTime, FollowTargetAttachment); + deltaTime = Mathf.Lerp(0, deltaTime, FollowTargetAttachment); + return Damper.Damp(initial, dampTime, deltaTime); + } + + /// Get a damped version of a quantity. This is the portion of the + /// quantity that will take effect over the given time. + /// This method takes the target attachment into account. For general + /// damping without consideration of target attachment, use Damper.Damp() + /// The amount that will be damped + /// The rate of damping. This is the time it would + /// take to reduce the original amount to a negligible percentage + /// The time over which to damp + /// The damped amount. This will be the original amount scaled by + /// a value between 0 and 1. + public Vector3 DetachedFollowTargetDamp(Vector3 initial, float dampTime, float deltaTime) + { + dampTime = Mathf.Lerp(Mathf.Max(1, dampTime), dampTime, FollowTargetAttachment); + deltaTime = Mathf.Lerp(0, deltaTime, FollowTargetAttachment); + return Damper.Damp(initial, dampTime, deltaTime); + } + + /// Get a damped version of a quantity. This is the portion of the + /// quantity that will take effect over the given time. + /// This method takes the target attachment into account. For general + /// damping without consideration of target attachment, use Damper.Damp() + /// The amount that will be damped + /// The rate of damping. This is the time it would + /// take to reduce the original amount to a negligible percentage + /// The time over which to damp + /// The damped amount. This will be the original amount scaled by + /// a value between 0 and 1. + public float DetachedLookAtTargetDamp(float initial, float dampTime, float deltaTime) + { + dampTime = Mathf.Lerp(Mathf.Max(1, dampTime), dampTime, LookAtTargetAttachment); + deltaTime = Mathf.Lerp(0, deltaTime, LookAtTargetAttachment); + return Damper.Damp(initial, dampTime, deltaTime); + } + + /// Get a damped version of a quantity. This is the portion of the + /// quantity that will take effect over the given time. + /// This method takes the target attachment into account. For general + /// damping without consideration of target attachment, use Damper.Damp() + /// The amount that will be damped + /// The rate of damping. This is the time it would + /// take to reduce the original amount to a negligible percentage + /// The time over which to damp + /// The damped amount. This will be the original amount scaled by + /// a value between 0 and 1. + public Vector3 DetachedLookAtTargetDamp(Vector3 initial, Vector3 dampTime, float deltaTime) + { + dampTime = Vector3.Lerp(Vector3.Max(Vector3.one, dampTime), dampTime, LookAtTargetAttachment); + deltaTime = Mathf.Lerp(0, deltaTime, LookAtTargetAttachment); + return Damper.Damp(initial, dampTime, deltaTime); + } + + /// Get a damped version of a quantity. This is the portion of the + /// quantity that will take effect over the given time. + /// This method takes the target attachment into account. For general + /// damping without consideration of target attachment, use Damper.Damp() + /// The amount that will be damped + /// The rate of damping. This is the time it would + /// take to reduce the original amount to a negligible percentage + /// The time over which to damp + /// The damped amount. This will be the original amount scaled by + /// a value between 0 and 1. + public Vector3 DetachedLookAtTargetDamp(Vector3 initial, float dampTime, float deltaTime) + { + dampTime = Mathf.Lerp(Mathf.Max(1, dampTime), dampTime, LookAtTargetAttachment); + deltaTime = Mathf.Lerp(0, deltaTime, LookAtTargetAttachment); + return Damper.Damp(initial, dampTime, deltaTime); + } + + /// + /// A delegate to hook into the state calculation pipeline. + /// This will be called after each pipeline stage, to allow others to hook into the pipeline. + /// See CinemachineCore.Stage. + /// + /// The extension to add. + public virtual void AddExtension(CinemachineExtension extension) + { + if (mExtensions == null) + mExtensions = new List(); + else + mExtensions.Remove(extension); + mExtensions.Add(extension); + } + + /// Remove a Pipeline stage hook callback. + /// The extension to remove. + public virtual void RemoveExtension(CinemachineExtension extension) + { + if (mExtensions != null) + mExtensions.Remove(extension); + } + + /// The extensions connected to this vcam + internal List mExtensions { get; private set; } + + /// + /// Invokes the PostPipelineStageDelegate for this camera, and up the hierarchy for all + /// parent cameras (if any). + /// Implementaion must be sure to call this after each pipeline stage, to allow + /// other services to hook into the pipeline. + /// See CinemachineCore.Stage. + /// + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected void InvokePostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, CinemachineCore.Stage stage, + ref CameraState newState, float deltaTime) + { + if (mExtensions != null) + { + for (int i = 0; i < mExtensions.Count; ++i) + { + var e = mExtensions[i]; + if (e == null) + { + // Object was deleted (possibly because of Undo in the editor) + mExtensions.RemoveAt(i); + --i; + } + else if (e.enabled) + e.InvokePostPipelineStageCallback(vcam, stage, ref newState, deltaTime); + } + } + CinemachineVirtualCameraBase parent = ParentCamera as CinemachineVirtualCameraBase; + if (parent != null) + parent.InvokePostPipelineStageCallback(vcam, stage, ref newState, deltaTime); + } + + /// + /// Invokes the PrePipelineMutateCameraStateCallback for this camera, + /// and up the hierarchy for all parent cameras (if any). + /// Implementaion must be sure to call this after each pipeline stage, to allow + /// other services to hook into the pipeline. + /// See CinemachineCore.Stage. + /// + /// The virtual camera being processed + /// The current virtual camera state + /// The current applicable deltaTime + protected void InvokePrePipelineMutateCameraStateCallback( + CinemachineVirtualCameraBase vcam, ref CameraState newState, float deltaTime) + { + if (mExtensions != null) + { + for (int i = 0; i < mExtensions.Count; ++i) + { + var e = mExtensions[i]; + if (e == null) + { + // Object was deleted (possibly because of Undo in the editor) + mExtensions.RemoveAt(i); + --i; + } + else if (e.enabled) + e.PrePipelineMutateCameraStateCallback(vcam, ref newState, deltaTime); + } + } + CinemachineVirtualCameraBase parent = ParentCamera as CinemachineVirtualCameraBase; + if (parent != null) + parent.InvokePrePipelineMutateCameraStateCallback(vcam, ref newState, deltaTime); + } + + /// + /// Invokes the OnTransitionFromCamera for all extensions on this camera + /// + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + /// True to request a vcam update of internal state + protected bool InvokeOnTransitionInExtensions( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + bool forceUpdate = false; + if (mExtensions != null) + { + for (int i = 0; i < mExtensions.Count; ++i) + { + var e = mExtensions[i]; + if (e == null) + { + // Object was deleted (possibly because of Undo in the editor) + mExtensions.RemoveAt(i); + --i; + } + else if (e.enabled && e.OnTransitionFromCamera(fromCam, worldUp, deltaTime)) + forceUpdate = true; + } + } + return forceUpdate; + } + + /// Get the name of the Virtual Camera. Base implementation + /// returns the owner GameObject's name. + public string Name => name; + + /// Gets a brief debug description of this virtual camera, for use when displayiong debug info + public virtual string Description => ""; + + /// Get the Priority of the virtual camera. This determines its placement + /// in the CinemachineCore's queue of eligible shots. + public int Priority { + get => m_Priority; + set => m_Priority = value; + } + + /// Hint for blending to and from this virtual camera + public enum BlendHint + { + /// Standard linear position and aim blend + None, + /// Spherical blend about LookAt target position if there is a LookAt target, linear blend between LookAt targets + SphericalPosition, + /// Cylindrical blend about LookAt target position if there is a LookAt target (vertical co-ordinate is linearly interpolated), linear blend between LookAt targets + CylindricalPosition, + /// Standard linear position blend, radial blend between LookAt targets + ScreenSpaceAimWhenTargetsDiffer + } + + /// Applies a position blend hint to a camera state + /// The state to apply the hint to + /// The hint to apply + protected void ApplyPositionBlendMethod(ref CameraState state, BlendHint hint) + { + switch (hint) + { + default: + break; + case BlendHint.SphericalPosition: + state.BlendHint |= CameraState.BlendHintValue.SphericalPositionBlend; + break; + case BlendHint.CylindricalPosition: + state.BlendHint |= CameraState.BlendHintValue.CylindricalPositionBlend; + break; + case BlendHint.ScreenSpaceAimWhenTargetsDiffer: + state.BlendHint |= CameraState.BlendHintValue.RadialAimBlend; + break; + } + } + + /// The GameObject owner of the Virtual Camera behaviour. + public GameObject VirtualCameraGameObject + { + get + { + if (this == null) + return null; // object deleted + return gameObject; + } + } + + /// Returns false if the object has been deleted + public bool IsValid => !(this == null); + + /// The CameraState object holds all of the information + /// necessary to position the Unity camera. It is the output of this class. + public abstract CameraState State { get; } + + /// Support for meta-virtual-cameras. This is the situation where a + /// virtual camera is in fact the public face of a private army of virtual cameras, which + /// it manages on its own. This method gets the VirtualCamera owner, if any. + /// Private armies are implemented as Transform children of the parent vcam. + public ICinemachineCamera ParentCamera + { + get + { + if (!mSlaveStatusUpdated || !Application.isPlaying) + UpdateSlaveStatus(); + return m_parentVcam; + } + } + + /// Check whether the vcam a live child of this camera. + /// This base class implementation always returns false. + /// The Virtual Camera to check + /// If truw, will only return true if this vcam is the dominat live child + /// True if the vcam is currently actively influencing the state of this vcam + public virtual bool IsLiveChild(ICinemachineCamera vcam, bool dominantChildOnly = false) { return false; } + + /// Get the LookAt target for the Aim component in the Cinemachine pipeline. + public abstract Transform LookAt { get; set; } + + /// Get the Follow target for the Body component in the Cinemachine pipeline. + public abstract Transform Follow { get; set; } + + /// Set this to force the next update to ignore deltaTime and reset itself + public virtual bool PreviousStateIsValid { get; set; } + + /// + /// Update the camera's state. + /// The implementation must guarantee against multiple calls per frame, and should + /// use CinemachineCore.UpdateVirtualCamera(ICinemachineCamera, Vector3, float), which + /// has protection against multiple calls per frame. + /// + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + public void UpdateCameraState(Vector3 worldUp, float deltaTime) + { + CinemachineCore.Instance.UpdateVirtualCamera(this, worldUp, deltaTime); + } + + /// Internal use only. Do not call this method. + /// Called by CinemachineCore at designated update time + /// so the vcam can position itself and track its targets. + /// Do not call this method. Let the framework do it at the appropriate time + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + public abstract void InternalUpdateCameraState(Vector3 worldUp, float deltaTime); + + /// Collection of parameters that influence how this virtual camera transitions from + /// other virtual cameras + [Serializable] + public struct TransitionParams + { + /// Hint for blending positions to and from this virtual camera + [Tooltip("Hint for blending positions to and from this virtual camera")] + [FormerlySerializedAs("m_PositionBlending")] + public BlendHint m_BlendHint; + + /// When this virtual camera goes Live, attempt to force the position to be the same as the current position of the Unity Camera + [Tooltip("When this virtual camera goes Live, attempt to force the position to be the same as the current position of the Unity Camera")] + public bool m_InheritPosition; + + /// This event fires when the virtual camera goes Live + [Tooltip("This event fires when the virtual camera goes Live")] + public CinemachineBrain.VcamActivatedEvent m_OnCameraLive; + } + + /// Notification that this virtual camera is going live. + /// Base class implementation must be called by any overridden method. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public virtual void OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + if (!gameObject.activeInHierarchy) + PreviousStateIsValid = false; + } + + /// Maintains the global vcam registry. Always call the base class implementation. + protected virtual void OnDestroy() + { + CinemachineCore.Instance.CameraDestroyed(this); + } + + /// Base class implementation makes sure the priority queue remains up-to-date. + protected virtual void OnTransformParentChanged() + { + CinemachineCore.Instance.CameraDisabled(this); + CinemachineCore.Instance.CameraEnabled(this); + UpdateSlaveStatus(); + UpdateVcamPoolStatus(); + } + + bool m_WasStarted; + + /// Derived classes should call base class implementation. + protected virtual void Start() + { + m_WasStarted = true; + } + + /// + /// Returns true, when the vcam has an extension that requires user input. + /// + internal virtual bool RequiresUserInput() + { + return mExtensions != null && mExtensions.Any(extension => extension != null && extension.RequiresUserInput); + } + + /// + /// Called on inactive object when being artificially activated by timeline. + /// This is necessary because Awake() isn't called on inactive gameObjects. + /// + internal void EnsureStarted() + { + if (!m_WasStarted) + { + m_WasStarted = true; + var extensions = GetComponentsInChildren(); + for (int i = 0; i < extensions.Length; ++i) + extensions[i].EnsureStarted(); + } + } + +#if UNITY_EDITOR + [UnityEditor.Callbacks.DidReloadScripts] + static void OnScriptReload() + { + var vcams = Resources.FindObjectsOfTypeAll( + typeof(CinemachineVirtualCameraBase)) as CinemachineVirtualCameraBase[]; + foreach (var vcam in vcams) + vcam.LookAtTargetChanged = vcam.FollowTargetChanged = true; + } +#endif + + /// + /// Locate the first component that implements AxisState.IInputAxisProvider. + /// + /// The first AxisState.IInputAxisProvider or null if none + public AxisState.IInputAxisProvider GetInputAxisProvider() + { + var components = GetComponentsInChildren(); + for (int i = 0; i < components.Length; ++i) + { + var provider = components[i] as AxisState.IInputAxisProvider; + if (provider != null) + return provider; + } + return null; + } + + /// Enforce bounds for fields, when changed in inspector. + /// Call base class implementation at the beginning of overridden method. + /// After base method is called, ValidatingStreamVersion will be valid. + protected virtual void OnValidate() + { + m_OnValidateCalled = true; + ValidatingStreamVersion = m_StreamingVersion; + m_StreamingVersion = CinemachineCore.kStreamingVersion; + } + + /// Base class implementation adds the virtual camera from the priority queue. + protected virtual void OnEnable() + { + UpdateSlaveStatus(); + UpdateVcamPoolStatus(); // Add to queue + if (!CinemachineCore.Instance.IsLive(this)) + PreviousStateIsValid = false; + CinemachineCore.Instance.CameraEnabled(this); + InvalidateCachedTargets(); + // Sanity check - if another vcam component is enabled, shut down + var vcamComponents = GetComponents(); + for (int i = 0; i < vcamComponents.Length; ++i) + { + if (vcamComponents[i].enabled && vcamComponents[i] != this) + { + Debug.LogError(Name + + " has multiple CinemachineVirtualCameraBase-derived components. Disabling " + + GetType().Name + "."); + enabled = false; + } + } + } + + /// Base class implementation makes sure the priority queue remains up-to-date. + protected virtual void OnDisable() + { + UpdateVcamPoolStatus(); // Remove from queue + CinemachineCore.Instance.CameraDisabled(this); + } + + /// Base class implementation makes sure the priority queue remains up-to-date. + protected virtual void Update() + { + if (m_Priority != m_QueuePriority) + { + UpdateVcamPoolStatus(); // Force a re-sort + } + } + + private bool mSlaveStatusUpdated = false; + private CinemachineVirtualCameraBase m_parentVcam = null; + + private void UpdateSlaveStatus() + { + mSlaveStatusUpdated = true; + m_parentVcam = null; + Transform p = transform.parent; + if (p != null) + { +#if UNITY_2019_2_OR_NEWER + p.TryGetComponent(out m_parentVcam); +#else + m_parentVcam = p.GetComponent(); +#endif + } + } + + /// Returns this vcam's LookAt target, or if that is null, will retrun + /// the parent vcam's LookAt target. + /// This vcam's LookAt value. + /// The same value, or the parent's if null and a parent exists. + public Transform ResolveLookAt(Transform localLookAt) + { + Transform lookAt = localLookAt; + if (lookAt == null && ParentCamera != null) + lookAt = ParentCamera.LookAt; // Parent provides default + return lookAt; + } + + /// Returns this vcam's Follow target, or if that is null, will retrun + /// the parent vcam's Follow target. + /// This vcam's Follow value. + /// The same value, or the parent's if null and a parent exists. + public Transform ResolveFollow(Transform localFollow) + { + Transform follow = localFollow; + if (follow == null && ParentCamera != null) + follow = ParentCamera.Follow; // Parent provides default + return follow; + } + + private int m_QueuePriority = int.MaxValue; + private void UpdateVcamPoolStatus() + { + CinemachineCore.Instance.RemoveActiveCamera(this); + if (m_parentVcam == null && isActiveAndEnabled) + CinemachineCore.Instance.AddActiveCamera(this); + m_QueuePriority = m_Priority; + } + + /// When multiple virtual cameras have the highest priority, there is + /// sometimes the need to push one to the top, making it the current Live camera if + /// it shares the highest priority in the queue with its peers. + /// + /// This happens automatically when a + /// new vcam is enabled: the most recent one goes to the top of the priority subqueue. + /// Use this method to push a vcam to the top of its priority peers. + /// If it and its peers share the highest priority, then this vcam will become Live. + public void MoveToTopOfPrioritySubqueue() + { + UpdateVcamPoolStatus(); // Force a re-sort + } + + /// This is called to notify the component that a target got warped, + /// so that the component can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public virtual void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + // inform the extensions + if (mExtensions != null) + { + for (int i = 0; i < mExtensions.Count; ++i) + mExtensions[i].OnTargetObjectWarped(target, positionDelta); + } + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public virtual void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + // inform the extensions + if (mExtensions != null) + { + for (int i = 0; i < mExtensions.Count; ++i) + mExtensions[i].ForceCameraPosition(pos, rot); + } + } + + // Doesn't really belong here but putting it here to avoid changing + // the API (belongs in the caller of CreateBlend). GML todo: Fix in next version. + float m_blendStartPosition; + + // This is a total hack, because of missing API call. GML todo: Fix in next version. + bool GetInheritPosition(ICinemachineCamera cam) + { + if (cam is CinemachineVirtualCamera) + return (cam as CinemachineVirtualCamera).m_Transitions.m_InheritPosition; + if (cam is CinemachineFreeLook) + return (cam as CinemachineFreeLook).m_Transitions.m_InheritPosition; + return false; + } + + /// Create a blend between 2 virtual cameras, taking into account + /// any existing active blend, with special case handling if the new blend is + /// effectively an undo of the current blend + /// Outgoing virtual camera + /// Incoming virtual camera + /// Definition of the blend to create + /// The current active blend + /// The new blend + protected CinemachineBlend CreateBlend( + ICinemachineCamera camA, ICinemachineCamera camB, + CinemachineBlendDefinition blendDef, + CinemachineBlend activeBlend) + { + if (blendDef.BlendCurve == null || blendDef.BlendTime <= 0 || (camA == null && camB == null)) + { + m_blendStartPosition = 0; + return null; + } + if (activeBlend != null) + { + // Special case: if backing out of a blend-in-progress + // with the same blend in reverse, adjust the blend time + // to cancel out the progress made in the opposite direction + if (activeBlend != null && !activeBlend.IsComplete && activeBlend.CamA == camB && activeBlend.CamB == camA) + { + // How far have we blended? That is what we must undo + var progress = m_blendStartPosition + + (1 - m_blendStartPosition) * activeBlend.TimeInBlend / activeBlend.Duration; + blendDef.m_Time *= progress; + m_blendStartPosition = 1 - progress; + } + else + m_blendStartPosition = 0; + + if (GetInheritPosition(camB)) + camA = null; // otherwise we get a pop when camB is moved + else + camA = new BlendSourceVirtualCamera(activeBlend); + } + if (camA == null) + camA = new StaticPointVirtualCamera(State, "(none)"); + return new CinemachineBlend( + camA, camB, blendDef.BlendCurve, blendDef.BlendTime, 0); + } + + /// + /// Create a camera state based on the current transform of this vcam + /// + /// Current World Up direction, as provided by the brain + /// Lens settings to serve as base, will be combined with lens from brain, if any + /// + protected CameraState PullStateFromVirtualCamera(Vector3 worldUp, ref LensSettings lens) + { + CameraState state = CameraState.Default; + state.RawPosition = TargetPositionCache.GetTargetPosition(transform); + state.RawOrientation = TargetPositionCache.GetTargetRotation(transform); + state.ReferenceUp = worldUp; + + CinemachineBrain brain = CinemachineCore.Instance.FindPotentialTargetBrain(this); + if (brain != null) + lens.SnapshotCameraReadOnlyProperties(brain.OutputCamera); + + state.Lens = lens; + return state; + } + + private Transform m_CachedFollowTarget; + private CinemachineVirtualCameraBase m_CachedFollowTargetVcam; + private ICinemachineTargetGroup m_CachedFollowTargetGroup; + + private Transform m_CachedLookAtTarget; + private CinemachineVirtualCameraBase m_CachedLookAtTargetVcam; + private ICinemachineTargetGroup m_CachedLookAtTargetGroup; + + private void InvalidateCachedTargets() + { + m_CachedFollowTarget = null; + m_CachedFollowTargetVcam = null; + m_CachedFollowTargetGroup = null; + m_CachedLookAtTarget = null; + m_CachedLookAtTargetVcam = null; + m_CachedLookAtTargetGroup = null; + } + +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoad] + class OnDomainReload + { + static OnDomainReload() + { +#if UNITY_2023_1_OR_NEWER + var vcams = FindObjectsByType + (FindObjectsInactive.Include, FindObjectsSortMode.None); +#elif UNITY_2020_1_OR_NEWER + var vcams = FindObjectsOfType(true); +#else + var vcams = FindObjectsOfType(); +#endif + foreach (var vcam in vcams) + vcam.InvalidateCachedTargets(); + } + } +#endif + + /// + /// This property is true if the Follow target was changed this frame. + /// + public bool FollowTargetChanged { get; private set; } + + /// + /// This property is true if the LookAttarget was changed this frame. + /// + public bool LookAtTargetChanged { get; private set; } + + /// + /// Call this from InternalUpdateCameraState() to check for changed + /// targets and update the target cache. This is needed for tracking + /// when a target object changes. + /// + protected void UpdateTargetCache() + { + var target = ResolveFollow(Follow); + FollowTargetChanged = target != m_CachedFollowTarget; + if (FollowTargetChanged) + { + m_CachedFollowTarget = target; + m_CachedFollowTargetVcam = null; + m_CachedFollowTargetGroup = null; + if (m_CachedFollowTarget != null) + { + target.TryGetComponent(out m_CachedFollowTargetVcam); + target.TryGetComponent(out m_CachedFollowTargetGroup); + } + } + target = ResolveLookAt(LookAt); + LookAtTargetChanged = target != m_CachedLookAtTarget; + if (LookAtTargetChanged) + { + m_CachedLookAtTarget = target; + m_CachedLookAtTargetVcam = null; + m_CachedLookAtTargetGroup = null; + if (target != null) + { + target.TryGetComponent(out m_CachedLookAtTargetVcam); + target.TryGetComponent(out m_CachedLookAtTargetGroup); + } + } + } + + /// Get Follow target as ICinemachineTargetGroup, + /// or null if target is not a ICinemachineTargetGroup + public ICinemachineTargetGroup AbstractFollowTargetGroup => m_CachedFollowTargetGroup; + + /// Get Follow target as CinemachineVirtualCameraBase, + /// or null if target is not a CinemachineVirtualCameraBase + public CinemachineVirtualCameraBase FollowTargetAsVcam => m_CachedFollowTargetVcam; + + /// Get LookAt target as ICinemachineTargetGroup, + /// or null if target is not a ICinemachineTargetGroup + public ICinemachineTargetGroup AbstractLookAtTargetGroup => m_CachedLookAtTargetGroup; + + /// Get LookAt target as CinemachineVirtualCameraBase, + /// or null if target is not a CinemachineVirtualCameraBase + public CinemachineVirtualCameraBase LookAtTargetAsVcam => m_CachedLookAtTargetVcam; + + /// Pre-Serialization handler - delegates to derived classes + void ISerializationCallbackReceiver.OnBeforeSerialize() => OnBeforeSerialize(); + + /// Post-Serialization handler - performs legacy upgrade + void ISerializationCallbackReceiver.OnAfterDeserialize() + { + if (m_StreamingVersion < CinemachineCore.kStreamingVersion) + LegacyUpgrade(m_StreamingVersion); + m_StreamingVersion = CinemachineCore.kStreamingVersion; + } + + /// + /// Override this to handle any upgrades necessitated by a streaming version change + /// + /// The version that was streamed + internal protected virtual void LegacyUpgrade(int streamedVersion) {} + internal virtual void OnBeforeSerialize() {} + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineVirtualCameraBase.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineVirtualCameraBase.cs.meta new file mode 100644 index 00000000..472032f7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/CinemachineVirtualCameraBase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 15ebf04de67923d41a36c21e1fc63718 +timeCreated: 1488314898 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ConfinerOven.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ConfinerOven.cs new file mode 100644 index 00000000..4cd9abf2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ConfinerOven.cs @@ -0,0 +1,605 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Cinemachine.Utility; +using UnityEngine; + +namespace Cinemachine +{ + using IntPoint = ClipperLib.IntPoint; + using Clipper = ClipperLib.Clipper; + using ClipperOffset = ClipperLib.ClipperOffset; + using ClipperBase = ClipperLib.ClipperBase; + using IntRect = ClipperLib.IntRect; + using JoinType = ClipperLib.JoinType; + using EndType = ClipperLib.EndType; + using PolyType = ClipperLib.PolyType; + using PolyFillType = ClipperLib.PolyFillType; + using ClipType = ClipperLib.ClipType; + + /// + /// Responsible for baking confiners via BakeConfiner function. + /// + class ConfinerOven + { + public class BakedSolution + { + float m_FrustumSizeIntSpace; + + readonly AspectStretcher m_AspectStretcher; + readonly bool m_HasBones; + readonly double m_SqrPolygonDiagonal; + + List> m_OriginalPolygon; + List> m_Solution; + + const double k_ClipperEpsilon = 0.01f * k_FloatToIntScaler; + + public BakedSolution( + float aspectRatio, float frustumHeight, bool hasBones, Rect polygonBounds, + List> originalPolygon, List> solution) + { + m_AspectStretcher = new AspectStretcher(aspectRatio, polygonBounds.center.x); + m_FrustumSizeIntSpace = frustumHeight * k_FloatToIntScaler; + m_HasBones = hasBones; + m_OriginalPolygon = originalPolygon; + m_Solution = solution; + + float polygonSizeX = polygonBounds.width / aspectRatio * k_FloatToIntScaler; + float polygonSizeY = polygonBounds.height * k_FloatToIntScaler; + m_SqrPolygonDiagonal = polygonSizeX * polygonSizeX + polygonSizeY * polygonSizeY; + } + + public bool IsValid() => m_Solution != null; + + public Vector2 ConfinePoint(in Vector2 pointToConfine) + { + if (m_Solution.Count <= 0) return pointToConfine; // empty confiner -> no need to confine + + Vector2 pInConfinerSpace = m_AspectStretcher.Stretch(pointToConfine); + IntPoint p = + new IntPoint(pInConfinerSpace.x * k_FloatToIntScaler, pInConfinerSpace.y * k_FloatToIntScaler); + for (int i = 0; i < m_Solution.Count; ++i) + { + if (Clipper.PointInPolygon(p, m_Solution[i]) != 0) // 0: outside, +1: inside , -1: point on poly boundary + { + return pointToConfine; // inside, no confinement needed + } + } + + // If the poly has bones and if the position to confine is not outside of the original + // bounding shape, then it is possible that the bone in a neighbouring section + // is closer than the bone in the correct section of the polygon, if the current section + // is very large and the neighbouring section is small. In that case, we'll need to + // add an extra check when calculating the nearest point. + bool checkIntersectOriginal = m_HasBones && IsInsideOriginal(p); + + // Confine point + IntPoint closest = p; + double minDistance = double.MaxValue; + for (int i = 0; i < m_Solution.Count; ++i) + { + int numPoints = m_Solution[i].Count; + for (int j = 0; j < numPoints; ++j) + { + IntPoint l1 = m_Solution[i][j]; + IntPoint l2 = m_Solution[i][(j + 1) % numPoints]; + + IntPoint c = IntPointLerp(l1, l2, ClosestPointOnSegment(p, l1, l2)); + double diffX = Mathf.Abs(p.X - c.X); + double diffY = Mathf.Abs(p.Y - c.Y); + double distance = diffX * diffX + diffY * diffY; + + // penalty for points from which the target is not visible, preferring visibility over proximity + if (diffX > m_FrustumSizeIntSpace || diffY > m_FrustumSizeIntSpace) + { + distance += m_SqrPolygonDiagonal; // penalty is the biggest distance between any two points + } + + if (distance < minDistance && (!checkIntersectOriginal || !DoesIntersectOriginal(p, c))) + { + minDistance = distance; + closest = c; + } + } + } + + var result = new Vector2(closest.X * k_IntToFloatScaler, closest.Y * k_IntToFloatScaler); + return m_AspectStretcher.Unstretch(result); + + // local functions + IntPoint IntPointLerp(IntPoint a, IntPoint b, float lerp) + { + return new IntPoint + { + X = Mathf.RoundToInt(a.X + (b.X - a.X) * lerp), + Y = Mathf.RoundToInt(a.Y + (b.Y - a.Y) * lerp), + }; + } + + bool IsInsideOriginal(IntPoint point) => + m_OriginalPolygon.Any(t => Clipper.PointInPolygon(point, t) != 0); + + float ClosestPointOnSegment(IntPoint point, IntPoint s0, IntPoint s1) + { + double sX = s1.X - s0.X; + double sY = s1.Y - s0.Y; + var len2 = sX * sX + sY * sY; + if (len2 < k_ClipperEpsilon) + return 0; // degenerate segment + + double s0pX = point.X - s0.X; + double s0pY = point.Y - s0.Y; + var dot = s0pX * sX + s0pY * sY; + return Mathf.Clamp01((float) (dot / len2)); + } + + bool DoesIntersectOriginal(IntPoint l1, IntPoint l2) + { + foreach (var original in m_OriginalPolygon) + { + var numPoints = original.Count; + for (var i = 0; i < numPoints; ++i) + { + if (FindIntersection(l1, l2, original[i], original[(i + 1) % numPoints]) == 2) + { + return true; + } + } + } + + return false; + } + } + +#if UNITY_EDITOR + // Used by inspector to draw the baked path + List> m_Vector2Path; + public List> GetBakedPath() + { + // Convert to client space + var numPaths = m_Solution.Count; + if (m_Vector2Path == null) + { + m_Vector2Path = new List>(numPaths); + for (int i = 0; i < numPaths; ++i) + { + var srcPoly = m_Solution[i]; + int numPoints = srcPoly.Count; + var pathSegment = new List(numPoints); + for (int j = 0; j < numPoints; j++) + { + // Restore the original aspect ratio + pathSegment.Add(m_AspectStretcher.Unstretch( + new Vector2(srcPoly[j].X, srcPoly[j].Y) * k_IntToFloatScaler)); + } + + m_Vector2Path.Add(pathSegment); + } + } + + return m_Vector2Path; + } +#endif + static int FindIntersection(in IntPoint p1, in IntPoint p2, in IntPoint p3, in IntPoint p4) + { + // Get the segments' parameters. + double dx12 = p2.X - p1.X; + double dy12 = p2.Y - p1.Y; + double dx34 = p4.X - p3.X; + double dy34 = p4.Y - p3.Y; + + // Solve for t1 and t2 + double denominator = dy12 * dx34 - dx12 * dy34; + double t1 = + ((p1.X - p3.X) * dy34 + (p3.Y - p1.Y) * dx34) + / denominator; + if (double.IsInfinity(t1) || double.IsNaN(t1)) + { + // The lines are parallel (or close enough to it). + if (IntPointDiffSqrMagnitude(p1, p3) < k_ClipperEpsilon || + IntPointDiffSqrMagnitude(p1, p4) < k_ClipperEpsilon || + IntPointDiffSqrMagnitude(p2, p3) < k_ClipperEpsilon || + IntPointDiffSqrMagnitude(p2, p4) < k_ClipperEpsilon) + { + return 2; // they are the same line, or very close parallels + } + + return 0; // no intersection + } + + double t2 = ((p3.X - p1.X) * dy12 + (p1.Y - p3.Y) * dx12) / -denominator; + return (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 < 1) ? 2 : 1; // 2 = segments intersect, 1 = lines intersect + + // local function + double IntPointDiffSqrMagnitude(IntPoint point1, IntPoint point2) + { + double x = point1.X - point2.X; + double y = point1.Y - point2.Y; + return x * x + y * y; + } + } + } + + readonly struct AspectStretcher + { + public float Aspect { get; } + readonly float m_InverseAspect; + readonly float m_CenterX; + + public AspectStretcher(float aspect, float centerX) + { + Aspect = aspect; + m_InverseAspect = 1 / Aspect; + m_CenterX = centerX; + } + + public Vector2 Stretch(Vector2 p) => new Vector2((p.x - m_CenterX) * m_InverseAspect + m_CenterX, p.y); + public Vector2 Unstretch(Vector2 p) => new Vector2((p.x - m_CenterX) * Aspect + m_CenterX, p.y); + } + + float m_MinFrustumHeightWithBones; + + List> m_OriginalPolygon; + IntPoint m_MidPoint; + List> m_Skeleton = new List>(); + + const long k_FloatToIntScaler = 100000; + const float k_IntToFloatScaler = 1.0f / k_FloatToIntScaler; + const float k_MinStepSize = 0.005f; + + Rect m_PolygonRect; + AspectStretcher m_AspectStretcher = new AspectStretcher(1, 0); + + float m_MaxComputationTimeForFullSkeletonBakeInSeconds = 5f; + + public ConfinerOven(in List> inputPath, in float aspectRatio, float maxFrustumHeight) + { + Initialize(inputPath, aspectRatio, maxFrustumHeight); + } + + /// + /// Converts and returns a prebaked ConfinerState for the input frustumHeight. + /// + public BakedSolution GetBakedSolution(float frustumHeight) + { + // If the user has set a max frustum height, respect it + frustumHeight = m_Cache.userSetMaxFrustumHeight <= 0 + ? frustumHeight + : Mathf.Min(m_Cache.userSetMaxFrustumHeight, frustumHeight); + + // Special case: we are shrank to the mid point of the original input confiner area. + if (State == BakingState.BAKED && frustumHeight > m_Cache.theoriticalMaxFrustumHeight) + { + return new BakedSolution( + m_AspectStretcher.Aspect, frustumHeight, false, + m_PolygonRect, m_OriginalPolygon, + new List>{new List { m_MidPoint }}); + } + + // Inflate with clipper to frustumHeight + var offsetter = new ClipperOffset(); + offsetter.AddPaths(m_OriginalPolygon, JoinType.jtMiter, EndType.etClosedPolygon); + var solution = new List>(); + offsetter.Execute(ref solution, -1f * frustumHeight * k_FloatToIntScaler); + + // Add in the skeleton + var bakedSolution = new List>(); + if (State == BakingState.BAKING || m_Skeleton.Count == 0) + { + bakedSolution = solution; + } + else + { + var c = new Clipper(); + c.AddPaths(solution, PolyType.ptSubject, true); + c.AddPaths(m_Skeleton, PolyType.ptClip, true); + c.Execute(ClipType.ctUnion, bakedSolution, PolyFillType.pftEvenOdd, PolyFillType.pftEvenOdd); + } + + return new BakedSolution( + m_AspectStretcher.Aspect, frustumHeight, + m_MinFrustumHeightWithBones < frustumHeight, + m_PolygonRect, m_OriginalPolygon, bakedSolution); + } + + struct PolygonSolution + { + public List> polygons; + public float frustumHeight; + + public bool StateChanged(in List> paths) + { + if (paths.Count != polygons.Count) + return true; + for (var i = 0; i < paths.Count; ++i) + { + if (paths[i].Count != polygons[i].Count) + return true; + } + + return false; + } + public bool IsNull => polygons == null; + } + + public enum BakingState + { + BAKING, BAKED, TIMEOUT + } + public BakingState State { get; private set; } + + public float bakeProgress; + + struct BakingStateCache + { + public ClipperOffset offsetter; + public List solutions; + public PolygonSolution rightCandidate; + public PolygonSolution leftCandidate; + public List> maxCandidate; + public float stepSize; + public float maxFrustumHeight; + public float userSetMaxFrustumHeight; + public float theoriticalMaxFrustumHeight; + public float currentFrustumHeight; + + public float bakeTime; + } + + BakingStateCache m_Cache; + + void Initialize(in List> inputPath, in float aspectRatio, float maxFrustumHeight) + { + m_Skeleton.Clear(); + m_Cache.userSetMaxFrustumHeight = maxFrustumHeight; + m_MinFrustumHeightWithBones = float.MaxValue; + + // calculate mid point and use it as the most shrank down version + m_PolygonRect = GetPolygonBoundingBox(inputPath); + m_AspectStretcher = new AspectStretcher(aspectRatio, m_PolygonRect.center.x); + + // Don't compute further than what is the theoretical max + m_Cache.theoriticalMaxFrustumHeight = Mathf.Max(m_PolygonRect.width / aspectRatio, m_PolygonRect.height) / 2f; + + // Initialize clipper + m_OriginalPolygon = new List>(inputPath.Count); + for (var i = 0; i < inputPath.Count; ++i) + { + var srcPath = inputPath[i]; + var numPoints = srcPath.Count; + var path = new List(numPoints); + for (var j = 0; j < numPoints; ++j) + { + // Neutralize the aspect ratio + var p = m_AspectStretcher.Stretch(srcPath[j]); + path.Add(new IntPoint(p.x * k_FloatToIntScaler, p.y * k_FloatToIntScaler)); + } + m_OriginalPolygon.Add(path); + } + m_MidPoint = MidPointOfIntRect(ClipperBase.GetBounds(m_OriginalPolygon)); + + // Skip the expensive skeleton calculation if it's not wanted (oversized window off) + if (m_Cache.userSetMaxFrustumHeight < 0) + { + State = BakingState.BAKED; // if we don't need skeleton, then we don't need to bake + return; + } + + // exact comparison to 0 is intentional! + m_Cache.maxFrustumHeight = m_Cache.userSetMaxFrustumHeight; + if (m_Cache.maxFrustumHeight == 0 || m_Cache.maxFrustumHeight > m_Cache.theoriticalMaxFrustumHeight) + { + m_Cache.maxFrustumHeight = m_Cache.theoriticalMaxFrustumHeight; + } + m_Cache.stepSize = m_Cache.maxFrustumHeight; + + // Binary search for state changes so we can compute the skeleton + m_Cache.offsetter = new ClipperOffset(); + m_Cache.offsetter.AddPaths(m_OriginalPolygon, JoinType.jtMiter, EndType.etClosedPolygon); + + var solution = new List>(); + m_Cache.offsetter.Execute(ref solution, 0); + + m_Cache.solutions = new List(); + m_Cache.solutions.Add(new PolygonSolution + { + polygons = solution, + frustumHeight = 0, + }); + + m_Cache.rightCandidate = new PolygonSolution(); + m_Cache.leftCandidate = new PolygonSolution + { + polygons = solution, + frustumHeight = 0, + }; + m_Cache.currentFrustumHeight = 0; + m_Cache.maxCandidate = new List>(); + m_Cache.offsetter.Execute(ref m_Cache.maxCandidate, -1f * m_Cache.theoriticalMaxFrustumHeight * k_FloatToIntScaler); + + m_Cache.bakeTime = 0; + State = BakingState.BAKING; + bakeProgress = 0; + + // local functions + Rect GetPolygonBoundingBox(in List> polygons) + { + float minX = float.PositiveInfinity, maxX = float.NegativeInfinity; + float minY = float.PositiveInfinity, maxY = float.NegativeInfinity; + for (var i = 0; i < polygons.Count; ++i) + { + for (var j = 0; j < polygons[i].Count; ++j) + { + var p = polygons[i][j]; + minX = Mathf.Min(minX, p.x); + maxX = Mathf.Max(maxX, p.x); + minY = Mathf.Min(minY, p.y); + maxY = Mathf.Max(maxY, p.y); + } + } + return new Rect(minX, minY, Mathf.Max(0, maxX - minX), Mathf.Max(0, maxY - minY)); + } + + IntPoint MidPointOfIntRect(IntRect bounds) => + new IntPoint((bounds.left + bounds.right) / 2, (bounds.top + bounds.bottom) / 2); + } + + /// + /// Creates shrinkable polygons from input parameters. + /// The algorithm is divide and conquer. It iteratively shrinks down the input + /// polygon towards its shrink directions. If the polygon intersects with itself, + /// then we divide the polygon into two polygons at the intersection point, and + /// continue the algorithm on these two polygons separately. We need to keep track of + /// the connectivity information between sub-polygons. + /// + public void BakeConfiner(float maxComputationTimePerFrameInSeconds) + { + if (State != BakingState.BAKING) + return; + + var startTime = Time.realtimeSinceStartup; + + while (m_Cache.solutions.Count < 1000) + { + var numPaths = m_Cache.leftCandidate.polygons.Count; + var candidate = new List>(numPaths); + + m_Cache.stepSize = Mathf.Min(m_Cache.stepSize, + m_Cache.maxFrustumHeight - m_Cache.leftCandidate.frustumHeight); +#if false + Debug.Log($"States = {solutions.Count}, " + + $"Frustum height = {currentFrustumHeight}, stepSize = {stepSize}"); +#endif + m_Cache.currentFrustumHeight = + m_Cache.leftCandidate.frustumHeight + m_Cache.stepSize; + if (Math.Abs(m_Cache.currentFrustumHeight - m_Cache.maxFrustumHeight) < + UnityVectorExtensions.Epsilon) + { + candidate = m_Cache.maxCandidate; + } + else + { + m_Cache.offsetter.Execute( + ref candidate, -1f * m_Cache.currentFrustumHeight * k_FloatToIntScaler); + } + + if (m_Cache.leftCandidate.StateChanged(in candidate)) + { + m_Cache.rightCandidate = new PolygonSolution + { + polygons = candidate, + frustumHeight = m_Cache.currentFrustumHeight, + }; + m_Cache.stepSize = Mathf.Max(m_Cache.stepSize / 2f, k_MinStepSize); + } + else + { + m_Cache.leftCandidate = new PolygonSolution + { + polygons = candidate, + frustumHeight = m_Cache.currentFrustumHeight, + }; + + // if we have not found right yet, then we don't need to decrease stepsize + if (!m_Cache.rightCandidate.IsNull) + { + m_Cache.stepSize = Mathf.Max(m_Cache.stepSize / 2f, k_MinStepSize); + } + } + + // if we have a right candidate, and left and right are sufficiently close, + // then we have located a state change point + if (!m_Cache.rightCandidate.IsNull && m_Cache.stepSize <= k_MinStepSize) + { + // Add both states: one before the state change and one after + m_Cache.solutions.Add(m_Cache.leftCandidate); + m_Cache.solutions.Add(m_Cache.rightCandidate); + + m_Cache.leftCandidate = m_Cache.rightCandidate; + m_Cache.rightCandidate = new PolygonSolution(); + + // Back to max step + m_Cache.stepSize = m_Cache.maxFrustumHeight; + } + else if (m_Cache.rightCandidate.IsNull || + m_Cache.leftCandidate.frustumHeight >= m_Cache.maxFrustumHeight) + { + m_Cache.solutions.Add(m_Cache.leftCandidate); + break; // stop searching, because we are at the bound + } + + // Pause after max time per iteration reached + var elapsedTime = Time.realtimeSinceStartup - startTime; + if (elapsedTime > maxComputationTimePerFrameInSeconds) + { + m_Cache.bakeTime += elapsedTime; + if (m_Cache.bakeTime > m_MaxComputationTimeForFullSkeletonBakeInSeconds) + { + State = BakingState.TIMEOUT; + } + + bakeProgress = m_Cache.leftCandidate.frustumHeight / m_Cache.maxFrustumHeight; + return; + } + } + + ComputeSkeleton(in m_Cache.solutions); + + // Remove useless/empty results + for (var i = m_Cache.solutions.Count - 1; i >= 0; --i) + { + if (m_Cache.solutions[i].polygons.Count == 0) + { + m_Cache.solutions.RemoveAt(i); + } + } + + bakeProgress = 1; + State = BakingState.BAKED; + + void ComputeSkeleton(in List solutions) + { + // At each state change point, collect geometry that gets lost over the transition + var clipper = new Clipper(); + var offsetter = new ClipperOffset(); + for (int i = 1; i < solutions.Count - 1; i += 2) + { + var prev = solutions[i]; + var next = solutions[i+1]; + + const int padding = 5; // to counteract precision problems - inflates small regions + double step = padding * k_FloatToIntScaler * (next.frustumHeight - prev.frustumHeight); + + // Grow the larger polygon to inflate marginal regions + var expandedPrev = new List>(); + offsetter.Clear(); + offsetter.AddPaths(prev.polygons, JoinType.jtMiter, EndType.etClosedPolygon); + offsetter.Execute(ref expandedPrev, step); + + // Grow the smaller polygon to be a bit bigger than the expanded larger one + var expandedNext = new List>(); + offsetter.Clear(); + offsetter.AddPaths(next.polygons, JoinType.jtMiter, EndType.etClosedPolygon); + offsetter.Execute(ref expandedNext, step * 2); + + // Compute the difference - this is the lost geometry + var solution = new List>(); + clipper.Clear(); + clipper.AddPaths(expandedPrev, PolyType.ptSubject, true); + clipper.AddPaths(expandedNext, PolyType.ptClip, true); + clipper.Execute(ClipType.ctDifference, solution, PolyFillType.pftEvenOdd, PolyFillType.pftEvenOdd); + + // Add that lost geometry to the skeleton + if (solution.Count > 0 && solution[0].Count > 0) + { + m_Skeleton.AddRange(solution); + // Exact comparison is intentional + if (m_MinFrustumHeightWithBones == float.MaxValue) + m_MinFrustumHeightWithBones = next.frustumHeight; + } + } + } + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ConfinerOven.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ConfinerOven.cs.meta new file mode 100644 index 00000000..43576df8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ConfinerOven.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fabb19b3ae73449c856bc82fcaf6831c +timeCreated: 1595944198 \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/GaussianFilter.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/GaussianFilter.cs new file mode 100644 index 00000000..777ff418 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/GaussianFilter.cs @@ -0,0 +1,153 @@ +using System; +using UnityEngine; + +namespace Cinemachine.Utility +{ + internal abstract class GaussianWindow1d + { + protected T[] mData; + protected float[] mKernel; + protected int mCurrentPos = -1; + + public float Sigma { get; private set; } // Filter strength: bigger numbers are stronger. 0.5 is minimal. + public int KernelSize { get { return mKernel.Length; } } + + void GenerateKernel(float sigma, int maxKernelRadius) + { + // Weight is close to 0 at a distance of sigma*3, so let's just cut it off a little early + int kernelRadius = Math.Min(maxKernelRadius, Mathf.FloorToInt(Mathf.Abs(sigma) * 2.5f)); + mKernel = new float[2 * kernelRadius + 1]; + if (kernelRadius == 0) + mKernel[0] = 1; + else + { + float sum = 0; + for (int i = -kernelRadius; i <= kernelRadius; ++i) + { + mKernel[i + kernelRadius] + = (float)(Math.Exp(-(i * i) / (2 * sigma * sigma)) / (2.0 * Math.PI * sigma * sigma)); + sum += mKernel[i + kernelRadius]; + } + for (int i = -kernelRadius; i <= kernelRadius; ++i) + mKernel[i + kernelRadius] /= sum; + } + Sigma = sigma; + } + + protected abstract T Compute(int windowPos); + + public GaussianWindow1d(float sigma, int maxKernelRadius = 10) + { + GenerateKernel(sigma, maxKernelRadius); + mData = new T[KernelSize]; + mCurrentPos = -1; + } + + public void Reset() { mCurrentPos = -1; } + + public bool IsEmpty() { return mCurrentPos < 0; } + + public void AddValue(T v) + { + if (mCurrentPos < 0) + { + for (int i = 0; i < KernelSize; ++i) + mData[i] = v; + mCurrentPos = Mathf.Min(1, KernelSize-1); + } + mData[mCurrentPos] = v; + if (++mCurrentPos == KernelSize) + mCurrentPos = 0; + } + + public T Filter(T v) + { + if (KernelSize < 3) + return v; + AddValue(v); + return Value(); + } + + /// Returned value will be kernelRadius old + public T Value() { return Compute(mCurrentPos); } + + // Direct buffer access + public int BufferLength { get { return mData.Length; } } + public void SetBufferValue(int index, T value) { mData[index] = value; } + public T GetBufferValue(int index) { return mData[index]; } + } + + internal class GaussianWindow1D_Vector3 : GaussianWindow1d + { + public GaussianWindow1D_Vector3(float sigma, int maxKernelRadius = 10) + : base(sigma, maxKernelRadius) {} + + protected override Vector3 Compute(int windowPos) + { + Vector3 sum = Vector3.zero; + for (int i = 0; i < KernelSize; ++i) + { + sum += mData[windowPos] * mKernel[i]; + if (++windowPos == KernelSize) + windowPos = 0; + } + return sum; + } + } + + internal class GaussianWindow1D_Quaternion : GaussianWindow1d + { + public GaussianWindow1D_Quaternion(float sigma, int maxKernelRadius = 10) + : base(sigma, maxKernelRadius) {} + protected override Quaternion Compute(int windowPos) + { + Quaternion sum = new Quaternion(0, 0, 0, 0); + Quaternion q = mData[mCurrentPos]; + Quaternion qInverse = Quaternion.Inverse(q); + for (int i = 0; i < KernelSize; ++i) + { + // Make sure the quaternion is in the same hemisphere, or averaging won't work + float scale = mKernel[i]; + Quaternion q2 = qInverse * mData[windowPos]; + if (Quaternion.Dot(Quaternion.identity, q2) < 0) + scale = -scale; + sum.x += q2.x * scale; + sum.y += q2.y * scale; + sum.z += q2.z * scale; + sum.w += q2.w * scale; + + if (++windowPos == KernelSize) + windowPos = 0; + } +#if UNITY_2019_1_OR_NEWER + return q * Quaternion.Normalize(sum); +#else + return q * sum.Normalized(); +#endif + } + } + + internal class GaussianWindow1D_CameraRotation : GaussianWindow1d + { + public GaussianWindow1D_CameraRotation(float sigma, int maxKernelRadius = 10) + : base(sigma, maxKernelRadius) {} + + protected override Vector2 Compute(int windowPos) + { + Vector2 sum = Vector2.zero; + Vector2 v = mData[mCurrentPos]; + for (int i = 0; i < KernelSize; ++i) + { + Vector2 v2 = mData[windowPos] - v; + if (v2.y > 180f) + v2.y -= 360f; + if (v2.y < -180f) + v2.y += 360f; + sum += v2 * mKernel[i]; + if (++windowPos == KernelSize) + windowPos = 0; + } + return v + sum; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/GaussianFilter.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/GaussianFilter.cs.meta new file mode 100644 index 00000000..ff706815 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/GaussianFilter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 68839a4bf8790cd449d4043f5efb5aec +timeCreated: 1490719908 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineCamera.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineCamera.cs new file mode 100644 index 00000000..1931e231 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineCamera.cs @@ -0,0 +1,100 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// + /// An abstract representation of a virtual camera which lives within the Unity scene + /// + public interface ICinemachineCamera + { + /// + /// Gets the name of this virtual camera. For use when deciding how to blend + /// to or from this camera + /// + string Name { get; } + + /// + /// Gets a brief debug description of this virtual camera, for use when displayiong debug info + /// + string Description { get; } + + /// + /// Gets the priority of this ICinemachineCamera. The virtual camera + /// will be inserted into the global priority stack based on this value. + /// + int Priority { get; set; } + + /// + /// The thing the camera wants to look at (aim). May be null. + /// + Transform LookAt { get; set; } + + /// + /// The thing the camera wants to follow (moving camera). May be null. + /// + Transform Follow { get; set; } + + /// + /// Camera state at the current time. + /// + CameraState State { get; } + + /// + /// Gets the virtual camera game attached to this class. + /// + GameObject VirtualCameraGameObject { get; } + + /// + /// Will return false if this references a deleted object + /// + bool IsValid { get; } + + /// + /// For cameras that implement child cameras, returns the parent vcam, otherwise null. + /// + ICinemachineCamera ParentCamera { get; } + + /// Check whether the vcam is a live child of this camera. + /// The Virtual Camera to check + /// If truw, will only return true if this vcam is the dominat live child + /// True if the vcam is currently actively influencing the state of this vcam + bool IsLiveChild(ICinemachineCamera vcam, bool dominantChildOnly = false); + + /// + /// Update the camera's state. + /// The implementation must guarantee against multiple calls per frame, and should + /// use CinemachineCore.UpdateVirtualCamera(ICinemachineCamera, Vector3, mfloat), which + /// has protection against multiple calls per frame. + /// + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + void UpdateCameraState(Vector3 worldUp, float deltaTime); + + /// + /// Updates this Cinemachine Camera. For an active camera this should be + /// called once and only once each frame. To guarantee this, you should never + /// call this method directly. Always use + /// CinemachineCore.UpdateVirtualCamera(ICinemachineCamera, Vector3, float), which + /// has protection against multiple calls per frame. + /// + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + void InternalUpdateCameraState(Vector3 worldUp, float deltaTime); + + /// + /// Notification that a new camera is being activated. This is sent to the + /// currently active camera. Both may be active simultaneously for a while, if blending. + /// + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + void OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime); + + /// This is called to notify the component that a target got warped, + /// so that the component can update its internal state to make the camera + /// also warp seamlessy. Base class implementation does nothing. + /// The object that was warped + /// The amount the target's position changed + void OnTargetObjectWarped(Transform target, Vector3 positionDelta); + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineCamera.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineCamera.cs.meta new file mode 100644 index 00000000..2ca96531 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineCamera.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2643ac9881a89594a80c242b565b34ec +timeCreated: 1484407000 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineComponent.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineComponent.cs new file mode 100644 index 00000000..d9249fd0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineComponent.cs @@ -0,0 +1,3 @@ +// This file is intentionally blank. +// If you were implementing ICinemachineComponent interface, please refactor to +// inherit from CinemachineComponentBase instead. diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineComponent.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineComponent.cs.meta new file mode 100644 index 00000000..ce6f84d7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/ICinemachineComponent.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9a53087ba28aaf145a184ea363108831 +timeCreated: 1510078351 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/LensSettings.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/LensSettings.cs new file mode 100644 index 00000000..4bfe5b24 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/LensSettings.cs @@ -0,0 +1,386 @@ +using UnityEngine; +using System; + +#if CINEMACHINE_HDRP || CINEMACHINE_LWRP_7_3_1 + #if CINEMACHINE_HDRP_7_3_1 + using UnityEngine.Rendering.HighDefinition; + #else + #if CINEMACHINE_LWRP_7_3_1 + using UnityEngine.Rendering.Universal; + #else + using UnityEngine.Experimental.Rendering.HDPipeline; + #endif + #endif +#endif + +namespace Cinemachine +{ + /// + /// Describes the FOV and clip planes for a camera. This generally mirrors the Unity Camera's + /// lens settings, and will be used to drive the Unity camera when the vcam is active. + /// + [Serializable] + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + public struct LensSettings + { + /// Default Lens Settings + public static LensSettings Default = new LensSettings(40f, 10f, 0.1f, 5000f, 0); + + /// + /// This is the camera view in degrees. For cinematic people, a 50mm lens + /// on a super-35mm sensor would equal a 19.6 degree FOV + /// + [Range(1f, 179f)] + [Tooltip("This is the camera view in degrees. Display will be in vertical degress, unless the " + + "associated camera has its FOV axis setting set to Horizontal, in which case display will " + + "be in horizontal degress. Internally, it is always vertical degrees. " + + "For cinematic people, a 50mm lens on a super-35mm sensor would equal a 19.6 degree FOV")] + public float FieldOfView; + + /// + /// When using an orthographic camera, this defines the half-height, in world + /// co-ordinates, of the camera view. + /// + [Tooltip("When using an orthographic camera, this defines the half-height, in world " + + "coordinates, of the camera view.")] + public float OrthographicSize; + + /// + /// The near clip plane for this LensSettings + /// + [Tooltip("This defines the near region in the renderable range of the camera frustum. " + + "Raising this value will stop the game from drawing things near the camera, which " + + "can sometimes come in handy. Larger values will also increase your shadow resolution.")] + public float NearClipPlane; + + /// + /// The far clip plane for this LensSettings + /// + [Tooltip("This defines the far region of the renderable range of the camera frustum. Typically " + + "you want to set this value as low as possible without cutting off desired distant objects")] + public float FarClipPlane; + + /// + /// The dutch (tilt) to be applied to the camera. In degrees + /// + [Range(-180f, 180f)] + [Tooltip("Camera Z roll, or tilt, in degrees.")] + public float Dutch; + + /// + /// This enum controls how the Camera seetings are driven. Some settings + /// can be pulled from the main camera, or pushed to it, depending on these values. + /// + public enum OverrideModes + { + /// Perspective/Ortho, IsPhysical + /// will not be changed in Unity Camera. This is the default setting. + None = 0, + /// Orthographic projection mode will be pushed to the Unity Camera + Orthographic, + /// Perspective projection mode will be pushed to the Unity Camera + Perspective, + /// A physically-modeled Perspective projection type will be pushed + /// to the Unity Camera + Physical + } + + /// + /// Allows you to select a different camera mode to apply to the Camera component + /// when Cinemachine activates this Virtual Camera. The changes applied to the Camera + /// component through this setting will remain after the Virtual Camera deactivation. + /// + [Tooltip("Allows you to select a different camera mode to apply to the Camera component " + + "when Cinemachine activates this Virtual Camera. The changes applied to the Camera " + + "component through this setting will remain after the Virtual Camera deactivation.")] + public OverrideModes ModeOverride; + + /// + /// This is set every frame by the virtual camera, based on the value found in the + /// currently associated Unity camera. + /// Do not set this property. Instead, use the ModeOverride field to set orthographic mode. + /// + public bool Orthographic + { + get => ModeOverride == OverrideModes.Orthographic || ModeOverride == OverrideModes.None && m_OrthoFromCamera; + + /// Obsolete: do not use + set { m_OrthoFromCamera = value; ModeOverride = value + ? OverrideModes.Orthographic : OverrideModes.Perspective; } + } + + /// + /// For physical cameras, this is the actual size of the image sensor (in mm); it is used to + /// convert between focal length and field of vue. For nonphysical cameras, it is the aspect ratio. + /// + public Vector2 SensorSize + { + get { return m_SensorSize; } + set { m_SensorSize = value; } + } + + /// + /// Sensor aspect, not screen aspect. For nonphysical cameras, this is the same thing. + /// + public float Aspect { get { return SensorSize.y == 0 ? 1f : (SensorSize.x / SensorSize.y); } } + + /// + /// This property will be true if the camera mode is set, either directly or + /// indirectly, to Physical Camera + /// Do not set this property. Instead, use the ModeOverride field to set physical mode. + /// + public bool IsPhysicalCamera + { + get { return ModeOverride == OverrideModes.Physical + || ModeOverride == OverrideModes.None && m_PhysicalFromCamera; } + + /// Obsolete: do not use + set { m_PhysicalFromCamera = value; ModeOverride = value + ? OverrideModes.Physical : OverrideModes.Perspective; } + } + + /// For physical cameras only: position of the gate relative to + /// the film back + public Vector2 LensShift; + + /// For physical cameras only: how the image is fitted to the sensor + /// if the aspect ratios differ + public Camera.GateFitMode GateFit; + +#if UNITY_2022_2_OR_NEWER + /// For physical cameras only: how far from the camera to the point + /// of sharpest focus + public float FocusDistance; +#endif + +[SerializeField] + Vector2 m_SensorSize; + bool m_OrthoFromCamera; + bool m_PhysicalFromCamera; + +#if CINEMACHINE_HDRP + public int Iso; + public float ShutterSpeed; +#if CINEMACHINE_HDRP_14 + [Range(Camera.kMinAperture, Camera.kMaxAperture)] + public float Aperture; + [Range(Camera.kMinBladeCount, Camera.kMaxBladeCount)] +#else + [Range(HDPhysicalCamera.kMinAperture, HDPhysicalCamera.kMaxAperture)] + public float Aperture; + [Range(HDPhysicalCamera.kMinBladeCount, HDPhysicalCamera.kMaxBladeCount)] +#endif + public int BladeCount; + public Vector2 Curvature; + [Range(0, 1)] + public float BarrelClipping; + [Range(-1, 1)] + public float Anamorphism; +#endif + + /// + /// Creates a new LensSettings, copying the values from the + /// supplied Camera + /// + /// The Camera from which the FoV, near + /// and far clip planes will be copied. + /// The LensSettings as extracted from the supplied Camera + public static LensSettings FromCamera(Camera fromCamera) + { + LensSettings lens = Default; + if (fromCamera != null) + { + lens.FieldOfView = fromCamera.fieldOfView; + lens.OrthographicSize = fromCamera.orthographicSize; + lens.NearClipPlane = fromCamera.nearClipPlane; + lens.FarClipPlane = fromCamera.farClipPlane; + lens.LensShift = fromCamera.lensShift; + lens.GateFit = fromCamera.gateFit; +#if UNITY_2022_2_OR_NEWER + lens.FocusDistance = fromCamera.focusDistance; +#endif + lens.SnapshotCameraReadOnlyProperties(fromCamera); + +#if CINEMACHINE_HDRP + if (lens.IsPhysicalCamera) + { +#if CINEMACHINE_HDRP_14 + lens.Iso = fromCamera.iso; + lens.ShutterSpeed = fromCamera.shutterSpeed; + lens.Aperture = fromCamera.aperture; + lens.BladeCount = fromCamera.bladeCount; + lens.Curvature = fromCamera.curvature; + lens.BarrelClipping = fromCamera.barrelClipping; + lens.Anamorphism = fromCamera.anamorphism; +#else + var pc = new HDPhysicalCamera(); + #if UNITY_2019_2_OR_NEWER + fromCamera.TryGetComponent(out var hda); + #else + var hda = fromCamera.GetComponent(); + #endif + if (hda != null) + pc = hda.physicalParameters; + lens.Iso = pc.iso; + lens.ShutterSpeed = pc.shutterSpeed; + lens.Aperture = pc.aperture; + lens.BladeCount = pc.bladeCount; + lens.Curvature = pc.curvature; + lens.BarrelClipping = pc.barrelClipping; + lens.Anamorphism = pc.anamorphism; +#endif + } +#endif + } + return lens; + } + + /// + /// Snapshot the properties that are read-only in the Camera + /// + /// The Camera from which we will take the info + public void SnapshotCameraReadOnlyProperties(Camera camera) + { + m_OrthoFromCamera = false; + m_PhysicalFromCamera = false; + if (camera != null && ModeOverride == OverrideModes.None) + { + m_OrthoFromCamera = camera.orthographic; + m_PhysicalFromCamera = camera.usePhysicalProperties; + m_SensorSize = camera.sensorSize; + GateFit = camera.gateFit; + } + if (IsPhysicalCamera) + { + // If uninitialized, do an initial pull from the camera + if (camera != null && m_SensorSize == Vector2.zero) + { + m_SensorSize = camera.sensorSize; + GateFit = camera.gateFit; + } + } + else + { + if (camera != null) + m_SensorSize = new Vector2(camera.aspect, 1f); + LensShift = Vector2.zero; + } + } + + /// + /// Snapshot the properties that are read-only in the Camera + /// + /// The LensSettings from which we will take the info + public void SnapshotCameraReadOnlyProperties(ref LensSettings lens) + { + if (ModeOverride == OverrideModes.None) + { + m_OrthoFromCamera = lens.Orthographic; + m_SensorSize = lens.m_SensorSize; + m_PhysicalFromCamera = lens.IsPhysicalCamera; + } + if (!IsPhysicalCamera) + LensShift = Vector2.zero; + } + + /// + /// Explicit constructor for this LensSettings + /// + /// The Vertical field of view + /// If orthographic, this is the half-height of the screen + /// The near clip plane + /// The far clip plane + /// Camera roll, in degrees. This is applied at the end + /// after shot composition. + public LensSettings( + float verticalFOV, float orthographicSize, + float nearClip, float farClip, float dutch) : this() + { + FieldOfView = verticalFOV; + OrthographicSize = orthographicSize; + NearClipPlane = nearClip; + FarClipPlane = farClip; + Dutch = dutch; + m_SensorSize = new Vector2(1, 1); + GateFit = Camera.GateFitMode.Horizontal; +#if UNITY_2022_2_OR_NEWER + FocusDistance = 10; +#endif + +#if CINEMACHINE_HDRP + Iso = 200; + ShutterSpeed = 0.005f; + Aperture = 16; + BladeCount = 5; + Curvature = new Vector2(2, 11); + BarrelClipping = 0.25f; + Anamorphism = 0; +#endif + } + + /// + /// Linearly blends the fields of two LensSettings and returns the result + /// + /// The LensSettings to blend from + /// The LensSettings to blend to + /// The interpolation value. Internally clamped to the range [0,1] + /// Interpolated settings + public static LensSettings Lerp(LensSettings lensA, LensSettings lensB, float t) + { + t = Mathf.Clamp01(t); + LensSettings blendedLens = t < 0.5f ? lensA : lensB; // non-lerpable settings taken care of here + blendedLens.FarClipPlane = Mathf.Lerp(lensA.FarClipPlane, lensB.FarClipPlane, t); + blendedLens.NearClipPlane = Mathf.Lerp(lensA.NearClipPlane, lensB.NearClipPlane, t); + blendedLens.FieldOfView = Mathf.Lerp(lensA.FieldOfView, lensB.FieldOfView, t); + blendedLens.OrthographicSize = Mathf.Lerp(lensA.OrthographicSize, lensB.OrthographicSize, t); + blendedLens.Dutch = Mathf.Lerp(lensA.Dutch, lensB.Dutch, t); + blendedLens.m_SensorSize = Vector2.Lerp(lensA.m_SensorSize, lensB.m_SensorSize, t); + blendedLens.LensShift = Vector2.Lerp(lensA.LensShift, lensB.LensShift, t); +#if UNITY_2022_2_OR_NEWER + blendedLens.FocusDistance = Mathf.Lerp(lensA.FocusDistance, lensB.FocusDistance, t); +#endif + +#if CINEMACHINE_HDRP + blendedLens.Iso = Mathf.RoundToInt(Mathf.Lerp((float)lensA.Iso, (float)lensB.Iso, t)); + blendedLens.ShutterSpeed = Mathf.Lerp(lensA.ShutterSpeed, lensB.ShutterSpeed, t); + blendedLens.Aperture = Mathf.Lerp(lensA.Aperture, lensB.Aperture, t); + blendedLens.BladeCount = Mathf.RoundToInt(Mathf.Lerp(lensA.BladeCount, lensB.BladeCount, t));; + blendedLens.Curvature = Vector2.Lerp(lensA.Curvature, lensB.Curvature, t); + blendedLens.BarrelClipping = Mathf.Lerp(lensA.BarrelClipping, lensB.BarrelClipping, t); + blendedLens.Anamorphism = Mathf.Lerp(lensA.Anamorphism, lensB.Anamorphism, t); +#endif + return blendedLens; + } + + /// Make sure lens settings are sane. Call this from OnValidate(). + public void Validate() + { + FarClipPlane = Mathf.Max(FarClipPlane, NearClipPlane + 0.001f); + FieldOfView = Mathf.Clamp(FieldOfView, 0.01f, 179f); + m_SensorSize.x = Mathf.Max(m_SensorSize.x, 0.1f); + m_SensorSize.y = Mathf.Max(m_SensorSize.y, 0.1f); +#if UNITY_2022_2_OR_NEWER + FocusDistance = Mathf.Max(FocusDistance, 0.01f); +#endif +#if CINEMACHINE_HDRP + #if CINEMACHINE_HDRP_14 + ShutterSpeed = Mathf.Max(0, ShutterSpeed); + Aperture = Mathf.Clamp(Aperture, Camera.kMinAperture, Camera.kMaxAperture); + BladeCount = Mathf.Clamp(BladeCount, Camera.kMinBladeCount, Camera.kMaxBladeCount); + BarrelClipping = Mathf.Clamp01(BarrelClipping); + Curvature.x = Mathf.Clamp(Curvature.x, Camera.kMinAperture, Camera.kMaxAperture); + Curvature.y = Mathf.Clamp(Curvature.y, Curvature.x, Camera.kMaxAperture); + Anamorphism = Mathf.Clamp(Anamorphism, -1, 1); + #else + ShutterSpeed = Mathf.Max(0, ShutterSpeed); + Aperture = Mathf.Clamp(Aperture, HDPhysicalCamera.kMinAperture, HDPhysicalCamera.kMaxAperture); + BladeCount = Mathf.Clamp(BladeCount, HDPhysicalCamera.kMinBladeCount, HDPhysicalCamera.kMaxBladeCount); + BarrelClipping = Mathf.Clamp01(BarrelClipping); + Curvature.x = Mathf.Clamp(Curvature.x, HDPhysicalCamera.kMinAperture, HDPhysicalCamera.kMaxAperture); + Curvature.y = Mathf.Clamp(Curvature.y, Curvature.x, HDPhysicalCamera.kMaxAperture); + Anamorphism = Mathf.Clamp(Anamorphism, -1, 1); + #endif +#endif + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/LensSettings.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/LensSettings.cs.meta new file mode 100644 index 00000000..4ce533a2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/LensSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5778d22ca832d9f47b5e73a8c5fe78a2 +timeCreated: 1481654955 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/NoiseSettings.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/NoiseSettings.cs new file mode 100644 index 00000000..8b2f8f0b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/NoiseSettings.cs @@ -0,0 +1,130 @@ +using UnityEngine; +using System; +using UnityEngine.Serialization; + +namespace Cinemachine +{ + /// + /// This is an asset that defines a noise profile. A noise profile is the + /// shape of the noise signal as a function of time. You can build arbitrarily complex shapes by + /// combining different base perlin noise frequencies at different amplitudes. + /// + /// The frequencies and amplitudes should be chosen with care, to ensure an interesting + /// noise quality that is not obviously repetitive. + /// + /// As a mathematical side-note, any arbitrary periodic curve can be broken down into a + /// series of fixed-amplitude sine-waves added together. This is called fourier decomposition, + /// and is the basis of much signal processing. It doesn't really have much to do with this + /// asset, but it's super interesting! + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [HelpURL(Documentation.BaseURL + "manual/CinemachineNoiseProfiles.html")] + public sealed class NoiseSettings : SignalSourceAsset + { + /// Describes the behaviour for a channel of noise + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public struct NoiseParams + { + /// The frequency of noise for this channel. Higher magnitudes vibrate faster + [Tooltip("The frequency of noise for this channel. Higher magnitudes vibrate faster.")] + public float Frequency; + + /// The amplitude of the noise for this channel. Larger numbers vibrate higher + [Tooltip("The amplitude of the noise for this channel. Larger numbers vibrate higher.")] + public float Amplitude; + + /// If checked, then the amplitude and frequency will not be randomized + [Tooltip("If checked, then the amplitude and frequency will not be randomized.")] + public bool Constant; + + /// Get the signal value at a given time, offset by a given amount + /// The current time + /// The (unscaled) offset to add to the current time + /// Value of the signal at desired time + public float GetValueAt(float time, float timeOffset) + { + float t = (Frequency * time) + timeOffset; + if (Constant) + return Mathf.Cos(t * 2 * Mathf.PI) * Amplitude * 0.5f; + return (Mathf.PerlinNoise(t, 0f) - 0.5f) * Amplitude; + } + } + + /// + /// Contains the behaviour of noise for the noise module for all 3 cardinal axes of the camera + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [Serializable] + public struct TransformNoiseParams + { + /// Noise definition for X-axis + [Tooltip("Noise definition for X-axis")] + public NoiseParams X; + /// Noise definition for Y-axis + [Tooltip("Noise definition for Y-axis")] + public NoiseParams Y; + /// Noise definition for Z-axis + [Tooltip("Noise definition for Z-axis")] + public NoiseParams Z; + + /// Get the signal value at a given time, offset by a given amount + /// The current time + /// The (unscaled) offsets (per-channel) to add to the current time + /// Value of the signal at desired time + public Vector3 GetValueAt(float time, Vector3 timeOffsets) + { + return new Vector3( + X.GetValueAt(time, timeOffsets.x), + Y.GetValueAt(time, timeOffsets.y), + Z.GetValueAt(time, timeOffsets.z)); + } + } + + /// The array of positional noise channels for this NoiseSettings + [Tooltip("These are the noise channels for the virtual camera's position. Convincing noise setups " + + "typically mix low, medium and high frequencies together, so start with a size of 3")] + [FormerlySerializedAs("m_Position")] + public TransformNoiseParams[] PositionNoise = Array.Empty(); + + /// The array of orientation noise channels for this NoiseSettings + [Tooltip("These are the noise channels for the virtual camera's orientation. Convincing noise " + + "setups typically mix low, medium and high frequencies together, so start with a size of 3")] + [FormerlySerializedAs("m_Orientation")] + public TransformNoiseParams[] OrientationNoise = Array.Empty(); + + /// Get the noise signal value at a specific time + /// The parameters that define the noise function + /// The time at which to sample the noise function + /// Start time offset for each channel + /// The 3-channel noise signal value at the specified time + public static Vector3 GetCombinedFilterResults( + TransformNoiseParams[] noiseParams, float time, Vector3 timeOffsets) + { + Vector3 pos = Vector3.zero; + if (noiseParams != null) + { + for (int i = 0; i < noiseParams.Length; ++i) + pos += noiseParams[i].GetValueAt(time, timeOffsets); + } + return pos; + } + + /// + /// Returns the total length in seconds of the signal. + /// Returns 0 for signals of indeterminate length. + /// + public override float SignalDuration { get { return 0; } } + + /// Interface for raw signal provider + /// Time at which to get signal value + /// The position impulse signal + /// The rotation impulse signal + public override void GetSignal(float timeSinceSignalStart, out Vector3 pos, out Quaternion rot) + { + pos = GetCombinedFilterResults(PositionNoise, timeSinceSignalStart, Vector3.zero); + rot = Quaternion.Euler(GetCombinedFilterResults(OrientationNoise, timeSinceSignalStart, Vector3.zero)); + } + + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/NoiseSettings.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/NoiseSettings.cs.meta new file mode 100644 index 00000000..0ec55f70 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/NoiseSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b7f59e54f2bfd184b9dd451a678d089b +timeCreated: 1481654957 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/Predictor.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/Predictor.cs new file mode 100644 index 00000000..a05e0c0c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/Predictor.cs @@ -0,0 +1,290 @@ +using UnityEngine; + +namespace Cinemachine.Utility +{ + /// + /// This is a utility class to implement position predicting. + /// + public class PositionPredictor + { + Vector3 m_Velocity; + Vector3 m_SmoothDampVelocity; + Vector3 m_Pos; + bool m_HavePos; + + /// + /// How much to smooth the predicted result. Must be >= 0, roughly coresponds to smoothing time. + /// + public float Smoothing; + + /// + /// Have any positions been logged for smoothing? + /// + /// True if no positions have yet been logged, in which case smoothing is impossible + public bool IsEmpty() { return !m_HavePos; } + + /// + /// Apply a delta to the target's position, which will be ignored for + /// smoothing purposes. Use this whent he target's position gets warped. + /// + /// The position change of the target object + public void ApplyTransformDelta(Vector3 positionDelta) { m_Pos += positionDelta; } + + /// Reset the lookahead data, clear all the buffers. + public void Reset() + { + m_HavePos = false; + m_SmoothDampVelocity = Vector3.zero; + m_Velocity = Vector3.zero; + } + + /// Add a new target position to the history buffer + /// The new target position + /// deltaTime since the last target position was added + /// Current lookahead time setting (unused) + public void AddPosition(Vector3 pos, float deltaTime, float lookaheadTime) + { + if (deltaTime < 0) + Reset(); + if (m_HavePos && deltaTime > UnityVectorExtensions.Epsilon) + { + var vel = (pos - m_Pos) / deltaTime; + bool slowing = vel.sqrMagnitude < m_Velocity.sqrMagnitude; + m_Velocity = Vector3.SmoothDamp( + m_Velocity, vel, ref m_SmoothDampVelocity, Smoothing / (slowing ? 30 : 10), + float.PositiveInfinity, deltaTime); + } + m_Pos = pos; + m_HavePos = true; + } + + /// Predict the target's position change over a given time from now + /// How far ahead in time to predict + /// The predicted position change (current velocity * lokahead time) + public Vector3 PredictPositionDelta(float lookaheadTime) + { + return m_Velocity * lookaheadTime; + } + + /// Predict the target's position a given time from now + /// How far ahead in time to predict + /// The predicted position + public Vector3 PredictPosition(float lookaheadTime) + { + return m_Pos + PredictPositionDelta(lookaheadTime); + } + } + + /// Utility to perform realistic damping of float or Vector3 values. + /// The algorithm is based on exponentially decaying the delta until only + /// a negligible amount remains. + public static class Damper + { + const float Epsilon = UnityVectorExtensions.Epsilon; + + // Get the decay constant that would leave a given residual after a given time + static float DecayConstant(float time, float residual) + { + return Mathf.Log(1f / residual) / time; + } + + // Exponential decay: decay a given quantity opver a period of time + static float DecayedRemainder(float initial, float decayConstant, float deltaTime) + { + return initial / Mathf.Exp(decayConstant * deltaTime); + } + + /// Standard residual + public const float kNegligibleResidual = 0.01f; + const float kLogNegligibleResidual = -4.605170186f; // == math.Log(kNegligibleResidual=0.01f); + + /// Get a damped version of a quantity. This is the portion of the + /// quantity that will take effect over the given time. + /// The amount that will be damped + /// The rate of damping. This is the time it would + /// take to reduce the original amount to a negligible percentage + /// The time over which to damp + /// The damped amount. This will be the original amount scaled by + /// a value between 0 and 1. + public static float Damp(float initial, float dampTime, float deltaTime) + { + if (dampTime < Epsilon || Mathf.Abs(initial) < Epsilon) + return initial; + if (deltaTime < Epsilon) + return 0; + float k = -kLogNegligibleResidual / dampTime; //DecayConstant(dampTime, kNegligibleResidual); + +#if CINEMACHINE_EXPERIMENTAL_DAMPING + // Try to reduce damage caused by frametime variability + float step = Time.fixedDeltaTime; + if (deltaTime != step) + step /= 5; + int numSteps = Mathf.FloorToInt(deltaTime / step); + float vel = initial * step / deltaTime; + float decayConstant = Mathf.Exp(-k * step); + float r = 0; + for (int i = 0; i < numSteps; ++i) + r = (r + vel) * decayConstant; + float d = deltaTime - (step * numSteps); + if (d > Epsilon) + r = Mathf.Lerp(r, (r + vel) * decayConstant, d / step); + return initial - r; +#else + return initial * (1 - Mathf.Exp(-k * deltaTime)); +#endif + } + + /// Get a damped version of a quantity. This is the portion of the + /// quantity that will take effect over the given time. + /// The amount that will be damped + /// The rate of damping. This is the time it would + /// take to reduce the original amount to a negligible percentage + /// The time over which to damp + /// The damped amount. This will be the original amount scaled by + /// a value between 0 and 1. + public static Vector3 Damp(Vector3 initial, Vector3 dampTime, float deltaTime) + { + for (int i = 0; i < 3; ++i) + initial[i] = Damp(initial[i], dampTime[i], deltaTime); + return initial; + } + + /// Get a damped version of a quantity. This is the portion of the + /// quantity that will take effect over the given time. + /// The amount that will be damped + /// The rate of damping. This is the time it would + /// take to reduce the original amount to a negligible percentage + /// The time over which to damp + /// The damped amount. This will be the original amount scaled by + /// a value between 0 and 1. + public static Vector3 Damp(Vector3 initial, float dampTime, float deltaTime) + { + for (int i = 0; i < 3; ++i) + initial[i] = Damp(initial[i], dampTime, deltaTime); + return initial; + } + } + + /// Tracks an object's velocity with a filter to determine a reasonably + /// steady direction for the object's current trajectory. + public class HeadingTracker + { + struct Item + { + public Vector3 velocity; + public float weight; + public float time; + }; + Item[] mHistory; + int mTop; + int mBottom; + int mCount; + + Vector3 mHeadingSum; + float mWeightSum = 0; + float mWeightTime = 0; + + Vector3 mLastGoodHeading = Vector3.zero; + + /// Construct a heading tracker with a given filter size + /// The size of the filter. The larger the filter, the + /// more constanct (and laggy) is the heading. 30 is pretty big. + public HeadingTracker(int filterSize) + { + mHistory = new Item[filterSize]; + float historyHalfLife = filterSize / 5f; // somewhat arbitrarily + mDecayExponent = -Mathf.Log(2f) / historyHalfLife; + ClearHistory(); + } + + /// Get the current filter size + public int FilterSize { get { return mHistory.Length; } } + + void ClearHistory() + { + mTop = mBottom = mCount = 0; + mWeightSum = 0; + mHeadingSum = Vector3.zero; + } + + static float mDecayExponent; + static float Decay(float time) { return Mathf.Exp(time * mDecayExponent); } + + /// Add a new velocity frame. This should be called once per frame, + /// unless the velocity is zero + /// The object's velocity this frame + public void Add(Vector3 velocity) + { + if (FilterSize == 0) + { + mLastGoodHeading = velocity; + return; + } + float weight = velocity.magnitude; + if (weight > UnityVectorExtensions.Epsilon) + { + Item item = new Item(); + item.velocity = velocity; + item.weight = weight; + item.time = CinemachineCore.CurrentTime; + if (mCount == FilterSize) + PopBottom(); + ++mCount; + mHistory[mTop] = item; + if (++mTop == FilterSize) + mTop = 0; + + mWeightSum *= Decay(item.time - mWeightTime); + mWeightTime = item.time; + mWeightSum += weight; + mHeadingSum += item.velocity; + } + } + + void PopBottom() + { + if (mCount > 0) + { + float time = CinemachineCore.CurrentTime; + Item item = mHistory[mBottom]; + if (++mBottom == FilterSize) + mBottom = 0; + --mCount; + + float decay = Decay(time - item.time); + mWeightSum -= item.weight * decay; + mHeadingSum -= item.velocity * decay; + if (mWeightSum <= UnityVectorExtensions.Epsilon || mCount == 0) + ClearHistory(); + } + } + + /// Decay the history. This should be called every frame. + public void DecayHistory() + { + float time = CinemachineCore.CurrentTime; + float decay = Decay(time - mWeightTime); + mWeightSum *= decay; + mWeightTime = time; + if (mWeightSum < UnityVectorExtensions.Epsilon) + ClearHistory(); + else + mHeadingSum = mHeadingSum * decay; + } + + /// Get the filtered heading. + /// The filtered direction of motion + public Vector3 GetReliableHeading() + { + // Update Last Good Heading + if (mWeightSum > UnityVectorExtensions.Epsilon + && (mCount == mHistory.Length || mLastGoodHeading.AlmostZero())) + { + Vector3 h = mHeadingSum / mWeightSum; + if (!h.AlmostZero()) + mLastGoodHeading = h.normalized; + } + return mLastGoodHeading; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/Predictor.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/Predictor.cs.meta new file mode 100644 index 00000000..b7475bb2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/Predictor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6cef82e891a45884fb2b70604b0f8c29 +timeCreated: 1505225008 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/RuntimeUtility.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/RuntimeUtility.cs new file mode 100644 index 00000000..8cf7ce68 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/RuntimeUtility.cs @@ -0,0 +1,274 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using UnityEngine; + +namespace Cinemachine +{ + /// An ad-hoc collection of helpers, used by Cinemachine + /// or its editor tools in various places + [DocumentationSorting(DocumentationSortingAttribute.Level.Undoc)] + public static class RuntimeUtility + { + /// Convenience to destroy an object, using the appropriate method depending + /// on whether the game is playing + /// The object to destroy + public static void DestroyObject(UnityEngine.Object obj) + { + if (obj != null) + { +#if UNITY_EDITOR + if (Application.isPlaying) + UnityEngine.Object.Destroy(obj); + else + UnityEngine.Object.DestroyImmediate(obj); +#else + UnityEngine.Object.Destroy(obj); +#endif + } + } + + /// + /// Check whether a GameObject is a prefab. + /// For editor only - some things are disallowed if prefab. In runtime, will always return false. + /// + /// the object to check + /// If editor, checks if object is a prefab or prefab instance. + /// In runtime, returns false always + public static bool IsPrefab(GameObject gameObject) + { +#if UNITY_EDITOR + return UnityEditor.PrefabUtility.GetPrefabInstanceStatus(gameObject) + != UnityEditor.PrefabInstanceStatus.NotAPrefab; +#else + return false; +#endif + } + +#if CINEMACHINE_PHYSICS + private static RaycastHit[] s_HitBuffer = new RaycastHit[16]; + private static int[] s_PenetrationIndexBuffer = new int[16]; + + /// + /// Perform a raycast, but pass through any objects that have a given tag + /// + /// The ray to cast + /// The returned results + /// Length of the raycast + /// Layers to include + /// Tag to ignore + /// True if something was hit. Results in hitInfo + public static bool RaycastIgnoreTag( + Ray ray, out RaycastHit hitInfo, float rayLength, int layerMask, in string ignoreTag) + { + if (ignoreTag.Length == 0) + { + if (Physics.Raycast( + ray, out hitInfo, rayLength, layerMask, + QueryTriggerInteraction.Ignore)) + { + return true; + } + } + else + { + int closestHit = -1; + int numHits = Physics.RaycastNonAlloc( + ray, s_HitBuffer, rayLength, layerMask, QueryTriggerInteraction.Ignore); + for (int i = 0; i < numHits; ++i) + { + if (s_HitBuffer[i].collider.CompareTag(ignoreTag)) + continue; + if (closestHit < 0 || s_HitBuffer[i].distance < s_HitBuffer[closestHit].distance) + closestHit = i; + } + if (closestHit >= 0) + { + hitInfo = s_HitBuffer[closestHit]; + if (numHits == s_HitBuffer.Length) + s_HitBuffer = new RaycastHit[s_HitBuffer.Length * 2]; // full! grow for next time + return true; + } + } + hitInfo = new RaycastHit(); + return false; + } + + /// + /// Perform a sphere cast, but pass through objects with a given tag + /// + /// Start of the ray + /// Radius of the sphere cast + /// Normalized direction of the ray + /// Results go here + /// Length of the ray + /// Layers to include + /// Tag to ignore + /// True if something is hit. Results in hitInfo. + public static bool SphereCastIgnoreTag( + Vector3 rayStart, float radius, Vector3 dir, + out RaycastHit hitInfo, float rayLength, + int layerMask, in string ignoreTag) + { + int closestHit = -1; + int numPenetrations = 0; + float penetrationDistanceSum = 0; + int numHits = Physics.SphereCastNonAlloc( + rayStart, radius, dir, s_HitBuffer, rayLength, layerMask, + QueryTriggerInteraction.Ignore); + for (int i = 0; i < numHits; ++i) + { + var h = s_HitBuffer[i]; + if (ignoreTag.Length > 0 && h.collider.CompareTag(ignoreTag)) + continue; + + // Collect overlapping items + if (h.distance == 0 && h.normal == -dir) + { + if (s_PenetrationIndexBuffer.Length > numPenetrations + 1) + s_PenetrationIndexBuffer[numPenetrations++] = i; + + // hitInfo for overlapping colliders will have special + // values that are not helpful to the caller. Fix that here. + var scratchCollider = GetScratchCollider(); + scratchCollider.radius = radius; + var c = h.collider; + + if (Physics.ComputePenetration( + scratchCollider, rayStart, Quaternion.identity, + c, c.transform.position, c.transform.rotation, + out var offsetDir, out var offsetDistance)) + { + h.point = rayStart + offsetDir * (offsetDistance - radius); + h.distance = offsetDistance - radius; // will be -ve + h.normal = offsetDir; + s_HitBuffer[i] = h; + penetrationDistanceSum += h.distance; + } + else + { + continue; // don't know what's going on, just forget about it + } + } + if (closestHit < 0 || h.distance < s_HitBuffer[closestHit].distance) + { + closestHit = i; + } + } + + // Naively combine penetrating items + if (numPenetrations > 1) + { + hitInfo = new RaycastHit(); + for (int i = 0; i < numPenetrations; ++i) + { + var h = s_HitBuffer[s_PenetrationIndexBuffer[i]]; + var t = h.distance / penetrationDistanceSum; + hitInfo.point += h.point * t; + hitInfo.distance += h.distance * t; + hitInfo.normal += h.normal * t; + } + hitInfo.normal = hitInfo.normal.normalized; + return true; + } + + if (closestHit >= 0) + { + hitInfo = s_HitBuffer[closestHit]; + if (numHits == s_HitBuffer.Length) + s_HitBuffer = new RaycastHit[s_HitBuffer.Length * 2]; // full! grow for next time + + return true; + } + hitInfo = new RaycastHit(); + return false; + } + + private static SphereCollider s_ScratchCollider; + private static GameObject s_ScratchColliderGameObject; + + internal static SphereCollider GetScratchCollider() + { + if (s_ScratchColliderGameObject == null) + { + s_ScratchColliderGameObject = new GameObject("Cinemachine Scratch Collider"); + s_ScratchColliderGameObject.hideFlags = HideFlags.HideAndDontSave; + s_ScratchColliderGameObject.transform.position = Vector3.zero; + s_ScratchColliderGameObject.SetActive(true); + s_ScratchCollider = s_ScratchColliderGameObject.AddComponent(); + s_ScratchCollider.isTrigger = true; + var rb = s_ScratchColliderGameObject.AddComponent(); + rb.detectCollisions = false; + rb.isKinematic = true; + } + return s_ScratchCollider; + } + + internal static void DestroyScratchCollider() + { + if (s_ScratchColliderGameObject != null) + { + s_ScratchColliderGameObject.SetActive(false); + DestroyObject(s_ScratchColliderGameObject.GetComponent()); + } + DestroyObject(s_ScratchCollider); + DestroyObject(s_ScratchColliderGameObject); + s_ScratchColliderGameObject = null; + s_ScratchCollider = null; + } +#endif + + /// + /// Normalize a curve so that its X and Y axes range from 0 to 1 + /// + /// Curve to normalize + /// If true, normalize the X axis + /// If true, normalize the Y axis + /// The normalized curve + public static AnimationCurve NormalizeCurve( + AnimationCurve curve, bool normalizeX, bool normalizeY) + { + if (!normalizeX && !normalizeY) + return curve; + Keyframe[] keys = curve.keys; + if (keys.Length > 0) + { + float minTime = keys[0].time; + float maxTime = minTime; + float minVal = keys[0].value; + float maxVal = minVal; + for (int i = 0; i < keys.Length; ++i) + { + minTime = Mathf.Min(minTime, keys[i].time); + maxTime = Mathf.Max(maxTime, keys[i].time); + minVal = Mathf.Min(minVal, keys[i].value); + maxVal = Mathf.Max(maxVal, keys[i].value); + } + float range = maxTime - minTime; + float timeScale = range < 0.0001f ? 1 : 1 / range; + range = maxVal - minVal; + float valScale = range < 1 ? 1 : 1 / range; + float valOffset = 0; + if (range < 1) + { + if (minVal > 0 && minVal + range <= 1) + valOffset = minVal; + else + valOffset = 1 - range; + } + for (int i = 0; i < keys.Length; ++i) + { + if (normalizeX) + keys[i].time = (keys[i].time - minTime) * timeScale; + if (normalizeY) + keys[i].value = ((keys[i].value - minVal) * valScale) + valOffset; + } + curve.keys = keys; + } + return curve; + } + } +} + diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/RuntimeUtility.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/RuntimeUtility.cs.meta new file mode 100644 index 00000000..d53265ac --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/RuntimeUtility.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: b567991935cb6844d9bb65eda22b628f +timeCreated: 1517952341 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SignalSourceAsset.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SignalSourceAsset.cs new file mode 100644 index 00000000..4b1e4bdb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SignalSourceAsset.cs @@ -0,0 +1,42 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// Interface for raw signal provider + public interface ISignalSource6D + { + /// + /// Returns the length on seconds of the signal. + /// Returns 0 for signals of indeterminate length. + /// + float SignalDuration { get; } + + /// Get the signal value at a given time relative to signal start + /// Time since signal start. Always >= 0 + /// output for position component of the signal + /// output for rotation component of the signal. Use Quaternion.identity if none. + void GetSignal(float timeSinceSignalStart, out Vector3 pos, out Quaternion rot); + } + + /// + /// This is an asset that defines a 6D signal that can be retrieved in a random-access fashion. + /// This is used by the Cinemachine Impulse module. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.API)] + public abstract class SignalSourceAsset : ScriptableObject, ISignalSource6D + { + /// + /// Returns the length on seconds of the signal. + /// Returns 0 for signals of indeterminate length. + /// + public abstract float SignalDuration { get; } + + /// Get the signal value at a given time relative to signal start + /// Time since signal start. Always >= 0 + /// output for position component of the signal + /// output for rotation component of the signal. Use Quaternion.identity if none. + public abstract void GetSignal( + float timeSinceSignalStart, out Vector3 pos, out Quaternion rot); + } + +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SignalSourceAsset.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SignalSourceAsset.cs.meta new file mode 100644 index 00000000..8f6b9909 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SignalSourceAsset.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cebc3fe47a919524eb4a977f726a484e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SplineHelpers.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SplineHelpers.cs new file mode 100644 index 00000000..0f0e1813 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SplineHelpers.cs @@ -0,0 +1,201 @@ +using UnityEngine; + +namespace Cinemachine.Utility +{ + /// + /// A collection of utilities relating to Bezier splines + /// + public static class SplineHelpers + { + /// Compute the value of a 4-point 3-dimensional bezier spline + /// How far along the spline (0...1) + /// First point + /// First tangent + /// Second point + /// Second tangent + /// The spline value at t + public static Vector3 Bezier3( + float t, Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3) + { + t = Mathf.Clamp01(t); + float d = 1f - t; + return d * d * d * p0 + 3f * d * d * t * p1 + + 3f * d * t * t * p2 + t * t * t * p3; + } + + /// Compute the tangent of a 4-point 3-dimensional bezier spline + /// How far along the spline (0...1) + /// First point + /// First tangent + /// Second point + /// Second tangent + /// The spline tangent at t + public static Vector3 BezierTangent3( + float t, Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3) + { + t = Mathf.Clamp01(t); + return (-3f * p0 + 9f * p1 - 9f * p2 + 3f * p3) * (t * t) + + (6f * p0 - 12f * p1 + 6f * p2) * t + - 3f * p0 + 3f * p1; + } + + /// Compute the weights for the tangent of a 4-point 3-dimensional bezier spline + /// First point + /// First tangent + /// Second point + /// Second tangent + /// First output weight + /// Second output weight + /// Third output weight + /// Weights for the bezier tangent + public static void BezierTangentWeights3( + Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, + out Vector3 w0, out Vector3 w1, out Vector3 w2) + { + w0 = -3f * p0 + 9f * p1 - 9f * p2 + 3f * p3; + w1 = 6f * p0 - 12f * p1 + 6f * p2; + w2 = -3f * p0 + 3f * p1; + } + + /// Compute the value of a 4-point 1-dimensional bezier spline + /// How far along the spline (0...1) + /// First point + /// First tangent + /// Second point + /// Second tangent + /// The spline value at t + public static float Bezier1(float t, float p0, float p1, float p2, float p3) + { + t = Mathf.Clamp01(t); + float d = 1f - t; + return d * d * d * p0 + 3f * d * d * t * p1 + + 3f * d * t * t * p2 + t * t * t * p3; + } + + /// Compute the tangent of a 4-point 1-dimensional bezier spline + /// How far along the spline (0...1) + /// First point + /// First tangent + /// Second point + /// Second tangent + /// The spline tangent at t + public static float BezierTangent1( + float t, float p0, float p1, float p2, float p3) + { + t = Mathf.Clamp01(t); + return (-3f * p0 + 9f * p1 - 9f * p2 + 3f * p3) * t * t + + (6f * p0 - 12f * p1 + 6f * p2) * t + - 3f * p0 + 3f * p1; + } + + /// + /// Use the Thomas algorithm to compute smooth tangent values for a spline. + /// Resultant tangents guarantee second-order smoothness of the curve. + /// + /// The knots defining the curve + /// Output buffer for the first control points (1 per knot) + /// Output buffer for the second control points (1 per knot) + public static void ComputeSmoothControlPoints( + ref Vector4[] knot, ref Vector4[] ctrl1, ref Vector4[] ctrl2) + { + int numPoints = knot.Length; + if (numPoints <= 2) + { + if (numPoints == 2) + { + ctrl1[0] = Vector4.Lerp(knot[0], knot[1], 0.33333f); + ctrl2[0] = Vector4.Lerp(knot[0], knot[1], 0.66666f); + } + else if (numPoints == 1) + ctrl1[0] = ctrl2[0] = knot[0]; + return; + } + + var a = new float[numPoints]; + var b = new float[numPoints]; + var c = new float[numPoints]; + var r = new float[numPoints]; + for (int axis = 0; axis < 4; ++axis) + { + int n = numPoints - 1; + + // Linear into the first segment + a[0] = 0; + b[0] = 2; + c[0] = 1; + r[0] = knot[0][axis] + 2 * knot[1][axis]; + + // Internal segments + for (int i = 1; i < n - 1; ++i) + { + a[i] = 1; + b[i] = 4; + c[i] = 1; + r[i] = 4 * knot[i][axis] + 2 * knot[i+1][axis]; + } + + // Linear out of the last segment + a[n - 1] = 2; + b[n - 1] = 7; + c[n - 1] = 0; + r[n - 1] = 8 * knot[n - 1][axis] + knot[n][axis]; + + // Solve with Thomas algorithm + for (int i = 1; i < n; ++i) + { + float m = a[i] / b[i-1]; + b[i] = b[i] - m * c[i-1]; + r[i] = r[i] - m * r[i-1]; + } + + // Compute ctrl1 + ctrl1[n-1][axis] = r[n-1] / b[n-1]; + for (int i = n - 2; i >= 0; --i) + ctrl1[i][axis] = (r[i] - c[i] * ctrl1[i + 1][axis]) / b[i]; + + // Compute ctrl2 from ctrl1 + for (int i = 0; i < n; i++) + ctrl2[i][axis] = 2 * knot[i + 1][axis] - ctrl1[i + 1][axis]; + ctrl2[n - 1][axis] = 0.5f * (knot[n][axis] + ctrl1[n - 1][axis]); + } + } + + /// + /// Use the Thomas algorithm to compute smooth tangent values for a spline. + /// This method will assume that the spline is looped (i.e. that the last knot is followed by the first). + /// Resultant tangents guarantee second-order smoothness of the curve. + /// + /// The knots defining the curve + /// Output buffer for the first control points (1 per knot) + /// Output buffer for the second control points (1 per knot) + public static void ComputeSmoothControlPointsLooped( + ref Vector4[] knot, ref Vector4[] ctrl1, ref Vector4[] ctrl2) + { + int numPoints = knot.Length; + if (numPoints < 2) + { + if (numPoints == 1) + ctrl1[0] = ctrl2[0] = knot[0]; + return; + } + + int margin = Mathf.Min(4, numPoints-1); + Vector4[] knotLooped = new Vector4[numPoints + 2 * margin]; + Vector4[] ctrl1Looped = new Vector4[numPoints + 2 * margin]; + Vector4[] ctrl2Looped = new Vector4[numPoints + 2 * margin]; + for (int i = 0; i < margin; ++i) + { + knotLooped[i] = knot[numPoints-(margin-i)]; + knotLooped[numPoints+margin+i] = knot[i]; + } + for (int i = 0; i < numPoints; ++i) + knotLooped[i + margin] = knot[i]; + ComputeSmoothControlPoints(ref knotLooped, ref ctrl1Looped, ref ctrl2Looped); + for (int i = 0; i < numPoints; ++i) + { + ctrl1[i] = ctrl1Looped[i + margin]; + ctrl2[i] = ctrl2Looped[i + margin]; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SplineHelpers.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SplineHelpers.cs.meta new file mode 100644 index 00000000..bd13869b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/SplineHelpers.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fca2bf25139920d4f9bf86711457992e +timeCreated: 1505844077 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/TargetPositionCache.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/TargetPositionCache.cs new file mode 100644 index 00000000..6634d737 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/TargetPositionCache.cs @@ -0,0 +1,297 @@ +using UnityEngine; +using System.Collections.Generic; +using System; + +namespace Cinemachine +{ + internal class TargetPositionCache + { + public static bool UseCache; + public const float CacheStepSize = 1 / 60.0f; + public enum Mode { Disabled, Record, Playback } + + static Mode m_CacheMode = Mode.Disabled; + +#if UNITY_EDITOR + static TargetPositionCache() { UnityEngine.SceneManagement.SceneManager.sceneLoaded += OnSceneLoaded; } + static void OnSceneLoaded(UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode mode) { ClearCache(); } +#endif + + public static Mode CacheMode + { + get => m_CacheMode; + set + { + if (value == m_CacheMode) + return; + m_CacheMode = value; + switch (value) + { + default: case Mode.Disabled: ClearCache(); break; + case Mode.Record: ClearCache(); break; + case Mode.Playback: CreatePlaybackCurves(); break; + } + } + } + + public static bool IsRecording => UseCache && m_CacheMode == Mode.Record; + public static bool CurrentPlaybackTimeValid => UseCache && m_CacheMode == Mode.Playback && HasCurrentTime; + public static bool IsEmpty => CacheTimeRange.IsEmpty; + + public static float CurrentTime; + + // These are used during recording to manage camera cuts + public static int CurrentFrame; + public static bool IsCameraCut; + + class CacheCurve + { + public struct Item + { + public Vector3 Pos; + public Quaternion Rot; + + public static Item Lerp(Item a, Item b, float t) + { + return new Item + { + Pos = Vector3.LerpUnclamped(a.Pos, b.Pos, t), + Rot = Quaternion.SlerpUnclamped(a.Rot, b.Rot, t) + }; + } + public static Item Empty => new Item { Rot = Quaternion.identity }; + } + + public float StartTime; + public float StepSize; + public int Count => m_Cache.Count; + + List m_Cache; + + public CacheCurve(float startTime, float endTime, float stepSize) + { + StepSize = stepSize; + StartTime = startTime; + m_Cache = new List(Mathf.CeilToInt((StepSize * 0.5f + endTime - startTime) / StepSize)); + } + + public void Add(Item item) => m_Cache.Add(item); + + public void AddUntil(Item item, float time, bool isCut) + { + var prevIndex = m_Cache.Count - 1; + var prevTime = prevIndex * StepSize; + var timeRange = time - StartTime - prevTime; + + // If this sample is the first after a camera cut, we don't want to lerp the positions + // in the event that some frames got skipped by timeline and the targets were + // warped at the cut + if (isCut) + for (float t = StepSize; t <= timeRange; t += StepSize) + Add(item); + else + { + var prev = m_Cache[prevIndex]; + for (float t = StepSize; t <= timeRange; t += StepSize) + Add(Item.Lerp(prev, item, t / timeRange)); + } + } + + public Item Evaluate(float time) + { + var numItems = m_Cache.Count; + if (numItems == 0) + return Item.Empty; + var s = time - StartTime; + var index = Mathf.Clamp(Mathf.FloorToInt(s / StepSize), 0, numItems - 1); + var v = m_Cache[index]; + if (index == numItems - 1) + return v; + return Item.Lerp(v, m_Cache[index + 1], (s - index * StepSize) / StepSize); + } + } + + class CacheEntry + { + public CacheCurve Curve; + + struct RecordingItem + { + public float Time; + public bool IsCut; + public CacheCurve.Item Item; + } + List RawItems = new List(); + + public void AddRawItem(float time, bool isCut, Transform target) + { + // Preserve monotonic ordering + var endTime = time - CacheStepSize; + var maxItem = RawItems.Count - 1; + var lastToKeep = maxItem; + while (lastToKeep >= 0 && RawItems[lastToKeep].Time > endTime) + --lastToKeep; + if (lastToKeep == maxItem) + { + // Append only, nothing to remove + RawItems.Add(new RecordingItem + { + Time = time, + IsCut = isCut, + Item = new CacheCurve.Item { Pos = target.position, Rot = target.rotation } + }); + } + else + { + // Trim off excess, overwrite the one after lastToKeep + var trimStart = lastToKeep + 2; + if (trimStart <= maxItem) + RawItems.RemoveRange(trimStart, RawItems.Count - trimStart); + RawItems[lastToKeep + 1] = new RecordingItem + { + Time = time, + IsCut = isCut, + Item = new CacheCurve.Item { Pos = target.position, Rot = target.rotation } + }; + } + } + + public void CreateCurves() + { + int maxItem = RawItems.Count - 1; + float startTime = maxItem < 0 ? 0 : RawItems[0].Time; + float endTime = maxItem < 0 ? 0 : RawItems[maxItem].Time; + Curve = new CacheCurve(startTime, endTime, CacheStepSize); + Curve.Add(maxItem < 0 ? CacheCurve.Item.Empty : RawItems[0].Item); + for (int i = 1; i <= maxItem; ++i) + Curve.AddUntil(RawItems[i].Item, RawItems[i].Time, RawItems[i].IsCut); + RawItems.Clear(); + } + } + + static Dictionary m_Cache; + + public struct TimeRange + { + public float Start; + public float End; + + public bool IsEmpty => End < Start; + public bool Contains(float time) => time >= Start && time <= End; + public static TimeRange Empty + { get => new TimeRange { Start = float.MaxValue, End = float.MinValue }; } + + public void Include(float time) + { + Start = Mathf.Min(Start, time); + End = Mathf.Max(End, time); + } + } + static TimeRange m_CacheTimeRange; + public static TimeRange CacheTimeRange { get => m_CacheTimeRange; } + public static bool HasCurrentTime { get => m_CacheTimeRange.Contains(CurrentTime); } + + public static void ClearCache() + { + m_Cache = CacheMode == Mode.Disabled ? null : new Dictionary(); + m_CacheTimeRange = TimeRange.Empty; + CurrentTime = 0; + CurrentFrame = 0; + IsCameraCut = false; + } + + static void CreatePlaybackCurves() + { + if (m_Cache == null) + m_Cache = new Dictionary(); + var iter = m_Cache.GetEnumerator(); + while (iter.MoveNext()) + iter.Current.Value.CreateCurves(); + } + + const float kWraparoundSlush = 0.1f; + + /// + /// If Recording, will log the target position at the CurrentTime. + /// Otherwise, will fetch the cached position at CurrentTime. + /// + /// Target whose transform is tracked + /// Target's position at CurrentTime + public static Vector3 GetTargetPosition(Transform target) + { + if (!UseCache || CacheMode == Mode.Disabled) + return target.position; + + // Wrap around during record? + if (CacheMode == Mode.Record + && !m_CacheTimeRange.IsEmpty + && CurrentTime < m_CacheTimeRange.Start - kWraparoundSlush) + { + ClearCache(); + } + + if (CacheMode == Mode.Playback && !HasCurrentTime) + return target.position; + + if (!m_Cache.TryGetValue(target, out var entry)) + { + if (CacheMode != Mode.Record) + return target.position; + + entry = new CacheEntry(); + m_Cache.Add(target, entry); + } + if (CacheMode == Mode.Record) + { + entry.AddRawItem(CurrentTime, IsCameraCut, target); + m_CacheTimeRange.Include(CurrentTime); + return target.position; + } + if (entry.Curve == null) + return target.position; + return entry.Curve.Evaluate(CurrentTime).Pos; + } + + /// + /// If Recording, will log the target rotation at the CurrentTime. + /// Otherwise, will fetch the cached position at CurrentTime. + /// + /// Target whose transform is tracked + /// Target's rotation at CurrentTime + public static Quaternion GetTargetRotation(Transform target) + { + if (CacheMode == Mode.Disabled) + return target.rotation; + + // Wrap around during record? + if (CacheMode == Mode.Record + && !m_CacheTimeRange.IsEmpty + && CurrentTime < m_CacheTimeRange.Start - kWraparoundSlush) + { + ClearCache(); + } + + if (CacheMode == Mode.Playback && !HasCurrentTime) + return target.rotation; + + if (!m_Cache.TryGetValue(target, out var entry)) + { + if (CacheMode != Mode.Record) + return target.rotation; + + entry = new CacheEntry(); + m_Cache.Add(target, entry); + } + if (CacheMode == Mode.Record) + { + if (m_CacheTimeRange.End <= CurrentTime) + { + entry.AddRawItem(CurrentTime, IsCameraCut, target); + m_CacheTimeRange.Include(CurrentTime); + } + return target.rotation; + } + return entry.Curve.Evaluate(CurrentTime).Rot; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/TargetPositionCache.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/TargetPositionCache.cs.meta new file mode 100644 index 00000000..1a96da12 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/TargetPositionCache.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f3984bf8b42bf0040b49d95de1a2990f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UnityVectorExtensions.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UnityVectorExtensions.cs new file mode 100644 index 00000000..a8768539 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UnityVectorExtensions.cs @@ -0,0 +1,411 @@ +using System; +using UnityEngine; + +namespace Cinemachine.Utility +{ + /// Extensions to the Vector3 class, used by Cinemachine + public static class UnityVectorExtensions + { + /// A useful Epsilon + public const float Epsilon = 0.0001f; + + /// + /// Checks if the Vector2 contains NaN for x or y. + /// + /// Vector2 to check for NaN + /// True, if any components of the vector are NaN + public static bool IsNaN(this Vector2 v) + { + return float.IsNaN(v.x) || float.IsNaN(v.y); + } + + /// + /// Checks if the Vector2 contains NaN for x or y. + /// + /// Vector2 to check for NaN + /// True, if any components of the vector are NaN + public static bool IsNaN(this Vector3 v) + { + return float.IsNaN(v.x) || float.IsNaN(v.y) || float.IsNaN(v.z); + } + + + /// + /// Get the closest point on a line segment. + /// + /// A point in space + /// Start of line segment + /// End of line segment + /// The interpolation parameter representing the point on the segment, with 0==s0, and 1==s1 + public static float ClosestPointOnSegment(this Vector3 p, Vector3 s0, Vector3 s1) + { + Vector3 s = s1 - s0; + float len2 = Vector3.SqrMagnitude(s); + if (len2 < Epsilon) + return 0; // degenrate segment + return Mathf.Clamp01(Vector3.Dot(p - s0, s) / len2); + } + + /// + /// Get the closest point on a line segment. + /// + /// A point in space + /// Start of line segment + /// End of line segment + /// The interpolation parameter representing the point on the segment, with 0==s0, and 1==s1 + public static float ClosestPointOnSegment(this Vector2 p, Vector2 s0, Vector2 s1) + { + Vector2 s = s1 - s0; + float len2 = Vector2.SqrMagnitude(s); + if (len2 < Epsilon) + return 0; // degenrate segment + return Mathf.Clamp01(Vector2.Dot(p - s0, s) / len2); + } + + /// + /// Returns a non-normalized projection of the supplied vector onto a plane + /// as described by its normal + /// + /// + /// The normal that defines the plane. Must have a length of 1. + /// The component of the vector that lies in the plane + public static Vector3 ProjectOntoPlane(this Vector3 vector, Vector3 planeNormal) + { + return (vector - Vector3.Dot(vector, planeNormal) * planeNormal); + } + + /// + /// Normalized the vector onto the unit square instead of the unit circle + /// + /// The vector to normalize + /// The normalized vector, or the zero vector if its magnitude + /// was too small to normalize + public static Vector2 SquareNormalize(this Vector2 v) + { + var d = Mathf.Max(Mathf.Abs(v.x), Mathf.Abs(v.y)); + return d < Epsilon ? Vector2.zero : v / d; + } + + /// + /// Calculates the intersection point defined by line_1 [p1, p2], and line_2 [q1, q2]. + /// + /// line_1 is defined by (p1, p2) + /// line_1 is defined by (p1, p2) + /// line_2 is defined by (q1, q2) + /// line_2 is defined by (q1, q2) + /// If lines intersect at a single point, + /// then this will hold the intersection point. + /// Otherwise, it will be Vector2.positiveInfinity. + /// + /// 0 = no intersection, + /// 1 = lines intersect, + /// 2 = segments intersect, + /// 3 = lines are colinear, segments do not touch, + /// 4 = lines are colinear, segments touch (at one or at multiple points) + /// + public static int FindIntersection( + in Vector2 p1, in Vector2 p2, in Vector2 q1, in Vector2 q2, + out Vector2 intersection) + { + var p = p2 - p1; + var q = q2 - q1; + var pq = q1 - p1; + var pXq = p.Cross(q); + if (Mathf.Abs(pXq) < 0.00001f) + { + // The lines are parallel (or close enough to it) + intersection = Vector2.positiveInfinity; + if (Mathf.Abs(pq.Cross(p)) < 0.00001f) + { + // The lines are colinear. Do the segments touch? + var dotPQ = Vector2.Dot(q, p); + + if (dotPQ > 0 && (p1 - q2).sqrMagnitude < 0.001f) + { + // q points to start of p + intersection = q2; + return 4; + } + if (dotPQ < 0 && (p2 - q2).sqrMagnitude < 0.001f) + { + // p and q point at the same point + intersection = p2; + return 4; + } + + var dot = Vector2.Dot(pq, p); + if (0 <= dot && dot <= Vector2.Dot(p, p)) + { + if (dot < 0.0001f) + { + if (dotPQ <= 0 && (p1 - q1).sqrMagnitude < 0.001f) + intersection = p1; // p and q start at the same point and point away + } + else if (dotPQ > 0 && (p2 - q1).sqrMagnitude < 0.001f) + intersection = p2; // p points at start of q + + return 4; // colinear segments touch + } + + dot = Vector2.Dot(p1 - q1, q); + if (0 <= dot && dot <= Vector2.Dot(q, q)) + return 4; // colinear segments overlap + + return 3; // colinear segments don't touch + } + return 0; // the lines are parallel and not colinear + } + + var t = pq.Cross(q) / pXq; + intersection = p1 + t * p; + + var u = pq.Cross(p) / pXq; + if (0 <= t && t <= 1 && 0 <= u && u <= 1) + return 2; // segments touch + + return 1; // segments don't touch but lines intersect + } + + private static float Cross(this Vector2 v1, Vector2 v2) { return (v1.x * v2.y) - (v1.y * v2.x); } + + /// + /// Component-wise absolute value + /// + /// Input vector + /// Component-wise absolute value of the input vector + public static Vector2 Abs(this Vector2 v) + { + return new Vector2(Mathf.Abs(v.x), Mathf.Abs(v.y)); + } + + /// + /// Component-wise absolute value + /// + /// Input vector + /// Component-wise absolute value of the input vector + public static Vector3 Abs(this Vector3 v) + { + return new Vector3(Mathf.Abs(v.x), Mathf.Abs(v.y), Mathf.Abs(v.z)); + } + + /// + /// Checks whether the vector components are the same value. + /// + /// Vector to check + /// True, if the vector elements are the same. False, otherwise. + public static bool IsUniform(this Vector2 v) + { + return Math.Abs(v.x - v.y) < Epsilon; + } + + /// + /// Checks whether the vector components are the same value. + /// + /// Vector to check + /// True, if the vector elements are the same. False, otherwise. + public static bool IsUniform(this Vector3 v) + { + return Math.Abs(v.x - v.y) < Epsilon && Math.Abs(v.x - v.z) < Epsilon; + } + + /// Is the vector within Epsilon of zero length? + /// + /// True if the square magnitude of the vector is within Epsilon of zero + public static bool AlmostZero(this Vector3 v) + { + return v.sqrMagnitude < (Epsilon * Epsilon); + } + + /// Much more stable for small angles than Unity's native implementation + /// The first vector + /// The second vector + /// Angle between the vectors, in degrees + public static float Angle(Vector3 v1, Vector3 v2) + { +#if false // Maybe this version is better? to test.... + float a = v1.magnitude; + v1 *= v2.magnitude; + v2 *= a; + return Mathf.Atan2((v1 - v2).magnitude, (v1 + v2).magnitude) * Mathf.Rad2Deg * 2; +#else + v1.Normalize(); + v2.Normalize(); + return Mathf.Atan2((v1 - v2).magnitude, (v1 + v2).magnitude) * Mathf.Rad2Deg * 2; +#endif + } + + /// Much more stable for small angles than Unity's native implementation + /// The first vector + /// The second vector + /// Definition of up (used to determine the sign) + /// Signed angle between the vectors, in degrees + public static float SignedAngle(Vector3 v1, Vector3 v2, Vector3 up) + { + float angle = Angle(v1, v2); + if (Mathf.Sign(Vector3.Dot(up, Vector3.Cross(v1, v2))) < 0) + return -angle; + return angle; + } + + /// Much more stable for small angles than Unity's native implementation + /// The first vector + /// The second vector + /// Definition of up (used to determine the sign) + /// Rotation between the vectors + public static Quaternion SafeFromToRotation(Vector3 v1, Vector3 v2, Vector3 up) + { + var axis = Vector3.Cross(v1, v2); + if (axis.AlmostZero()) + axis = up; // in case they are pointing in opposite directions + return Quaternion.AngleAxis(Angle(v1, v2), axis); + } + + /// This is a slerp that mimics a camera operator's movement in that + /// it chooses a path that avoids the lower hemisphere, as defined by + /// the up param + /// First direction + /// Second direction + /// Interpolation amoun t + /// Defines the up direction + /// Interpolated vector + public static Vector3 SlerpWithReferenceUp( + Vector3 vA, Vector3 vB, float t, Vector3 up) + { + float dA = vA.magnitude; + float dB = vB.magnitude; + if (dA < Epsilon || dB < Epsilon) + return Vector3.Lerp(vA, vB, t); + + Vector3 dirA = vA / dA; + Vector3 dirB = vB / dB; + Quaternion qA = Quaternion.LookRotation(dirA, up); + Quaternion qB = Quaternion.LookRotation(dirB, up); + Quaternion q = UnityQuaternionExtensions.SlerpWithReferenceUp(qA, qB, t, up); + Vector3 dir = q * Vector3.forward; + return dir * Mathf.Lerp(dA, dB, t); + } + } + + /// Extensions to the Quaternion class, usen in various places by Cinemachine + public static class UnityQuaternionExtensions + { + /// This is a slerp that mimics a camera operator's movement in that + /// it chooses a path that avoids the lower hemisphere, as defined by + /// the up param + /// First direction + /// Second direction + /// Interpolation amount + /// Defines the up direction. Must have a length of 1. + /// Interpolated quaternion + public static Quaternion SlerpWithReferenceUp( + Quaternion qA, Quaternion qB, float t, Vector3 up) + { + var dirA = (qA * Vector3.forward).ProjectOntoPlane(up); + var dirB = (qB * Vector3.forward).ProjectOntoPlane(up); + if (dirA.AlmostZero() || dirB.AlmostZero()) + return Quaternion.Slerp(qA, qB, t); + + // Work on the plane, in eulers + var qBase = Quaternion.LookRotation(dirA, up); + var qBaseInv = Quaternion.Inverse(qBase); + Quaternion qA1 = qBaseInv * qA; + Quaternion qB1 = qBaseInv * qB; + var eA = qA1.eulerAngles; + var eB = qB1.eulerAngles; + return qBase * Quaternion.Euler( + Mathf.LerpAngle(eA.x, eB.x, t), + Mathf.LerpAngle(eA.y, eB.y, t), + Mathf.LerpAngle(eA.z, eB.z, t)); + } + + /// Normalize a quaternion + /// + /// The normalized quaternion. Unit length is 1. + public static Quaternion Normalized(this Quaternion q) + { + Vector4 v = new Vector4(q.x, q.y, q.z, q.w).normalized; + return new Quaternion(v.x, v.y, v.z, v.w); + } + + /// + /// Get the rotations, first about world up, then about (travelling) local right, + /// necessary to align the quaternion's forward with the target direction. + /// This represents the tripod head movement needed to look at the target. + /// This formulation makes it easy to interpolate without introducing spurious roll. + /// + /// + /// The worldspace target direction in which we want to look + /// Which way is up. Must have a length of 1. + /// Vector2.y is rotation about worldUp, and Vector2.x is second rotation, + /// about local right. + public static Vector2 GetCameraRotationToTarget( + this Quaternion orient, Vector3 lookAtDir, Vector3 worldUp) + { + if (lookAtDir.AlmostZero()) + return Vector2.zero; // degenerate + + // Work in local space + Quaternion toLocal = Quaternion.Inverse(orient); + Vector3 up = toLocal * worldUp; + lookAtDir = toLocal * lookAtDir; + + // Align yaw based on world up + float angleH = 0; + { + Vector3 targetDirH = lookAtDir.ProjectOntoPlane(up); + if (!targetDirH.AlmostZero()) + { + Vector3 currentDirH = Vector3.forward.ProjectOntoPlane(up); + if (currentDirH.AlmostZero()) + { + // We're looking at the north or south pole + if (Vector3.Dot(currentDirH, up) > 0) + currentDirH = Vector3.down.ProjectOntoPlane(up); + else + currentDirH = Vector3.up.ProjectOntoPlane(up); + } + angleH = UnityVectorExtensions.SignedAngle(currentDirH, targetDirH, up); + } + } + Quaternion q = Quaternion.AngleAxis(angleH, up); + + // Get local vertical angle + float angleV = UnityVectorExtensions.SignedAngle( + q * Vector3.forward, lookAtDir, q * Vector3.right); + + return new Vector2(angleV, angleH); + } + + /// + /// Apply rotations, first about world up, then about (travelling) local right. + /// rot.y is rotation about worldUp, and rot.x is second rotation, about local right. + /// + /// + /// Vector2.y is rotation about worldUp, and Vector2.x is second rotation, + /// about local right. + /// Which way is up + /// Result rotation after the input is applied to the input quaternion + public static Quaternion ApplyCameraRotation( + this Quaternion orient, Vector2 rot, Vector3 worldUp) + { + Quaternion q = Quaternion.AngleAxis(rot.x, Vector3.right); + return (Quaternion.AngleAxis(rot.y, worldUp) * orient) * q; + } + } + + /// Ad-hoc xxtentions to the Rect structure, used by Cinemachine + public static class UnityRectExtensions + { + /// Inflate a rect + /// + /// x and y are added/subtracted fto/from the edges of + /// the rect, inflating it in all directions + /// The inflated rect + public static Rect Inflated(this Rect r, Vector2 delta) + { + return new Rect( + r.xMin - delta.x, r.yMin - delta.y, + r.width + delta.x * 2, r.height + delta.y * 2); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UnityVectorExtensions.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UnityVectorExtensions.cs.meta new file mode 100644 index 00000000..cbc7bd46 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UnityVectorExtensions.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6a0472cd31396f741969b8c1af8dd5a0 +timeCreated: 1481654955 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UpdateTracker.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UpdateTracker.cs new file mode 100644 index 00000000..aff0cf54 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UpdateTracker.cs @@ -0,0 +1,132 @@ +//#define DEBUG_LOG_NAME + +using UnityEngine; +using System.Collections.Generic; + +namespace Cinemachine +{ + /// + /// Attempt to track on what clock transforms get updated + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.Undoc)] + internal class UpdateTracker + { + public enum UpdateClock { Fixed, Late } + + class UpdateStatus + { + const int kWindowSize = 30; + int windowStart; + int numWindowLateUpdateMoves; + int numWindowFixedUpdateMoves; + int numWindows; + int lastFrameUpdated; + Matrix4x4 lastPos; +#if DEBUG_LOG_NAME + string name; +#endif + public UpdateClock PreferredUpdate { get; private set; } + +#if DEBUG_LOG_NAME + public UpdateStatus(string targetName, int currentFrame, Matrix4x4 pos) + { + name = targetName; +#else + public UpdateStatus(int currentFrame, Matrix4x4 pos) + { +#endif + windowStart = currentFrame; + lastFrameUpdated = Time.frameCount; + PreferredUpdate = UpdateClock.Late; + lastPos = pos; + } + + public void OnUpdate(int currentFrame, UpdateClock currentClock, Matrix4x4 pos) + { + if (lastPos == pos) + return; + + if (currentClock == UpdateClock.Late) + ++numWindowLateUpdateMoves; + else if (lastFrameUpdated != currentFrame) // only count 1 per rendered frame + ++numWindowFixedUpdateMoves; + lastPos = pos; + + UpdateClock choice; + if (numWindowFixedUpdateMoves > 3 && numWindowLateUpdateMoves < numWindowFixedUpdateMoves / 3) + choice = UpdateClock.Fixed; + else + choice = UpdateClock.Late; + if (numWindows == 0) + PreferredUpdate = choice; + + if (windowStart + kWindowSize <= currentFrame) + { +#if DEBUG_LOG_NAME + Debug.Log(name + ": Window " + numWindows + ": Late=" + numWindowLateUpdateMoves + ", Fixed=" + numWindowFixedUpdateMoves); +#endif + PreferredUpdate = choice; + ++numWindows; + windowStart = currentFrame; + numWindowLateUpdateMoves = (PreferredUpdate == UpdateClock.Late) ? 1 : 0; + numWindowFixedUpdateMoves = (PreferredUpdate == UpdateClock.Fixed) ? 1 : 0; + } + } + } + static Dictionary mUpdateStatus + = new Dictionary(); + + [RuntimeInitializeOnLoadMethod] + static void InitializeModule() { mUpdateStatus.Clear(); } + + static List sToDelete = new List(); + static void UpdateTargets(UpdateClock currentClock) + { + // Update the registry for all known targets + int now = Time.frameCount; + var iter = mUpdateStatus.GetEnumerator(); + while (iter.MoveNext()) + { + var current = iter.Current; + if (current.Key == null) + sToDelete.Add(current.Key); // target was deleted + else + current.Value.OnUpdate(now, currentClock, current.Key.localToWorldMatrix); + } + for (int i = sToDelete.Count-1; i >= 0; --i) + mUpdateStatus.Remove(sToDelete[i]); + sToDelete.Clear(); + } + + public static UpdateClock GetPreferredUpdate(Transform target) + { + if (Application.isPlaying && target != null) + { + UpdateStatus status; + if (mUpdateStatus.TryGetValue(target, out status)) + return status.PreferredUpdate; + + // Add the target to the registry +#if DEBUG_LOG_NAME + status = new UpdateStatus(target.name, Time.frameCount, target.localToWorldMatrix); +#else + status = new UpdateStatus(Time.frameCount, target.localToWorldMatrix); +#endif + mUpdateStatus.Add(target, status); + } + return UpdateClock.Late; + } + + static float mLastUpdateTime; + public static void OnUpdate(UpdateClock currentClock) + { + // Do something only if we are the first controller processing this frame + float now = CinemachineCore.CurrentTime; + if (now != mLastUpdateTime) + { + mLastUpdateTime = now; + UpdateTargets(currentClock); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UpdateTracker.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UpdateTracker.cs.meta new file mode 100644 index 00000000..9a4d5c6b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Core/UpdateTracker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 41a7beeb0ec57584382c8170981d8ac1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental.meta new file mode 100644 index 00000000..d2d06eac --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 382e34fa2b7177e4589888b9fb25567e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewFreeLook.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewFreeLook.cs new file mode 100644 index 00000000..a69cf2b2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewFreeLook.cs @@ -0,0 +1,585 @@ +#if CINEMACHINE_EXPERIMENTAL_VCAM +using UnityEngine; +using Cinemachine.Utility; +using System; + +namespace Cinemachine +{ + /// + /// + /// NOTE: THIS CLASS IS EXPERIMENTAL, AND NOT FOR PUBLIC USE + /// + /// Lighter-weight version of the CinemachineFreeLook, with extra radial axis. + /// + /// A Cinemachine Camera geared towards a 3rd person camera experience. + /// The camera orbits around its subject with three separate camera rigs defining + /// rings around the target. Each rig has its own radius, height offset, composer, + /// and lens settings. + /// Depending on the camera's position along the spline connecting these three rigs, + /// these settings are interpolated to give the final camera position and state. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [DisallowMultipleComponent] + [ExecuteAlways] + [AddComponentMenu("Cinemachine/CinemachineNewFreeLook")] + [SaveDuringPlay] + public class CinemachineNewFreeLook : CinemachineNewVirtualCamera + { + /// The Vertical axis. Value is 0..1. Chooses how to blend the child rigs + [Tooltip("The Vertical axis. Value is 0..1. 0.5 is the middle rig. Chooses how to blend the child rigs")] + [AxisStateProperty] + public AxisState m_VerticalAxis = new AxisState(0, 1, false, true, 2f, 0.2f, 0.1f, "Mouse Y", false); + + [Tooltip("The Radial axis. Value is the base radius of the orbits")] + [AxisStateProperty] + public AxisState m_RadialAxis = new AxisState(1, 1, false, false, 100, 0f, 0f, "Mouse ScrollWheel", false); + + /// Defines the height and radius for an orbit + [Serializable] + public struct Orbit + { + /// Height relative to target + public float m_Height; + + /// Radius of orbit + public float m_Radius; + } + + /// Order is Top, Middle, Bottom + public Orbit[] m_Orbits = new Orbit[3]; + + /// + [Tooltip("Controls how taut is the line that connects the rigs' orbits, which determines final placement on the Y axis")] + [Range(0f, 1f)] + public float m_SplineCurvature; + + /// Identifiers for accessing override settings for top and bottom rigs + public enum RigID { Top, Bottom }; + + /// Override settings for top and bottom rigs + [Serializable] + public class Rig : ISerializationCallbackReceiver + { + public bool m_CustomLens; + public LensSettings m_Lens; + public bool m_CustomBody; + public TransposerSettings m_Body; + public bool m_CustomAim; + public ComposerSettings m_Aim; + public bool m_CustomNoise; + public PerlinNoiseSettings m_Noise; + + public void Validate() + { + if (m_Lens.FieldOfView == 0) + m_Lens = LensSettings.Default; + m_Lens.Validate(); + } + + /// Blendable settings for Transposer Transposer + [Serializable] public class TransposerSettings + { + [Range(0f, 20f)] public float m_XDamping; + [Range(0f, 20f)] public float m_YDamping; + [Range(0f, 20f)] public float m_ZDamping; + [Range(0f, 20f)] public float m_PitchDamping; + [Range(0f, 20f)] public float m_YawDamping; + [Range(0f, 20f)] public float m_RollDamping; + + internal void Lerp(CinemachineTransposer o, float t) + { + o.m_XDamping = Mathf.Lerp(o.m_XDamping, m_XDamping, t); + o.m_YDamping = Mathf.Lerp(o.m_YDamping, m_YDamping, t); + o.m_ZDamping = Mathf.Lerp(o.m_ZDamping, m_ZDamping, t); + o.m_PitchDamping = Mathf.Lerp(o.m_PitchDamping, m_PitchDamping, t); + o.m_YawDamping = Mathf.Lerp(o.m_YawDamping, m_YawDamping, t); + o.m_RollDamping = Mathf.Lerp(o.m_RollDamping, m_RollDamping, t); + } + + internal void PullFrom(CinemachineTransposer o) + { + m_XDamping = o.m_XDamping; + m_YDamping = o.m_YDamping; + m_ZDamping = o.m_ZDamping; + m_PitchDamping = o.m_PitchDamping; + m_YawDamping = o.m_YawDamping; + m_RollDamping = o.m_RollDamping; + } + + internal void PushTo(CinemachineTransposer o) + { + o.m_XDamping = m_XDamping; + o.m_YDamping = m_YDamping; + o.m_ZDamping = m_ZDamping; + o.m_PitchDamping =m_PitchDamping; + o.m_YawDamping = m_YawDamping; + o.m_RollDamping = m_RollDamping; + } + } + + /// Blendable settings for Composer + [Serializable] public class ComposerSettings + { + public Vector3 m_LookAtOffset; + [Space] + [Range(0f, 20)] public float m_HorizontalDamping; + [Range(0f, 20)] public float m_VerticalDamping; + [Space] + [Range(0f, 1f)] public float m_ScreenX; + [Range(0f, 1f)] public float m_ScreenY; + [Range(0f, 1f)] public float m_DeadZoneWidth; + [Range(0f, 1f)] public float m_DeadZoneHeight; + [Range(0f, 2f)] public float m_SoftZoneWidth; + [Range(0f, 2f)] public float m_SoftZoneHeight; + [Range(-0.5f, 0.5f)] public float m_BiasX; + [Range(-0.5f, 0.5f)] public float m_BiasY; + + internal void Lerp(CinemachineComposer c, float t) + { + c.m_TrackedObjectOffset = Vector3.Lerp(c.m_TrackedObjectOffset, m_LookAtOffset, t); + c.m_HorizontalDamping = Mathf.Lerp(c.m_HorizontalDamping, m_HorizontalDamping, t); + c.m_VerticalDamping = Mathf.Lerp(c.m_VerticalDamping, m_VerticalDamping, t); + c.m_ScreenX = Mathf.Lerp(c.m_ScreenX, m_ScreenX, t); + c.m_ScreenY = Mathf.Lerp(c.m_ScreenY, m_ScreenY, t); + c.m_DeadZoneWidth = Mathf.Lerp(c.m_DeadZoneWidth, m_DeadZoneWidth, t); + c.m_DeadZoneHeight = Mathf.Lerp(c.m_DeadZoneHeight, m_DeadZoneHeight, t); + c.m_SoftZoneWidth = Mathf.Lerp(c.m_SoftZoneWidth, m_SoftZoneWidth, t); + c.m_SoftZoneHeight = Mathf.Lerp(c.m_SoftZoneHeight, m_SoftZoneHeight, t); + c.m_BiasX = Mathf.Lerp(c.m_BiasX, m_BiasX, t); + c.m_BiasY = Mathf.Lerp(c.m_BiasY, m_BiasY, t); + } + + internal void PullFrom(CinemachineComposer c) + { + m_LookAtOffset = c.m_TrackedObjectOffset; + m_HorizontalDamping = c.m_HorizontalDamping; + m_VerticalDamping = c.m_VerticalDamping; + m_ScreenX = c.m_ScreenX; + m_ScreenY = c.m_ScreenY; + m_DeadZoneWidth = c.m_DeadZoneWidth; + m_DeadZoneHeight = c.m_DeadZoneHeight; + m_SoftZoneWidth = c.m_SoftZoneWidth; + m_SoftZoneHeight = c.m_SoftZoneHeight; + m_BiasX = c.m_BiasX; + m_BiasY = c.m_BiasY; + } + + internal void PushTo(CinemachineComposer c) + { + c.m_TrackedObjectOffset = m_LookAtOffset; + c.m_HorizontalDamping = m_HorizontalDamping; + c.m_VerticalDamping = m_VerticalDamping; + c.m_ScreenX = m_ScreenX; + c.m_ScreenY = m_ScreenY; + c.m_DeadZoneWidth = m_DeadZoneWidth; + c.m_DeadZoneHeight = m_DeadZoneHeight; + c.m_SoftZoneWidth = m_SoftZoneWidth; + c.m_SoftZoneHeight = m_SoftZoneHeight; + c.m_BiasX = m_BiasX; + c.m_BiasY = m_BiasY; + } + } + + /// Blendable settings for CinemachineBasicMultiChannelPerlin + [Serializable] public class PerlinNoiseSettings + { + public float m_AmplitudeGain; + public float m_FrequencyGain; + + internal void Lerp(CinemachineBasicMultiChannelPerlin p, float t) + { + p.m_AmplitudeGain = Mathf.Lerp(p.m_AmplitudeGain, m_AmplitudeGain, t); + p.m_FrequencyGain =Mathf.Lerp(p.m_FrequencyGain, m_FrequencyGain, t); + } + + internal void PullFrom(CinemachineBasicMultiChannelPerlin p) + { + m_AmplitudeGain = p.m_AmplitudeGain; + m_FrequencyGain = p.m_FrequencyGain; + } + + internal void PushTo(CinemachineBasicMultiChannelPerlin p) + { + p.m_AmplitudeGain = m_AmplitudeGain; + p.m_FrequencyGain = m_FrequencyGain; + } + } + + // This prevents the sensor size from dirtying the scene in the event of aspect ratio change + void ISerializationCallbackReceiver.OnBeforeSerialize() + { + if (!m_Lens.IsPhysicalCamera) + m_Lens.SensorSize = Vector2.one; + } + + void ISerializationCallbackReceiver.OnAfterDeserialize() {} + } + + [SerializeField] + internal Rig[] m_Rigs = new Rig[2] { new Rig(), new Rig() }; + + /// Accessor for rig override settings + public Rig RigSettings(RigID rig) { return m_Rigs[(int)rig]; } + + /// Easy access to the transposer (may be null) + CinemachineTransposer Transposer + { + get { return ComponentCache[(int)CinemachineCore.Stage.Body] as CinemachineTransposer; } + } + + /// Enforce bounds for fields, when changed in inspector. + protected override void OnValidate() + { + base.OnValidate(); + for (int i = 0; i < m_Rigs.Length; ++i) + m_Rigs[i].Validate(); + } + + private void Awake() + { + m_VerticalAxis.HasRecentering = true; + m_RadialAxis.HasRecentering = false; + } + + /// Updates the child rig cache + protected override void OnEnable() + { + base.OnEnable(); + UpdateInputAxisProvider(); + } + + /// + /// API for the inspector. Internal use only + /// + public void UpdateInputAxisProvider() + { + m_VerticalAxis.SetInputAxisProvider(0, null); + m_RadialAxis.SetInputAxisProvider(1, null); + var provider = GetInputAxisProvider(); + if (provider != null) + { + m_VerticalAxis.SetInputAxisProvider(1, provider); + m_RadialAxis.SetInputAxisProvider(2, provider); + } + } + + void Reset() + { + DestroyComponents(); +#if UNITY_EDITOR + var orbital = UnityEditor.Undo.AddComponent(gameObject); + UnityEditor.Undo.AddComponent(gameObject); +#else + var orbital = gameObject.AddComponent(); + gameObject.AddComponent(); +#endif + orbital.HideOffsetInInspector = true; + orbital.m_BindingMode = CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp; + + InvalidateComponentCache(); + m_Rigs = new Rig[2] { new Rig(), new Rig() }; + + // Default orbits + m_Orbits = new Orbit[3]; + m_Orbits[0].m_Height = 10; m_Orbits[0].m_Radius = 4; + m_Orbits[1].m_Height = 2.5f; m_Orbits[1].m_Radius = 8; + m_Orbits[2].m_Height = -0.5f; m_Orbits[2].m_Radius = 5; + + m_SplineCurvature = 0.5f; + } + + /// + /// Force the virtual camera to assume a given position and orientation. + /// Procedural placement then takes over + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + base.ForceCameraPosition(pos, rot); + m_VerticalAxis.Value = GetYAxisClosestValue(pos, State.ReferenceUp); + } + + /// If we are transitioning from another FreeLook, grab the axis values from it. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + base.OnTransitionFromCamera(fromCam, worldUp, deltaTime); + InvokeOnTransitionInExtensions(fromCam, worldUp, deltaTime); + m_VerticalAxis.m_Recentering.DoRecentering(ref m_VerticalAxis, -1, 0.5f); + m_VerticalAxis.m_Recentering.CancelRecentering(); + if (fromCam != null && m_Transitions.m_InheritPosition + && !CinemachineCore.Instance.IsLiveInBlend(this)) + { + // Note: horizontal axis already taken care of by base class + var cameraPos = fromCam.State.RawPosition; + + // Special handling for FreeLook: get an undamped outgoing position + if (fromCam is CinemachineNewFreeLook) + { + var orbital = (fromCam as CinemachineNewFreeLook).Transposer; + if (orbital != null) + cameraPos = orbital.GetTargetCameraPosition(worldUp); + } + ForceCameraPosition(cameraPos, fromCam.State.FinalOrientation); + } + } + + float GetYAxisClosestValue(Vector3 cameraPos, Vector3 up) + { + if (Follow != null) + { + // Rotate the camera pos to the back + Quaternion q = Quaternion.FromToRotation(up, Vector3.up); + Vector3 dir = q * (cameraPos - Follow.position); + Vector3 flatDir = dir; flatDir.y = 0; + if (!flatDir.AlmostZero()) + { + float angle = Vector3.SignedAngle(flatDir, Vector3.back, Vector3.up); + dir = Quaternion.AngleAxis(angle, Vector3.up) * dir; + } + dir.x = 0; + + // Sample the spline in a few places, find the 2 closest, and lerp + int i0 = 0, i1 = 0; + float a0 = 0, a1 = 0; + const int NumSamples = 13; + float step = 1f / (NumSamples-1); + for (int i = 0; i < NumSamples; ++i) + { + float a = Vector3.SignedAngle( + dir, GetLocalPositionForCameraFromInput(i * step), Vector3.right); + if (i == 0) + a0 = a1 = a; + else + { + if (Mathf.Abs(a) < Mathf.Abs(a0)) + { + a1 = a0; + i1 = i0; + a0 = a; + i0 = i; + } + else if (Mathf.Abs(a) < Mathf.Abs(a1)) + { + a1 = a; + i1 = i; + } + } + } + if (Mathf.Sign(a0) == Mathf.Sign(a1)) + return i0 * step; + float t = Mathf.Abs(a0) / (Mathf.Abs(a0) + Mathf.Abs(a1)); + return Mathf.Lerp(i0 * step, i1 * step, t); + } + return m_VerticalAxis.Value; // stay conservative + } + + /// Internal use only. Called by CinemachineCore at designated update time + /// so the vcam can position itself and track its targets. All 3 child rigs are updated, + /// and a blend calculated, depending on the value of the Y axis. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + override public void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) + { + UpdateTargetCache(); + + FollowTargetAttachment = 1; + LookAtTargetAttachment = 1; + + // Initialize the camera state, in case the game object got moved in the editor + m_State = PullStateFromVirtualCamera(worldUp, ref m_Lens); + m_Rigs[(int)RigID.Top].m_Lens.SnapshotCameraReadOnlyProperties(ref m_Lens); + m_Rigs[(int)RigID.Bottom].m_Lens.SnapshotCameraReadOnlyProperties(ref m_Lens); + + // Update our axes + bool activeCam = PreviousStateIsValid || CinemachineCore.Instance.IsLive(this); + if (!activeCam || deltaTime < 0) + m_VerticalAxis.m_Recentering.DoRecentering(ref m_VerticalAxis, -1, 0.5f); + else + { + if (m_VerticalAxis.Update(deltaTime)) + m_VerticalAxis.m_Recentering.CancelRecentering(); + m_RadialAxis.Update(deltaTime); + m_VerticalAxis.m_Recentering.DoRecentering(ref m_VerticalAxis, deltaTime, 0.5f); + } + + // Blend the components + if (mBlender == null) + mBlender = new ComponentBlender(this); + mBlender.Blend(GetVerticalAxisValue()); + + // Blend the lens + if (m_Rigs[mBlender.OtherRig].m_CustomLens) + m_State.Lens = LensSettings.Lerp( + m_State.Lens, m_Rigs[mBlender.OtherRig].m_Lens, mBlender.BlendAmount); + + // Do our stuff + SetReferenceLookAtTargetInState(ref m_State); + InvokeComponentPipeline(ref m_State, worldUp, deltaTime); + ApplyPositionBlendMethod(ref m_State, m_Transitions.m_BlendHint); + + // Restore the components + mBlender.Restore(); + + // Push the raw position back to the game object's transform, so it + // moves along with the camera. + if (Follow != null) + transform.position = State.RawPosition; + if (LookAt != null) + transform.rotation = State.RawOrientation; + + // Signal that it's all done + InvokePostPipelineStageCallback(this, CinemachineCore.Stage.Finalize, ref m_State, deltaTime); + PreviousStateIsValid = true; + } + + ComponentBlender mBlender; + + protected override void OnComponentCacheUpdated() + { + var transposer = Transposer; + if (transposer != null) + { + transposer.HideOffsetInInspector = true; + transposer.m_FollowOffset = new Vector3( + 0, m_Orbits[1].m_Height, -m_Orbits[1].m_Radius); + } + } + + private float GetVerticalAxisValue() + { + float range = m_VerticalAxis.m_MaxValue - m_VerticalAxis.m_MinValue; + return (range > UnityVectorExtensions.Epsilon) ? m_VerticalAxis.Value / range : 0.5f; + } + + /// + /// Returns the local position of the camera along the spline used to connect the + /// three camera rigs. Does not take into account the current heading of the + /// camera (or its target) + /// + /// The t-value for the camera on its spline. Internally clamped to + /// the value [0,1] + /// The local offset (back + up) of the camera WRT its target based on the + /// supplied t-value + public Vector3 GetLocalPositionForCameraFromInput(float t) + { + UpdateCachedSpline(); + int n = 1; + if (t > 0.5f) + { + t -= 0.5f; + n = 2; + } + Vector3 pos = SplineHelpers.Bezier3( + t * 2f, m_CachedKnots[n], m_CachedCtrl1[n], m_CachedCtrl2[n], m_CachedKnots[n+1]); + pos *= Mathf.Max(0, m_RadialAxis.Value); + return pos; + } + + Vector2[] m_CachedOrbits; + float m_CachedTension; + Vector4[] m_CachedKnots; + Vector4[] m_CachedCtrl1; + Vector4[] m_CachedCtrl2; + void UpdateCachedSpline() + { + bool cacheIsValid = (m_CachedOrbits != null && m_CachedTension == m_SplineCurvature); + for (int i = 0; i < 3 && cacheIsValid; ++i) + cacheIsValid = (m_CachedOrbits[i].y == m_Orbits[i].m_Height + && m_CachedOrbits[i].x == m_Orbits[i].m_Radius); + if (!cacheIsValid) + { + float t = m_SplineCurvature; + m_CachedKnots = new Vector4[5]; + m_CachedCtrl1 = new Vector4[5]; + m_CachedCtrl2 = new Vector4[5]; + m_CachedKnots[1] = new Vector4(0, m_Orbits[2].m_Height, -m_Orbits[2].m_Radius, 0); + m_CachedKnots[2] = new Vector4(0, m_Orbits[1].m_Height, -m_Orbits[1].m_Radius, 0); + m_CachedKnots[3] = new Vector4(0, m_Orbits[0].m_Height, -m_Orbits[0].m_Radius, 0); + m_CachedKnots[0] = Vector4.Lerp(m_CachedKnots[0], Vector4.zero, t); + m_CachedKnots[4] = Vector4.Lerp(m_CachedKnots[3], Vector4.zero, t); + SplineHelpers.ComputeSmoothControlPoints( + ref m_CachedKnots, ref m_CachedCtrl1, ref m_CachedCtrl2); + m_CachedOrbits = new Vector2[3]; + for (int i = 0; i < 3; ++i) + m_CachedOrbits[i] = new Vector2(m_Orbits[i].m_Radius, m_Orbits[i].m_Height); + m_CachedTension = m_SplineCurvature; + } + } + + // Crazy damn thing for blending components at the source level + internal class ComponentBlender + { + Rig.TransposerSettings orbitalSaved = new Rig.TransposerSettings(); + Rig.ComposerSettings composerSaved = new Rig.ComposerSettings(); + Rig.PerlinNoiseSettings noiseSaved = new Rig.PerlinNoiseSettings(); + + public int OtherRig; + public float BlendAmount; + CinemachineNewFreeLook mFreeLook; + + public ComponentBlender(CinemachineNewFreeLook freeLook) { mFreeLook = freeLook; } + + public void Blend(float y) + { + if (y < 0.5f) + { + BlendAmount = 1 - (y * 2); + OtherRig = (int)RigID.Bottom; + } + else + { + BlendAmount = (y - 0.5f) * 2f; + OtherRig = (int)RigID.Top; + } + + var orbital = mFreeLook.Transposer; + if (orbital != null && mFreeLook.m_Rigs[OtherRig].m_CustomBody) + { + orbitalSaved.PullFrom(orbital); + mFreeLook.m_Rigs[OtherRig].m_Body.Lerp(orbital, BlendAmount); + } + if (orbital != null) + orbital.m_FollowOffset = mFreeLook.GetLocalPositionForCameraFromInput(y); + + var components = mFreeLook.ComponentCache; + var composer = components[(int)CinemachineCore.Stage.Aim] as CinemachineComposer; + if (composer != null && mFreeLook.m_Rigs[OtherRig].m_CustomAim) + { + composerSaved.PullFrom(composer); + mFreeLook.m_Rigs[OtherRig].m_Aim.Lerp(composer, BlendAmount); + } + + var noise = components[(int)CinemachineCore.Stage.Noise] as CinemachineBasicMultiChannelPerlin; + if (noise != null && mFreeLook.m_Rigs[OtherRig].m_CustomNoise) + { + noiseSaved.PullFrom(noise); + mFreeLook.m_Rigs[OtherRig].m_Noise.Lerp(noise, BlendAmount); + } + } + + public void Restore() + { + var orbital = mFreeLook.Transposer; + if (orbital != null && mFreeLook.m_Rigs[OtherRig].m_CustomBody) + orbitalSaved.PushTo(orbital); + if (orbital != null) + orbital.m_FollowOffset = new Vector3( + 0, mFreeLook.m_Orbits[1].m_Height, -mFreeLook.m_Orbits[1].m_Radius); + var components = mFreeLook.ComponentCache; + var composer = components[(int)CinemachineCore.Stage.Aim] as CinemachineComposer; + if (composer != null && mFreeLook.m_Rigs[OtherRig].m_CustomAim) + composerSaved.PushTo(composer); + + var noise = components[(int)CinemachineCore.Stage.Noise] as CinemachineBasicMultiChannelPerlin; + if (noise != null && mFreeLook.m_Rigs[OtherRig].m_CustomNoise) + noiseSaved.PushTo(noise); + } + } + } +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewFreeLook.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewFreeLook.cs.meta new file mode 100644 index 00000000..ac65de71 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewFreeLook.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bd920fe83f1086148a2b401f3e66528f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: b8ba3923a6094cd48b85425f47fd7450, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewVirtualCamera.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewVirtualCamera.cs new file mode 100644 index 00000000..f84d59b3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewVirtualCamera.cs @@ -0,0 +1,451 @@ +#if CINEMACHINE_EXPERIMENTAL_VCAM +using UnityEngine; +using System; +using System.Linq; + +namespace Cinemachine +{ + /// + /// + /// NOTE: THIS CLASS IS EXPERIMENTAL, AND NOT FOR PUBLIC USE + /// + /// Lighter-weight version of the CinemachineVirtualCamera. + /// + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [DisallowMultipleComponent] + [ExecuteAlways] + [AddComponentMenu("Cinemachine/CinemachineNewVirtualCamera")] + public class CinemachineNewVirtualCamera : CinemachineVirtualCameraBase + { + /// Object for the camera children to look at (the aim target) + [Tooltip("Object for the camera children to look at (the aim target).")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_LookAt = null; + + /// Object for the camera children wants to move with (the body target) + [Tooltip("Object for the camera children wants to move with (the body target).")] + [NoSaveDuringPlay] + [VcamTargetProperty] + public Transform m_Follow = null; + + /// Specifies the LensSettings of this Virtual Camera. + /// These settings will be transferred to the Unity camera when the vcam is live. + [Tooltip("Specifies the lens properties of this Virtual Camera. This generally mirrors the " + + "Unity Camera's lens settings, and will be used to drive the Unity camera when the vcam is active.")] + public LensSettings m_Lens = LensSettings.Default; + + /// Collection of parameters that influence how this virtual camera transitions from + /// other virtual cameras + public TransitionParams m_Transitions; + + /// Updates the child rig cache + protected override void OnEnable() + { + base.OnEnable(); + InvalidateComponentCache(); + } + + void Reset() + { + DestroyComponents(); + } + + /// Validates the settings avter inspector edit + protected override void OnValidate() + { + base.OnValidate(); + m_Lens.Validate(); + } + + /// The camera state, which will be a blend of the child rig states + override public CameraState State { get { return m_State; } } + + /// The camera state, which will be a blend of the child rig states + protected CameraState m_State = CameraState.Default; + + /// Get the current LookAt target. Returns parent's LookAt if parent + /// is non-null and no specific LookAt defined for this camera + override public Transform LookAt + { + get { return ResolveLookAt(m_LookAt); } + set { m_LookAt = value; } + } + + /// Get the current Follow target. Returns parent's Follow if parent + /// is non-null and no specific Follow defined for this camera + override public Transform Follow + { + get { return ResolveFollow(m_Follow); } + set { m_Follow = value; } + } + + /// This is called to notify the vcam that a target got warped, + /// so that the vcam can update its internal state to make the camera + /// also warp seamlessy. + /// The object that was warped + /// The amount the target's position changed + public override void OnTargetObjectWarped(Transform target, Vector3 positionDelta) + { + if (target == Follow) + { + transform.position += positionDelta; + m_State.RawPosition += positionDelta; + } + UpdateComponentCache(); + for (int i = 0; i < m_Components.Length; ++i) + { + if (m_Components[i] != null) + m_Components[i].OnTargetObjectWarped(target, positionDelta); + } + base.OnTargetObjectWarped(target, positionDelta); + } + + /// + /// Force the virtual camera to assume a given position and orientation + /// + /// Worldspace pposition to take + /// Worldspace orientation to take + public override void ForceCameraPosition(Vector3 pos, Quaternion rot) + { + PreviousStateIsValid = false; + transform.position = pos; + transform.rotation = rot; + m_State.RawPosition = pos; + m_State.RawOrientation = rot; + + UpdateComponentCache(); + for (int i = 0; i < m_Components.Length; ++i) + if (m_Components[i] != null) + m_Components[i].ForceCameraPosition(pos, rot); + + base.ForceCameraPosition(pos, rot); + } + + /// + /// Query components and extensions for the maximum damping time. + /// + /// Highest damping setting in this vcam + public override float GetMaxDampTime() + { + float maxDamp = base.GetMaxDampTime(); + UpdateComponentCache(); + for (int i = 0; i < m_Components.Length; ++i) + if (m_Components[i] != null) + maxDamp = Mathf.Max(maxDamp, m_Components[i].GetMaxDampTime()); + return maxDamp; + } + + /// If we are transitioning from another FreeLook, grab the axis values from it. + /// The camera being deactivated. May be null. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than or equal to 0) + public override void OnTransitionFromCamera( + ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime) + { + base.OnTransitionFromCamera(fromCam, worldUp, deltaTime); + InvokeOnTransitionInExtensions(fromCam, worldUp, deltaTime); + bool forceUpdate = false; + if (m_Transitions.m_InheritPosition && fromCam != null + && !CinemachineCore.Instance.IsLiveInBlend(this)) + { + ForceCameraPosition(fromCam.State.FinalPosition, fromCam.State.FinalOrientation); + } + UpdateComponentCache(); + for (int i = 0; i < m_Components.Length; ++i) + { + if (m_Components[i] != null + && m_Components[i].OnTransitionFromCamera( + fromCam, worldUp, deltaTime, ref m_Transitions)) + forceUpdate = true; + } + if (forceUpdate) + { + InternalUpdateCameraState(worldUp, deltaTime); + InternalUpdateCameraState(worldUp, deltaTime); + } + else + UpdateCameraState(worldUp, deltaTime); + if (m_Transitions.m_OnCameraLive != null) + m_Transitions.m_OnCameraLive.Invoke(this, fromCam); + } + + /// Internal use only. Called by CinemachineCore at designated update time + /// so the vcam can position itself and track its targets. All 3 child rigs are updated, + /// and a blend calculated, depending on the value of the Y axis. + /// Default world Up, set by the CinemachineBrain + /// Delta time for time-based effects (ignore if less than 0) + override public void InternalUpdateCameraState(Vector3 worldUp, float deltaTime) + { + UpdateTargetCache(); + + FollowTargetAttachment = 1; + LookAtTargetAttachment = 1; + + // Initialize the camera state, in case the game object got moved in the editor + m_State = PullStateFromVirtualCamera(worldUp, ref m_Lens); + + // Do our stuff + SetReferenceLookAtTargetInState(ref m_State); + InvokeComponentPipeline(ref m_State, worldUp, deltaTime); + ApplyPositionBlendMethod(ref m_State, m_Transitions.m_BlendHint); + + // Push the raw position back to the game object's transform, so it + // moves along with the camera. + if (Follow != null) + transform.position = State.RawPosition; + if (LookAt != null) + transform.rotation = State.RawOrientation; + + // Signal that it's all done + InvokePostPipelineStageCallback(this, CinemachineCore.Stage.Finalize, ref m_State, deltaTime); + PreviousStateIsValid = true; + } + + /// + /// Returns true, when the vcam has extensions or components that require input. + /// + internal override bool RequiresUserInput() + { + return base.RequiresUserInput() || + m_Components != null && m_Components.Any(t => t != null && t.RequiresUserInput); + } + + private Transform mCachedLookAtTarget; + private CinemachineVirtualCameraBase mCachedLookAtTargetVcam; + + /// Set the state's refeenceLookAt target to our lookAt, with some smarts + /// in case our LookAt points to a vcam + protected void SetReferenceLookAtTargetInState(ref CameraState state) + { + Transform lookAtTarget = LookAt; + if (lookAtTarget != mCachedLookAtTarget) + { + mCachedLookAtTarget = lookAtTarget; + mCachedLookAtTargetVcam = null; + if (lookAtTarget != null) + mCachedLookAtTargetVcam = lookAtTarget.GetComponent(); + } + if (lookAtTarget != null) + { + if (mCachedLookAtTargetVcam != null) + state.ReferenceLookAt = mCachedLookAtTargetVcam.State.FinalPosition; + else + state.ReferenceLookAt = TargetPositionCache.GetTargetPosition(lookAtTarget); + } + } + + protected CameraState InvokeComponentPipeline( + ref CameraState state, Vector3 worldUp, float deltaTime) + { + UpdateComponentCache(); + + // Extensions first + InvokePrePipelineMutateCameraStateCallback(this, ref state, deltaTime); + + // Apply the component pipeline + for (CinemachineCore.Stage stage = CinemachineCore.Stage.Body; + stage <= CinemachineCore.Stage.Finalize; ++stage) + { + var c = m_Components[(int)stage]; + if (c != null) + c.PrePipelineMutateCameraState(ref state, deltaTime); + } + CinemachineComponentBase postAimBody = null; + for (CinemachineCore.Stage stage = CinemachineCore.Stage.Body; + stage <= CinemachineCore.Stage.Finalize; ++stage) + { + var c = m_Components[(int)stage]; + if (c != null) + { + if (stage == CinemachineCore.Stage.Body && c.BodyAppliesAfterAim) + { + postAimBody = c; + continue; // do the body stage of the pipeline after Aim + } + c.MutateCameraState(ref state, deltaTime); + } + InvokePostPipelineStageCallback(this, stage, ref state, deltaTime); + if (stage == CinemachineCore.Stage.Aim) + { + if (c == null) + state.BlendHint |= CameraState.BlendHintValue.IgnoreLookAtTarget; // no aim + // If we have saved a Body for after Aim, do it now + if (postAimBody != null) + { + postAimBody.MutateCameraState(ref state, deltaTime); + InvokePostPipelineStageCallback(this, CinemachineCore.Stage.Body, ref state, deltaTime); + } + } + } + + return state; + } + + // Component Cache - serialized only for copy/paste + [SerializeField, HideInInspector, NoSaveDuringPlay] + CinemachineComponentBase[] m_Components; + + /// For inspector + internal CinemachineComponentBase[] ComponentCache + { + get + { + UpdateComponentCache(); + return m_Components; + } + } + + /// Call this when CinemachineCompponentBase compponents are added + /// or removed. If you don't call this, you may get null reference errors. + public void InvalidateComponentCache() + { + m_Components = null; + } + + /// Bring the component cache up to date if needed + protected void UpdateComponentCache() + { +#if UNITY_EDITOR + // Special case: if we have serialized in with some other game object's + // components, then we have just been pasted so we should clone them + for (int i = 0; m_Components != null && i < m_Components.Length; ++i) + { + if (m_Components[i] != null && m_Components[i].gameObject != gameObject) + { + var copyFrom = m_Components; + DestroyComponents(); + CopyComponents(copyFrom); + break; + } + } +#endif + if (m_Components != null && m_Components.Length == (int)CinemachineCore.Stage.Finalize + 1) + return; // up to date + + m_Components = new CinemachineComponentBase[(int)CinemachineCore.Stage.Finalize + 1]; + var existing = GetComponents(); + for (int i = 0; existing != null && i < existing.Length; ++i) + m_Components[(int)existing[i].Stage] = existing[i]; + + for (int i = 0; i < m_Components.Length; ++i) + { + if (m_Components[i] != null) + { + if (CinemachineCore.sShowHiddenObjects) + m_Components[i].hideFlags &= ~HideFlags.HideInInspector; + else + m_Components[i].hideFlags |= HideFlags.HideInInspector; + } + } + OnComponentCacheUpdated(); + } + + /// Notification that the component cache has just been update, + /// in case a subclass needs to do something extra + protected virtual void OnComponentCacheUpdated() {} + + /// Destroy all the CinmachineComponentBase components + protected void DestroyComponents() + { + var existing = GetComponents(); + for (int i = 0; i < existing.Length; ++i) + { +#if UNITY_EDITOR + UnityEditor.Undo.DestroyObjectImmediate(existing[i]); +#else + UnityEngine.Object.Destroy(existing[i]); +#endif + } + InvalidateComponentCache(); + } + +#if UNITY_EDITOR + // This gets called when user pastes component values + void CopyComponents(CinemachineComponentBase[] copyFrom) + { + foreach (CinemachineComponentBase c in copyFrom) + { + if (c != null) + { + Type type = c.GetType(); + var copy = UnityEditor.Undo.AddComponent(gameObject, type); + UnityEditor.Undo.RecordObject(copy, "copying pipeline"); + + System.Reflection.BindingFlags bindingAttr + = System.Reflection.BindingFlags.Public + | System.Reflection.BindingFlags.NonPublic + | System.Reflection.BindingFlags.Instance; + + System.Reflection.FieldInfo[] fields = type.GetFields(bindingAttr); + for (int i = 0; i < fields.Length; ++i) + if (!fields[i].IsStatic) + fields[i].SetValue(copy, fields[i].GetValue(c)); + } + } + } +#endif + + /// Legacy support for an old API. GML todo: deprecate these methods + + /// Get the component set for a specific stage. + /// The stage for which we want the component + /// The Cinemachine component for that stage, or null if not defined + public CinemachineComponentBase GetCinemachineComponent(CinemachineCore.Stage stage) + { + var cache = ComponentCache; + var i = (int)stage; + return i >= 0 && i < cache.Length ? cache[i] : null; + } + + /// Get an existing component of a specific type from the cinemachine pipeline. + public T GetCinemachineComponent() where T : CinemachineComponentBase + { + var components = ComponentCache; + foreach (var c in components) + if (c is T) + return c as T; + return null; + } + + /// Add a component to the cinemachine pipeline. + public T AddCinemachineComponent() where T : CinemachineComponentBase + { + var components = ComponentCache; + T c = gameObject.AddComponent(); + var oldC = components[(int)c.Stage]; + if (oldC != null) + { + oldC.enabled = false; + RuntimeUtility.DestroyObject(oldC); + } + InvalidateComponentCache(); + return c; + } + + /// Remove a component from the cinemachine pipeline. + public void DestroyCinemachineComponent() where T : CinemachineComponentBase + { + var components = ComponentCache; + foreach (var c in components) + { + if (c is T) + { + c.enabled = false; + RuntimeUtility.DestroyObject(c); + InvalidateComponentCache(); + return; + } + } + } + + // This prevents the sensor size from dirtying the scene in the event of aspect ratio change + internal override void OnBeforeSerialize() + { + if (!m_Lens.IsPhysicalCamera) + m_Lens.SensorSize = Vector2.one; + } + } +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewVirtualCamera.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewVirtualCamera.cs.meta new file mode 100644 index 00000000..2b1f8d5e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Experimental/CinemachineNewVirtualCamera.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: be817a1286f201845b5c36ae9afe9e35 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: b8ba3923a6094cd48b85425f47fd7450, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers.meta new file mode 100644 index 00000000..bc67caa5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 924d241f19612fa45bd388dc28955fad +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineInputProvider.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineInputProvider.cs new file mode 100644 index 00000000..d34d5326 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineInputProvider.cs @@ -0,0 +1,135 @@ +#if CINEMACHINE_UNITY_INPUTSYSTEM +using System.Linq; +using UnityEngine; +using UnityEngine.InputSystem; +using UnityEngine.InputSystem.Users; + +namespace Cinemachine +{ + /// + /// This is an add-on to override the legacy input system and read input using the + /// UnityEngine.Input package API. Add this behaviour to any CinemachineVirtualCamera + /// or FreeLook that requires user input, and drag in the the desired actions. + /// If the Input System Package is not installed, then this behaviour does nothing. + /// + [HelpURL(Documentation.BaseURL + "manual/CinemachineAlternativeInput.html")] + public class CinemachineInputProvider : MonoBehaviour, AxisState.IInputAxisProvider + { + /// + /// Leave this at -1 for single-player games. + /// For multi-player games, set this to be the player index, and the actions will + /// be read from that player's controls + /// + [Tooltip("Leave this at -1 for single-player games. " + + "For multi-player games, set this to be the player index, and the actions will " + + "be read from that player's controls")] + public int PlayerIndex = -1; + + /// If set, Input Actions will be auto-enabled at start + [Tooltip("If set, Input Actions will be auto-enabled at start")] + public bool AutoEnableInputs = true; + + /// Vector2 action for XY movement + [Tooltip("Vector2 action for XY movement")] + public InputActionReference XYAxis; + + /// Float action for Z movement + [Tooltip("Float action for Z movement")] + public InputActionReference ZAxis; + + /// + /// Implementation of AxisState.IInputAxisProvider.GetAxisValue(). + /// Axis index ranges from 0...2 for X, Y, and Z. + /// Reads the action associated with the axis. + /// + /// + /// The current axis value + public virtual float GetAxisValue(int axis) + { + if (enabled) + { + var action = ResolveForPlayer(axis, axis == 2 ? ZAxis : XYAxis); + if (action != null) + { + switch (axis) + { + case 0: return action.ReadValue().x; + case 1: return action.ReadValue().y; + case 2: return action.ReadValue(); + } + } + } + return 0; + } + + const int NUM_AXES = 3; + InputAction[] m_cachedActions; + + /// + /// In a multi-player context, actions are associated with specific players + /// This resolves the appropriate action reference for the specified player. + /// + /// Because the resolution involves a search, we also cache the returned + /// action to make future resolutions faster. + /// + /// Which input axis (0, 1, or 2) + /// Which action reference to resolve + /// The cached action for the player specified in PlayerIndex + protected InputAction ResolveForPlayer(int axis, InputActionReference actionRef) + { + if (axis < 0 || axis >= NUM_AXES) + return null; + if (actionRef == null || actionRef.action == null) + return null; + if (m_cachedActions == null || m_cachedActions.Length != NUM_AXES) + m_cachedActions = new InputAction[NUM_AXES]; + if (m_cachedActions[axis] != null && actionRef.action.id != m_cachedActions[axis].id) + m_cachedActions[axis] = null; + + if (m_cachedActions[axis] == null) + { + m_cachedActions[axis] = actionRef.action; + if (PlayerIndex != -1) + m_cachedActions[axis] = GetFirstMatch(InputUser.all[PlayerIndex], actionRef); + + if (AutoEnableInputs && actionRef != null && actionRef.action != null) + actionRef.action.Enable(); + } + // Update enabled status + if (m_cachedActions[axis] != null && m_cachedActions[axis].enabled != actionRef.action.enabled) + { + if (actionRef.action.enabled) + m_cachedActions[axis].Enable(); + else + m_cachedActions[axis].Disable(); + } + + return m_cachedActions[axis]; + + // local function to wrap the lambda which otherwise causes a tiny gc + InputAction GetFirstMatch(in InputUser user, InputActionReference aRef) => + user.actions.First(x => x.id == aRef.action.id); + } + + // Clean up + protected virtual void OnDisable() + { + m_cachedActions = null; + } + } +} +#else +using UnityEngine; + +namespace Cinemachine +{ + /// + /// This is an add-on to override the legacy input system and read input using the + /// UnityEngine.Input package API. Add this behaviour to any CinemachineVirtualCamera + /// or FreeLook that requires user input, and drag in the the desired actions. + /// If the Input System Package is not installed, then this behaviour does nothing. + /// + [AddComponentMenu("")] // Hide in menu + public class CinemachineInputProvider : MonoBehaviour {} +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineInputProvider.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineInputProvider.cs.meta new file mode 100644 index 00000000..e1694d4e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineInputProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fb7194dc27b9df64c8beca7482ee8e0d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTouchInputMapper.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTouchInputMapper.cs new file mode 100644 index 00000000..ce5fdc5f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTouchInputMapper.cs @@ -0,0 +1,43 @@ +using Cinemachine; +using UnityEngine; + +/// +/// This is an add-on behaviour that globally maps the touch control +/// to standard input channels, such as mouse X and mouse Y. +/// Drop it on any game object in your scene. +/// +public class CinemachineTouchInputMapper : MonoBehaviour +{ + /// Sensitivity multiplier for x-axis + [Tooltip("Sensitivity multiplier for x-axis")] + public float TouchSensitivityX = 10f; + + /// Sensitivity multiplier for y-axis + [Tooltip("Sensitivity multiplier for y-axis")] + public float TouchSensitivityY = 10f; + + /// Input channel to spoof for X axis + [Tooltip("Input channel to spoof for X axis")] + public string TouchXInputMapTo = "Mouse X"; + + /// Input channel to spoof for Y axis + [Tooltip("Input channel to spoof for Y axis")] + public string TouchYInputMapTo = "Mouse Y"; + + void Start() + { + CinemachineCore.GetInputAxis = GetInputAxis; + } + + private float GetInputAxis(string axisName) + { + if (Input.touchCount > 0) + { + if (axisName == TouchXInputMapTo) + return Input.touches[0].deltaPosition.x / TouchSensitivityX; + if (axisName == TouchYInputMapTo) + return Input.touches[0].deltaPosition.y / TouchSensitivityY; + } + return Input.GetAxis(axisName); + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTouchInputMapper.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTouchInputMapper.cs.meta new file mode 100644 index 00000000..055c98b6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTouchInputMapper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2adf148a19499274795e418631d7db45 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTriggerAction.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTriggerAction.cs new file mode 100644 index 00000000..6c49dda5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTriggerAction.cs @@ -0,0 +1,307 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.Playables; + +namespace Cinemachine +{ +#if !(CINEMACHINE_PHYSICS || CINEMACHINE_PHYSICS_2D) + // Workaround for Unity scripting bug + /// + /// A multi-purpose script which causes an action to occur when + /// a trigger collider is entered and exited. + /// + [AddComponentMenu("")] // Hide in menu + public class CinemachineTriggerAction : MonoBehaviour {} +#else + /// + /// A multi-purpose script which causes an action to occur when + /// a trigger collider is entered and exited. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [SaveDuringPlay] + [HelpURL(Documentation.BaseURL + "api/Cinemachine.CinemachineTriggerAction.html")] + public class CinemachineTriggerAction : MonoBehaviour + { + /// Only triggers generated by objects on these layers will be considered. + [Header("Trigger Object Filter")] + [Tooltip("Only triggers generated by objects on these layers will be considered")] + public LayerMask m_LayerMask = 1; + + /// If set, only triggers generated by objects with this tag will be considered + [TagField] + [Tooltip("If set, only triggers generated by objects with this tag will be considered")] + public string m_WithTag = string.Empty; + + /// Triggers generated by objects with this tag will be ignored + [TagField] + [Tooltip("Triggers generated by objects with this tag will be ignored")] + public string m_WithoutTag = string.Empty; + + /// Skip this many trigger entries before taking action + [NoSaveDuringPlay] + [Tooltip("Skip this many trigger entries before taking action")] + public int m_SkipFirst = 0; + + /// Repeat the action for all subsequent trigger entries + [Tooltip("Repeat the action for all subsequent trigger entries")] + public bool m_Repeating = true; + + /// Defines what action to take on trigger enter/exit + [Serializable] + public struct ActionSettings + { + /// What action to take + public enum Mode + { + /// Use the event only + Custom, + /// Boost priority of virtual camera target + PriorityBoost, + /// Activate the target GameObject + Activate, + /// Decativate target GameObject + Deactivate, + /// Enable a component + Enable, + /// Disable a component + Disable, +#if CINEMACHINE_TIMELINE + /// Start animation on target + Play, + /// Stop animation on target + Stop +#endif + } + + /// Serializable parameterless game event + [Serializable] public class TriggerEvent : UnityEvent {} + + /// What action to take + [Tooltip("What action to take")] + public Mode m_Action; + + /// The target object on which to operate. If null, then the current behaviour/GameObject will be used + [Tooltip("The target object on which to operate. If null, then the current behaviour/GameObject will be used")] + public UnityEngine.Object m_Target; + + /// If PriorityBoost, this amount will be added to the virtual camera's priority + [Tooltip("If PriorityBoost, this amount will be added to the virtual camera's priority")] + public int m_BoostAmount; + + /// If playing a timeline, start at this time + [Tooltip("If playing a timeline, start at this time")] + public float m_StartTime; + + /// How to interpret the start time + public enum TimeMode + { + /// Offset after the start of the timeline + FromStart, + /// Offset before the end of the timeline + FromEnd, + /// Offset before the current timeline time + BeforeNow, + /// Offset after the current timeline time + AfterNow + }; + + /// How to interpret the start time + [Tooltip("How to interpret the start time")] + public TimeMode m_Mode; + + /// This event will be invoked + [Tooltip("This event will be invoked")] + public TriggerEvent m_Event; + + /// Standard Constructor + /// Action to set + public ActionSettings(Mode action) + { + m_Action = action; + m_Target = null; + m_BoostAmount = 0; + m_StartTime = 0; + m_Mode = TimeMode.FromStart; + m_Event = new TriggerEvent(); + } + + /// Invoke the action. Depending on the mode, different action will + /// be performed. The embedded event will always be invoked, in addition to the + /// action specified by the Mode. + public void Invoke() + { + UnityEngine.Object currentTarget = m_Target; + if (currentTarget != null) + { + GameObject targetGameObject = currentTarget as GameObject; + Behaviour targetBehaviour = currentTarget as Behaviour; + if (targetBehaviour != null) + targetGameObject = targetBehaviour.gameObject; + + switch (m_Action) + { + case Mode.Custom: + break; + case Mode.PriorityBoost: + { + CinemachineVirtualCameraBase vcam + = targetGameObject.GetComponent(); + if (vcam != null) + { + vcam.Priority += m_BoostAmount; + vcam.MoveToTopOfPrioritySubqueue(); + } + break; + } + case Mode.Activate: + if (targetGameObject != null) + { + targetGameObject.SetActive(true); + CinemachineVirtualCameraBase vcam + = targetGameObject.GetComponent(); + if (vcam != null) + vcam.MoveToTopOfPrioritySubqueue(); + } + break; + case Mode.Deactivate: + if (targetGameObject != null) + targetGameObject.SetActive(false); + break; + case Mode.Enable: + { + if (targetBehaviour != null) + targetBehaviour.enabled = true; + break; + } + case Mode.Disable: + { + if (targetBehaviour != null) + targetBehaviour.enabled = false; + break; + } +#if CINEMACHINE_TIMELINE + case Mode.Play: + { + PlayableDirector playable + = targetGameObject.GetComponent(); + if (playable != null) + { + double startTime = 0; + double duration = playable.duration; + double current = playable.time; + switch (m_Mode) + { + default: + case TimeMode.FromStart: + startTime += m_StartTime; + break; + case TimeMode.FromEnd: + startTime = duration - m_StartTime; + break; + case TimeMode.BeforeNow: + startTime = current - m_StartTime; + break; + case TimeMode.AfterNow: + startTime = current + m_StartTime; + break; + } + playable.time = startTime; + playable.Play(); + } + else + { + Animation ani = targetGameObject.GetComponent(); + if (ani != null) + ani.Play(); + } + break; + } + case Mode.Stop: + { + PlayableDirector playable + = targetGameObject.GetComponent(); + if (playable != null) + playable.Stop(); + else + { + Animation ani = targetGameObject.GetComponent(); + if (ani != null) + ani.Stop(); + } + break; + } +#endif + } + } + m_Event.Invoke(); + } + } + + /// What action to take when an eligible object enters the collider or trigger zone + public ActionSettings m_OnObjectEnter = new ActionSettings(ActionSettings.Mode.Custom); + + /// What action to take when an eligible object exits the collider or trigger zone + public ActionSettings m_OnObjectExit = new ActionSettings(ActionSettings.Mode.Custom); + + HashSet m_ActiveTriggerObjects = new HashSet(); + + private bool Filter(GameObject other) + { + if (!enabled) + return false; + if (((1 << other.layer) & m_LayerMask) == 0) + return false; + if (m_WithTag.Length != 0 && !other.CompareTag(m_WithTag)) + return false; + if (m_WithoutTag.Length != 0 && other.CompareTag(m_WithoutTag)) + return false; + + return true; + } + + void InternalDoTriggerEnter(GameObject other) + { + if (!Filter(other)) + return; + --m_SkipFirst; + if (m_SkipFirst > -1) + return; + if (!m_Repeating && m_SkipFirst != -1) + return; + + m_ActiveTriggerObjects.Add(other); + m_OnObjectEnter.Invoke(); + } + + void InternalDoTriggerExit(GameObject other) + { + if (!m_ActiveTriggerObjects.Contains(other)) + return; + m_ActiveTriggerObjects.Remove(other); + if (enabled) + m_OnObjectExit.Invoke(); + } + +#if CINEMACHINE_PHYSICS + void OnTriggerEnter(Collider other) { InternalDoTriggerEnter(other.gameObject); } + void OnTriggerExit(Collider other) { InternalDoTriggerExit(other.gameObject); } + void OnCollisionEnter(Collision other) { InternalDoTriggerEnter(other.gameObject); } + void OnCollisionExit(Collision other) { InternalDoTriggerExit(other.gameObject); } +#endif +#if CINEMACHINE_PHYSICS_2D + void OnTriggerEnter2D(Collider2D other) { InternalDoTriggerEnter(other.gameObject); } + void OnTriggerExit2D(Collider2D other) { InternalDoTriggerExit(other.gameObject); } + void OnCollisionEnter2D(Collision2D other) { InternalDoTriggerEnter(other.gameObject); } + void OnCollisionExit2D(Collision2D other) { InternalDoTriggerExit(other.gameObject); } +#endif + void OnEnable() {} // For the Enabled checkbox + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTriggerAction.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTriggerAction.cs.meta new file mode 100644 index 00000000..1cf41312 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/CinemachineTriggerAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e46ac8d61dc065848bd5a1aa7cd8c006 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/GroupWeightManipulator.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/GroupWeightManipulator.cs new file mode 100644 index 00000000..bf6c4803 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/GroupWeightManipulator.cs @@ -0,0 +1,78 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// + /// A class to get around the limitation in timeline that array members can't be animated. + /// A fixed number of slots are made available, rather than a dynamic array. + /// If you want to add more slots, just modify this code. + /// + [RequireComponent(typeof(CinemachineTargetGroup))] + [ExecuteAlways] + [HelpURL(Documentation.BaseURL + "api/Cinemachine.GroupWeightManipulator.html")] + public class GroupWeightManipulator : MonoBehaviour + { + /// The weight of the group member at index 0 + [Tooltip("The weight of the group member at index 0")] + public float m_Weight0 = 1; + /// The weight of the group member at index 1 + [Tooltip("The weight of the group member at index 1")] + public float m_Weight1 = 1; + /// The weight of the group member at index 2 + [Tooltip("The weight of the group member at index 2")] + public float m_Weight2 = 1; + /// The weight of the group member at index 3 + [Tooltip("The weight of the group member at index 3")] + public float m_Weight3 = 1; + /// The weight of the group member at index 4 + [Tooltip("The weight of the group member at index 4")] + public float m_Weight4 = 1; + /// The weight of the group member at index 5 + [Tooltip("The weight of the group member at index 5")] + public float m_Weight5 = 1; + /// The weight of the group member at index 6 + [Tooltip("The weight of the group member at index 6")] + public float m_Weight6 = 1; + /// The weight of the group member at index 7 + [Tooltip("The weight of the group member at index 7")] + public float m_Weight7 = 1; + + CinemachineTargetGroup m_group; + void Start() + { + m_group = GetComponent(); + } + + void OnValidate() + { + m_Weight0 = Mathf.Max(0, m_Weight0); + m_Weight1 = Mathf.Max(0, m_Weight1); + m_Weight2 = Mathf.Max(0, m_Weight2); + m_Weight3 = Mathf.Max(0, m_Weight3); + m_Weight4 = Mathf.Max(0, m_Weight4); + m_Weight5 = Mathf.Max(0, m_Weight5); + m_Weight6 = Mathf.Max(0, m_Weight6); + m_Weight7 = Mathf.Max(0, m_Weight7); + } + + void Update() + { + if (m_group != null) + UpdateWeights(); + } + + void UpdateWeights() + { + var targets = m_group.m_Targets; + int last = targets.Length - 1; + if (last < 0) return; targets[0].weight = m_Weight0; + if (last < 1) return; targets[1].weight = m_Weight1; + if (last < 2) return; targets[2].weight = m_Weight2; + if (last < 3) return; targets[3].weight = m_Weight3; + if (last < 4) return; targets[4].weight = m_Weight4; + if (last < 5) return; targets[5].weight = m_Weight5; + if (last < 6) return; targets[6].weight = m_Weight6; + if (last < 7) return; targets[7].weight = m_Weight7; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/GroupWeightManipulator.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/GroupWeightManipulator.cs.meta new file mode 100644 index 00000000..d0010eb7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Helpers/GroupWeightManipulator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 65eebf71eb882124fa7f75085f367e5f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse.meta new file mode 100644 index 00000000..e2fdd201 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e2408873163918f4da4afc37c51b1586 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineCollisionImpulseSource.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineCollisionImpulseSource.cs new file mode 100644 index 00000000..81d3c876 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineCollisionImpulseSource.cs @@ -0,0 +1,205 @@ +#if !UNITY_2019_3_OR_NEWER +#define CINEMACHINE_PHYSICS +#define CINEMACHINE_PHYSICS_2D +#endif + +using Cinemachine.Utility; +using UnityEngine; + +namespace Cinemachine +{ +#if !(CINEMACHINE_PHYSICS || CINEMACHINE_PHYSICS_2D) + // Workaround for Unity scripting bug + [AddComponentMenu("")] // Hide in menu + public class CinemachineCollisionImpulseSource : CinemachineImpulseSource {} +#else + /// + /// Generate an Impulse Event this object's Collider collides with something + /// or its trigger zone is entered. + /// + /// This component should be attached to a GameObject with a Collider or a Collider2D. + /// Objects colliding with this (or entering its trigger zone if it's a trigger) will be + /// filtered according to the layer and tag settings defined here, and if they + /// pass the filter, they will cause an impulse event to be generated. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [SaveDuringPlay] + [HelpURL(Documentation.BaseURL + "manual/CinemachineCollisionImpulseSource.html")] + public class CinemachineCollisionImpulseSource : CinemachineImpulseSource + { + /// Only collisions with objects on these layers will generate Impulse events. + [Header("Trigger Object Filter")] + [Tooltip("Only collisions with objects on these layers will generate Impulse events")] + public LayerMask m_LayerMask = 1; + + /// No Impulse evemts will be generated for collisions with objects having these tags + [TagField] + [Tooltip("No Impulse evemts will be generated for collisions with objects having these tags")] + public string m_IgnoreTag = string.Empty; + + /// If checked, signal direction will be affected by the direction of impact + [Header("How To Generate The Impulse")] + [Tooltip("If checked, signal direction will be affected by the direction of impact")] + public bool m_UseImpactDirection = false; + + /// If checked, signal amplitude will be multiplied by the mass of the impacting object + [Tooltip("If checked, signal amplitude will be multiplied by the mass of the impacting object")] + public bool m_ScaleImpactWithMass = false; + + /// If checked, signal amplitude will be multiplied by the speed of the impacting object + [Tooltip("If checked, signal amplitude will be multiplied by the speed of the impacting object")] + public bool m_ScaleImpactWithSpeed = false; + +#if CINEMACHINE_PHYSICS + Rigidbody mRigidBody; +#endif +#if CINEMACHINE_PHYSICS_2D + Rigidbody2D mRigidBody2D; +#endif + + private void Start() + { +#if CINEMACHINE_PHYSICS + mRigidBody = GetComponent(); +#endif +#if CINEMACHINE_PHYSICS_2D + mRigidBody2D = GetComponent(); +#endif + } + + private void OnEnable() {} // For the Enabled checkbox + +#if CINEMACHINE_PHYSICS + private void OnCollisionEnter(Collision c) + { + GenerateImpactEvent(c.collider, c.relativeVelocity); + } + + private void OnTriggerEnter(Collider c) + { + GenerateImpactEvent(c, Vector3.zero); + } + + private float GetMassAndVelocity(Collider other, ref Vector3 vel) + { + bool getVelocity = vel == Vector3.zero; + float mass = 1; + if (m_ScaleImpactWithMass || m_ScaleImpactWithSpeed || m_UseImpactDirection) + { + if (mRigidBody != null) + { + if (m_ScaleImpactWithMass) + mass *= mRigidBody.mass; + if (getVelocity) + vel = -mRigidBody.velocity; + } + var rb = other != null ? other.attachedRigidbody : null; + if (rb != null) + { + if (m_ScaleImpactWithMass) + mass *= rb.mass; + if (getVelocity) + vel += rb.velocity; + } + } + return mass; + } + + private void GenerateImpactEvent(Collider other, Vector3 vel) + { + // Check the filters + if (!enabled) + return; + + if (other != null) + { + int layer = other.gameObject.layer; + if (((1 << layer) & m_LayerMask) == 0) + return; + if (m_IgnoreTag.Length != 0 && other.CompareTag(m_IgnoreTag)) + return; + } + + // Calculate the signal direction and magnitude + float mass = GetMassAndVelocity(other, ref vel); + if (m_ScaleImpactWithSpeed) + mass *= Mathf.Sqrt(vel.magnitude); + Vector3 dir = m_DefaultVelocity; + if (m_UseImpactDirection && !vel.AlmostZero()) + dir = -vel.normalized * dir.magnitude; + + // Fire it off! + GenerateImpulseWithVelocity(dir * mass); + } +#endif + +#if CINEMACHINE_PHYSICS_2D + private void OnCollisionEnter2D(Collision2D c) + { + GenerateImpactEvent2D(c.collider, c.relativeVelocity); + } + + private void OnTriggerEnter2D(Collider2D c) + { + GenerateImpactEvent2D(c, Vector3.zero); + } + + private float GetMassAndVelocity2D(Collider2D other2d, ref Vector3 vel) + { + bool getVelocity = vel == Vector3.zero; + float mass = 1; + if (m_ScaleImpactWithMass || m_ScaleImpactWithSpeed || m_UseImpactDirection) + { + if (mRigidBody2D != null) + { + if (m_ScaleImpactWithMass) + mass *= mRigidBody2D.mass; + if (getVelocity) + vel = -mRigidBody2D.velocity; + } + + var rb2d = other2d != null ? other2d.attachedRigidbody : null; + if (rb2d != null) + { + if (m_ScaleImpactWithMass) + mass *= rb2d.mass; + if (getVelocity) + { + Vector3 v = rb2d.velocity; + vel += v; + } + } + } + return mass; + } + + private void GenerateImpactEvent2D(Collider2D other2d, Vector3 vel) + { + // Check the filters + if (!enabled) + return; + + if (other2d != null) + { + int layer = other2d.gameObject.layer; + if (((1 << layer) & m_LayerMask) == 0) + return; + if (m_IgnoreTag.Length != 0 && other2d.CompareTag(m_IgnoreTag)) + return; + } + + // Calculate the signal direction and magnitude + float mass = GetMassAndVelocity2D(other2d, ref vel); + if (m_ScaleImpactWithSpeed) + mass *= Mathf.Sqrt(vel.magnitude); + Vector3 dir = m_DefaultVelocity; + if (m_UseImpactDirection && !vel.AlmostZero()) + dir = -vel.normalized * dir.magnitude; + + // Fire it off! + GenerateImpulseWithVelocity(dir * mass); + } +#endif + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineCollisionImpulseSource.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineCollisionImpulseSource.cs.meta new file mode 100644 index 00000000..3dae5560 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineCollisionImpulseSource.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cd438dd108a0f284aa931a2da434f1d3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineFixedSignal.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineFixedSignal.cs new file mode 100644 index 00000000..31f48532 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineFixedSignal.cs @@ -0,0 +1,69 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// + /// A definition of an impulse signal that gets propagated to listeners + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [HelpURL(Documentation.BaseURL + "manual/CinemachineImpulseFixedSignals.html")] + public class CinemachineFixedSignal : SignalSourceAsset + { + /// The raw signal shape along the X axis + [Tooltip("The raw signal shape along the X axis")] + public AnimationCurve m_XCurve; + + /// The raw signal shape along the Y axis + [Tooltip("The raw signal shape along the Y axis")] + public AnimationCurve m_YCurve; + + /// The raw signal shape along the Z axis + [Tooltip("The raw signal shape along the Z axis")] + public AnimationCurve m_ZCurve; + + /// + /// Returns the length on seconds of the signal. + /// Returns 0 for signals of indeterminate length. + /// + public override float SignalDuration + { + get + { + return Mathf.Max( + AxisDuration(m_XCurve), + Mathf.Max(AxisDuration(m_YCurve), AxisDuration(m_ZCurve))); + } + } + + float AxisDuration(AnimationCurve axis) + { + float duration = 0; + if (axis != null && axis.length > 1) + { + float start = axis[0].time; + duration = axis[axis.length-1].time - start; + } + return duration; + } + + /// Get the raw signal at this time + /// The time since in seconds since the start of the signal + /// The position impulse signal + /// The rotation impulse signal + public override void GetSignal(float timeSinceSignalStart, out Vector3 pos, out Quaternion rot) + { + rot = Quaternion.identity; + pos = new Vector3( + AxisValue(m_XCurve, timeSinceSignalStart), + AxisValue(m_YCurve, timeSinceSignalStart), + AxisValue(m_ZCurve, timeSinceSignalStart)); + } + + float AxisValue(AnimationCurve axis, float time) + { + if (axis == null || axis.length == 0) + return 0; + return axis.Evaluate(time); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineFixedSignal.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineFixedSignal.cs.meta new file mode 100644 index 00000000..278597e3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineFixedSignal.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5969901aa40942499363f92e3787110 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseDefinition.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseDefinition.cs new file mode 100644 index 00000000..e89ef9f2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseDefinition.cs @@ -0,0 +1,427 @@ +using Cinemachine.Utility; +using System; +using UnityEngine; + +namespace Cinemachine +{ + /// + /// Property applied to CinemachineImpulseManager Channels. + /// Used for custom drawing in the inspector. This is obsolete and no longer used. + /// + public sealed class CinemachineImpulseDefinitionPropertyAttribute : PropertyAttribute {} + + /// + /// Definition of an impulse signal that gets propagated to listeners. + /// + /// Here you provide a Raw Signal source, and define an envelope for time-scaling + /// it to craft the complete Impulse signal shape. Also, you provide here parameters + /// that define how the signal dissipates with spatial distance from the source location. + /// Finally, you specify the Impulse Channel on which the signal will be sent. + /// + /// An API method is provided here to take these parameters, create an Impulse Event, + /// and broadcast it on the channel. + /// + /// When creating a custom Impulse Source class, you will have an instance of this class + /// as a field in your custom class. Be sure also to include the + /// [CinemachineImpulseDefinition] attribute on the field, to get the right + /// property drawer for it. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.API)] + [Serializable] + public class CinemachineImpulseDefinition + { + /// + /// Impulse events generated here will appear on the channels included in the mask. + /// + [CinemachineImpulseChannelProperty] + [Tooltip("Impulse events generated here will appear on the channels included in the mask.")] + public int m_ImpulseChannel = 1; + + /// Supported predefined shapes for the impulses. + public enum ImpulseShapes + { + /// Custom shape + Custom, + /// + Recoil, + /// + Bump, + /// + Explosion, + /// + Rumble + }; + + /// The shape of the impact signal. + [Tooltip("Shape of the impact signal")] + public ImpulseShapes m_ImpulseShape; + + /// + /// A user-defined impulse shape, used only if m_ImpulseShape is Custom. + /// Defines the signal that will be generated. X axis must go from 0...1, + /// and Y axis is the scale that will be applied to the impact velocity. + /// + [Tooltip("Defines the custom shape of the impact signal that will be generated.")] + public AnimationCurve m_CustomImpulseShape = new AnimationCurve(); + + /// + /// The time during which the impact signal will occur. + /// The signal shape will be stretched to fill that time. + /// + [Tooltip("The time during which the impact signal will occur. " + + "The signal shape will be stretched to fill that time.")] + public float m_ImpulseDuration = 0.2f; + + /// + /// This enum represents the various ways an impulse can travel through space + /// + public enum ImpulseTypes + { + /// The impulse is felt equally everywhere in space, at the same time + Uniform, + /// The impulse is felt only within a specified radius, and its strength + /// weakens for listeners that are farther away + Dissipating, + /// + /// The impulse is felt only within a specified radius, and its strength + /// weakens for listeners that are farther away. Also, the impulse travels outwardly + /// from the impact point, at a specified velocity, similar to a sound wave. + /// + Propagating, + /// + /// Back-compatibility mode for older projects. It's recommended to use + /// one of the other impulse types, if possible. + /// + Legacy + } + + /// + /// How the impulse travels through space and time. + /// + [Tooltip("How the impulse travels through space and time.")] + public ImpulseTypes m_ImpulseType = ImpulseTypes.Legacy; // Back-compatibility mode by default + + /// + /// This defines how the widely signal will spread within the effect radius before + /// dissipating with distance from the impact point + /// + [Tooltip("This defines how the widely signal will spread within the effect radius before " + + "dissipating with distance from the impact point")] + [Range(0,1)] + public float m_DissipationRate; + + /// + /// Legacy mode only: Defines the signal that will be generated. + /// + [Header("Signal Shape")] + [Tooltip("Legacy mode only: Defines the signal that will be generated.")] + [CinemachineEmbeddedAssetProperty(true)] + public SignalSourceAsset m_RawSignal = null; + + /// + /// Legacy mode only: Gain to apply to the amplitudes defined in the signal source asset. + /// + [Tooltip("Legacy mode only: Gain to apply to the amplitudes defined in the signal source. " + + "1 is normal. Setting this to 0 completely mutes the signal.")] + public float m_AmplitudeGain = 1f; + + /// + /// Legacy mode only: Scale factor to apply to the time axis. + /// + [Tooltip("Legacy mode only: Scale factor to apply to the time axis. 1 is normal. " + + "Larger magnitudes will make the signal progress more rapidly.")] + public float m_FrequencyGain = 1f; + + /// Legacy mode only: How to fit the signal into the envelope time + public enum RepeatMode + { + /// Time-stretch the signal to fit the envelope + Stretch, + /// Loop the signal in time to fill the envelope + Loop + } + /// Legacy mode only: How to fit the signal into the envelope time + [Tooltip("Legacy mode only: How to fit the signal into the envelope time")] + public RepeatMode m_RepeatMode = RepeatMode.Stretch; + + /// Legacy mode only: Randomize the signal start time + [Tooltip("Legacy mode only: Randomize the signal start time")] + public bool m_Randomize = true; + + /// + /// Legacy mode only: This defines the time-envelope of the signal. + /// The raw signal will be time-scaled to fit in the envelope. + /// + [Tooltip("Legacy mode only: This defines the time-envelope of the signal. " + + "The raw signal will be time-scaled to fit in the envelope.")] + public CinemachineImpulseManager.EnvelopeDefinition m_TimeEnvelope + = CinemachineImpulseManager.EnvelopeDefinition.Default(); + + /// + /// Legacy mode only: The signal will have full amplitude in this radius surrounding the impact point. + /// Beyond that it will dissipate with distance. + /// + [Header("Spatial Range")] + [Tooltip("Legacy mode only: The signal will have full amplitude in this radius surrounding " + + "the impact point. Beyond that it will dissipate with distance.")] + public float m_ImpactRadius = 100; + + /// Legacy mode only: How the signal direction behaves as the listener moves + /// away from the origin. + [Tooltip("Legacy mode only: How the signal direction behaves as the listener moves away from the origin.")] + public CinemachineImpulseManager.ImpulseEvent.DirectionMode m_DirectionMode + = CinemachineImpulseManager.ImpulseEvent.DirectionMode.Fixed; + + /// + /// Legacy mode only: This defines how the signal will dissipate with distance beyond the impact radius. + /// + [Tooltip("Legacy mode only: This defines how the signal will dissipate with distance beyond the impact radius.")] + public CinemachineImpulseManager.ImpulseEvent.DissipationMode m_DissipationMode + = CinemachineImpulseManager.ImpulseEvent.DissipationMode.ExponentialDecay; + + /// + /// The signal will have no effect outside this radius surrounding the impact point. + /// + [Tooltip("The signal will have no effect outside this radius surrounding the impact point.")] + public float m_DissipationDistance = 100; + + /// + /// The speed (m/s) at which the impulse propagates through space. High speeds + /// allow listeners to react instantaneously, while slower speeds allow listeners in the + /// scene to react as if to a wave spreading from the source. + /// + [Tooltip("The speed (m/s) at which the impulse propagates through space. High speeds " + + "allow listeners to react instantaneously, while slower speeds allow listeners in the " + + "scene to react as if to a wave spreading from the source.")] + public float m_PropagationSpeed = 343; // speed of sound + + + /// Call this from your behaviour's OnValidate to validate the fields here + public void OnValidate() + { + RuntimeUtility.NormalizeCurve(m_CustomImpulseShape, true, false); + m_ImpulseDuration = Mathf.Max(UnityVectorExtensions.Epsilon, m_ImpulseDuration); + m_DissipationDistance = Mathf.Max(UnityVectorExtensions.Epsilon, m_DissipationDistance); + m_DissipationRate = Mathf.Clamp01(m_DissipationRate); + m_PropagationSpeed = Mathf.Max(1, m_PropagationSpeed); + + // legacy + m_ImpactRadius = Mathf.Max(0, m_ImpactRadius); + m_TimeEnvelope.Validate(); + m_PropagationSpeed = Mathf.Max(1, m_PropagationSpeed); + } + + static AnimationCurve[] sStandardShapes; + static void CreateStandardShapes() + { + int max = 0; + foreach (var value in Enum.GetValues(typeof(ImpulseShapes))) + max = Mathf.Max(max, (int)value); + sStandardShapes = new AnimationCurve[max + 1]; + + sStandardShapes[(int)ImpulseShapes.Recoil] = new AnimationCurve(new Keyframe[] + { + new Keyframe(0, 1, -3.2f, -3.2f), + new Keyframe(1, 0, 0, 0) + }); + + sStandardShapes[(int)ImpulseShapes.Bump] = new AnimationCurve(new Keyframe[] + { + new Keyframe(0, 0, -4.9f, -4.9f), + new Keyframe(0.2f, 0, 8.25f, 8.25f), + new Keyframe(1, 0, -0.25f, -0.25f) + }); + + sStandardShapes[(int)ImpulseShapes.Explosion] = new AnimationCurve(new Keyframe[] + { + new Keyframe(0, -1.4f, -7.9f, -7.9f), + new Keyframe(0.27f, 0.78f, 23.4f, 23.4f), + new Keyframe(0.54f, -0.12f, 22.6f, 22.6f), + new Keyframe(0.75f, 0.042f, 9.23f, 9.23f), + new Keyframe(0.9f, -0.02f, 5.8f, 5.8f), + new Keyframe(0.95f, -0.006f, -3.0f, -3.0f), + new Keyframe(1, 0, 0, 0) + }); + + sStandardShapes[(int)ImpulseShapes.Rumble] = new AnimationCurve(new Keyframe[] + { + new Keyframe(0, 0, 0, 0), + new Keyframe(0.1f, 0.25f, 0, 0), + new Keyframe(0.2f, 0, 0, 0), + new Keyframe(0.3f, 0.75f, 0, 0), + new Keyframe(0.4f, 0, 0, 0), + new Keyframe(0.5f, 1, 0, 0), + new Keyframe(0.6f, 0, 0, 0), + new Keyframe(0.7f, 0.75f, 0, 0), + new Keyframe(0.8f, 0, 0, 0), + new Keyframe(0.9f, 0.25f, 0, 0), + new Keyframe(1, 0, 0, 0) + }); + } + + internal static AnimationCurve GetStandardCurve(ImpulseShapes shape) + { + if (sStandardShapes == null) + CreateStandardShapes(); + return sStandardShapes[(int)shape]; + } + + internal AnimationCurve ImpulseCurve + { + get + { + if (m_ImpulseShape == ImpulseShapes.Custom) + { + if (m_CustomImpulseShape == null) + m_CustomImpulseShape = AnimationCurve.EaseInOut(0f, 0f, 1, 1f); + return m_CustomImpulseShape; + } + return GetStandardCurve(m_ImpulseShape); + } + } + + /// Generate an impulse event at a location in space, + /// and broadcast it on the appropriate impulse channel + /// Event originates at this position in world space + /// This direction is considered to be "down" for the purposes of the + /// event signal, and the magnitude of the signal will be scaled according to the + /// length of this vector + public void CreateEvent(Vector3 position, Vector3 velocity) + { + CreateAndReturnEvent(position, velocity); + } + + /// Generate an impulse event at a location in space, + /// and broadcast it on the appropriate impulse channel + /// Event originates at this position in world space + /// This direction is considered to be "down" for the purposes of the + /// event signal, and the magnitude of the signal will be scaled according to the + /// length of this vector + /// The newly-created impulse event. This can be used to dynmically adjust the + /// event settings while the event is active. Note that this event object may be recycled + /// for future events, so the pointer should not be retained for too long. + public CinemachineImpulseManager.ImpulseEvent CreateAndReturnEvent( + Vector3 position, Vector3 velocity) + { + // Legacy mode + if (m_ImpulseType == ImpulseTypes.Legacy) + return LegacyCreateAndReturnEvent(position, velocity); + + const float kBigNumber = 9999999.0f; + + if ((m_ImpulseShape == ImpulseShapes.Custom && m_CustomImpulseShape == null) + || Mathf.Abs(m_DissipationDistance) < UnityVectorExtensions.Epsilon + || Mathf.Abs(m_ImpulseDuration) < UnityVectorExtensions.Epsilon) + return null; + + CinemachineImpulseManager.ImpulseEvent e + = CinemachineImpulseManager.Instance.NewImpulseEvent(); + e.m_Envelope = new CinemachineImpulseManager.EnvelopeDefinition + { + m_SustainTime = m_ImpulseDuration + }; + + e.m_SignalSource = new SignalSource(this, velocity); + e.m_Position = position; + e.m_Radius = m_ImpulseType == ImpulseTypes.Uniform ? kBigNumber : 0; + e.m_Channel = m_ImpulseChannel; + e.m_DirectionMode = CinemachineImpulseManager.ImpulseEvent.DirectionMode.Fixed; + e.m_DissipationDistance = m_ImpulseType == ImpulseTypes.Uniform ? 0 : m_DissipationDistance; + e.m_PropagationSpeed = m_ImpulseType == ImpulseTypes.Propagating ? m_PropagationSpeed : kBigNumber; + e.m_CustomDissipation = m_DissipationRate; + + CinemachineImpulseManager.Instance.AddImpulseEvent(e); + return e; + } + + CinemachineImpulseManager.ImpulseEvent LegacyCreateAndReturnEvent( + Vector3 position, Vector3 velocity) + { + if (m_RawSignal == null || Mathf.Abs(m_TimeEnvelope.Duration) < UnityVectorExtensions.Epsilon) + return null; + + CinemachineImpulseManager.ImpulseEvent e + = CinemachineImpulseManager.Instance.NewImpulseEvent(); + e.m_Envelope = m_TimeEnvelope; + + // Scale the time-envelope decay as the root of the amplitude scale + e.m_Envelope = m_TimeEnvelope; + if (m_TimeEnvelope.m_ScaleWithImpact) + e.m_Envelope.m_DecayTime *= Mathf.Sqrt(velocity.magnitude); + + e.m_SignalSource = new LegacySignalSource(this, velocity); + e.m_Position = position; + e.m_Radius = m_ImpactRadius; + e.m_Channel = m_ImpulseChannel; + e.m_DirectionMode = m_DirectionMode; + e.m_DissipationMode = m_DissipationMode; + e.m_DissipationDistance = m_DissipationDistance; + e.m_PropagationSpeed = m_PropagationSpeed; + CinemachineImpulseManager.Instance.AddImpulseEvent(e); + + return e; + } + + // Wrap the raw signal to handle gain, RepeatMode, randomization, and velocity + class SignalSource : ISignalSource6D + { + CinemachineImpulseDefinition m_Def; + Vector3 m_Velocity; + + public SignalSource(CinemachineImpulseDefinition def, Vector3 velocity) + { + m_Def = def; + m_Velocity = velocity; + } + + public float SignalDuration { get { return m_Def.m_ImpulseDuration; } } + + public void GetSignal(float timeSinceSignalStart, out Vector3 pos, out Quaternion rot) + { + pos = m_Velocity * m_Def.ImpulseCurve.Evaluate(timeSinceSignalStart / SignalDuration); + rot = Quaternion.identity; + } + } + + // Wrap the raw signal to handle gain, RepeatMode, randomization, and velocity + class LegacySignalSource : ISignalSource6D + { + CinemachineImpulseDefinition m_Def; + Vector3 m_Velocity; + float m_StartTimeOffset = 0; + + public LegacySignalSource(CinemachineImpulseDefinition def, Vector3 velocity) + { + m_Def = def; + m_Velocity = velocity; + if (m_Def.m_Randomize && m_Def.m_RawSignal.SignalDuration <= 0) + m_StartTimeOffset = UnityEngine.Random.Range(-1000f, 1000f); + } + + public float SignalDuration { get { return m_Def.m_RawSignal.SignalDuration; } } + + public void GetSignal(float timeSinceSignalStart, out Vector3 pos, out Quaternion rot) + { + float time = m_StartTimeOffset + timeSinceSignalStart * m_Def.m_FrequencyGain; + + // Do we have to fit the signal into the envelope? + float signalDuration = SignalDuration; + if (signalDuration > 0) + { + if (m_Def.m_RepeatMode == RepeatMode.Loop) + time %= signalDuration; + else if (m_Def.m_TimeEnvelope.Duration > UnityVectorExtensions.Epsilon) + time *= m_Def.m_TimeEnvelope.Duration / signalDuration; // stretch + } + + m_Def.m_RawSignal.GetSignal(time, out pos, out rot); + float gain = m_Velocity.magnitude; + Vector3 dir = m_Velocity.normalized; + gain *= m_Def.m_AmplitudeGain; + pos *= gain; + pos = Quaternion.FromToRotation(Vector3.down, m_Velocity) * pos; + rot = Quaternion.SlerpUnclamped(Quaternion.identity, rot, gain); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseDefinition.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseDefinition.cs.meta new file mode 100644 index 00000000..e2aeeb7b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseDefinition.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 829b8a241d4653446a2cb2436c262305 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseListener.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseListener.cs new file mode 100644 index 00000000..f4689079 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseListener.cs @@ -0,0 +1,227 @@ +using System; +using Cinemachine.Utility; +using UnityEngine; + +namespace Cinemachine +{ + /// + /// An extension for Cinemachine Virtual Camera which post-processes + /// the final position of the virtual camera. It listens for CinemachineImpulse + /// signals on the specified channels, and moves the camera in response to them. + /// + [SaveDuringPlay] + [AddComponentMenu("")] // Hide in menu + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [ExecuteAlways] + [HelpURL(Documentation.BaseURL + "manual/CinemachineImpulseListener.html")] + public class CinemachineImpulseListener : CinemachineExtension + { + /// + /// When to apply the impulse reaction. Default is Noise. + /// Modify this if necessary to influence the ordering of extension effects + /// + [Tooltip("When to apply the impulse reaction. Default is after the Noise stage. " + + "Modify this if necessary to influence the ordering of extension effects")] + public CinemachineCore.Stage m_ApplyAfter = CinemachineCore.Stage.Aim; // legacy compatibility setting + + /// + /// Impulse events on channels not included in the mask will be ignored. + /// + [Tooltip("Impulse events on channels not included in the mask will be ignored.")] + [CinemachineImpulseChannelProperty] + public int m_ChannelMask; + + /// + /// Gain to apply to the Impulse signal. + /// + [Tooltip("Gain to apply to the Impulse signal. 1 is normal strength. " + + "Setting this to 0 completely mutes the signal.")] + public float m_Gain; + + /// + /// Enable this to perform distance calculation in 2D (ignore Z). + /// + [Tooltip("Enable this to perform distance calculation in 2D (ignore Z)")] + public bool m_Use2DDistance; + + /// + /// Enable this to process all impulse signals in camera space. + /// + [Tooltip("Enable this to process all impulse signals in camera space")] + public bool m_UseCameraSpace; + + /// + /// This controls the secondary reaction of the listener to the incoming impulse. + /// The impulse might be for example a sharp shock, and the secondary reaction could + /// be a vibration whose amplitude and duration is controlled by the size of the + /// original impulse. This allows different listeners to respond in different ways + /// to the same impulse signal. + /// + [Serializable] + public struct ImpulseReaction + { + /// + /// Secondary shake that will be triggered by the primary impulse + /// + [Tooltip("Secondary shake that will be triggered by the primary impulse.")] + [NoiseSettingsProperty] + public NoiseSettings m_SecondaryNoise; + + /// + /// Gain to apply to the amplitudes defined in the signal source asset. + /// + [Tooltip("Gain to apply to the amplitudes defined in the signal source. " + + "1 is normal. Setting this to 0 completely mutes the signal.")] + public float m_AmplitudeGain; + + /// + /// Scale factor to apply to the time axis. + /// + [Tooltip("Scale factor to apply to the time axis. 1 is normal. " + + "Larger magnitudes will make the signal progress more rapidly.")] + public float m_FrequencyGain; + + /// + /// How long the secondary reaction lasts. + /// + [Tooltip("How long the secondary reaction lasts.")] + public float m_Duration; + + float m_CurrentAmount; + float m_CurrentTime; + float m_CurrentDamping; + + bool m_Initialized; + + [SerializeField, HideInInspector] + Vector3 m_NoiseOffsets; + + /// Generate a new random seed + public void ReSeed() + { + m_NoiseOffsets = new Vector3( + UnityEngine.Random.Range(-1000f, 1000f), + UnityEngine.Random.Range(-1000f, 1000f), + UnityEngine.Random.Range(-1000f, 1000f)); + } + + /// + /// Get the rection effect for a given impulse at a given time. + /// + /// Current time interval + /// The input impulse signal at this time + /// output reaction position delta + /// output reaction rotation delta + /// True if thewre is a reaction effect, false otherwise + public bool GetReaction( + float deltaTime, Vector3 impulsePos, + out Vector3 pos, out Quaternion rot) + { + if (!m_Initialized) + { + m_Initialized = true; + m_CurrentAmount = 0; + m_CurrentDamping = 0; + m_CurrentTime = CinemachineCore.CurrentTime * m_FrequencyGain; + if (m_NoiseOffsets == Vector3.zero) + ReSeed(); + } + + // Is there any reacting to do? + pos = Vector3.zero; + rot = Quaternion.identity; + var sqrMag = impulsePos.sqrMagnitude; + if (m_SecondaryNoise == null || (sqrMag < 0.001f && m_CurrentAmount < 0.0001f)) + return false; + + // Advance the current reaction time + if (TargetPositionCache.CacheMode == TargetPositionCache.Mode.Playback + && TargetPositionCache.HasCurrentTime) + m_CurrentTime = TargetPositionCache.CurrentTime * m_FrequencyGain; + else + m_CurrentTime += deltaTime * m_FrequencyGain; + + // Adjust the envelope height and duration of the secondary noise, + // acording to the strength of the incoming signal + m_CurrentAmount = Mathf.Max(m_CurrentAmount, Mathf.Sqrt(sqrMag)); + m_CurrentDamping = Mathf.Max(m_CurrentDamping, Mathf.Max(1, Mathf.Sqrt(m_CurrentAmount)) * m_Duration); + + var gain = m_CurrentAmount * m_AmplitudeGain; + pos = NoiseSettings.GetCombinedFilterResults( + m_SecondaryNoise.PositionNoise, m_CurrentTime, m_NoiseOffsets) * gain; + rot = Quaternion.Euler(NoiseSettings.GetCombinedFilterResults( + m_SecondaryNoise.OrientationNoise, m_CurrentTime, m_NoiseOffsets) * gain); + + m_CurrentAmount -= Damper.Damp(m_CurrentAmount, m_CurrentDamping, deltaTime); + m_CurrentDamping -= Damper.Damp(m_CurrentDamping, m_CurrentDamping, deltaTime); + return true; + } + } + + /// + /// This controls the secondary reaction of the listener to the incoming impulse. + /// The impulse might be for example a sharp shock, and the secondary reaction could + /// be a vibration whose amplitude and duration is controlled by the size of the + /// original impulse. This allows different listeners to respond in different ways + /// to the same impulse signal. + /// + [Tooltip("This controls the secondary reaction of the listener to the incoming impulse. " + + "The impulse might be for example a sharp shock, and the secondary reaction could " + + "be a vibration whose amplitude and duration is controlled by the size of the " + + "original impulse. This allows different listeners to respond in different ways " + + "to the same impulse signal.")] + public ImpulseReaction m_ReactionSettings; + + private void Reset() + { + m_ApplyAfter = CinemachineCore.Stage.Noise; // this is the default setting + m_ChannelMask = 1; + m_Gain = 1; + m_Use2DDistance = false; + m_UseCameraSpace = true; + m_ReactionSettings = new ImpulseReaction + { + m_AmplitudeGain = 1, + m_FrequencyGain = 1, + m_Duration = 1f + }; + } + + /// React to any detected impulses + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + if (stage == m_ApplyAfter && deltaTime >= 0) + { + bool haveImpulse = CinemachineImpulseManager.Instance.GetImpulseAt( + state.FinalPosition, m_Use2DDistance, m_ChannelMask, + out var impulsePos, out var impulseRot); + bool haveReaction = m_ReactionSettings.GetReaction( + deltaTime, impulsePos, out var reactionPos, out var reactionRot); + + if (haveImpulse) + { + impulseRot = Quaternion.SlerpUnclamped(Quaternion.identity, impulseRot, m_Gain); + impulsePos *= m_Gain; + } + if (haveReaction) + { + impulsePos += reactionPos; + impulseRot *= reactionRot; + } + if (haveImpulse || haveReaction) + { + if (m_UseCameraSpace) + impulsePos = state.RawOrientation * impulsePos; + state.PositionCorrection += impulsePos; + state.OrientationCorrection = state.OrientationCorrection * impulseRot; + } + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseListener.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseListener.cs.meta new file mode 100644 index 00000000..c8d28fa7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 00b2d199b96b516448144ab30fb26aed +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseManager.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseManager.cs new file mode 100644 index 00000000..6fb1c4cf --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseManager.cs @@ -0,0 +1,444 @@ +using System; +using System.Collections.Generic; +using Cinemachine.Utility; +using UnityEngine; + +namespace Cinemachine +{ + /// + /// Property applied to CinemachineImpulseManager.EnvelopeDefinition. + /// Used for custom drawing in the inspector. This attribute is obsolete and not used. + /// + public sealed class CinemachineImpulseEnvelopePropertyAttribute : PropertyAttribute {} + + /// + /// Property applied to CinemachineImpulseManager Channels. + /// Used for custom drawing in the inspector. + /// + public sealed class CinemachineImpulseChannelPropertyAttribute : PropertyAttribute {} + + /// + /// This is a singleton object that manages all Impulse Events generated by the Cinemachine + /// Impulse module. This singleton owns and manages all ImpulseEvent objectss. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.API)] + public class CinemachineImpulseManager + { + private CinemachineImpulseManager() {} + private static CinemachineImpulseManager sInstance = null; + + /// Get the singleton instance + public static CinemachineImpulseManager Instance + { + get + { + if (sInstance == null) + sInstance = new CinemachineImpulseManager(); + return sInstance; + } + } + + [RuntimeInitializeOnLoadMethod] + static void InitializeModule() + { + if (sInstance != null) + sInstance.Clear(); + } + + const float Epsilon = UnityVectorExtensions.Epsilon; + + /// This defines the time-envelope of the signal. + /// Thie raw signal will be scaled to fit inside the envelope. + [Serializable] + public struct EnvelopeDefinition + { + /// Normalized curve defining the shape of the start of the envelope. + [Tooltip("Normalized curve defining the shape of the start of the envelope. If blank a default curve will be used")] + public AnimationCurve m_AttackShape; + + /// Normalized curve defining the shape of the end of the envelope. + [Tooltip("Normalized curve defining the shape of the end of the envelope. If blank a default curve will be used")] + public AnimationCurve m_DecayShape; + + /// Duration in seconds of the attack. Attack curve will be scaled to fit. Must be >= 0 + [Tooltip("Duration in seconds of the attack. Attack curve will be scaled to fit. Must be >= 0.")] + public float m_AttackTime; // Must be >= 0 + + /// Duration in seconds of the central fully-scaled part of the envelope. Must be >= 0. + [Tooltip("Duration in seconds of the central fully-scaled part of the envelope. Must be >= 0.")] + public float m_SustainTime; // Must be >= 0 + + /// Duration in seconds of the decay. Decay curve will be scaled to fit. Must be >= 0. + [Tooltip("Duration in seconds of the decay. Decay curve will be scaled to fit. Must be >= 0.")] + public float m_DecayTime; // Must be >= 0 + + /// If checked, signal amplitude scaling will also be applied to the time envelope of the signal. Bigger signals will last longer + [Tooltip("If checked, signal amplitude scaling will also be applied to the time envelope of the signal. Stronger signals will last longer.")] + public bool m_ScaleWithImpact; + + /// If true, then duration is infinite. + [Tooltip("If true, then duration is infinite.")] + public bool m_HoldForever; + + /// Get an envelope with default values. + /// An event with default values + public static EnvelopeDefinition Default() + { + return new EnvelopeDefinition { m_DecayTime = 0.7f, m_SustainTime = 0.2f, m_ScaleWithImpact = true }; + } + + /// Duration of the envelope, in seconds. If negative, then duration is infinite. + public float Duration + { + get + { + if (m_HoldForever) + return -1; + return m_AttackTime + m_SustainTime + m_DecayTime; + } + } + + /// + /// Get the value of the tenvelope at a given time relative to the envelope start. + /// + /// Time in seconds from the envelope start + /// Envelope amplitude. This will range from 0...1 + public float GetValueAt(float offset) + { + if (offset >= 0) + { + if (offset < m_AttackTime && m_AttackTime > Epsilon) + { + if (m_AttackShape == null || m_AttackShape.length < 2) + return Damper.Damp(1, m_AttackTime, offset); + return m_AttackShape.Evaluate(offset / m_AttackTime); + } + offset -= m_AttackTime; + if (m_HoldForever || offset < m_SustainTime) + return 1; + offset -= m_SustainTime; + if (offset < m_DecayTime && m_DecayTime > Epsilon) + { + if (m_DecayShape == null || m_DecayShape.length < 2) + return 1 - Damper.Damp(1, m_DecayTime, offset); + return m_DecayShape.Evaluate(offset / m_DecayTime); + } + } + return 0; + } + + /// + /// Change the envelope so that it stops at a specific offset from its start time. + /// Use this to extend or cut short an existing envelope, while respecting the + /// attack and decay as much as possible. + /// + /// When to stop the envelope + /// If true, enevlope will not decay, but cut off instantly + public void ChangeStopTime(float offset, bool forceNoDecay) + { + if (offset < 0) + offset = 0; + if (offset < m_AttackTime) + m_AttackTime = 0; // How to prevent pop? GML + m_SustainTime = offset - m_AttackTime; + if (forceNoDecay) + m_DecayTime = 0; + } + + /// + /// Set the envelop times to 0 and the shapes to default. + /// + public void Clear() + { + m_AttackShape = m_DecayShape = null; + m_AttackTime = m_SustainTime = m_DecayTime = 0; + } + + /// + /// Call from OnValidate to ensure that envelope values are sane + /// + public void Validate() + { + m_AttackTime = Mathf.Max(0, m_AttackTime); + m_DecayTime = Mathf.Max(0, m_DecayTime); + m_SustainTime = Mathf.Max(0, m_SustainTime); + } + } + + internal static float EvaluateDissipationScale(float spread, float normalizedDistance) + { + const float kMin = -0.8f; + const float kMax = 0.8f; + var b = kMin + (kMax - kMin) * (1f - spread); + b = (1f - b) * 0.5f; + var t = Mathf.Clamp01(normalizedDistance) / ((((1f/Mathf.Clamp01(b)) - 2f) * (1f - normalizedDistance)) + 1f); + return 1 - SplineHelpers.Bezier1(t, 0, 0, 1, 1); + } + + /// Describes an event that generates an impulse signal on one or more channels. + /// The event has a location in space, a start time, a duration, and a signal. The signal + /// will dissipate as the distance from the event location increases. + public class ImpulseEvent + { + /// Start time of the event. + public float m_StartTime; + + /// Time-envelope of the signal. + public EnvelopeDefinition m_Envelope; + + /// Raw signal source. The ouput of this will be scaled to fit in the envelope. + public ISignalSource6D m_SignalSource; + + /// Worldspace origin of the signal. + public Vector3 m_Position; + + /// Radius around the signal origin that has full signal value. Distance dissipation begins after this distance. + public float m_Radius; + + /// How the signal behaves as the listener moves away from the origin. + public enum DirectionMode + { + /// Signal direction remains constant everywhere. + Fixed, + /// Signal is rotated in the direction of the source. + RotateTowardSource + } + /// How the signal direction behaves as the listener moves away from the source. + public DirectionMode m_DirectionMode = DirectionMode.Fixed; + + /// Channels on which this event will broadcast its signal. + public int m_Channel; + + /// How the signal dissipates with distance. + public enum DissipationMode + { + /// Simple linear interpolation to zero over the dissipation distance. + LinearDecay, + /// Ease-in-ease-out dissipation over the dissipation distance. + SoftDecay, + /// Half-life decay, hard out from full and ease into 0 over the dissipation distance. + ExponentialDecay + } + + /// How the signal dissipates with distance. + public DissipationMode m_DissipationMode; + + /// Distance over which the dissipation occurs. Must be >= 0. + public float m_DissipationDistance; + + /// + /// How the effect fades with distance. 0 = no dissipation, 1 = rapid dissipation, -1 = off (legacy mode) + /// + public float m_CustomDissipation; + + /// + /// The speed (m/s) at which the impulse propagates through space. High speeds + /// allow listeners to react instantaneously, while slower speeds allow listeres in the + /// scene to react as if to a wave spreading from the source. + /// + public float m_PropagationSpeed; + + /// Returns true if the event is no longer generating a signal because its time has expired + public bool Expired + { + get + { + var d = m_Envelope.Duration; + var maxDistance = m_Radius + m_DissipationDistance; + float time = Instance.CurrentTime - maxDistance / Mathf.Max(1, m_PropagationSpeed); + return d > 0 && m_StartTime + d <= time; + } + } + + /// Cancel the event at the supplied time + /// The time at which to cancel the event + /// If true, event will be cut immediately at the time, + /// otherwise its envelope's decay curve will begin at the cancel time + public void Cancel(float time, bool forceNoDecay) + { + m_Envelope.m_HoldForever = false; + m_Envelope.ChangeStopTime(time - m_StartTime, forceNoDecay); + } + + /// Calculate the the decay applicable at a given distance from the impact point + /// The distance over which to perform the decay + /// Scale factor 0...1 + public float DistanceDecay(float distance) + { + float radius = Mathf.Max(m_Radius, 0); + if (distance < radius) + return 1; + distance -= radius; + if (distance >= m_DissipationDistance) + return 0; + if (m_CustomDissipation >= 0) + return EvaluateDissipationScale(m_CustomDissipation, distance / m_DissipationDistance); + switch (m_DissipationMode) + { + default: + case DissipationMode.LinearDecay: + return Mathf.Lerp(1, 0, distance / m_DissipationDistance); + case DissipationMode.SoftDecay: + return 0.5f * (1 + Mathf.Cos(Mathf.PI * (distance / m_DissipationDistance))); + case DissipationMode.ExponentialDecay: + return 1 - Damper.Damp(1, m_DissipationDistance, distance); + } + } + + /// Get the signal that a listener at a given position would perceive + /// The listener's position in world space + /// True if distance calculation should ignore Z + /// The position impulse signal + /// The rotation impulse signal + /// true if non-trivial signal is returned + public bool GetDecayedSignal( + Vector3 listenerPosition, bool use2D, out Vector3 pos, out Quaternion rot) + { + if (m_SignalSource != null) + { + float distance = use2D ? Vector2.Distance(listenerPosition, m_Position) + : Vector3.Distance(listenerPosition, m_Position); + float time = Instance.CurrentTime - m_StartTime + - distance / Mathf.Max(1, m_PropagationSpeed); + float scale = m_Envelope.GetValueAt(time) * DistanceDecay(distance); + if (scale != 0) + { + m_SignalSource.GetSignal(time, out pos, out rot); + pos *= scale; + rot = Quaternion.SlerpUnclamped(Quaternion.identity, rot, scale); + if (m_DirectionMode == DirectionMode.RotateTowardSource && distance > Epsilon) + { + Quaternion q = Quaternion.FromToRotation(Vector3.up, listenerPosition - m_Position); + if (m_Radius > Epsilon) + { + float t = Mathf.Clamp01(distance / m_Radius); + q = Quaternion.Slerp( + q, Quaternion.identity, Mathf.Cos(Mathf.PI * t / 2)); + } + pos = q * pos; + } + return true; + } + } + pos = Vector3.zero; + rot = Quaternion.identity; + return false; + } + + /// Reset the event to a default state + public void Clear() + { + m_Envelope.Clear(); + m_StartTime = 0; + m_SignalSource = null; + m_Position = Vector3.zero; + m_Channel = 0; + m_Radius = 0; + m_DissipationDistance = 100; + m_DissipationMode = DissipationMode.ExponentialDecay; + m_CustomDissipation = -1; + } + + /// Don't create them yourself. Use CinemachineImpulseManager.NewImpulseEvent(). + internal ImpulseEvent() {} + } + + List m_ExpiredEvents; + List m_ActiveEvents; + + /// Get the signal perceived by a listener at a geven location + /// Where the listener is, in world coords + /// True if distance calculation should ignore Z + /// Only Impulse signals on channels in this mask will be considered + /// The combined position impulse signal resulting from all signals active on the specified channels + /// The combined rotation impulse signal resulting from all signals active on the specified channels + /// true if non-trivial signal is returned + public bool GetImpulseAt( + Vector3 listenerLocation, bool distance2D, int channelMask, + out Vector3 pos, out Quaternion rot) + { + bool nontrivialResult = false; + pos = Vector3.zero; + rot = Quaternion.identity; + if (m_ActiveEvents != null) + { + for (int i = m_ActiveEvents.Count - 1; i >= 0; --i) + { + ImpulseEvent e = m_ActiveEvents[i]; + // Prune invalid or expired events + if (e == null || e.Expired) + { + m_ActiveEvents.RemoveAt(i); + if (e != null) + { + // Recycle it + if (m_ExpiredEvents == null) + m_ExpiredEvents = new List(); + e.Clear(); + m_ExpiredEvents.Add(e); + } + } + else if ((e.m_Channel & channelMask) != 0) + { + Vector3 pos0 = Vector3.zero; + Quaternion rot0 = Quaternion.identity; + if (e.GetDecayedSignal(listenerLocation, distance2D, out pos0, out rot0)) + { + nontrivialResult = true; + pos += pos0; + rot *= rot0; + } + } + } + } + return nontrivialResult; + } + + /// Set this to ignore time scaling so impulses can progress while the game is paused + public bool IgnoreTimeScale; + + /// + /// This is the Impulse system's current time. + /// Takes into accoount whether impulse is ignoring time scale. + /// + public float CurrentTime => IgnoreTimeScale ? Time.realtimeSinceStartup : CinemachineCore.CurrentTime; + + /// Get a new ImpulseEvent + /// A newly-created impulse event. May be recycled from expired events + public ImpulseEvent NewImpulseEvent() + { + ImpulseEvent e; + if (m_ExpiredEvents == null || m_ExpiredEvents.Count == 0) + return new ImpulseEvent() { m_CustomDissipation = -1 }; + e = m_ExpiredEvents[m_ExpiredEvents.Count-1]; + m_ExpiredEvents.RemoveAt(m_ExpiredEvents.Count-1); + return e; + } + + /// Activate an impulse event, so that it may begin broadcasting its signal + /// Events will be automatically removed after they expire. + /// You can tweak the ImpulseEvent fields dynamically if you keep a pointer to it. + /// The event to add to the current active events + public void AddImpulseEvent(ImpulseEvent e) + { + if (m_ActiveEvents == null) + m_ActiveEvents = new List(); + if (e != null) + { + e.m_StartTime = CurrentTime; + m_ActiveEvents.Add(e); + } + } + + /// Immediately terminate all active impulse signals + public void Clear() + { + if (m_ActiveEvents != null) + { + for (int i = 0; i < m_ActiveEvents.Count; ++i) + m_ActiveEvents[i].Clear(); + m_ActiveEvents.Clear(); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseManager.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseManager.cs.meta new file mode 100644 index 00000000..023074c4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseManager.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: eb25eb9c85a88c94aa253071e03aca6e +timeCreated: 1518026885 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseSource.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseSource.cs new file mode 100644 index 00000000..f2fbb6b9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseSource.cs @@ -0,0 +1,112 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// + /// An event-driven class that broadcasts an impulse signal to listeners. + /// + /// This is the base class for custom impulse sources. It contains an impulse + /// definition, where the characteristics of the impulse signal are defined. + /// + /// API methods are provided for actually broadcasting the impulse. Call these + /// methods from your custom code, or hook them up to game events in the Editor. + /// + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [SaveDuringPlay] + [HelpURL(Documentation.BaseURL + "manual/CinemachineImpulseSourceOverview.html")] + public class CinemachineImpulseSource : MonoBehaviour + { + /// + /// This defines the complete impulse signal that will be broadcast. + /// + public CinemachineImpulseDefinition m_ImpulseDefinition = new CinemachineImpulseDefinition(); + + /// + /// The default direction and force of the Impulse Signal in the absense of any + /// specified overrides. Overrides can be specified by calling the appropriate + /// GenerateImpulse method in the API. + /// + [Header("Default Invocation")] + [Tooltip("The default direction and force of the Impulse Signal in the absense " + + "of any specified overrides. Overrides can be specified by calling the appropriate " + + "GenerateImpulse method in the API.")] + public Vector3 m_DefaultVelocity = Vector3.down; + + void OnValidate() + { + m_ImpulseDefinition.OnValidate(); + } + + void Reset() + { + m_ImpulseDefinition = new CinemachineImpulseDefinition + { + m_ImpulseChannel = 1, + m_ImpulseShape = CinemachineImpulseDefinition.ImpulseShapes.Bump, + m_CustomImpulseShape = new AnimationCurve(), + m_ImpulseDuration = 0.2f, + m_ImpulseType = CinemachineImpulseDefinition.ImpulseTypes.Uniform, + m_DissipationDistance = 100, + m_DissipationRate = 0.25f, + m_PropagationSpeed = 343 + }; + m_DefaultVelocity = Vector3.down; + } + + /// Broadcast the Impulse Signal onto the appropriate channels, + /// using a custom position and impact velocity + /// The world-space position from which the impulse will emanate + /// The impact magnitude and direction + public void GenerateImpulseAtPositionWithVelocity(Vector3 position, Vector3 velocity) + { + if (m_ImpulseDefinition != null) + m_ImpulseDefinition.CreateEvent(position, velocity); + } + + /// Broadcast the Impulse Signal onto the appropriate channels, using + /// a custom impact velocity, and this transfom's position. + /// The impact magnitude and direction + public void GenerateImpulseWithVelocity(Vector3 velocity) + { + GenerateImpulseAtPositionWithVelocity(transform.position, velocity); + } + + /// Broadcast the Impulse Signal onto the appropriate channels, using + /// a custom impact force, with the standard direction, and this transfom's position. + /// The impact magnitude. 1 is normal + public void GenerateImpulseWithForce(float force) + { + GenerateImpulseAtPositionWithVelocity( + transform.position, m_DefaultVelocity * force); + } + + /// Broadcast the Impulse Signal onto the appropriate channels, + /// with default velocity = (0, -1, 0), and a default position which is + /// this transform's location. + public void GenerateImpulse() + { + GenerateImpulseWithVelocity(m_DefaultVelocity); + } + + /// Legacy API: Please use GenerateImpulseAtPositionWithVelocity() instead. + /// Broadcast the Impulse Signal onto the appropriate channels, + /// using a custom position and impact velocity + /// The world-space position from which the impulse will emanate + /// The impact magnitude and direction + public void GenerateImpulseAt(Vector3 position, Vector3 velocity) + => GenerateImpulseAtPositionWithVelocity(position, velocity); + + /// Legacy API: Please use GenerateImpulseWithVelocity() instead. + /// Broadcast the Impulse Signal onto the appropriate channels, using + /// a custom impact velocity, and this transfom's position. + /// The impact magnitude and direction + public void GenerateImpulse(Vector3 velocity) => GenerateImpulseWithVelocity(velocity); + + /// Legacy API: Please use GenerateImpulseWithForce() instead. + /// Broadcast the Impulse Signal onto the appropriate channels, using + /// a custom impact force, with the standard direction, and this transfom's position. + /// The impact magnitude. 1 is normal + public void GenerateImpulse(float force) => GenerateImpulseWithForce(force); + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseSource.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseSource.cs.meta new file mode 100644 index 00000000..345eaf29 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineImpulseSource.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 180ecf9b41d478f468eb3e9083753217 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineIndependentImpulseListener.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineIndependentImpulseListener.cs new file mode 100644 index 00000000..b93fb191 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineIndependentImpulseListener.cs @@ -0,0 +1,120 @@ +using UnityEngine; + +namespace Cinemachine +{ + /// + /// This behaviour can be attached to any object to make it shake in response to Impulses. + /// + /// This behaviour can be attached to the main Camera with the CinemachineBrain, + /// to allow the main camera to shake without putting Listeners on the virtual cameras. + /// In this case, camera shake is not dependent on the active virtual camera. + /// + /// It is also possible to put this behaviour on other scene objects to shake them + /// in response to impulses. + /// + [SaveDuringPlay] + [HelpURL(Documentation.BaseURL + "api/Cinemachine.CinemachineIndependentImpulseListener.html")] + public class CinemachineIndependentImpulseListener : MonoBehaviour + { + private Vector3 impulsePosLastFrame; + private Quaternion impulseRotLastFrame; + + /// + /// Impulse events on channels not included in the mask will be ignored. + /// + [Tooltip("Impulse events on channels not included in the mask will be ignored.")] + [CinemachineImpulseChannelProperty] + public int m_ChannelMask; + + /// + /// Gain to apply to the Impulse signal. + /// + [Tooltip("Gain to apply to the Impulse signal. 1 is normal strength. Setting this to 0 completely mutes the signal.")] + public float m_Gain; + + /// + /// Enable this to perform distance calculation in 2D (ignore Z). + /// + [Tooltip("Enable this to perform distance calculation in 2D (ignore Z)")] + public bool m_Use2DDistance; + + /// + /// Enable this to process all impulse signals in camera space. + /// + [Tooltip("Enable this to process all impulse signals in camera space")] + public bool m_UseLocalSpace; + + /// + /// This controls the secondary reaction of the listener to the incoming impulse. + /// The impulse might be for example a sharp shock, and the secondary reaction could + /// be a vibration whose amplitude and duration is controlled by the size of the + /// original impulse. This allows different listeners to respond in different ways + /// to the same impulse signal. + /// + [Tooltip("This controls the secondary reaction of the listener to the incoming impulse. " + + "The impulse might be for example a sharp shock, and the secondary reaction could " + + "be a vibration whose amplitude and duration is controlled by the size of the " + + "original impulse. This allows different listeners to respond in different ways " + + "to the same impulse signal.")] + public CinemachineImpulseListener.ImpulseReaction m_ReactionSettings; + + private void Reset() + { + m_ChannelMask = 1; + m_Gain = 1; + m_Use2DDistance = false; + m_UseLocalSpace = true; + m_ReactionSettings = new CinemachineImpulseListener.ImpulseReaction + { + m_AmplitudeGain = 1, + m_FrequencyGain = 1, + m_Duration = 1f + }; + } + + private void OnEnable() + { + impulsePosLastFrame = Vector3.zero; + impulseRotLastFrame = Quaternion.identity; + } + + private void Update() + { + // Unapply previous shake + transform.position -= impulsePosLastFrame; + transform.rotation = transform.rotation * Quaternion.Inverse(impulseRotLastFrame); + } + + // We do this in LateUpdate specifically to support attaching this script to the + // Camera with the CinemachineBrain. Script execution order is after the brain. + private void LateUpdate() + { + // Apply the shake + bool haveImpulse = CinemachineImpulseManager.Instance.GetImpulseAt( + transform.position, m_Use2DDistance, m_ChannelMask, + out impulsePosLastFrame, out impulseRotLastFrame); + bool haveReaction = m_ReactionSettings.GetReaction( + Time.deltaTime, impulsePosLastFrame, out var reactionPos, out var reactionRot); + + if (haveImpulse) + { + impulseRotLastFrame = Quaternion.SlerpUnclamped( + Quaternion.identity, impulseRotLastFrame, m_Gain); + impulsePosLastFrame *= m_Gain; + } + if (haveReaction) + { + impulsePosLastFrame += reactionPos; + impulseRotLastFrame *= reactionRot; + } + if (haveImpulse || haveReaction) + { + if (m_UseLocalSpace) + impulsePosLastFrame = transform.rotation * impulsePosLastFrame; + + transform.position += impulsePosLastFrame; + transform.rotation = transform.rotation * impulseRotLastFrame; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineIndependentImpulseListener.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineIndependentImpulseListener.cs.meta new file mode 100644 index 00000000..a94fa762 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Impulse/CinemachineIndependentImpulseListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0c11265b855408d42af33d62691f5194 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 200 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing.meta new file mode 100644 index 00000000..ae63b4f6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 73dae0f38fe36064e80bee257b7da7b9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachinePostProcessing.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachinePostProcessing.cs new file mode 100644 index 00000000..2aef2c42 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachinePostProcessing.cs @@ -0,0 +1,399 @@ +using UnityEngine; +using UnityEngine.SceneManagement; +#if CINEMACHINE_POST_PROCESSING_V2 +using System.Collections.Generic; +using UnityEngine.Rendering.PostProcessing; +#endif + +namespace Cinemachine.PostFX +{ +#if !CINEMACHINE_POST_PROCESSING_V2 + // Workaround for Unity scripting bug + /// + /// This behaviour is a liaison between Cinemachine with the Post-Processing v2 module. You must + /// have the Post-Processing V2 stack package installed in order to use this behaviour. + /// + /// As a component on the Virtual Camera, it holds + /// a Post-Processing Profile asset that will be applied to the Unity camera whenever + /// the Virtual camera is live. It also has the optional functionality of animating + /// the Focus Distance and DepthOfField properties of the Camera State, and + /// applying them to the current Post-Processing profile, provided that profile has a + /// DepthOfField effect that is enabled. + /// + [SaveDuringPlay] + [AddComponentMenu("")] // Hide in menu + public class CinemachinePostProcessing : CinemachineExtension + { + /// Apply PostProcessing effects + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) {} + } +#else + /// + /// This behaviour is a liaison between Cinemachine with the Post-Processing v2 module. You must + /// have the Post-Processing V2 stack package installed in order to use this behaviour. + /// + /// As a component on the Virtual Camera, it holds + /// a Post-Processing Profile asset that will be applied to the Unity camera whenever + /// the Virtual camera is live. It also has the optional functionality of animating + /// the Focus Distance and DepthOfField properties of the Camera State, and + /// applying them to the current Post-Processing profile, provided that profile has a + /// DepthOfField effect that is enabled. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [ExecuteAlways] + [AddComponentMenu("")] // Hide in menu + [SaveDuringPlay] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachinePostProcessing.html")] + public class CinemachinePostProcessing : CinemachineExtension + { + /// + /// This is the priority for the vcam's PostProcessing volumes. It's set to a high + /// number in order to ensure that it overrides other volumes for the active vcam. + /// You can change this value if necessary to work with other systems. + /// + static public float s_VolumePriority = 1000f; + + /// This is obsolete, please use m_FocusTracking + [HideInInspector] + public bool m_FocusTracksTarget; + + /// The reference object for focus tracking + public enum FocusTrackingMode + { + /// No focus tracking + None, + /// Focus offset is relative to the LookAt target + LookAtTarget, + /// Focus offset is relative to the Follow target + FollowTarget, + /// Focus offset is relative to the Custom target set here + CustomTarget, + /// Focus offset is relative to the camera + Camera + }; + + /// If the profile has the appropriate overrides, will set the base focus + /// distance to be the distance from the selected target to the camera. + /// The Focus Offset field will then modify that distance + [Tooltip("If the profile has the appropriate overrides, will set the base focus " + + "distance to be the distance from the selected target to the camera." + + "The Focus Offset field will then modify that distance.")] + public FocusTrackingMode m_FocusTracking; + + /// The target to use if Focus Tracks Target is set to Custom Target + [Tooltip("The target to use if Focus Tracks Target is set to Custom Target")] + public Transform m_FocusTarget; + + /// Offset from target distance, to be used with Focus Tracks Target. + /// Offsets the sharpest point away from the location of the focus target + [Tooltip("Offset from target distance, to be used with Focus Tracks Target. " + + "Offsets the sharpest point away from the location of the focus target.")] + public float m_FocusOffset; + + /// + /// This Post-Processing profile will be applied whenever this virtual camera is live + /// + [Tooltip("This Post-Processing profile will be applied whenever this virtual camera is live")] + public PostProcessProfile m_Profile; + + class VcamExtraState + { + public PostProcessProfile mProfileCopy; + + public void CreateProfileCopy(PostProcessProfile source) + { + DestroyProfileCopy(); + PostProcessProfile profile = ScriptableObject.CreateInstance(); + if (source != null) + { + foreach (var item in source.settings) + { + var itemCopy = Instantiate(item); + profile.settings.Add(itemCopy); + } + } + mProfileCopy = profile; + } + + public void DestroyProfileCopy() + { + if (mProfileCopy != null) + RuntimeUtility.DestroyObject(mProfileCopy); + mProfileCopy = null; + } + } + + /// True if the profile is enabled and nontrivial + public bool IsValid { get { return m_Profile != null && m_Profile.settings.Count > 0; } } + + /// Called by the editor when the shared asset has been edited + public void InvalidateCachedProfile() + { + var list = GetAllExtraStates(); + for (int i = 0; i < list.Count; ++i) + list[i].DestroyProfileCopy(); + } + + protected override void OnEnable() + { + base.OnEnable(); + + // Map legacy m_FocusTracksTarget to focus mode + if (m_FocusTracksTarget) + { + m_FocusTracking = VirtualCamera.LookAt != null + ? FocusTrackingMode.LookAtTarget : FocusTrackingMode.Camera; + } + m_FocusTracksTarget = false; + } + + protected override void OnDestroy() + { + InvalidateCachedProfile(); + base.OnDestroy(); + } + + /// Apply PostProcessing effects + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + // Set the focus after the camera has been fully positioned. + if (stage == CinemachineCore.Stage.Finalize) + { + var extra = GetExtraState(vcam); + if (!IsValid) + extra.DestroyProfileCopy(); + else + { + var profile = m_Profile; + + // Handle Follow Focus + if (m_FocusTracking == FocusTrackingMode.None) + extra.DestroyProfileCopy(); + else + { + if (extra.mProfileCopy == null) + extra.CreateProfileCopy(m_Profile); + profile = extra.mProfileCopy; + DepthOfField dof; + if (profile.TryGetSettings(out dof)) + { + float focusDistance = m_FocusOffset; + if (m_FocusTracking == FocusTrackingMode.LookAtTarget) + focusDistance += (state.FinalPosition - state.ReferenceLookAt).magnitude; + else + { + Transform focusTarget = null; + switch (m_FocusTracking) + { + default: break; + case FocusTrackingMode.FollowTarget: focusTarget = VirtualCamera.Follow; break; + case FocusTrackingMode.CustomTarget: focusTarget = m_FocusTarget; break; + } + if (focusTarget != null) + focusDistance += (state.FinalPosition - focusTarget.position).magnitude; + } +#if UNITY_2022_2_OR_NEWER + state.Lens.FocusDistance = +#endif + dof.focusDistance.value = Mathf.Max(0, focusDistance); + } + } + + // Apply the post-processing + state.AddCustomBlendable(new CameraState.CustomBlendable(profile, 1)); + } + } + } + + static void OnCameraCut(CinemachineBrain brain) + { + // Debug.Log("Camera cut event"); + PostProcessLayer postFX = GetPPLayer(brain); + if (postFX != null) + postFX.ResetHistory(); + } + + static void ApplyPostFX(CinemachineBrain brain) + { + PostProcessLayer ppLayer = GetPPLayer(brain); + if (ppLayer == null || !ppLayer.enabled || ppLayer.volumeLayer == 0) + return; + + CameraState state = brain.CurrentCameraState; + int numBlendables = state.NumCustomBlendables; + List volumes = GetDynamicBrainVolumes(brain, ppLayer, numBlendables); + for (int i = 0; i < volumes.Count; ++i) + { + volumes[i].weight = 0; + volumes[i].sharedProfile = null; + volumes[i].profile = null; + } + PostProcessVolume firstVolume = null; + int numPPblendables = 0; + for (int i = 0; i < numBlendables; ++i) + { + var b = state.GetCustomBlendable(i); + var profile = b.m_Custom as PostProcessProfile; + if (!(profile == null)) // in case it was deleted + { + PostProcessVolume v = volumes[i]; + if (firstVolume == null) + firstVolume = v; + v.sharedProfile = profile; + v.isGlobal = true; + v.priority = s_VolumePriority - (numBlendables - i) - 1; + v.weight = b.m_Weight; + ++numPPblendables; + } +#if true // set this to true to force first weight to 1 + // If more than one volume, then set the frst one's weight to 1 + if (numPPblendables > 1) + firstVolume.weight = 1; +#endif + } + } + + static string sVolumeOwnerName = "__CMVolumes"; + static List sVolumes = new List(); + static List GetDynamicBrainVolumes( + CinemachineBrain brain, PostProcessLayer ppLayer, int minVolumes) + { + // Locate the camera's child object that holds our dynamic volumes + GameObject volumeOwner = null; + Transform t = brain.transform; + int numChildren = t.childCount; + + sVolumes.Clear(); + for (int i = 0; volumeOwner == null && i < numChildren; ++i) + { + GameObject child = t.GetChild(i).gameObject; + if (child.hideFlags == HideFlags.HideAndDontSave) + { + child.GetComponents(sVolumes); + if (sVolumes.Count > 0) + volumeOwner = child; + } + } + + if (minVolumes > 0) + { + if (volumeOwner == null) + { + volumeOwner = new GameObject(sVolumeOwnerName); + volumeOwner.hideFlags = HideFlags.HideAndDontSave; + volumeOwner.transform.parent = t; + } + // Update the volume's layer so it will be seen + int mask = ppLayer.volumeLayer.value; + for (int i = 0; i < 32; ++i) + { + if ((mask & (1 << i)) != 0) + { + volumeOwner.layer = i; + break; + } + } + while (sVolumes.Count < minVolumes) + sVolumes.Add(volumeOwner.gameObject.AddComponent()); + } + return sVolumes; + } + + static Dictionary mBrainToLayer + = new Dictionary(); + + static PostProcessLayer GetPPLayer(CinemachineBrain brain) + { + bool found = mBrainToLayer.TryGetValue(brain, out PostProcessLayer layer); + if (layer != null) + return layer; // layer is valid and in our lookup + + // If the layer in the lookup table is a deleted object, we must remove + // the brain's callback for it + if (found && !ReferenceEquals(layer, null)) + { + // layer is a deleted object + brain.m_CameraCutEvent.RemoveListener(OnCameraCut); + mBrainToLayer.Remove(brain); + layer = null; + found = false; + } + + // Brain is not in our lookup - add it. +#if UNITY_2019_2_OR_NEWER + brain.TryGetComponent(out layer); + if (layer != null) + { + brain.m_CameraCutEvent.AddListener(OnCameraCut); // valid layer + mBrainToLayer[brain] = layer; + } +#else + // In order to avoid calling GetComponent() every frame in the case + // where there is legitimately no layer on the brain, we will add + // null to the lookup table if no layer is present. + if (!found) + { + layer = brain.GetComponent(); + if (layer != null) + brain.m_CameraCutEvent.AddListener(OnCameraCut); // valid layer + + // Exception: never add null in the case where user adds a layer while + // in the editor. If we were to add null in this case, then the new + // layer would not be detected. We are willing to live with + // calling GetComponent() every frame while in edit mode. + if (Application.isPlaying || layer != null) + mBrainToLayer[brain] = layer; + } +#endif + return layer; + } + + static void CleanupLookupTable() + { + var iter = mBrainToLayer.GetEnumerator(); + while (iter.MoveNext()) + { + var brain = iter.Current.Key; + if (brain != null) + brain.m_CameraCutEvent.RemoveListener(OnCameraCut); + } + mBrainToLayer.Clear(); + } + +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoad] + class EditorInitialize + { + static EditorInitialize() + { + UnityEditor.EditorApplication.playModeStateChanged += (pmsc) => CleanupLookupTable(); + InitializeModule(); + } + } +#endif + [RuntimeInitializeOnLoadMethod] + static void InitializeModule() + { + // After the brain pushes the state to the camera, hook in to the PostFX + CinemachineCore.CameraUpdatedEvent.RemoveListener(ApplyPostFX); + CinemachineCore.CameraUpdatedEvent.AddListener(ApplyPostFX); + + // Clean up our resources + SceneManager.sceneUnloaded += (scene) => CleanupLookupTable(); + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachinePostProcessing.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachinePostProcessing.cs.meta new file mode 100644 index 00000000..e183c179 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachinePostProcessing.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 729aad4491e915a41bda2b8325cf757a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachineVolumeSettings.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachineVolumeSettings.cs new file mode 100644 index 00000000..b646fa05 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachineVolumeSettings.cs @@ -0,0 +1,354 @@ +using UnityEngine; +using UnityEngine.Serialization; + +#if CINEMACHINE_HDRP + using System.Collections.Generic; + using UnityEngine.Rendering; + #if CINEMACHINE_HDRP_7_3_1 + using UnityEngine.Rendering.HighDefinition; + #else + using UnityEngine.Experimental.Rendering.HDPipeline; + #endif +#elif CINEMACHINE_LWRP_7_3_1 + using System.Collections.Generic; + using UnityEngine.Rendering; + using UnityEngine.Rendering.Universal; +#endif + +namespace Cinemachine.PostFX +{ +#if !(CINEMACHINE_HDRP || CINEMACHINE_LWRP_7_3_1) + // Workaround for Unity scripting bug + /// + /// This behaviour is a liaison between Cinemachine with the Post-Processing v3 module. + /// + /// As a component on the Virtual Camera, it holds + /// a Post-Processing Profile asset that will be applied to the Unity camera whenever + /// the Virtual camera is live. It also has the optional functionality of animating + /// the Focus Distance and DepthOfField properties of the Camera State, and + /// applying them to the current Post-Processing profile, provided that profile has a + /// DepthOfField effect that is enabled. + /// + [AddComponentMenu("")] // Hide in menu + public class CinemachineVolumeSettings : MonoBehaviour {} +#else + /// + /// This behaviour is a liaison between Cinemachine with the Post-Processing v3 module. + /// + /// As a component on the Virtual Camera, it holds + /// a Post-Processing Profile asset that will be applied to the Unity camera whenever + /// the Virtual camera is live. It also has the optional functionality of animating + /// the Focus Distance and DepthOfField properties of the Camera State, and + /// applying them to the current Post-Processing profile, provided that profile has a + /// DepthOfField effect that is enabled. + /// + [DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)] + [ExecuteAlways] + [AddComponentMenu("")] // Hide in menu + [SaveDuringPlay] + [DisallowMultipleComponent] + [HelpURL(Documentation.BaseURL + "manual/CinemachineVolumeSettings.html")] + public class CinemachineVolumeSettings : CinemachineExtension + { + /// + /// This is the priority for the vcam's PostProcessing volumes. It's set to a high + /// number in order to ensure that it overrides other volumes for the active vcam. + /// You can change this value if necessary to work with other systems. + /// + static public float s_VolumePriority = 1000f; + + /// This is obsolete, please use m_FocusTracking + [HideInInspector] + public bool m_FocusTracksTarget; + + /// The reference object for focus tracking + public enum FocusTrackingMode + { + /// No focus tracking + None, + /// Focus offset is relative to the LookAt target + LookAtTarget, + /// Focus offset is relative to the Follow target + FollowTarget, + /// Focus offset is relative to the Custom target set here + CustomTarget, + /// Focus offset is relative to the camera + Camera + }; + + /// If the profile has the appropriate overrides, will set the base focus + /// distance to be the distance from the selected target to the camera. + /// The Focus Offset field will then modify that distance + [Tooltip("If the profile has the appropriate overrides, will set the base focus " + + "distance to be the distance from the selected target to the camera." + + "The Focus Offset field will then modify that distance.")] + public FocusTrackingMode m_FocusTracking; + + /// The target to use if Focus Tracks Target is set to Custom Target + [Tooltip("The target to use if Focus Tracks Target is set to Custom Target")] + public Transform m_FocusTarget; + + /// Offset from target distance, to be used with Focus Tracks Target. + /// Offsets the sharpest point away from the focus target + [Tooltip("Offset from target distance, to be used with Focus Tracks Target. " + + "Offsets the sharpest point away from the focus target.")] + public float m_FocusOffset; + + /// + /// This profile will be applied whenever this virtual camera is live + /// + [Tooltip("This profile will be applied whenever this virtual camera is live")] + public VolumeProfile m_Profile; + + class VcamExtraState + { + public VolumeProfile mProfileCopy; + + public void CreateProfileCopy(VolumeProfile source) + { + DestroyProfileCopy(); + VolumeProfile profile = ScriptableObject.CreateInstance(); + if (source != null) + { + foreach (var item in source.components) + { + var itemCopy = Instantiate(item); + profile.components.Add(itemCopy); + profile.isDirty = true; + } + } + mProfileCopy = profile; + } + + public void DestroyProfileCopy() + { + if (mProfileCopy != null) + RuntimeUtility.DestroyObject(mProfileCopy); + mProfileCopy = null; + } + } + + /// True if the profile is enabled and nontrivial + public bool IsValid { get { return m_Profile != null && m_Profile.components.Count > 0; } } + + /// Called by the editor when the shared asset has been edited + public void InvalidateCachedProfile() + { + var list = GetAllExtraStates(); + for (int i = 0; i < list.Count; ++i) + list[i].DestroyProfileCopy(); + } + + protected override void OnEnable() + { + base.OnEnable(); + + // Map legacy m_FocusTracksTarget to focus mode + if (m_FocusTracksTarget) + { + m_FocusTracking = VirtualCamera.LookAt != null + ? FocusTrackingMode.LookAtTarget : FocusTrackingMode.Camera; + } + m_FocusTracksTarget = false; + } + + protected override void OnDestroy() + { + InvalidateCachedProfile(); + base.OnDestroy(); + } + + /// Apply PostProcessing effects + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + // Set the focus after the camera has been fully positioned. + if (stage == CinemachineCore.Stage.Finalize) + { + var extra = GetExtraState(vcam); + if (!IsValid) + extra.DestroyProfileCopy(); + else + { + var profile = m_Profile; + + // Handle Follow Focus + if (m_FocusTracking == FocusTrackingMode.None) + extra.DestroyProfileCopy(); + else + { + if (extra.mProfileCopy == null) + extra.CreateProfileCopy(m_Profile); + profile = extra.mProfileCopy; + if (profile.TryGet(out DepthOfField dof)) + { + float focusDistance = m_FocusOffset; + if (m_FocusTracking == FocusTrackingMode.LookAtTarget) + focusDistance += (state.FinalPosition - state.ReferenceLookAt).magnitude; + else + { + Transform focusTarget = null; + switch (m_FocusTracking) + { + default: break; + case FocusTrackingMode.FollowTarget: focusTarget = VirtualCamera.Follow; break; + case FocusTrackingMode.CustomTarget: focusTarget = m_FocusTarget; break; + } + if (focusTarget != null) + focusDistance += (state.FinalPosition - focusTarget.position).magnitude; + } +#if UNITY_2022_2_OR_NEWER + state.Lens.FocusDistance = +#endif + dof.focusDistance.value = Mathf.Max(0, focusDistance); + + profile.isDirty = true; + } + } + // Apply the post-processing + state.AddCustomBlendable(new CameraState.CustomBlendable(profile, 1)); + } + } + } + + static void OnCameraCut(CinemachineBrain brain) + { + //Debug.Log($"Camera cut to {brain.ActiveVirtualCamera.Name}"); + +#if CINEMACHINE_HDRP_7_3_1 + // Reset temporal effects + var cam = brain.OutputCamera; + if (cam != null) + { + HDCamera hdCam = HDCamera.GetOrCreate(cam); + hdCam.volumetricHistoryIsValid = false; + hdCam.colorPyramidHistoryIsValid = false; + hdCam.Reset(); + } +#elif CINEMACHINE_LDRP_7_3_1 + // Reset temporal effects + var cam = brain.OutputCamera; + if (cam != null) + { + HDCamera hdCam = HDCamera.GetOrCreate(cam); + hdCam.volumetricHistoryIsValid = false; + hdCam.colorPyramidHistoryIsValid = false; + hdCam.Reset(); + } +#endif + } + + static void ApplyPostFX(CinemachineBrain brain) + { + CameraState state = brain.CurrentCameraState; + int numBlendables = state.NumCustomBlendables; + var volumes = GetDynamicBrainVolumes(brain, numBlendables); + for (int i = 0; i < volumes.Count; ++i) + { + volumes[i].weight = 0; + volumes[i].sharedProfile = null; + volumes[i].profile = null; + } + Volume firstVolume = null; + int numPPblendables = 0; + for (int i = 0; i < numBlendables; ++i) + { + var b = state.GetCustomBlendable(i); + var profile = b.m_Custom as VolumeProfile; + if (!(profile == null)) // in case it was deleted + { + var v = volumes[i]; + if (firstVolume == null) + firstVolume = v; + v.sharedProfile = profile; + v.isGlobal = true; + v.priority = s_VolumePriority - (numBlendables - i) - 1; + v.weight = b.m_Weight; + ++numPPblendables; + } +#if true // set this to true to force first weight to 1 + // If more than one volume, then set the frst one's weight to 1 + if (numPPblendables > 1) + firstVolume.weight = 1; +#endif + } +// if (firstVolume != null) +// Debug.Log($"Applied post FX for {numPPblendables} PP blendables in {brain.ActiveVirtualCamera.Name}"); + } + + static string sVolumeOwnerName = "__CMVolumes"; + static List sVolumes = new List(); + static List GetDynamicBrainVolumes(CinemachineBrain brain, int minVolumes) + { + // Locate the camera's child object that holds our dynamic volumes + GameObject volumeOwner = null; + Transform t = brain.transform; + int numChildren = t.childCount; + + sVolumes.Clear(); + for (int i = 0; volumeOwner == null && i < numChildren; ++i) + { + GameObject child = t.GetChild(i).gameObject; + if (child.hideFlags == HideFlags.HideAndDontSave) + { + child.GetComponents(sVolumes); + if (sVolumes.Count > 0) + volumeOwner = child; + } + } + + if (minVolumes > 0) + { + if (volumeOwner == null) + { + volumeOwner = new GameObject(sVolumeOwnerName); + volumeOwner.hideFlags = HideFlags.HideAndDontSave; + volumeOwner.transform.parent = t; + } + + // Update the volume's layer so it will be seen +#if CINEMACHINE_HDRP + var data = brain.gameObject.GetComponent(); +#elif CINEMACHINE_LWRP_7_3_1 + var data = brain.gameObject.GetComponent(); +#endif + if (data != null) + { + int mask = data.volumeLayerMask; + for (int i = 0; i < 32; ++i) + { + if ((mask & (1 << i)) != 0) + { + volumeOwner.layer = i; + break; + } + } + } + + while (sVolumes.Count < minVolumes) + sVolumes.Add(volumeOwner.gameObject.AddComponent()); + } + return sVolumes; + } + +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoad] + class EditorInitialize { static EditorInitialize() { InitializeModule(); } } +#endif + [RuntimeInitializeOnLoadMethod] + static void InitializeModule() + { + // Afetr the brain pushes the state to the camera, hook in to the PostFX + CinemachineCore.CameraUpdatedEvent.RemoveListener(ApplyPostFX); + CinemachineCore.CameraUpdatedEvent.AddListener(ApplyPostFX); + CinemachineCore.CameraCutEvent.RemoveListener(OnCameraCut); + CinemachineCore.CameraCutEvent.AddListener(OnCameraCut); + } + } +#endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachineVolumeSettings.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachineVolumeSettings.cs.meta new file mode 100644 index 00000000..fdc22df1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/PostProcessing/CinemachineVolumeSettings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 449ef5ebbe24720439ec31d15f7b6f3d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5f2a108eb023faf43a809979fd3d38f2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty.meta new file mode 100644 index 00000000..148c3006 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b438b521cf750477d9ad76cbbffe9be3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty/clipper.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty/clipper.cs new file mode 100644 index 00000000..0175b19b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty/clipper.cs @@ -0,0 +1,4915 @@ +/******************************************************************************* +* * +* Author : Angus Johnson * +* Version : 6.4.2 * +* Date : 27 February 2017 * +* Website : http://www.angusj.com * +* Copyright : Angus Johnson 2010-2017 * +* * +* License: * +* Use, modification & distribution is subject to Boost Software License Ver 1. * +* http://www.boost.org/LICENSE_1_0.txt * +* * +* Attributions: * +* The code in this library is an extension of Bala Vatti's clipping algorithm: * +* "A generic solution to polygon clipping" * +* Communications of the ACM, Vol 35, Issue 7 (July 1992) pp 56-63. * +* http://portal.acm.org/citation.cfm?id=129906 * +* * +* Computer graphics and geometric modeling: implementation and algorithms * +* By Max K. Agoston * +* Springer; 1 edition (January 4, 2005) * +* http://books.google.com/books?q=vatti+clipping+agoston * +* * +* See also: * +* "Polygon Offsetting by Computing Winding Numbers" * +* Paper no. DETC2005-85513 pp. 565-575 * +* ASME 2005 International Design Engineering Technical Conferences * +* and Computers and Information in Engineering Conference (IDETC/CIE2005) * +* September 24-28, 2005 , Long Beach, California, USA * +* http://www.me.berkeley.edu/~mcmains/pubs/DAC05OffsetPolygon.pdf * +* * +*******************************************************************************/ + +/******************************************************************************* +* * +* This is a translation of the Delphi Clipper library and the naming style * +* used has retained a Delphi flavour. * +* * +*******************************************************************************/ + +//use_int32: When enabled 32bit ints are used instead of 64bit ints. This +//improve performance but coordinate values are limited to the range +/- 46340 +//#define use_int32 + +//use_xyz: adds a Z member to IntPoint. Adds a minor cost to performance. +//#define use_xyz + +//use_lines: Enables open path clipping. Adds a very minor cost to performance. +#define use_lines + + +using System; +using System.Collections.Generic; +//using System.Text; //for Int128.AsString() & StringBuilder +//using System.IO; //debugging with streamReader & StreamWriter +//using System.Windows.Forms; //debugging to clipboard + +namespace Cinemachine +{ +#if use_int32 + using cInt = Int32; +#else + using cInt = Int64; +#endif + + using Path = List; + using Paths = List>; + +internal static class ClipperLib +{ + public struct DoublePoint + { + public double X; + public double Y; + + public DoublePoint(double x = 0, double y = 0) + { + this.X = x; this.Y = y; + } + public DoublePoint(DoublePoint dp) + { + this.X = dp.X; this.Y = dp.Y; + } + public DoublePoint(IntPoint ip) + { + this.X = ip.X; this.Y = ip.Y; + } + }; + + + //------------------------------------------------------------------------------ + // PolyTree & PolyNode classes + //------------------------------------------------------------------------------ + + public class PolyTree : PolyNode + { + internal List m_AllPolys = new List(); + + //The GC probably handles this cleanup more efficiently ... + //~PolyTree(){Clear();} + + public void Clear() + { + for (int i = 0; i < m_AllPolys.Count; i++) + m_AllPolys[i] = null; + m_AllPolys.Clear(); + m_Childs.Clear(); + } + + public PolyNode GetFirst() + { + if (m_Childs.Count > 0) + return m_Childs[0]; + else + return null; + } + + public int Total + { + get + { + int result = m_AllPolys.Count; + //with negative offsets, ignore the hidden outer polygon ... + if (result > 0 && m_Childs[0] != m_AllPolys[0]) result--; + return result; + } + } + + } + + public class PolyNode + { + internal PolyNode m_Parent; + internal Path m_polygon = new Path(); + internal int m_Index; + internal JoinType m_jointype; + internal EndType m_endtype; + internal List m_Childs = new List(); + + private bool IsHoleNode() + { + bool result = true; + PolyNode node = m_Parent; + while (node != null) + { + result = !result; + node = node.m_Parent; + } + return result; + } + + public int ChildCount + { + get { return m_Childs.Count; } + } + + public Path Contour + { + get { return m_polygon; } + } + + internal void AddChild(PolyNode Child) + { + int cnt = m_Childs.Count; + m_Childs.Add(Child); + Child.m_Parent = this; + Child.m_Index = cnt; + } + + public PolyNode GetNext() + { + if (m_Childs.Count > 0) + return m_Childs[0]; + else + return GetNextSiblingUp(); + } + + internal PolyNode GetNextSiblingUp() + { + if (m_Parent == null) + return null; + else if (m_Index == m_Parent.m_Childs.Count - 1) + return m_Parent.GetNextSiblingUp(); + else + return m_Parent.m_Childs[m_Index + 1]; + } + + public List Childs + { + get { return m_Childs; } + } + + public PolyNode Parent + { + get { return m_Parent; } + } + + public bool IsHole + { + get { return IsHoleNode(); } + } + + public bool IsOpen { get; set; } + } + + + //------------------------------------------------------------------------------ + // Int128 struct (enables safe math on signed 64bit integers) + // eg Int128 val1((Int64)9223372036854775807); //ie 2^63 -1 + // Int128 val2((Int64)9223372036854775807); + // Int128 val3 = val1 * val2; + // val3.ToString => "85070591730234615847396907784232501249" (8.5e+37) + //------------------------------------------------------------------------------ + + internal struct Int128 + { + private Int64 hi; + private UInt64 lo; + + public Int128(Int64 _lo) + { + lo = (UInt64)_lo; + if (_lo < 0) hi = -1; + else hi = 0; + } + + public Int128(Int64 _hi, UInt64 _lo) + { + lo = _lo; + hi = _hi; + } + + public Int128(Int128 val) + { + hi = val.hi; + lo = val.lo; + } + + public bool IsNegative() + { + return hi < 0; + } + + public static bool operator ==(Int128 val1, Int128 val2) + { + if ((object)val1 == (object)val2) return true; + else if ((object)val1 == null || (object)val2 == null) return false; + return (val1.hi == val2.hi && val1.lo == val2.lo); + } + + public static bool operator !=(Int128 val1, Int128 val2) + { + return !(val1 == val2); + } + + public override bool Equals(System.Object obj) + { + if (obj == null || !(obj is Int128)) + return false; + Int128 i128 = (Int128)obj; + return (i128.hi == hi && i128.lo == lo); + } + + public override int GetHashCode() + { + return hi.GetHashCode() ^ lo.GetHashCode(); + } + + public static bool operator >(Int128 val1, Int128 val2) + { + if (val1.hi != val2.hi) + return val1.hi > val2.hi; + else + return val1.lo > val2.lo; + } + + public static bool operator <(Int128 val1, Int128 val2) + { + if (val1.hi != val2.hi) + return val1.hi < val2.hi; + else + return val1.lo < val2.lo; + } + + public static Int128 operator +(Int128 lhs, Int128 rhs) + { + lhs.hi += rhs.hi; + lhs.lo += rhs.lo; + if (lhs.lo < rhs.lo) lhs.hi++; + return lhs; + } + + public static Int128 operator -(Int128 lhs, Int128 rhs) + { + return lhs + -rhs; + } + + public static Int128 operator -(Int128 val) + { + if (val.lo == 0) + return new Int128(-val.hi, 0); + else + return new Int128(~val.hi, ~val.lo + 1); + } + + public static explicit operator double(Int128 val) + { + const double shift64 = 18446744073709551616.0; //2^64 + if (val.hi < 0) + { + if (val.lo == 0) + return (double)val.hi * shift64; + else + return -(double)(~val.lo + ~val.hi * shift64); + } + else + return (double)(val.lo + val.hi * shift64); + } + + //nb: Constructing two new Int128 objects every time we want to multiply longs + //is slow. So, although calling the Int128Mul method doesn't look as clean, the + //code runs significantly faster than if we'd used the * operator. + + public static Int128 Int128Mul(Int64 lhs, Int64 rhs) + { + bool negate = (lhs < 0) != (rhs < 0); + if (lhs < 0) lhs = -lhs; + if (rhs < 0) rhs = -rhs; + UInt64 int1Hi = (UInt64)lhs >> 32; + UInt64 int1Lo = (UInt64)lhs & 0xFFFFFFFF; + UInt64 int2Hi = (UInt64)rhs >> 32; + UInt64 int2Lo = (UInt64)rhs & 0xFFFFFFFF; + + //nb: see comments in clipper.pas + UInt64 a = int1Hi * int2Hi; + UInt64 b = int1Lo * int2Lo; + UInt64 c = int1Hi * int2Lo + int1Lo * int2Hi; + + UInt64 lo; + Int64 hi; + hi = (Int64)(a + (c >> 32)); + + unchecked { lo = (c << 32) + b; } + if (lo < b) hi++; + Int128 result = new Int128(hi, lo); + return negate ? -result : result; + } + + }; + + //------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ + + public struct IntPoint + { + public cInt X; + public cInt Y; +#if use_xyz + public cInt Z; + + public IntPoint(cInt x, cInt y, cInt z = 0) + { + this.X = x; this.Y = y; this.Z = z; + } + + public IntPoint(double x, double y, double z = 0) + { + this.X = (cInt)x; this.Y = (cInt)y; this.Z = (cInt)z; + } + + public IntPoint(DoublePoint dp) + { + this.X = (cInt)dp.X; this.Y = (cInt)dp.Y; this.Z = 0; + } + + public IntPoint(IntPoint pt) + { + this.X = pt.X; this.Y = pt.Y; this.Z = pt.Z; + } +#else + public IntPoint(cInt X, cInt Y) + { + this.X = X; this.Y = Y; + } + public IntPoint(double x, double y) + { + this.X = (cInt)x; this.Y = (cInt)y; + } + + public IntPoint(IntPoint pt) + { + this.X = pt.X; this.Y = pt.Y; + } +#endif + + public static bool operator ==(IntPoint a, IntPoint b) + { + return a.X == b.X && a.Y == b.Y; + } + + public static bool operator !=(IntPoint a, IntPoint b) + { + return a.X != b.X || a.Y != b.Y; + } + + public override bool Equals(object obj) + { + if (obj == null) return false; + if (obj is IntPoint) + { + IntPoint a = (IntPoint)obj; + return (X == a.X) && (Y == a.Y); + } + else return false; + } + + public override int GetHashCode() + { + //simply prevents a compiler warning + return base.GetHashCode(); + } + + }// end struct IntPoint + + public struct IntRect + { + public cInt left; + public cInt top; + public cInt right; + public cInt bottom; + + public IntRect(cInt l, cInt t, cInt r, cInt b) + { + this.left = l; this.top = t; + this.right = r; this.bottom = b; + } + public IntRect(IntRect ir) + { + this.left = ir.left; this.top = ir.top; + this.right = ir.right; this.bottom = ir.bottom; + } + } + + public enum ClipType { ctIntersection, ctUnion, ctDifference, ctXor }; + public enum PolyType { ptSubject, ptClip }; + + //By far the most widely used winding rules for polygon filling are + //EvenOdd & NonZero (GDI, GDI+, XLib, OpenGL, Cairo, AGG, Quartz, SVG, Gr32) + //Others rules include Positive, Negative and ABS_GTR_EQ_TWO (only in OpenGL) + //see http://glprogramming.com/red/chapter11.html + public enum PolyFillType { pftEvenOdd, pftNonZero, pftPositive, pftNegative }; + + public enum JoinType { jtSquare, jtRound, jtMiter }; + public enum EndType { etClosedPolygon, etClosedLine, etOpenButt, etOpenSquare, etOpenRound }; + + internal enum EdgeSide {esLeft, esRight}; + internal enum Direction {dRightToLeft, dLeftToRight}; + + internal class TEdge { + internal IntPoint Bot; + internal IntPoint Curr; //current (updated for every new scanbeam) + internal IntPoint Top; + internal IntPoint Delta; + internal double Dx; + internal PolyType PolyTyp; + internal EdgeSide Side; //side only refers to current side of solution poly + internal int WindDelta; //1 or -1 depending on winding direction + internal int WindCnt; + internal int WindCnt2; //winding count of the opposite polytype + internal int OutIdx; + internal TEdge Next; + internal TEdge Prev; + internal TEdge NextInLML; + internal TEdge NextInAEL; + internal TEdge PrevInAEL; + internal TEdge NextInSEL; + internal TEdge PrevInSEL; + }; + + public class IntersectNode + { + internal TEdge Edge1; + internal TEdge Edge2; + internal IntPoint Pt; + }; + + public class MyIntersectNodeSort : IComparer + { + public int Compare(IntersectNode node1, IntersectNode node2) + { + cInt i = node2.Pt.Y - node1.Pt.Y; + if (i > 0) return 1; + else if (i < 0) return -1; + else return 0; + } + } + + internal class LocalMinima + { + internal cInt Y; + internal TEdge LeftBound; + internal TEdge RightBound; + internal LocalMinima Next; + }; + + internal class Scanbeam + { + internal cInt Y; + internal Scanbeam Next; + }; + + internal class Maxima + { + internal cInt X; + internal Maxima Next; + internal Maxima Prev; + }; + + //OutRec: contains a path in the clipping solution. Edges in the AEL will + //carry a pointer to an OutRec when they are part of the clipping solution. + internal class OutRec + { + internal int Idx; + internal bool IsHole; + internal bool IsOpen; + internal OutRec FirstLeft; //see comments in clipper.pas + internal OutPt Pts; + internal OutPt BottomPt; + internal PolyNode PolyNode; + }; + + internal class OutPt + { + internal int Idx; + internal IntPoint Pt; + internal OutPt Next; + internal OutPt Prev; + }; + + internal class Join + { + internal OutPt OutPt1; + internal OutPt OutPt2; + internal IntPoint OffPt; + }; + + public class ClipperBase + { + internal const double horizontal = -3.4E+38; + internal const int Skip = -2; + internal const int Unassigned = -1; + internal const double tolerance = 1.0E-20; + internal static bool near_zero(double val){return (val > -tolerance) && (val < tolerance);} + +#if use_int32 + public const cInt loRange = 0x7FFF; + public const cInt hiRange = 0x7FFF; +#else + public const cInt loRange = 0x3FFFFFFF; + public const cInt hiRange = 0x3FFFFFFFFFFFFFFFL; +#endif + + internal LocalMinima m_MinimaList; + internal LocalMinima m_CurrentLM; + internal List> m_edges = new List>(); + internal Scanbeam m_Scanbeam; + internal List m_PolyOuts; + internal TEdge m_ActiveEdges; + internal bool m_UseFullRange; + internal bool m_HasOpenPaths; + + //------------------------------------------------------------------------------ + + public bool PreserveCollinear + { + get; + set; + } + //------------------------------------------------------------------------------ + + public void Swap(ref cInt val1, ref cInt val2) + { + cInt tmp = val1; + val1 = val2; + val2 = tmp; + } + //------------------------------------------------------------------------------ + + internal static bool IsHorizontal(TEdge e) + { + return e.Delta.Y == 0; + } + //------------------------------------------------------------------------------ + + internal bool PointIsVertex(IntPoint pt, OutPt pp) + { + OutPt pp2 = pp; + do + { + if (pp2.Pt == pt) return true; + pp2 = pp2.Next; + } + while (pp2 != pp); + return false; + } + //------------------------------------------------------------------------------ + + internal bool PointOnLineSegment(IntPoint pt, + IntPoint linePt1, IntPoint linePt2, bool UseFullRange) + { + if (UseFullRange) + return ((pt.X == linePt1.X) && (pt.Y == linePt1.Y)) || + ((pt.X == linePt2.X) && (pt.Y == linePt2.Y)) || + (((pt.X > linePt1.X) == (pt.X < linePt2.X)) && + ((pt.Y > linePt1.Y) == (pt.Y < linePt2.Y)) && + ((Int128.Int128Mul((pt.X - linePt1.X), (linePt2.Y - linePt1.Y)) == + Int128.Int128Mul((linePt2.X - linePt1.X), (pt.Y - linePt1.Y))))); + else + return ((pt.X == linePt1.X) && (pt.Y == linePt1.Y)) || + ((pt.X == linePt2.X) && (pt.Y == linePt2.Y)) || + (((pt.X > linePt1.X) == (pt.X < linePt2.X)) && + ((pt.Y > linePt1.Y) == (pt.Y < linePt2.Y)) && + ((pt.X - linePt1.X) * (linePt2.Y - linePt1.Y) == + (linePt2.X - linePt1.X) * (pt.Y - linePt1.Y))); + } + //------------------------------------------------------------------------------ + + internal bool PointOnPolygon(IntPoint pt, OutPt pp, bool UseFullRange) + { + OutPt pp2 = pp; + while (true) + { + if (PointOnLineSegment(pt, pp2.Pt, pp2.Next.Pt, UseFullRange)) + return true; + pp2 = pp2.Next; + if (pp2 == pp) break; + } + return false; + } + //------------------------------------------------------------------------------ + + internal static bool SlopesEqual(TEdge e1, TEdge e2, bool UseFullRange) + { + if (UseFullRange) + return Int128.Int128Mul(e1.Delta.Y, e2.Delta.X) == + Int128.Int128Mul(e1.Delta.X, e2.Delta.Y); + else return (cInt)(e1.Delta.Y) * (e2.Delta.X) == + (cInt)(e1.Delta.X) * (e2.Delta.Y); + } + //------------------------------------------------------------------------------ + + internal static bool SlopesEqual(IntPoint pt1, IntPoint pt2, + IntPoint pt3, bool UseFullRange) + { + if (UseFullRange) + return Int128.Int128Mul(pt1.Y - pt2.Y, pt2.X - pt3.X) == + Int128.Int128Mul(pt1.X - pt2.X, pt2.Y - pt3.Y); + else return + (cInt)(pt1.Y - pt2.Y) * (pt2.X - pt3.X) - (cInt)(pt1.X - pt2.X) * (pt2.Y - pt3.Y) == 0; + } + //------------------------------------------------------------------------------ + + internal static bool SlopesEqual(IntPoint pt1, IntPoint pt2, + IntPoint pt3, IntPoint pt4, bool UseFullRange) + { + if (UseFullRange) + return Int128.Int128Mul(pt1.Y - pt2.Y, pt3.X - pt4.X) == + Int128.Int128Mul(pt1.X - pt2.X, pt3.Y - pt4.Y); + else return + (cInt)(pt1.Y - pt2.Y) * (pt3.X - pt4.X) - (cInt)(pt1.X - pt2.X) * (pt3.Y - pt4.Y) == 0; + } + //------------------------------------------------------------------------------ + + internal ClipperBase() //constructor (nb: no external instantiation) + { + m_MinimaList = null; + m_CurrentLM = null; + m_UseFullRange = false; + m_HasOpenPaths = false; + } + //------------------------------------------------------------------------------ + + public virtual void Clear() + { + DisposeLocalMinimaList(); + for (int i = 0; i < m_edges.Count; ++i) + { + for (int j = 0; j < m_edges[i].Count; ++j) m_edges[i][j] = null; + m_edges[i].Clear(); + } + m_edges.Clear(); + m_UseFullRange = false; + m_HasOpenPaths = false; + } + //------------------------------------------------------------------------------ + + private void DisposeLocalMinimaList() + { + while( m_MinimaList != null ) + { + LocalMinima tmpLm = m_MinimaList.Next; + m_MinimaList = null; + m_MinimaList = tmpLm; + } + m_CurrentLM = null; + } + //------------------------------------------------------------------------------ + + void RangeTest(IntPoint Pt, ref bool useFullRange) + { + if (useFullRange) + { + if (Pt.X > hiRange || Pt.Y > hiRange || -Pt.X > hiRange || -Pt.Y > hiRange) + throw new ClipperException("Coordinate outside allowed range"); + } + else if (Pt.X > loRange || Pt.Y > loRange || -Pt.X > loRange || -Pt.Y > loRange) + { + useFullRange = true; + RangeTest(Pt, ref useFullRange); + } + } + //------------------------------------------------------------------------------ + + private void InitEdge(TEdge e, TEdge eNext, + TEdge ePrev, IntPoint pt) + { + e.Next = eNext; + e.Prev = ePrev; + e.Curr = pt; + e.OutIdx = Unassigned; + } + //------------------------------------------------------------------------------ + + private void InitEdge2(TEdge e, PolyType polyType) + { + if (e.Curr.Y >= e.Next.Curr.Y) + { + e.Bot = e.Curr; + e.Top = e.Next.Curr; + } + else + { + e.Top = e.Curr; + e.Bot = e.Next.Curr; + } + SetDx(e); + e.PolyTyp = polyType; + } + //------------------------------------------------------------------------------ + + private TEdge FindNextLocMin(TEdge E) + { + TEdge E2; + for (;;) + { + while (E.Bot != E.Prev.Bot || E.Curr == E.Top) E = E.Next; + if (E.Dx != horizontal && E.Prev.Dx != horizontal) break; + while (E.Prev.Dx == horizontal) E = E.Prev; + E2 = E; + while (E.Dx == horizontal) E = E.Next; + if (E.Top.Y == E.Prev.Bot.Y) continue; //ie just an intermediate horz. + if (E2.Prev.Bot.X < E.Bot.X) E = E2; + break; + } + return E; + } + //------------------------------------------------------------------------------ + + private TEdge ProcessBound(TEdge E, bool LeftBoundIsForward) + { + TEdge EStart, Result = E; + TEdge Horz; + + if (Result.OutIdx == Skip) + { + //check if there are edges beyond the skip edge in the bound and if so + //create another LocMin and calling ProcessBound once more ... + E = Result; + if (LeftBoundIsForward) + { + while (E.Top.Y == E.Next.Bot.Y) E = E.Next; + while (E != Result && E.Dx == horizontal) E = E.Prev; + } + else + { + while (E.Top.Y == E.Prev.Bot.Y) E = E.Prev; + while (E != Result && E.Dx == horizontal) E = E.Next; + } + if (E == Result) + { + if (LeftBoundIsForward) Result = E.Next; + else Result = E.Prev; + } + else + { + //there are more edges in the bound beyond result starting with E + if (LeftBoundIsForward) + E = Result.Next; + else + E = Result.Prev; + LocalMinima locMin = new LocalMinima(); + locMin.Next = null; + locMin.Y = E.Bot.Y; + locMin.LeftBound = null; + locMin.RightBound = E; + E.WindDelta = 0; + Result = ProcessBound(E, LeftBoundIsForward); + InsertLocalMinima(locMin); + } + return Result; + } + + if (E.Dx == horizontal) + { + //We need to be careful with open paths because this may not be a + //true local minima (ie E may be following a skip edge). + //Also, consecutive horz. edges may start heading left before going right. + if (LeftBoundIsForward) EStart = E.Prev; + else EStart = E.Next; + if (EStart.Dx == horizontal) //ie an adjoining horizontal skip edge + { + if (EStart.Bot.X != E.Bot.X && EStart.Top.X != E.Bot.X) + ReverseHorizontal(E); + } + else if (EStart.Bot.X != E.Bot.X) + ReverseHorizontal(E); + } + + EStart = E; + if (LeftBoundIsForward) + { + while (Result.Top.Y == Result.Next.Bot.Y && Result.Next.OutIdx != Skip) + Result = Result.Next; + if (Result.Dx == horizontal && Result.Next.OutIdx != Skip) + { + //nb: at the top of a bound, horizontals are added to the bound + //only when the preceding edge attaches to the horizontal's left vertex + //unless a Skip edge is encountered when that becomes the top divide + Horz = Result; + while (Horz.Prev.Dx == horizontal) Horz = Horz.Prev; + if (Horz.Prev.Top.X > Result.Next.Top.X) Result = Horz.Prev; + } + while (E != Result) + { + E.NextInLML = E.Next; + if (E.Dx == horizontal && E != EStart && E.Bot.X != E.Prev.Top.X) + ReverseHorizontal(E); + E = E.Next; + } + if (E.Dx == horizontal && E != EStart && E.Bot.X != E.Prev.Top.X) + ReverseHorizontal(E); + Result = Result.Next; //move to the edge just beyond current bound + } + else + { + while (Result.Top.Y == Result.Prev.Bot.Y && Result.Prev.OutIdx != Skip) + Result = Result.Prev; + if (Result.Dx == horizontal && Result.Prev.OutIdx != Skip) + { + Horz = Result; + while (Horz.Next.Dx == horizontal) Horz = Horz.Next; + if (Horz.Next.Top.X == Result.Prev.Top.X || + Horz.Next.Top.X > Result.Prev.Top.X) Result = Horz.Next; + } + + while (E != Result) + { + E.NextInLML = E.Prev; + if (E.Dx == horizontal && E != EStart && E.Bot.X != E.Next.Top.X) + ReverseHorizontal(E); + E = E.Prev; + } + if (E.Dx == horizontal && E != EStart && E.Bot.X != E.Next.Top.X) + ReverseHorizontal(E); + Result = Result.Prev; //move to the edge just beyond current bound + } + return Result; + } + //------------------------------------------------------------------------------ + + + public bool AddPath(Path pg, PolyType polyType, bool Closed) + { +#if use_lines + if (!Closed && polyType == PolyType.ptClip) + throw new ClipperException("AddPath: Open paths must be subject."); +#else + if (!Closed) + throw new ClipperException("AddPath: Open paths have been disabled."); +#endif + + int highI = (int)pg.Count - 1; + if (Closed) while (highI > 0 && (pg[highI] == pg[0])) --highI; + while (highI > 0 && (pg[highI] == pg[highI - 1])) --highI; + if ((Closed && highI < 2) || (!Closed && highI < 1)) return false; + + //create a new edge array ... + List edges = new List(highI+1); + for (int i = 0; i <= highI; i++) edges.Add(new TEdge()); + + bool IsFlat = true; + + //1. Basic (first) edge initialization ... + edges[1].Curr = pg[1]; + RangeTest(pg[0], ref m_UseFullRange); + RangeTest(pg[highI], ref m_UseFullRange); + InitEdge(edges[0], edges[1], edges[highI], pg[0]); + InitEdge(edges[highI], edges[0], edges[highI - 1], pg[highI]); + for (int i = highI - 1; i >= 1; --i) + { + RangeTest(pg[i], ref m_UseFullRange); + InitEdge(edges[i], edges[i + 1], edges[i - 1], pg[i]); + } + TEdge eStart = edges[0]; + + //2. Remove duplicate vertices, and (when closed) collinear edges ... + TEdge E = eStart, eLoopStop = eStart; + for (;;) + { + //nb: allows matching start and end points when not Closed ... + if (E.Curr == E.Next.Curr && (Closed || E.Next != eStart)) + { + if (E == E.Next) break; + if (E == eStart) eStart = E.Next; + E = RemoveEdge(E); + eLoopStop = E; + continue; + } + if (E.Prev == E.Next) + break; //only two vertices + else if (Closed && + SlopesEqual(E.Prev.Curr, E.Curr, E.Next.Curr, m_UseFullRange) && + (!PreserveCollinear || + !Pt2IsBetweenPt1AndPt3(E.Prev.Curr, E.Curr, E.Next.Curr))) + { + //Collinear edges are allowed for open paths but in closed paths + //the default is to merge adjacent collinear edges into a single edge. + //However, if the PreserveCollinear property is enabled, only overlapping + //collinear edges (ie spikes) will be removed from closed paths. + if (E == eStart) eStart = E.Next; + E = RemoveEdge(E); + E = E.Prev; + eLoopStop = E; + continue; + } + E = E.Next; + if ((E == eLoopStop) || (!Closed && E.Next == eStart)) break; + } + + if ((!Closed && (E == E.Next)) || (Closed && (E.Prev == E.Next))) + return false; + + if (!Closed) + { + m_HasOpenPaths = true; + eStart.Prev.OutIdx = Skip; + } + + //3. Do second stage of edge initialization ... + E = eStart; + do + { + InitEdge2(E, polyType); + E = E.Next; + if (IsFlat && E.Curr.Y != eStart.Curr.Y) IsFlat = false; + } + while (E != eStart); + + //4. Finally, add edge bounds to LocalMinima list ... + + //Totally flat paths must be handled differently when adding them + //to LocalMinima list to avoid endless loops etc ... + if (IsFlat) + { + if (Closed) return false; + E.Prev.OutIdx = Skip; + LocalMinima locMin = new LocalMinima(); + locMin.Next = null; + locMin.Y = E.Bot.Y; + locMin.LeftBound = null; + locMin.RightBound = E; + locMin.RightBound.Side = EdgeSide.esRight; + locMin.RightBound.WindDelta = 0; + for ( ; ; ) + { + if (E.Bot.X != E.Prev.Top.X) ReverseHorizontal(E); + if (E.Next.OutIdx == Skip) break; + E.NextInLML = E.Next; + E = E.Next; + } + InsertLocalMinima(locMin); + m_edges.Add(edges); + return true; + } + + m_edges.Add(edges); + bool leftBoundIsForward; + TEdge EMin = null; + + //workaround to avoid an endless loop in the while loop below when + //open paths have matching start and end points ... + if (E.Prev.Bot == E.Prev.Top) E = E.Next; + + for (;;) + { + E = FindNextLocMin(E); + if (E == EMin) break; + else if (EMin == null) EMin = E; + + //E and E.Prev now share a local minima (left aligned if horizontal). + //Compare their slopes to find which starts which bound ... + LocalMinima locMin = new LocalMinima(); + locMin.Next = null; + locMin.Y = E.Bot.Y; + if (E.Dx < E.Prev.Dx) + { + locMin.LeftBound = E.Prev; + locMin.RightBound = E; + leftBoundIsForward = false; //Q.nextInLML = Q.prev + } else + { + locMin.LeftBound = E; + locMin.RightBound = E.Prev; + leftBoundIsForward = true; //Q.nextInLML = Q.next + } + locMin.LeftBound.Side = EdgeSide.esLeft; + locMin.RightBound.Side = EdgeSide.esRight; + + if (!Closed) locMin.LeftBound.WindDelta = 0; + else if (locMin.LeftBound.Next == locMin.RightBound) + locMin.LeftBound.WindDelta = -1; + else locMin.LeftBound.WindDelta = 1; + locMin.RightBound.WindDelta = -locMin.LeftBound.WindDelta; + + E = ProcessBound(locMin.LeftBound, leftBoundIsForward); + if (E.OutIdx == Skip) E = ProcessBound(E, leftBoundIsForward); + + TEdge E2 = ProcessBound(locMin.RightBound, !leftBoundIsForward); + if (E2.OutIdx == Skip) E2 = ProcessBound(E2, !leftBoundIsForward); + + if (locMin.LeftBound.OutIdx == Skip) + locMin.LeftBound = null; + else if (locMin.RightBound.OutIdx == Skip) + locMin.RightBound = null; + InsertLocalMinima(locMin); + if (!leftBoundIsForward) E = E2; + } + return true; + + } + //------------------------------------------------------------------------------ + + public bool AddPaths(Paths ppg, PolyType polyType, bool closed) + { + bool result = false; + for (int i = 0; i < ppg.Count; ++i) + if (AddPath(ppg[i], polyType, closed)) result = true; + return result; + } + //------------------------------------------------------------------------------ + + internal bool Pt2IsBetweenPt1AndPt3(IntPoint pt1, IntPoint pt2, IntPoint pt3) + { + if ((pt1 == pt3) || (pt1 == pt2) || (pt3 == pt2)) return false; + else if (pt1.X != pt3.X) return (pt2.X > pt1.X) == (pt2.X < pt3.X); + else return (pt2.Y > pt1.Y) == (pt2.Y < pt3.Y); + } + //------------------------------------------------------------------------------ + + TEdge RemoveEdge(TEdge e) + { + //removes e from double_linked_list (but without removing from memory) + e.Prev.Next = e.Next; + e.Next.Prev = e.Prev; + TEdge result = e.Next; + e.Prev = null; //flag as removed (see ClipperBase.Clear) + return result; + } + //------------------------------------------------------------------------------ + + private void SetDx(TEdge e) + { + e.Delta.X = (e.Top.X - e.Bot.X); + e.Delta.Y = (e.Top.Y - e.Bot.Y); + if (e.Delta.Y == 0) e.Dx = horizontal; + else e.Dx = (double)(e.Delta.X) / (e.Delta.Y); + } + //--------------------------------------------------------------------------- + + private void InsertLocalMinima(LocalMinima newLm) + { + if( m_MinimaList == null ) + { + m_MinimaList = newLm; + } + else if( newLm.Y >= m_MinimaList.Y ) + { + newLm.Next = m_MinimaList; + m_MinimaList = newLm; + } else + { + LocalMinima tmpLm = m_MinimaList; + while( tmpLm.Next != null && ( newLm.Y < tmpLm.Next.Y ) ) + tmpLm = tmpLm.Next; + newLm.Next = tmpLm.Next; + tmpLm.Next = newLm; + } + } + //------------------------------------------------------------------------------ + + internal Boolean PopLocalMinima(cInt Y, out LocalMinima current) + { + current = m_CurrentLM; + if (m_CurrentLM != null && m_CurrentLM.Y == Y) + { + m_CurrentLM = m_CurrentLM.Next; + return true; + } + return false; + } + //------------------------------------------------------------------------------ + + private void ReverseHorizontal(TEdge e) + { + //swap horizontal edges' top and bottom x's so they follow the natural + //progression of the bounds - ie so their xbots will align with the + //adjoining lower edge. [Helpful in the ProcessHorizontal() method.] + Swap(ref e.Top.X, ref e.Bot.X); +#if use_xyz + Swap(ref e.Top.Z, ref e.Bot.Z); +#endif + } + //------------------------------------------------------------------------------ + + internal virtual void Reset() + { + m_CurrentLM = m_MinimaList; + if (m_CurrentLM == null) return; //ie nothing to process + + //reset all edges ... + m_Scanbeam = null; + LocalMinima lm = m_MinimaList; + while (lm != null) + { + InsertScanbeam(lm.Y); + TEdge e = lm.LeftBound; + if (e != null) + { + e.Curr = e.Bot; + e.OutIdx = Unassigned; + } + e = lm.RightBound; + if (e != null) + { + e.Curr = e.Bot; + e.OutIdx = Unassigned; + } + lm = lm.Next; + } + m_ActiveEdges = null; + } + //------------------------------------------------------------------------------ + + public static IntRect GetBounds(Paths paths) + { + int i = 0, cnt = paths.Count; + while (i < cnt && paths[i].Count == 0) i++; + if (i == cnt) return new IntRect(0,0,0,0); + IntRect result = new IntRect(); + result.left = paths[i][0].X; + result.right = result.left; + result.top = paths[i][0].Y; + result.bottom = result.top; + for (; i < cnt; i++) + for (int j = 0; j < paths[i].Count; j++) + { + if (paths[i][j].X < result.left) result.left = paths[i][j].X; + else if (paths[i][j].X > result.right) result.right = paths[i][j].X; + if (paths[i][j].Y < result.top) result.top = paths[i][j].Y; + else if (paths[i][j].Y > result.bottom) result.bottom = paths[i][j].Y; + } + return result; + } + //------------------------------------------------------------------------------ + + internal void InsertScanbeam(cInt Y) + { + //single-linked list: sorted descending, ignoring dups. + if (m_Scanbeam == null) + { + m_Scanbeam = new Scanbeam(); + m_Scanbeam.Next = null; + m_Scanbeam.Y = Y; + } + else if (Y > m_Scanbeam.Y) + { + Scanbeam newSb = new Scanbeam(); + newSb.Y = Y; + newSb.Next = m_Scanbeam; + m_Scanbeam = newSb; + } + else + { + Scanbeam sb2 = m_Scanbeam; + while (sb2.Next != null && (Y <= sb2.Next.Y)) sb2 = sb2.Next; + if (Y == sb2.Y) return; //ie ignores duplicates + Scanbeam newSb = new Scanbeam(); + newSb.Y = Y; + newSb.Next = sb2.Next; + sb2.Next = newSb; + } + } + //------------------------------------------------------------------------------ + + internal Boolean PopScanbeam(out cInt Y) + { + if (m_Scanbeam == null) + { + Y = 0; + return false; + } + Y = m_Scanbeam.Y; + m_Scanbeam = m_Scanbeam.Next; + return true; + } + //------------------------------------------------------------------------------ + + internal Boolean LocalMinimaPending() + { + return (m_CurrentLM != null); + } + //------------------------------------------------------------------------------ + + internal OutRec CreateOutRec() + { + OutRec result = new OutRec(); + result.Idx = Unassigned; + result.IsHole = false; + result.IsOpen = false; + result.FirstLeft = null; + result.Pts = null; + result.BottomPt = null; + result.PolyNode = null; + m_PolyOuts.Add(result); + result.Idx = m_PolyOuts.Count - 1; + return result; + } + //------------------------------------------------------------------------------ + + internal void DisposeOutRec(int index) + { + OutRec outRec = m_PolyOuts[index]; + outRec.Pts = null; + outRec = null; + m_PolyOuts[index] = null; + } + //------------------------------------------------------------------------------ + + internal void UpdateEdgeIntoAEL(ref TEdge e) + { + if (e.NextInLML == null) + throw new ClipperException("UpdateEdgeIntoAEL: invalid call"); + TEdge AelPrev = e.PrevInAEL; + TEdge AelNext = e.NextInAEL; + e.NextInLML.OutIdx = e.OutIdx; + if (AelPrev != null) + AelPrev.NextInAEL = e.NextInLML; + else m_ActiveEdges = e.NextInLML; + if (AelNext != null) + AelNext.PrevInAEL = e.NextInLML; + e.NextInLML.Side = e.Side; + e.NextInLML.WindDelta = e.WindDelta; + e.NextInLML.WindCnt = e.WindCnt; + e.NextInLML.WindCnt2 = e.WindCnt2; + e = e.NextInLML; + e.Curr = e.Bot; + e.PrevInAEL = AelPrev; + e.NextInAEL = AelNext; + if (!IsHorizontal(e)) InsertScanbeam(e.Top.Y); + } + //------------------------------------------------------------------------------ + + internal void SwapPositionsInAEL(TEdge edge1, TEdge edge2) + { + //check that one or other edge hasn't already been removed from AEL ... + if (edge1.NextInAEL == edge1.PrevInAEL || + edge2.NextInAEL == edge2.PrevInAEL) return; + + if (edge1.NextInAEL == edge2) + { + TEdge next = edge2.NextInAEL; + if (next != null) + next.PrevInAEL = edge1; + TEdge prev = edge1.PrevInAEL; + if (prev != null) + prev.NextInAEL = edge2; + edge2.PrevInAEL = prev; + edge2.NextInAEL = edge1; + edge1.PrevInAEL = edge2; + edge1.NextInAEL = next; + } + else if (edge2.NextInAEL == edge1) + { + TEdge next = edge1.NextInAEL; + if (next != null) + next.PrevInAEL = edge2; + TEdge prev = edge2.PrevInAEL; + if (prev != null) + prev.NextInAEL = edge1; + edge1.PrevInAEL = prev; + edge1.NextInAEL = edge2; + edge2.PrevInAEL = edge1; + edge2.NextInAEL = next; + } + else + { + TEdge next = edge1.NextInAEL; + TEdge prev = edge1.PrevInAEL; + edge1.NextInAEL = edge2.NextInAEL; + if (edge1.NextInAEL != null) + edge1.NextInAEL.PrevInAEL = edge1; + edge1.PrevInAEL = edge2.PrevInAEL; + if (edge1.PrevInAEL != null) + edge1.PrevInAEL.NextInAEL = edge1; + edge2.NextInAEL = next; + if (edge2.NextInAEL != null) + edge2.NextInAEL.PrevInAEL = edge2; + edge2.PrevInAEL = prev; + if (edge2.PrevInAEL != null) + edge2.PrevInAEL.NextInAEL = edge2; + } + + if (edge1.PrevInAEL == null) + m_ActiveEdges = edge1; + else if (edge2.PrevInAEL == null) + m_ActiveEdges = edge2; + } + //------------------------------------------------------------------------------ + + internal void DeleteFromAEL(TEdge e) + { + TEdge AelPrev = e.PrevInAEL; + TEdge AelNext = e.NextInAEL; + if (AelPrev == null && AelNext == null && (e != m_ActiveEdges)) + return; //already deleted + if (AelPrev != null) + AelPrev.NextInAEL = AelNext; + else m_ActiveEdges = AelNext; + if (AelNext != null) + AelNext.PrevInAEL = AelPrev; + e.NextInAEL = null; + e.PrevInAEL = null; + } + //------------------------------------------------------------------------------ + + } //end ClipperBase + + public class Clipper : ClipperBase + { + //InitOptions that can be passed to the constructor ... + public const int ioReverseSolution = 1; + public const int ioStrictlySimple = 2; + public const int ioPreserveCollinear = 4; + + private ClipType m_ClipType; + private Maxima m_Maxima; + private TEdge m_SortedEdges; + private List m_IntersectList; + IComparer m_IntersectNodeComparer; + private bool m_ExecuteLocked; + private PolyFillType m_ClipFillType; + private PolyFillType m_SubjFillType; + private List m_Joins; + private List m_GhostJoins; + private bool m_UsingPolyTree; +#if use_xyz + public delegate void ZFillCallback(IntPoint bot1, IntPoint top1, + IntPoint bot2, IntPoint top2, ref IntPoint pt); + public ZFillCallback ZFillFunction { get; set; } +#endif + public Clipper(int InitOptions = 0): base() //constructor + { + m_Scanbeam = null; + m_Maxima = null; + m_ActiveEdges = null; + m_SortedEdges = null; + m_IntersectList = new List(); + m_IntersectNodeComparer = new MyIntersectNodeSort(); + m_ExecuteLocked = false; + m_UsingPolyTree = false; + m_PolyOuts = new List(); + m_Joins = new List(); + m_GhostJoins = new List(); + ReverseSolution = (ioReverseSolution & InitOptions) != 0; + StrictlySimple = (ioStrictlySimple & InitOptions) != 0; + PreserveCollinear = (ioPreserveCollinear & InitOptions) != 0; +#if use_xyz + ZFillFunction = null; +#endif + } + //------------------------------------------------------------------------------ + + private void InsertMaxima(cInt X) + { + //double-linked list: sorted ascending, ignoring dups. + Maxima newMax = new Maxima(); + newMax.X = X; + if (m_Maxima == null) + { + m_Maxima = newMax; + m_Maxima.Next = null; + m_Maxima.Prev = null; + } + else if (X < m_Maxima.X) + { + newMax.Next = m_Maxima; + newMax.Prev = null; + m_Maxima = newMax; + } + else + { + Maxima m = m_Maxima; + while (m.Next != null && (X >= m.Next.X)) m = m.Next; + if (X == m.X) return; //ie ignores duplicates (& CG to clean up newMax) + //insert newMax between m and m.Next ... + newMax.Next = m.Next; + newMax.Prev = m; + if (m.Next != null) m.Next.Prev = newMax; + m.Next = newMax; + } + } + //------------------------------------------------------------------------------ + + public bool ReverseSolution + { + get; + set; + } + //------------------------------------------------------------------------------ + + public bool StrictlySimple + { + get; + set; + } + //------------------------------------------------------------------------------ + + public bool Execute(ClipType clipType, Paths solution, + PolyFillType FillType = PolyFillType.pftEvenOdd) + { + return Execute(clipType, solution, FillType, FillType); + } + //------------------------------------------------------------------------------ + + public bool Execute(ClipType clipType, PolyTree polytree, + PolyFillType FillType = PolyFillType.pftEvenOdd) + { + return Execute(clipType, polytree, FillType, FillType); + } + //------------------------------------------------------------------------------ + + public bool Execute(ClipType clipType, Paths solution, + PolyFillType subjFillType, PolyFillType clipFillType) + { + if (m_ExecuteLocked) return false; + if (m_HasOpenPaths) throw + new ClipperException("Error: PolyTree struct is needed for open path clipping."); + + m_ExecuteLocked = true; + solution.Clear(); + m_SubjFillType = subjFillType; + m_ClipFillType = clipFillType; + m_ClipType = clipType; + m_UsingPolyTree = false; + bool succeeded; + try + { + succeeded = ExecuteInternal(); + //build the return polygons ... + if (succeeded) BuildResult(solution); + } + finally + { + DisposeAllPolyPts(); + m_ExecuteLocked = false; + } + return succeeded; + } + //------------------------------------------------------------------------------ + + public bool Execute(ClipType clipType, PolyTree polytree, + PolyFillType subjFillType, PolyFillType clipFillType) + { + if (m_ExecuteLocked) return false; + m_ExecuteLocked = true; + m_SubjFillType = subjFillType; + m_ClipFillType = clipFillType; + m_ClipType = clipType; + m_UsingPolyTree = true; + bool succeeded; + try + { + succeeded = ExecuteInternal(); + //build the return polygons ... + if (succeeded) BuildResult2(polytree); + } + finally + { + DisposeAllPolyPts(); + m_ExecuteLocked = false; + } + return succeeded; + } + //------------------------------------------------------------------------------ + + internal void FixHoleLinkage(OutRec outRec) + { + //skip if an outermost polygon or + //already already points to the correct FirstLeft ... + if (outRec.FirstLeft == null || + (outRec.IsHole != outRec.FirstLeft.IsHole && + outRec.FirstLeft.Pts != null)) return; + + OutRec orfl = outRec.FirstLeft; + while (orfl != null && ((orfl.IsHole == outRec.IsHole) || orfl.Pts == null)) + orfl = orfl.FirstLeft; + outRec.FirstLeft = orfl; + } + //------------------------------------------------------------------------------ + + private bool ExecuteInternal() + { + try + { + Reset(); + m_SortedEdges = null; + m_Maxima = null; + + cInt botY, topY; + if (!PopScanbeam(out botY)) return false; + InsertLocalMinimaIntoAEL(botY); + while (PopScanbeam(out topY) || LocalMinimaPending()) + { + ProcessHorizontals(); + m_GhostJoins.Clear(); + if (!ProcessIntersections(topY)) return false; + ProcessEdgesAtTopOfScanbeam(topY); + botY = topY; + InsertLocalMinimaIntoAEL(botY); + } + + //fix orientations ... + foreach (OutRec outRec in m_PolyOuts) + { + if (outRec.Pts == null || outRec.IsOpen) continue; + if ((outRec.IsHole ^ ReverseSolution) == (Area(outRec) > 0)) + ReversePolyPtLinks(outRec.Pts); + } + + JoinCommonEdges(); + + foreach (OutRec outRec in m_PolyOuts) + { + if (outRec.Pts == null) + continue; + else if (outRec.IsOpen) + FixupOutPolyline(outRec); + else + FixupOutPolygon(outRec); + } + + if (StrictlySimple) DoSimplePolygons(); + return true; + } + //catch { return false; } + finally + { + m_Joins.Clear(); + m_GhostJoins.Clear(); + } + } + //------------------------------------------------------------------------------ + + private void DisposeAllPolyPts(){ + for (int i = 0; i < m_PolyOuts.Count; ++i) DisposeOutRec(i); + m_PolyOuts.Clear(); + } + //------------------------------------------------------------------------------ + + private void AddJoin(OutPt Op1, OutPt Op2, IntPoint OffPt) + { + Join j = new Join(); + j.OutPt1 = Op1; + j.OutPt2 = Op2; + j.OffPt = OffPt; + m_Joins.Add(j); + } + //------------------------------------------------------------------------------ + + private void AddGhostJoin(OutPt Op, IntPoint OffPt) + { + Join j = new Join(); + j.OutPt1 = Op; + j.OffPt = OffPt; + m_GhostJoins.Add(j); + } + //------------------------------------------------------------------------------ + +#if use_xyz + internal void SetZ(ref IntPoint pt, TEdge e1, TEdge e2) + { + if (pt.Z != 0 || ZFillFunction == null) return; + else if (pt == e1.Bot) pt.Z = e1.Bot.Z; + else if (pt == e1.Top) pt.Z = e1.Top.Z; + else if (pt == e2.Bot) pt.Z = e2.Bot.Z; + else if (pt == e2.Top) pt.Z = e2.Top.Z; + else ZFillFunction(e1.Bot, e1.Top, e2.Bot, e2.Top, ref pt); + } + //------------------------------------------------------------------------------ +#endif + + private void InsertLocalMinimaIntoAEL(cInt botY) + { + LocalMinima lm; + while (PopLocalMinima(botY, out lm)) + { + TEdge lb = lm.LeftBound; + TEdge rb = lm.RightBound; + + OutPt Op1 = null; + if (lb == null) + { + InsertEdgeIntoAEL(rb, null); + SetWindingCount(rb); + if (IsContributing(rb)) + Op1 = AddOutPt(rb, rb.Bot); + } + else if (rb == null) + { + InsertEdgeIntoAEL(lb, null); + SetWindingCount(lb); + if (IsContributing(lb)) + Op1 = AddOutPt(lb, lb.Bot); + InsertScanbeam(lb.Top.Y); + } + else + { + InsertEdgeIntoAEL(lb, null); + InsertEdgeIntoAEL(rb, lb); + SetWindingCount(lb); + rb.WindCnt = lb.WindCnt; + rb.WindCnt2 = lb.WindCnt2; + if (IsContributing(lb)) + Op1 = AddLocalMinPoly(lb, rb, lb.Bot); + InsertScanbeam(lb.Top.Y); + } + + if (rb != null) + { + if (IsHorizontal(rb)) + { + if (rb.NextInLML != null) + InsertScanbeam(rb.NextInLML.Top.Y); + AddEdgeToSEL(rb); + } + else + InsertScanbeam(rb.Top.Y); + } + + if (lb == null || rb == null) continue; + + //if output polygons share an Edge with a horizontal rb, they'll need joining later ... + if (Op1 != null && IsHorizontal(rb) && + m_GhostJoins.Count > 0 && rb.WindDelta != 0) + { + for (int i = 0; i < m_GhostJoins.Count; i++) + { + //if the horizontal Rb and a 'ghost' horizontal overlap, then convert + //the 'ghost' join to a real join ready for later ... + Join j = m_GhostJoins[i]; + if (HorzSegmentsOverlap(j.OutPt1.Pt.X, j.OffPt.X, rb.Bot.X, rb.Top.X)) + AddJoin(j.OutPt1, Op1, j.OffPt); + } + } + + if (lb.OutIdx >= 0 && lb.PrevInAEL != null && + lb.PrevInAEL.Curr.X == lb.Bot.X && + lb.PrevInAEL.OutIdx >= 0 && + SlopesEqual(lb.PrevInAEL.Curr, lb.PrevInAEL.Top, lb.Curr, lb.Top, m_UseFullRange) && + lb.WindDelta != 0 && lb.PrevInAEL.WindDelta != 0) + { + OutPt Op2 = AddOutPt(lb.PrevInAEL, lb.Bot); + AddJoin(Op1, Op2, lb.Top); + } + + if( lb.NextInAEL != rb ) + { + + if (rb.OutIdx >= 0 && rb.PrevInAEL.OutIdx >= 0 && + SlopesEqual(rb.PrevInAEL.Curr, rb.PrevInAEL.Top, rb.Curr, rb.Top, m_UseFullRange) && + rb.WindDelta != 0 && rb.PrevInAEL.WindDelta != 0) + { + OutPt Op2 = AddOutPt(rb.PrevInAEL, rb.Bot); + AddJoin(Op1, Op2, rb.Top); + } + + TEdge e = lb.NextInAEL; + if (e != null) + while (e != rb) + { + //nb: For calculating winding counts etc, IntersectEdges() assumes + //that param1 will be to the right of param2 ABOVE the intersection ... + IntersectEdges(rb, e, lb.Curr); //order important here + e = e.NextInAEL; + } + } + } + } + //------------------------------------------------------------------------------ + + private void InsertEdgeIntoAEL(TEdge edge, TEdge startEdge) + { + if (m_ActiveEdges == null) + { + edge.PrevInAEL = null; + edge.NextInAEL = null; + m_ActiveEdges = edge; + } + else if (startEdge == null && E2InsertsBeforeE1(m_ActiveEdges, edge)) + { + edge.PrevInAEL = null; + edge.NextInAEL = m_ActiveEdges; + m_ActiveEdges.PrevInAEL = edge; + m_ActiveEdges = edge; + } + else + { + if (startEdge == null) startEdge = m_ActiveEdges; + while (startEdge.NextInAEL != null && + !E2InsertsBeforeE1(startEdge.NextInAEL, edge)) + startEdge = startEdge.NextInAEL; + edge.NextInAEL = startEdge.NextInAEL; + if (startEdge.NextInAEL != null) startEdge.NextInAEL.PrevInAEL = edge; + edge.PrevInAEL = startEdge; + startEdge.NextInAEL = edge; + } + } + //---------------------------------------------------------------------- + + private bool E2InsertsBeforeE1(TEdge e1, TEdge e2) + { + if (e2.Curr.X == e1.Curr.X) + { + if (e2.Top.Y > e1.Top.Y) + return e2.Top.X < TopX(e1, e2.Top.Y); + else return e1.Top.X > TopX(e2, e1.Top.Y); + } + else return e2.Curr.X < e1.Curr.X; + } + //------------------------------------------------------------------------------ + + private bool IsEvenOddFillType(TEdge edge) + { + if (edge.PolyTyp == PolyType.ptSubject) + return m_SubjFillType == PolyFillType.pftEvenOdd; + else + return m_ClipFillType == PolyFillType.pftEvenOdd; + } + //------------------------------------------------------------------------------ + + private bool IsEvenOddAltFillType(TEdge edge) + { + if (edge.PolyTyp == PolyType.ptSubject) + return m_ClipFillType == PolyFillType.pftEvenOdd; + else + return m_SubjFillType == PolyFillType.pftEvenOdd; + } + //------------------------------------------------------------------------------ + + private bool IsContributing(TEdge edge) + { + PolyFillType pft, pft2; + if (edge.PolyTyp == PolyType.ptSubject) + { + pft = m_SubjFillType; + pft2 = m_ClipFillType; + } + else + { + pft = m_ClipFillType; + pft2 = m_SubjFillType; + } + + switch (pft) + { + case PolyFillType.pftEvenOdd: + //return false if a subj line has been flagged as inside a subj polygon + if (edge.WindDelta == 0 && edge.WindCnt != 1) return false; + break; + case PolyFillType.pftNonZero: + if (Math.Abs(edge.WindCnt) != 1) return false; + break; + case PolyFillType.pftPositive: + if (edge.WindCnt != 1) return false; + break; + default: //PolyFillType.pftNegative + if (edge.WindCnt != -1) return false; + break; + } + + switch (m_ClipType) + { + case ClipType.ctIntersection: + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return (edge.WindCnt2 != 0); + case PolyFillType.pftPositive: + return (edge.WindCnt2 > 0); + default: + return (edge.WindCnt2 < 0); + } + case ClipType.ctUnion: + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return (edge.WindCnt2 == 0); + case PolyFillType.pftPositive: + return (edge.WindCnt2 <= 0); + default: + return (edge.WindCnt2 >= 0); + } + case ClipType.ctDifference: + if (edge.PolyTyp == PolyType.ptSubject) + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return (edge.WindCnt2 == 0); + case PolyFillType.pftPositive: + return (edge.WindCnt2 <= 0); + default: + return (edge.WindCnt2 >= 0); + } + else + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return (edge.WindCnt2 != 0); + case PolyFillType.pftPositive: + return (edge.WindCnt2 > 0); + default: + return (edge.WindCnt2 < 0); + } + case ClipType.ctXor: + if (edge.WindDelta == 0) //XOr always contributing unless open + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return (edge.WindCnt2 == 0); + case PolyFillType.pftPositive: + return (edge.WindCnt2 <= 0); + default: + return (edge.WindCnt2 >= 0); + } + else + return true; + } + return true; + } + //------------------------------------------------------------------------------ + + private void SetWindingCount(TEdge edge) + { + TEdge e = edge.PrevInAEL; + //find the edge of the same polytype that immediately preceeds 'edge' in AEL + while (e != null && ((e.PolyTyp != edge.PolyTyp) || (e.WindDelta == 0))) e = e.PrevInAEL; + if (e == null) + { + PolyFillType pft; + pft = (edge.PolyTyp == PolyType.ptSubject ? m_SubjFillType : m_ClipFillType); + if (edge.WindDelta == 0) edge.WindCnt = (pft == PolyFillType.pftNegative ? -1 : 1); + else edge.WindCnt = edge.WindDelta; + edge.WindCnt2 = 0; + e = m_ActiveEdges; //ie get ready to calc WindCnt2 + } + else if (edge.WindDelta == 0 && m_ClipType != ClipType.ctUnion) + { + edge.WindCnt = 1; + edge.WindCnt2 = e.WindCnt2; + e = e.NextInAEL; //ie get ready to calc WindCnt2 + } + else if (IsEvenOddFillType(edge)) + { + //EvenOdd filling ... + if (edge.WindDelta == 0) + { + //are we inside a subj polygon ... + bool Inside = true; + TEdge e2 = e.PrevInAEL; + while (e2 != null) + { + if (e2.PolyTyp == e.PolyTyp && e2.WindDelta != 0) + Inside = !Inside; + e2 = e2.PrevInAEL; + } + edge.WindCnt = (Inside ? 0 : 1); + } + else + { + edge.WindCnt = edge.WindDelta; + } + edge.WindCnt2 = e.WindCnt2; + e = e.NextInAEL; //ie get ready to calc WindCnt2 + } + else + { + //nonZero, Positive or Negative filling ... + if (e.WindCnt * e.WindDelta < 0) + { + //prev edge is 'decreasing' WindCount (WC) toward zero + //so we're outside the previous polygon ... + if (Math.Abs(e.WindCnt) > 1) + { + //outside prev poly but still inside another. + //when reversing direction of prev poly use the same WC + if (e.WindDelta * edge.WindDelta < 0) edge.WindCnt = e.WindCnt; + //otherwise continue to 'decrease' WC ... + else edge.WindCnt = e.WindCnt + edge.WindDelta; + } + else + //now outside all polys of same polytype so set own WC ... + edge.WindCnt = (edge.WindDelta == 0 ? 1 : edge.WindDelta); + } + else + { + //prev edge is 'increasing' WindCount (WC) away from zero + //so we're inside the previous polygon ... + if (edge.WindDelta == 0) + edge.WindCnt = (e.WindCnt < 0 ? e.WindCnt - 1 : e.WindCnt + 1); + //if wind direction is reversing prev then use same WC + else if (e.WindDelta * edge.WindDelta < 0) + edge.WindCnt = e.WindCnt; + //otherwise add to WC ... + else edge.WindCnt = e.WindCnt + edge.WindDelta; + } + edge.WindCnt2 = e.WindCnt2; + e = e.NextInAEL; //ie get ready to calc WindCnt2 + } + + //update WindCnt2 ... + if (IsEvenOddAltFillType(edge)) + { + //EvenOdd filling ... + while (e != edge) + { + if (e.WindDelta != 0) + edge.WindCnt2 = (edge.WindCnt2 == 0 ? 1 : 0); + e = e.NextInAEL; + } + } + else + { + //nonZero, Positive or Negative filling ... + while (e != edge) + { + edge.WindCnt2 += e.WindDelta; + e = e.NextInAEL; + } + } + } + //------------------------------------------------------------------------------ + + private void AddEdgeToSEL(TEdge edge) + { + //SEL pointers in PEdge are use to build transient lists of horizontal edges. + //However, since we don't need to worry about processing order, all additions + //are made to the front of the list ... + if (m_SortedEdges == null) + { + m_SortedEdges = edge; + edge.PrevInSEL = null; + edge.NextInSEL = null; + } + else + { + edge.NextInSEL = m_SortedEdges; + edge.PrevInSEL = null; + m_SortedEdges.PrevInSEL = edge; + m_SortedEdges = edge; + } + } + //------------------------------------------------------------------------------ + + internal Boolean PopEdgeFromSEL(out TEdge e) + { + //Pop edge from front of SEL (ie SEL is a FILO list) + e = m_SortedEdges; + if (e == null) return false; + TEdge oldE = e; + m_SortedEdges = e.NextInSEL; + if (m_SortedEdges != null) m_SortedEdges.PrevInSEL = null; + oldE.NextInSEL = null; + oldE.PrevInSEL = null; + return true; + } + //------------------------------------------------------------------------------ + + private void CopyAELToSEL() + { + TEdge e = m_ActiveEdges; + m_SortedEdges = e; + while (e != null) + { + e.PrevInSEL = e.PrevInAEL; + e.NextInSEL = e.NextInAEL; + e = e.NextInAEL; + } + } + //------------------------------------------------------------------------------ + + private void SwapPositionsInSEL(TEdge edge1, TEdge edge2) + { + if (edge1.NextInSEL == null && edge1.PrevInSEL == null) + return; + if (edge2.NextInSEL == null && edge2.PrevInSEL == null) + return; + + if (edge1.NextInSEL == edge2) + { + TEdge next = edge2.NextInSEL; + if (next != null) + next.PrevInSEL = edge1; + TEdge prev = edge1.PrevInSEL; + if (prev != null) + prev.NextInSEL = edge2; + edge2.PrevInSEL = prev; + edge2.NextInSEL = edge1; + edge1.PrevInSEL = edge2; + edge1.NextInSEL = next; + } + else if (edge2.NextInSEL == edge1) + { + TEdge next = edge1.NextInSEL; + if (next != null) + next.PrevInSEL = edge2; + TEdge prev = edge2.PrevInSEL; + if (prev != null) + prev.NextInSEL = edge1; + edge1.PrevInSEL = prev; + edge1.NextInSEL = edge2; + edge2.PrevInSEL = edge1; + edge2.NextInSEL = next; + } + else + { + TEdge next = edge1.NextInSEL; + TEdge prev = edge1.PrevInSEL; + edge1.NextInSEL = edge2.NextInSEL; + if (edge1.NextInSEL != null) + edge1.NextInSEL.PrevInSEL = edge1; + edge1.PrevInSEL = edge2.PrevInSEL; + if (edge1.PrevInSEL != null) + edge1.PrevInSEL.NextInSEL = edge1; + edge2.NextInSEL = next; + if (edge2.NextInSEL != null) + edge2.NextInSEL.PrevInSEL = edge2; + edge2.PrevInSEL = prev; + if (edge2.PrevInSEL != null) + edge2.PrevInSEL.NextInSEL = edge2; + } + + if (edge1.PrevInSEL == null) + m_SortedEdges = edge1; + else if (edge2.PrevInSEL == null) + m_SortedEdges = edge2; + } + //------------------------------------------------------------------------------ + + + private void AddLocalMaxPoly(TEdge e1, TEdge e2, IntPoint pt) + { + AddOutPt(e1, pt); + if (e2.WindDelta == 0) AddOutPt(e2, pt); + if (e1.OutIdx == e2.OutIdx) + { + e1.OutIdx = Unassigned; + e2.OutIdx = Unassigned; + } + else if (e1.OutIdx < e2.OutIdx) + AppendPolygon(e1, e2); + else + AppendPolygon(e2, e1); + } + //------------------------------------------------------------------------------ + + private OutPt AddLocalMinPoly(TEdge e1, TEdge e2, IntPoint pt) + { + OutPt result; + TEdge e, prevE; + if (IsHorizontal(e2) || (e1.Dx > e2.Dx)) + { + result = AddOutPt(e1, pt); + e2.OutIdx = e1.OutIdx; + e1.Side = EdgeSide.esLeft; + e2.Side = EdgeSide.esRight; + e = e1; + if (e.PrevInAEL == e2) + prevE = e2.PrevInAEL; + else + prevE = e.PrevInAEL; + } + else + { + result = AddOutPt(e2, pt); + e1.OutIdx = e2.OutIdx; + e1.Side = EdgeSide.esRight; + e2.Side = EdgeSide.esLeft; + e = e2; + if (e.PrevInAEL == e1) + prevE = e1.PrevInAEL; + else + prevE = e.PrevInAEL; + } + + if (prevE != null && prevE.OutIdx >= 0 && prevE.Top.Y < pt.Y && e.Top.Y < pt.Y) + { + cInt xPrev = TopX(prevE, pt.Y); + cInt xE = TopX(e, pt.Y); + if ((xPrev == xE) && (e.WindDelta != 0) && (prevE.WindDelta != 0) && + SlopesEqual(new IntPoint(xPrev, pt.Y), prevE.Top, new IntPoint(xE, pt.Y), e.Top, m_UseFullRange)) + { + OutPt outPt = AddOutPt(prevE, pt); + AddJoin(result, outPt, e.Top); + } + } + return result; + } + //------------------------------------------------------------------------------ + + private OutPt AddOutPt(TEdge e, IntPoint pt) + { + if (e.OutIdx < 0) + { + OutRec outRec = CreateOutRec(); + outRec.IsOpen = (e.WindDelta == 0); + OutPt newOp = new OutPt(); + outRec.Pts = newOp; + newOp.Idx = outRec.Idx; + newOp.Pt = pt; + newOp.Next = newOp; + newOp.Prev = newOp; + if (!outRec.IsOpen) + SetHoleState(e, outRec); + e.OutIdx = outRec.Idx; //nb: do this after SetZ ! + return newOp; + } + else + { + OutRec outRec = m_PolyOuts[e.OutIdx]; + //OutRec.Pts is the 'Left-most' point & OutRec.Pts.Prev is the 'Right-most' + OutPt op = outRec.Pts; + bool ToFront = (e.Side == EdgeSide.esLeft); + if (ToFront && pt == op.Pt) return op; + else if (!ToFront && pt == op.Prev.Pt) return op.Prev; + + OutPt newOp = new OutPt(); + newOp.Idx = outRec.Idx; + newOp.Pt = pt; + newOp.Next = op; + newOp.Prev = op.Prev; + newOp.Prev.Next = newOp; + op.Prev = newOp; + if (ToFront) outRec.Pts = newOp; + return newOp; + } + } + //------------------------------------------------------------------------------ + + private OutPt GetLastOutPt(TEdge e) + { + OutRec outRec = m_PolyOuts[e.OutIdx]; + if (e.Side == EdgeSide.esLeft) + return outRec.Pts; + else + return outRec.Pts.Prev; + } + //------------------------------------------------------------------------------ + + internal void SwapPoints(ref IntPoint pt1, ref IntPoint pt2) + { + IntPoint tmp = new IntPoint(pt1); + pt1 = pt2; + pt2 = tmp; + } + //------------------------------------------------------------------------------ + + private bool HorzSegmentsOverlap(cInt seg1a, cInt seg1b, cInt seg2a, cInt seg2b) + { + if (seg1a > seg1b) Swap(ref seg1a, ref seg1b); + if (seg2a > seg2b) Swap(ref seg2a, ref seg2b); + return (seg1a < seg2b) && (seg2a < seg1b); + } + //------------------------------------------------------------------------------ + + private void SetHoleState(TEdge e, OutRec outRec) + { + TEdge e2 = e.PrevInAEL; + TEdge eTmp = null; + while (e2 != null) + { + if (e2.OutIdx >= 0 && e2.WindDelta != 0) + { + if (eTmp == null) + eTmp = e2; + else if (eTmp.OutIdx == e2.OutIdx) + eTmp = null; //paired + } + e2 = e2.PrevInAEL; + } + + if (eTmp == null) + { + outRec.FirstLeft = null; + outRec.IsHole = false; + } + else + { + outRec.FirstLeft = m_PolyOuts[eTmp.OutIdx]; + outRec.IsHole = !outRec.FirstLeft.IsHole; + } + } + //------------------------------------------------------------------------------ + + private double GetDx(IntPoint pt1, IntPoint pt2) + { + if (pt1.Y == pt2.Y) return horizontal; + else return (double)(pt2.X - pt1.X) / (pt2.Y - pt1.Y); + } + //--------------------------------------------------------------------------- + + private bool FirstIsBottomPt(OutPt btmPt1, OutPt btmPt2) + { + OutPt p = btmPt1.Prev; + while ((p.Pt == btmPt1.Pt) && (p != btmPt1)) p = p.Prev; + double dx1p = Math.Abs(GetDx(btmPt1.Pt, p.Pt)); + p = btmPt1.Next; + while ((p.Pt == btmPt1.Pt) && (p != btmPt1)) p = p.Next; + double dx1n = Math.Abs(GetDx(btmPt1.Pt, p.Pt)); + + p = btmPt2.Prev; + while ((p.Pt == btmPt2.Pt) && (p != btmPt2)) p = p.Prev; + double dx2p = Math.Abs(GetDx(btmPt2.Pt, p.Pt)); + p = btmPt2.Next; + while ((p.Pt == btmPt2.Pt) && (p != btmPt2)) p = p.Next; + double dx2n = Math.Abs(GetDx(btmPt2.Pt, p.Pt)); + + if (Math.Max(dx1p, dx1n) == Math.Max(dx2p, dx2n) && + Math.Min(dx1p, dx1n) == Math.Min(dx2p, dx2n)) + return Area(btmPt1) > 0; //if otherwise identical use orientation + else + return (dx1p >= dx2p && dx1p >= dx2n) || (dx1n >= dx2p && dx1n >= dx2n); + } + //------------------------------------------------------------------------------ + + private OutPt GetBottomPt(OutPt pp) + { + OutPt dups = null; + OutPt p = pp.Next; + while (p != pp) + { + if (p.Pt.Y > pp.Pt.Y) + { + pp = p; + dups = null; + } + else if (p.Pt.Y == pp.Pt.Y && p.Pt.X <= pp.Pt.X) + { + if (p.Pt.X < pp.Pt.X) + { + dups = null; + pp = p; + } else + { + if (p.Next != pp && p.Prev != pp) dups = p; + } + } + p = p.Next; + } + if (dups != null) + { + //there appears to be at least 2 vertices at bottomPt so ... + while (dups != p) + { + if (!FirstIsBottomPt(p, dups)) pp = dups; + dups = dups.Next; + while (dups.Pt != pp.Pt) dups = dups.Next; + } + } + return pp; + } + //------------------------------------------------------------------------------ + + private OutRec GetLowermostRec(OutRec outRec1, OutRec outRec2) + { + //work out which polygon fragment has the correct hole state ... + if (outRec1.BottomPt == null) + outRec1.BottomPt = GetBottomPt(outRec1.Pts); + if (outRec2.BottomPt == null) + outRec2.BottomPt = GetBottomPt(outRec2.Pts); + OutPt bPt1 = outRec1.BottomPt; + OutPt bPt2 = outRec2.BottomPt; + if (bPt1.Pt.Y > bPt2.Pt.Y) return outRec1; + else if (bPt1.Pt.Y < bPt2.Pt.Y) return outRec2; + else if (bPt1.Pt.X < bPt2.Pt.X) return outRec1; + else if (bPt1.Pt.X > bPt2.Pt.X) return outRec2; + else if (bPt1.Next == bPt1) return outRec2; + else if (bPt2.Next == bPt2) return outRec1; + else if (FirstIsBottomPt(bPt1, bPt2)) return outRec1; + else return outRec2; + } + //------------------------------------------------------------------------------ + + bool OutRec1RightOfOutRec2(OutRec outRec1, OutRec outRec2) + { + do + { + outRec1 = outRec1.FirstLeft; + if (outRec1 == outRec2) return true; + } while (outRec1 != null); + return false; + } + //------------------------------------------------------------------------------ + + private OutRec GetOutRec(int idx) + { + OutRec outrec = m_PolyOuts[idx]; + while (outrec != m_PolyOuts[outrec.Idx]) + outrec = m_PolyOuts[outrec.Idx]; + return outrec; + } + //------------------------------------------------------------------------------ + + private void AppendPolygon(TEdge e1, TEdge e2) + { + OutRec outRec1 = m_PolyOuts[e1.OutIdx]; + OutRec outRec2 = m_PolyOuts[e2.OutIdx]; + + OutRec holeStateRec; + if (OutRec1RightOfOutRec2(outRec1, outRec2)) + holeStateRec = outRec2; + else if (OutRec1RightOfOutRec2(outRec2, outRec1)) + holeStateRec = outRec1; + else + holeStateRec = GetLowermostRec(outRec1, outRec2); + + //get the start and ends of both output polygons and + //join E2 poly onto E1 poly and delete pointers to E2 ... + OutPt p1_lft = outRec1.Pts; + OutPt p1_rt = p1_lft.Prev; + OutPt p2_lft = outRec2.Pts; + OutPt p2_rt = p2_lft.Prev; + + //join e2 poly onto e1 poly and delete pointers to e2 ... + if( e1.Side == EdgeSide.esLeft ) + { + if (e2.Side == EdgeSide.esLeft) + { + //z y x a b c + ReversePolyPtLinks(p2_lft); + p2_lft.Next = p1_lft; + p1_lft.Prev = p2_lft; + p1_rt.Next = p2_rt; + p2_rt.Prev = p1_rt; + outRec1.Pts = p2_rt; + } else + { + //x y z a b c + p2_rt.Next = p1_lft; + p1_lft.Prev = p2_rt; + p2_lft.Prev = p1_rt; + p1_rt.Next = p2_lft; + outRec1.Pts = p2_lft; + } + } else + { + if (e2.Side == EdgeSide.esRight) + { + //a b c z y x + ReversePolyPtLinks( p2_lft ); + p1_rt.Next = p2_rt; + p2_rt.Prev = p1_rt; + p2_lft.Next = p1_lft; + p1_lft.Prev = p2_lft; + } else + { + //a b c x y z + p1_rt.Next = p2_lft; + p2_lft.Prev = p1_rt; + p1_lft.Prev = p2_rt; + p2_rt.Next = p1_lft; + } + } + + outRec1.BottomPt = null; + if (holeStateRec == outRec2) + { + if (outRec2.FirstLeft != outRec1) + outRec1.FirstLeft = outRec2.FirstLeft; + outRec1.IsHole = outRec2.IsHole; + } + outRec2.Pts = null; + outRec2.BottomPt = null; + + outRec2.FirstLeft = outRec1; + + int OKIdx = e1.OutIdx; + int ObsoleteIdx = e2.OutIdx; + + e1.OutIdx = Unassigned; //nb: safe because we only get here via AddLocalMaxPoly + e2.OutIdx = Unassigned; + + TEdge e = m_ActiveEdges; + while( e != null ) + { + if( e.OutIdx == ObsoleteIdx ) + { + e.OutIdx = OKIdx; + e.Side = e1.Side; + break; + } + e = e.NextInAEL; + } + outRec2.Idx = outRec1.Idx; + } + //------------------------------------------------------------------------------ + + private void ReversePolyPtLinks(OutPt pp) + { + if (pp == null) return; + OutPt pp1; + OutPt pp2; + pp1 = pp; + do + { + pp2 = pp1.Next; + pp1.Next = pp1.Prev; + pp1.Prev = pp2; + pp1 = pp2; + } while (pp1 != pp); + } + //------------------------------------------------------------------------------ + + private static void SwapSides(TEdge edge1, TEdge edge2) + { + EdgeSide side = edge1.Side; + edge1.Side = edge2.Side; + edge2.Side = side; + } + //------------------------------------------------------------------------------ + + private static void SwapPolyIndexes(TEdge edge1, TEdge edge2) + { + int outIdx = edge1.OutIdx; + edge1.OutIdx = edge2.OutIdx; + edge2.OutIdx = outIdx; + } + //------------------------------------------------------------------------------ + + private void IntersectEdges(TEdge e1, TEdge e2, IntPoint pt) + { + //e1 will be to the left of e2 BELOW the intersection. Therefore e1 is before + //e2 in AEL except when e1 is being inserted at the intersection point ... + + bool e1Contributing = (e1.OutIdx >= 0); + bool e2Contributing = (e2.OutIdx >= 0); + +#if use_xyz + SetZ(ref pt, e1, e2); +#endif + +#if use_lines + //if either edge is on an OPEN path ... + if (e1.WindDelta == 0 || e2.WindDelta == 0) + { + //ignore subject-subject open path intersections UNLESS they + //are both open paths, AND they are both 'contributing maximas' ... + if (e1.WindDelta == 0 && e2.WindDelta == 0) return; + //if intersecting a subj line with a subj poly ... + else if (e1.PolyTyp == e2.PolyTyp && + e1.WindDelta != e2.WindDelta && m_ClipType == ClipType.ctUnion) + { + if (e1.WindDelta == 0) + { + if (e2Contributing) + { + AddOutPt(e1, pt); + if (e1Contributing) e1.OutIdx = Unassigned; + } + } + else + { + if (e1Contributing) + { + AddOutPt(e2, pt); + if (e2Contributing) e2.OutIdx = Unassigned; + } + } + } + else if (e1.PolyTyp != e2.PolyTyp) + { + if ((e1.WindDelta == 0) && Math.Abs(e2.WindCnt) == 1 && + (m_ClipType != ClipType.ctUnion || e2.WindCnt2 == 0)) + { + AddOutPt(e1, pt); + if (e1Contributing) e1.OutIdx = Unassigned; + } + else if ((e2.WindDelta == 0) && (Math.Abs(e1.WindCnt) == 1) && + (m_ClipType != ClipType.ctUnion || e1.WindCnt2 == 0)) + { + AddOutPt(e2, pt); + if (e2Contributing) e2.OutIdx = Unassigned; + } + } + return; + } +#endif + + //update winding counts... + //assumes that e1 will be to the Right of e2 ABOVE the intersection + if (e1.PolyTyp == e2.PolyTyp) + { + if (IsEvenOddFillType(e1)) + { + int oldE1WindCnt = e1.WindCnt; + e1.WindCnt = e2.WindCnt; + e2.WindCnt = oldE1WindCnt; + } + else + { + if (e1.WindCnt + e2.WindDelta == 0) e1.WindCnt = -e1.WindCnt; + else e1.WindCnt += e2.WindDelta; + if (e2.WindCnt - e1.WindDelta == 0) e2.WindCnt = -e2.WindCnt; + else e2.WindCnt -= e1.WindDelta; + } + } + else + { + if (!IsEvenOddFillType(e2)) e1.WindCnt2 += e2.WindDelta; + else e1.WindCnt2 = (e1.WindCnt2 == 0) ? 1 : 0; + if (!IsEvenOddFillType(e1)) e2.WindCnt2 -= e1.WindDelta; + else e2.WindCnt2 = (e2.WindCnt2 == 0) ? 1 : 0; + } + + PolyFillType e1FillType, e2FillType, e1FillType2, e2FillType2; + if (e1.PolyTyp == PolyType.ptSubject) + { + e1FillType = m_SubjFillType; + e1FillType2 = m_ClipFillType; + } + else + { + e1FillType = m_ClipFillType; + e1FillType2 = m_SubjFillType; + } + if (e2.PolyTyp == PolyType.ptSubject) + { + e2FillType = m_SubjFillType; + e2FillType2 = m_ClipFillType; + } + else + { + e2FillType = m_ClipFillType; + e2FillType2 = m_SubjFillType; + } + + int e1Wc, e2Wc; + switch (e1FillType) + { + case PolyFillType.pftPositive: e1Wc = e1.WindCnt; break; + case PolyFillType.pftNegative: e1Wc = -e1.WindCnt; break; + default: e1Wc = Math.Abs(e1.WindCnt); break; + } + switch (e2FillType) + { + case PolyFillType.pftPositive: e2Wc = e2.WindCnt; break; + case PolyFillType.pftNegative: e2Wc = -e2.WindCnt; break; + default: e2Wc = Math.Abs(e2.WindCnt); break; + } + + if (e1Contributing && e2Contributing) + { + if ((e1Wc != 0 && e1Wc != 1) || (e2Wc != 0 && e2Wc != 1) || + (e1.PolyTyp != e2.PolyTyp && m_ClipType != ClipType.ctXor)) + { + AddLocalMaxPoly(e1, e2, pt); + } + else + { + AddOutPt(e1, pt); + AddOutPt(e2, pt); + SwapSides(e1, e2); + SwapPolyIndexes(e1, e2); + } + } + else if (e1Contributing) + { + if (e2Wc == 0 || e2Wc == 1) + { + AddOutPt(e1, pt); + SwapSides(e1, e2); + SwapPolyIndexes(e1, e2); + } + + } + else if (e2Contributing) + { + if (e1Wc == 0 || e1Wc == 1) + { + AddOutPt(e2, pt); + SwapSides(e1, e2); + SwapPolyIndexes(e1, e2); + } + } + else if ( (e1Wc == 0 || e1Wc == 1) && (e2Wc == 0 || e2Wc == 1)) + { + //neither edge is currently contributing ... + cInt e1Wc2, e2Wc2; + switch (e1FillType2) + { + case PolyFillType.pftPositive: e1Wc2 = e1.WindCnt2; break; + case PolyFillType.pftNegative: e1Wc2 = -e1.WindCnt2; break; + default: e1Wc2 = Math.Abs(e1.WindCnt2); break; + } + switch (e2FillType2) + { + case PolyFillType.pftPositive: e2Wc2 = e2.WindCnt2; break; + case PolyFillType.pftNegative: e2Wc2 = -e2.WindCnt2; break; + default: e2Wc2 = Math.Abs(e2.WindCnt2); break; + } + + if (e1.PolyTyp != e2.PolyTyp) + { + AddLocalMinPoly(e1, e2, pt); + } + else if (e1Wc == 1 && e2Wc == 1) + switch (m_ClipType) + { + case ClipType.ctIntersection: + if (e1Wc2 > 0 && e2Wc2 > 0) + AddLocalMinPoly(e1, e2, pt); + break; + case ClipType.ctUnion: + if (e1Wc2 <= 0 && e2Wc2 <= 0) + AddLocalMinPoly(e1, e2, pt); + break; + case ClipType.ctDifference: + if (((e1.PolyTyp == PolyType.ptClip) && (e1Wc2 > 0) && (e2Wc2 > 0)) || + ((e1.PolyTyp == PolyType.ptSubject) && (e1Wc2 <= 0) && (e2Wc2 <= 0))) + AddLocalMinPoly(e1, e2, pt); + break; + case ClipType.ctXor: + AddLocalMinPoly(e1, e2, pt); + break; + } + else + SwapSides(e1, e2); + } + } + //------------------------------------------------------------------------------ + + private void DeleteFromSEL(TEdge e) + { + TEdge SelPrev = e.PrevInSEL; + TEdge SelNext = e.NextInSEL; + if (SelPrev == null && SelNext == null && (e != m_SortedEdges)) + return; //already deleted + if (SelPrev != null) + SelPrev.NextInSEL = SelNext; + else m_SortedEdges = SelNext; + if (SelNext != null) + SelNext.PrevInSEL = SelPrev; + e.NextInSEL = null; + e.PrevInSEL = null; + } + //------------------------------------------------------------------------------ + + private void ProcessHorizontals() + { + TEdge horzEdge; //m_SortedEdges; + while (PopEdgeFromSEL(out horzEdge)) + ProcessHorizontal(horzEdge); + } + //------------------------------------------------------------------------------ + + void GetHorzDirection(TEdge HorzEdge, out Direction Dir, out cInt Left, out cInt Right) + { + if (HorzEdge.Bot.X < HorzEdge.Top.X) + { + Left = HorzEdge.Bot.X; + Right = HorzEdge.Top.X; + Dir = Direction.dLeftToRight; + } else + { + Left = HorzEdge.Top.X; + Right = HorzEdge.Bot.X; + Dir = Direction.dRightToLeft; + } + } + //------------------------------------------------------------------------ + + private void ProcessHorizontal(TEdge horzEdge) + { + Direction dir; + cInt horzLeft, horzRight; + bool IsOpen = horzEdge.WindDelta == 0; + + GetHorzDirection(horzEdge, out dir, out horzLeft, out horzRight); + + TEdge eLastHorz = horzEdge, eMaxPair = null; + while (eLastHorz.NextInLML != null && IsHorizontal(eLastHorz.NextInLML)) + eLastHorz = eLastHorz.NextInLML; + if (eLastHorz.NextInLML == null) + eMaxPair = GetMaximaPair(eLastHorz); + + Maxima currMax = m_Maxima; + if (currMax != null) + { + //get the first maxima in range (X) ... + if (dir == Direction.dLeftToRight) + { + while (currMax != null && currMax.X <= horzEdge.Bot.X) + currMax = currMax.Next; + if (currMax != null && currMax.X >= eLastHorz.Top.X) + currMax = null; + } + else + { + while (currMax.Next != null && currMax.Next.X < horzEdge.Bot.X) + currMax = currMax.Next; + if (currMax.X <= eLastHorz.Top.X) currMax = null; + } + } + + OutPt op1 = null; + for (;;) //loop through consec. horizontal edges + { + bool IsLastHorz = (horzEdge == eLastHorz); + TEdge e = GetNextInAEL(horzEdge, dir); + while(e != null) + { + + //this code block inserts extra coords into horizontal edges (in output + //polygons) whereever maxima touch these horizontal edges. This helps + //'simplifying' polygons (ie if the Simplify property is set). + if (currMax != null) + { + if (dir == Direction.dLeftToRight) + { + while (currMax != null && currMax.X < e.Curr.X) + { + if (horzEdge.OutIdx >= 0 && !IsOpen) + AddOutPt(horzEdge, new IntPoint(currMax.X, horzEdge.Bot.Y)); + currMax = currMax.Next; + } + } + else + { + while (currMax != null && currMax.X > e.Curr.X) + { + if (horzEdge.OutIdx >= 0 && !IsOpen) + AddOutPt(horzEdge, new IntPoint(currMax.X, horzEdge.Bot.Y)); + currMax = currMax.Prev; + } + } + }; + + if ((dir == Direction.dLeftToRight && e.Curr.X > horzRight) || + (dir == Direction.dRightToLeft && e.Curr.X < horzLeft)) break; + + //Also break if we've got to the end of an intermediate horizontal edge ... + //nb: Smaller Dx's are to the right of larger Dx's ABOVE the horizontal. + if (e.Curr.X == horzEdge.Top.X && horzEdge.NextInLML != null && + e.Dx < horzEdge.NextInLML.Dx) break; + + if (horzEdge.OutIdx >= 0 && !IsOpen) //note: may be done multiple times + { +#if use_xyz + if (dir == Direction.dLeftToRight) SetZ(ref e.Curr, horzEdge, e); + else SetZ(ref e.Curr, e, horzEdge); +#endif + + op1 = AddOutPt(horzEdge, e.Curr); + TEdge eNextHorz = m_SortedEdges; + while (eNextHorz != null) + { + if (eNextHorz.OutIdx >= 0 && + HorzSegmentsOverlap(horzEdge.Bot.X, + horzEdge.Top.X, eNextHorz.Bot.X, eNextHorz.Top.X)) + { + OutPt op2 = GetLastOutPt(eNextHorz); + AddJoin(op2, op1, eNextHorz.Top); + } + eNextHorz = eNextHorz.NextInSEL; + } + AddGhostJoin(op1, horzEdge.Bot); + } + + //OK, so far we're still in range of the horizontal Edge but make sure + //we're at the last of consec. horizontals when matching with eMaxPair + if(e == eMaxPair && IsLastHorz) + { + if (horzEdge.OutIdx >= 0) + AddLocalMaxPoly(horzEdge, eMaxPair, horzEdge.Top); + DeleteFromAEL(horzEdge); + DeleteFromAEL(eMaxPair); + return; + } + + if(dir == Direction.dLeftToRight) + { + IntPoint Pt = new IntPoint(e.Curr.X, horzEdge.Curr.Y); + IntersectEdges(horzEdge, e, Pt); + } + else + { + IntPoint Pt = new IntPoint(e.Curr.X, horzEdge.Curr.Y); + IntersectEdges(e, horzEdge, Pt); + } + TEdge eNext = GetNextInAEL(e, dir); + SwapPositionsInAEL(horzEdge, e); + e = eNext; + } //end while(e != null) + + //Break out of loop if HorzEdge.NextInLML is not also horizontal ... + if (horzEdge.NextInLML == null || !IsHorizontal(horzEdge.NextInLML)) break; + + UpdateEdgeIntoAEL(ref horzEdge); + if (horzEdge.OutIdx >= 0) AddOutPt(horzEdge, horzEdge.Bot); + GetHorzDirection(horzEdge, out dir, out horzLeft, out horzRight); + + } //end for (;;) + + if (horzEdge.OutIdx >= 0 && op1 == null) + { + op1 = GetLastOutPt(horzEdge); + TEdge eNextHorz = m_SortedEdges; + while (eNextHorz != null) + { + if (eNextHorz.OutIdx >= 0 && + HorzSegmentsOverlap(horzEdge.Bot.X, + horzEdge.Top.X, eNextHorz.Bot.X, eNextHorz.Top.X)) + { + OutPt op2 = GetLastOutPt(eNextHorz); + AddJoin(op2, op1, eNextHorz.Top); + } + eNextHorz = eNextHorz.NextInSEL; + } + AddGhostJoin(op1, horzEdge.Top); + } + + if (horzEdge.NextInLML != null) + { + if(horzEdge.OutIdx >= 0) + { + op1 = AddOutPt( horzEdge, horzEdge.Top); + + UpdateEdgeIntoAEL(ref horzEdge); + if (horzEdge.WindDelta == 0) return; + //nb: HorzEdge is no longer horizontal here + TEdge ePrev = horzEdge.PrevInAEL; + TEdge eNext = horzEdge.NextInAEL; + if (ePrev != null && ePrev.Curr.X == horzEdge.Bot.X && + ePrev.Curr.Y == horzEdge.Bot.Y && ePrev.WindDelta != 0 && + (ePrev.OutIdx >= 0 && ePrev.Curr.Y > ePrev.Top.Y && + SlopesEqual(horzEdge, ePrev, m_UseFullRange))) + { + OutPt op2 = AddOutPt(ePrev, horzEdge.Bot); + AddJoin(op1, op2, horzEdge.Top); + } + else if (eNext != null && eNext.Curr.X == horzEdge.Bot.X && + eNext.Curr.Y == horzEdge.Bot.Y && eNext.WindDelta != 0 && + eNext.OutIdx >= 0 && eNext.Curr.Y > eNext.Top.Y && + SlopesEqual(horzEdge, eNext, m_UseFullRange)) + { + OutPt op2 = AddOutPt(eNext, horzEdge.Bot); + AddJoin(op1, op2, horzEdge.Top); + } + } + else + UpdateEdgeIntoAEL(ref horzEdge); + } + else + { + if (horzEdge.OutIdx >= 0) AddOutPt(horzEdge, horzEdge.Top); + DeleteFromAEL(horzEdge); + } + } + //------------------------------------------------------------------------------ + + private TEdge GetNextInAEL(TEdge e, Direction Direction) + { + return Direction == Direction.dLeftToRight ? e.NextInAEL: e.PrevInAEL; + } + //------------------------------------------------------------------------------ + + private bool IsMinima(TEdge e) + { + return e != null && (e.Prev.NextInLML != e) && (e.Next.NextInLML != e); + } + //------------------------------------------------------------------------------ + + private bool IsMaxima(TEdge e, double Y) + { + return (e != null && e.Top.Y == Y && e.NextInLML == null); + } + //------------------------------------------------------------------------------ + + private bool IsIntermediate(TEdge e, double Y) + { + return (e.Top.Y == Y && e.NextInLML != null); + } + //------------------------------------------------------------------------------ + + internal TEdge GetMaximaPair(TEdge e) + { + if ((e.Next.Top == e.Top) && e.Next.NextInLML == null) + return e.Next; + else if ((e.Prev.Top == e.Top) && e.Prev.NextInLML == null) + return e.Prev; + else + return null; + } + //------------------------------------------------------------------------------ + + internal TEdge GetMaximaPairEx(TEdge e) + { + //as above but returns null if MaxPair isn't in AEL (unless it's horizontal) + TEdge result = GetMaximaPair(e); + if (result == null || result.OutIdx == Skip || + ((result.NextInAEL == result.PrevInAEL) && !IsHorizontal(result))) return null; + return result; + } + //------------------------------------------------------------------------------ + + private bool ProcessIntersections(cInt topY) + { + if( m_ActiveEdges == null ) return true; + try { + BuildIntersectList(topY); + if ( m_IntersectList.Count == 0) return true; + if (m_IntersectList.Count == 1 || FixupIntersectionOrder()) + ProcessIntersectList(); + else + return false; + } + catch { + m_SortedEdges = null; + m_IntersectList.Clear(); + throw new ClipperException("ProcessIntersections error"); + } + m_SortedEdges = null; + return true; + } + //------------------------------------------------------------------------------ + + private void BuildIntersectList(cInt topY) + { + if ( m_ActiveEdges == null ) return; + + //prepare for sorting ... + TEdge e = m_ActiveEdges; + m_SortedEdges = e; + while( e != null ) + { + e.PrevInSEL = e.PrevInAEL; + e.NextInSEL = e.NextInAEL; + e.Curr.X = TopX( e, topY ); + e = e.NextInAEL; + } + + //bubblesort ... + bool isModified = true; + while( isModified && m_SortedEdges != null ) + { + isModified = false; + e = m_SortedEdges; + while( e.NextInSEL != null ) + { + TEdge eNext = e.NextInSEL; + IntPoint pt; + if (e.Curr.X > eNext.Curr.X) + { + IntersectPoint(e, eNext, out pt); + if (pt.Y < topY) + pt = new IntPoint(TopX(e, topY), topY); + IntersectNode newNode = new IntersectNode(); + newNode.Edge1 = e; + newNode.Edge2 = eNext; + newNode.Pt = pt; + m_IntersectList.Add(newNode); + + SwapPositionsInSEL(e, eNext); + isModified = true; + } + else + e = eNext; + } + if( e.PrevInSEL != null ) e.PrevInSEL.NextInSEL = null; + else break; + } + m_SortedEdges = null; + } + //------------------------------------------------------------------------------ + + private bool EdgesAdjacent(IntersectNode inode) + { + return (inode.Edge1.NextInSEL == inode.Edge2) || + (inode.Edge1.PrevInSEL == inode.Edge2); + } + //------------------------------------------------------------------------------ + + private static int IntersectNodeSort(IntersectNode node1, IntersectNode node2) + { + //the following typecast is safe because the differences in Pt.Y will + //be limited to the height of the scanbeam. + return (int)(node2.Pt.Y - node1.Pt.Y); + } + //------------------------------------------------------------------------------ + + private bool FixupIntersectionOrder() + { + //pre-condition: intersections are sorted bottom-most first. + //Now it's crucial that intersections are made only between adjacent edges, + //so to ensure this the order of intersections may need adjusting ... + m_IntersectList.Sort(m_IntersectNodeComparer); + + CopyAELToSEL(); + int cnt = m_IntersectList.Count; + for (int i = 0; i < cnt; i++) + { + if (!EdgesAdjacent(m_IntersectList[i])) + { + int j = i + 1; + while (j < cnt && !EdgesAdjacent(m_IntersectList[j])) j++; + if (j == cnt) return false; + + IntersectNode tmp = m_IntersectList[i]; + m_IntersectList[i] = m_IntersectList[j]; + m_IntersectList[j] = tmp; + + } + SwapPositionsInSEL(m_IntersectList[i].Edge1, m_IntersectList[i].Edge2); + } + return true; + } + //------------------------------------------------------------------------------ + + private void ProcessIntersectList() + { + for (int i = 0; i < m_IntersectList.Count; i++) + { + IntersectNode iNode = m_IntersectList[i]; + { + IntersectEdges(iNode.Edge1, iNode.Edge2, iNode.Pt); + SwapPositionsInAEL(iNode.Edge1, iNode.Edge2); + } + } + m_IntersectList.Clear(); + } + //------------------------------------------------------------------------------ + + internal static cInt Round(double value) + { + return value < 0 ? (cInt)(value - 0.5) : (cInt)(value + 0.5); + } + //------------------------------------------------------------------------------ + + private static cInt TopX(TEdge edge, cInt currentY) + { + if (currentY == edge.Top.Y) + return edge.Top.X; + return edge.Bot.X + Round(edge.Dx *(currentY - edge.Bot.Y)); + } + //------------------------------------------------------------------------------ + + private void IntersectPoint(TEdge edge1, TEdge edge2, out IntPoint ip) + { + ip = new IntPoint(); + double b1, b2; + //nb: with very large coordinate values, it's possible for SlopesEqual() to + //return false but for the edge.Dx value be equal due to double precision rounding. + if (edge1.Dx == edge2.Dx) + { + ip.Y = edge1.Curr.Y; + ip.X = TopX(edge1, ip.Y); + return; + } + + if (edge1.Delta.X == 0) + { + ip.X = edge1.Bot.X; + if (IsHorizontal(edge2)) + { + ip.Y = edge2.Bot.Y; + } + else + { + b2 = edge2.Bot.Y - (edge2.Bot.X / edge2.Dx); + ip.Y = Round(ip.X / edge2.Dx + b2); + } + } + else if (edge2.Delta.X == 0) + { + ip.X = edge2.Bot.X; + if (IsHorizontal(edge1)) + { + ip.Y = edge1.Bot.Y; + } + else + { + b1 = edge1.Bot.Y - (edge1.Bot.X / edge1.Dx); + ip.Y = Round(ip.X / edge1.Dx + b1); + } + } + else + { + b1 = edge1.Bot.X - edge1.Bot.Y * edge1.Dx; + b2 = edge2.Bot.X - edge2.Bot.Y * edge2.Dx; + double q = (b2 - b1) / (edge1.Dx - edge2.Dx); + ip.Y = Round(q); + if (Math.Abs(edge1.Dx) < Math.Abs(edge2.Dx)) + ip.X = Round(edge1.Dx * q + b1); + else + ip.X = Round(edge2.Dx * q + b2); + } + + if (ip.Y < edge1.Top.Y || ip.Y < edge2.Top.Y) + { + if (edge1.Top.Y > edge2.Top.Y) + ip.Y = edge1.Top.Y; + else + ip.Y = edge2.Top.Y; + if (Math.Abs(edge1.Dx) < Math.Abs(edge2.Dx)) + ip.X = TopX(edge1, ip.Y); + else + ip.X = TopX(edge2, ip.Y); + } + //finally, don't allow 'ip' to be BELOW curr.Y (ie bottom of scanbeam) ... + if (ip.Y > edge1.Curr.Y) + { + ip.Y = edge1.Curr.Y; + //better to use the more vertical edge to derive X ... + if (Math.Abs(edge1.Dx) > Math.Abs(edge2.Dx)) + ip.X = TopX(edge2, ip.Y); + else + ip.X = TopX(edge1, ip.Y); + } + } + //------------------------------------------------------------------------------ + + private void ProcessEdgesAtTopOfScanbeam(cInt topY) + { + TEdge e = m_ActiveEdges; + while(e != null) + { + //1. process maxima, treating them as if they're 'bent' horizontal edges, + // but exclude maxima with horizontal edges. nb: e can't be a horizontal. + bool IsMaximaEdge = IsMaxima(e, topY); + + if(IsMaximaEdge) + { + TEdge eMaxPair = GetMaximaPairEx(e); + IsMaximaEdge = (eMaxPair == null || !IsHorizontal(eMaxPair)); + } + + if(IsMaximaEdge) + { + if (StrictlySimple) InsertMaxima(e.Top.X); + TEdge ePrev = e.PrevInAEL; + DoMaxima(e); + if( ePrev == null) e = m_ActiveEdges; + else e = ePrev.NextInAEL; + } + else + { + //2. promote horizontal edges, otherwise update Curr.X and Curr.Y ... + if (IsIntermediate(e, topY) && IsHorizontal(e.NextInLML)) + { + UpdateEdgeIntoAEL(ref e); + if (e.OutIdx >= 0) + AddOutPt(e, e.Bot); + AddEdgeToSEL(e); + } + else + { + e.Curr.X = TopX( e, topY ); + e.Curr.Y = topY; +#if use_xyz + if (e.Top.Y == topY) e.Curr.Z = e.Top.Z; + else if (e.Bot.Y == topY) e.Curr.Z = e.Bot.Z; + else e.Curr.Z = 0; +#endif + } + //When StrictlySimple and 'e' is being touched by another edge, then + //make sure both edges have a vertex here ... + if (StrictlySimple) + { + TEdge ePrev = e.PrevInAEL; + if ((e.OutIdx >= 0) && (e.WindDelta != 0) && ePrev != null && + (ePrev.OutIdx >= 0) && (ePrev.Curr.X == e.Curr.X) && + (ePrev.WindDelta != 0)) + { + IntPoint ip = new IntPoint(e.Curr); +#if use_xyz + SetZ(ref ip, ePrev, e); +#endif + OutPt op = AddOutPt(ePrev, ip); + OutPt op2 = AddOutPt(e, ip); + AddJoin(op, op2, ip); //StrictlySimple (type-3) join + } + } + + e = e.NextInAEL; + } + } + + //3. Process horizontals at the Top of the scanbeam ... + ProcessHorizontals(); + m_Maxima = null; + + //4. Promote intermediate vertices ... + e = m_ActiveEdges; + while (e != null) + { + if(IsIntermediate(e, topY)) + { + OutPt op = null; + if( e.OutIdx >= 0 ) + op = AddOutPt(e, e.Top); + UpdateEdgeIntoAEL(ref e); + + //if output polygons share an edge, they'll need joining later ... + TEdge ePrev = e.PrevInAEL; + TEdge eNext = e.NextInAEL; + if (ePrev != null && ePrev.Curr.X == e.Bot.X && + ePrev.Curr.Y == e.Bot.Y && op != null && + ePrev.OutIdx >= 0 && ePrev.Curr.Y > ePrev.Top.Y && + SlopesEqual(e.Curr, e.Top, ePrev.Curr, ePrev.Top, m_UseFullRange) && + (e.WindDelta != 0) && (ePrev.WindDelta != 0)) + { + OutPt op2 = AddOutPt(ePrev, e.Bot); + AddJoin(op, op2, e.Top); + } + else if (eNext != null && eNext.Curr.X == e.Bot.X && + eNext.Curr.Y == e.Bot.Y && op != null && + eNext.OutIdx >= 0 && eNext.Curr.Y > eNext.Top.Y && + SlopesEqual(e.Curr, e.Top, eNext.Curr, eNext.Top, m_UseFullRange) && + (e.WindDelta != 0) && (eNext.WindDelta != 0)) + { + OutPt op2 = AddOutPt(eNext, e.Bot); + AddJoin(op, op2, e.Top); + } + } + e = e.NextInAEL; + } + } + //------------------------------------------------------------------------------ + + private void DoMaxima(TEdge e) + { + TEdge eMaxPair = GetMaximaPairEx(e); + if (eMaxPair == null) + { + if (e.OutIdx >= 0) + AddOutPt(e, e.Top); + DeleteFromAEL(e); + return; + } + + TEdge eNext = e.NextInAEL; + while(eNext != null && eNext != eMaxPair) + { + IntersectEdges(e, eNext, e.Top); + SwapPositionsInAEL(e, eNext); + eNext = e.NextInAEL; + } + + if(e.OutIdx == Unassigned && eMaxPair.OutIdx == Unassigned) + { + DeleteFromAEL(e); + DeleteFromAEL(eMaxPair); + } + else if( e.OutIdx >= 0 && eMaxPair.OutIdx >= 0 ) + { + if (e.OutIdx >= 0) AddLocalMaxPoly(e, eMaxPair, e.Top); + DeleteFromAEL(e); + DeleteFromAEL(eMaxPair); + } +#if use_lines + else if (e.WindDelta == 0) + { + if (e.OutIdx >= 0) + { + AddOutPt(e, e.Top); + e.OutIdx = Unassigned; + } + DeleteFromAEL(e); + + if (eMaxPair.OutIdx >= 0) + { + AddOutPt(eMaxPair, e.Top); + eMaxPair.OutIdx = Unassigned; + } + DeleteFromAEL(eMaxPair); + } +#endif + else throw new ClipperException("DoMaxima error"); + } + //------------------------------------------------------------------------------ + + public static void ReversePaths(Paths polys) + { + foreach (var poly in polys) { poly.Reverse(); } + } + //------------------------------------------------------------------------------ + + public static bool Orientation(Path poly) + { + return Area(poly) >= 0; + } + //------------------------------------------------------------------------------ + + private int PointCount(OutPt pts) + { + if (pts == null) return 0; + int result = 0; + OutPt p = pts; + do + { + result++; + p = p.Next; + } + while (p != pts); + return result; + } + //------------------------------------------------------------------------------ + + private void BuildResult(Paths polyg) + { + polyg.Clear(); + polyg.Capacity = m_PolyOuts.Count; + for (int i = 0; i < m_PolyOuts.Count; i++) + { + OutRec outRec = m_PolyOuts[i]; + if (outRec.Pts == null) continue; + OutPt p = outRec.Pts.Prev; + int cnt = PointCount(p); + if (cnt < 2) continue; + Path pg = new Path(cnt); + for (int j = 0; j < cnt; j++) + { + pg.Add(p.Pt); + p = p.Prev; + } + polyg.Add(pg); + } + } + //------------------------------------------------------------------------------ + + private void BuildResult2(PolyTree polytree) + { + polytree.Clear(); + + //add each output polygon/contour to polytree ... + polytree.m_AllPolys.Capacity = m_PolyOuts.Count; + for (int i = 0; i < m_PolyOuts.Count; i++) + { + OutRec outRec = m_PolyOuts[i]; + int cnt = PointCount(outRec.Pts); + if ((outRec.IsOpen && cnt < 2) || + (!outRec.IsOpen && cnt < 3)) continue; + FixHoleLinkage(outRec); + PolyNode pn = new PolyNode(); + polytree.m_AllPolys.Add(pn); + outRec.PolyNode = pn; + pn.m_polygon.Capacity = cnt; + OutPt op = outRec.Pts.Prev; + for (int j = 0; j < cnt; j++) + { + pn.m_polygon.Add(op.Pt); + op = op.Prev; + } + } + + //fixup PolyNode links etc ... + polytree.m_Childs.Capacity = m_PolyOuts.Count; + for (int i = 0; i < m_PolyOuts.Count; i++) + { + OutRec outRec = m_PolyOuts[i]; + if (outRec.PolyNode == null) continue; + else if (outRec.IsOpen) + { + outRec.PolyNode.IsOpen = true; + polytree.AddChild(outRec.PolyNode); + } + else if (outRec.FirstLeft != null && + outRec.FirstLeft.PolyNode != null) + outRec.FirstLeft.PolyNode.AddChild(outRec.PolyNode); + else + polytree.AddChild(outRec.PolyNode); + } + } + //------------------------------------------------------------------------------ + + private void FixupOutPolyline(OutRec outrec) + { + OutPt pp = outrec.Pts; + OutPt lastPP = pp.Prev; + while (pp != lastPP) + { + pp = pp.Next; + if (pp.Pt == pp.Prev.Pt) + { + if (pp == lastPP) lastPP = pp.Prev; + OutPt tmpPP = pp.Prev; + tmpPP.Next = pp.Next; + pp.Next.Prev = tmpPP; + pp = tmpPP; + } + } + if (pp == pp.Prev) outrec.Pts = null; + } + //------------------------------------------------------------------------------ + + private void FixupOutPolygon(OutRec outRec) + { + //FixupOutPolygon() - removes duplicate points and simplifies consecutive + //parallel edges by removing the middle vertex. + OutPt lastOK = null; + outRec.BottomPt = null; + OutPt pp = outRec.Pts; + bool preserveCol = PreserveCollinear || StrictlySimple; + for (;;) + { + if (pp.Prev == pp || pp.Prev == pp.Next) + { + outRec.Pts = null; + return; + } + //test for duplicate points and collinear edges ... + if ((pp.Pt == pp.Next.Pt) || (pp.Pt == pp.Prev.Pt) || + (SlopesEqual(pp.Prev.Pt, pp.Pt, pp.Next.Pt, m_UseFullRange) && + (!preserveCol || !Pt2IsBetweenPt1AndPt3(pp.Prev.Pt, pp.Pt, pp.Next.Pt)))) + { + lastOK = null; + pp.Prev.Next = pp.Next; + pp.Next.Prev = pp.Prev; + pp = pp.Prev; + } + else if (pp == lastOK) break; + else + { + if (lastOK == null) lastOK = pp; + pp = pp.Next; + } + } + outRec.Pts = pp; + } + //------------------------------------------------------------------------------ + + OutPt DupOutPt(OutPt outPt, bool InsertAfter) + { + OutPt result = new OutPt(); + result.Pt = outPt.Pt; + result.Idx = outPt.Idx; + if (InsertAfter) + { + result.Next = outPt.Next; + result.Prev = outPt; + outPt.Next.Prev = result; + outPt.Next = result; + } + else + { + result.Prev = outPt.Prev; + result.Next = outPt; + outPt.Prev.Next = result; + outPt.Prev = result; + } + return result; + } + //------------------------------------------------------------------------------ + + bool GetOverlap(cInt a1, cInt a2, cInt b1, cInt b2, out cInt Left, out cInt Right) + { + if (a1 < a2) + { + if (b1 < b2) {Left = Math.Max(a1,b1); Right = Math.Min(a2,b2);} + else {Left = Math.Max(a1,b2); Right = Math.Min(a2,b1);} + } + else + { + if (b1 < b2) {Left = Math.Max(a2,b1); Right = Math.Min(a1,b2);} + else { Left = Math.Max(a2, b2); Right = Math.Min(a1, b1); } + } + return Left < Right; + } + //------------------------------------------------------------------------------ + + bool JoinHorz(OutPt op1, OutPt op1b, OutPt op2, OutPt op2b, + IntPoint Pt, bool DiscardLeft) + { + Direction Dir1 = (op1.Pt.X > op1b.Pt.X ? + Direction.dRightToLeft : Direction.dLeftToRight); + Direction Dir2 = (op2.Pt.X > op2b.Pt.X ? + Direction.dRightToLeft : Direction.dLeftToRight); + if (Dir1 == Dir2) return false; + + //When DiscardLeft, we want Op1b to be on the Left of Op1, otherwise we + //want Op1b to be on the Right. (And likewise with Op2 and Op2b.) + //So, to facilitate this while inserting Op1b and Op2b ... + //when DiscardLeft, make sure we're AT or RIGHT of Pt before adding Op1b, + //otherwise make sure we're AT or LEFT of Pt. (Likewise with Op2b.) + if (Dir1 == Direction.dLeftToRight) + { + while (op1.Next.Pt.X <= Pt.X && + op1.Next.Pt.X >= op1.Pt.X && op1.Next.Pt.Y == Pt.Y) + op1 = op1.Next; + if (DiscardLeft && (op1.Pt.X != Pt.X)) op1 = op1.Next; + op1b = DupOutPt(op1, !DiscardLeft); + if (op1b.Pt != Pt) + { + op1 = op1b; + op1.Pt = Pt; + op1b = DupOutPt(op1, !DiscardLeft); + } + } + else + { + while (op1.Next.Pt.X >= Pt.X && + op1.Next.Pt.X <= op1.Pt.X && op1.Next.Pt.Y == Pt.Y) + op1 = op1.Next; + if (!DiscardLeft && (op1.Pt.X != Pt.X)) op1 = op1.Next; + op1b = DupOutPt(op1, DiscardLeft); + if (op1b.Pt != Pt) + { + op1 = op1b; + op1.Pt = Pt; + op1b = DupOutPt(op1, DiscardLeft); + } + } + + if (Dir2 == Direction.dLeftToRight) + { + while (op2.Next.Pt.X <= Pt.X && + op2.Next.Pt.X >= op2.Pt.X && op2.Next.Pt.Y == Pt.Y) + op2 = op2.Next; + if (DiscardLeft && (op2.Pt.X != Pt.X)) op2 = op2.Next; + op2b = DupOutPt(op2, !DiscardLeft); + if (op2b.Pt != Pt) + { + op2 = op2b; + op2.Pt = Pt; + op2b = DupOutPt(op2, !DiscardLeft); + }; + } else + { + while (op2.Next.Pt.X >= Pt.X && + op2.Next.Pt.X <= op2.Pt.X && op2.Next.Pt.Y == Pt.Y) + op2 = op2.Next; + if (!DiscardLeft && (op2.Pt.X != Pt.X)) op2 = op2.Next; + op2b = DupOutPt(op2, DiscardLeft); + if (op2b.Pt != Pt) + { + op2 = op2b; + op2.Pt = Pt; + op2b = DupOutPt(op2, DiscardLeft); + }; + }; + + if ((Dir1 == Direction.dLeftToRight) == DiscardLeft) + { + op1.Prev = op2; + op2.Next = op1; + op1b.Next = op2b; + op2b.Prev = op1b; + } + else + { + op1.Next = op2; + op2.Prev = op1; + op1b.Prev = op2b; + op2b.Next = op1b; + } + return true; + } + //------------------------------------------------------------------------------ + + private bool JoinPoints(Join j, OutRec outRec1, OutRec outRec2) + { + OutPt op1 = j.OutPt1, op1b; + OutPt op2 = j.OutPt2, op2b; + + //There are 3 kinds of joins for output polygons ... + //1. Horizontal joins where Join.OutPt1 & Join.OutPt2 are vertices anywhere + //along (horizontal) collinear edges (& Join.OffPt is on the same horizontal). + //2. Non-horizontal joins where Join.OutPt1 & Join.OutPt2 are at the same + //location at the Bottom of the overlapping segment (& Join.OffPt is above). + //3. StrictlySimple joins where edges touch but are not collinear and where + //Join.OutPt1, Join.OutPt2 & Join.OffPt all share the same point. + bool isHorizontal = (j.OutPt1.Pt.Y == j.OffPt.Y); + + if (isHorizontal && (j.OffPt == j.OutPt1.Pt) && (j.OffPt == j.OutPt2.Pt)) + { + //Strictly Simple join ... + if (outRec1 != outRec2) return false; + op1b = j.OutPt1.Next; + while (op1b != op1 && (op1b.Pt == j.OffPt)) + op1b = op1b.Next; + bool reverse1 = (op1b.Pt.Y > j.OffPt.Y); + op2b = j.OutPt2.Next; + while (op2b != op2 && (op2b.Pt == j.OffPt)) + op2b = op2b.Next; + bool reverse2 = (op2b.Pt.Y > j.OffPt.Y); + if (reverse1 == reverse2) return false; + if (reverse1) + { + op1b = DupOutPt(op1, false); + op2b = DupOutPt(op2, true); + op1.Prev = op2; + op2.Next = op1; + op1b.Next = op2b; + op2b.Prev = op1b; + j.OutPt1 = op1; + j.OutPt2 = op1b; + return true; + } else + { + op1b = DupOutPt(op1, true); + op2b = DupOutPt(op2, false); + op1.Next = op2; + op2.Prev = op1; + op1b.Prev = op2b; + op2b.Next = op1b; + j.OutPt1 = op1; + j.OutPt2 = op1b; + return true; + } + } + else if (isHorizontal) + { + //treat horizontal joins differently to non-horizontal joins since with + //them we're not yet sure where the overlapping is. OutPt1.Pt & OutPt2.Pt + //may be anywhere along the horizontal edge. + op1b = op1; + while (op1.Prev.Pt.Y == op1.Pt.Y && op1.Prev != op1b && op1.Prev != op2) + op1 = op1.Prev; + while (op1b.Next.Pt.Y == op1b.Pt.Y && op1b.Next != op1 && op1b.Next != op2) + op1b = op1b.Next; + if (op1b.Next == op1 || op1b.Next == op2) return false; //a flat 'polygon' + + op2b = op2; + while (op2.Prev.Pt.Y == op2.Pt.Y && op2.Prev != op2b && op2.Prev != op1b) + op2 = op2.Prev; + while (op2b.Next.Pt.Y == op2b.Pt.Y && op2b.Next != op2 && op2b.Next != op1) + op2b = op2b.Next; + if (op2b.Next == op2 || op2b.Next == op1) return false; //a flat 'polygon' + + cInt Left, Right; + //Op1 -. Op1b & Op2 -. Op2b are the extremites of the horizontal edges + if (!GetOverlap(op1.Pt.X, op1b.Pt.X, op2.Pt.X, op2b.Pt.X, out Left, out Right)) + return false; + + //DiscardLeftSide: when overlapping edges are joined, a spike will created + //which needs to be cleaned up. However, we don't want Op1 or Op2 caught up + //on the discard Side as either may still be needed for other joins ... + IntPoint Pt; + bool DiscardLeftSide; + if (op1.Pt.X >= Left && op1.Pt.X <= Right) + { + Pt = op1.Pt; DiscardLeftSide = (op1.Pt.X > op1b.Pt.X); + } + else if (op2.Pt.X >= Left&& op2.Pt.X <= Right) + { + Pt = op2.Pt; DiscardLeftSide = (op2.Pt.X > op2b.Pt.X); + } + else if (op1b.Pt.X >= Left && op1b.Pt.X <= Right) + { + Pt = op1b.Pt; DiscardLeftSide = op1b.Pt.X > op1.Pt.X; + } + else + { + Pt = op2b.Pt; DiscardLeftSide = (op2b.Pt.X > op2.Pt.X); + } + j.OutPt1 = op1; + j.OutPt2 = op2; + return JoinHorz(op1, op1b, op2, op2b, Pt, DiscardLeftSide); + } else + { + //nb: For non-horizontal joins ... + // 1. Jr.OutPt1.Pt.Y == Jr.OutPt2.Pt.Y + // 2. Jr.OutPt1.Pt > Jr.OffPt.Y + + //make sure the polygons are correctly oriented ... + op1b = op1.Next; + while ((op1b.Pt == op1.Pt) && (op1b != op1)) op1b = op1b.Next; + bool Reverse1 = ((op1b.Pt.Y > op1.Pt.Y) || + !SlopesEqual(op1.Pt, op1b.Pt, j.OffPt, m_UseFullRange)); + if (Reverse1) + { + op1b = op1.Prev; + while ((op1b.Pt == op1.Pt) && (op1b != op1)) op1b = op1b.Prev; + if ((op1b.Pt.Y > op1.Pt.Y) || + !SlopesEqual(op1.Pt, op1b.Pt, j.OffPt, m_UseFullRange)) return false; + }; + op2b = op2.Next; + while ((op2b.Pt == op2.Pt) && (op2b != op2)) op2b = op2b.Next; + bool Reverse2 = ((op2b.Pt.Y > op2.Pt.Y) || + !SlopesEqual(op2.Pt, op2b.Pt, j.OffPt, m_UseFullRange)); + if (Reverse2) + { + op2b = op2.Prev; + while ((op2b.Pt == op2.Pt) && (op2b != op2)) op2b = op2b.Prev; + if ((op2b.Pt.Y > op2.Pt.Y) || + !SlopesEqual(op2.Pt, op2b.Pt, j.OffPt, m_UseFullRange)) return false; + } + + if ((op1b == op1) || (op2b == op2) || (op1b == op2b) || + ((outRec1 == outRec2) && (Reverse1 == Reverse2))) return false; + + if (Reverse1) + { + op1b = DupOutPt(op1, false); + op2b = DupOutPt(op2, true); + op1.Prev = op2; + op2.Next = op1; + op1b.Next = op2b; + op2b.Prev = op1b; + j.OutPt1 = op1; + j.OutPt2 = op1b; + return true; + } else + { + op1b = DupOutPt(op1, true); + op2b = DupOutPt(op2, false); + op1.Next = op2; + op2.Prev = op1; + op1b.Prev = op2b; + op2b.Next = op1b; + j.OutPt1 = op1; + j.OutPt2 = op1b; + return true; + } + } + } + //---------------------------------------------------------------------- + + public static int PointInPolygon(IntPoint pt, Path path) + { + //returns 0 if false, +1 if true, -1 if pt ON polygon boundary + //See "The Point in Polygon Problem for Arbitrary Polygons" by Hormann & Agathos + //http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.5498&rep=rep1&type=pdf + int result = 0, cnt = path.Count; + if (cnt < 3) return 0; + IntPoint ip = path[0]; + for (int i = 1; i <= cnt; ++i) + { + IntPoint ipNext = (i == cnt ? path[0] : path[i]); + if (ipNext.Y == pt.Y) + { + if ((ipNext.X == pt.X) || (ip.Y == pt.Y && + ((ipNext.X > pt.X) == (ip.X < pt.X)))) return -1; + } + if ((ip.Y < pt.Y) != (ipNext.Y < pt.Y)) + { + if (ip.X >= pt.X) + { + if (ipNext.X > pt.X) result = 1 - result; + else + { + double d = (double)(ip.X - pt.X) * (ipNext.Y - pt.Y) - + (double)(ipNext.X - pt.X) * (ip.Y - pt.Y); + if (d == 0) return -1; + else if ((d > 0) == (ipNext.Y > ip.Y)) result = 1 - result; + } + } + else + { + if (ipNext.X > pt.X) + { + double d = (double)(ip.X - pt.X) * (ipNext.Y - pt.Y) - + (double)(ipNext.X - pt.X) * (ip.Y - pt.Y); + if (d == 0) return -1; + else if ((d > 0) == (ipNext.Y > ip.Y)) result = 1 - result; + } + } + } + ip = ipNext; + } + return result; + } + //------------------------------------------------------------------------------ + + //See "The Point in Polygon Problem for Arbitrary Polygons" by Hormann & Agathos + //http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.5498&rep=rep1&type=pdf + private static int PointInPolygon(IntPoint pt, OutPt op) + { + //returns 0 if false, +1 if true, -1 if pt ON polygon boundary + int result = 0; + OutPt startOp = op; + cInt ptx = pt.X, pty = pt.Y; + cInt poly0x = op.Pt.X, poly0y = op.Pt.Y; + do + { + op = op.Next; + cInt poly1x = op.Pt.X, poly1y = op.Pt.Y; + + if (poly1y == pty) + { + if ((poly1x == ptx) || (poly0y == pty && + ((poly1x > ptx) == (poly0x < ptx)))) return -1; + } + if ((poly0y < pty) != (poly1y < pty)) + { + if (poly0x >= ptx) + { + if (poly1x > ptx) result = 1 - result; + else + { + double d = (double)(poly0x - ptx) * (poly1y - pty) - + (double)(poly1x - ptx) * (poly0y - pty); + if (d == 0) return -1; + if ((d > 0) == (poly1y > poly0y)) result = 1 - result; + } + } + else + { + if (poly1x > ptx) + { + double d = (double)(poly0x - ptx) * (poly1y - pty) - + (double)(poly1x - ptx) * (poly0y - pty); + if (d == 0) return -1; + if ((d > 0) == (poly1y > poly0y)) result = 1 - result; + } + } + } + poly0x = poly1x; poly0y = poly1y; + } while (startOp != op); + return result; + } + //------------------------------------------------------------------------------ + + private static bool Poly2ContainsPoly1(OutPt outPt1, OutPt outPt2) + { + OutPt op = outPt1; + do + { + //nb: PointInPolygon returns 0 if false, +1 if true, -1 if pt on polygon + int res = PointInPolygon(op.Pt, outPt2); + if (res >= 0) return res > 0; + op = op.Next; + } + while (op != outPt1); + return true; + } + //---------------------------------------------------------------------- + + private void FixupFirstLefts1(OutRec OldOutRec, OutRec NewOutRec) + { + foreach (OutRec outRec in m_PolyOuts) + { + OutRec firstLeft = ParseFirstLeft(outRec.FirstLeft); + if (outRec.Pts != null && firstLeft == OldOutRec) + { + if (Poly2ContainsPoly1(outRec.Pts, NewOutRec.Pts)) + outRec.FirstLeft = NewOutRec; + } + } + } + //---------------------------------------------------------------------- + + private void FixupFirstLefts2(OutRec innerOutRec, OutRec outerOutRec) + { + //A polygon has split into two such that one is now the inner of the other. + //It's possible that these polygons now wrap around other polygons, so check + //every polygon that's also contained by OuterOutRec's FirstLeft container + //(including nil) to see if they've become inner to the new inner polygon ... + OutRec orfl = outerOutRec.FirstLeft; + foreach (OutRec outRec in m_PolyOuts) + { + if (outRec.Pts == null || outRec == outerOutRec || outRec == innerOutRec) + continue; + OutRec firstLeft = ParseFirstLeft(outRec.FirstLeft); + if (firstLeft != orfl && firstLeft != innerOutRec && firstLeft != outerOutRec) + continue; + if (Poly2ContainsPoly1(outRec.Pts, innerOutRec.Pts)) + outRec.FirstLeft = innerOutRec; + else if (Poly2ContainsPoly1(outRec.Pts, outerOutRec.Pts)) + outRec.FirstLeft = outerOutRec; + else if (outRec.FirstLeft == innerOutRec || outRec.FirstLeft == outerOutRec) + outRec.FirstLeft = orfl; + } + } + //---------------------------------------------------------------------- + + private void FixupFirstLefts3(OutRec OldOutRec, OutRec NewOutRec) + { + //same as FixupFirstLefts1 but doesn't call Poly2ContainsPoly1() + foreach (OutRec outRec in m_PolyOuts) + { + OutRec firstLeft = ParseFirstLeft(outRec.FirstLeft); + if (outRec.Pts != null && firstLeft == OldOutRec) + outRec.FirstLeft = NewOutRec; + } + } + //---------------------------------------------------------------------- + + private static OutRec ParseFirstLeft(OutRec FirstLeft) + { + while (FirstLeft != null && FirstLeft.Pts == null) + FirstLeft = FirstLeft.FirstLeft; + return FirstLeft; + } + //------------------------------------------------------------------------------ + + private void JoinCommonEdges() + { + for (int i = 0; i < m_Joins.Count; i++) + { + Join join = m_Joins[i]; + + OutRec outRec1 = GetOutRec(join.OutPt1.Idx); + OutRec outRec2 = GetOutRec(join.OutPt2.Idx); + + if (outRec1.Pts == null || outRec2.Pts == null) continue; + if (outRec1.IsOpen || outRec2.IsOpen) continue; + + //get the polygon fragment with the correct hole state (FirstLeft) + //before calling JoinPoints() ... + OutRec holeStateRec; + if (outRec1 == outRec2) holeStateRec = outRec1; + else if (OutRec1RightOfOutRec2(outRec1, outRec2)) holeStateRec = outRec2; + else if (OutRec1RightOfOutRec2(outRec2, outRec1)) holeStateRec = outRec1; + else holeStateRec = GetLowermostRec(outRec1, outRec2); + + if (!JoinPoints(join, outRec1, outRec2)) continue; + + if (outRec1 == outRec2) + { + //instead of joining two polygons, we've just created a new one by + //splitting one polygon into two. + outRec1.Pts = join.OutPt1; + outRec1.BottomPt = null; + outRec2 = CreateOutRec(); + outRec2.Pts = join.OutPt2; + + //update all OutRec2.Pts Idx's ... + UpdateOutPtIdxs(outRec2); + + if (Poly2ContainsPoly1(outRec2.Pts, outRec1.Pts)) + { + //outRec1 contains outRec2 ... + outRec2.IsHole = !outRec1.IsHole; + outRec2.FirstLeft = outRec1; + + if (m_UsingPolyTree) FixupFirstLefts2(outRec2, outRec1); + + if ((outRec2.IsHole ^ ReverseSolution) == (Area(outRec2) > 0)) + ReversePolyPtLinks(outRec2.Pts); + + } + else if (Poly2ContainsPoly1(outRec1.Pts, outRec2.Pts)) + { + //outRec2 contains outRec1 ... + outRec2.IsHole = outRec1.IsHole; + outRec1.IsHole = !outRec2.IsHole; + outRec2.FirstLeft = outRec1.FirstLeft; + outRec1.FirstLeft = outRec2; + + if (m_UsingPolyTree) FixupFirstLefts2(outRec1, outRec2); + + if ((outRec1.IsHole ^ ReverseSolution) == (Area(outRec1) > 0)) + ReversePolyPtLinks(outRec1.Pts); + } + else + { + //the 2 polygons are completely separate ... + outRec2.IsHole = outRec1.IsHole; + outRec2.FirstLeft = outRec1.FirstLeft; + + //fixup FirstLeft pointers that may need reassigning to OutRec2 + if (m_UsingPolyTree) FixupFirstLefts1(outRec1, outRec2); + } + + } else + { + //joined 2 polygons together ... + + outRec2.Pts = null; + outRec2.BottomPt = null; + outRec2.Idx = outRec1.Idx; + + outRec1.IsHole = holeStateRec.IsHole; + if (holeStateRec == outRec2) + outRec1.FirstLeft = outRec2.FirstLeft; + outRec2.FirstLeft = outRec1; + + //fixup FirstLeft pointers that may need reassigning to OutRec1 + if (m_UsingPolyTree) FixupFirstLefts3(outRec2, outRec1); + } + } + } + //------------------------------------------------------------------------------ + + private void UpdateOutPtIdxs(OutRec outrec) + { + OutPt op = outrec.Pts; + do + { + op.Idx = outrec.Idx; + op = op.Prev; + } + while(op != outrec.Pts); + } + //------------------------------------------------------------------------------ + + private void DoSimplePolygons() + { + int i = 0; + while (i < m_PolyOuts.Count) + { + OutRec outrec = m_PolyOuts[i++]; + OutPt op = outrec.Pts; + if (op == null || outrec.IsOpen) continue; + do //for each Pt in Polygon until duplicate found do ... + { + OutPt op2 = op.Next; + while (op2 != outrec.Pts) + { + if ((op.Pt == op2.Pt) && op2.Next != op && op2.Prev != op) + { + //split the polygon into two ... + OutPt op3 = op.Prev; + OutPt op4 = op2.Prev; + op.Prev = op4; + op4.Next = op; + op2.Prev = op3; + op3.Next = op2; + + outrec.Pts = op; + OutRec outrec2 = CreateOutRec(); + outrec2.Pts = op2; + UpdateOutPtIdxs(outrec2); + if (Poly2ContainsPoly1(outrec2.Pts, outrec.Pts)) + { + //OutRec2 is contained by OutRec1 ... + outrec2.IsHole = !outrec.IsHole; + outrec2.FirstLeft = outrec; + if (m_UsingPolyTree) FixupFirstLefts2(outrec2, outrec); + } + else + if (Poly2ContainsPoly1(outrec.Pts, outrec2.Pts)) + { + //OutRec1 is contained by OutRec2 ... + outrec2.IsHole = outrec.IsHole; + outrec.IsHole = !outrec2.IsHole; + outrec2.FirstLeft = outrec.FirstLeft; + outrec.FirstLeft = outrec2; + if (m_UsingPolyTree) FixupFirstLefts2(outrec, outrec2); + } + else + { + //the 2 polygons are separate ... + outrec2.IsHole = outrec.IsHole; + outrec2.FirstLeft = outrec.FirstLeft; + if (m_UsingPolyTree) FixupFirstLefts1(outrec, outrec2); + } + op2 = op; //ie get ready for the next iteration + } + op2 = op2.Next; + } + op = op.Next; + } + while (op != outrec.Pts); + } + } + //------------------------------------------------------------------------------ + + public static double Area(Path poly) + { + int cnt = (int)poly.Count; + if (cnt < 3) return 0; + double a = 0; + for (int i = 0, j = cnt - 1; i < cnt; ++i) + { + a += ((double)poly[j].X + poly[i].X) * ((double)poly[j].Y - poly[i].Y); + j = i; + } + return -a * 0.5; + } + //------------------------------------------------------------------------------ + + internal double Area(OutRec outRec) + { + return Area(outRec.Pts); + } + //------------------------------------------------------------------------------ + + internal double Area(OutPt op) + { + OutPt opFirst = op; + if (op == null) return 0; + double a = 0; + do { + a = a + (double)(op.Prev.Pt.X + op.Pt.X) * (double)(op.Prev.Pt.Y - op.Pt.Y); + op = op.Next; + } while (op != opFirst); + return a * 0.5; + } + + //------------------------------------------------------------------------------ + // SimplifyPolygon functions ... + // Convert self-intersecting polygons into simple polygons + //------------------------------------------------------------------------------ + + public static Paths SimplifyPolygon(Path poly, + PolyFillType fillType = PolyFillType.pftEvenOdd) + { + Paths result = new Paths(); + Clipper c = new Clipper(); + c.StrictlySimple = true; + c.AddPath(poly, PolyType.ptSubject, true); + c.Execute(ClipType.ctUnion, result, fillType, fillType); + return result; + } + //------------------------------------------------------------------------------ + + public static Paths SimplifyPolygons(Paths polys, + PolyFillType fillType = PolyFillType.pftEvenOdd) + { + Paths result = new Paths(); + Clipper c = new Clipper(); + c.StrictlySimple = true; + c.AddPaths(polys, PolyType.ptSubject, true); + c.Execute(ClipType.ctUnion, result, fillType, fillType); + return result; + } + //------------------------------------------------------------------------------ + + private static double DistanceSqrd(IntPoint pt1, IntPoint pt2) + { + double dx = ((double)pt1.X - pt2.X); + double dy = ((double)pt1.Y - pt2.Y); + return (dx*dx + dy*dy); + } + //------------------------------------------------------------------------------ + + private static double DistanceFromLineSqrd(IntPoint pt, IntPoint ln1, IntPoint ln2) + { + //The equation of a line in general form (Ax + By + C = 0) + //given 2 points (x¹,y¹) & (x²,y²) is ... + //(y¹ - y²)x + (x² - x¹)y + (y² - y¹)x¹ - (x² - x¹)y¹ = 0 + //A = (y¹ - y²); B = (x² - x¹); C = (y² - y¹)x¹ - (x² - x¹)y¹ + //perpendicular distance of point (x³,y³) = (Ax³ + By³ + C)/Sqrt(A² + B²) + //see http://en.wikipedia.org/wiki/Perpendicular_distance + double A = ln1.Y - ln2.Y; + double B = ln2.X - ln1.X; + double C = A * ln1.X + B * ln1.Y; + C = A * pt.X + B * pt.Y - C; + return (C * C) / (A * A + B * B); + } + //--------------------------------------------------------------------------- + + private static bool SlopesNearCollinear(IntPoint pt1, + IntPoint pt2, IntPoint pt3, double distSqrd) + { + //this function is more accurate when the point that's GEOMETRICALLY + //between the other 2 points is the one that's tested for distance. + //nb: with 'spikes', either pt1 or pt3 is geometrically between the other pts + if (Math.Abs(pt1.X - pt2.X) > Math.Abs(pt1.Y - pt2.Y)) + { + if ((pt1.X > pt2.X) == (pt1.X < pt3.X)) + return DistanceFromLineSqrd(pt1, pt2, pt3) < distSqrd; + else if ((pt2.X > pt1.X) == (pt2.X < pt3.X)) + return DistanceFromLineSqrd(pt2, pt1, pt3) < distSqrd; + else + return DistanceFromLineSqrd(pt3, pt1, pt2) < distSqrd; + } + else + { + if ((pt1.Y > pt2.Y) == (pt1.Y < pt3.Y)) + return DistanceFromLineSqrd(pt1, pt2, pt3) < distSqrd; + else if ((pt2.Y > pt1.Y) == (pt2.Y < pt3.Y)) + return DistanceFromLineSqrd(pt2, pt1, pt3) < distSqrd; + else + return DistanceFromLineSqrd(pt3, pt1, pt2) < distSqrd; + } + } + //------------------------------------------------------------------------------ + + private static bool PointsAreClose(IntPoint pt1, IntPoint pt2, double distSqrd) + { + double dx = (double)pt1.X - pt2.X; + double dy = (double)pt1.Y - pt2.Y; + return ((dx * dx) + (dy * dy) <= distSqrd); + } + //------------------------------------------------------------------------------ + + private static OutPt ExcludeOp(OutPt op) + { + OutPt result = op.Prev; + result.Next = op.Next; + op.Next.Prev = result; + result.Idx = 0; + return result; + } + //------------------------------------------------------------------------------ + + public static Path CleanPolygon(Path path, double distance = 1.415) + { + //distance = proximity in units/pixels below which vertices will be stripped. + //Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have + //both x & y coords within 1 unit, then the second vertex will be stripped. + + int cnt = path.Count; + + if (cnt == 0) return new Path(); + + OutPt [] outPts = new OutPt[cnt]; + for (int i = 0; i < cnt; ++i) outPts[i] = new OutPt(); + + for (int i = 0; i < cnt; ++i) + { + outPts[i].Pt = path[i]; + outPts[i].Next = outPts[(i + 1) % cnt]; + outPts[i].Next.Prev = outPts[i]; + outPts[i].Idx = 0; + } + + double distSqrd = distance * distance; + OutPt op = outPts[0]; + while (op.Idx == 0 && op.Next != op.Prev) + { + if (PointsAreClose(op.Pt, op.Prev.Pt, distSqrd)) + { + op = ExcludeOp(op); + cnt--; + } + else if (PointsAreClose(op.Prev.Pt, op.Next.Pt, distSqrd)) + { + ExcludeOp(op.Next); + op = ExcludeOp(op); + cnt -= 2; + } + else if (SlopesNearCollinear(op.Prev.Pt, op.Pt, op.Next.Pt, distSqrd)) + { + op = ExcludeOp(op); + cnt--; + } + else + { + op.Idx = 1; + op = op.Next; + } + } + + if (cnt < 3) cnt = 0; + Path result = new Path(cnt); + for (int i = 0; i < cnt; ++i) + { + result.Add(op.Pt); + op = op.Next; + } + outPts = null; + return result; + } + //------------------------------------------------------------------------------ + + public static Paths CleanPolygons(Paths polys, + double distance = 1.415) + { + Paths result = new Paths(polys.Count); + for (int i = 0; i < polys.Count; i++) + result.Add(CleanPolygon(polys[i], distance)); + return result; + } + //------------------------------------------------------------------------------ + + internal static Paths Minkowski(Path pattern, Path path, bool IsSum, bool IsClosed) + { + int delta = (IsClosed ? 1 : 0); + int polyCnt = pattern.Count; + int pathCnt = path.Count; + Paths result = new Paths(pathCnt); + if (IsSum) + for (int i = 0; i < pathCnt; i++) + { + Path p = new Path(polyCnt); + foreach (IntPoint ip in pattern) + p.Add(new IntPoint(path[i].X + ip.X, path[i].Y + ip.Y)); + result.Add(p); + } + else + for (int i = 0; i < pathCnt; i++) + { + Path p = new Path(polyCnt); + foreach (IntPoint ip in pattern) + p.Add(new IntPoint(path[i].X - ip.X, path[i].Y - ip.Y)); + result.Add(p); + } + + Paths quads = new Paths((pathCnt + delta) * (polyCnt + 1)); + for (int i = 0; i < pathCnt - 1 + delta; i++) + for (int j = 0; j < polyCnt; j++) + { + Path quad = new Path(4); + quad.Add(result[i % pathCnt][j % polyCnt]); + quad.Add(result[(i + 1) % pathCnt][j % polyCnt]); + quad.Add(result[(i + 1) % pathCnt][(j + 1) % polyCnt]); + quad.Add(result[i % pathCnt][(j + 1) % polyCnt]); + if (!Orientation(quad)) quad.Reverse(); + quads.Add(quad); + } + return quads; + } + //------------------------------------------------------------------------------ + + public static Paths MinkowskiSum(Path pattern, Path path, bool pathIsClosed) + { + Paths paths = Minkowski(pattern, path, true, pathIsClosed); + Clipper c = new Clipper(); + c.AddPaths(paths, PolyType.ptSubject, true); + c.Execute(ClipType.ctUnion, paths, PolyFillType.pftNonZero, PolyFillType.pftNonZero); + return paths; + } + //------------------------------------------------------------------------------ + + private static Path TranslatePath(Path path, IntPoint delta) + { + Path outPath = new Path(path.Count); + for (int i = 0; i < path.Count; i++) + outPath.Add(new IntPoint(path[i].X + delta.X, path[i].Y + delta.Y)); + return outPath; + } + //------------------------------------------------------------------------------ + + public static Paths MinkowskiSum(Path pattern, Paths paths, bool pathIsClosed) + { + Paths solution = new Paths(); + Clipper c = new Clipper(); + for (int i = 0; i < paths.Count; ++i) + { + Paths tmp = Minkowski(pattern, paths[i], true, pathIsClosed); + c.AddPaths(tmp, PolyType.ptSubject, true); + if (pathIsClosed) + { + Path path = TranslatePath(paths[i], pattern[0]); + c.AddPath(path, PolyType.ptClip, true); + } + } + c.Execute(ClipType.ctUnion, solution, + PolyFillType.pftNonZero, PolyFillType.pftNonZero); + return solution; + } + //------------------------------------------------------------------------------ + + public static Paths MinkowskiDiff(Path poly1, Path poly2) + { + Paths paths = Minkowski(poly1, poly2, false, true); + Clipper c = new Clipper(); + c.AddPaths(paths, PolyType.ptSubject, true); + c.Execute(ClipType.ctUnion, paths, PolyFillType.pftNonZero, PolyFillType.pftNonZero); + return paths; + } + //------------------------------------------------------------------------------ + + internal enum NodeType { ntAny, ntOpen, ntClosed }; + + public static Paths PolyTreeToPaths(PolyTree polytree) + { + + Paths result = new Paths(); + result.Capacity = polytree.Total; + AddPolyNodeToPaths(polytree, NodeType.ntAny, result); + return result; + } + //------------------------------------------------------------------------------ + + internal static void AddPolyNodeToPaths(PolyNode polynode, NodeType nt, Paths paths) + { + bool match = true; + switch (nt) + { + case NodeType.ntOpen: return; + case NodeType.ntClosed: match = !polynode.IsOpen; break; + default: break; + } + + if (polynode.m_polygon.Count > 0 && match) + paths.Add(polynode.m_polygon); + foreach (PolyNode pn in polynode.Childs) + AddPolyNodeToPaths(pn, nt, paths); + } + //------------------------------------------------------------------------------ + + public static Paths OpenPathsFromPolyTree(PolyTree polytree) + { + Paths result = new Paths(); + result.Capacity = polytree.ChildCount; + for (int i = 0; i < polytree.ChildCount; i++) + if (polytree.Childs[i].IsOpen) + result.Add(polytree.Childs[i].m_polygon); + return result; + } + //------------------------------------------------------------------------------ + + public static Paths ClosedPathsFromPolyTree(PolyTree polytree) + { + Paths result = new Paths(); + result.Capacity = polytree.Total; + AddPolyNodeToPaths(polytree, NodeType.ntClosed, result); + return result; + } + //------------------------------------------------------------------------------ + + } //end Clipper + + public class ClipperOffset + { + private Paths m_destPolys; + private Path m_srcPoly; + private Path m_destPoly; + private List m_normals = new List(); + private double m_delta, m_sinA, m_sin, m_cos; + private double m_miterLim, m_StepsPerRad; + + private IntPoint m_lowest; + private PolyNode m_polyNodes = new PolyNode(); + + public double ArcTolerance { get; set; } + public double MiterLimit { get; set; } + + private const double two_pi = Math.PI * 2; + private const double def_arc_tolerance = 0.25; + + public ClipperOffset( + double miterLimit = 2.0, double arcTolerance = def_arc_tolerance) + { + MiterLimit = miterLimit; + ArcTolerance = arcTolerance; + m_lowest.X = -1; + } + //------------------------------------------------------------------------------ + + public void Clear() + { + m_polyNodes.Childs.Clear(); + m_lowest.X = -1; + } + //------------------------------------------------------------------------------ + + internal static cInt Round(double value) + { + return value < 0 ? (cInt)(value - 0.5) : (cInt)(value + 0.5); + } + //------------------------------------------------------------------------------ + + public void AddPath(Path path, JoinType joinType, EndType endType) + { + int highI = path.Count - 1; + if (highI < 0) return; + PolyNode newNode = new PolyNode(); + newNode.m_jointype = joinType; + newNode.m_endtype = endType; + + //strip duplicate points from path and also get index to the lowest point ... + if (endType == EndType.etClosedLine || endType == EndType.etClosedPolygon) + while (highI > 0 && path[0] == path[highI]) highI--; + newNode.m_polygon.Capacity = highI + 1; + newNode.m_polygon.Add(path[0]); + int j = 0, k = 0; + for (int i = 1; i <= highI; i++) + if (newNode.m_polygon[j] != path[i]) + { + j++; + newNode.m_polygon.Add(path[i]); + if (path[i].Y > newNode.m_polygon[k].Y || + (path[i].Y == newNode.m_polygon[k].Y && + path[i].X < newNode.m_polygon[k].X)) k = j; + } + if (endType == EndType.etClosedPolygon && j < 2) return; + + m_polyNodes.AddChild(newNode); + + //if this path's lowest pt is lower than all the others then update m_lowest + if (endType != EndType.etClosedPolygon) return; + if (m_lowest.X < 0) + m_lowest = new IntPoint(m_polyNodes.ChildCount - 1, k); + else + { + IntPoint ip = m_polyNodes.Childs[(int)m_lowest.X].m_polygon[(int)m_lowest.Y]; + if (newNode.m_polygon[k].Y > ip.Y || + (newNode.m_polygon[k].Y == ip.Y && + newNode.m_polygon[k].X < ip.X)) + m_lowest = new IntPoint(m_polyNodes.ChildCount - 1, k); + } + } + //------------------------------------------------------------------------------ + + public void AddPaths(Paths paths, JoinType joinType, EndType endType) + { + foreach (Path p in paths) + AddPath(p, joinType, endType); + } + //------------------------------------------------------------------------------ + + private void FixOrientations() + { + //fixup orientations of all closed paths if the orientation of the + //closed path with the lowermost vertex is wrong ... + if (m_lowest.X >= 0 && + !Clipper.Orientation(m_polyNodes.Childs[(int)m_lowest.X].m_polygon)) + { + for (int i = 0; i < m_polyNodes.ChildCount; i++) + { + PolyNode node = m_polyNodes.Childs[i]; + if (node.m_endtype == EndType.etClosedPolygon || + (node.m_endtype == EndType.etClosedLine && + Clipper.Orientation(node.m_polygon))) + node.m_polygon.Reverse(); + } + } + else + { + for (int i = 0; i < m_polyNodes.ChildCount; i++) + { + PolyNode node = m_polyNodes.Childs[i]; + if (node.m_endtype == EndType.etClosedLine && + !Clipper.Orientation(node.m_polygon)) + node.m_polygon.Reverse(); + } + } + } + //------------------------------------------------------------------------------ + + internal static DoublePoint GetUnitNormal(IntPoint pt1, IntPoint pt2) + { + double dx = (pt2.X - pt1.X); + double dy = (pt2.Y - pt1.Y); + if ((dx == 0) && (dy == 0)) return new DoublePoint(); + + double f = 1 * 1.0 / Math.Sqrt(dx * dx + dy * dy); + dx *= f; + dy *= f; + + return new DoublePoint(dy, -dx); + } + //------------------------------------------------------------------------------ + + private void DoOffset(double delta) + { + m_destPolys = new Paths(); + m_delta = delta; + + //if Zero offset, just copy any CLOSED polygons to m_p and return ... + if (ClipperBase.near_zero(delta)) + { + m_destPolys.Capacity = m_polyNodes.ChildCount; + for (int i = 0; i < m_polyNodes.ChildCount; i++) + { + PolyNode node = m_polyNodes.Childs[i]; + if (node.m_endtype == EndType.etClosedPolygon) + m_destPolys.Add(node.m_polygon); + } + return; + } + + //see offset_triginometry3.svg in the documentation folder ... + if (MiterLimit > 2) m_miterLim = 2 / (MiterLimit * MiterLimit); + else m_miterLim = 0.5; + + double y; + if (ArcTolerance <= 0.0) + y = def_arc_tolerance; + else if (ArcTolerance > Math.Abs(delta) * def_arc_tolerance) + y = Math.Abs(delta) * def_arc_tolerance; + else + y = ArcTolerance; + //see offset_triginometry2.svg in the documentation folder ... + double steps = Math.PI / Math.Acos(1 - y / Math.Abs(delta)); + m_sin = Math.Sin(two_pi / steps); + m_cos = Math.Cos(two_pi / steps); + m_StepsPerRad = steps / two_pi; + if (delta < 0.0) m_sin = -m_sin; + + m_destPolys.Capacity = m_polyNodes.ChildCount * 2; + for (int i = 0; i < m_polyNodes.ChildCount; i++) + { + PolyNode node = m_polyNodes.Childs[i]; + m_srcPoly = node.m_polygon; + + int len = m_srcPoly.Count; + + if (len == 0 || (delta <= 0 && (len < 3 || + node.m_endtype != EndType.etClosedPolygon))) + continue; + + m_destPoly = new Path(); + + if (len == 1) + { + if (node.m_jointype == JoinType.jtRound) + { + double X = 1.0, Y = 0.0; + for (int j = 1; j <= steps; j++) + { + m_destPoly.Add(new IntPoint( + Round(m_srcPoly[0].X + X * delta), + Round(m_srcPoly[0].Y + Y * delta))); + double X2 = X; + X = X * m_cos - m_sin * Y; + Y = X2 * m_sin + Y * m_cos; + } + } + else + { + double X = -1.0, Y = -1.0; + for (int j = 0; j < 4; ++j) + { + m_destPoly.Add(new IntPoint( + Round(m_srcPoly[0].X + X * delta), + Round(m_srcPoly[0].Y + Y * delta))); + if (X < 0) X = 1; + else if (Y < 0) Y = 1; + else X = -1; + } + } + m_destPolys.Add(m_destPoly); + continue; + } + + //build m_normals ... + m_normals.Clear(); + m_normals.Capacity = len; + for (int j = 0; j < len - 1; j++) + m_normals.Add(GetUnitNormal(m_srcPoly[j], m_srcPoly[j + 1])); + if (node.m_endtype == EndType.etClosedLine || + node.m_endtype == EndType.etClosedPolygon) + m_normals.Add(GetUnitNormal(m_srcPoly[len - 1], m_srcPoly[0])); + else + m_normals.Add(new DoublePoint(m_normals[len - 2])); + + if (node.m_endtype == EndType.etClosedPolygon) + { + int k = len - 1; + for (int j = 0; j < len; j++) + OffsetPoint(j, ref k, node.m_jointype); + m_destPolys.Add(m_destPoly); + } + else if (node.m_endtype == EndType.etClosedLine) + { + int k = len - 1; + for (int j = 0; j < len; j++) + OffsetPoint(j, ref k, node.m_jointype); + m_destPolys.Add(m_destPoly); + m_destPoly = new Path(); + //re-build m_normals ... + DoublePoint n = m_normals[len - 1]; + for (int j = len - 1; j > 0; j--) + m_normals[j] = new DoublePoint(-m_normals[j - 1].X, -m_normals[j - 1].Y); + m_normals[0] = new DoublePoint(-n.X, -n.Y); + k = 0; + for (int j = len - 1; j >= 0; j--) + OffsetPoint(j, ref k, node.m_jointype); + m_destPolys.Add(m_destPoly); + } + else + { + int k = 0; + for (int j = 1; j < len - 1; ++j) + OffsetPoint(j, ref k, node.m_jointype); + + IntPoint pt1; + if (node.m_endtype == EndType.etOpenButt) + { + int j = len - 1; + pt1 = new IntPoint((cInt)Round(m_srcPoly[j].X + m_normals[j].X * + delta), (cInt)Round(m_srcPoly[j].Y + m_normals[j].Y * delta)); + m_destPoly.Add(pt1); + pt1 = new IntPoint((cInt)Round(m_srcPoly[j].X - m_normals[j].X * + delta), (cInt)Round(m_srcPoly[j].Y - m_normals[j].Y * delta)); + m_destPoly.Add(pt1); + } + else + { + int j = len - 1; + k = len - 2; + m_sinA = 0; + m_normals[j] = new DoublePoint(-m_normals[j].X, -m_normals[j].Y); + if (node.m_endtype == EndType.etOpenSquare) + DoSquare(j, k); + else + DoRound(j, k); + } + + //re-build m_normals ... + for (int j = len - 1; j > 0; j--) + m_normals[j] = new DoublePoint(-m_normals[j - 1].X, -m_normals[j - 1].Y); + + m_normals[0] = new DoublePoint(-m_normals[1].X, -m_normals[1].Y); + + k = len - 1; + for (int j = k - 1; j > 0; --j) + OffsetPoint(j, ref k, node.m_jointype); + + if (node.m_endtype == EndType.etOpenButt) + { + pt1 = new IntPoint((cInt)Round(m_srcPoly[0].X - m_normals[0].X * delta), + (cInt)Round(m_srcPoly[0].Y - m_normals[0].Y * delta)); + m_destPoly.Add(pt1); + pt1 = new IntPoint((cInt)Round(m_srcPoly[0].X + m_normals[0].X * delta), + (cInt)Round(m_srcPoly[0].Y + m_normals[0].Y * delta)); + m_destPoly.Add(pt1); + } + else + { + k = 1; + m_sinA = 0; + if (node.m_endtype == EndType.etOpenSquare) + DoSquare(0, 1); + else + DoRound(0, 1); + } + m_destPolys.Add(m_destPoly); + } + } + } + //------------------------------------------------------------------------------ + + public void Execute(ref Paths solution, double delta) + { + solution.Clear(); + FixOrientations(); + DoOffset(delta); + //now clean up 'corners' ... + Clipper clpr = new Clipper(); + clpr.AddPaths(m_destPolys, PolyType.ptSubject, true); + if (delta > 0) + { + clpr.Execute(ClipType.ctUnion, solution, + PolyFillType.pftPositive, PolyFillType.pftPositive); + } + else + { + IntRect r = Clipper.GetBounds(m_destPolys); + Path outer = new Path(4); + + outer.Add(new IntPoint(r.left - 10, r.bottom + 10)); + outer.Add(new IntPoint(r.right + 10, r.bottom + 10)); + outer.Add(new IntPoint(r.right + 10, r.top - 10)); + outer.Add(new IntPoint(r.left - 10, r.top - 10)); + + clpr.AddPath(outer, PolyType.ptSubject, true); + clpr.ReverseSolution = true; + clpr.Execute(ClipType.ctUnion, solution, PolyFillType.pftNegative, PolyFillType.pftNegative); + if (solution.Count > 0) solution.RemoveAt(0); + } + } + //------------------------------------------------------------------------------ + + public void Execute(ref PolyTree solution, double delta) + { + solution.Clear(); + FixOrientations(); + DoOffset(delta); + + //now clean up 'corners' ... + Clipper clpr = new Clipper(); + clpr.AddPaths(m_destPolys, PolyType.ptSubject, true); + if (delta > 0) + { + clpr.Execute(ClipType.ctUnion, solution, + PolyFillType.pftPositive, PolyFillType.pftPositive); + } + else + { + IntRect r = Clipper.GetBounds(m_destPolys); + Path outer = new Path(4); + + outer.Add(new IntPoint(r.left - 10, r.bottom + 10)); + outer.Add(new IntPoint(r.right + 10, r.bottom + 10)); + outer.Add(new IntPoint(r.right + 10, r.top - 10)); + outer.Add(new IntPoint(r.left - 10, r.top - 10)); + + clpr.AddPath(outer, PolyType.ptSubject, true); + clpr.ReverseSolution = true; + clpr.Execute(ClipType.ctUnion, solution, PolyFillType.pftNegative, PolyFillType.pftNegative); + //remove the outer PolyNode rectangle ... + if (solution.ChildCount == 1 && solution.Childs[0].ChildCount > 0) + { + PolyNode outerNode = solution.Childs[0]; + solution.Childs.Capacity = outerNode.ChildCount; + solution.Childs[0] = outerNode.Childs[0]; + solution.Childs[0].m_Parent = solution; + for (int i = 1; i < outerNode.ChildCount; i++) + solution.AddChild(outerNode.Childs[i]); + } + else + solution.Clear(); + } + } + //------------------------------------------------------------------------------ + + void OffsetPoint(int j, ref int k, JoinType jointype) + { + //cross product ... + m_sinA = (m_normals[k].X * m_normals[j].Y - m_normals[j].X * m_normals[k].Y); + + if (Math.Abs(m_sinA * m_delta) < 1.0) + { + //dot product ... + double cosA = (m_normals[k].X * m_normals[j].X + m_normals[j].Y * m_normals[k].Y); + if (cosA > 0) // angle ==> 0 degrees + { + m_destPoly.Add(new IntPoint(Round(m_srcPoly[j].X + m_normals[k].X * m_delta), + Round(m_srcPoly[j].Y + m_normals[k].Y * m_delta))); + return; + } + //else angle ==> 180 degrees + } + else if (m_sinA > 1.0) m_sinA = 1.0; + else if (m_sinA < -1.0) m_sinA = -1.0; + + if (m_sinA * m_delta < 0) + { + m_destPoly.Add(new IntPoint(Round(m_srcPoly[j].X + m_normals[k].X * m_delta), + Round(m_srcPoly[j].Y + m_normals[k].Y * m_delta))); + m_destPoly.Add(m_srcPoly[j]); + m_destPoly.Add(new IntPoint(Round(m_srcPoly[j].X + m_normals[j].X * m_delta), + Round(m_srcPoly[j].Y + m_normals[j].Y * m_delta))); + } + else + switch (jointype) + { + case JoinType.jtMiter: + { + double r = 1 + (m_normals[j].X * m_normals[k].X + + m_normals[j].Y * m_normals[k].Y); + if (r >= m_miterLim) DoMiter(j, k, r); else DoSquare(j, k); + break; + } + case JoinType.jtSquare: DoSquare(j, k); break; + case JoinType.jtRound: DoRound(j, k); break; + } + k = j; + } + //------------------------------------------------------------------------------ + + internal void DoSquare(int j, int k) + { + double dx = Math.Tan(Math.Atan2(m_sinA, + m_normals[k].X * m_normals[j].X + m_normals[k].Y * m_normals[j].Y) / 4); + m_destPoly.Add(new IntPoint( + Round(m_srcPoly[j].X + m_delta * (m_normals[k].X - m_normals[k].Y * dx)), + Round(m_srcPoly[j].Y + m_delta * (m_normals[k].Y + m_normals[k].X * dx)))); + m_destPoly.Add(new IntPoint( + Round(m_srcPoly[j].X + m_delta * (m_normals[j].X + m_normals[j].Y * dx)), + Round(m_srcPoly[j].Y + m_delta * (m_normals[j].Y - m_normals[j].X * dx)))); + } + //------------------------------------------------------------------------------ + + internal void DoMiter(int j, int k, double r) + { + double q = m_delta / r; + m_destPoly.Add(new IntPoint(Round(m_srcPoly[j].X + (m_normals[k].X + m_normals[j].X) * q), + Round(m_srcPoly[j].Y + (m_normals[k].Y + m_normals[j].Y) * q))); + } + //------------------------------------------------------------------------------ + + internal void DoRound(int j, int k) + { + double a = Math.Atan2(m_sinA, + m_normals[k].X * m_normals[j].X + m_normals[k].Y * m_normals[j].Y); + int steps = Math.Max((int)Round(m_StepsPerRad * Math.Abs(a)),1); + + double X = m_normals[k].X, Y = m_normals[k].Y, X2; + for (int i = 0; i < steps; ++i) + { + m_destPoly.Add(new IntPoint( + Round(m_srcPoly[j].X + X * m_delta), + Round(m_srcPoly[j].Y + Y * m_delta))); + X2 = X; + X = X * m_cos - m_sin * Y; + Y = X2 * m_sin + Y * m_cos; + } + m_destPoly.Add(new IntPoint( + Round(m_srcPoly[j].X + m_normals[j].X * m_delta), + Round(m_srcPoly[j].Y + m_normals[j].Y * m_delta))); + } + //------------------------------------------------------------------------------ + } + + class ClipperException : Exception + { + public ClipperException(string description) : base(description){} + } + //------------------------------------------------------------------------------ + +} //end ClipperLib +} //end Cinemachine namespace \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty/clipper.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty/clipper.cs.meta new file mode 100644 index 00000000..283ff579 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/ThirdParty/clipper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 390265c3e834a4a7c804369abba00760 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline.meta new file mode 100644 index 00000000..08484cf9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0282251d79d6e964089ace2dc6e6e496 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineMixer.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineMixer.cs new file mode 100644 index 00000000..d029b0b2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineMixer.cs @@ -0,0 +1,295 @@ +#if !UNITY_2019_1_OR_NEWER +#define CINEMACHINE_TIMELINE +#endif +#if CINEMACHINE_TIMELINE + +using UnityEngine; +using UnityEngine.Playables; +using Cinemachine; +using System.Collections.Generic; + +//namespace Cinemachine.Timeline +//{ + + internal sealed class CinemachineMixer : PlayableBehaviour + { + public delegate PlayableDirector MasterDirectorDelegate(); + + static public MasterDirectorDelegate GetMasterPlayableDirector; + + // The brain that this track controls + private ICameraOverrideStack m_BrainOverrideStack; + private int m_BrainOverrideId = -1; + private bool m_PreviewPlay; + +#if UNITY_EDITOR && UNITY_2019_2_OR_NEWER + class ScrubbingCacheHelper + { + // Remember the active clips of the previous frame so we can track camera cuts + public int ActivePlayableA; + public int ActivePlayableB; + + struct ClipObjects + { + public List> Cameras; + public float MaxDampTime; + } + List CachedObjects; + + static List scratch = new List(); + + public void Init(Playable playable) + { + // Build our vcam registry for scrubbing updates + CachedObjects = new List(playable.GetInputCount()); + for (int i = 0; i < playable.GetInputCount(); ++i) + { + var cs = new ClipObjects + { + Cameras = new List>(), + }; + + var clip = (ScriptPlayable)playable.GetInput(i); + CinemachineShotPlayable shot = clip.GetBehaviour(); + if (shot != null && shot.IsValid) + { + var mainVcam = shot.VirtualCamera; + cs.Cameras.Add(new List()); + + // Add all child cameras + scratch.Clear(); + mainVcam.GetComponentsInChildren(scratch); + for (int j = 0; j < scratch.Count; ++j) + { + var vcam = scratch[j]; + + int nestLevel = 0; + for (ICinemachineCamera p = vcam.ParentCamera; + p != null && p != (ICinemachineCamera)mainVcam; p = p.ParentCamera) + { + ++nestLevel; + } + while (cs.Cameras.Count <= nestLevel) + cs.Cameras.Add(new List()); + cs.Cameras[nestLevel].Add(vcam); + cs.MaxDampTime = Mathf.Max(cs.MaxDampTime, vcam.GetMaxDampTime()); + } + } + CachedObjects.Add(cs); + } + } + + public void ScrubToHere(float currentTime, int playableIndex, bool isCut, float timeInClip, Vector3 up) + { + TargetPositionCache.CurrentTime = currentTime; + + if (TargetPositionCache.CacheMode == TargetPositionCache.Mode.Record) + { + // If the clip is newly activated, force the time to clip start, + // in case timeline skipped some frames. This will avoid target lerps between shots. + if (Time.frameCount != TargetPositionCache.CurrentFrame) + TargetPositionCache.IsCameraCut = false; + TargetPositionCache.CurrentFrame = Time.frameCount; + if (isCut) + TargetPositionCache.IsCameraCut = true; + + return; + } + + if (!TargetPositionCache.HasCurrentTime) + return; + + var cs = CachedObjects[playableIndex]; + float stepSize = TargetPositionCache.CacheStepSize; + + // Impose upper limit on damping time, to avoid simulating too many frames + float maxDampTime = Mathf.Max(0, timeInClip - stepSize); + maxDampTime = Mathf.Min(cs.MaxDampTime, Mathf.Min(maxDampTime, 4.0f)); + + var endTime = TargetPositionCache.CurrentTime; + var startTime = Mathf.Max( + TargetPositionCache.CacheTimeRange.Start + stepSize, endTime - maxDampTime); + var numSteps = Mathf.FloorToInt((endTime - startTime) / stepSize); + for (int step = numSteps; step >= 0; --step) + { + var t = Mathf.Max(startTime, endTime - step * stepSize); + TargetPositionCache.CurrentTime = t; + var deltaTime = (step == numSteps) ? -1 + : (t - startTime < stepSize ? t - startTime : stepSize); + + // Update all relevant vcams, leaf-most first + for (int i = cs.Cameras.Count - 1; i >= 0; --i) + { + var sublist = cs.Cameras[i]; + for (int j = sublist.Count - 1; j >= 0; --j) + { + var vcam = sublist[j]; + if (deltaTime < 0) + vcam.ForceCameraPosition( + TargetPositionCache.GetTargetPosition(vcam.transform), + TargetPositionCache.GetTargetRotation(vcam.transform)); + vcam.InternalUpdateCameraState(up, deltaTime); + } + } + } + } + } + ScrubbingCacheHelper m_ScrubbingCacheHelper; +#endif + +#if UNITY_EDITOR && UNITY_2019_2_OR_NEWER + public override void OnGraphStart(Playable playable) + { + base.OnGraphStart(playable); + m_ScrubbingCacheHelper = null; + } +#endif + + public override void OnPlayableDestroy(Playable playable) + { + if (m_BrainOverrideStack != null) + m_BrainOverrideStack.ReleaseCameraOverride(m_BrainOverrideId); // clean up + m_BrainOverrideId = -1; +#if UNITY_EDITOR && UNITY_2019_2_OR_NEWER + m_ScrubbingCacheHelper = null; +#endif + } + + public override void PrepareFrame(Playable playable, FrameData info) + { + m_PreviewPlay = false; +#if UNITY_EDITOR && UNITY_2019_2_OR_NEWER + var cacheMode = TargetPositionCache.Mode.Disabled; + if (!Application.isPlaying) + { + if (GetMasterPlayableDirector != null) + { + var d = GetMasterPlayableDirector(); + if (d != null && d.playableGraph.IsValid()) + m_PreviewPlay = GetMasterPlayableDirector().playableGraph.IsPlaying(); + } + if (TargetPositionCache.UseCache) + { + cacheMode = m_PreviewPlay ? TargetPositionCache.Mode.Record : TargetPositionCache.Mode.Playback; + if (m_ScrubbingCacheHelper == null) + { + m_ScrubbingCacheHelper = new ScrubbingCacheHelper(); + m_ScrubbingCacheHelper.Init(playable); + } + } + } + TargetPositionCache.CacheMode = cacheMode; +#endif + } + + public override void ProcessFrame(Playable playable, FrameData info, object playerData) + { + base.ProcessFrame(playable, info, playerData); + + // Get the object that this track controls + m_BrainOverrideStack = playerData as ICameraOverrideStack; + if (m_BrainOverrideStack == null) + return; + + // Find which clips are active. We can process a maximum of 2. + // In the case that the weights don't add up to 1, the outgoing weight + // will be calculated as the inverse of the incoming weight. + int activeInputs = 0; + int clipIndexA = -1; + int clipIndexB = -1; + bool incomingIsA = false; // Assume that incoming clip is clip B + float weightB = 1; + for (int i = 0; i < playable.GetInputCount(); ++i) + { + float weight = playable.GetInputWeight(i); + var clip = (ScriptPlayable)playable.GetInput(i); + CinemachineShotPlayable shot = clip.GetBehaviour(); + if (shot != null && shot.IsValid + && playable.GetPlayState() == PlayState.Playing + && weight > 0) + { + clipIndexA = clipIndexB; + clipIndexB = i; + weightB = weight; + if (++activeInputs == 2) + { + // Deduce which clip is incoming (timeline doesn't know) + var clipA = playable.GetInput(clipIndexA); + // Incoming has later start time (therefore earlier current time) + incomingIsA = clip.GetTime() >= clipA.GetTime(); + // If same start time, longer clip is incoming + if (clip.GetTime() == clipA.GetTime()) + incomingIsA = clip.GetDuration() < clipA.GetDuration(); + break; + } + } + } + + // Special case: check for only one clip that's fading out - it must be outgoing + if (activeInputs == 1 && weightB < 1 + && playable.GetInput(clipIndexB).GetTime() > playable.GetInput(clipIndexB).GetDuration() / 2) + { + incomingIsA = true; + } + if (incomingIsA) + { + (clipIndexA, clipIndexB) = (clipIndexB, clipIndexA); + weightB = 1 - weightB; + } + + ICinemachineCamera camA = null; + if (clipIndexA >= 0) + { + CinemachineShotPlayable shot + = ((ScriptPlayable)playable.GetInput(clipIndexA)).GetBehaviour(); + camA = shot.VirtualCamera; + } + + ICinemachineCamera camB = null; + if (clipIndexB >= 0) + { + CinemachineShotPlayable shot + = ((ScriptPlayable)playable.GetInput(clipIndexB)).GetBehaviour(); + camB = shot.VirtualCamera; + } + + // Override the Cinemachine brain with our results + m_BrainOverrideId = m_BrainOverrideStack.SetCameraOverride( + m_BrainOverrideId, camA, camB, weightB, GetDeltaTime(info.deltaTime)); + +#if UNITY_EDITOR && UNITY_2019_2_OR_NEWER + if (m_ScrubbingCacheHelper != null && TargetPositionCache.CacheMode != TargetPositionCache.Mode.Disabled) + { + bool isNewB = (m_ScrubbingCacheHelper.ActivePlayableA != clipIndexB + && m_ScrubbingCacheHelper.ActivePlayableB != clipIndexB); + + m_ScrubbingCacheHelper.ActivePlayableA = clipIndexA; + m_ScrubbingCacheHelper.ActivePlayableB = clipIndexB; + if (clipIndexA >= 0) + m_ScrubbingCacheHelper.ScrubToHere( + (float)GetMasterPlayableDirector().time, clipIndexA, false, + (float)playable.GetInput(clipIndexA).GetTime(), m_BrainOverrideStack.DefaultWorldUp); + if (clipIndexB >= 0) + m_ScrubbingCacheHelper.ScrubToHere( + (float)GetMasterPlayableDirector().time, clipIndexB, isNewB && weightB > 0.99f, + (float)playable.GetInput(clipIndexB).GetTime(), m_BrainOverrideStack.DefaultWorldUp); + } +#endif + } + + float GetDeltaTime(float deltaTime) + { + if (m_PreviewPlay || Application.isPlaying) + return deltaTime; + + // We're scrubbing or paused + if (TargetPositionCache.CacheMode == TargetPositionCache.Mode.Playback + && TargetPositionCache.HasCurrentTime) + { + return 0; + } + return -1; + } + } +//} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineMixer.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineMixer.cs.meta new file mode 100644 index 00000000..48b3e7ec --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineMixer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 961772e8b1d75dd4a915fb8a236d5a8a +timeCreated: 1489083733 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShot.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShot.cs new file mode 100644 index 00000000..103fe4e9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShot.cs @@ -0,0 +1,57 @@ +#if !UNITY_2019_1_OR_NEWER +#define CINEMACHINE_TIMELINE +#endif +#if CINEMACHINE_TIMELINE + +using UnityEngine; +using UnityEngine.Playables; +using UnityEngine.Timeline; +using Cinemachine; + +//namespace Cinemachine.Timeline +//{ + /// + /// Internal use only. Not part of the public API. + /// + public sealed class CinemachineShot : PlayableAsset, IPropertyPreview + { + /// The name to display on the track +#if !UNITY_2019_2_OR_NEWER + [HideInInspector] +#endif + public string DisplayName; + + /// The virtual camera to activate + public ExposedReference VirtualCamera; + + /// PlayableAsset implementation + /// + /// + /// + public override Playable CreatePlayable(PlayableGraph graph, GameObject owner) + { + var playable = ScriptPlayable.Create(graph); + playable.GetBehaviour().VirtualCamera = VirtualCamera.Resolve(graph.GetResolver()); + return playable; + } + + /// IPropertyPreview implementation + /// + /// + public void GatherProperties(PlayableDirector director, IPropertyCollector driver) + { + driver.AddFromName("m_LocalPosition.x"); + driver.AddFromName("m_LocalPosition.y"); + driver.AddFromName("m_LocalPosition.z"); + driver.AddFromName("m_LocalRotation.x"); + driver.AddFromName("m_LocalRotation.y"); + driver.AddFromName("m_LocalRotation.z"); + driver.AddFromName("m_LocalRotation.w"); + + driver.AddFromName("field of view"); + driver.AddFromName("near clip plane"); + driver.AddFromName("far clip plane"); + } + } +//} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShot.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShot.cs.meta new file mode 100644 index 00000000..44e97651 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShot.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 90fb794a295e73545af71bcdb7375791 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShotPlayable.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShotPlayable.cs new file mode 100644 index 00000000..7fb3dd99 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShotPlayable.cs @@ -0,0 +1,17 @@ +#if !UNITY_2019_1_OR_NEWER +#define CINEMACHINE_TIMELINE +#endif +#if CINEMACHINE_TIMELINE + +using UnityEngine.Playables; +using Cinemachine; + +//namespace Cinemachine.Timeline +//{ + internal sealed class CinemachineShotPlayable : PlayableBehaviour + { + public CinemachineVirtualCameraBase VirtualCamera; + public bool IsValid { get { return VirtualCamera != null; } } + } +//} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShotPlayable.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShotPlayable.cs.meta new file mode 100644 index 00000000..80631a85 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineShotPlayable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5356d1db487a5284fb27af2798adad33 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineTrack.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineTrack.cs new file mode 100644 index 00000000..44751e69 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineTrack.cs @@ -0,0 +1,49 @@ +#if !UNITY_2019_1_OR_NEWER +#define CINEMACHINE_TIMELINE +#endif +#if CINEMACHINE_TIMELINE + +using System; +using UnityEngine; +using UnityEngine.Playables; +using UnityEngine.Timeline; +using Cinemachine; + +//namespace Cinemachine.Timeline +//{ + /// + /// Timeline track for Cinemachine virtual camera activation + /// + [Serializable] + [TrackClipType(typeof(CinemachineShot))] + [TrackBindingType(typeof(CinemachineBrain), TrackBindingFlags.None)] + [TrackColor(0.53f, 0.0f, 0.08f)] + public class CinemachineTrack : TrackAsset + { + /// + /// TrackAsset implementation + /// + /// + /// + /// + /// + public override Playable CreateTrackMixer( + PlayableGraph graph, GameObject go, int inputCount) + { +#if !UNITY_2019_2_OR_NEWER + // Hack to set the display name of the clip to match the vcam + foreach (var c in GetClips()) + { + CinemachineShot shot = (CinemachineShot)c.asset; + CinemachineVirtualCameraBase vcam = shot.VirtualCamera.Resolve(graph.GetResolver()); + if (vcam != null) + c.displayName = vcam.Name; + } +#endif + var mixer = ScriptPlayable.Create(graph); + mixer.SetInputCount(inputCount); + return mixer; + } + } +//} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineTrack.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineTrack.cs.meta new file mode 100644 index 00000000..2aa0c5ff --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/Timeline/CinemachineTrack.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 05acc715f855ced458d76ee6f8ac6c61 +timeCreated: 1489083732 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/com.unity.cinemachine.asmdef b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/com.unity.cinemachine.asmdef new file mode 100644 index 00000000..cf8e1dac --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/com.unity.cinemachine.asmdef @@ -0,0 +1,90 @@ +{ + "name": "Cinemachine", + "rootNamespace": "", + "references": [ + "Unity.Timeline", + "Unity.Postprocessing.Runtime", + "Unity.RenderPipelines.Core.Runtime", + "Unity.RenderPipelines.HighDefinition.Runtime", + "Unity.ugui", + "Unity.RenderPipelines.Universal.Runtime", + "Unity.2D.PixelPerfect", + "Unity.InputSystem", + "Unity.RenderPipelines.Universal.2D.Runtime" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [ + { + "name": "com.unity.postprocessing", + "expression": "2.1.0", + "define": "CINEMACHINE_POST_PROCESSING_V2" + }, + { + "name": "com.unity.timeline", + "expression": "0.0.0-builtin", + "define": "CINEMACHINE_TIMELINE" + }, + { + "name": "com.unity.render-pipelines.high-definition", + "expression": "5.3.1", + "define": "CINEMACHINE_HDRP" + }, + { + "name": "com.unity.render-pipelines.high-definition", + "expression": "7.3.1", + "define": "CINEMACHINE_HDRP_7_3_1" + }, + { + "name": "com.unity.modules.physics2d", + "expression": "1.0.0", + "define": "CINEMACHINE_PHYSICS_2D" + }, + { + "name": "com.unity.modules.physics", + "expression": "1.0.0", + "define": "CINEMACHINE_PHYSICS" + }, + { + "name": "com.unity.ugui", + "expression": "1.0.0", + "define": "CINEMACHINE_UGUI" + }, + { + "name": "com.unity.render-pipelines.universal", + "expression": "7.3.1", + "define": "CINEMACHINE_LWRP_7_3_1" + }, + { + "name": "com.unity.2d.pixel-perfect", + "expression": "2.0.3", + "define": "CINEMACHINE_PIXEL_PERFECT_2_0_3" + }, + { + "name": "com.unity.inputsystem", + "expression": "1.0.0-preview", + "define": "CINEMACHINE_UNITY_INPUTSYSTEM" + }, + { + "name": "com.unity.modules.animation", + "expression": "1.0.0", + "define": "CINEMACHINE_UNITY_ANIMATION" + }, + { + "name": "com.unity.modules.imgui", + "expression": "1.0.0", + "define": "CINEMACHINE_UNITY_IMGUI" + }, + { + "name": "com.unity.render-pipelines.high-definition", + "expression": "14.0.0", + "define": "CINEMACHINE_HDRP_14" + } + ], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/com.unity.cinemachine.asmdef.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/com.unity.cinemachine.asmdef.meta new file mode 100644 index 00000000..65bcc822 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Runtime/com.unity.cinemachine.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4307f53044263cf4b835bd812fc161a4 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes.meta new file mode 100644 index 00000000..aea2b8ec --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8febee9c7b10e4ecb942ac1d6feb4ab4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/.sample.json b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/.sample.json new file mode 100644 index 00000000..6dc903b1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/.sample.json @@ -0,0 +1,5 @@ +{ + "displayName": "Cinemachine Example Scenes", + "interactiveImport": "false", + "description": "Samples showing various configurations of Cinemachine" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes.meta new file mode 100644 index 00000000..3226cf8c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2fc3b640bf45545a3a0f72732b6c6f45 +folderAsset: yes +timeCreated: 1486147583 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D.meta new file mode 100644 index 00000000..88fac7cc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a998ca2027cf8149adbaff0989b1856 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Fighters.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Fighters.unity new file mode 100644 index 00000000..af0009e0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Fighters.unity @@ -0,0 +1,1667 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: 6c28d4fb87bc541d78b307d6bdf1e81c, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &78068270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 78068271} + - component: {fileID: 78068274} + - component: {fileID: 78068273} + - component: {fileID: 78068272} + m_Layer: 0 + m_Name: Platform + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &78068271 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 78068270} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 14.6, y: 10.8, z: 5} + m_LocalScale: {x: 4, y: 1, z: 0.1} + m_Children: [] + m_Father: {fileID: 194968856} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &78068272 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 78068270} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &78068273 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 78068270} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &78068274 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 78068270} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &194968855 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 194968856} + m_Layer: 0 + m_Name: Platforms + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &194968856 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 194968855} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 275253957} + - {fileID: 1411043722} + - {fileID: 1499740949} + - {fileID: 1609023127} + - {fileID: 78068271} + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &275253953 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 275253957} + - component: {fileID: 275253956} + - component: {fileID: 275253955} + - component: {fileID: 275253954} + m_Layer: 0 + m_Name: LowerPlatform + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &275253954 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275253953} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &275253955 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275253953} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &275253956 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275253953} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &275253957 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275253953} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.1, y: 1.1, z: 5} + m_LocalScale: {x: 30, y: 1, z: 0.1} + m_Children: [] + m_Father: {fileID: 194968856} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &395615551 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 395615553} + - component: {fileID: 395615552} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &395615552 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 395615551} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &395615553 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 395615551} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &536390822 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 536390824} + - component: {fileID: 536390823} + m_Layer: 0 + m_Name: CM TargetGroupCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &536390823 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 536390822} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 1093510073} + m_Follow: {fileID: 1093510073} + m_Lens: + FieldOfView: 40 + OrthographicSize: 3 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.6923077, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 2081102717} +--- !u!4 &536390824 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 536390822} + m_LocalRotation: {x: 3e-45, y: -1e-45, z: 0, w: 1} + m_LocalPosition: {x: 4.976394, y: 7.357823, z: -9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2081102717} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &916296256 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 916296260} + - component: {fileID: 916296259} + - component: {fileID: 916296258} + - component: {fileID: 916296257} + m_Layer: 0 + m_Name: Player4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &916296257 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916296256} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1910455796} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 13 + m_Position: 0 +--- !u!23 &916296258 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916296256} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &916296259 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916296256} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &916296260 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916296256} + m_LocalRotation: {x: 0.46698043, y: 0.5309701, z: 0.5309701, w: 0.46698043} + m_LocalPosition: {x: -6.003705, y: 11.156699, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1093510071 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1093510073} + - component: {fileID: 1093510072} + - component: {fileID: 1093510074} + m_Layer: 0 + m_Name: TargetGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1093510072 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093510071} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5eb80d8e62d9d145bb50fb783c0f731, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PositionMode: 0 + m_RotationMode: 0 + m_UpdateMethod: 2 + m_Targets: + - target: {fileID: 1166162573} + weight: 1 + radius: 1 + - target: {fileID: 1574144232} + weight: 1 + radius: 1 + - target: {fileID: 1930659161} + weight: 1 + radius: 1 + - target: {fileID: 916296260} + weight: 1 + radius: 1 +--- !u!4 &1093510073 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093510071} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.9763937, y: 7.357823, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1093510074 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1093510071} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cbbbc9a14b13468b91c6d14ed9c0cb3, type: 3} + m_Name: + m_EditorClassIdentifier: + LowerPlatform: {fileID: 275253957} + LoseSightAtRange: 20 +--- !u!1 &1166162569 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1166162573} + - component: {fileID: 1166162572} + - component: {fileID: 1166162571} + - component: {fileID: 1166162570} + m_Layer: 0 + m_Name: Player1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1166162570 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1166162569} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1942116117} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 9 + m_Position: 59.99 +--- !u!23 &1166162571 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1166162569} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1166162572 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1166162569} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1166162573 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1166162569} + m_LocalRotation: {x: 0.56460464, y: -0.42570135, z: 0.4022094, w: -0.5815734} + m_LocalPosition: {x: 1.5343742, y: 3.558947, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1383110408 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1383110410} + - component: {fileID: 1383110409} + m_Layer: 0 + m_Name: Instructions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1383110409 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1383110408} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Aiming Rig + m_Description: 'A sample scene demonstrating a simplified 4 player fighting game. + The players are moved on a predefined path using CinemachineSmoothPath (dolly + track). + + The players are all framed when above the platform using Framing + Transposer and a TargetGroup. + + When a player falls off the lower platform, + the target group loses sight of them gradually (See LoseSightWhenTargetsFallsOffThePlatform + script on TargetGroup).' +--- !u!4 &1383110410 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1383110408} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 8.527199, y: -0.140625, z: -7.5859556} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1411043721 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1411043722} + - component: {fileID: 1411043725} + - component: {fileID: 1411043724} + - component: {fileID: 1411043723} + m_Layer: 0 + m_Name: Platform + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1411043722 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411043721} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.9, y: 6.6, z: 5} + m_LocalScale: {x: 8, y: 1, z: 0.1} + m_Children: [] + m_Father: {fileID: 194968856} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1411043723 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411043721} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1411043724 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411043721} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1411043725 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1411043721} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1499740948 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1499740949} + - component: {fileID: 1499740952} + - component: {fileID: 1499740951} + - component: {fileID: 1499740950} + m_Layer: 0 + m_Name: Platform + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1499740949 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1499740948} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6.4, y: 11.2, z: 5} + m_LocalScale: {x: 3, y: 1, z: 0.1} + m_Children: [] + m_Father: {fileID: 194968856} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1499740950 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1499740948} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1499740951 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1499740948} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1499740952 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1499740948} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1574144228 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1574144232} + - component: {fileID: 1574144231} + - component: {fileID: 1574144230} + - component: {fileID: 1574144229} + m_Layer: 0 + m_Name: Player2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1574144229 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1574144228} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1910455796} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 15 + m_Position: 40 +--- !u!23 &1574144230 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1574144228} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1574144231 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1574144228} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1574144232 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1574144228} + m_LocalRotation: {x: 0.2332023, y: -0.6675453, z: -0.07920094, w: 0.7026573} + m_LocalPosition: {x: 6.3444867, y: 4.098952, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1609023126 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1609023127} + - component: {fileID: 1609023130} + - component: {fileID: 1609023129} + - component: {fileID: 1609023128} + m_Layer: 0 + m_Name: Platform + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1609023127 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1609023126} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 16.4, y: 5.4, z: 5} + m_LocalScale: {x: 4, y: 1, z: 0.1} + m_Children: [] + m_Father: {fileID: 194968856} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1609023128 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1609023126} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1609023129 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1609023126} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1609023130 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1609023126} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1910455795 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1910455797} + - component: {fileID: 1910455796} + m_Layer: 0 + m_Name: DollyTrack GoesDown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1910455796 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910455795} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a200b19ca1a9685429ed7e043c28e904, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.2 + m_Looped: 1 + m_Waypoints: + - position: {x: -1.8537049, y: 7.356699, z: 0} + roll: 90 + - position: {x: 20.93307, y: 8.600085, z: 0} + roll: 20 + - position: {x: 15.459999, y: 1.7645276, z: 0} + roll: -30 + - position: {x: -3.900597, y: -0.430763, z: 0} + roll: 0 + - position: {x: -10.33, y: -9.65, z: 0} + roll: 30 + - position: {x: -6.9, y: -52.629307, z: 0} + roll: 80 + - position: {x: -7.8, y: -8.368932, z: 0} + roll: -30 +--- !u!4 &1910455797 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1910455795} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.15, y: 3.8, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1930659157 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1930659161} + - component: {fileID: 1930659160} + - component: {fileID: 1930659159} + - component: {fileID: 1930659158} + m_Layer: 0 + m_Name: Player3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1930659158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1930659157} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1942116117} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 11 + m_Position: 10 +--- !u!23 &1930659159 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1930659157} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1930659160 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1930659157} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1930659161 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1930659157} + m_LocalRotation: {x: -0.51887846, y: -0.48038033, z: 0.3884294, w: 0.59086597} + m_LocalPosition: {x: 15.956493, y: 8.555915, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1942116116 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1942116118} + - component: {fileID: 1942116117} + m_Layer: 0 + m_Name: DollyTrack StaysOnMap + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1942116117 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1942116116} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a200b19ca1a9685429ed7e043c28e904, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.2 + m_Looped: 1 + m_Waypoints: + - position: {x: 21.342422, y: -1.1509588, z: 0} + roll: 10 + - position: {x: 22.05497, y: 4.1346054, z: 0} + roll: 70 + - position: {x: 6.1103735, y: 7.063402, z: 0} + roll: 120 + - position: {x: 13.596304, y: 9.368039, z: 0} + roll: 145 + - position: {x: 9.11705, y: 5.0063505, z: 0} + roll: 157.5 + - position: {x: 1.6220012, y: 4.635803, z: 0} + roll: 170 + - position: {x: 0.71975946, y: -1.2598617, z: 0} + roll: 320 + - position: {x: 11.904161, y: 1.2089274, z: 0} + roll: 165 +--- !u!4 &1942116118 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1942116116} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.15, y: 3.8, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2051034878 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2051034884} + - component: {fileID: 2051034883} + - component: {fileID: 2051034882} + - component: {fileID: 2051034881} + - component: {fileID: 2051034880} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2051034880 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2051034878} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 1 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &2051034881 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2051034878} + m_Enabled: 1 +--- !u!124 &2051034882 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2051034878} + m_Enabled: 1 +--- !u!20 &2051034883 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2051034878} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 1 + orthographic size: 11.798582 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2051034884 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2051034878} + m_LocalRotation: {x: 3e-45, y: -1e-45, z: 0, w: 1} + m_LocalPosition: {x: 4.976394, y: 7.357823, z: -9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: -0.628, z: 0} +--- !u!1 &2081102716 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2081102717} + - component: {fileID: 2081102720} + - component: {fileID: 2081102718} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2081102717 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2081102716} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8, y: -1.97, z: 40.496838} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 536390824} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2081102718 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2081102716} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_XDamping: 5 + m_YDamping: 5 + m_ZDamping: 5 + m_TargetMovementOnly: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_CameraDistance: 10 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.6045452 + m_SoftZoneHeight: 0.7593402 + m_BiasX: -0.0000002957825 + m_BiasY: 0 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 0 + m_GroupFramingSize: 0.6 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 6 + m_MaximumOrthoSize: 12 +--- !u!114 &2081102720 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2081102716} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Fighters.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Fighters.unity.meta new file mode 100644 index 00000000..6579812f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Fighters.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 879d480263d0a431b99a866e6d2e8342 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Zoom.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Zoom.unity new file mode 100644 index 00000000..6497a9a1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Zoom.unity @@ -0,0 +1,915 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &89246342 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 89246344} + - component: {fileID: 89246343} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &89246343 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 89246342} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &89246344 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 89246342} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &92826417 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 92826421} + - component: {fileID: 92826420} + - component: {fileID: 92826419} + - component: {fileID: 92826418} + m_Layer: 0 + m_Name: Platform (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &92826418 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 92826417} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &92826419 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 92826417} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &92826420 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 92826417} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &92826421 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 92826417} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.1, y: 7.6, z: 5} + m_LocalScale: {x: 10, y: 1, z: 0.1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &186750482 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 186750486} + - component: {fileID: 186750485} + - component: {fileID: 186750484} + - component: {fileID: 186750483} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &186750483 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186750482} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 847669606} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 7 + m_Position: 30 +--- !u!23 &186750484 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186750482} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &186750485 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186750482} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &186750486 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 186750482} + m_LocalRotation: {x: -0.023371898, y: 0.7067204, z: 0.023371898, w: 0.7067204} + m_LocalPosition: {x: -0.7751298, y: 6.324995, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &711489563 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 711489564} + - component: {fileID: 711489567} + - component: {fileID: 711489565} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &711489564 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 711489563} + m_LocalRotation: {x: -0.16416594, y: -0.46026146, z: 0.087037586, w: 0.8681207} + m_LocalPosition: {x: 2.8058367, y: -2.3987978, z: 25.10992} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 905242758} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &711489565 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 711489563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_TargetMovementOnly: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_CameraDistance: 10 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 0 + m_GroupFramingSize: 0.8 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 1 + m_MaximumOrthoSize: 5000 +--- !u!114 &711489567 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 711489563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &847669605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 847669607} + - component: {fileID: 847669606} + m_Layer: 0 + m_Name: PlayerTrack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &847669606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 847669605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a200b19ca1a9685429ed7e043c28e904, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.2 + m_Looped: 1 + m_Waypoints: + - position: {x: 19.07, y: 1.7, z: 0} + roll: 0 + - position: {x: 4.66, y: 9.7, z: 0} + roll: 0 + - position: {x: -0.03, y: 3.4, z: 0} + roll: 0 + - position: {x: 8.86, y: 2.64, z: 0} + roll: 0 +--- !u!4 &847669607 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 847669605} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.15, y: 3.8, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &905242755 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 905242758} + - component: {fileID: 905242757} + - component: {fileID: 905242756} + m_Layer: 0 + m_Name: CM ZoomCam + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &905242756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 905242755} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bed38d6428294444d8470619ce9e2cc7, type: 3} + m_Name: + m_EditorClassIdentifier: + ZoomMultiplier: 1 + MinZoom: 1 + MaxZoom: 50 +--- !u!114 &905242757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 905242755} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 186750486} + m_Follow: {fileID: 186750486} + m_Lens: + FieldOfView: 40 + OrthographicSize: 5 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 2.191067, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 711489564} +--- !u!4 &905242758 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 905242755} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.7751298, y: 6.324995, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 711489564} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1419567905 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1419567909} + - component: {fileID: 1419567908} + - component: {fileID: 1419567907} + - component: {fileID: 1419567906} + m_Layer: 0 + m_Name: Platform + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1419567906 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419567905} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1419567907 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419567905} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1419567908 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419567905} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1419567909 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419567905} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.1, y: 1.1, z: 5} + m_LocalScale: {x: 30, y: 1, z: 0.1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1684946434 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1684946440} + - component: {fileID: 1684946439} + - component: {fileID: 1684946438} + - component: {fileID: 1684946437} + - component: {fileID: 1684946436} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1684946436 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684946434} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 1 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1684946437 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684946434} + m_Enabled: 1 +--- !u!124 &1684946438 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684946434} + m_Enabled: 1 +--- !u!20 &1684946439 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684946434} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 1 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1684946440 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684946434} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.7751298, y: 6.324995, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: -0.628, z: 0} +--- !u!1 &1843694283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1843694285} + - component: {fileID: 1843694284} + m_Layer: 0 + m_Name: Instructions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1843694284 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1843694283} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Aiming Rig + m_Description: A 2D setup, where you can zoom in/out with the mouse scroll. The + zoom in/out is done by changing the orthographic size of the camera lens. For + more details, see MouseScrollZoom2D.cs script on CM ZoomCam. +--- !u!4 &1843694285 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1843694283} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 8.527199, y: -0.140625, z: -7.5859556} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Zoom.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Zoom.unity.meta new file mode 100644 index 00000000..23b5fdf4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2D Zoom.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c213658e6f9d94cc8a659682e6529958 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinedTargetGroup.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinedTargetGroup.unity new file mode 100644 index 00000000..2aaa5907 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinedTargetGroup.unity @@ -0,0 +1,3376 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 558856083} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &19079944 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 247558479} + m_PrefabAsset: {fileID: 0} +--- !u!65 &19079947 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 19079944} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!1 &55775680 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1895704098} + m_PrefabAsset: {fileID: 0} +--- !u!65 &55775683 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 55775680} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 24 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1001 &101511090 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.x + value: -8 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.z + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 54563485177506292, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Constraints + value: 120 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: keepDirection + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 136696895249700382, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} +--- !u!1 &129940154 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 129940156} + - component: {fileID: 129940155} + - component: {fileID: 129940157} + m_Layer: 0 + m_Name: CM vcam2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &129940155 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 2006379427} + m_Lens: + FieldOfView: 40 + OrthographicSize: 8 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.1023891, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1667617566} +--- !u!4 &129940156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.969158, y: 2.0514348, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1667617566} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &129940157 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f453f694addf4275988fac205bc91968, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BoundingShape2D: {fileID: 1763500919} + m_Damping: 0.5 + m_MaxWindowSize: 0 +--- !u!1 &135363857 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 2030809580} + m_PrefabAsset: {fileID: 0} +--- !u!65 &135363860 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 135363857} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4} + m_Center: {x: 5.000001, y: 0.5, z: -2} +--- !u!1001 &157366767 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (13) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 18 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &157366768 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 157366767} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &204433964 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (14) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 19 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 2.77 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 12.75 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0.6532815 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: 0.27059805 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: -0.6532815 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: 0.27059805 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90.00001 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &204433965 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 204433964} + m_PrefabAsset: {fileID: 0} +--- !u!1 &214322307 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1523214209} + m_PrefabAsset: {fileID: 0} +--- !u!65 &214322310 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 214322307} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!1001 &247558479 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (17) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 22 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 22 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &247558480 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 247558479} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &252585051 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (7) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &252585052 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 252585051} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &281869844 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (10) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 0.02 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0.6532815 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: 0.27059805 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: -0.6532815 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: 0.27059805 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90.00001 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &281869845 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 281869844} + m_PrefabAsset: {fileID: 0} +--- !u!1 &283751037 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 2131480188} + m_PrefabAsset: {fileID: 0} +--- !u!65 &283751040 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 283751037} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4} + m_Center: {x: 5.000001, y: 0.5, z: -2} +--- !u!1 &332903354 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 2017806320} + m_PrefabAsset: {fileID: 0} +--- !u!65 &332903357 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 332903354} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4} + m_Center: {x: 5.000001, y: 0.5, z: -2} +--- !u!1001 &351674958 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (3) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 29 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &351674959 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 351674958} + m_PrefabAsset: {fileID: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1309834879} + - {fileID: 1523214210} + - {fileID: 2131480189} + - {fileID: 2094376375} + - {fileID: 1757384297} + - {fileID: 351674959} + - {fileID: 819360106} + - {fileID: 1660862466} + - {fileID: 481039156} + - {fileID: 2030809581} + - {fileID: 2017806321} + - {fileID: 252585052} + - {fileID: 855308034} + - {fileID: 1895704099} + - {fileID: 281869845} + - {fileID: 1936315418} + - {fileID: 533442982} + - {fileID: 1574416552} + - {fileID: 157366768} + - {fileID: 204433965} + - {fileID: 1172364206} + - {fileID: 1022971376} + - {fileID: 247558480} + - {fileID: 477802371} + - {fileID: 62958717} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &449604061 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1967615714690980, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!114 &449604064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449604061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44f5d1b3342d4e34593e4f948d951750, type: 3} + m_Name: + m_EditorClassIdentifier: + sprintJoystick: 332 + jumpJoystick: 330 + sprintKeyboard: 304 + jumpKeyboard: 32 + jumpVelocity: 3 + groundTolerance: 0.2 + checkGroundForJump: 1 +--- !u!114 &449604067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449604061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36562141f3e01c7499f91e66f806814c, type: 3} + m_Name: + m_EditorClassIdentifier: + objectToCheck: {fileID: 2130807577} + distanceToObject: 15 + initialActiveCam: {fileID: 129940155} + switchCameraTo: {fileID: 698194474} +--- !u!1001 &477802370 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (18) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 23 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 24 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &477802371 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 477802370} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &481039155 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_Name + value: ProB_Wall_10x4 (4) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.x + value: -10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!4 &481039156 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 481039155} + m_PrefabAsset: {fileID: 0} +--- !u!1 &531422478 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 1757384296} + m_PrefabAsset: {fileID: 0} +--- !u!65 &531422481 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 531422478} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4} + m_Center: {x: 5.000001, y: 0.5, z: -2} +--- !u!1001 &533442981 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (12) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 16 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: -10.06 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &533442982 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 533442981} + m_PrefabAsset: {fileID: 0} +--- !u!850595691 &558856083 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 3 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_TextureCompression: 1 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 +--- !u!1 &567181140 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 481039155} + m_PrefabAsset: {fileID: 0} +--- !u!65 &567181143 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 567181140} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4} + m_Center: {x: 5.000001, y: 0.5, z: -2} +--- !u!1 &576180681 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 477802370} + m_PrefabAsset: {fileID: 0} +--- !u!65 &576180684 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576180681} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!1 &698194471 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 698194475} + - component: {fileID: 698194474} + - component: {fileID: 698194472} + m_Layer: 0 + m_Name: CM vcam2D_TargetGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &698194472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 698194471} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f453f694addf4275988fac205bc91968, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BoundingShape2D: {fileID: 1763500919} + m_Damping: 0.5 + m_MaxWindowSize: 0 +--- !u!114 &698194474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 698194471} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 846141420} + m_Lens: + FieldOfView: 40 + OrthographicSize: 8 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.1023891, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 2022912494} +--- !u!4 &698194475 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 698194471} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.3510516, y: 13.837606, z: -8.147938} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2022912494} + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &819360105 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (4) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 29 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &819360106 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 819360105} + m_PrefabAsset: {fileID: 0} +--- !u!1 &846141418 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 846141420} + - component: {fileID: 846141419} + m_Layer: 0 + m_Name: TargetGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &846141419 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 846141418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5eb80d8e62d9d145bb50fb783c0f731, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PositionMode: 0 + m_RotationMode: 0 + m_UpdateMethod: 1 + m_Targets: + - target: {fileID: 1347011786} + weight: 1 + radius: 0 + - target: {fileID: 2130807581} + weight: 1 + radius: 0 +--- !u!4 &846141420 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 846141418} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.9705, y: 14.425, z: 1.8520622} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &855308033 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (8) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &855308034 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 855308033} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1022971375 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (16) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 21 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: -10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &1022971376 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1022971375} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1172364205 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (15) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 4.75 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 16 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &1172364206 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1172364205} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1226714776 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1172364205} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1226714779 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1226714776} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!1 &1305100092 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 351674958} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1305100095 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1305100092} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!1 &1308108075 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 157366767} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1308108078 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1308108075} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!1001 &1309834878 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (1) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &1309834879 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1309834878} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1320167950 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 819360105} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1320167953 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320167950} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!4 &1347011786 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4145844909056070, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1379886539 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1936315417} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1379886542 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1379886539} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!1 &1432057835 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 204433964} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1432057838 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432057835} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!1 &1475331872 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1022971375} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1475331875 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1475331872} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!1001 &1523214209 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (2) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &1523214210 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1523214209} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1533237023 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 252585051} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1533237026 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1533237023} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!1 &1549120901 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 533442981} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1549120904 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1549120901} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!1001 &1574416551 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 17 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &1574416552 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1574416551} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1591919578 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 281869844} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1591919581 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1591919578} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!1 &1598428097 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 2094376374} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1598428100 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1598428097} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4} + m_Center: {x: 5.000001, y: 0.5, z: -2} +--- !u!1 &1616121821 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1660862465} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1616121824 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1616121821} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!1001 &1660862465 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (5) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 29 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &1660862466 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1660862465} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1667617565 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1667617566} + - component: {fileID: 1667617568} + - component: {fileID: 1667617567} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1667617566 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 129940156} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1667617567 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_TargetMovementOnly: 1 + m_ScreenX: 0.4999204 + m_ScreenY: 0.4595745 + m_CameraDistance: 10 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 2 + m_GroupFramingSize: 1 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 7 + m_MaximumOrthoSize: 9.5 +--- !u!114 &1667617568 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1678191987 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1574416551} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1678191990 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1678191987} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!1 &1747380105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1747380110} + - component: {fileID: 1747380109} + - component: {fileID: 1747380108} + - component: {fileID: 1747380107} + - component: {fileID: 1747380106} + - component: {fileID: 1747380111} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1747380106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 1 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1747380107 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!124 &1747380108 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!20 &1747380109 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 1 + orthographic size: 8 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1747380110 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.3510516, y: 13.837606, z: -8.147938} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: -0.628, z: 0} +--- !u!114 &1747380111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: 2D Confiner Target Group + m_Description: "Turn this window off by removing the script on Main Camera\n\nUse + the arrow keys to move the character. \n\nCamera is a 2D Framing Transposer + with the Confiner limiting movement to within the level\n\nTargetGroup mixes + target between character and the end cube" +--- !u!1001 &1757384296 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_Name + value: ProB_Wall_10x4 (3) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.y + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!4 &1757384297 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 1757384296} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1763500918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1763500920} + - component: {fileID: 1763500919} + m_Layer: 0 + m_Name: CamCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!60 &1763500919 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763500918} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: 14.310385, y: 10.783125} + - {x: -16.606709, y: 10.77297} + - {x: -16.602512, y: -19.08997} + - {x: 14.331192, y: -19.100687} +--- !u!4 &1763500920 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763500918} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5.650543, y: 19.130754, z: -0.22432709} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1895704098 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (9) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 9.98 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &1895704099 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1895704098} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1926981042 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 855308033} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1926981045 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1926981042} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!1001 &1936315417 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_Name + value: ProB_Floor_10x4 (11) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_RootOrder + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.y + value: 18 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &1936315418 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1936315417} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1979430072 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 100000, guid: 52ec9a50889c9784f920590c3e0d8c68, + type: 3} + m_PrefabInstance: {fileID: 1309834878} + m_PrefabAsset: {fileID: 0} +--- !u!65 &1979430075 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1979430072} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!4 &2006379427 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &2017806320 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_Name + value: ProB_Wall_10x4 (6) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.x + value: -10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.y + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!4 &2017806321 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 2017806320} + m_PrefabAsset: {fileID: 0} +--- !u!1 &2022912493 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2022912494} + - component: {fileID: 2022912496} + - component: {fileID: 2022912495} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2022912494 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2022912493} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 698194475} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2022912495 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2022912493} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_TargetMovementOnly: 1 + m_ScreenX: 0.4784246 + m_ScreenY: 0.4632879 + m_CameraDistance: 10 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 + m_GroupFramingMode: 3 + m_AdjustmentMode: 2 + m_GroupFramingSize: 1 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 7 + m_MaximumOrthoSize: 9.34 +--- !u!114 &2022912496 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2022912493} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &2030809580 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_Name + value: ProB_Wall_10x4 (5) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.x + value: -10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.y + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!4 &2030809581 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 2030809580} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &2094376374 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_Name + value: ProB_Wall_10x4 (2) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.y + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!4 &2094376375 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 2094376374} + m_PrefabAsset: {fileID: 0} +--- !u!1 &2130807577 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2130807581} + - component: {fileID: 2130807580} + - component: {fileID: 2130807579} + - component: {fileID: 2130807578} + - component: {fileID: 2130807582} + m_Layer: 0 + m_Name: Cube_Goal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &2130807578 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130807577} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &2130807579 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130807577} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2130807580 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130807577} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2130807581 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130807577} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 11.91, y: 26.02, z: 1.703125} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &2130807582 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130807577} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 8 + m_CollisionDetection: 0 +--- !u!1001 &2131480188 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_Name + value: ProB_Wall_10x4 (1) + objectReference: {fileID: 0} + - target: {fileID: 100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_TagString + value: Ground + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 90 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!4 &2131480189 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 400000, guid: 8801006d6478aea478f9320df4476f30, + type: 3} + m_PrefabInstance: {fileID: 2131480188} + m_PrefabAsset: {fileID: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinedTargetGroup.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinedTargetGroup.unity.meta new file mode 100644 index 00000000..4dd55a08 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinedTargetGroup.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3902aef39497d314e9f40a91943b4869 +timeCreated: 1509483120 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfiner.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfiner.unity new file mode 100644 index 00000000..3dd80e07 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfiner.unity @@ -0,0 +1,789 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: d822ea833cf8c40ebbd7a4feec19ea11, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1001 &101511090 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.x + value: -8 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.z + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 54563485177506292, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Constraints + value: 120 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: keepDirection + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 136696895249700382, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} +--- !u!1 &129940154 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 129940156} + - component: {fileID: 129940155} + - component: {fileID: 129940157} + m_Layer: 0 + m_Name: CM vcam2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &129940155 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 358615508} + m_Lens: + FieldOfView: 40 + OrthographicSize: 3 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.1023891, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1667617566} +--- !u!4 &129940156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.970036, y: 2.9982433, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1667617566} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &129940157 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f453f694addf4275988fac205bc91968, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BoundingShape2D: {fileID: 1763500919} + m_Damping: 0.5 + m_MaxWindowSize: 5 +--- !u!4 &358615508 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1334237772} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &449604061 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1967615714690980, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!114 &449604064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449604061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44f5d1b3342d4e34593e4f948d951750, type: 3} + m_Name: + m_EditorClassIdentifier: + sprintJoystick: 332 + jumpJoystick: 330 + sprintKeyboard: 304 + jumpKeyboard: 32 + jumpVelocity: 5 + groundTolerance: 0.2 + checkGroundForJump: 1 +--- !u!114 &449604067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449604061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36562141f3e01c7499f91e66f806814c, type: 3} + m_Name: + m_EditorClassIdentifier: + objectToCheck: {fileID: 0} + distanceToObject: 15 + initialActiveCam: {fileID: 129940155} + switchCameraTo: {fileID: 0} +--- !u!1001 &1334237771 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} +--- !u!4 &1334237772 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, + type: 3} + m_PrefabInstance: {fileID: 1334237771} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1667617565 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1667617566} + - component: {fileID: 1667617568} + - component: {fileID: 1667617567} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1667617566 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 129940156} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1667617567 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 19 + m_LookaheadIgnoreY: 0 + m_XDamping: 1 + m_YDamping: 2 + m_ZDamping: 1 + m_TargetMovementOnly: 1 + m_ScreenX: 0.4999204 + m_ScreenY: 0.55 + m_CameraDistance: 10 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.77 + m_BiasX: 0 + m_BiasY: -0.00000007740863 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 2 + m_GroupFramingSize: 1 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 7 + m_MaximumOrthoSize: 9.5 +--- !u!114 &1667617568 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1747380105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1747380110} + - component: {fileID: 1747380109} + - component: {fileID: 1747380108} + - component: {fileID: 1747380107} + - component: {fileID: 1747380106} + - component: {fileID: 1747380111} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1747380106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 1 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1747380107 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!124 &1747380108 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!20 &1747380109 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 1 + orthographic size: 3 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1747380110 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.6348896, y: 3.03671, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: -0.628, z: 0} +--- !u!114 &1747380111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: 2D Confiner + m_Description: 'Turn this window off by removing the script on Main Camera + + + Use + the arrow keys to move the character + + + This is a simple example showing the + Framing Transposer track the character until the Confiner limits the camera movement + due to the collision volume on the level' +--- !u!1 &1763500918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1763500920} + - component: {fileID: 1763500919} + m_Layer: 0 + m_Name: CamCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!60 &1763500919 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763500918} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: 14.299488, y: -9.175264} + - {x: -16.569834, y: -9.188839} + - {x: -16.602512, y: -19.08997} + - {x: 14.296436, y: -19.127941} +--- !u!4 &1763500920 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763500918} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5.650543, y: 19.130754, z: -0.22432709} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfiner.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfiner.unity.meta new file mode 100644 index 00000000..52daf0ca --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfiner.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e11fb1e768032e34c8edfeb0c722585b +timeCreated: 1509480687 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinerComplex.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinerComplex.unity new file mode 100644 index 00000000..f7ece332 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinerComplex.unity @@ -0,0 +1,2160 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 260141912} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &53679926 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 53679927} + - component: {fileID: 53679930} + - component: {fileID: 53679929} + - component: {fileID: 53679928} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &53679927 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 53679926} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -8, y: 0.55, z: 2} + m_LocalScale: {x: 10, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &53679928 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 53679926} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &53679929 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 53679926} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &53679930 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 53679926} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1001 &101511090 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.x + value: -8 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.z + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 54563485177506292, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Constraints + value: 120 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: keepDirection + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 136696895249700382, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} +--- !u!1 &129940154 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 129940156} + - component: {fileID: 129940155} + - component: {fileID: 129940157} + m_Layer: 0 + m_Name: CM vcam2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &129940155 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 358615508} + m_Lens: + FieldOfView: 40 + OrthographicSize: 2.52 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.1023891, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1667617566} +--- !u!4 &129940156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.97012, y: 2.9502432, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1667617566} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &129940157 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f453f694addf4275988fac205bc91968, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BoundingShape2D: {fileID: 1763500919} + m_Damping: 0.74 + m_MaxWindowSize: 0 +--- !u!1 &158716436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 158716437} + - component: {fileID: 158716440} + - component: {fileID: 158716439} + - component: {fileID: 158716438} + m_Layer: 0 + m_Name: Cube (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &158716437 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158716436} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 11, y: 8, z: 2} + m_LocalScale: {x: 12, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &158716438 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158716436} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &158716439 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158716436} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &158716440 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158716436} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!850595691 &260141912 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 3 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_TextureCompression: 1 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 +--- !u!4 &358615508 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!1 &372509818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 372509819} + - component: {fileID: 372509822} + - component: {fileID: 372509821} + - component: {fileID: 372509820} + m_Layer: 0 + m_Name: Cube (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &372509819 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 372509818} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.5, y: 6.5, z: 2} + m_LocalScale: {x: 1, y: 4, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &372509820 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 372509818} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &372509821 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 372509818} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &372509822 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 372509818} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 53679927} + - {fileID: 818255070} + - {fileID: 455298006} + - {fileID: 563771267} + - {fileID: 158716437} + - {fileID: 1497262727} + - {fileID: 372509819} + - {fileID: 1058051884} + - {fileID: 1276376071} + - {fileID: 571905377} + - {fileID: 1013429359} + - {fileID: 1454606999} + - {fileID: 1083154620} + - {fileID: 510881328} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &449604061 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1967615714690980, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!114 &449604064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449604061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44f5d1b3342d4e34593e4f948d951750, type: 3} + m_Name: + m_EditorClassIdentifier: + sprintJoystick: 332 + jumpJoystick: 330 + sprintKeyboard: 304 + jumpKeyboard: 32 + jumpVelocity: 5 + groundTolerance: 0.2 + checkGroundForJump: 1 +--- !u!1 &455298005 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 455298006} + - component: {fileID: 455298009} + - component: {fileID: 455298008} + - component: {fileID: 455298007} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &455298006 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 455298005} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1, y: 4, z: 2} + m_LocalScale: {x: 8, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &455298007 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 455298005} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &455298008 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 455298005} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &455298009 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 455298005} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &510881327 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 510881328} + - component: {fileID: 510881332} + - component: {fileID: 510881331} + - component: {fileID: 510881330} + - component: {fileID: 510881329} + m_Layer: 0 + m_Name: Elevator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &510881328 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510881327} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -10.5, y: -17, z: 2} + m_LocalScale: {x: 7, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &510881329 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510881327} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fde54f5cdf0dd46bbadfe8535c25f217, type: 3} + m_Name: + m_EditorClassIdentifier: + minY: -17 + maxY: -5.8 + speed: 1 + on: 1 +--- !u!65 &510881330 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510881327} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &510881331 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510881327} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &510881332 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 510881327} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &563771266 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 563771267} + - component: {fileID: 563771270} + - component: {fileID: 563771269} + - component: {fileID: 563771268} + m_Layer: 0 + m_Name: Cube (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &563771267 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563771266} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -8, y: 8, z: 2} + m_LocalScale: {x: 10, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &563771268 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563771266} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &563771269 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563771266} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &563771270 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563771266} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &571905376 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 571905377} + - component: {fileID: 571905380} + - component: {fileID: 571905379} + - component: {fileID: 571905378} + m_Layer: 0 + m_Name: Cube (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &571905377 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571905376} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: -3, z: 2} + m_LocalScale: {x: 28, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &571905378 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571905376} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &571905379 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571905376} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &571905380 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 571905376} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &818255069 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 818255070} + - component: {fileID: 818255073} + - component: {fileID: 818255072} + - component: {fileID: 818255071} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &818255070 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 818255069} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 0.55, z: 2} + m_LocalScale: {x: 10, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &818255071 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 818255069} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &818255072 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 818255069} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &818255073 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 818255069} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1013429358 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1013429359} + - component: {fileID: 1013429362} + - component: {fileID: 1013429361} + - component: {fileID: 1013429360} + m_Layer: 0 + m_Name: Cube (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1013429359 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013429358} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -13.5, y: -4, z: 2} + m_LocalScale: {x: 1, y: 25, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1013429360 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013429358} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1013429361 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013429358} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1013429362 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013429358} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1058051883 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1058051884} + - component: {fileID: 1058051887} + - component: {fileID: 1058051886} + - component: {fileID: 1058051885} + m_Layer: 0 + m_Name: Cube (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1058051884 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1058051883} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 6.5, z: 2} + m_LocalScale: {x: 1, y: 4, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1058051885 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1058051883} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1058051886 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1058051883} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1058051887 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1058051883} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1083154619 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1083154620} + - component: {fileID: 1083154623} + - component: {fileID: 1083154622} + - component: {fileID: 1083154621} + m_Layer: 0 + m_Name: Cube (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1083154620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1083154619} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.5, y: -10, z: 2} + m_LocalScale: {x: 1, y: 13, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1083154621 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1083154619} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1083154622 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1083154619} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1083154623 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1083154619} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1276376070 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1276376071} + - component: {fileID: 1276376074} + - component: {fileID: 1276376073} + - component: {fileID: 1276376072} + m_Layer: 0 + m_Name: Cube (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1276376071 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1276376070} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 17.5, y: 2.5, z: 2} + m_LocalScale: {x: 1, y: 12, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1276376072 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1276376070} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1276376073 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1276376070} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1276376074 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1276376070} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1454606998 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1454606999} + - component: {fileID: 1454607002} + - component: {fileID: 1454607001} + - component: {fileID: 1454607000} + m_Layer: 0 + m_Name: Cube (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1454606999 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454606998} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -10.5, y: -8.5, z: 2} + m_LocalScale: {x: 1, y: 10, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1454607000 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454606998} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1454607001 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454606998} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1454607002 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454606998} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1497262726 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1497262727} + - component: {fileID: 1497262730} + - component: {fileID: 1497262729} + - component: {fileID: 1497262728} + m_Layer: 0 + m_Name: Cube (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1497262727 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1497262726} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 11, y: 0.55, z: 2} + m_LocalScale: {x: 8, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1497262728 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1497262726} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1497262729 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1497262726} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1497262730 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1497262726} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1667617565 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1667617566} + - component: {fileID: 1667617568} + - component: {fileID: 1667617567} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1667617566 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 129940156} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1667617567 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 19 + m_LookaheadIgnoreY: 0 + m_XDamping: 1 + m_YDamping: 2 + m_ZDamping: 1 + m_TargetMovementOnly: 1 + m_ScreenX: 0.4999204 + m_ScreenY: 0.55 + m_CameraDistance: 10 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.77 + m_BiasX: 0 + m_BiasY: -0.00000007740863 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 2 + m_GroupFramingSize: 1 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 7 + m_MaximumOrthoSize: 9.5 +--- !u!114 &1667617568 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1747380105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1747380110} + - component: {fileID: 1747380109} + - component: {fileID: 1747380108} + - component: {fileID: 1747380107} + - component: {fileID: 1747380106} + - component: {fileID: 1747380111} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1747380106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 1 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1747380107 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!124 &1747380108 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!20 &1747380109 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 1 + orthographic size: 2.52 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1747380110 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.970117, y: 3.2507498, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: -0.628, z: 0} +--- !u!114 &1747380111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: 2D Confiner + m_Description: 'Turn this window off by removing the script on Main Camera + + + Use + the arrow keys to move the character + + + This is a simple example showing the + Framing Transposer track the character until the Confiner limits the camera movement + due to the collision volume on the level' +--- !u!1 &1763500918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1763500920} + - component: {fileID: 1763500919} + m_Layer: 0 + m_Name: CamCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!60 &1763500919 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763500918} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: 8.8, y: -18.6} + - {x: -19.1, y: -18.6} + - {x: -19.1, y: -35.6} + - {x: -13.2, y: -35.6} + - {x: -13.2, y: -22.4} + - {x: -16.1, y: -22.4} + - {x: -16.1, y: -32.2} + - {x: -16.2, y: -32.2} + - {x: -16.2, y: -22.1} + - {x: 12.3, y: -22.1} + - {x: 12.3, y: -10.65} + - {x: -1.6, y: -10.65} + - {x: -1.6, y: -14.6} + - {x: -7.65, y: -14.6} + - {x: -7.65, y: -10.65} + - {x: -19.1, y: -10.65} + - {x: -19.1, y: -18.4} + - {x: 8.8, y: -18.4} +--- !u!4 &1763500920 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763500918} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5.650543, y: 19.130754, z: -0.22432709} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinerComplex.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinerComplex.unity.meta new file mode 100644 index 00000000..ff68bdb2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DConfinerComplex.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 133878d12193f4aaaadeb917ab186fe7 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DTargetGroup.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DTargetGroup.unity new file mode 100644 index 00000000..966cad89 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DTargetGroup.unity @@ -0,0 +1,881 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: e30bd6a1ce9e74ef9a63424d0dbedbd8, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1001 &101511090 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4145844909056070, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4145844909056070, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.z + value: 0.11 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.x + value: -8 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.z + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 54563485177506292, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Constraints + value: 120 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: keepDirection + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 136696895249700382, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} +--- !u!1 &129940154 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 129940156} + - component: {fileID: 129940155} + m_Layer: 0 + m_Name: CM vcam2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &129940155 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 1912803186} + m_Lens: + FieldOfView: 40 + OrthographicSize: 4 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.079636, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1667617566} +--- !u!4 &129940156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129940154} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.4399996, y: 3.965, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1667617566} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1334237772} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &449604061 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1967615714690980, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!114 &449604064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449604061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44f5d1b3342d4e34593e4f948d951750, type: 3} + m_Name: + m_EditorClassIdentifier: + sprintJoystick: 332 + jumpJoystick: 330 + sprintKeyboard: 304 + jumpKeyboard: 32 + jumpVelocity: 3 + groundTolerance: 0.2 + checkGroundForJump: 1 +--- !u!114 &449604067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449604061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36562141f3e01c7499f91e66f806814c, type: 3} + m_Name: + m_EditorClassIdentifier: + objectToCheck: {fileID: 0} + distanceToObject: 15 + initialActiveCam: {fileID: 129940155} + switchCameraTo: {fileID: 0} +--- !u!1001 &950449319 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} +--- !u!4 &1334237772 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, + type: 3} + m_PrefabInstance: {fileID: 950449319} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1474376315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1474376320} + - component: {fileID: 1474376319} + - component: {fileID: 1474376318} + - component: {fileID: 1474376317} + - component: {fileID: 1474376316} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!54 &1474376316 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1474376315} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 8 + m_CollisionDetection: 0 +--- !u!23 &1474376317 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1474376315} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &1474376318 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1474376315} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1474376319 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1474376315} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1474376320 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1474376315} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 16.88, y: 6.83, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1667617565 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1667617566} + - component: {fileID: 1667617568} + - component: {fileID: 1667617567} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1667617566 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 129940156} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1667617567 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 0 + m_TargetMovementOnly: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_CameraDistance: 10 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 2 + m_GroupFramingSize: 0.8 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 4 + m_MaximumOrthoSize: 14.67 +--- !u!114 &1667617568 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667617565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1747380105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1747380110} + - component: {fileID: 1747380109} + - component: {fileID: 1747380108} + - component: {fileID: 1747380107} + - component: {fileID: 1747380106} + - component: {fileID: 1747380111} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1747380106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 1 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1747380107 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!124 &1747380108 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!20 &1747380109 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 1 + orthographic size: 14.403002 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1747380110 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.4399996, y: 3.965, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: -0.628, z: 0} +--- !u!114 &1747380111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: 2D Target Group + m_Description: "Turn this window off by removing the script on Main Camera\n\nUse + the arrow keys to move the character\n\nThe Target Group has the player Head + and a Cube as targets\n\nThe virtual camera 'CM vcam2D' has a Framing Transposer + method on the Body\n\nFraming Transposers will give you the choice to adjust + position / FOV based on the distance between the objects in the Target Group\t" +--- !u!1 &1912803184 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1912803186} + - component: {fileID: 1912803185} + m_Layer: 0 + m_Name: TargetGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1912803185 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912803184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5eb80d8e62d9d145bb50fb783c0f731, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PositionMode: 0 + m_RotationMode: 0 + m_UpdateMethod: 2 + m_Targets: + - target: {fileID: 2023234543} + weight: 1 + radius: 0 + - target: {fileID: 1474376320} + weight: 1 + radius: 0 +--- !u!4 &1912803186 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1912803184} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.4399996, y: 3.965, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &2023234543 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4807132077054408, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DTargetGroup.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DTargetGroup.unity.meta new file mode 100644 index 00000000..1f051e11 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/2DTargetGroup.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 42cf327a5ecad8448a21d591ee05dd26 +timeCreated: 1509482961 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/LoseSightWhenTargetsFallsOffThePlatform.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/LoseSightWhenTargetsFallsOffThePlatform.cs new file mode 100644 index 00000000..b60aeb03 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/LoseSightWhenTargetsFallsOffThePlatform.cs @@ -0,0 +1,44 @@ +using System; +using UnityEngine; + +namespace Cinemachine.Examples +{ + [RequireComponent(typeof(CinemachineTargetGroup))] + public class LoseSightWhenTargetsFallsOffThePlatform : MonoBehaviour + { + [Tooltip("The platform from which LoseSightAtRange is calculated")] + public Transform LowerPlatform; + + [Tooltip("The weight of a transform in the target group is 1 when above the Lower Platform. When a transform is " + + "below the Lower Platform, then its weight decreases based on the distance between the transform and the " + + "Lower Platform and it reaches 0 at LoseSightAtRange. If you set this value to 0, then the transform is removed " + + "instantly when below the Lower Platform.")] + [Range(0, 30)] + public float LoseSightAtRange = 20; + + CinemachineTargetGroup m_TargetGroup; + + void Awake() + { + m_TargetGroup = GetComponent(); + } + + void Update() + { + // iterate through each target in the targetGroup + for (var index = 0; index < m_TargetGroup.m_Targets.Length; index++) + { + // skip null targets + if (m_TargetGroup.m_Targets[index].target != null) + { + // calculate the distance between target and the LowerPlatform along the Y axis + var distanceBelow = LowerPlatform.position.y - m_TargetGroup.m_Targets[index].target.position.y; + + // weight goes to 0 if it's farther below than LoseSightAtRange + var weight = Mathf.Clamp(1 - distanceBelow / Mathf.Max(0.001f, LoseSightAtRange), 0, 1); + m_TargetGroup.m_Targets[index].weight = weight; + } + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/LoseSightWhenTargetsFallsOffThePlatform.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/LoseSightWhenTargetsFallsOffThePlatform.cs.meta new file mode 100644 index 00000000..a5d0eb55 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/LoseSightWhenTargetsFallsOffThePlatform.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0cbbbc9a14b13468b91c6d14ed9c0cb3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/MouseScrollZoom2D.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/MouseScrollZoom2D.cs new file mode 100644 index 00000000..d59decb5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/MouseScrollZoom2D.cs @@ -0,0 +1,59 @@ +using System; +using UnityEngine; + +namespace Cinemachine.Examples +{ + [RequireComponent(typeof(CinemachineVirtualCamera))] + [SaveDuringPlay] // Enable SaveDuringPlay for this class + public class MouseScrollZoom2D : MonoBehaviour + { + [Range(0, 10)] + public float ZoomMultiplier = 1f; + [Range(0, 100)] + public float MinZoom = 1f; + [Range(0, 100)] + public float MaxZoom = 50f; + + CinemachineVirtualCamera m_VirtualCamera; + float m_OriginalOrthoSize; + + void Awake() + { + m_VirtualCamera = GetComponent(); + m_OriginalOrthoSize = m_VirtualCamera.m_Lens.OrthographicSize; + +#if UNITY_EDITOR + // This code shows how to play nicely with the VirtualCamera's SaveDuringPlay functionality + SaveDuringPlay.SaveDuringPlay.OnHotSave -= RestoreOriginalOrthographicSize; + SaveDuringPlay.SaveDuringPlay.OnHotSave += RestoreOriginalOrthographicSize; +#endif + } + +#if UNITY_EDITOR + void OnDestroy() + { + SaveDuringPlay.SaveDuringPlay.OnHotSave -= RestoreOriginalOrthographicSize; + } + + void RestoreOriginalOrthographicSize() + { + m_VirtualCamera.m_Lens.OrthographicSize = m_OriginalOrthoSize; + } +#endif + + void OnValidate() + { + MaxZoom = Mathf.Max(MinZoom, MaxZoom); + } + + void Update() + { +#if ENABLE_LEGACY_INPUT_MANAGER + float zoom = m_VirtualCamera.m_Lens.OrthographicSize + Input.mouseScrollDelta.y * ZoomMultiplier; + m_VirtualCamera.m_Lens.OrthographicSize = Mathf.Clamp(zoom, MinZoom, MaxZoom); +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/MouseScrollZoom2D.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/MouseScrollZoom2D.cs.meta new file mode 100644 index 00000000..4b150d90 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/2D/MouseScrollZoom2D.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bed38d6428294444d8470619ce9e2cc7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode.meta new file mode 100644 index 00000000..8f5b1fd5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 715218984bf02d1409296e9748fb61b0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/3rdPersonWithAimMode.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/3rdPersonWithAimMode.unity new file mode 100644 index 00000000..c50c94b1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/3rdPersonWithAimMode.unity @@ -0,0 +1,3714 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 674250017} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1508344078} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &553629643 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 553629647} + - component: {fileID: 553629646} + - component: {fileID: 553629645} + - component: {fileID: 553629644} + m_Layer: 0 + m_Name: CM 3rd Person Aim + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &553629644 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 553629643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8fce4bd108661c4d9740aea3bc971ed, type: 3} + m_Name: + m_EditorClassIdentifier: + ActivationKey: 306 + PriorityBoostAmount: 10 + Reticle: {fileID: 899585326} +--- !u!114 &553629645 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 553629643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.1 + m_AvoidObstacles: 1 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 0 +--- !u!114 &553629646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 553629643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 9 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 4921246272369262} + m_Lens: + FieldOfView: 20 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 1.1087866, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 952164970} +--- !u!4 &553629647 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 553629643} + m_LocalRotation: {x: 0.122611515, y: -0.55352056, z: 0.08280736, w: 0.819588} + m_LocalPosition: {x: 19.15141, y: 3.7365139, z: -2.4474642} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 952164970} + - {fileID: 899585330} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!850595691 &674250017 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 4 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 +--- !u!1 &899585326 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 899585330} + - component: {fileID: 899585329} + - component: {fileID: 899585328} + - component: {fileID: 899585327} + m_Layer: 5 + m_Name: Reticle Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &899585327 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 899585326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &899585328 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 899585326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &899585329 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 899585326} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &899585330 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 899585326} + m_LocalRotation: {x: 0.1489166, y: 0.49703223, z: -0.25729564, w: 0.8152189} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2020761799} + m_Father: {fileID: 553629647} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &952164969 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 952164970} + - component: {fileID: 952164973} + - component: {fileID: 952164972} + - component: {fileID: 952164971} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &952164970 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 952164969} + m_LocalRotation: {x: -0.122611515, y: 0.55352056, z: -0.08280736, w: 0.819588} + m_LocalPosition: {x: 0.0029296875, y: 0.0007324219, z: 14142.137} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 553629647} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &952164971 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 952164969} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c9beda531928fc40968802117a5d256, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RecenterTarget: 1 + m_VerticalAxis: + Value: 37.7211 + m_SpeedMode: 1 + m_MaxSpeed: 2 + m_AccelTime: 0 + m_DecelTime: 0 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -70 + m_MaxValue: 70 + m_Wrap: 0 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_VerticalRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_HorizontalAxis: + Value: 0 + m_SpeedMode: 1 + m_MaxSpeed: 5 + m_AccelTime: 0 + m_DecelTime: 0 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 0 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_HorizontalRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_ApplyBeforeBody: 0 +--- !u!114 &952164972 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 952164969} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 1.6, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_XDamping: 0 + m_YDamping: 0 + m_ZDamping: 0 + m_TargetMovementOnly: 1 + m_ScreenX: 0.2722252 + m_ScreenY: 0.492456 + m_CameraDistance: 1.7 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0.00000002793968 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.6019672 + m_SoftZoneHeight: 0.8526314 + m_BiasX: 0.01814892 + m_BiasY: 0 + m_CenterOnActivate: 0 + m_GroupFramingMode: 2 + m_AdjustmentMode: 0 + m_GroupFramingSize: 0.8 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 1 + m_MaximumOrthoSize: 5000 +--- !u!114 &952164973 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 952164969} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1196353158 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1196353161} + - component: {fileID: 1196353160} + - component: {fileID: 1196353159} + m_Layer: 0 + m_Name: CM 3rdPerson Normal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1196353159 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1196353158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.1 + m_AvoidObstacles: 1 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 0 +--- !u!114 &1196353160 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1196353158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 4921246272369262} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 1.1087866, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 1 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1281857083} +--- !u!4 &1196353161 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1196353158} + m_LocalRotation: {x: 0.32326594, y: 0, z: 0, w: 0.94630814} + m_LocalPosition: {x: 19.296726, y: 3.819136, z: -3.0409548} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1281857083} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1281857082 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1281857083} + - component: {fileID: 1281857087} + - component: {fileID: 1281857086} + - component: {fileID: 1281857085} + - component: {fileID: 1281857084} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1281857083 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281857082} + m_LocalRotation: {x: 0.3232659, y: -0.00000007186669, z: 0.000000024550193, w: 0.9463082} + m_LocalPosition: {x: -4.6440506, y: -3.8999977, z: 3.0482786} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1196353161} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1281857084 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281857082} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3c9beda531928fc40968802117a5d256, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RecenterTarget: 2 + m_VerticalAxis: + Value: 37.7211 + m_SpeedMode: 1 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.2 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -70 + m_MaxValue: 70 + m_Wrap: 0 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_VerticalRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_HorizontalAxis: + Value: 0 + m_SpeedMode: 1 + m_MaxSpeed: 5 + m_AccelTime: 0.2 + m_DecelTime: 0.2 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 0 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_HorizontalRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_ApplyBeforeBody: 0 +--- !u!114 &1281857085 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281857082} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 46965f9cbaf525742a6da4c2172a99cd, type: 2} + m_PivotOffset: {x: 0, y: 0, z: 0} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 + mNoiseOffsets: {x: -765.3436, y: 412.4553, z: 513.0689} +--- !u!114 &1281857086 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281857082} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 1.6, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_XDamping: 0.2 + m_YDamping: 0.2 + m_ZDamping: 1 + m_TargetMovementOnly: 1 + m_ScreenX: 0.33440018 + m_ScreenY: 0.3129505 + m_CameraDistance: 2.22 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.3672515 + m_SoftZoneHeight: 0.4778598 + m_BiasX: -0.00000008114962 + m_BiasY: 0 + m_CenterOnActivate: 0 + m_GroupFramingMode: 2 + m_AdjustmentMode: 2 + m_GroupFramingSize: 0.8 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 1 + m_MaximumOrthoSize: 5000 +--- !u!114 &1281857087 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1281857082} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &1493626625 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalScale.x + value: 3.24 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} +--- !u!4 &1508344078 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, + type: 3} + m_PrefabInstance: {fileID: 1493626625} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1787124812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1787124816} + - component: {fileID: 1787124815} + - component: {fileID: 1787124814} + - component: {fileID: 1787124813} + - component: {fileID: 1787124817} + - component: {fileID: 1787124818} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1787124813 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!124 &1787124814 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!20 &1787124815 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1787124816 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_LocalRotation: {x: 0.32326594, y: 0, z: 0, w: 0.94630814} + m_LocalPosition: {x: 19.296726, y: 3.819136, z: -3.0409548} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1787124817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 5 + m_Time: 0.3 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1787124818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Over the Shoulder with Aim Mode + m_Description: "Turn this window off by removing the script on Main Camera\n\nUse + the arrow keys to move the character. \nPress the Left Ctrl key to go into Aim + mode.\n" +--- !u!1 &2020761798 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2020761799} + - component: {fileID: 2020761801} + - component: {fileID: 2020761800} + m_Layer: 5 + m_Name: Crosshair + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2020761799 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2020761798} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 3, y: 3, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 899585330} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 15, y: 15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2020761800 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2020761798} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1a1da36a104725048b8d2388fb8d321d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2020761801 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2020761798} + m_CullTransparentMesh: 0 +--- !u!1 &1034295081501960 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4306490394211684} + m_Layer: 0 + m_Name: RightUpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1053749316873830 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4478648147915672} + m_Layer: 0 + m_Name: RightRingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1062164003535588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4747823360574078} + m_Layer: 0 + m_Name: LeftIndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1063095840682334 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4568598647890834} + m_Layer: 0 + m_Name: LeftRingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1080929527576248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4133103639598966} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1083570653869936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4045389142029868} + m_Layer: 0 + m_Name: LeftRingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1091140877693132 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4433167837323158} + m_Layer: 0 + m_Name: Chest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1091430912626272 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4371101458568866} + m_Layer: 0 + m_Name: LeftUpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1112196954662280 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4249977530399418} + m_Layer: 0 + m_Name: UpperChest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1115429207812218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4813974348053656} + m_Layer: 0 + m_Name: RightRingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1120791963959688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4562873851605902} + m_Layer: 0 + m_Name: Jaw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1128554674852176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4700388366158268} + m_Layer: 0 + m_Name: RightPinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1136874512615902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4314694541946112} + m_Layer: 0 + m_Name: RightToes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1152093795519102 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4181935650218516} + m_Layer: 0 + m_Name: LeftIndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1152482547584906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4495135636622886} + m_Layer: 0 + m_Name: LeftUpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1160315963193152 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4922610750754240} + m_Layer: 0 + m_Name: LeftHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1162056440106892 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4067341440938288} + m_Layer: 0 + m_Name: LeftIndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1163718361243762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4650630383809934} + m_Layer: 0 + m_Name: LeftThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1167418398897310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4794868105199280} + m_Layer: 0 + m_Name: LeftPinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1177024168743564 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4656712348910608} + m_Layer: 0 + m_Name: LeftRingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1184412847696782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4770718595724854} + m_Layer: 0 + m_Name: LeftPinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1187594702275114 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4209719543557254} + m_Layer: 0 + m_Name: RightThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1214016502643026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4994112069974886} + m_Layer: 0 + m_Name: LeftFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1221231424470000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4736048062372990} + m_Layer: 0 + m_Name: RightPinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1226149671823336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4665268592255836} + m_Layer: 0 + m_Name: RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1228251651216730 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4562537071338080} + m_Layer: 0 + m_Name: LeftMiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1257000582460138 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4018260219674140} + m_Layer: 0 + m_Name: RightLowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1259728090932864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4902840864619486} + m_Layer: 0 + m_Name: LeftLowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1265185423157660 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4757780850791414} + m_Layer: 0 + m_Name: RightLowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1284511655638106 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4690956774275456} + m_Layer: 0 + m_Name: LeftThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1295321904904998 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4374627063963924} + m_Layer: 0 + m_Name: LeftIndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1297927732264634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4010660356237594} + m_Layer: 0 + m_Name: LeftMiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1327493678464746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4807133242489310} + m_Layer: 0 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1327555382137514 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4231691677825054} + m_Layer: 0 + m_Name: RightThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1333295761047764 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4441217134629996} + m_Layer: 0 + m_Name: RightIndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1337506848110080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4439116517134178} + m_Layer: 0 + m_Name: RightRingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1353567147409538 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4240494404266806} + m_Layer: 0 + m_Name: RightMiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1362001468898720 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4375941099766496} + m_Layer: 0 + m_Name: LeftThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1416673304548988 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4230998713309538} + m_Layer: 0 + m_Name: RightPinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1418000593030738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4759044232245152} + m_Layer: 0 + m_Name: RightToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1418755012443558 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4081740136882770} + m_Layer: 0 + m_Name: LeftPinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1421055536600256 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4634094916491360} + m_Layer: 0 + m_Name: LeftMiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1442507274931414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4704659787430792} + m_Layer: 0 + m_Name: RightIndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1459799960630426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4394862387420100} + m_Layer: 0 + m_Name: RightThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1479628923229556 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4764501272463272} + m_Layer: 0 + m_Name: LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1482825308695626 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4965446167656668} + m_Layer: 0 + m_Name: RightIndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1487805193422382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4325166092024820} + m_Layer: 0 + m_Name: LeftToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1489916631466470 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4670727923768522} + m_Layer: 0 + m_Name: RightPinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1491837544746690 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4094310770169538} + m_Layer: 0 + m_Name: RightMiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1528712951226298 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4253244186624738} + m_Layer: 0 + m_Name: LeftPinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1570168124567660 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4710283860315220} + m_Layer: 0 + m_Name: Skeleton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1589410391484670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4767404010830462} + m_Layer: 0 + m_Name: LeftEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1591564240245712 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4009420136217332} + m_Layer: 0 + m_Name: RightEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1611304054865566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4167897274266364} + m_Layer: 0 + m_Name: Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1617386974034686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4123188799949912} + m_Layer: 0 + m_Name: RightMiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1666055810161362 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4718307535146354} + m_Layer: 0 + m_Name: RightThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1678572069958492 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4578838276210018} + m_Layer: 0 + m_Name: RightHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1699286298192380 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4910201191786486} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1747910752529618 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4250521619505792} + m_Layer: 0 + m_Name: RightUpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1766522397640738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4861992439017204} + - component: {fileID: 137876665122400252} + m_Layer: 0 + m_Name: Body + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1773235616064008 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4240823294680710} + m_Layer: 0 + m_Name: LeftLowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1776249133995082 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4260617025203136} + m_Layer: 0 + m_Name: RightIndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1784306224083824 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4911014152170456} + m_Layer: 0 + m_Name: JawEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1804765459442656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4368496118721320} + m_Layer: 0 + m_Name: LeftToes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1824329345096688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4623383317032384} + m_Layer: 0 + m_Name: LeftRingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1829093404419118 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4395714782842420} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1866482653427826 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4940479983457288} + m_Layer: 0 + m_Name: LeftMiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1911932687977848 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4039498477818268} + m_Layer: 0 + m_Name: LeftThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1920995389633118 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4327388097787786} + m_Layer: 0 + m_Name: RightFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1946226870641448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4387490760862814} + m_Layer: 0 + m_Name: RightMiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1964341083429344 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4629790936744636} + m_Layer: 0 + m_Name: RightRingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1967616610772914 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4921246272369262} + - component: {fileID: 95487102469724584} + - component: {fileID: 54563483927136738} + - component: {fileID: 114640799850644754} + - component: {fileID: 136696896165574152} + m_Layer: 0 + m_Name: 3rdPersonController + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4009420136217332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1591564240245712} + m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.04963885, y: 0.11306744, z: -0.029689595} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4910201191786486} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4010660356237594 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1297927732264634} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.027341224, y: -0.0000001068289, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4562537071338080} + m_Father: {fileID: 4940479983457288} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4018260219674140 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257000582460138} + m_LocalRotation: {x: 0.000000001217143, y: 0.010789105, z: -0.00000011280568, w: 0.9999418} + m_LocalPosition: {x: 0.2598076, y: -0.000000058593667, z: 0.0000000065556907} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4578838276210018} + m_Father: {fileID: 4306490394211684} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4039498477818268 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1911932687977848} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.032299604, y: -1.2479823e-16, z: -3.2554504e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4690956774275456} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4045389142029868 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1083570653869936} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.028015258, y: -0.00000006713867, z: -6.120983e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4623383317032384} + m_Father: {fileID: 4656712348910608} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4067341440938288 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162056440106892} + m_LocalRotation: {x: 1, y: -0.00000080360593, z: -0.00000003485639, w: 0.0000000028799356} + m_LocalPosition: {x: -0.10144374, y: -0.010422724, z: 0.032279857} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4181935650218516} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4081740136882770 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418755012443558} + m_LocalRotation: {x: 1, y: 0.00000048059263, z: 0.000000045818194, w: 0.000000002879936} + m_LocalPosition: {x: -0.09005295, y: -0.01086029, z: -0.033707228} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4253244186624738} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4094310770169538 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1491837544746690} + m_LocalRotation: {x: 1, y: 0.000003907246, z: 7.633312e-12, w: 0.0000019536299} + m_LocalPosition: {x: 0.101765, y: 0.0092, z: -0.0076735197} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4123188799949912} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4123188799949912 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1617386974034686} + m_LocalRotation: {x: 0.0000027608096, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.038115, y: 0.00000029784886, z: 1.164116e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4387490760862814} + m_Father: {fileID: 4094310770169538} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4133103639598966 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080929527576248} + m_LocalRotation: {x: 0, y: 0, z: -0.16252996, w: 0.98670363} + m_LocalPosition: {x: -0.22944902, y: 0, z: 3.8648323e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4910201191786486} + m_Father: {fileID: 4249977530399418} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4167897274266364 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1611304054865566} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0763707, y: 0.0041095037, z: 1.3457705e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4433167837323158} + m_Father: {fileID: 4395714782842420} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4181935650218516 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1152093795519102} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.03038064, y: 0.000000024414062, z: 0.0000000010589601} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4374627063963924} + m_Father: {fileID: 4067341440938288} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4209719543557254 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1187594702275114} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.031395752, y: -0.00000016593874, z: 0.00000001956757} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4394862387420100} + m_Father: {fileID: 4718307535146354} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4230998713309538 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1416673304548988} + m_LocalRotation: {x: 1, y: 0.0000009611853, z: 0.00000009163637, w: 0.00000048049026} + m_LocalPosition: {x: 0.09005299, y: 0.01086, z: 0.03370722} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4736048062372990} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4231691677825054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327555382137514} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0.032763, y: 0.019399999, z: -0.03258728} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4718307535146354} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4240494404266806 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1353567147409538} + m_LocalRotation: {x: 0.000003517392, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.029609999, y: 0.00000023138672, z: -1.3519946e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4387490760862814} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4240823294680710 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1773235616064008} + m_LocalRotation: {x: 0.000000001217143, y: 0.010789105, z: -0.00000011280568, w: 0.9999418} + m_LocalPosition: {x: -0.25980794, y: 1.2984311e-16, z: 1.3635393e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4922610750754240} + m_Father: {fileID: 4371101458568866} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4249977530399418 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112196954662280} + m_LocalRotation: {x: 0, y: 0, z: 0.02762249, w: 0.9996185} + m_LocalPosition: {x: -0.099863835, y: 3.837587e-10, z: 4.2860933e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4133103639598966} + - {fileID: 4764501272463272} + - {fileID: 4665268592255836} + m_Father: {fileID: 4433167837323158} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4250521619505792 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747910752529618} + m_LocalRotation: {x: 0, y: 0, z: -0.004908496, w: 0.99998796} + m_LocalPosition: {x: 0.05013466, y: -0.0024317356, z: -0.089999996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4757780850791414} + m_Father: {fileID: 4395714782842420} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4253244186624738 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1528712951226298} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.020319965, y: -0.000000009765624, z: -9.310237e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4794868105199280} + m_Father: {fileID: 4081740136882770} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4260617025203136 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776249133995082} + m_LocalRotation: {x: 0.0000014476384, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.027727999, y: -0.000000089129905, z: -0.0000000038657064} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4441217134629996} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4306490394211684 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1034295081501960} + m_LocalRotation: {x: 0.0000000010905377, y: -0.0096692005, z: 0.0000001127794, w: 0.99995327} + m_LocalPosition: {x: 0.14904709, y: -0.021559998, z: 0.026150005} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4018260219674140} + m_Father: {fileID: 4665268592255836} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4314694541946112 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1136874512615902} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0.0758718, y: 0.1706926, z: 1.0658141e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4759044232245152} + m_Father: {fileID: 4327388097787786} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4325166092024820 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1487805193422382} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.054048985, y: -9.722308e-18, z: 1.0302869e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4368496118721320} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4327388097787786 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1920995389633118} + m_LocalRotation: {x: 0, y: 0, z: 0.04628874, w: 0.9989281} + m_LocalPosition: {x: 0.42483592, y: 0.00000004328955, z: 1.9539925e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4314694541946112} + m_Father: {fileID: 4757780850791414} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4368496118721320 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1804765459442656} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.0758718, y: -0.17069253, z: 5.1514347e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4325166092024820} + m_Father: {fileID: 4994112069974886} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4371101458568866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1091430912626272} + m_LocalRotation: {x: 0.0000000010905377, y: -0.0096692005, z: 0.0000001127794, w: 0.99995327} + m_LocalPosition: {x: -0.14904714, y: 0.021559998, z: -0.026150007} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4240823294680710} + m_Father: {fileID: 4764501272463272} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4374627063963924 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1295321904904998} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.023295304, y: 0.00000006185455, z: 0.0000000026829414} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4747823360574078} + m_Father: {fileID: 4181935650218516} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4375941099766496 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362001468898720} + m_LocalRotation: {x: 0.00000017615224, y: 0.00000044237117, z: 0.46174863, w: 0.8870109} + m_LocalPosition: {x: -0.015590345, y: -0.02269687, z: -0.0022699998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4690956774275456} + m_Father: {fileID: 4650630383809934} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4387490760862814 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1946226870641448} + m_LocalRotation: {x: 0.0000021149021, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.027341, y: 0.00000021365567, z: -3.446715e-13} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4240494404266806} + m_Father: {fileID: 4123188799949912} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4394862387420100 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1459799960630426} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.032299694, y: 0.00000041872633, z: 0.000000020130532} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4209719543557254} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4395714782842420 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829093404419118} + m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 1.1827783e-16, y: 0.99710166, z: 0.011954045} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4495135636622886} + - {fileID: 4250521619505792} + - {fileID: 4167897274266364} + m_Father: {fileID: 4807133242489310} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4433167837323158 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1091140877693132} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.102159195, y: 0, z: 3.418214e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4249977530399418} + m_Father: {fileID: 4167897274266364} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4439116517134178 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1337506848110080} + m_LocalRotation: {x: 1, y: 0, z: -0, w: 6.123234e-17} + m_LocalPosition: {x: 0.100981995, y: 0.00868, z: 0.0151886195} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4629790936744636} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4441217134629996 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1333295761047764} + m_LocalRotation: {x: 0.00000087025205, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.023294998, y: -0.000000074880305, z: -0.000000003247809} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4260617025203136} + m_Father: {fileID: 4965446167656668} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4478648147915672 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1053749316873830} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.026131999, y: -3.3821833e-13, z: 2.3536727e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4813974348053656} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4495135636622886 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1152482547584906} + m_LocalRotation: {x: 0, y: 0, z: 0.99998796, w: 0.004908496} + m_LocalPosition: {x: 0.05013466, y: -0.0024317312, z: 0.089999996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4902840864619486} + m_Father: {fileID: 4395714782842420} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4562537071338080 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1228251651216730} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.029609164, y: -0.00000011569029, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4010660356237594} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4562873851605902 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1120791963959688} + m_LocalRotation: {x: -0.00011591564, y: 0.00007256035, z: -0.8476265, w: 0.53059345} + m_LocalPosition: {x: 0.020377725, y: 0.023429718, z: 0.000011341149} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4911014152170456} + m_Father: {fileID: 4910201191786486} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4568598647890834 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1063095840682334} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.026132211, y: -0.00000012525189, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4623383317032384} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4578838276210018 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1678572069958492} + m_LocalRotation: {x: 0, y: -0.0011199615, z: -0, w: 0.9999994} + m_LocalPosition: {x: 0.25833765, y: 8.2224006e-13, z: -0.0000000040112766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4231691677825054} + - {fileID: 4230998713309538} + - {fileID: 4439116517134178} + - {fileID: 4094310770169538} + - {fileID: 4704659787430792} + m_Father: {fileID: 4018260219674140} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4623383317032384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1824329345096688} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.029936645, y: -0.00000014348656, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4568598647890834} + m_Father: {fileID: 4045389142029868} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4629790936744636 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964341083429344} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.028015, y: -3.6322944e-13, z: 2.509104e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4813974348053656} + m_Father: {fileID: 4439116517134178} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4634094916491360 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1421055536600256} + m_LocalRotation: {x: 1, y: 0.000001953623, z: 5.6263126e-15, w: 0.0000000028799376} + m_LocalPosition: {x: -0.10176471, y: -0.009200126, z: 0.0076735215} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4940479983457288} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4650630383809934 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1163718361243762} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: -0.032763172, y: -0.019399941, z: 0.032587297} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4375941099766496} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4656712348910608 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177024168743564} + m_LocalRotation: {x: 1, y: 0, z: -0, w: 0.000000002879931} + m_LocalPosition: {x: -0.10098182, y: -0.008680271, z: -0.01518866} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4045389142029868} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4665268592255836 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1226149671823336} + m_LocalRotation: {x: 0.51362044, y: 0.48599797, z: -0.51362044, w: 0.48599797} + m_LocalPosition: {x: -0.14809349, y: 0.018417655, z: -0.041293897} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4306490394211684} + m_Father: {fileID: 4249977530399418} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4670727923768522 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1489916631466470} + m_LocalRotation: {x: 0.00000086590364, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.021772001, y: 0.000000041853575, z: 0.000000003990134} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4700388366158268} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4690956774275456 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284511655638106} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.03139568, y: 0, z: 2.8111882e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4039498477818268} + m_Father: {fileID: 4375941099766496} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4700388366158268 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1128554674852176} + m_LocalRotation: {x: 0.00000052042185, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.01966, y: 0.00000003779355, z: 0.0000000036031094} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4670727923768522} + m_Father: {fileID: 4736048062372990} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4704659787430792 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442507274931414} + m_LocalRotation: {x: 1, y: -0.0000016072119, z: -0.00000006971279, w: 0.0000008035582} + m_LocalPosition: {x: 0.10144399, y: 0.010419999, z: -0.03227988} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4965446167656668} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4710283860315220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570168124567660} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4807133242489310} + m_Father: {fileID: 4921246272369262} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4718307535146354 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1666055810161362} + m_LocalRotation: {x: 0.00000017597144, y: 0.00000044227704, z: 0.46174863, w: 0.8870109} + m_LocalPosition: {x: 0.015591, y: 0.0226969, z: 0.0022699998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4209719543557254} + m_Father: {fileID: 4231691677825054} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4736048062372990 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1221231424470000} + m_LocalRotation: {x: 0.00000067755235, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.02032, y: 0.0000000390623, z: 0.0000000037241212} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4700388366158268} + m_Father: {fileID: 4230998713309538} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4747823360574078 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062164003535588} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.027728153, y: 0.000000044565017, z: 0.000000001933008} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4374627063963924} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4757780850791414 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1265185423157660} + m_LocalRotation: {x: 0, y: 0, z: -0.041384947, w: 0.9991433} + m_LocalPosition: {x: 0.43576697, y: -4.867446e-10, z: 1.9539925e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4327388097787786} + m_Father: {fileID: 4250521619505792} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4759044232245152 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418000593030738} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.054049, y: 4.2188474e-17, z: 3.5527136e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4314694541946112} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4764501272463272 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1479628923229556} + m_LocalRotation: {x: -0.48599797, y: 0.51362044, z: 0.48599797, w: 0.51362044} + m_LocalPosition: {x: -0.14809349, y: 0.018417658, z: 0.041293867} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4371101458568866} + m_Father: {fileID: 4249977530399418} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4767404010830462 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1589410391484670} + m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.04963602, y: 0.11306743, z: 0.03} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4910201191786486} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4770718595724854 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1184412847696782} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.021771478, y: -0.000000020926425, z: -0.0000000019950588} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4794868105199280} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4794868105199280 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1167418398897310} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.019660275, y: -0.000000018897165, z: -0.0000000018015959} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4770718595724854} + m_Father: {fileID: 4253244186624738} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4807133242489310 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327493678464746} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4395714782842420} + m_Father: {fileID: 4710283860315220} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4813974348053656 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115429207812218} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.029937, y: -3.8795632e-13, z: 2.7311487e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4478648147915672} + m_Father: {fileID: 4629790936744636} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4861992439017204 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766522397640738} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4921246272369262} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4902840864619486 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1259728090932864} + m_LocalRotation: {x: 0, y: 0, z: -0.041384947, w: 0.9991433} + m_LocalPosition: {x: -0.43576738, y: 8.0373204e-16, z: -2.3092638e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4994112069974886} + m_Father: {fileID: 4495135636622886} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4910201191786486 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1699286298192380} + m_LocalRotation: {x: 0, y: 0, z: 0.13521273, w: 0.9908166} + m_LocalPosition: {x: -0.09720324, y: -3.5527136e-17, z: -7.336409e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4562873851605902} + - {fileID: 4009420136217332} + - {fileID: 4767404010830462} + m_Father: {fileID: 4133103639598966} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4911014152170456 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784306224083824} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.094900064, y: 1.8092883e-17, z: 4.9371638e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4562873851605902} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4921246272369262 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 19, y: 1.1, z: -1.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4861992439017204} + - {fileID: 4710283860315220} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4922610750754240 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1160315963193152} + m_LocalRotation: {x: 0, y: -0.0011199615, z: -0, w: 0.9999994} + m_LocalPosition: {x: -0.25833747, y: -4.1848454e-17, z: 7.817271e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4650630383809934} + - {fileID: 4081740136882770} + - {fileID: 4656712348910608} + - {fileID: 4634094916491360} + - {fileID: 4067341440938288} + m_Father: {fileID: 4240823294680710} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4940479983457288 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1866482653427826} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.03811528, y: -0.00000007446289, z: 2.8247632e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4010660356237594} + m_Father: {fileID: 4634094916491360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4965446167656668 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1482825308695626} + m_LocalRotation: {x: 0.0000011344717, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.030381, y: -0.00000009765779, z: -0.0000000042359667} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4441217134629996} + m_Father: {fileID: 4704659787430792} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4994112069974886 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1214016502643026} + m_LocalRotation: {x: 0, y: 0, z: 0.04628874, w: 0.9989281} + m_LocalPosition: {x: -0.4248355, y: 3.2196466e-16, z: 1.9539925e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4368496118721320} + m_Father: {fileID: 4902840864619486} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &54563483927136738 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 112 + m_CollisionDetection: 0 +--- !u!95 &95487102469724584 +Animator: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 8837f192a88abd84da9f1907d0b6bdb4, type: 3} + m_Controller: {fileID: 9100000, guid: 7a9f599c49797434485c0e1d9e99f200, type: 2} + m_CullingMode: 1 + m_UpdateMode: 1 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &114640799850644754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5281785fbe32be4488391fbe4acda0d3, type: 3} + m_Name: + m_EditorClassIdentifier: + useCharacterForward: 0 + lockToCameraForward: 0 + turnSpeed: 10 + sprintJoystick: 332 + sprintKeyboard: 32 +--- !u!136 &136696896165574152 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.31 + m_Height: 1.76 + m_Direction: 1 + m_Center: {x: 0, y: 0.87, z: 0} +--- !u!137 &137876665122400252 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766522397640738} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d7f8b496adee38e4a9edc877d5939f5b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 8837f192a88abd84da9f1907d0b6bdb4, type: 3} + m_Bones: + - {fileID: 4395714782842420} + - {fileID: 4495135636622886} + - {fileID: 4902840864619486} + - {fileID: 4994112069974886} + - {fileID: 4368496118721320} + - {fileID: 4325166092024820} + - {fileID: 4250521619505792} + - {fileID: 4757780850791414} + - {fileID: 4327388097787786} + - {fileID: 4314694541946112} + - {fileID: 4759044232245152} + - {fileID: 4167897274266364} + - {fileID: 4433167837323158} + - {fileID: 4249977530399418} + - {fileID: 4133103639598966} + - {fileID: 4910201191786486} + - {fileID: 4562873851605902} + - {fileID: 4911014152170456} + - {fileID: 4009420136217332} + - {fileID: 4767404010830462} + - {fileID: 4764501272463272} + - {fileID: 4371101458568866} + - {fileID: 4240823294680710} + - {fileID: 4922610750754240} + - {fileID: 4650630383809934} + - {fileID: 4375941099766496} + - {fileID: 4690956774275456} + - {fileID: 4081740136882770} + - {fileID: 4253244186624738} + - {fileID: 4794868105199280} + - {fileID: 4656712348910608} + - {fileID: 4045389142029868} + - {fileID: 4623383317032384} + - {fileID: 4634094916491360} + - {fileID: 4940479983457288} + - {fileID: 4010660356237594} + - {fileID: 4067341440938288} + - {fileID: 4181935650218516} + - {fileID: 4374627063963924} + - {fileID: 4747823360574078} + - {fileID: 4665268592255836} + - {fileID: 4306490394211684} + - {fileID: 4018260219674140} + - {fileID: 4578838276210018} + - {fileID: 4231691677825054} + - {fileID: 4718307535146354} + - {fileID: 4209719543557254} + - {fileID: 4230998713309538} + - {fileID: 4736048062372990} + - {fileID: 4700388366158268} + - {fileID: 4439116517134178} + - {fileID: 4629790936744636} + - {fileID: 4813974348053656} + - {fileID: 4094310770169538} + - {fileID: 4123188799949912} + - {fileID: 4387490760862814} + - {fileID: 4704659787430792} + - {fileID: 4965446167656668} + - {fileID: 4441217134629996} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4395714782842420} + m_AABB: + m_Center: {x: 0.11729962, y: 0.015860312, z: -0.000000029802322} + m_Extent: {x: 0.8884625, y: 0.16316557, z: 0.9052676} + m_DirtyAABB: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/3rdPersonWithAimMode.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/3rdPersonWithAimMode.unity.meta new file mode 100644 index 00000000..34a8df40 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/3rdPersonWithAimMode.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a04cf6ca22a95684e9283ab039f68c66 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/ActivateOnKeypress.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/ActivateOnKeypress.cs new file mode 100644 index 00000000..1d594ebd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/ActivateOnKeypress.cs @@ -0,0 +1,46 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class ActivateOnKeypress : MonoBehaviour + { + public KeyCode ActivationKey = KeyCode.LeftControl; + public int PriorityBoostAmount = 10; + public GameObject Reticle; + + Cinemachine.CinemachineVirtualCameraBase vcam; + bool boosted = false; + + void Start() + { + vcam = GetComponent(); + } + + void Update() + { +#if ENABLE_LEGACY_INPUT_MANAGER + if (vcam != null) + { + if (Input.GetKey(ActivationKey)) + { + if (!boosted) + { + vcam.Priority += PriorityBoostAmount; + boosted = true; + } + } + else if (boosted) + { + vcam.Priority -= PriorityBoostAmount; + boosted = false; + } + } + + if (Reticle != null) + Reticle.SetActive(boosted); +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/ActivateOnKeypress.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/ActivateOnKeypress.cs.meta new file mode 100644 index 00000000..d48365d9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/3rdPersonWithAimMode/ActivateOnKeypress.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e8fce4bd108661c4d9740aea3bc971ed +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig.meta new file mode 100644 index 00000000..7375094b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3938fd1178121fe458f1afd64066f146 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimReticle.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimReticle.cs new file mode 100644 index 00000000..5935b4f2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimReticle.cs @@ -0,0 +1,64 @@ +#if CINEMACHINE_UGUI +using System; +using UnityEngine; +using UnityEngine.UI; + +namespace Cinemachine.Examples +{ + /// + /// Reticle control for when the aiming is inaccurate. Inaccuracy is shown by pulling apart the aim reticle. + /// + public class AimReticle : MonoBehaviour + { + [Tooltip("Maximum radius of the aim reticle, when aiming is inaccurate. ")] + [Range(0, 100f)] + public float MaxRadius; + + [Tooltip("The time is takes for the aim reticle to adjust, when inaccurate.")] + [Range(0, 1f)] + public float BlendTime; + + [Tooltip("Top piece of the aim reticle.")] + public Image Top; + [Tooltip("Bottom piece of the aim reticle.")] + public Image Bottom; + [Tooltip("Left piece of the aim reticle.")] + public Image Left; + [Tooltip("Right piece of the aim reticle.")] + public Image Right; + + [Tooltip("This 2D object will be positioned in the game view over the raycast hit point, if any, " + + "or will remain in the center of the screen if no hit point is detected. " + + "May be null, in which case no on-screen indicator will appear. Same as Cinemachine3rdPersonAim's")] + public RectTransform AimTargetReticle; + + void Reset() + { + MaxRadius = 30f; + BlendTime = 0.05f; + } + + float m_BlendVelocity; + float m_CurrentRadius; + + void Update() + { + var screenCenterPoint = new Vector2(Screen.width * 0.5f, Screen.height * 0.5f); + float distanceFromCenter = 0; + if (AimTargetReticle != null) + { + var hitPoint = (Vector2)AimTargetReticle.position; + distanceFromCenter = (screenCenterPoint - hitPoint).magnitude; + } + + m_CurrentRadius = Mathf.SmoothDamp(m_CurrentRadius, distanceFromCenter * 2f, ref m_BlendVelocity, BlendTime); + m_CurrentRadius = Mathf.Min(MaxRadius, m_CurrentRadius); + + Left.rectTransform.position = screenCenterPoint + (Vector2.left * m_CurrentRadius); + Right.rectTransform.position = screenCenterPoint + (Vector2.right * m_CurrentRadius); + Top.rectTransform.position = screenCenterPoint + (Vector2.up * m_CurrentRadius); + Bottom.rectTransform.position = screenCenterPoint + (Vector2.down * m_CurrentRadius); + } + } +} +#endif \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimReticle.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimReticle.cs.meta new file mode 100644 index 00000000..4ebf5486 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimReticle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bc7d68869689ce241999a4e22f40d026 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.asmdef b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.asmdef new file mode 100644 index 00000000..c118045b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.asmdef @@ -0,0 +1,20 @@ +{ + "name": "AimingRig", + "rootNamespace": "", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [ + { + "name": "com.unity.ugui", + "expression": "1.0.0", + "define": "CINEMACHINE_UGUI" + } + ], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.asmdef.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.asmdef.meta new file mode 100644 index 00000000..459d3633 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d9976a95090004779ae1d80bf0ebaf50 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.unity new file mode 100644 index 00000000..fd40ec4a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.unity @@ -0,0 +1,4173 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 364746025} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &226826961 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 226826963} + - component: {fileID: 226826962} + - component: {fileID: 226826965} + - component: {fileID: 226826964} + m_Layer: 0 + m_Name: CM Aiming Rig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &226826962 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 226826961} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 1923080548} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 1, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 1 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 424502139} +--- !u!4 &226826963 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 226826961} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 10.3, y: 2.6230001, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 153900723451599077} + - {fileID: 424502139} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &226826964 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 226826961} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 546027855273aed40809fd72c01c960a, type: 3} + m_Name: + m_EditorClassIdentifier: + MinAngle: -90 + MaxAngle: 90 + DistanceScale: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 0.49992627 + value: 1.0041615 + inSlope: 2.1330702 + outSlope: 2.1330702 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 2 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &226826965 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 226826961} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2588cc5dedbb75e49a44aada63f7b939, type: 3} + m_Name: + m_EditorClassIdentifier: + AimCollisionFilter: + serializedVersion: 2 + m_Bits: 1 + IgnoreTag: Player + AimDistance: 200 + AimTargetReticle: {fileID: 260066437471993806} +--- !u!850595691 &364746025 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 4 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 3 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 1 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 +--- !u!1 &424502138 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 424502139} + - component: {fileID: 424502142} + - component: {fileID: 424502143} + - component: {fileID: 424502140} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &424502139 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424502138} + m_LocalRotation: {x: 0.3232659, y: -0.00000007186669, z: 0.000000024550193, w: 0.9463082} + m_LocalPosition: {x: -4.6440506, y: -3.8999977, z: 3.0482786} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 226826963} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &424502140 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424502138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bd6043bde05a7fc4cba197d06915c1e3, type: 3} + m_Name: + m_EditorClassIdentifier: + Damping: {x: 0.1, y: 0.5, z: 0.3} + ShoulderOffset: {x: 0.3, y: -0.4, z: 0} + VerticalArmLength: 0.4 + CameraSide: 1 + CameraDistance: 2 + CameraCollisionFilter: + serializedVersion: 2 + m_Bits: 1 + IgnoreTag: Player + CameraRadius: 0.2 + DampingIntoCollision: 0 + DampingFromCollision: 0 +--- !u!114 &424502142 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424502138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &424502143 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424502138} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 46965f9cbaf525742a6da4c2172a99cd, type: 2} + m_PivotOffset: {x: 0, y: 0, z: 1} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 + mNoiseOffsets: {x: -765.3436, y: 412.4553, z: 513.0689} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1508344078} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1134903599 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1134903601} + - component: {fileID: 1134903600} + m_Layer: 0 + m_Name: Instructions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1134903600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1134903599} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Aiming Rig + m_Description: 'Use WASD to move the character, and the mouse to rotate. + + + The + 3rdPerson vcam is set up follow an invisible child of the player, which rotates + itself in response to mouse movement. + + + The 3rdPersonAim extension locks + the camera reticle to the first object that a raycast from the camera position + intersects, and this is stable even in the presence of some camera noise. + + + The + secondary (red dot) reticle shows what the player would hit if a shot were fired. + This may be different from the outer reticle if a nearby obstacle obstructs the + player from seeing the object under the camera reticle. When the outer and inner + recticles are not on the same position, the outer reticle moves apart to show + that the aiming is inaccurate. + + + The dual reticle behaviour can be disabled + by setting the Aim Target reticle field to null in the 3rdPersonAim extension. + + + Finally, + the (optional - enable it to see what it does) ThirdPersonFollowDistanceModifier + component modifies the camera distance as a function of vertical camera angle, + mimicking the 3-orbit setup of the FreeLook by using a simple curve to modify + the distance.' +--- !u!4 &1134903601 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1134903599} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 8.527199, y: -0.140625, z: -7.5859556} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1493626625 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalScale.x + value: 3.24 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} +--- !u!4 &1508344078 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 3} + m_PrefabInstance: {fileID: 1493626625} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1787124812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1787124816} + - component: {fileID: 1787124815} + - component: {fileID: 1787124814} + - component: {fileID: 1787124813} + - component: {fileID: 1787124817} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1787124813 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!124 &1787124814 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!20 &1787124815 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1787124816 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_LocalRotation: {x: -0.000000032511643, y: -0.0000007369306, z: -2.3958825e-14, w: 1} + m_LocalPosition: {x: 10.3, y: 2.6230001, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1787124817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 5 + m_Time: 0.3 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1923080547 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1923080548} + m_Layer: 0 + m_Name: GunOrigin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1923080548 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1923080547} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.623, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4921246272369262} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1034295081501960 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4306490394211684} + m_Layer: 0 + m_Name: RightUpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1053749316873830 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4478648147915672} + m_Layer: 0 + m_Name: RightRingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1062164003535588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4747823360574078} + m_Layer: 0 + m_Name: LeftIndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1063095840682334 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4568598647890834} + m_Layer: 0 + m_Name: LeftRingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1080929527576248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4133103639598966} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1083570653869936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4045389142029868} + m_Layer: 0 + m_Name: LeftRingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1091140877693132 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4433167837323158} + m_Layer: 0 + m_Name: Chest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1091430912626272 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4371101458568866} + m_Layer: 0 + m_Name: LeftUpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1112196954662280 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4249977530399418} + m_Layer: 0 + m_Name: UpperChest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1115429207812218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4813974348053656} + m_Layer: 0 + m_Name: RightRingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1120791963959688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4562873851605902} + m_Layer: 0 + m_Name: Jaw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1128554674852176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4700388366158268} + m_Layer: 0 + m_Name: RightPinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1136874512615902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4314694541946112} + m_Layer: 0 + m_Name: RightToes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1152093795519102 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4181935650218516} + m_Layer: 0 + m_Name: LeftIndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1152482547584906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4495135636622886} + m_Layer: 0 + m_Name: LeftUpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1160315963193152 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4922610750754240} + m_Layer: 0 + m_Name: LeftHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1162056440106892 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4067341440938288} + m_Layer: 0 + m_Name: LeftIndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1163718361243762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4650630383809934} + m_Layer: 0 + m_Name: LeftThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1167418398897310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4794868105199280} + m_Layer: 0 + m_Name: LeftPinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1177024168743564 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4656712348910608} + m_Layer: 0 + m_Name: LeftRingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1184412847696782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4770718595724854} + m_Layer: 0 + m_Name: LeftPinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1187594702275114 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4209719543557254} + m_Layer: 0 + m_Name: RightThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1214016502643026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4994112069974886} + m_Layer: 0 + m_Name: LeftFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1221231424470000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4736048062372990} + m_Layer: 0 + m_Name: RightPinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1226149671823336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4665268592255836} + m_Layer: 0 + m_Name: RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1228251651216730 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4562537071338080} + m_Layer: 0 + m_Name: LeftMiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1257000582460138 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4018260219674140} + m_Layer: 0 + m_Name: RightLowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1259728090932864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4902840864619486} + m_Layer: 0 + m_Name: LeftLowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1265185423157660 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4757780850791414} + m_Layer: 0 + m_Name: RightLowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1284511655638106 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4690956774275456} + m_Layer: 0 + m_Name: LeftThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1295321904904998 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4374627063963924} + m_Layer: 0 + m_Name: LeftIndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1297927732264634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4010660356237594} + m_Layer: 0 + m_Name: LeftMiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1327493678464746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4807133242489310} + m_Layer: 0 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1327555382137514 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4231691677825054} + m_Layer: 0 + m_Name: RightThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1333295761047764 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4441217134629996} + m_Layer: 0 + m_Name: RightIndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1337506848110080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4439116517134178} + m_Layer: 0 + m_Name: RightRingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1353567147409538 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4240494404266806} + m_Layer: 0 + m_Name: RightMiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1362001468898720 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4375941099766496} + m_Layer: 0 + m_Name: LeftThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1416673304548988 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4230998713309538} + m_Layer: 0 + m_Name: RightPinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1418000593030738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4759044232245152} + m_Layer: 0 + m_Name: RightToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1418755012443558 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4081740136882770} + m_Layer: 0 + m_Name: LeftPinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1421055536600256 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4634094916491360} + m_Layer: 0 + m_Name: LeftMiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1442507274931414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4704659787430792} + m_Layer: 0 + m_Name: RightIndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1459799960630426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4394862387420100} + m_Layer: 0 + m_Name: RightThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1479628923229556 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4764501272463272} + m_Layer: 0 + m_Name: LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1482825308695626 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4965446167656668} + m_Layer: 0 + m_Name: RightIndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1487805193422382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4325166092024820} + m_Layer: 0 + m_Name: LeftToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1489916631466470 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4670727923768522} + m_Layer: 0 + m_Name: RightPinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1491837544746690 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4094310770169538} + m_Layer: 0 + m_Name: RightMiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1528712951226298 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4253244186624738} + m_Layer: 0 + m_Name: LeftPinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1570168124567660 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4710283860315220} + m_Layer: 0 + m_Name: Skeleton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1589410391484670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4767404010830462} + m_Layer: 0 + m_Name: LeftEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1591564240245712 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4009420136217332} + m_Layer: 0 + m_Name: RightEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1611304054865566 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4167897274266364} + m_Layer: 0 + m_Name: Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1617386974034686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4123188799949912} + m_Layer: 0 + m_Name: RightMiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1666055810161362 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4718307535146354} + m_Layer: 0 + m_Name: RightThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1678572069958492 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4578838276210018} + m_Layer: 0 + m_Name: RightHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1699286298192380 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4910201191786486} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1747910752529618 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4250521619505792} + m_Layer: 0 + m_Name: RightUpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1766522397640738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4861992439017204} + - component: {fileID: 137876665122400252} + m_Layer: 0 + m_Name: Body + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1773235616064008 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4240823294680710} + m_Layer: 0 + m_Name: LeftLowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1776249133995082 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4260617025203136} + m_Layer: 0 + m_Name: RightIndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1784306224083824 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4911014152170456} + m_Layer: 0 + m_Name: JawEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1804765459442656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4368496118721320} + m_Layer: 0 + m_Name: LeftToes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1824329345096688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4623383317032384} + m_Layer: 0 + m_Name: LeftRingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1829093404419118 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4395714782842420} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1866482653427826 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4940479983457288} + m_Layer: 0 + m_Name: LeftMiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1911932687977848 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4039498477818268} + m_Layer: 0 + m_Name: LeftThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1920995389633118 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4327388097787786} + m_Layer: 0 + m_Name: RightFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1946226870641448 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4387490760862814} + m_Layer: 0 + m_Name: RightMiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1964341083429344 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4629790936744636} + m_Layer: 0 + m_Name: RightRingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1967616610772914 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4921246272369262} + - component: {fileID: 95487102469724584} + - component: {fileID: 54563483927136738} + - component: {fileID: 136696896165574152} + - component: {fileID: 1967616610772915} + m_Layer: 0 + m_Name: 3rdPersonController + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1967616610772915 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5200521536b604f40bb6a80aa5a81e30, type: 3} + m_Name: + m_EditorClassIdentifier: + InvisibleCameraOrigin: {fileID: 1923080548} + StrafeSpeed: 0.1 + TurnSpeed: 3 + Damping: 0.2 + VerticalRotMin: -80 + VerticalRotMax: 80 + sprintJoystick: 332 + sprintKeyboard: 32 +--- !u!4 &4009420136217332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1591564240245712} + m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.04963885, y: 0.11306744, z: -0.029689595} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4910201191786486} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4010660356237594 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1297927732264634} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.027341224, y: -0.0000001068289, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4562537071338080} + m_Father: {fileID: 4940479983457288} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4018260219674140 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257000582460138} + m_LocalRotation: {x: 0.000000001217143, y: 0.010789105, z: -0.00000011280568, w: 0.9999418} + m_LocalPosition: {x: 0.2598076, y: -0.000000058593667, z: 0.0000000065556907} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4578838276210018} + m_Father: {fileID: 4306490394211684} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4039498477818268 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1911932687977848} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.032299604, y: -1.2479823e-16, z: -3.2554504e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4690956774275456} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4045389142029868 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1083570653869936} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.028015258, y: -0.00000006713867, z: -6.120983e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4623383317032384} + m_Father: {fileID: 4656712348910608} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4067341440938288 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162056440106892} + m_LocalRotation: {x: 1, y: -0.00000080360593, z: -0.00000003485639, w: 0.0000000028799356} + m_LocalPosition: {x: -0.10144374, y: -0.010422724, z: 0.032279857} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4181935650218516} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4081740136882770 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418755012443558} + m_LocalRotation: {x: 1, y: 0.00000048059263, z: 0.000000045818194, w: 0.000000002879936} + m_LocalPosition: {x: -0.09005295, y: -0.01086029, z: -0.033707228} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4253244186624738} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4094310770169538 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1491837544746690} + m_LocalRotation: {x: 1, y: 0.000003907246, z: 7.633312e-12, w: 0.0000019536299} + m_LocalPosition: {x: 0.101765, y: 0.0092, z: -0.0076735197} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4123188799949912} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4123188799949912 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1617386974034686} + m_LocalRotation: {x: 0.0000027608096, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.038115, y: 0.00000029784886, z: 1.164116e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4387490760862814} + m_Father: {fileID: 4094310770169538} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4133103639598966 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080929527576248} + m_LocalRotation: {x: 0, y: 0, z: -0.16252996, w: 0.98670363} + m_LocalPosition: {x: -0.22944902, y: 0, z: 3.8648323e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4910201191786486} + m_Father: {fileID: 4249977530399418} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4167897274266364 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1611304054865566} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0763707, y: 0.0041095037, z: 1.3457705e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4433167837323158} + m_Father: {fileID: 4395714782842420} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4181935650218516 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1152093795519102} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.03038064, y: 0.000000024414062, z: 0.0000000010589601} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4374627063963924} + m_Father: {fileID: 4067341440938288} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4209719543557254 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1187594702275114} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.031395752, y: -0.00000016593874, z: 0.00000001956757} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4394862387420100} + m_Father: {fileID: 4718307535146354} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4230998713309538 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1416673304548988} + m_LocalRotation: {x: 1, y: 0.0000009611853, z: 0.00000009163637, w: 0.00000048049026} + m_LocalPosition: {x: 0.09005299, y: 0.01086, z: 0.03370722} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4736048062372990} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4231691677825054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327555382137514} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0.032763, y: 0.019399999, z: -0.03258728} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4718307535146354} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4240494404266806 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1353567147409538} + m_LocalRotation: {x: 0.000003517392, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.029609999, y: 0.00000023138672, z: -1.3519946e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4387490760862814} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4240823294680710 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1773235616064008} + m_LocalRotation: {x: 0.000000001217143, y: 0.010789105, z: -0.00000011280568, w: 0.9999418} + m_LocalPosition: {x: -0.25980794, y: 1.2984311e-16, z: 1.3635393e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4922610750754240} + m_Father: {fileID: 4371101458568866} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4249977530399418 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1112196954662280} + m_LocalRotation: {x: 0, y: 0, z: 0.02762249, w: 0.9996185} + m_LocalPosition: {x: -0.099863835, y: 3.837587e-10, z: 4.2860933e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4133103639598966} + - {fileID: 4764501272463272} + - {fileID: 4665268592255836} + m_Father: {fileID: 4433167837323158} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4250521619505792 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747910752529618} + m_LocalRotation: {x: 0, y: 0, z: -0.004908496, w: 0.99998796} + m_LocalPosition: {x: 0.05013466, y: -0.0024317356, z: -0.089999996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4757780850791414} + m_Father: {fileID: 4395714782842420} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4253244186624738 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1528712951226298} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.020319965, y: -0.000000009765624, z: -9.310237e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4794868105199280} + m_Father: {fileID: 4081740136882770} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4260617025203136 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776249133995082} + m_LocalRotation: {x: 0.0000014476384, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.027727999, y: -0.000000089129905, z: -0.0000000038657064} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4441217134629996} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4306490394211684 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1034295081501960} + m_LocalRotation: {x: 0.0000000010905377, y: -0.0096692005, z: 0.0000001127794, w: 0.99995327} + m_LocalPosition: {x: 0.14904709, y: -0.021559998, z: 0.026150005} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4018260219674140} + m_Father: {fileID: 4665268592255836} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4314694541946112 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1136874512615902} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0.0758718, y: 0.1706926, z: 1.0658141e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4759044232245152} + m_Father: {fileID: 4327388097787786} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4325166092024820 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1487805193422382} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.054048985, y: -9.722308e-18, z: 1.0302869e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4368496118721320} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4327388097787786 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1920995389633118} + m_LocalRotation: {x: 0, y: 0, z: 0.04628874, w: 0.9989281} + m_LocalPosition: {x: 0.42483592, y: 0.00000004328955, z: 1.9539925e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4314694541946112} + m_Father: {fileID: 4757780850791414} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4368496118721320 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1804765459442656} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.0758718, y: -0.17069253, z: 5.1514347e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4325166092024820} + m_Father: {fileID: 4994112069974886} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4371101458568866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1091430912626272} + m_LocalRotation: {x: 0.0000000010905377, y: -0.0096692005, z: 0.0000001127794, w: 0.99995327} + m_LocalPosition: {x: -0.14904714, y: 0.021559998, z: -0.026150007} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4240823294680710} + m_Father: {fileID: 4764501272463272} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4374627063963924 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1295321904904998} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.023295304, y: 0.00000006185455, z: 0.0000000026829414} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4747823360574078} + m_Father: {fileID: 4181935650218516} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4375941099766496 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1362001468898720} + m_LocalRotation: {x: 0.00000017615224, y: 0.00000044237117, z: 0.46174863, w: 0.8870109} + m_LocalPosition: {x: -0.015590345, y: -0.02269687, z: -0.0022699998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4690956774275456} + m_Father: {fileID: 4650630383809934} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4387490760862814 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1946226870641448} + m_LocalRotation: {x: 0.0000021149021, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.027341, y: 0.00000021365567, z: -3.446715e-13} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4240494404266806} + m_Father: {fileID: 4123188799949912} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4394862387420100 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1459799960630426} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.032299694, y: 0.00000041872633, z: 0.000000020130532} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4209719543557254} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4395714782842420 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1829093404419118} + m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 1.1827783e-16, y: 0.99710166, z: 0.011954045} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4495135636622886} + - {fileID: 4250521619505792} + - {fileID: 4167897274266364} + m_Father: {fileID: 4807133242489310} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4433167837323158 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1091140877693132} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.102159195, y: 0, z: 3.418214e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4249977530399418} + m_Father: {fileID: 4167897274266364} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4439116517134178 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1337506848110080} + m_LocalRotation: {x: 1, y: 0, z: -0, w: 6.123234e-17} + m_LocalPosition: {x: 0.100981995, y: 0.00868, z: 0.0151886195} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4629790936744636} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4441217134629996 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1333295761047764} + m_LocalRotation: {x: 0.00000087025205, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.023294998, y: -0.000000074880305, z: -0.000000003247809} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4260617025203136} + m_Father: {fileID: 4965446167656668} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4478648147915672 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1053749316873830} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.026131999, y: -3.3821833e-13, z: 2.3536727e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4813974348053656} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4495135636622886 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1152482547584906} + m_LocalRotation: {x: 0, y: 0, z: 0.99998796, w: 0.004908496} + m_LocalPosition: {x: 0.05013466, y: -0.0024317312, z: 0.089999996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4902840864619486} + m_Father: {fileID: 4395714782842420} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4562537071338080 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1228251651216730} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.029609164, y: -0.00000011569029, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4010660356237594} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4562873851605902 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1120791963959688} + m_LocalRotation: {x: -0.00011591564, y: 0.00007256035, z: -0.8476265, w: 0.53059345} + m_LocalPosition: {x: 0.020377725, y: 0.023429718, z: 0.000011341149} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4911014152170456} + m_Father: {fileID: 4910201191786486} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4568598647890834 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1063095840682334} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.026132211, y: -0.00000012525189, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4623383317032384} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4578838276210018 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1678572069958492} + m_LocalRotation: {x: 0, y: -0.0011199615, z: -0, w: 0.9999994} + m_LocalPosition: {x: 0.25833765, y: 8.2224006e-13, z: -0.0000000040112766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4231691677825054} + - {fileID: 4230998713309538} + - {fileID: 4439116517134178} + - {fileID: 4094310770169538} + - {fileID: 4704659787430792} + m_Father: {fileID: 4018260219674140} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4623383317032384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1824329345096688} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.029936645, y: -0.00000014348656, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4568598647890834} + m_Father: {fileID: 4045389142029868} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4629790936744636 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964341083429344} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.028015, y: -3.6322944e-13, z: 2.509104e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4813974348053656} + m_Father: {fileID: 4439116517134178} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4634094916491360 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1421055536600256} + m_LocalRotation: {x: 1, y: 0.000001953623, z: 5.6263126e-15, w: 0.0000000028799376} + m_LocalPosition: {x: -0.10176471, y: -0.009200126, z: 0.0076735215} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4940479983457288} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4650630383809934 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1163718361243762} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: -0.032763172, y: -0.019399941, z: 0.032587297} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4375941099766496} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4656712348910608 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177024168743564} + m_LocalRotation: {x: 1, y: 0, z: -0, w: 0.000000002879931} + m_LocalPosition: {x: -0.10098182, y: -0.008680271, z: -0.01518866} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4045389142029868} + m_Father: {fileID: 4922610750754240} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4665268592255836 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1226149671823336} + m_LocalRotation: {x: 0.51362044, y: 0.48599797, z: -0.51362044, w: 0.48599797} + m_LocalPosition: {x: -0.14809349, y: 0.018417655, z: -0.041293897} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4306490394211684} + m_Father: {fileID: 4249977530399418} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4670727923768522 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1489916631466470} + m_LocalRotation: {x: 0.00000086590364, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.021772001, y: 0.000000041853575, z: 0.000000003990134} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4700388366158268} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4690956774275456 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1284511655638106} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.03139568, y: 0, z: 2.8111882e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4039498477818268} + m_Father: {fileID: 4375941099766496} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4700388366158268 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1128554674852176} + m_LocalRotation: {x: 0.00000052042185, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.01966, y: 0.00000003779355, z: 0.0000000036031094} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4670727923768522} + m_Father: {fileID: 4736048062372990} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4704659787430792 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442507274931414} + m_LocalRotation: {x: 1, y: -0.0000016072119, z: -0.00000006971279, w: 0.0000008035582} + m_LocalPosition: {x: 0.10144399, y: 0.010419999, z: -0.03227988} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4965446167656668} + m_Father: {fileID: 4578838276210018} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4710283860315220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1570168124567660} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4807133242489310} + m_Father: {fileID: 4921246272369262} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4718307535146354 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1666055810161362} + m_LocalRotation: {x: 0.00000017597144, y: 0.00000044227704, z: 0.46174863, w: 0.8870109} + m_LocalPosition: {x: 0.015591, y: 0.0226969, z: 0.0022699998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4209719543557254} + m_Father: {fileID: 4231691677825054} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4736048062372990 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1221231424470000} + m_LocalRotation: {x: 0.00000067755235, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.02032, y: 0.0000000390623, z: 0.0000000037241212} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4700388366158268} + m_Father: {fileID: 4230998713309538} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4747823360574078 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062164003535588} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.027728153, y: 0.000000044565017, z: 0.000000001933008} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4374627063963924} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4757780850791414 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1265185423157660} + m_LocalRotation: {x: 0, y: 0, z: -0.041384947, w: 0.9991433} + m_LocalPosition: {x: 0.43576697, y: -4.867446e-10, z: 1.9539925e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4327388097787786} + m_Father: {fileID: 4250521619505792} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4759044232245152 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418000593030738} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.054049, y: 4.2188474e-17, z: 3.5527136e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4314694541946112} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4764501272463272 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1479628923229556} + m_LocalRotation: {x: -0.48599797, y: 0.51362044, z: 0.48599797, w: 0.51362044} + m_LocalPosition: {x: -0.14809349, y: 0.018417658, z: 0.041293867} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4371101458568866} + m_Father: {fileID: 4249977530399418} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4767404010830462 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1589410391484670} + m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.04963602, y: 0.11306743, z: 0.03} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4910201191786486} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4770718595724854 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1184412847696782} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.021771478, y: -0.000000020926425, z: -0.0000000019950588} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4794868105199280} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4794868105199280 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1167418398897310} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.019660275, y: -0.000000018897165, z: -0.0000000018015959} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4770718595724854} + m_Father: {fileID: 4253244186624738} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4807133242489310 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327493678464746} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4395714782842420} + m_Father: {fileID: 4710283860315220} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4813974348053656 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115429207812218} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.029937, y: -3.8795632e-13, z: 2.7311487e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4478648147915672} + m_Father: {fileID: 4629790936744636} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4861992439017204 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766522397640738} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4921246272369262} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4902840864619486 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1259728090932864} + m_LocalRotation: {x: 0, y: 0, z: -0.041384947, w: 0.9991433} + m_LocalPosition: {x: -0.43576738, y: 8.0373204e-16, z: -2.3092638e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4994112069974886} + m_Father: {fileID: 4495135636622886} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4910201191786486 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1699286298192380} + m_LocalRotation: {x: 0, y: 0, z: 0.13521273, w: 0.9908166} + m_LocalPosition: {x: -0.09720324, y: -3.5527136e-17, z: -7.336409e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4562873851605902} + - {fileID: 4009420136217332} + - {fileID: 4767404010830462} + m_Father: {fileID: 4133103639598966} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4911014152170456 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784306224083824} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.094900064, y: 1.8092883e-17, z: 4.9371638e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4562873851605902} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4921246272369262 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 10, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1923080548} + - {fileID: 4861992439017204} + - {fileID: 4710283860315220} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4922610750754240 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1160315963193152} + m_LocalRotation: {x: 0, y: -0.0011199615, z: -0, w: 0.9999994} + m_LocalPosition: {x: -0.25833747, y: -4.1848454e-17, z: 7.817271e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4650630383809934} + - {fileID: 4081740136882770} + - {fileID: 4656712348910608} + - {fileID: 4634094916491360} + - {fileID: 4067341440938288} + m_Father: {fileID: 4240823294680710} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4940479983457288 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1866482653427826} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.03811528, y: -0.00000007446289, z: 2.8247632e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4010660356237594} + m_Father: {fileID: 4634094916491360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4965446167656668 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1482825308695626} + m_LocalRotation: {x: 0.0000011344717, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.030381, y: -0.00000009765779, z: -0.0000000042359667} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4441217134629996} + m_Father: {fileID: 4704659787430792} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4994112069974886 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1214016502643026} + m_LocalRotation: {x: 0, y: 0, z: 0.04628874, w: 0.9989281} + m_LocalPosition: {x: -0.4248355, y: 3.2196466e-16, z: 1.9539925e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4368496118721320} + m_Father: {fileID: 4902840864619486} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &37578809700473673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854802718634979196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.509434, g: 0.509434, b: 0.509434, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!54 &54563483927136738 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 112 + m_CollisionDetection: 0 +--- !u!95 &95487102469724584 +Animator: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 8837f192a88abd84da9f1907d0b6bdb4, type: 3} + m_Controller: {fileID: 9100000, guid: 7a9f599c49797434485c0e1d9e99f200, type: 2} + m_CullingMode: 1 + m_UpdateMode: 1 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!136 &136696896165574152 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1967616610772914} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.31 + m_Height: 1.76 + m_Direction: 1 + m_Center: {x: 0, y: 0.87, z: 0} +--- !u!137 &137876665122400252 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1766522397640738} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d7f8b496adee38e4a9edc877d5939f5b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 8837f192a88abd84da9f1907d0b6bdb4, type: 3} + m_Bones: + - {fileID: 4395714782842420} + - {fileID: 4495135636622886} + - {fileID: 4902840864619486} + - {fileID: 4994112069974886} + - {fileID: 4368496118721320} + - {fileID: 4325166092024820} + - {fileID: 4250521619505792} + - {fileID: 4757780850791414} + - {fileID: 4327388097787786} + - {fileID: 4314694541946112} + - {fileID: 4759044232245152} + - {fileID: 4167897274266364} + - {fileID: 4433167837323158} + - {fileID: 4249977530399418} + - {fileID: 4133103639598966} + - {fileID: 4910201191786486} + - {fileID: 4562873851605902} + - {fileID: 4911014152170456} + - {fileID: 4009420136217332} + - {fileID: 4767404010830462} + - {fileID: 4764501272463272} + - {fileID: 4371101458568866} + - {fileID: 4240823294680710} + - {fileID: 4922610750754240} + - {fileID: 4650630383809934} + - {fileID: 4375941099766496} + - {fileID: 4690956774275456} + - {fileID: 4081740136882770} + - {fileID: 4253244186624738} + - {fileID: 4794868105199280} + - {fileID: 4656712348910608} + - {fileID: 4045389142029868} + - {fileID: 4623383317032384} + - {fileID: 4634094916491360} + - {fileID: 4940479983457288} + - {fileID: 4010660356237594} + - {fileID: 4067341440938288} + - {fileID: 4181935650218516} + - {fileID: 4374627063963924} + - {fileID: 4747823360574078} + - {fileID: 4665268592255836} + - {fileID: 4306490394211684} + - {fileID: 4018260219674140} + - {fileID: 4578838276210018} + - {fileID: 4231691677825054} + - {fileID: 4718307535146354} + - {fileID: 4209719543557254} + - {fileID: 4230998713309538} + - {fileID: 4736048062372990} + - {fileID: 4700388366158268} + - {fileID: 4439116517134178} + - {fileID: 4629790936744636} + - {fileID: 4813974348053656} + - {fileID: 4094310770169538} + - {fileID: 4123188799949912} + - {fileID: 4387490760862814} + - {fileID: 4704659787430792} + - {fileID: 4965446167656668} + - {fileID: 4441217134629996} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4395714782842420} + m_AABB: + m_Center: {x: 0.11729962, y: 0.015860312, z: -0.000000029802322} + m_Extent: {x: 0.8884625, y: 0.16316557, z: 0.9052676} + m_DirtyAABB: 0 +--- !u!224 &153900723451599077 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5945698690048479624} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 260066437471993806} + - {fileID: 5101484583889120993} + m_Father: {fileID: 226826963} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!224 &260066437471993806 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6521527274971629406} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 26.466148} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 153900723451599077} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -0.0013950892, y: 0.00007342575} + m_SizeDelta: {x: 10, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &321541157406378396 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5918418925356973809} + - component: {fileID: 4363211939207922225} + - component: {fileID: 3667669835920395874} + m_Layer: 5 + m_Name: down (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &637442161210799948 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4952681795414530779} + - component: {fileID: 4014649751475871793} + - component: {fileID: 8571848275073518753} + m_Layer: 5 + m_Name: left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &854802718634979196 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3526094740835135317} + - component: {fileID: 4447257011816210372} + - component: {fileID: 37578809700473673} + m_Layer: 5 + m_Name: right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &955261071602531650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3566171088614978507} + - component: {fileID: 3848265181683058553} + - component: {fileID: 2999251759889599543} + m_Layer: 5 + m_Name: top + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!223 &1119437525629235430 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5945698690048479624} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &1150345619514393457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6521527274971629406} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1277221849132012322 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5101484583889120993} + - component: {fileID: 6578860596827590882} + - component: {fileID: 2706997423346291668} + m_Layer: 5 + m_Name: AimReticle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &1335330183343951411 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6521527274971629406} + m_CullTransparentMesh: 1 +--- !u!222 &2021255456408659896 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8119565691434959016} + m_CullTransparentMesh: 1 +--- !u!114 &2706997423346291668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1277221849132012322} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bc7d68869689ce241999a4e22f40d026, type: 3} + m_Name: + m_EditorClassIdentifier: + MaxRadius: 30 + BlendTime: 0.05 + Top: {fileID: 2999251759889599543} + Bottom: {fileID: 4008273981425034797} + Left: {fileID: 8571848275073518753} + Right: {fileID: 37578809700473673} + AimTargetReticle: {fileID: 260066437471993806} +--- !u!222 &2723113944719693837 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8603512015782432092} + m_CullTransparentMesh: 1 +--- !u!224 &2723711936400274817 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4034526899312248483} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3526094740835135317} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -10, y: 0} + m_SizeDelta: {x: 20, y: 3} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &2791953464807463032 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4034526899312248483} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 1, b: 0.31832528, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2999251759889599543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 955261071602531650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.509434, g: 0.509434, b: 0.509434, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!224 &3526094740835135317 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854802718634979196} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2723711936400274817} + m_Father: {fileID: 5101484583889120993} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 22, y: 5} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &3566171088614978507 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 955261071602531650} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3842700712863957352} + m_Father: {fileID: 5101484583889120993} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 5, y: 22} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &3667669835920395874 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 321541157406378396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 1, b: 0.31832528, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!224 &3842700712863957352 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8119565691434959016} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3566171088614978507} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 3, y: 20} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &3848265181683058553 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 955261071602531650} + m_CullTransparentMesh: 1 +--- !u!114 &3853854406086243294 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8119565691434959016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 1, b: 0.31832528, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &4008273981425034797 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6200837970771541480} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.509434, g: 0.509434, b: 0.509434, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &4014649751475871793 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 637442161210799948} + m_CullTransparentMesh: 1 +--- !u!1 &4034526899312248483 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2723711936400274817} + - component: {fileID: 6560132240994850921} + - component: {fileID: 2791953464807463032} + m_Layer: 5 + m_Name: right (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &4363211939207922225 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 321541157406378396} + m_CullTransparentMesh: 1 +--- !u!222 &4408724812352557914 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6200837970771541480} + m_CullTransparentMesh: 1 +--- !u!222 &4447257011816210372 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854802718634979196} + m_CullTransparentMesh: 1 +--- !u!224 &4759813928997548577 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6200837970771541480} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5918418925356973809} + m_Father: {fileID: 5101484583889120993} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 5, y: 22} + m_Pivot: {x: 0.5, y: 1} +--- !u!224 &4952681795414530779 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 637442161210799948} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5337428573539602516} + m_Father: {fileID: 5101484583889120993} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 22, y: 5} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &5101484583889120993 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1277221849132012322} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4952681795414530779} + - {fileID: 3526094740835135317} + - {fileID: 3566171088614978507} + - {fileID: 4759813928997548577} + m_Father: {fileID: 153900723451599077} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &5337428573539602516 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8603512015782432092} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4952681795414530779} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 3} + m_Pivot: {x: 1, y: 0.5} +--- !u!114 &5538629405597886630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5945698690048479624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!224 &5918418925356973809 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 321541157406378396} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4759813928997548577} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 10} + m_SizeDelta: {x: 3, y: 20} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &5945698690048479624 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 153900723451599077} + - component: {fileID: 1119437525629235430} + - component: {fileID: 5538629405597886630} + - component: {fileID: 8612951625482563961} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6200837970771541480 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4759813928997548577} + - component: {fileID: 4408724812352557914} + - component: {fileID: 4008273981425034797} + m_Layer: 5 + m_Name: bottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6521527274971629406 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 260066437471993806} + - component: {fileID: 1335330183343951411} + - component: {fileID: 1150345619514393457} + m_Layer: 5 + m_Name: adjustedReticle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &6560132240994850921 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4034526899312248483} + m_CullTransparentMesh: 1 +--- !u!222 &6578860596827590882 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1277221849132012322} + m_CullTransparentMesh: 1 +--- !u!114 &7086134644202461365 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8603512015782432092} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 1, b: 0.31832528, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8119565691434959016 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3842700712863957352} + - component: {fileID: 2021255456408659896} + - component: {fileID: 3853854406086243294} + m_Layer: 5 + m_Name: top (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &8571848275073518753 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 637442161210799948} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.509434, g: 0.509434, b: 0.509434, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8603512015782432092 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5337428573539602516} + - component: {fileID: 2723113944719693837} + - component: {fileID: 7086134644202461365} + m_Layer: 5 + m_Name: left (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &8612951625482563961 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5945698690048479624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.unity.meta new file mode 100644 index 00000000..474252cb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/AimingRig/AimingRig.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8ad62c20b502850419e9fbe043d2d6f8 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door.meta new file mode 100644 index 00000000..ebedf3b5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e6f21e88a899ab46a27f1eeacbcdccd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Anywhere Door.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Anywhere Door.unity new file mode 100644 index 00000000..7a5f2cfc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Anywhere Door.unity @@ -0,0 +1,3422 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 1 + m_FogColor: {r: 0.75294125, g: 0.7372549, b: 0.7686275, a: 1} + m_FogMode: 3 + m_FogDensity: 0.005 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.16112, g: 0.17252, b: 0.19684, a: 0.76} + m_AmbientEquatorColor: {r: 0.08664, g: 0.095, b: 0.10108, a: 0.76} + m_AmbientGroundColor: {r: 0.03572, g: 0.03268, b: 0.0266, a: 0.76} + m_AmbientIntensity: 0.76 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 2100000, guid: 0ffaa0b7117ba8c47a9d05ae701d4b4d, type: 2} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 512 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 4 + m_BakeResolution: 10 + m_AtlasSize: 1024 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 0.1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 15201, guid: 0000000000000000f000000000000000, type: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 64 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000000, guid: 9c745fff2fd0649e8b6f846d851e1cb6, type: 2} + m_LightingSettings: {fileID: 4890085278179872738, guid: 44f5e02dd99474df29519af7f5d03c73, type: 2} +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &142240806 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 142240807} + - component: {fileID: 142240811} + - component: {fileID: 142240810} + - component: {fileID: 142240809} + - component: {fileID: 142240808} + m_Layer: 9 + m_Name: Door (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &142240807 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 142240806} + m_LocalRotation: {x: -0.0000000842937, y: -1, z: -0, w: 0} + m_LocalPosition: {x: 179.50235, y: -75.81201, z: -63.562515} + m_LocalScale: {x: 1.4200003, y: 2.6200013, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2101157273} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 270, y: 90.00001, z: 90.00001} +--- !u!114 &142240808 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 142240806} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e46ac8d61dc065848bd5a1aa7cd8c006, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayerMask: + serializedVersion: 2 + m_Bits: 1 + m_WithTag: Player + m_WithoutTag: + m_SkipFirst: 0 + m_Repeating: 1 + m_OnObjectEnter: + m_Action: 2 + m_Target: {fileID: 1191705211} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] + m_OnObjectExit: + m_Action: 0 + m_Target: {fileID: 0} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1512525345} + m_TargetAssemblyTypeName: + m_MethodName: PlayerTagChanger + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 2054153334} + m_TargetAssemblyTypeName: + m_MethodName: UntaggedTagChanger + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!64 &142240809 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 142240806} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &142240810 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 142240806} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: e27c6515627c1451b9c20d5af1e8b528, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &142240811 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 142240806} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &187303372 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 187303376} + - component: {fileID: 187303375} + - component: {fileID: 187303374} + - component: {fileID: 187303373} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!64 &187303373 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 187303372} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 0 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &187303374 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 187303372} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 764fcb585f1f34a6da8ae3fca76c1261, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &187303375 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 187303372} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &187303376 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 187303372} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.16027832, y: -1.1599104, z: -6.8187943} + m_LocalScale: {x: 5, y: 1, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1322542455} + - {fileID: 2111693957} + - {fileID: 1948220614} + - {fileID: 1525867723} + - {fileID: 1831308388} + m_Father: {fileID: 216708656} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &210371068 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 210371073} + - component: {fileID: 210371072} + - component: {fileID: 210371071} + - component: {fileID: 210371070} + - component: {fileID: 210371069} + m_Layer: 9 + m_Name: Door + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &210371069 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210371068} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e46ac8d61dc065848bd5a1aa7cd8c006, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayerMask: + serializedVersion: 2 + m_Bits: 1 + m_WithTag: Player + m_WithoutTag: + m_SkipFirst: 0 + m_Repeating: 1 + m_OnObjectEnter: + m_Action: 2 + m_Target: {fileID: 606071034} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] + m_OnObjectExit: + m_Action: 0 + m_Target: {fileID: 0} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1512525345} + m_TargetAssemblyTypeName: + m_MethodName: UntaggedTagChanger + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 2054153334} + m_TargetAssemblyTypeName: + m_MethodName: PlayerTagChanger + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!64 &210371070 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210371068} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &210371071 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210371068} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 1ef400092819e4ad0a2e285c635697a4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &210371072 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210371068} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &210371073 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210371068} + m_LocalRotation: {x: -0, y: -0, z: -0, w: -1} + m_LocalPosition: {x: 0.16023254, y: 0.040089607, z: 0.98120594} + m_LocalScale: {x: 1.4200007, y: 2.6200008, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 216708656} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 270, y: 0, z: 180} +--- !u!1 &216708655 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 216708656} + m_Layer: 0 + m_Name: World + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &216708656 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 216708655} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -100.16028, y: 1.1599104, z: -5.981206} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 582015259} + - {fileID: 187303376} + - {fileID: 210371073} + - {fileID: 562235149} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &333781071 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054153329} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 179.49878, y: -76.021866, z: -70.620026} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 770966536} + - {fileID: 606071036} + m_Father: {fileID: 2101157273} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &350798961 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 350798965} + - component: {fileID: 350798964} + - component: {fileID: 350798963} + - component: {fileID: 350798962} + m_Layer: 0 + m_Name: Sphere (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!135 &350798962 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350798961} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &350798963 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350798961} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 764fcb585f1f34a6da8ae3fca76c1261, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &350798964 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350798961} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &350798965 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350798961} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5920014, y: 0.83, z: 2.6380005} + m_LocalScale: {x: 0.4, y: 2, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1198421477} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &390484716 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 390484718} + - component: {fileID: 390484717} + m_Layer: 0 + m_Name: Directional Light 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &390484717 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 390484716} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 0.99264705, g: 0.97039807, b: 0.89776164, a: 1} + m_Intensity: 1.25 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 0.754 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &390484718 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 390484716} + m_LocalRotation: {x: 0.63730067, y: 0.11855424, z: 0.37703967, w: 0.6615391} + m_LocalPosition: {x: 146.9, y: 19.3, z: 178.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &489939236 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + m_PrefabInstance: {fileID: 1171271195} + m_PrefabAsset: {fileID: 0} +--- !u!1 &544186481 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 544186483} + - component: {fileID: 544186482} + m_Layer: 0 + m_Name: Directional Light 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &544186482 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 544186481} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 0.9485294, g: 0.9448738, b: 0.8160143, a: 1} + m_Intensity: 0.5 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 0.56 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &544186483 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 544186481} + m_LocalRotation: {x: -0.116641544, y: -0.4422468, z: 0.88705075, w: 0.062876664} + m_LocalPosition: {x: 185.5, y: 19.3, z: 209.7} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &562235145 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 562235149} + - component: {fileID: 562235148} + - component: {fileID: 562235147} + - component: {fileID: 562235146} + m_Layer: 9 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &562235146 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562235145} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &562235147 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562235145} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 1 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 30 + m_PresetInfoIsWorld: 1 +--- !u!223 &562235148 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562235145} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 766143892} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &562235149 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 562235145} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.98120594} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 829576836} + m_Father: {fileID: 216708656} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0.16027832, y: 0.040089607} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!4 &582015259 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 964464273} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.16027832, y: -0.15991044, z: -7.018794} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1443716630} + - {fileID: 1191705213} + m_Father: {fileID: 216708656} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &606071034 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 606071036} + - component: {fileID: 606071035} + m_Layer: 0 + m_Name: CM vcam2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &606071035 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 606071034} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 2.326139, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 2010855686} +--- !u!4 &606071036 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 606071034} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2010855686} + m_Father: {fileID: 333781071} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &647906469 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 647906470} + - component: {fileID: 647906472} + - component: {fileID: 647906471} + m_Layer: 9 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &647906470 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647906469} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.01} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1350096985} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1.5, y: 2.7} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &647906471 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647906469} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &647906472 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647906469} + m_CullTransparentMesh: 0 +--- !u!1 &766143888 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 766143893} + - component: {fileID: 766143892} + - component: {fileID: 766143890} + - component: {fileID: 766143889} + - component: {fileID: 766143894} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &766143889 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 766143888} + m_Enabled: 1 +--- !u!124 &766143890 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 766143888} + m_Enabled: 1 +--- !u!20 &766143892 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 766143888} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.5896226, g: 0.66785735, b: 1, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &766143893 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 766143888} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -100, y: 1, z: -13} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &766143894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 766143888} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 0 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &770966535 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 770966536} + - component: {fileID: 770966538} + - component: {fileID: 770966537} + m_Layer: 0 + m_Name: FirstPersonCharacter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &770966536 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770966535} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 333781071} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!124 &770966537 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770966535} + m_Enabled: 1 +--- !u!20 &770966538 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770966535} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.5896226, g: 0.66785735, b: 1, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 311 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 8400000, guid: 86f96f4f6f9f949b0a56a1bbdc719e1f, type: 2} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &829576835 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 829576836} + - component: {fileID: 829576838} + - component: {fileID: 829576837} + m_Layer: 9 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &829576836 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 829576835} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.01} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 562235149} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1.5, y: 2.7} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &829576837 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 829576835} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &829576838 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 829576835} + m_CullTransparentMesh: 0 +--- !u!1 &894711039 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 894711043} + - component: {fileID: 894711042} + - component: {fileID: 894711041} + - component: {fileID: 894711040} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &894711040 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 894711039} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &894711041 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 894711039} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 10 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &894711042 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 894711039} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 766143892} + m_PlaneDistance: 3 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &894711043 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 894711039} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1320899453} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &916482759 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 916482763} + - component: {fileID: 916482762} + - component: {fileID: 916482761} + - component: {fileID: 916482760} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!135 &916482760 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916482759} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &916482761 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916482759} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 764fcb585f1f34a6da8ae3fca76c1261, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &916482762 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916482759} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &916482763 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916482759} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 1.7779999} + m_LocalScale: {x: 0.2, y: 1, z: 0.2} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1198421477} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &964464273 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 582015259} + - component: {fileID: 1512525344} + - component: {fileID: 964464275} + - component: {fileID: 964464274} + - component: {fileID: 1512525345} + - component: {fileID: 964464277} + m_Layer: 0 + m_Name: FPSController + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!82 &964464274 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 964464273} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 1 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 +--- !u!54 &964464275 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 964464273} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 4 + m_CollisionDetection: 0 +--- !u!114 &964464277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 964464273} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 75e8c05fb2e3047bdb20258b4e40d88c, type: 3} + m_Name: + m_EditorClassIdentifier: + movementSpeed: 10 + lookatspeed: 5 +--- !u!1001 &1103055536 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 187303376} + m_Modifications: + - target: {fileID: 1011351892286762, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1069540646779908, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1244387259326952, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1353548312259026, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_Name + value: Stage1 + objectReference: {fileID: 0} + - target: {fileID: 1353548312259026, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1460448521894754, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1508939754494012, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1589051038764814, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1600866081170166, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1618907212989342, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1969055732295604, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalScale.x + value: 0.2 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalScale.z + value: 0.2 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalPosition.x + value: -0.9 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalPosition.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalPosition.z + value: 1.77 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b6a68029251c6c54ea270e3724819861, type: 3} +--- !u!1001 &1171271195 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1198421477} + m_Modifications: + - target: {fileID: 1011351892286762, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1069540646779908, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1244387259326952, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1353548312259026, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_Name + value: Stage1 (1) + objectReference: {fileID: 0} + - target: {fileID: 1353548312259026, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1460448521894754, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1508939754494012, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1589051038764814, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1600866081170166, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1618907212989342, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 1969055732295604, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalScale.x + value: 0.2 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalScale.z + value: 0.2 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalPosition.x + value: -0.94 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalPosition.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalPosition.z + value: 1.58 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b6a68029251c6c54ea270e3724819861, type: 3} +--- !u!1 &1191705211 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1191705213} + - component: {fileID: 1191705212} + m_Layer: 0 + m_Name: CM vcam1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1191705212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191705211} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 2.326139, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1667197125} +--- !u!4 &1191705213 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191705211} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1667197125} + m_Father: {fileID: 582015259} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1198421473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1198421477} + - component: {fileID: 1198421476} + - component: {fileID: 1198421475} + - component: {fileID: 1198421474} + m_Layer: 0 + m_Name: Plane (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!64 &1198421474 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1198421473} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 0 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1198421475 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1198421473} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 53fb4968835b349fb81f8de35f2f5cc4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1198421476 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1198421473} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1198421477 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1198421473} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 179.49878, y: -77.021866, z: -61.620026} + m_LocalScale: {x: 5, y: 1, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 916482763} + - {fileID: 1733948126} + - {fileID: 350798965} + - {fileID: 1728994926} + - {fileID: 489939236} + m_Father: {fileID: 2101157273} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1320899452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1320899453} + - component: {fileID: 1320899455} + - component: {fileID: 1320899454} + m_Layer: 5 + m_Name: Note + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1320899453 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320899452} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 894711043} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 260, y: -40} + m_SizeDelta: {x: 500, y: 80} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1320899454 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320899452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: For best results, set Game View resolution to 1920x1080, to match the size + of CAM1 and CAM2 render textures. +--- !u!222 &1320899455 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320899452} + m_CullTransparentMesh: 0 +--- !u!1 &1322542451 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1322542455} + - component: {fileID: 1322542454} + - component: {fileID: 1322542453} + - component: {fileID: 1322542452} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!65 &1322542452 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322542451} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1322542453 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322542451} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 53fb4968835b349fb81f8de35f2f5cc4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1322542454 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322542451} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1322542455 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1322542451} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.45399934, y: 0.5, z: 1.0900002} + m_LocalScale: {x: 0.2, y: 1, z: 0.2} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 187303376} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1350096981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1350096985} + - component: {fileID: 1350096984} + - component: {fileID: 1350096983} + - component: {fileID: 1350096982} + m_Layer: 9 + m_Name: Canvas (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1350096982 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350096981} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1350096983 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350096981} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 1 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 30 + m_PresetInfoIsWorld: 0 +--- !u!223 &1350096984 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350096981} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 766143892} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1350096985 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1350096981} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -63.590027} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 647906470} + m_Father: {fileID: 2101157273} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 179.49878, y: -75.82187} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1443716629 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1443716630} + - component: {fileID: 1443716633} + - component: {fileID: 1443716632} + m_Layer: 0 + m_Name: FirstPersonCharacter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1443716630 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443716629} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 582015259} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!124 &1443716632 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443716629} + m_Enabled: 1 +--- !u!20 &1443716633 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443716629} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.5896226, g: 0.66785735, b: 1, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 311 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 8400000, guid: e6d6687ecf534413f9989d00d53729b1, type: 2} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!143 &1512525344 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 964464273} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 1.8 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &1512525345 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 964464273} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 078e3704bbed54d049b44374de74ac71, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1525867719 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1525867723} + - component: {fileID: 1525867722} + - component: {fileID: 1525867721} + - component: {fileID: 1525867720} + m_Layer: 0 + m_Name: Cube (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!65 &1525867720 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1525867719} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1525867721 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1525867719} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 53fb4968835b349fb81f8de35f2f5cc4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1525867722 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1525867719} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1525867723 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1525867719} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.48799896, y: 0.5, z: 0.52600014} + m_LocalScale: {x: 0.2, y: 1, z: 0.2} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 187303376} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1644977192 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1644977195} + - component: {fileID: 1644977194} + - component: {fileID: 1644977193} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1644977193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644977192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1644977194 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644977192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1644977195 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1644977192} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1667197124 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1667197125} + - component: {fileID: 1667197126} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1667197125 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667197124} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -166.32, y: -1.2, z: -177.73} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1191705213} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1667197126 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667197124} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1728994922 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1728994926} + - component: {fileID: 1728994925} + - component: {fileID: 1728994924} + - component: {fileID: 1728994923} + m_Layer: 0 + m_Name: Sphere (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!135 &1728994923 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728994922} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1728994924 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728994922} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 764fcb585f1f34a6da8ae3fca76c1261, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1728994925 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728994922} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1728994926 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1728994922} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.32340088, y: 0.5, z: 2.2079988} + m_LocalScale: {x: 0.2, y: 1, z: 0.2} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1198421477} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1733948122 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1733948126} + - component: {fileID: 1733948125} + - component: {fileID: 1733948124} + - component: {fileID: 1733948123} + m_Layer: 0 + m_Name: Sphere (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!135 &1733948123 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1733948122} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1733948124 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1733948122} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 764fcb585f1f34a6da8ae3fca76c1261, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1733948125 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1733948122} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1733948126 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1733948122} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.8440003, y: 1.36, z: 1.7779999} + m_LocalScale: {x: 0.6, y: 3, z: 0.6} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1198421477} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1831308388 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 3} + m_PrefabInstance: {fileID: 1103055536} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1948220610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1948220614} + - component: {fileID: 1948220613} + - component: {fileID: 1948220612} + - component: {fileID: 1948220611} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!65 &1948220611 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948220610} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1948220612 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948220610} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 53fb4968835b349fb81f8de35f2f5cc4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1948220613 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948220610} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1948220614 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1948220610} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.40200043, y: 0.5, z: 0.52600014} + m_LocalScale: {x: 0.2, y: 1, z: 0.2} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 187303376} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2010855685 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2010855686} + - component: {fileID: 2010855687} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2010855686 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2010855685} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -166.32, y: -1.2, z: -177.73} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 606071036} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2010855687 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2010855685} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2054153329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 333781071} + - component: {fileID: 2054153333} + - component: {fileID: 2054153331} + - component: {fileID: 2054153330} + - component: {fileID: 2054153334} + - component: {fileID: 2054153332} + m_Layer: 0 + m_Name: FPSController (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!82 &2054153330 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054153329} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 1 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 +--- !u!54 &2054153331 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054153329} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 4 + m_CollisionDetection: 0 +--- !u!114 &2054153332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054153329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 75e8c05fb2e3047bdb20258b4e40d88c, type: 3} + m_Name: + m_EditorClassIdentifier: + movementSpeed: 10 + lookatspeed: 5 +--- !u!143 &2054153333 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054153329} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 1.8 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &2054153334 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054153329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 078e3704bbed54d049b44374de74ac71, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2101157272 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2101157273} + m_Layer: 0 + m_Name: World (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2101157273 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2101157272} + m_LocalRotation: {x: 0, y: 0.4488511, z: 0, w: 0.89360654} + m_LocalPosition: {x: 20.501213, y: 77.021866, z: 241.62003} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 333781071} + - {fileID: 142240807} + - {fileID: 1350096985} + - {fileID: 1198421477} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 53.34, z: 0} +--- !u!1 &2111693953 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2111693957} + - component: {fileID: 2111693956} + - component: {fileID: 2111693955} + - component: {fileID: 2111693954} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!65 &2111693954 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2111693953} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2111693955 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2111693953} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 53fb4968835b349fb81f8de35f2f5cc4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2111693956 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2111693953} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2111693957 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2111693953} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.402, y: 0.5, z: 1.09} + m_LocalScale: {x: 0.2, y: 1, z: 0.2} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 187303376} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Anywhere Door.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Anywhere Door.unity.meta new file mode 100644 index 00000000..a84c150b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Anywhere Door.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b529975e8111541b2a49fabcaeed0aeb +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM1.renderTexture b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM1.renderTexture new file mode 100644 index 00000000..ae677c3d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM1.renderTexture @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!84 &8400000 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: CAM1 + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_Width: 1920 + m_Height: 1080 + m_AntiAliasing: 1 + m_DepthFormat: 2 + m_ColorFormat: 0 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 0 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 0 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM1.renderTexture.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM1.renderTexture.meta new file mode 100644 index 00000000..8175deea --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM1.renderTexture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e6d6687ecf534413f9989d00d53729b1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM2.renderTexture b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM2.renderTexture new file mode 100644 index 00000000..cee1925a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM2.renderTexture @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!84 &8400000 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: CAM2 + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_Width: 1920 + m_Height: 1080 + m_AntiAliasing: 1 + m_DepthFormat: 2 + m_ColorFormat: 0 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 0 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 0 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM2.renderTexture.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM2.renderTexture.meta new file mode 100644 index 00000000..73318e58 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/CAM2.renderTexture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86f96f4f6f9f949b0a56a1bbdc719e1f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_dir.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_dir.png new file mode 100644 index 00000000..24316b95 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_dir.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_dir.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_dir.png.meta new file mode 100644 index 00000000..d4f866c8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_dir.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 49f39d631ef86416c9eef8f45c543517 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 1 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 3 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_light.exr b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_light.exr new file mode 100644 index 00000000..78ba479e Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_light.exr differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_light.exr.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_light.exr.meta new file mode 100644 index 00000000..4d8725ba --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Lightmap-0_comp_light.exr.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 6d40b024da9664dd89399754274f6761 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 1 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 3 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 0 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 6 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials.meta new file mode 100644 index 00000000..ee17c23b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d0234ba368eeec9418390da711bfdad0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM1.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM1.mat new file mode 100644 index 00000000..f83b41f2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM1.mat @@ -0,0 +1,69 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: CAM1 + m_Shader: {fileID: 4800000, guid: 183125437b6c743da9938978c38fae53, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 8400000, guid: e6d6687ecf534413f9989d00d53729b1, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AlphaClip: 0 + - _Blend: 0 + - _BumpScale: 1 + - _Cull: 2 + - _Cutoff: 0.5 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _ReceiveShadows: 1 + - _SampleGI: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM1.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM1.mat.meta new file mode 100644 index 00000000..6f8d52c5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM1.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e27c6515627c1451b9c20d5af1e8b528 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM2.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM2.mat new file mode 100644 index 00000000..65deca99 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM2.mat @@ -0,0 +1,69 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: CAM2 + m_Shader: {fileID: 4800000, guid: 183125437b6c743da9938978c38fae53, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 8400000, guid: 86f96f4f6f9f949b0a56a1bbdc719e1f, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AlphaClip: 0 + - _Blend: 0 + - _BumpScale: 1 + - _Cull: 2 + - _Cutoff: 0.5 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _ReceiveShadows: 1 + - _SampleGI: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM2.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM2.mat.meta new file mode 100644 index 00000000..7873c9ab --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/CAM2.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1ef400092819e4ad0a2e285c635697a4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Green.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Green.mat new file mode 100644 index 00000000..d6d285df --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Green.mat @@ -0,0 +1,109 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7380927660731468829 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Green + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _SPECULAR_SETUP + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AlphaClip: 0 + - _Blend: 0 + - _BumpScale: 1 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _UVSec: 0 + - _WorkflowMode: 0 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.9909021, g: 0.6273585, b: 1, a: 1} + - _Color: {r: 0.9909021, g: 0.6273585, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Green.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Green.mat.meta new file mode 100644 index 00000000..e285a748 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Green.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 53fb4968835b349fb81f8de35f2f5cc4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Pink.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Pink.mat new file mode 100644 index 00000000..6ca75732 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Pink.mat @@ -0,0 +1,109 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-2370263395433529259 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Pink + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _SPECULAR_SETUP + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AlphaClip: 0 + - _Blend: 0 + - _BumpScale: 1 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _UVSec: 0 + - _WorkflowMode: 0 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.08025525, g: 1, b: 0, a: 1} + - _Color: {r: 0.08025527, g: 1, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Pink.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Pink.mat.meta new file mode 100644 index 00000000..46373eec --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/Materials/Pink.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 764fcb585f1f34a6da8ae3fca76c1261 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerLookAt.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerLookAt.cs new file mode 100644 index 00000000..be522ce4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerLookAt.cs @@ -0,0 +1,22 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class PlayerLookAt : MonoBehaviour + { + public float speed = 5f; + + void Update() + { +#if ENABLE_LEGACY_INPUT_MANAGER + float horizontal = Input.GetAxis("Mouse X") * speed; + float vertical = Input.GetAxis("Mouse Y") * speed; + + transform.Rotate(0f, horizontal, 0f, Space.World); + transform.Rotate(-vertical, 0f, 0f, Space.Self); +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerLookAt.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerLookAt.cs.meta new file mode 100644 index 00000000..e7b7ffe8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerLookAt.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 72a83c61f88104a25b325c58327605b3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerMovement.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerMovement.cs new file mode 100644 index 00000000..120f71d4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerMovement.cs @@ -0,0 +1,43 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class PlayerMovement : MonoBehaviour + { + public float movementSpeed = 10f; + public float lookatspeed = 5f; + + void Update() + { +#if ENABLE_LEGACY_INPUT_MANAGER + if (Input.GetKey("w")) + { + transform.position += transform.TransformDirection(Vector3.forward) * Time.deltaTime * movementSpeed; + } + else if (Input.GetKey("s")) + { + transform.position -= transform.TransformDirection(Vector3.forward) * Time.deltaTime * movementSpeed; + } + + if (Input.GetKey("a") && !Input.GetKey("d")) + { + transform.position += transform.TransformDirection(Vector3.left) * Time.deltaTime * movementSpeed; + } + else if (Input.GetKey("d") && !Input.GetKey("a")) + { + transform.position -= transform.TransformDirection(Vector3.left) * Time.deltaTime * movementSpeed; + } + + //mouse look at + float horizontal = Input.GetAxis("Mouse X") * lookatspeed; + float vertical = Input.GetAxis("Mouse Y") * lookatspeed; + + transform.Rotate(0f, horizontal, 0f, Space.World); + + //transform.Rotate(-vertical, 0f, 0f, Space.Self); +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerMovement.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerMovement.cs.meta new file mode 100644 index 00000000..4b31c12e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/PlayerMovement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 75e8c05fb2e3047bdb20258b4e40d88c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ReflectionProbe-0.exr b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ReflectionProbe-0.exr new file mode 100644 index 00000000..a5c780c0 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ReflectionProbe-0.exr differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ReflectionProbe-0.exr.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ReflectionProbe-0.exr.meta new file mode 100644 index 00000000..e3562ef3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ReflectionProbe-0.exr.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: a16639fe411a545a9a8d7f17cf816377 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ScreenCutoutShader.shader b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ScreenCutoutShader.shader new file mode 100644 index 00000000..5f2e24a1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ScreenCutoutShader.shader @@ -0,0 +1,60 @@ +// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' + +Shader "Unlit/ScreenCutoutShader" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + SubShader + { + Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } + Lighting Off + Cull Back + ZWrite On + ZTest Less + + Fog{ Mode Off } + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + //float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + float4 screenPos : TEXCOORD1; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.screenPos = ComputeScreenPos(o.vertex); + return o; + } + + sampler2D _MainTex; + + fixed4 frag (v2f i) : SV_Target + { + i.screenPos /= i.screenPos.w; + fixed4 col = tex2D(_MainTex, float2(i.screenPos.x, i.screenPos.y)); + + return col; + } + ENDCG + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ScreenCutoutShader.shader.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ScreenCutoutShader.shader.meta new file mode 100644 index 00000000..e7b2e159 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/ScreenCutoutShader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 183125437b6c743da9938978c38fae53 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/TagChanger.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/TagChanger.cs new file mode 100644 index 00000000..e7eecd3b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/TagChanger.cs @@ -0,0 +1,17 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class TagChanger : MonoBehaviour + { + public void PlayerTagChanger() + { + this.tag = "Player"; + } + + public void UntaggedTagChanger() + { + this.tag = "Untagged"; + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/TagChanger.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/TagChanger.cs.meta new file mode 100644 index 00000000..3711d0c2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Anywhere Door/TagChanger.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 078e3704bbed54d049b44374de74ac71 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BlendListCamera.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BlendListCamera.unity new file mode 100644 index 00000000..1a2ea1ed --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BlendListCamera.unity @@ -0,0 +1,1196 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.4465934, g: 0.49642956, b: 0.5748249, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &53414325 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 53414326} + - component: {fileID: 53414328} + - component: {fileID: 53414327} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &53414326 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 53414325} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1061700757} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &53414327 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 53414325} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 2 + m_VerticalDamping: 2 + m_ScreenX: 0.43545085 + m_ScreenY: 0.31308407 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &53414328 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 53414325} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!4 &63684543 stripped +Transform: + m_PrefabParentObject: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, + type: 2} + m_PrefabInternal: {fileID: 611987670} +--- !u!1001 &101511090 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.z + value: 43.05 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + propertyPath: keepDirection + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 63684543} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &529426928 stripped +Transform: + m_PrefabParentObject: {fileID: 4009418884668130, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 101511090} +--- !u!1001 &611987670 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1645899274665124, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_Name + value: Environment_CorridorMixingCam + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &632111263 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 632111265} + - component: {fileID: 632111264} + m_Layer: 0 + m_Name: CM vcam A + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &632111264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 632111263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 529426928} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 30 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1938544902} +--- !u!4 &632111265 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 632111263} + m_LocalRotation: {x: 0.024179367, y: 0.1814409, z: -0.004462568, w: 0.98309445} + m_LocalPosition: {x: 4.250746, y: 2.6951408, z: 40.79118} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1938544902} + m_Father: {fileID: 1065503276} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1061700755 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1061700757} + - component: {fileID: 1061700756} + m_Layer: 0 + m_Name: CM vcam B + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1061700756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1061700755} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 529426928} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 42.4 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 53414326} +--- !u!4 &1061700757 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1061700755} + m_LocalRotation: {x: -0.06286329, y: 0.3280166, z: 0.021882296, w: 0.94232404} + m_LocalPosition: {x: 4.481, y: 2.508, z: 42.221} + m_LocalScale: {x: 0.9999999, y: 1, z: 1} + m_Children: + - {fileID: 53414326} + m_Father: {fileID: 1062322488} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1062322486 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1062322488} + - component: {fileID: 1062322487} + m_Layer: 0 + m_Name: CM BlendListCamera2 THEN ENABLE ME! + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1062322487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1062322486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 53258ad9ad6e71e48bb8643c9522112e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_ShowDebugText: 0 + m_EnableAllChildCameras: 1 + m_ChildCameras: + - {fileID: 1832940658} + - {fileID: 1061700756} + m_Instructions: + - m_VirtualCamera: {fileID: 1832940658} + m_Hold: 0.1 + m_Blend: + m_Style: 0 + m_Time: 0 + - m_VirtualCamera: {fileID: 1061700756} + m_Hold: 0 + m_Blend: + m_Style: 1 + m_Time: 5 +--- !u!4 &1062322488 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1062322486} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1832940659} + - {fileID: 1061700757} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1065503274 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1065503276} + - component: {fileID: 1065503275} + m_Layer: 0 + m_Name: CM BlendListCamera1 ENABLE ME! + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1065503275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1065503274} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 53258ad9ad6e71e48bb8643c9522112e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_ShowDebugText: 0 + m_EnableAllChildCameras: 1 + m_ChildCameras: + - {fileID: 632111264} + - {fileID: 1555149043} + m_Instructions: + - m_VirtualCamera: {fileID: 632111264} + m_Hold: 0.5 + m_Blend: + m_Style: 0 + m_Time: 0 + - m_VirtualCamera: {fileID: 1555149043} + m_Hold: 0 + m_Blend: + m_Style: 1 + m_Time: 2 +--- !u!4 &1065503276 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1065503274} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 632111265} + - {fileID: 1555149044} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1554597539 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1554597540} + - component: {fileID: 1554597542} + - component: {fileID: 1554597541} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1554597540 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1554597539} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1832940659} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1554597541 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1554597539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 2 + m_VerticalDamping: 2 + m_ScreenX: 0.43545085 + m_ScreenY: 0.31308407 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1554597542 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1554597539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1555149042 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1555149044} + - component: {fileID: 1555149043} + m_Layer: 0 + m_Name: CM vcam B + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1555149043 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1555149042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 529426928} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 10 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 2114333283} +--- !u!4 &1555149044 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1555149042} + m_LocalRotation: {x: 0.00010278953, y: 0.16914442, z: -0.000017640019, w: 0.9855913} + m_LocalPosition: {x: 4.250746, y: 2.6951408, z: 40.79118} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2114333283} + m_Father: {fileID: 1065503276} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1587223957 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1587223958} + - component: {fileID: 1587223961} + - component: {fileID: 1587223960} + - component: {fileID: 1587223959} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1587223958 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1587223957} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2019505099} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1587223959 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1587223957} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 1 + m_FollowOffset: {x: 0, y: 0, z: -10} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 +--- !u!114 &1587223960 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1587223957} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1587223961 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1587223957} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1747380105 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1747380110} + - component: {fileID: 1747380109} + - component: {fileID: 1747380108} + - component: {fileID: 1747380107} + - component: {fileID: 1747380106} + - component: {fileID: 1747380111} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1747380106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 0 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!81 &1747380107 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!124 &1747380108 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!20 &1747380109 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1747380110 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_LocalRotation: {x: 0.004190071, y: 0.0020959107, z: 0.000008661693, w: -0.9999891} + m_LocalPosition: {x: 5.009236, y: 2.2233377, z: 39.257217} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1747380111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: BlendList camera + m_Description: "Turn this window off by removing the script on Main Camera\r\n\r\nBlendList + cameras are a simple way to do camera movement within each shot\n\nYou trigger + just one BlendList camera and it will then sequence however many sub-cameras are + inside\n\nA BlendList camera can have as many sub-cameras under it which you can + sequence together to create common moves like crash-zooms and dolly in/outs\n\nNote + the Default camera Blend for this scene has been set to Cut, you can find that + on the MainCamera Cinemachine Brain" +--- !u!1 &1832940657 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1832940659} + - component: {fileID: 1832940658} + m_Layer: 0 + m_Name: CM vcam A + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1832940658 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1832940657} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 529426928} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 42.4 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1554597540} +--- !u!4 &1832940659 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1832940657} + m_LocalRotation: {x: -0.07463467, y: 0.2987141, z: 0.023439908, w: 0.951131} + m_LocalPosition: {x: 3.226057, y: 1.7264972, z: 40.112396} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1554597540} + m_Father: {fileID: 1062322488} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1938544901 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1938544902} + - component: {fileID: 1938544904} + - component: {fileID: 1938544903} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1938544902 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1938544901} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 632111265} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1938544903 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1938544901} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 2 + m_VerticalDamping: 2 + m_ScreenX: 0.4313525 + m_ScreenY: 0.36396676 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1938544904 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1938544901} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2019505097 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2019505099} + - component: {fileID: 2019505098} + m_Layer: 0 + m_Name: CM vcam1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2019505098 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2019505097} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1587223958} +--- !u!4 &2019505099 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2019505097} + m_LocalRotation: {x: 0.004190071, y: 0.0020959107, z: 0.000008661693, w: -0.9999891} + m_LocalPosition: {x: 5.009236, y: 2.2233377, z: 39.257217} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1587223958} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2114333282 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2114333283} + - component: {fileID: 2114333285} + - component: {fileID: 2114333284} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2114333283 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2114333282} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1555149044} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2114333284 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2114333282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 2 + m_VerticalDamping: 2 + m_ScreenX: 0.4313525 + m_ScreenY: 0.36396676 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &2114333285 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2114333282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BlendListCamera.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BlendListCamera.unity.meta new file mode 100644 index 00000000..2e608cb4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BlendListCamera.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a963e53456b7dd64db94076885b8fec9 +timeCreated: 1510331227 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera.meta new file mode 100644 index 00000000..0b449ba1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c9dd6943459da342856c21ac483e995 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossCam.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossCam.unity new file mode 100644 index 00000000..d3ad6cd2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossCam.unity @@ -0,0 +1,1713 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &166306519 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 166306520} + - component: {fileID: 166306523} + - component: {fileID: 166306522} + - component: {fileID: 166306521} + m_Layer: 0 + m_Name: Mouth + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &166306520 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166306519} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.67, z: 1} + m_LocalScale: {x: 0.9, y: 0.1, z: 1} + m_Children: [] + m_Father: {fileID: 910832971} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &166306521 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166306519} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &166306522 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166306519} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &166306523 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166306519} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &286052044 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 286052045} + - component: {fileID: 286052047} + - component: {fileID: 286052046} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &286052045 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 286052044} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.33333334, y: 0.33333334, z: 1} + m_Children: [] + m_Father: {fileID: 910832971} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &286052046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 286052044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e8b78ac948f05a46a6d8339a503172b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &286052047 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 286052044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &312859515 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 312859516} + - component: {fileID: 312859519} + - component: {fileID: 312859518} + - component: {fileID: 312859517} + m_Layer: 0 + m_Name: Nose + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &312859516 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 312859515} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.5, z: 1} + m_LocalScale: {x: 0.6, y: 0.9, z: 1} + m_Children: [] + m_Father: {fileID: 910832971} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &312859517 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 312859515} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &312859518 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 312859515} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &312859519 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 312859515} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &319330738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 319330739} + - component: {fileID: 319330742} + - component: {fileID: 319330741} + - component: {fileID: 319330740} + m_Layer: 0 + m_Name: EyeLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &319330739 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319330738} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.35, y: 2.3, z: 1} + m_LocalScale: {x: 0.3, y: 0.3, z: 1} + m_Children: [] + m_Father: {fileID: 910832971} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &319330740 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319330738} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &319330741 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319330738} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &319330742 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 319330738} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &455860904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 455860906} + - component: {fileID: 455860905} + m_Layer: 0 + m_Name: Fill light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &455860905 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 455860904} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 0.6 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &455860906 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 455860904} + m_LocalRotation: {x: -0.111161724, y: 0.87439436, z: -0.40773675, w: -0.2383871} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: 210.5, z: 0} +--- !u!1 &483762932 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 483762937} + - component: {fileID: 483762936} + - component: {fileID: 483762935} + - component: {fileID: 483762934} + - component: {fileID: 483762933} + m_Layer: 0 + m_Name: Player + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &483762933 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 483762932} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa14cc4c274b78b4c820064214bdbb60, type: 3} + m_Name: + m_EditorClassIdentifier: + Speed: 5 + VelocityDamping: 1 + JumpTime: 1 + InputForward: 0 + RotatePlayer: 1 +--- !u!23 &483762934 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 483762932} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &483762935 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 483762932} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &483762936 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 483762932} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &483762937 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 483762932} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -6.15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1161070979} + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &647233054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 647233056} + - component: {fileID: 647233055} + m_Layer: 0 + m_Name: Fill light 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &647233055 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647233054} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 0.6 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &647233056 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647233054} + m_LocalRotation: {x: 0.2344874, y: 0.75400645, z: -0.351599, w: 0.50285983} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 50, y: 112.6, z: 0} +--- !u!1 &659181254 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 659181256} + - component: {fileID: 659181255} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &659181255 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659181254} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &659181256 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659181254} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &910832970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 910832971} + - component: {fileID: 910832972} + m_Layer: 0 + m_Name: Boss + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &910832971 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 910832970} + m_LocalRotation: {x: 0, y: 1, z: 0, w: -0.00000004371139} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 3, y: 3, z: 1} + m_Children: + - {fileID: 1797186513} + - {fileID: 312859516} + - {fileID: 319330739} + - {fileID: 2050273229} + - {fileID: 166306520} + - {fileID: 286052045} + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &910832972 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 910832970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 592741a13a2c742df9e6c1d3a7d9da6a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LookAt: {fileID: 483762937} + m_RotationX: 0 + m_RotationZ: 0 +--- !u!1 &944951857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 944951859} + - component: {fileID: 944951858} + - component: {fileID: 944951860} + m_Layer: 0 + m_Name: Boss vcam + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &944951858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 944951857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 1033464961} + m_Follow: {fileID: 483762937} + m_Lens: + FieldOfView: 60 + OrthographicSize: 5 + NearClipPlane: 0.3 + FarClipPlane: 1000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 1.4433594, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 2077182691} +--- !u!4 &944951859 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 944951857} + m_LocalRotation: {x: 0.024294823, y: -0.0000000036075858, z: 8.767154e-11, w: 0.99970484} + m_LocalPosition: {x: 0.00000007208781, y: 4, z: -16.138195} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2077182691} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &944951860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 944951857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ffbed02ec61b491eb9e200d895d0fc1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_YPosition: 4 +--- !u!1 &1033464959 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1033464961} + - component: {fileID: 1033464960} + m_Layer: 0 + m_Name: TargetGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1033464960 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1033464959} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5eb80d8e62d9d145bb50fb783c0f731, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PositionMode: 0 + m_RotationMode: 0 + m_UpdateMethod: 2 + m_Targets: + - target: {fileID: 1797186513} + weight: 2 + radius: 0 + - target: {fileID: 483762937} + weight: 1 + radius: 0 +--- !u!4 &1033464961 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1033464959} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.000000033220655, y: 3.3333333, z: -2.4299998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1161070978 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1161070979} + - component: {fileID: 1161070982} + - component: {fileID: 1161070981} + - component: {fileID: 1161070980} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1161070979 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161070978} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0.46, z: 0.35} + m_LocalScale: {x: 0.75, y: 0.19, z: 0.33} + m_Children: [] + m_Father: {fileID: 483762937} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!23 &1161070980 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161070978} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &1161070981 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161070978} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1161070982 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161070978} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1495372462 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1495372464} + - component: {fileID: 1495372463} + m_Layer: 0 + m_Name: Instructions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1495372463 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495372462} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Boss Scene + m_Description: "This scene demonstrates how you can setup a camera system where + the camera follows the player, but looks at both the player and the boss.\n\nThis + sample scene also has a custom extension to lock the camera height (y position), + found on Boss vcam. \n\nUse WASD or the arrow keys to move the character, and + Space to jump.\n\nTurn this window off by disabling the Instructions object" +--- !u!4 &1495372464 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495372462} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1681636270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1681636274} + - component: {fileID: 1681636273} + - component: {fileID: 1681636272} + - component: {fileID: 1681636271} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &1681636271 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681636270} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1681636272 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681636270} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0e079ef97504e314080afe2ab2599e87, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1681636273 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681636270} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1681636274 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681636270} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 8, y: 1, z: 8} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1797186509 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1797186513} + - component: {fileID: 1797186512} + - component: {fileID: 1797186511} + - component: {fileID: 1797186510} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1797186510 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1797186509} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1797186511 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1797186509} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1797186512 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1797186509} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1797186513 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1797186509} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.5, z: 0.57} + m_LocalScale: {x: 1.5, y: 3, z: 1.5} + m_Children: [] + m_Father: {fileID: 910832971} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2002235772 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2002235775} + - component: {fileID: 2002235774} + - component: {fileID: 2002235773} + - component: {fileID: 2002235776} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &2002235773 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002235772} + m_Enabled: 1 +--- !u!20 &2002235774 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002235772} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2002235775 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002235772} + m_LocalRotation: {x: 0.024294823, y: -0.0000000036075858, z: 8.767154e-11, w: 0.99970484} + m_LocalPosition: {x: 0.00000007208781, y: 4, z: -16.138195} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2002235776 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002235772} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &2050273228 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2050273229} + - component: {fileID: 2050273232} + - component: {fileID: 2050273231} + - component: {fileID: 2050273230} + m_Layer: 0 + m_Name: EyeRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2050273229 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2050273228} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.35, y: 2.3, z: 1} + m_LocalScale: {x: 0.3, y: 0.3, z: 1} + m_Children: [] + m_Father: {fileID: 910832971} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2050273230 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2050273228} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2050273231 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2050273228} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2050273232 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2050273228} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2077182690 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2077182691} + - component: {fileID: 2077182694} + - component: {fileID: 2077182693} + - component: {fileID: 2077182692} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2077182691 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2077182690} + m_LocalRotation: {x: -0.2421145, y: 0.30507278, z: -0.08050299, w: 0.91751313} + m_LocalPosition: {x: 7.2993526, y: 3.947297, z: 11.43472} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 944951859} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2077182692 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2077182690} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_TargetMovementOnly: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_CameraDistance: 10 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 0 + m_GroupFramingSize: 0.8 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 1 + m_MaximumOrthoSize: 5000 +--- !u!114 &2077182693 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2077182690} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &2077182694 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2077182690} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossCam.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossCam.unity.meta new file mode 100644 index 00000000..aa11a0c0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossCam.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: de97f9dbe07584698b8eda2275c3f015 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossLookAt.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossLookAt.cs new file mode 100644 index 00000000..6d5e896d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossLookAt.cs @@ -0,0 +1,25 @@ +using System; +using UnityEngine; + +namespace Cinemachine.Examples +{ + /// + /// Simple script that makes this transform look at a target. + /// + public class BossLookAt : MonoBehaviour + { + [Tooltip("Look at this transform")] + public Transform m_LookAt; + [Tooltip("Lock the camera's X rotation to this value (in angles)")] + public float m_RotationX = 0; + [Tooltip("Lock the camera's Z rotation to this value (in angles)")] + public float m_RotationZ = 0; + + void Update() + { + transform.LookAt(m_LookAt); + var euler = transform.rotation.eulerAngles; + transform.rotation = Quaternion.Euler(m_RotationX, euler.y, m_RotationZ); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossLookAt.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossLookAt.cs.meta new file mode 100644 index 00000000..004a4e02 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/BossLookAt.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 592741a13a2c742df9e6c1d3a7d9da6a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/CustomLockCameraY.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/CustomLockCameraY.cs new file mode 100644 index 00000000..902b604d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/CustomLockCameraY.cs @@ -0,0 +1,28 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + /// + /// An add-on module for Cinemachine Virtual Camera that locks the camera's Y co-ordinate + /// + [ExecuteAlways] + [SaveDuringPlay] + [AddComponentMenu("")] // Hide in menu + public class CustomLockCameraY : CinemachineExtension + { + [Tooltip("Lock the camera's Y position to this value")] + public float m_YPosition = 10; + + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + if (stage == CinemachineCore.Stage.Finalize) + { + var pos = state.RawPosition; + pos.y = m_YPosition; + state.RawPosition = pos; + } + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/CustomLockCameraY.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/CustomLockCameraY.cs.meta new file mode 100644 index 00000000..1a46cc6a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/BossCamera/CustomLockCameraY.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2ffbed02ec61b491eb9e200d895d0fc1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets.meta new file mode 100644 index 00000000..0872d813 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7df0de8ba465e4012ba6aab75fa0c3e0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetProperty.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetProperty.cs new file mode 100644 index 00000000..d50f9abd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetProperty.cs @@ -0,0 +1,30 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + [ExecuteInEditMode] + public class CameraMagnetProperty : MonoBehaviour + { + [Range(0.1f, 50.0f)] + public float MagnetStrength = 5.0f; + + [Range(0.1f, 50.0f)] + public float Proximity = 5.0f; + + public Transform ProximityVisualization; + + [HideInInspector] + public Transform myTransform; + + void Start() + { + myTransform = transform; + } + + void Update() + { + if (ProximityVisualization != null) + ProximityVisualization.localScale = new Vector3(Proximity * 2.0f, Proximity * 2.0f, 1); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetProperty.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetProperty.cs.meta new file mode 100644 index 00000000..c4111cb6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetProperty.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0fcfa0014d36647088b460fa895c23d1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetTargetController.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetTargetController.cs new file mode 100644 index 00000000..0ffb4b9c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetTargetController.cs @@ -0,0 +1,38 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class CameraMagnetTargetController : MonoBehaviour + { + public CinemachineTargetGroup targetGroup; + + private int playerIndex; + private CameraMagnetProperty[] cameraMagnets; + + // Start is called before the first frame update + void Start() + { + cameraMagnets = GetComponentsInChildren(); + playerIndex = 0; + } + + // Update is called once per frame + void Update() + { + for (int i = 1; i < targetGroup.m_Targets.Length; ++i) + { + float distance = (targetGroup.m_Targets[playerIndex].target.position - + targetGroup.m_Targets[i].target.position).magnitude; + if (distance < cameraMagnets[i - 1].Proximity) + { + targetGroup.m_Targets[i].weight = cameraMagnets[i - 1].MagnetStrength * + (1 - (distance / cameraMagnets[i - 1].Proximity)); + } + else + { + targetGroup.m_Targets[i].weight = 0; + } + } + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetTargetController.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetTargetController.cs.meta new file mode 100644 index 00000000..ee85660a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnetTargetController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ace3da63156d542cfaa364312c5f2cb1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnets.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnets.unity new file mode 100644 index 00000000..4024b113 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnets.unity @@ -0,0 +1,1428 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &58796833 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 58796834} + - component: {fileID: 58796836} + - component: {fileID: 58796835} + m_Layer: 0 + m_Name: CameraMagnet (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &58796834 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 58796833} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 11.1, y: 4.5, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2142122097} + m_Father: {fileID: 1682113978} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &58796835 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 58796833} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 1a1da36a104725048b8d2388fb8d321d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.89, y: 1.89} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &58796836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 58796833} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0fcfa0014d36647088b460fa895c23d1, type: 3} + m_Name: + m_EditorClassIdentifier: + MagnetStrength: 10 + Proximity: 6 + ProximityVisualization: {fileID: 2142122097} + myTransform: {fileID: 58796834} +--- !u!4 &543086606 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 763496702} + m_PrefabAsset: {fileID: 0} +--- !u!1 &543938433 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 543938435} + - component: {fileID: 543938434} + m_Layer: 0 + m_Name: TargetGroup1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &543938434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 543938433} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5eb80d8e62d9d145bb50fb783c0f731, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PositionMode: 0 + m_RotationMode: 0 + m_UpdateMethod: 2 + m_Targets: + - target: {fileID: 543086606} + weight: 1 + radius: 0 + - target: {fileID: 2131658964} + weight: 0 + radius: 0 + - target: {fileID: 1880460618} + weight: 0 + radius: 0 + - target: {fileID: 58796834} + weight: 0 + radius: 0 +--- !u!4 &543938435 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 543938433} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.9705625, y: 2.6982431, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &655042602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 655042603} + - component: {fileID: 655042604} + m_Layer: 0 + m_Name: Proximity + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &655042603 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 655042602} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 8, y: 8, z: 1} + m_Children: [] + m_Father: {fileID: 1880460618} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &655042604 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 655042602} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: a29985f57f2a444dcae5c5e3a1ad420b, type: 3} + m_Color: {r: 0.07843137, g: 1, b: 0.4453238, a: 0.19215687} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1001 &689747873 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1710040156} + m_Modifications: + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 50d4e9899bac3164ea7e01493f0b5124, type: 3} +--- !u!1001 &763496702 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.x + value: -8 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.z + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 54563485177506292, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Constraints + value: 120 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: keepDirection + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 136696895249700382, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} +--- !u!1 &1012204950 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1012204956} + - component: {fileID: 1012204955} + - component: {fileID: 1012204954} + - component: {fileID: 1012204953} + - component: {fileID: 1012204952} + - component: {fileID: 1012204951} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1012204951 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012204950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: 2D Confiner + m_Description: 'Use the arrow keys to move the character, and the spacebar to jump. + + + This + example illustrates the technique of using a TargetGroup to dynamically frame + the main character and also a number of objects, here called CameraMagnets. + The CameraMagnets object has a script that sets dynamically each magnet''s weight + in the target group based on the proximity of the player.' +--- !u!114 &1012204952 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012204950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 1 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1012204953 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012204950} + m_Enabled: 1 +--- !u!124 &1012204954 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012204950} + m_Enabled: 1 +--- !u!20 &1012204955 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012204950} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3897059, g: 0.3897059, b: 0.3897059, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 1 + orthographic size: 3.5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1012204956 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012204950} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.8727345, y: 3.5407085, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: -0.628, z: 0} +--- !u!4 &1105374725 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4244120949986480, guid: 50d4e9899bac3164ea7e01493f0b5124, + type: 3} + m_PrefabInstance: {fileID: 689747873} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1342165734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1342165736} + - component: {fileID: 1342165735} + m_Layer: 0 + m_Name: Directional Light (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1342165735 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1342165734} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.802082 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1342165736 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1342165734} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1491548575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1491548577} + - component: {fileID: 1491548576} + - component: {fileID: 1491548578} + m_Layer: 0 + m_Name: CM vcam2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1491548576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1491548575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 543938435} + m_Lens: + FieldOfView: 40 + OrthographicSize: 3.19 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1693095990} +--- !u!4 &1491548577 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1491548575} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -7.969974, y: 3.0172431, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1693095990} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1491548578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1491548575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2fba25a5cd15594e8f050a11e386c80, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ConfineMode: 0 + m_BoundingVolume: {fileID: 0} + m_BoundingShape2D: {fileID: 1718004009} + m_ConfineScreenEdges: 1 + m_Damping: 0 +--- !u!1 &1631033551 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1967615714690980, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 763496702} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1631033553 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1631033551} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36562141f3e01c7499f91e66f806814c, type: 3} + m_Name: + m_EditorClassIdentifier: + objectToCheck: {fileID: 0} + distanceToObject: 15 + initialActiveCam: {fileID: 1491548576} + switchCameraTo: {fileID: 0} +--- !u!114 &1631033554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1631033551} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44f5d1b3342d4e34593e4f948d951750, type: 3} + m_Name: + m_EditorClassIdentifier: + sprintJoystick: 332 + jumpJoystick: 330 + sprintKeyboard: 304 + jumpKeyboard: 32 + jumpVelocity: 7 + groundTolerance: 0.2 + checkGroundForJump: 1 +--- !u!1 &1650676884 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1650676885} + - component: {fileID: 1650676886} + m_Layer: 0 + m_Name: Proximity + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1650676885 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1650676884} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 14, y: 14, z: 1} + m_Children: [] + m_Father: {fileID: 2131658964} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1650676886 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1650676884} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: a29985f57f2a444dcae5c5e3a1ad420b, type: 3} + m_Color: {r: 0.9283185, g: 1, b: 0.07843137, a: 0.19215687} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1682113976 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1682113978} + - component: {fileID: 1682113977} + m_Layer: 0 + m_Name: CameraMagnets + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1682113977 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682113976} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ace3da63156d542cfaa364312c5f2cb1, type: 3} + m_Name: + m_EditorClassIdentifier: + targetGroup: {fileID: 543938434} +--- !u!4 &1682113978 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682113976} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2131658964} + - {fileID: 1880460618} + - {fileID: 58796834} + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1693095989 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1693095990} + - component: {fileID: 1693095992} + - component: {fileID: 1693095991} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1693095990 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1693095989} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1491548577} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1693095991 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1693095989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LookaheadTime: 0 + m_LookaheadSmoothing: 19 + m_LookaheadIgnoreY: 0 + m_LookaheadResetWhenStill: 0 + m_XDamping: 1 + m_YDamping: 2 + m_ZDamping: 1 + m_TargetMovementOnly: 0 + m_ScreenX: 0.4999204 + m_ScreenY: 0.55 + m_CameraDistance: 10 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.7966997 + m_SoftZoneHeight: 0.77 + m_BiasX: 0 + m_BiasY: -0.00000007740863 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 2 + m_GroupFramingSize: 1 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 3.5 + m_MaximumOrthoSize: 4.955 +--- !u!114 &1693095992 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1693095989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1710040155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1710040156} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1710040156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1710040155} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1105374725} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1718004008 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1718004010} + - component: {fileID: 1718004009} + m_Layer: 0 + m_Name: CamCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!60 &1718004009 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1718004008} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Points: + m_Paths: + - - {x: 14.299488, y: -9.175264} + - {x: -16.569834, y: -9.188839} + - {x: -16.602512, y: -19.08997} + - {x: 14.296436, y: -19.127941} +--- !u!4 &1718004010 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1718004008} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5.650543, y: 19.130754, z: -0.22432709} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1880460617 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1880460618} + - component: {fileID: 1880460620} + - component: {fileID: 1880460619} + m_Layer: 0 + m_Name: CameraMagnet (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1880460618 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1880460617} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.1, y: 3, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 655042603} + m_Father: {fileID: 1682113978} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1880460619 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1880460617} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 1a1da36a104725048b8d2388fb8d321d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.89, y: 1.89} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &1880460620 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1880460617} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0fcfa0014d36647088b460fa895c23d1, type: 3} + m_Name: + m_EditorClassIdentifier: + MagnetStrength: 30 + Proximity: 4 + ProximityVisualization: {fileID: 655042603} + myTransform: {fileID: 1880460618} +--- !u!1 &2131658963 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2131658964} + - component: {fileID: 2131658966} + - component: {fileID: 2131658965} + m_Layer: 0 + m_Name: CameraMagnet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2131658964 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131658963} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1, y: 6, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1650676885} + m_Father: {fileID: 1682113978} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2131658965 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131658963} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 1a1da36a104725048b8d2388fb8d321d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.89, y: 1.89} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &2131658966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131658963} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0fcfa0014d36647088b460fa895c23d1, type: 3} + m_Name: + m_EditorClassIdentifier: + MagnetStrength: 5 + Proximity: 7 + ProximityVisualization: {fileID: 1650676885} + myTransform: {fileID: 2131658964} +--- !u!1 &2142122096 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2142122097} + - component: {fileID: 2142122098} + m_Layer: 0 + m_Name: Proximity + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2142122097 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142122096} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 12, y: 12, z: 1} + m_Children: [] + m_Father: {fileID: 58796834} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2142122098 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142122096} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: a29985f57f2a444dcae5c5e3a1ad420b, type: 3} + m_Color: {r: 0.08018869, g: 0.24546729, b: 1, a: 0.19215687} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnets.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnets.unity.meta new file mode 100644 index 00000000..8513046c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/CameraMagnets.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 82050a5e658e54977b6df11e26b6990f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/Proximity.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/Proximity.png new file mode 100644 index 00000000..8eb1b1ec Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/Proximity.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/Proximity.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/Proximity.png.meta new file mode 100644 index 00000000..3245114a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/CameraMagnets/Proximity.png.meta @@ -0,0 +1,349 @@ +fileFormatVersion: 2 +guid: a29985f57f2a444dcae5c5e3a1ad420b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 3 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 4 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: + - - {x: 0, y: 2} + - {x: -0.09813535, y: 1.9975909} + - {x: -0.19603428, y: 1.9903694} + - {x: -0.29346094, y: 1.978353} + - {x: -0.39018065, y: 1.9615705} + - {x: -0.4859604, y: 1.9400625} + - {x: -0.5805693, y: 1.9138807} + - {x: -0.67377967, y: 1.8830881} + - {x: -0.76536685, y: 1.8477591} + - {x: -0.8551101, y: 1.8079786} + - {x: -0.9427934, y: 1.7638426} + - {x: -1.0282055, y: 1.7154572} + - {x: -1.1111405, y: 1.6629392} + - {x: -1.1913986, y: 1.606415} + - {x: -1.2687867, y: 1.5460209} + - {x: -1.343118, y: 1.4819021} + - {x: -1.4142137, y: 1.4142134} + - {x: -1.4819024, y: 1.3431177} + - {x: -1.5460211, y: 1.2687864} + - {x: -1.6064153, y: 1.1913984} + - {x: -1.6629394, y: 1.1111403} + - {x: -1.7154574, y: 1.0282052} + - {x: -1.7638427, y: 0.94279313} + - {x: -1.8079787, y: 0.8551098} + - {x: -1.8477592, y: 0.76536644} + - {x: -1.8830884, y: 0.6737792} + - {x: -1.9138808, y: 0.5805688} + - {x: -1.9400626, y: 0.48595977} + - {x: -1.9615707, y: 0.39018002} + - {x: -1.9783531, y: 0.29346028} + - {x: -1.9903696, y: 0.19603357} + - {x: -1.9975909, y: 0.098134585} + - {x: -2, y: -0.0000008026785} + - {x: -1.9975909, y: -0.09813619} + - {x: -1.9903693, y: -0.19603516} + - {x: -1.9783529, y: -0.29346186} + - {x: -1.9615704, y: -0.3901816} + - {x: -1.9400623, y: -0.48596132} + - {x: -1.9138803, y: -0.58057034} + - {x: -1.8830878, y: -0.67378074} + - {x: -1.8477587, y: -0.7653679} + - {x: -1.8079782, y: -0.855111} + - {x: -1.7638422, y: -0.9427941} + - {x: -1.715457, y: -1.028206} + - {x: -1.6629391, y: -1.1111407} + - {x: -1.606415, y: -1.1913987} + - {x: -1.546021, y: -1.2687865} + - {x: -1.4819025, y: -1.3431177} + - {x: -1.4142139, y: -1.4142132} + - {x: -1.3431184, y: -1.4819018} + - {x: -1.2687873, y: -1.5460204} + - {x: -1.1913995, y: -1.6064144} + - {x: -1.1111416, y: -1.6629385} + - {x: -1.0282067, y: -1.7154565} + - {x: -0.9427949, y: -1.7638417} + - {x: -0.85511184, y: -1.8079778} + - {x: -0.76536876, y: -1.8477583} + - {x: -0.6737818, y: -1.8830874} + - {x: -0.5805717, y: -1.91388} + - {x: -0.48596293, y: -1.9400618} + - {x: -0.39018345, y: -1.96157} + - {x: -0.29346398, y: -1.9783525} + - {x: -0.1960375, y: -1.9903691} + - {x: -0.09813879, y: -1.9975908} + - {x: -0.0000036398517, y: -2} + - {x: 0.098131515, y: -1.9975911} + - {x: 0.19603026, y: -1.9903698} + - {x: 0.29345676, y: -1.9783536} + - {x: 0.3901763, y: -1.9615715} + - {x: 0.48595586, y: -1.9400636} + - {x: 0.58056474, y: -1.913882} + - {x: 0.67377496, y: -1.8830898} + - {x: 0.765362, y: -1.847761} + - {x: 0.8551053, y: -1.8079809} + - {x: 0.94278854, y: -1.7638452} + - {x: 1.0282005, y: -1.7154602} + - {x: 1.1111355, y: -1.6629425} + - {x: 1.1913936, y: -1.6064187} + - {x: 1.2687817, y: -1.546025} + - {x: 1.3431131, y: -1.4819067} + - {x: 1.4142088, y: -1.4142184} + - {x: 1.4818976, y: -1.3431231} + - {x: 1.5460167, y: -1.2687918} + - {x: 1.6064112, y: -1.1914037} + - {x: 1.6629357, y: -1.1111456} + - {x: 1.7154542, y: -1.0282105} + - {x: 1.7638398, y: -0.94279844} + - {x: 1.8079762, y: -0.855115} + - {x: 1.8477571, y: -0.76537156} + - {x: 1.8830866, y: -0.6737842} + - {x: 1.9138794, y: -0.5805737} + - {x: 1.9400615, y: -0.48596448} + - {x: 1.9615698, y: -0.39018452} + - {x: 1.9783524, y: -0.29346457} + - {x: 1.9903691, y: -0.19603767} + - {x: 1.9975908, y: -0.09813846} + - {x: 2, y: -0.0000028371733} + - {x: 1.997591, y: 0.0981328} + - {x: 1.9903697, y: 0.19603202} + - {x: 1.9783533, y: 0.29345897} + - {x: 1.9615709, y: 0.39017895} + - {x: 1.9400629, y: 0.48595896} + - {x: 1.9138811, y: 0.58056825} + - {x: 1.8830885, y: 0.6737789} + - {x: 1.8477592, y: 0.7653663} + - {x: 1.8079787, y: 0.8551099} + - {x: 1.7638426, y: 0.9427934} + - {x: 1.7154571, y: 1.0282056} + - {x: 1.662939, y: 1.1111408} + - {x: 1.6064146, y: 1.1913992} + - {x: 1.5460203, y: 1.2687874} + - {x: 1.4819014, y: 1.3431189} + - {x: 1.4142125, y: 1.4142147} + - {x: 1.3431165, y: 1.4819036} + - {x: 1.2687849, y: 1.5460223} + - {x: 1.1913966, y: 1.6064166} + - {x: 1.1111382, y: 1.6629407} + - {x: 1.0282029, y: 1.7154588} + - {x: 0.94279057, y: 1.7638441} + - {x: 0.85510695, y: 1.8079801} + - {x: 0.76536334, y: 1.8477606} + - {x: 0.67377585, y: 1.8830895} + - {x: 0.58056515, y: 1.9138819} + - {x: 0.48595583, y: 1.9400636} + - {x: 0.3901758, y: 1.9615716} + - {x: 0.29345578, y: 1.9783537} + - {x: 0.1960288, y: 1.99037} + - {x: 0.09812956, y: 1.9975911} + physicsShape: + - - {x: 0, y: 2} + - {x: -0.09813535, y: 1.9975909} + - {x: -0.19603428, y: 1.9903694} + - {x: -0.29346094, y: 1.978353} + - {x: -0.39018065, y: 1.9615705} + - {x: -0.4859604, y: 1.9400625} + - {x: -0.5805693, y: 1.9138807} + - {x: -0.67377967, y: 1.8830881} + - {x: -0.76536685, y: 1.8477591} + - {x: -0.8551101, y: 1.8079786} + - {x: -0.9427934, y: 1.7638426} + - {x: -1.0282055, y: 1.7154572} + - {x: -1.1111405, y: 1.6629392} + - {x: -1.1913986, y: 1.606415} + - {x: -1.2687867, y: 1.5460209} + - {x: -1.343118, y: 1.4819021} + - {x: -1.4142137, y: 1.4142134} + - {x: -1.4819024, y: 1.3431177} + - {x: -1.5460211, y: 1.2687864} + - {x: -1.6064153, y: 1.1913984} + - {x: -1.6629394, y: 1.1111403} + - {x: -1.7154574, y: 1.0282052} + - {x: -1.7638427, y: 0.94279313} + - {x: -1.8079787, y: 0.8551098} + - {x: -1.8477592, y: 0.76536644} + - {x: -1.8830884, y: 0.6737792} + - {x: -1.9138808, y: 0.5805688} + - {x: -1.9400626, y: 0.48595977} + - {x: -1.9615707, y: 0.39018002} + - {x: -1.9783531, y: 0.29346028} + - {x: -1.9903696, y: 0.19603357} + - {x: -1.9975909, y: 0.098134585} + - {x: -2, y: -0.0000008026785} + - {x: -1.9975909, y: -0.09813619} + - {x: -1.9903693, y: -0.19603516} + - {x: -1.9783529, y: -0.29346186} + - {x: -1.9615704, y: -0.3901816} + - {x: -1.9400623, y: -0.48596132} + - {x: -1.9138803, y: -0.58057034} + - {x: -1.8830878, y: -0.67378074} + - {x: -1.8477587, y: -0.7653679} + - {x: -1.8079782, y: -0.855111} + - {x: -1.7638422, y: -0.9427941} + - {x: -1.715457, y: -1.028206} + - {x: -1.6629391, y: -1.1111407} + - {x: -1.606415, y: -1.1913987} + - {x: -1.546021, y: -1.2687865} + - {x: -1.4819025, y: -1.3431177} + - {x: -1.4142139, y: -1.4142132} + - {x: -1.3431184, y: -1.4819018} + - {x: -1.2687873, y: -1.5460204} + - {x: -1.1913995, y: -1.6064144} + - {x: -1.1111416, y: -1.6629385} + - {x: -1.0282067, y: -1.7154565} + - {x: -0.9427949, y: -1.7638417} + - {x: -0.85511184, y: -1.8079778} + - {x: -0.76536876, y: -1.8477583} + - {x: -0.6737818, y: -1.8830874} + - {x: -0.5805717, y: -1.91388} + - {x: -0.48596293, y: -1.9400618} + - {x: -0.39018345, y: -1.96157} + - {x: -0.29346398, y: -1.9783525} + - {x: -0.1960375, y: -1.9903691} + - {x: -0.09813879, y: -1.9975908} + - {x: -0.0000036398517, y: -2} + - {x: 0.098131515, y: -1.9975911} + - {x: 0.19603026, y: -1.9903698} + - {x: 0.29345676, y: -1.9783536} + - {x: 0.3901763, y: -1.9615715} + - {x: 0.48595586, y: -1.9400636} + - {x: 0.58056474, y: -1.913882} + - {x: 0.67377496, y: -1.8830898} + - {x: 0.765362, y: -1.847761} + - {x: 0.8551053, y: -1.8079809} + - {x: 0.94278854, y: -1.7638452} + - {x: 1.0282005, y: -1.7154602} + - {x: 1.1111355, y: -1.6629425} + - {x: 1.1913936, y: -1.6064187} + - {x: 1.2687817, y: -1.546025} + - {x: 1.3431131, y: -1.4819067} + - {x: 1.4142088, y: -1.4142184} + - {x: 1.4818976, y: -1.3431231} + - {x: 1.5460167, y: -1.2687918} + - {x: 1.6064112, y: -1.1914037} + - {x: 1.6629357, y: -1.1111456} + - {x: 1.7154542, y: -1.0282105} + - {x: 1.7638398, y: -0.94279844} + - {x: 1.8079762, y: -0.855115} + - {x: 1.8477571, y: -0.76537156} + - {x: 1.8830866, y: -0.6737842} + - {x: 1.9138794, y: -0.5805737} + - {x: 1.9400615, y: -0.48596448} + - {x: 1.9615698, y: -0.39018452} + - {x: 1.9783524, y: -0.29346457} + - {x: 1.9903691, y: -0.19603767} + - {x: 1.9975908, y: -0.09813846} + - {x: 2, y: -0.0000028371733} + - {x: 1.997591, y: 0.0981328} + - {x: 1.9903697, y: 0.19603202} + - {x: 1.9783533, y: 0.29345897} + - {x: 1.9615709, y: 0.39017895} + - {x: 1.9400629, y: 0.48595896} + - {x: 1.9138811, y: 0.58056825} + - {x: 1.8830885, y: 0.6737789} + - {x: 1.8477592, y: 0.7653663} + - {x: 1.8079787, y: 0.8551099} + - {x: 1.7638426, y: 0.9427934} + - {x: 1.7154571, y: 1.0282056} + - {x: 1.662939, y: 1.1111408} + - {x: 1.6064146, y: 1.1913992} + - {x: 1.5460203, y: 1.2687874} + - {x: 1.4819014, y: 1.3431189} + - {x: 1.4142125, y: 1.4142147} + - {x: 1.3431165, y: 1.4819036} + - {x: 1.2687849, y: 1.5460223} + - {x: 1.1913966, y: 1.6064166} + - {x: 1.1111382, y: 1.6629407} + - {x: 1.0282029, y: 1.7154588} + - {x: 0.94279057, y: 1.7638441} + - {x: 0.85510695, y: 1.8079801} + - {x: 0.76536334, y: 1.8477606} + - {x: 0.67377585, y: 1.8830895} + - {x: 0.58056515, y: 1.9138819} + - {x: 0.48595583, y: 1.9400636} + - {x: 0.3901758, y: 1.9615716} + - {x: 0.29345578, y: 1.9783537} + - {x: 0.1960288, y: 1.99037} + - {x: 0.09812956, y: 1.9975911} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot.meta new file mode 100644 index 00000000..65583211 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 36d7369ff41364a7998809760ae4a357 +folderAsset: yes +timeCreated: 1510677837 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/CM ClearShot1 Blends.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/CM ClearShot1 Blends.asset new file mode 100644 index 00000000..7991af9d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/CM ClearShot1 Blends.asset @@ -0,0 +1,24 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36baaa8bdcb9d8b49b9199833965d2c3, type: 3} + m_Name: CM ClearShot1 Blends + m_EditorClassIdentifier: + m_CustomBlends: + - m_From: '**ANY CAMERA**' + m_To: CM BlendListCamera1 + m_Blend: + m_Style: 0 + m_Time: 2 + - m_From: CM BlendListCamera1 + m_To: '**ANY CAMERA**' + m_Blend: + m_Style: 0 + m_Time: 2 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/CM ClearShot1 Blends.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/CM ClearShot1 Blends.asset.meta new file mode 100644 index 00000000..16b40e6e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/CM ClearShot1 Blends.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fd722b8418d6acb49b2d765f94556347 +timeCreated: 1510769892 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot character.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot character.unity new file mode 100644 index 00000000..868b29ad --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot character.unity @@ -0,0 +1,4669 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &4209134 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4209136} + - component: {fileID: 4209135} + - component: {fileID: 4209137} + m_Layer: 0 + m_Name: CM ClearShot1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &4209135 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4209134} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d62f748f5292bb343be9e6b0c84416d9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 638300164} + m_Follow: {fileID: 0} + m_ShowDebugText: 1 + m_ChildCameras: [] + m_ActivateAfter: 0.1 + m_MinDuration: 1 + m_RandomizeChoice: 0 + m_DefaultBlend: + m_Style: 0 + m_Time: 0 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} +--- !u!4 &4209136 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4209134} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 620868577} + - {fileID: 1794756920} + - {fileID: 1643684133} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4209137 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4209134} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: Player + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.5 + m_AvoidObstacles: 0 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 0 +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &137718148 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 137718149} + - component: {fileID: 137718152} + - component: {fileID: 137718151} + - component: {fileID: 137718150} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &137718149 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 314295172} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &137718150 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.592 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: -0.098 + m_CenterOnActivate: 1 +--- !u!114 &137718151 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &137718152 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &157620871 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1214444210617826, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 157620872} + - component: {fileID: 157620875} + - component: {fileID: 157620874} + - component: {fileID: 157620873} + m_Layer: 0 + m_Name: ProB_Floor_2Walls_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &157620872 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4745951113876314, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157620871} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 30} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2120090105} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!64 &157620873 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64944035275092230, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157620871} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!23 &157620874 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23025349744484216, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157620871} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &157620875 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33368276532935910, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157620871} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!1 &249600344 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 249600345} + - component: {fileID: 249600348} + - component: {fileID: 249600347} + - component: {fileID: 249600346} + - component: {fileID: 249600349} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &249600345 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1130702791} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &249600346 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.592 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: -0.098 + m_CenterOnActivate: 1 +--- !u!114 &249600347 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1, z: -2} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 0.1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &249600348 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &249600349 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 20e46be82478fa24b90f748044c06b4b, type: 2} + m_PivotOffset: {x: 0, y: 0, z: 0} + m_AmplitudeGain: 2 + m_FrequencyGain: 2 + mNoiseOffsets: {x: 0, y: 0, z: 0} +--- !u!95 &282003726 stripped +Animator: + m_CorrespondingSourceObject: {fileID: 95487103652067774, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 1555439563} + m_PrefabAsset: {fileID: 0} +--- !u!1 &289532881 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1070431082620248, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 289532882} + - component: {fileID: 289532886} + - component: {fileID: 289532885} + - component: {fileID: 289532884} + - component: {fileID: 289532883} + m_Layer: 0 + m_Name: Trigger_ClearShot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &289532882 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4948073236796476, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 289532881} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: -0, z: 12.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1824498340} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!114 &289532883 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 289532881} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e46ac8d61dc065848bd5a1aa7cd8c006, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayerMask: + serializedVersion: 2 + m_Bits: 1 + m_WithTag: Player + m_WithoutTag: + m_SkipFirst: 0 + m_Repeating: 1 + m_OnObjectEnter: + m_Action: 2 + m_Target: {fileID: 4209134} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] + m_OnObjectExit: + m_Action: 0 + m_Target: {fileID: 0} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] +--- !u!64 &289532884 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64944002382221902, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 289532881} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!23 &289532885 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23553084136363808, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 289532881} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 850a1a07bd7c8e24a8e518501c065b86, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &289532886 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33474331056532294, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 289532881} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!1 &314295170 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 314295172} + - component: {fileID: 314295171} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &314295171 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Transitions + - m_Follow + - m_StandbyUpdate + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 137718149} +--- !u!4 &314295172 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_LocalRotation: {x: -0.10778456, y: 0.034420613, z: 0.0037340154, w: 0.9935713} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 137718149} + m_Father: {fileID: 1956070573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &362895638 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 362895640} + - component: {fileID: 362895639} + m_Layer: 0 + m_Name: CM FreeLook sprint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &362895639 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 362895638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_CommonLens: 1 + m_Lens: + FieldOfView: 65 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_YAxis: + Value: 0.5 + m_SpeedMode: 0 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertInput: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_Wrap: 0 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_YAxisRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 1 + m_Orbits: + - m_Height: 3 + m_Radius: 1 + - m_Height: 1 + m_Radius: 2 + - m_Height: 0.2 + m_Radius: 1.5 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 1130702792} + - {fileID: 924382201} + - {fileID: 520169976} +--- !u!4 &362895640 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 362895638} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.017812252, y: -1.9299998, z: 0.97423744} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1130702791} + - {fileID: 924382200} + - {fileID: 520169977} + m_Father: {fileID: 1667622371} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1824498340} + - {fileID: 470558909} + - {fileID: 2120090105} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &445145004 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 445145005} + - component: {fileID: 445145008} + - component: {fileID: 445145007} + - component: {fileID: 445145006} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445145005 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1882019633} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &445145006 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.237 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.345 + m_CenterOnActivate: 1 +--- !u!114 &445145007 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &445145008 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &456353083 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1460448521894754, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 456353084} + - component: {fileID: 456353087} + - component: {fileID: 456353086} + - component: {fileID: 456353085} + m_Layer: 0 + m_Name: Floor_LWall_10x10 (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &456353084 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4346705469142044, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456353083} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: -0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470558909} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 270, z: 0} +--- !u!64 &456353085 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64794050700455514, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456353083} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!23 &456353086 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23640155672601112, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456353083} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &456353087 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33349008738201488, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 456353083} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!1 &470558908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1353548312259026, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 470558909} + m_Layer: 0 + m_Name: Stage1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &470558909 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 470558908} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1116221256} + - {fileID: 1233668511} + - {fileID: 1306119998} + - {fileID: 2008366576} + - {fileID: 2007995549} + - {fileID: 1049053763} + - {fileID: 746773135} + - {fileID: 456353084} + - {fileID: 1226840103} + m_Father: {fileID: 436401188} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &471163513 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1470950834324856, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 471163514} + - component: {fileID: 471163515} + m_Layer: 9 + m_Name: Corridor_1_Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &471163514 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4454140350973796, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 471163513} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: 20} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2120090105} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &471163515 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 65345502164100634, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 471163513} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 4, z: 10} + m_Center: {x: 0, y: 2, z: -5} +--- !u!1 &476693788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1691545888359096, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 476693789} + - component: {fileID: 476693790} + m_Layer: 9 + m_Name: Corridor_2_Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &476693789 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4119292489330496, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 476693788} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2120090105} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!65 &476693790 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 65142447842052234, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 476693788} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 4, z: 1} + m_Center: {x: 5, y: 2, z: -10} +--- !u!1 &509908079 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 509908080} + - component: {fileID: 509908083} + - component: {fileID: 509908082} + - component: {fileID: 509908081} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509908080 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1343764758} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &509908081 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.359 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.27799994 + m_CenterOnActivate: 1 +--- !u!114 &509908082 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &509908083 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &516334554 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 516334555} + - component: {fileID: 516334557} + - component: {fileID: 516334556} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &516334555 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 516334554} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1643684133} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &516334556 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 516334554} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &516334557 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 516334554} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &520169975 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 520169977} + - component: {fileID: 520169976} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &520169976 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 520169975} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Transitions + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 65 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1878452406} +--- !u!4 &520169977 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 520169975} + m_LocalRotation: {x: 0.017752018, y: 0.05329335, z: -0.0009475776, w: 0.99842066} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1878452406} + m_Father: {fileID: 362895640} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &620868575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 620868577} + - component: {fileID: 620868576} + m_Layer: 0 + m_Name: CM vcam1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &620868576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 620868575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 11 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 831056888} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1348721681} +--- !u!4 &620868577 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 620868575} + m_LocalRotation: {x: -0.01302334, y: 0.96780235, z: -0.05121463, w: -0.24610192} + m_LocalPosition: {x: 16.62, y: 5.28, z: 17.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1348721681} + m_Father: {fileID: 4209136} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &638300164 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 1555439563} + m_PrefabAsset: {fileID: 0} +--- !u!1 &746773134 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1618907212989342, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 746773135} + - component: {fileID: 746773138} + - component: {fileID: 746773137} + - component: {fileID: 746773136} + m_Layer: 0 + m_Name: Floor_LWall_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &746773135 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4337820662698616, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 746773134} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470558909} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!64 &746773136 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64417523783703692, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 746773134} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!23 &746773137 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23405287340030536, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 746773134} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &746773138 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33875604847906404, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 746773134} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!4 &831056888 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 1555439563} + m_PrefabAsset: {fileID: 0} +--- !u!1 &924382199 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 924382200} + - component: {fileID: 924382201} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &924382200 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 924382199} + m_LocalRotation: {x: -0.054699298, y: 0.053532068, z: 0.0029367965, w: 0.99706256} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1320960104} + m_Father: {fileID: 362895640} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &924382201 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 924382199} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Transitions + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 65 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1320960104} +--- !u!1 &1023799902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1384046724762472, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2120090105} + m_Layer: 0 + m_Name: Corridors_1_2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1049053762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1600866081170166, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1049053763} + - component: {fileID: 1049053766} + - component: {fileID: 1049053765} + - component: {fileID: 1049053764} + m_Layer: 0 + m_Name: Floor_LWall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1049053763 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4291176792551136, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1049053762} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470558909} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &1049053764 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64300953768862422, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1049053762} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!23 &1049053765 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23463183618734920, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1049053762} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1049053766 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33460049686983920, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1049053762} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!1 &1116221255 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1508939754494012, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1116221256} + - component: {fileID: 1116221259} + - component: {fileID: 1116221258} + - component: {fileID: 1116221257} + m_Layer: 0 + m_Name: Floor_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1116221256 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4428690039271208, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116221255} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470558909} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &1116221257 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64232303718121850, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116221255} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: 47d4df8e0a6e85a4c8448ec117ba07df, type: 3} +--- !u!23 &1116221258 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23000832059277976, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116221255} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1116221259 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33549248189910234, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116221255} + m_Mesh: {fileID: 4300000, guid: 47d4df8e0a6e85a4c8448ec117ba07df, type: 3} +--- !u!1 &1130702790 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1130702791} + - component: {fileID: 1130702792} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1130702791 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1130702790} + m_LocalRotation: {x: -0.19981092, y: 0.052376047, z: 0.010696647, w: 0.9783752} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 249600345} + m_Father: {fileID: 362895640} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1130702792 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1130702790} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Transitions + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 65 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 249600345} +--- !u!1 &1146432994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1264870103388704, guid: df69f5ef4222b65458627bdaf63f9039, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1146432995} + - component: {fileID: 1146432998} + - component: {fileID: 1146432997} + - component: {fileID: 1146432996} + m_Layer: 0 + m_Name: ProB_Floor_LWall_10x10 (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1146432995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4803697528107020, guid: df69f5ef4222b65458627bdaf63f9039, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146432994} + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 10, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2120090105} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!64 &1146432996 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64363614913133198, guid: df69f5ef4222b65458627bdaf63f9039, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146432994} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!23 &1146432997 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23499756440749264, guid: df69f5ef4222b65458627bdaf63f9039, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146432994} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1146432998 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33146065319322112, guid: df69f5ef4222b65458627bdaf63f9039, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146432994} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!1 &1159181976 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1070431082620248, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1159181977} + - component: {fileID: 1159181980} + - component: {fileID: 1159181979} + - component: {fileID: 1159181978} + m_Layer: 0 + m_Name: ProB_Wall_10x4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1159181977 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4948073236796476, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1159181976} + m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 5, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2120090105} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0} +--- !u!64 &1159181978 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64944002382221902, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1159181976} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!23 &1159181979 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23553084136363808, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1159181976} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1159181980 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33474331056532294, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1159181976} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!1 &1222099815 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1070431082620248, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1222099816} + - component: {fileID: 1222099820} + - component: {fileID: 1222099819} + - component: {fileID: 1222099818} + - component: {fileID: 1222099821} + m_Layer: 0 + m_Name: Trigger_FreeLook + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1222099816 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4948073236796476, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222099815} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 11.4} + m_LocalScale: {x: 1, y: 1.0000005, z: 1.0000005} + m_Children: [] + m_Father: {fileID: 1824498340} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!64 &1222099818 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64944002382221902, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222099815} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!23 &1222099819 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23553084136363808, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222099815} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 850a1a07bd7c8e24a8e518501c065b86, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1222099820 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33474331056532294, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222099815} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!114 &1222099821 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222099815} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e46ac8d61dc065848bd5a1aa7cd8c006, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayerMask: + serializedVersion: 2 + m_Bits: 1 + m_WithTag: Player + m_WithoutTag: + m_SkipFirst: 0 + m_Repeating: 1 + m_OnObjectEnter: + m_Action: 2 + m_Target: {fileID: 1667622369} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] + m_OnObjectExit: + m_Action: 0 + m_Target: {fileID: 0} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1226840102 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1508939754494012, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1226840103} + - component: {fileID: 1226840106} + - component: {fileID: 1226840105} + - component: {fileID: 1226840104} + m_Layer: 0 + m_Name: Floor_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1226840103 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4428690039271208, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1226840102} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470558909} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &1226840104 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64232303718121850, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1226840102} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: 47d4df8e0a6e85a4c8448ec117ba07df, type: 3} +--- !u!23 &1226840105 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23000832059277976, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1226840102} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1226840106 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33549248189910234, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1226840102} + m_Mesh: {fileID: 4300000, guid: 47d4df8e0a6e85a4c8448ec117ba07df, type: 3} +--- !u!1 &1233668510 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1589051038764814, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1233668511} + - component: {fileID: 1233668514} + - component: {fileID: 1233668513} + - component: {fileID: 1233668512} + m_Layer: 0 + m_Name: Floor_1Wall_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1233668511 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4184873926793346, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233668510} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470558909} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!64 &1233668512 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64058343729723294, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233668510} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!23 &1233668513 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23791095951903888, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233668510} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1233668514 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33314137599878734, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233668510} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!1 &1268975039 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1070431082620248, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1268975040} + - component: {fileID: 1268975043} + - component: {fileID: 1268975042} + - component: {fileID: 1268975041} + m_Layer: 0 + m_Name: ProB_Wall_10x4 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1268975040 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4948073236796476, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268975039} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 4, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1.25} + m_Children: [] + m_Father: {fileID: 2120090105} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!64 &1268975041 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64944002382221902, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268975039} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!23 &1268975042 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23553084136363808, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268975039} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1268975043 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33474331056532294, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1268975039} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!1 &1306119997 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1069540646779908, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1306119998} + - component: {fileID: 1306120001} + - component: {fileID: 1306120000} + - component: {fileID: 1306119999} + m_Layer: 0 + m_Name: Floor_1Wall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1306119998 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4075294649429384, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306119997} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470558909} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!64 &1306119999 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64765137987964746, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306119997} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!23 &1306120000 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23437780738149998, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306119997} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1306120001 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33508854371246758, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1306119997} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!1 &1320960103 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1320960104} + - component: {fileID: 1320960107} + - component: {fileID: 1320960106} + - component: {fileID: 1320960105} + - component: {fileID: 1320960108} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1320960104 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 924382200} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1320960105 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.359 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.27799994 + m_CenterOnActivate: 1 +--- !u!114 &1320960106 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1, z: -2} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 0.1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1320960107 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1320960108 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 20e46be82478fa24b90f748044c06b4b, type: 2} + m_PivotOffset: {x: 0, y: 0, z: 0} + m_AmplitudeGain: 2 + m_FrequencyGain: 2 + mNoiseOffsets: {x: 0, y: 0, z: 0} +--- !u!1 &1343764756 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1343764758} + - component: {fileID: 1343764757} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1343764757 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Transitions + - m_Follow + - m_StandbyUpdate + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 509908080} +--- !u!4 &1343764758 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_LocalRotation: {x: -0.00011912581, y: 0.034622528, z: 0.00000412691, w: 0.9994005} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 509908080} + m_Father: {fileID: 1956070573} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1348721680 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1348721681} + - component: {fileID: 1348721684} + - component: {fileID: 1348721683} + - component: {fileID: 1348721682} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1348721681 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1348721680} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 620868577} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1348721682 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1348721680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 418e42c7d0405cc48a7b83f63ea53bb3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 2136042917} + m_PathPosition: 0 + m_PositionUnits: 1 + m_PathOffset: {x: 0, y: 0, z: 0} + m_XDamping: 0 + m_YDamping: 0 + m_ZDamping: 0 + m_CameraUp: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AutoDolly: + m_Enabled: 1 + m_PositionOffset: 0 + m_SearchRadius: 2 + m_SearchResolution: 5 +--- !u!114 &1348721683 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1348721680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1348721684 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1348721680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1401032672 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1401032677} + - component: {fileID: 1401032676} + - component: {fileID: 1401032675} + - component: {fileID: 1401032674} + - component: {fileID: 1401032673} + - component: {fileID: 1401032678} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1401032673 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401032672} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1401032674 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401032672} + m_Enabled: 1 +--- !u!124 &1401032675 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401032672} + m_Enabled: 1 +--- !u!20 &1401032676 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401032672} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 50 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1401032677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401032672} + m_LocalRotation: {x: -0.0001191164, y: 0.034622528, z: 0.000004126866, w: 0.9994005} + m_LocalPosition: {x: 4.790357, y: 2.3000002, z: -6.9926662} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1401032678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1401032672} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: ClearShot character + m_Description: "Turn this window off by removing the script on Main Camera\r\n\r\nUse + the arrow keys to move the character\r\n\r\nRun the character straight ahead + through the yellow trigger, note that the camera will blend from the 3rd person + FreeLook to the ClearShot camera.\r\n\nClearShot will use its child cameras and + switch between them to keep the target in sight wherever it goes.\r" +--- !u!1001 &1555439563 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.z + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 95487103652067774, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: m_UpdateMode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: keepDirection + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} +--- !u!1 &1643684131 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1643684133} + - component: {fileID: 1643684132} + m_Layer: 0 + m_Name: CM vcam3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1643684132 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1643684131} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 516334555} +--- !u!4 &1643684133 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1643684131} + m_LocalRotation: {x: -0.00037353745, y: 0.9995128, z: -0.01320156, w: -0.02828116} + m_LocalPosition: {x: 8, y: 4.1, z: 49} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 516334555} + m_Father: {fileID: 4209136} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1667622369 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1667622371} + - component: {fileID: 1667622370} + - component: {fileID: 1667622372} + m_Layer: 0 + m_Name: CM StateDrivenFreeLook + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1667622370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667622369} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 325a6a3050a061e4b8aa51386c30e8e1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 638300164} + m_Follow: {fileID: 831056888} + m_AnimatedTarget: {fileID: 282003726} + m_LayerIndex: 0 + m_ShowDebugText: 0 + m_ChildCameras: + - {fileID: 1956070572} + - {fileID: 362895639} + m_Instructions: + - m_FullHash: -1269438207 + m_VirtualCamera: {fileID: 1956070572} + m_ActivateAfter: 0 + m_MinDuration: 0 + - m_FullHash: -350224702 + m_VirtualCamera: {fileID: 362895639} + m_ActivateAfter: 0 + m_MinDuration: 0 + m_DefaultBlend: + m_Style: 1 + m_Time: 0.5 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 11400000, guid: 798528270df5a4ed3a432b5bab12156e, type: 2} + m_ParentHash: + - m_Hash: -1269438207 + m_ParentHash: 756556552 + - m_Hash: -1376239245 + m_ParentHash: -1269438207 + - m_Hash: -62026189 + m_ParentHash: -1269438207 + - m_Hash: -1928560382 + m_ParentHash: -1269438207 + - m_Hash: -350224702 + m_ParentHash: 756556552 +--- !u!4 &1667622371 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667622369} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.8011856, y: 4.0299997, z: -6.962471} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1956070573} + - {fileID: 362895640} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1667622372 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667622369} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: Player + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.1 + m_AvoidObstacles: 1 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 0 +--- !u!1 &1681001588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1900370812478796, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1681001589} + - component: {fileID: 1681001592} + - component: {fileID: 1681001591} + - component: {fileID: 1681001590} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1681001589 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4932899551635850, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681001588} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 10, y: 0, z: 10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2120090105} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!64 &1681001590 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64745868476491256, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681001588} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!23 &1681001591 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23218155551805188, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681001588} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1681001592 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33144744184509424, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681001588} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!1 &1790793776 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1837194916521680, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1790793777} + - component: {fileID: 1790793780} + - component: {fileID: 1790793779} + - component: {fileID: 1790793778} + m_Layer: 0 + m_Name: ProB_Floor_2Walls_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1790793777 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4332080873514452, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1790793776} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2120090105} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!64 &1790793778 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64793294481116604, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1790793776} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!23 &1790793779 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23863900356488556, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1790793776} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1790793780 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33680411528093346, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1790793776} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!1 &1794756918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1794756920} + - component: {fileID: 1794756919} + m_Layer: 0 + m_Name: CM vcam2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1794756919 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1794756918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1855339108} +--- !u!4 &1794756920 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1794756918} + m_LocalRotation: {x: -0.013506268, y: 0.9808723, z: -0.17963341, w: -0.07374978} + m_LocalPosition: {x: 12.3, y: 21.2, z: 44.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1855339108} + m_Father: {fileID: 4209136} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1824498339 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1824498340} + m_Layer: 0 + m_Name: Triggers + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1824498340 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1824498339} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 289532882} + - {fileID: 1222099816} + m_Father: {fileID: 436401188} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1855339107 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1855339108} + - component: {fileID: 1855339110} + - component: {fileID: 1855339109} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1855339108 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1855339107} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1794756920} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1855339109 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1855339107} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1855339110 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1855339107} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1878452405 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1878452406} + - component: {fileID: 1878452409} + - component: {fileID: 1878452408} + - component: {fileID: 1878452407} + - component: {fileID: 1878452410} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1878452406 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 520169977} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1878452407 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.237 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.345 + m_CenterOnActivate: 1 +--- !u!114 &1878452408 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1, z: -2} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 0.1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1878452409 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1878452410 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 20e46be82478fa24b90f748044c06b4b, type: 2} + m_PivotOffset: {x: 0, y: 0, z: 0} + m_AmplitudeGain: 2 + m_FrequencyGain: 2 + mNoiseOffsets: {x: 0, y: 0, z: 0} +--- !u!1 &1882019631 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1882019633} + - component: {fileID: 1882019632} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1882019632 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Transitions + - m_Follow + - m_StandbyUpdate + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 445145005} +--- !u!4 &1882019633 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_LocalRotation: {x: 0.054612223, y: 0.034570776, z: -0.0018919467, w: 0.9979072} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 445145005} + m_Father: {fileID: 1956070573} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1956070571 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1956070573} + - component: {fileID: 1956070572} + m_Layer: 0 + m_Name: CM FreeLook + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1956070572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_CommonLens: 1 + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_YAxis: + Value: 0.5 + m_SpeedMode: 0 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertInput: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_Wrap: 0 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_YAxisRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 1 + m_Orbits: + - m_Height: 4 + m_Radius: 1.5 + - m_Height: 1.2 + m_Radius: 3 + - m_Height: 0.2 + m_Radius: 2.5 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 314295171} + - {fileID: 1343764757} + - {fileID: 1882019632} +--- !u!4 &1956070573 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.010828495, y: -1.7299995, z: -0.030195236} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 314295172} + - {fileID: 1343764758} + - {fileID: 1882019633} + m_Father: {fileID: 1667622371} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2007995548 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1969055732295604, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2007995549} + - component: {fileID: 2007995552} + - component: {fileID: 2007995551} + - component: {fileID: 2007995550} + m_Layer: 0 + m_Name: Floor_LWall_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2007995549 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4588981910846876, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2007995548} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470558909} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!64 &2007995550 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64444221075859678, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2007995548} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!23 &2007995551 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23612013576632290, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2007995548} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &2007995552 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33024722533798518, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2007995548} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!1 &2008366575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1244387259326952, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2008366576} + - component: {fileID: 2008366579} + - component: {fileID: 2008366578} + - component: {fileID: 2008366577} + m_Layer: 0 + m_Name: Floor_1Wall_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2008366576 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4769155114610936, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2008366575} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470558909} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &2008366577 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 64701236806963866, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2008366575} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!23 &2008366578 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23746808193844642, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2008366575} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &2008366579 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33207686347832314, guid: b6a68029251c6c54ea270e3724819861, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2008366575} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!4 &2120090105 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4550568055784754, guid: dceeb5c475cd2fb4db1d3436877a7f81, + type: 3} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1023799902} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 471163514} + - {fileID: 476693789} + - {fileID: 1681001589} + - {fileID: 157620872} + - {fileID: 1790793777} + - {fileID: 1159181977} + - {fileID: 1146432995} + - {fileID: 1268975040} + m_Father: {fileID: 436401188} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2136042916 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2136042918} + - component: {fileID: 2136042917} + m_Layer: 0 + m_Name: DollyTrack1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2136042917 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2136042916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d37e5385efd7064cb1d54c94960acae, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 10 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.2 + m_Looped: 0 + m_Waypoints: + - position: {x: 0, y: 0, z: -5.5} + tangent: {x: 0, y: 0, z: 5} + roll: 0 + - position: {x: 0, y: 0, z: 37} + tangent: {x: 0, y: 0, z: 5} + roll: 0 +--- !u!4 &2136042918 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2136042916} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 16.62, y: 5.28, z: 22.9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot character.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot character.unity.meta new file mode 100644 index 00000000..22671798 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot character.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 34bc393830658254383047ad769a0260 +timeCreated: 1505768680 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot closest.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot closest.unity new file mode 100644 index 00000000..6ff6fca1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot closest.unity @@ -0,0 +1,1741 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &48185734 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 48185735} + - component: {fileID: 48185737} + - component: {fileID: 48185736} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &48185735 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48185734} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1471963130} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &48185736 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48185734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0.2 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 1 + m_ScreenX: 0.5112204 + m_ScreenY: 0.44571936 + m_DeadZoneWidth: 0.12622721 + m_DeadZoneHeight: 0.11018364 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &48185737 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48185734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!4 &63684543 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4999720077567788, guid: c177cbc5ca174ed438dba27b2b52e70c, + type: 3} + m_PrefabInstance: {fileID: 203174386} + m_PrefabAsset: {fileID: 0} +--- !u!1 &93095565 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 93095566} + - component: {fileID: 93095569} + - component: {fileID: 93095568} + - component: {fileID: 93095567} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &93095566 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 93095565} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 98841514} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &93095567 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 93095565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 1 + m_FollowOffset: {x: 0, y: 0, z: -10} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 +--- !u!114 &93095568 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 93095565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &93095569 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 93095565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &98841512 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 98841514} + - component: {fileID: 98841513} + - component: {fileID: 98841515} + m_Layer: 0 + m_Name: CM vcam1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &98841513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98841512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 93095566} +--- !u!4 &98841514 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98841512} + m_LocalRotation: {x: -0.078830294, y: 3.8521053e-12, z: -3.5935953e-12, w: 0.9968881} + m_LocalPosition: {x: 5, y: 1.1, z: -6.7} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 93095566} + m_Father: {fileID: 1582614300} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &98841515 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98841512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.1 + m_AvoidObstacles: 0 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 0 +--- !u!1001 &101511090 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.z + value: 3.3 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: keepDirection + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} +--- !u!1001 &203174386 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4999720077567788, guid: c177cbc5ca174ed438dba27b2b52e70c, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4999720077567788, guid: c177cbc5ca174ed438dba27b2b52e70c, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4999720077567788, guid: c177cbc5ca174ed438dba27b2b52e70c, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4999720077567788, guid: c177cbc5ca174ed438dba27b2b52e70c, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4999720077567788, guid: c177cbc5ca174ed438dba27b2b52e70c, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4999720077567788, guid: c177cbc5ca174ed438dba27b2b52e70c, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4999720077567788, guid: c177cbc5ca174ed438dba27b2b52e70c, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4999720077567788, guid: c177cbc5ca174ed438dba27b2b52e70c, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c177cbc5ca174ed438dba27b2b52e70c, type: 3} +--- !u!1 &204491472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 204491474} + - component: {fileID: 204491473} + - component: {fileID: 204491475} + m_Layer: 0 + m_Name: CM BlendListCamera1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &204491473 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 204491472} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 53258ad9ad6e71e48bb8643c9522112e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 11 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_ShowDebugText: 0 + m_Loop: 0 + m_ChildCameras: + - {fileID: 1635559943} + - {fileID: 1461527533} + m_Instructions: + - m_VirtualCamera: {fileID: 1635559943} + m_Hold: 0 + m_Blend: + m_Style: 0 + m_Time: 0 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - m_VirtualCamera: {fileID: 1461527533} + m_Hold: 0 + m_Blend: + m_Style: 1 + m_Time: 3 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!4 &204491474 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 204491472} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1635559944} + - {fileID: 1461527534} + m_Father: {fileID: 1582614300} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &204491475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 204491472} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 0 + m_IgnoreTag: + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.1 + m_AvoidObstacles: 0 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 12 +--- !u!1 &348296521 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 348296522} + - component: {fileID: 348296523} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &348296522 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 348296521} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1461527534} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &348296523 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 348296521} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &365240687 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!1 &371252855 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 371252857} + - component: {fileID: 371252856} + - component: {fileID: 371252858} + m_Layer: 0 + m_Name: CM vcamSurveillance1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &371252856 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 371252855} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1848942760} +--- !u!4 &371252857 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 371252855} + m_LocalRotation: {x: 0.5424757, y: -0.011506269, z: 0.007431155, w: 0.83995986} + m_LocalPosition: {x: 5.08, y: 9.17, z: 0.41} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1848942760} + m_Father: {fileID: 1582614300} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &371252858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 371252855} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.5 + m_AvoidObstacles: 0 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 4 +--- !u!4 &395955859 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 101511090} + m_PrefabAsset: {fileID: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 63684543} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &749849717 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 749849718} + - component: {fileID: 749849720} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &749849718 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 749849717} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1635559944} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &749849720 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 749849717} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &813222580 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 813222582} + - component: {fileID: 813222581} + - component: {fileID: 813222583} + m_Layer: 0 + m_Name: CM vcamDollyTrack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &813222581 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813222580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 877689507} +--- !u!4 &813222582 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813222580} + m_LocalRotation: {x: -0.01934504, y: 0.88784724, z: -0.037484527, w: -0.45820084} + m_LocalPosition: {x: 14.64, y: 2.46, z: 10} + m_LocalScale: {x: 1, y: 1.0000001, z: 1} + m_Children: + - {fileID: 877689507} + m_Father: {fileID: 1582614300} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &813222583 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813222580} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.5 + m_AvoidObstacles: 0 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 6.78 +--- !u!1 &877689506 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 877689507} + - component: {fileID: 877689510} + - component: {fileID: 877689509} + - component: {fileID: 877689508} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &877689507 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 877689506} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 813222582} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &877689508 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 877689506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 418e42c7d0405cc48a7b83f63ea53bb3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1881073771} + m_PathPosition: 0 + m_PositionUnits: 0 + m_PathOffset: {x: -0.17000008, y: 0, z: 0} + m_XDamping: 0 + m_YDamping: 0 + m_ZDamping: 1 + m_CameraUp: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AutoDolly: + m_Enabled: 1 + m_PositionOffset: 0 + m_SearchRadius: 2 + m_SearchResolution: 5 +--- !u!114 &877689509 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 877689506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 1 + m_ScreenX: 0.5098169 + m_ScreenY: 0.35535574 + m_DeadZoneWidth: 0.12622719 + m_DeadZoneHeight: 0.12020029 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &877689510 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 877689506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1102858589 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102858591} + - component: {fileID: 1102858590} + m_Layer: 0 + m_Name: GameManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1102858590 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102858589} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2cfb0b06d5a4af5429ea7f2b67fd8579, type: 3} + m_Name: + m_EditorClassIdentifier: + vcam: {fileID: 0} +--- !u!4 &1102858591 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102858589} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.5154877, y: 1.5833397, z: 20.438755} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1461527532 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1461527534} + - component: {fileID: 1461527533} + m_Layer: 0 + m_Name: CM vcamSurveillance_close + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1461527533 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461527532} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 34.1 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 348296522} +--- !u!4 &1461527534 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1461527532} + m_LocalRotation: {x: -0.47129077, y: 0.5270813, z: -0.47074157, w: -0.5277052} + m_LocalPosition: {x: 8.2, y: 35.23, z: 29.2} + m_LocalScale: {x: 1.0000005, y: 1.0000005, z: 1.0000005} + m_Children: + - {fileID: 348296522} + m_Father: {fileID: 204491474} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 82.61, y: -90.102005, z: 0.002} +--- !u!1 &1471963128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1471963130} + - component: {fileID: 1471963129} + - component: {fileID: 1471963131} + m_Layer: 0 + m_Name: CM vcamSurveillance3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1471963129 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1471963128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 11 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 48185735} +--- !u!4 &1471963130 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1471963128} + m_LocalRotation: {x: -0.0015161752, y: 0.99417454, z: -0.014107833, w: -0.106844395} + m_LocalPosition: {x: 14.6, y: 2.23, z: 44.6} + m_LocalScale: {x: 1.0000007, y: 0.9999999, z: 1.0000002} + m_Children: + - {fileID: 48185735} + m_Father: {fileID: 1582614300} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1471963131 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1471963128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.5 + m_AvoidObstacles: 0 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 6 +--- !u!1 &1582614297 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1582614300} + - component: {fileID: 1582614299} + m_Layer: 0 + m_Name: CM ClearShot1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1582614299 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1582614297} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d62f748f5292bb343be9e6b0c84416d9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 395955859} + m_Follow: {fileID: 365240687} + m_ShowDebugText: 1 + m_ChildCameras: + - {fileID: 813222581} + - {fileID: 371252856} + - {fileID: 1471963129} + - {fileID: 98841513} + - {fileID: 204491473} + m_ActivateAfter: 0 + m_MinDuration: 0 + m_RandomizeChoice: 0 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 11400000, guid: fd722b8418d6acb49b2d765f94556347, type: 2} +--- !u!4 &1582614300 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1582614297} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 813222582} + - {fileID: 371252857} + - {fileID: 1471963130} + - {fileID: 98841514} + - {fileID: 204491474} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1635559942 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1635559944} + - component: {fileID: 1635559943} + m_Layer: 0 + m_Name: CM vcamSurveillance + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1635559943 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635559942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 0 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 34.1 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 749849718} +--- !u!4 &1635559944 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635559942} + m_LocalRotation: {x: -0.47129077, y: 0.5270813, z: -0.47074157, w: -0.5277052} + m_LocalPosition: {x: 9.344843, y: 45.6, z: 28.900412} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 749849718} + m_Father: {fileID: 204491474} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 82.61, y: -90.102005, z: 0.002} +--- !u!1 &1747380105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1747380110} + - component: {fileID: 1747380109} + - component: {fileID: 1747380108} + - component: {fileID: 1747380107} + - component: {fileID: 1747380106} + - component: {fileID: 1747380111} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1747380106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1747380107 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!124 &1747380108 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!20 &1747380109 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1747380110 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_LocalRotation: {x: 0.5424757, y: -0.011506269, z: 0.007431155, w: 0.83995986} + m_LocalPosition: {x: 5.08, y: 9.17, z: 0.41} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1747380111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: ClearSHot closest + m_Description: 'Turn this window off by removing the script on Main Camera + + + Use + the arrow keys to move the character + + + Run the character straight ahead, + note that the camera will blend to other virtual cameras because they have the + best shot due to being the closest + + + The best shot evaluation is done by + the Cinemachine Collider script on each of the ClearShot cameras, with an Optimal + Target Distance setting' +--- !u!1 &1848942759 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1848942760} + - component: {fileID: 1848942762} + - component: {fileID: 1848942761} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1848942760 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1848942759} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 371252857} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1848942761 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1848942759} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 1 + m_ScreenX: 0.49999985 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.12903227 + m_DeadZoneHeight: 0.12353924 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1848942762 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1848942759} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1881073770 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1881073772} + - component: {fileID: 1881073771} + m_Layer: 0 + m_Name: DollyTrack1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1881073771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1881073770} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a200b19ca1a9685429ed7e043c28e904, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.2 + m_Looped: 0 + m_Waypoints: + - position: {x: 0, y: 0, z: -5} + roll: 0 + - position: {x: 0, y: 0, z: 6.849806} + roll: 0 +--- !u!4 &1881073772 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1881073770} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 14.81, y: 2.46, z: 15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot closest.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot closest.unity.meta new file mode 100644 index 00000000..f3898274 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot closest.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 810de0689ba7a7c47a83ad8d0d6334aa +timeCreated: 1509465715 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot.unity new file mode 100644 index 00000000..753a7c53 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot.unity @@ -0,0 +1,1639 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &6492412 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6492413} + - component: {fileID: 6492417} + - component: {fileID: 6492416} + - component: {fileID: 6492415} + - component: {fileID: 6492414} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6492413 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6492412} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.66, y: 1, z: -12.5} + m_LocalScale: {x: 0.58359337, y: 0.5835933, z: 0.5835933} + m_Children: [] + m_Father: {fileID: 2053145198} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &6492414 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6492412} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!23 &6492415 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6492412} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &6492416 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6492412} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &6492417 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6492412} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &51198891 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 51198895} + - component: {fileID: 51198894} + - component: {fileID: 51198893} + - component: {fileID: 51198892} + m_Layer: 0 + m_Name: Cube (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &51198892 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 51198891} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &51198893 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 51198891} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &51198894 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 51198891} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &51198895 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 51198891} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.2293942, y: 9.38, z: 14.7598915} + m_LocalScale: {x: 0.15605791, y: 6.483311, z: 3.8947444} + m_Children: [] + m_Father: {fileID: 177048762} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &177048761 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 177048762} + m_Layer: 0 + m_Name: Walls + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &177048762 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 177048761} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.2293942, y: -6.454134, z: -0.8598919} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1557142822} + - {fileID: 294787009} + - {fileID: 1132270522} + - {fileID: 51198895} + m_Father: {fileID: 2053145198} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &294787005 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 294787009} + - component: {fileID: 294787008} + - component: {fileID: 294787007} + - component: {fileID: 294787006} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &294787006 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 294787005} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &294787007 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 294787005} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &294787008 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 294787005} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &294787009 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 294787005} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.2293942, y: 9.86, z: 0.76} + m_LocalScale: {x: 0.15605791, y: 7.6163964, z: 3.8947444} + m_Children: [] + m_Father: {fileID: 177048762} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &327844086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 327844090} + - component: {fileID: 327844089} + - component: {fileID: 327844088} + - component: {fileID: 327844087} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &327844087 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0e079ef97504e314080afe2ab2599e87, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &327844088 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &327844089 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &327844090 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 2053145198} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &470754142 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 470754144} + - component: {fileID: 470754143} + m_Layer: 0 + m_Name: CM vcam1 overhead + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &470754143 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 470754142} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 20 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 6492413} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 24 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 488763577} +--- !u!4 &470754144 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 470754142} + m_LocalRotation: {x: -0.0059957323, y: 0.9856556, z: -0.16480674, w: -0.03585981} + m_LocalPosition: {x: 2.2, y: 11.8, z: 26.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 488763577} + m_Father: {fileID: 921351539} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &488763576 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 488763577} + - component: {fileID: 488763580} + - component: {fileID: 488763579} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &488763577 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 488763576} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 470754144} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &488763579 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 488763576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.50131404 + m_ScreenY: 0.3557994 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &488763580 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 488763576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &591947960 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 591947962} + - component: {fileID: 591947961} + m_Layer: 0 + m_Name: CM vcam1 behind + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &591947961 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 591947960} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 6492413} + m_Follow: {fileID: 6492413} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1080694001} +--- !u!4 &591947962 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 591947960} + m_LocalRotation: {x: -0.00025260978, y: 0.045361936, z: 0.00001147051, w: 0.9989706} + m_LocalPosition: {x: -0.66, y: 1.15, z: -16.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1080694001} + m_Father: {fileID: 921351539} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &647251804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 647251806} + - component: {fileID: 647251805} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &647251805 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647251804} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &647251806 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647251804} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2053145198} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &838793305 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 838793306} + - component: {fileID: 838793309} + - component: {fileID: 838793308} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &838793306 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838793305} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1418606829} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &838793308 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838793305} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.4592641 + m_ScreenY: 0.5611286 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &838793309 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838793305} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &921351536 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 921351539} + - component: {fileID: 921351538} + - component: {fileID: 921351537} + m_Layer: 0 + m_Name: CM ClearShot1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &921351537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921351536} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.5 + m_AvoidObstacles: 0 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 0 +--- !u!114 &921351538 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921351536} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d62f748f5292bb343be9e6b0c84416d9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_ShowDebugText: 1 + m_ChildCameras: + - {fileID: 1418606828} + - {fileID: 470754143} + - {fileID: 591947961} + m_ActivateAfter: 0.1 + m_MinDuration: 1 + m_RandomizeChoice: 0 + m_DefaultBlend: + m_Style: 0 + m_Time: 0 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} +--- !u!4 &921351539 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 921351536} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1418606829} + - {fileID: 470754144} + - {fileID: 591947962} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1080694000 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1080694001} + - component: {fileID: 1080694004} + - component: {fileID: 1080694003} + - component: {fileID: 1080694002} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1080694001 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080694000} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 591947962} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1080694002 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080694000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 1 + m_FollowOffset: {x: 0, y: 0.15, z: -4} + m_XDamping: 0 + m_YDamping: 0 + m_ZDamping: 0 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 +--- !u!114 &1080694003 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080694000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.417214 + m_ScreenY: 0.54075253 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1080694004 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080694000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1132270518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1132270522} + - component: {fileID: 1132270521} + - component: {fileID: 1132270520} + - component: {fileID: 1132270519} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1132270519 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1132270518} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1132270520 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1132270518} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1132270521 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1132270518} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1132270522 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1132270518} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.2293942, y: 7.4441338, z: 8.869892} + m_LocalScale: {x: 0.15605791, y: 2.1956646, z: 3.8947444} + m_Children: [] + m_Father: {fileID: 177048762} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1146317598 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1146317601} + - component: {fileID: 1146317600} + - component: {fileID: 1146317599} + m_Layer: 0 + m_Name: TIMELINE world anims + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!95 &1146317599 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146317598} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!320 &1146317600 +PlayableDirector: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146317598} + m_Enabled: 1 + serializedVersion: 3 + m_PlayableAsset: {fileID: 11400000, guid: 5262d1493e5ee44478fc4bd8907b5553, type: 2} + m_InitialState: 1 + m_WrapMode: 2 + m_DirectorUpdateMode: 1 + m_InitialTime: 0 + m_SceneBindings: + - key: {fileID: 0} + value: {fileID: 1146317598} + - key: {fileID: 114822925993111936, guid: 95f8e6de36b55b54f9ccd9b5e3abd49d, type: 2} + value: {fileID: 6492412} + - key: {fileID: 114919537777265502, guid: 95f8e6de36b55b54f9ccd9b5e3abd49d, type: 2} + value: {fileID: 1397234030} + - key: {fileID: 0} + value: {fileID: 1146317598} + - key: {fileID: 114511440093341732, guid: 5262d1493e5ee44478fc4bd8907b5553, type: 2} + value: {fileID: 6492412} + m_ExposedReferences: + m_References: + - a1c2b06877861434b9f5a98128135db3: {fileID: 921351538} +--- !u!4 &1146317601 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146317598} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1397234029 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1397234035} + - component: {fileID: 1397234034} + - component: {fileID: 1397234032} + - component: {fileID: 1397234031} + - component: {fileID: 1397234030} + - component: {fileID: 1397234036} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1397234030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1397234031 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 +--- !u!124 &1397234032 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 +--- !u!20 &1397234034 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 20 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1397234035 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_LocalRotation: {x: -0.004697009, y: 0.9590817, z: -0.015937936, w: -0.2826416} + m_LocalPosition: {x: 13.014894, y: 2.4203663, z: 9.494938} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1397234036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Clear Shot + m_Description: 'Turn this window off by removing the example window script on Main + Camera + + + Scene setup: + + CM ClearShot1 chooses, from among its child + virtual cameras, the one that has the best view of the target. The shot changes + dynamically as the target moves. You can control how the shot choices are made + by adusting settings in the ClearShot camera. + + + The shot evaluation is done + by the CinemachineCollider component on the ClearShot camera. It checks + for target occlusions and downgrades the quality rating of shots that don''t + have a clear view.' +--- !u!1 &1418606827 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1418606829} + - component: {fileID: 1418606828} + m_Layer: 0 + m_Name: CM vcam telephoto + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1418606828 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418606827} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 30 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 6492413} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 20 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 838793306} +--- !u!4 &1418606829 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418606827} + m_LocalRotation: {x: -0.004697009, y: 0.9590817, z: -0.015937936, w: -0.2826416} + m_LocalPosition: {x: 13.014894, y: 2.4203663, z: 9.494938} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 838793306} + m_Father: {fileID: 921351539} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1557142818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1557142822} + - component: {fileID: 1557142821} + - component: {fileID: 1557142820} + - component: {fileID: 1557142819} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1557142819 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557142818} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1557142820 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557142818} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1557142821 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557142818} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1557142822 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557142818} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.2293942, y: 7.4441338, z: -7.94} + m_LocalScale: {x: 0.15605791, y: 2.1956646, z: 3.107117} + m_Children: [] + m_Father: {fileID: 177048762} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2053145197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2053145198} + m_Layer: 0 + m_Name: Enviro + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2053145198 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053145197} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 647251806} + - {fileID: 327844090} + - {fileID: 177048762} + - {fileID: 6492413} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot.unity.meta new file mode 100644 index 00000000..2cc9054e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 413b8252e697cc248bd7f808be30b4bb +timeCreated: 1503672304 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/TIMELINE world animsTimeline.playable b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/TIMELINE world animsTimeline.playable new file mode 100644 index 00000000..53788103 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/TIMELINE world animsTimeline.playable @@ -0,0 +1,216 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 337831424, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} + m_Name: TIMELINE world animsTimeline + m_EditorClassIdentifier: + m_Id: 0 + m_NextId: 0 + m_Tracks: + - {fileID: 114511440093341732} + m_FixedDuration: 0 + m_EditorSettings: + fps: 60 + m_UpdateMode: 0 + m_ParameterName: + m_DurationMode: 0 +--- !u!74 &74923508422926796 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Recorded + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: {x: 0, y: 0, z: -4.1106005} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 14.933333 + value: {x: 0, y: 0, z: 32.4} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 2 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 1 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 14.933333 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 14.933333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 14.933333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -4.1106005 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 14.933333 + value: 32.4 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_GenerateMotionCurves: 1 + m_Events: [] +--- !u!114 &114511440093341732 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1467732076, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} + m_Name: Animation Track1 + m_EditorClassIdentifier: + m_Locked: 0 + m_Muted: 0 + m_Soloed: 0 + m_Height: 0 + m_CustomPlayableFullTypename: + m_AnimClip: {fileID: 74923508422926796} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_OpenClipPreExtrapolation: 1 + m_OpenClipPostExtrapolation: 1 + m_OpenClipOffsetPosition: {x: -0.66, y: 1, z: -12.5} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_OpenClipTimeOffset: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/TIMELINE world animsTimeline.playable.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/TIMELINE world animsTimeline.playable.meta new file mode 100644 index 00000000..be1003fe --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/ClearShot/TIMELINE world animsTimeline.playable.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5262d1493e5ee44478fc4bd8907b5553 +timeCreated: 1510677861 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer Look Ahead.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer Look Ahead.unity new file mode 100644 index 00000000..0723cd7a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer Look Ahead.unity @@ -0,0 +1,618 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 0.24 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 0.471 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.31152043, g: 0.34793591, b: 0.4052284, a: 0.471} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &457536436 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 457536441} + - component: {fileID: 457536440} + - component: {fileID: 457536439} + - component: {fileID: 457536438} + - component: {fileID: 457536437} + - component: {fileID: 457536442} + - component: {fileID: 457536443} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &457536437 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 +--- !u!124 &457536438 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 +--- !u!92 &457536439 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 +--- !u!20 &457536440 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &457536441 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_LocalRotation: {x: 0.0162286, y: -0.6212947, z: 0.012872461, w: 0.7833032} + m_LocalPosition: {x: 0, y: 3.8, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &457536442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &457536443 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Cinemachine Composer Look Ahead + m_Description: "Turn this window off by removing the script on Main Camera\n\nComposer + procedurally tracks any object using compositional \u2018screen space\u2019 framing. + \ It works on the camera\u2019s ORIENTATION only - it does not translate the camera + - that\u2019s what Cinemachine Transposer is for. \n\nLook at: Is this target + you wish to compose (camera rotation)\n\nThe Look Ahead setting will project a + virtual target ahead of the object based on the speed and look ahead setting amount\n" +--- !u!1 &744369521 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 744369522} + - component: {fileID: 744369525} + - component: {fileID: 744369524} + - component: {fileID: 744369523} + - component: {fileID: 744369526} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &744369522 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -27.3, y: 2.5, z: 6.2} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &744369523 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &744369524 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &744369525 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!95 &744369526 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: d8a44ee0b5d2d874f952ffc00abf8298, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!1 &919020597 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 919020598} + - component: {fileID: 919020601} + - component: {fileID: 919020600} + - component: {fileID: 919020599} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &919020598 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &919020599 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &919020600 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &919020601 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1015395329 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1015395330} + - component: {fileID: 1015395331} + - component: {fileID: 1015395332} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1015395330 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1015395329} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1543933883} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1015395331 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1015395329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1015395332 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1015395329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0.3 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0.1 + m_VerticalDamping: 0.5 + m_ScreenX: 0.4948714 + m_ScreenY: 0.5068337 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!1 &1543933881 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1543933883} + - component: {fileID: 1543933882} + m_Layer: 0 + m_Name: VirtualCamera look ahead + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1543933882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1543933881} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 744369522} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1015395330} +--- !u!4 &1543933883 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1543933881} + m_LocalRotation: {x: 0.0162286, y: -0.6212947, z: 0.012872461, w: 0.7833032} + m_LocalPosition: {x: 0, y: 3.8, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1015395330} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1918625293 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1918625295} + - component: {fileID: 1918625294} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1918625294 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1918625293} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 0.9871935, g: 1, b: 0.9999693, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1918625295 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1918625293} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: -40.15918, y: -4.14, z: 119.52011} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer Look Ahead.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer Look Ahead.unity.meta new file mode 100644 index 00000000..316fc097 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer Look Ahead.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61b5ea647cdbb48fdb1a3d2a02c01524 +timeCreated: 1455760058 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer.unity new file mode 100644 index 00000000..50da68df --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer.unity @@ -0,0 +1,630 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 0.24 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 0.471 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.31152043, g: 0.34793591, b: 0.4052284, a: 0.471} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &457536436 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 457536441} + - component: {fileID: 457536440} + - component: {fileID: 457536439} + - component: {fileID: 457536438} + - component: {fileID: 457536437} + - component: {fileID: 457536442} + - component: {fileID: 457536443} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &457536437 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 +--- !u!124 &457536438 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 +--- !u!92 &457536439 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 +--- !u!20 &457536440 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &457536441 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_LocalRotation: {x: 0.016226392, y: -0.6213018, z: 0.012870576, w: 0.7832977} + m_LocalPosition: {x: 0, y: 3.8, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &457536442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &457536443 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Cinemachine Composer + m_Description: "Turn this window off by removing the script on Main Camera\n\nComposer + procedurally tracks any object using compositional \u2018screen space\u2019 framing. + \ It works on the camera\u2019s ORIENTATION only - it does not translate the camera + - that\u2019s what Cinemachine Transposer is for. \n\nLook at: Is this target + you wish to compose (camera rotation)\nFollow: is the object you want the camera + body to follow (camera translation)\n\nComposer Module Settings\nTracked Object + Offset: This allows for offsets from the center of your tracked object in LOCAL + space, for when you want to track the front right headlight of a car or the left + ear of your character or anywhere which isn\u2019t the object center\n\nSoft Dampening: + \ This is how aggressively the camera tracks the subject. It makes the blue overlay + zones \u2018squishy\u2019. 0 = fully hard tracking, it will turn the blue zones + into red zones - the target will not pass into them. Increasing the dampening + value will cause the target to squish into the blue zones which is the same thing + as having the camera lag behind the motion.\n\nSoft/Hard settings: This is where + you setup the screen based compositional controls. Blue areas are soft, red areas + are hard - the target will never enter the red zones. You can create a \u2018dead\u2019 + zone if you open up the soft settings which creates an area on screen where the + camera will ignore motion - great for looping character animation cycles.\n" +--- !u!1 &744369521 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 744369522} + - component: {fileID: 744369525} + - component: {fileID: 744369524} + - component: {fileID: 744369523} + - component: {fileID: 744369526} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &744369522 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -27.3, y: 2.5, z: 6.2} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &744369523 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &744369524 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &744369525 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!95 &744369526 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744369521} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: d8a44ee0b5d2d874f952ffc00abf8298, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!1 &919020597 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 919020598} + - component: {fileID: 919020601} + - component: {fileID: 919020600} + - component: {fileID: 919020599} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &919020598 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &919020599 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &919020600 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &919020601 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1015395329 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1015395330} + - component: {fileID: 1015395331} + - component: {fileID: 1015395332} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1015395330 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1015395329} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1543933883} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1015395331 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1015395329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1015395332 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1015395329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.4948714 + m_ScreenY: 0.5068337 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!1 &1543933881 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1543933883} + - component: {fileID: 1543933882} + m_Layer: 0 + m_Name: VirtualCamera1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1543933882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1543933881} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 744369522} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1015395330} +--- !u!4 &1543933883 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1543933881} + m_LocalRotation: {x: 0.016226392, y: -0.6213018, z: 0.012870576, w: 0.7832977} + m_LocalPosition: {x: 0, y: 3.8, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1015395330} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1918625293 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1918625295} + - component: {fileID: 1918625294} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1918625294 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1918625293} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 0.9871935, g: 1, b: 0.9999693, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1918625295 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1918625293} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: -40.15918, y: -4.14, z: 119.52011} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer.unity.meta new file mode 100644 index 00000000..46b3219c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Composer.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 28d486f6c2c82f1478706265c2a41e9a +timeCreated: 1455760058 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends.meta new file mode 100644 index 00000000..8f2b3aa5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fafef208eb143c446a1eaf40d64a23c6 +folderAsset: yes +timeCreated: 1465501901 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/BlenderSettings.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/BlenderSettings.asset new file mode 100644 index 00000000..777205b6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/BlenderSettings.asset @@ -0,0 +1,59 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36baaa8bdcb9d8b49b9199833965d2c3, type: 3} + m_Name: BlenderSettings + m_EditorClassIdentifier: + m_CustomBlends: + - m_From: '**ANY CAMERA**' + m_To: TURN ME ON CM_1 + m_Blend: + m_Style: 1 + m_Time: 0.5 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - m_From: '**ANY CAMERA**' + m_To: THEN TURN ME ON CM_2 + m_Blend: + m_Style: 0 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - m_From: '**ANY CAMERA**' + m_To: WILL YOU TURN ME ON? CM_3 + m_Blend: + m_Style: 1 + m_Time: 0.5 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - m_From: '**ANY CAMERA**' + m_To: OK TURN ME ON TOO CM_4 + m_Blend: + m_Style: 1 + m_Time: 5 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/BlenderSettings.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/BlenderSettings.asset.meta new file mode 100644 index 00000000..f1faac6b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/BlenderSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1b32c6b3fe085b54b837af3488059b09 +timeCreated: 1465857349 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Custom Blends.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Custom Blends.unity new file mode 100644 index 00000000..504f2319 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Custom Blends.unity @@ -0,0 +1,1209 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 0 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &184583725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 184583729} + - component: {fileID: 184583728} + - component: {fileID: 184583727} + - component: {fileID: 184583726} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &184583726 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184583725} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!135 &184583727 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184583725} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &184583728 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184583725} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &184583729 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 184583725} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -67.4, y: 4.4, z: 1.7} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &244558167 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 244558168} + - component: {fileID: 244558169} + - component: {fileID: 244558170} + - component: {fileID: 244558171} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &244558168 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244558167} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 67.62, y: -4, z: 5.17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 525746656} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &244558169 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244558167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &244558170 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244558167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 90a11b0bd26895e4ab6d8538b8d1e699, type: 2} + m_PivotOffset: {x: 0, y: 0, z: 0} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 + mNoiseOffsets: {x: 0, y: 0, z: 0} +--- !u!114 &244558171 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 244558167} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e8b78ac948f05a46a6d8339a503172b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &374415941 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 374415942} + - component: {fileID: 374415943} + - component: {fileID: 374415944} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &374415942 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 374415941} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 19, y: -1.3, z: -2.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1027301325} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &374415943 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 374415941} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &374415944 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 374415941} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e8b78ac948f05a46a6d8339a503172b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &517757409 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 517757413} + - component: {fileID: 517757412} + - component: {fileID: 517757411} + - component: {fileID: 517757410} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &517757410 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517757409} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &517757411 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517757409} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &517757412 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517757409} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &517757413 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517757409} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.5, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 1681011498} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &525746654 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 525746656} + - component: {fileID: 525746655} + m_Layer: 0 + m_Name: OK TURN ME ON TOO CM_4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &525746655 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 525746654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 517757413} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 244558168} +--- !u!4 &525746656 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 525746654} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -67.62, y: 4, z: -5.17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 244558168} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &543278659 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 543278660} + - component: {fileID: 543278661} + m_Layer: 0 + m_Name: TURN ME ON CM_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &543278660 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 543278659} + m_LocalRotation: {x: 0.052591935, y: 0.70514834, z: -0.052591935, w: 0.7051483} + m_LocalPosition: {x: -50, y: 10, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1022733650} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &543278661 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 543278659} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 517757413} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1022733650} +--- !u!1 &895346856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 895346858} + - component: {fileID: 895346857} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &895346857 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895346856} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &895346858 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895346856} + m_LocalRotation: {x: 0.40821797, y: -0.23456974, z: 0.10938168, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1681011498} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1022733649 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1022733650} + - component: {fileID: 1022733651} + - component: {fileID: 1022733652} + - component: {fileID: 1022733653} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1022733650 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1022733649} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 50, y: -10, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 543278660} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1022733651 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1022733649} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1022733652 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1022733649} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e8b78ac948f05a46a6d8339a503172b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1022733653 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1022733649} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 46965f9cbaf525742a6da4c2172a99cd, type: 2} + m_PivotOffset: {x: 0, y: 0, z: 0} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 + mNoiseOffsets: {x: 0, y: 0, z: 0} +--- !u!1 &1027301323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1027301325} + - component: {fileID: 1027301324} + m_Layer: 0 + m_Name: WILL YOU TURN ME ON? CM_3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1027301324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027301323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 517757413} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 374415942} +--- !u!4 &1027301325 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027301323} + m_LocalRotation: {x: 0.261586, y: 0.35413858, z: -0.10387315, w: 0.8918346} + m_LocalPosition: {x: -27.521635, y: 23.672274, z: -21.0199} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 374415942} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1590460648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1590460649} + - component: {fileID: 1590460652} + - component: {fileID: 1590460651} + - component: {fileID: 1590460650} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1590460649 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590460648} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_Children: [] + m_Father: {fileID: 1681011498} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1590460650 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590460648} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &1590460651 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590460648} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1590460652 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1590460648} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1646404400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1646404405} + - component: {fileID: 1646404404} + - component: {fileID: 1646404402} + - component: {fileID: 1646404401} + - component: {fileID: 1646404406} + - component: {fileID: 1646404407} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1646404401 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1646404400} + m_Enabled: 1 +--- !u!124 &1646404402 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1646404400} + m_Enabled: 1 +--- !u!20 &1646404404 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1646404400} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1646404405 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1646404400} + m_LocalRotation: {x: 0.052591935, y: 0.70514834, z: -0.052591935, w: 0.7051483} + m_LocalPosition: {x: -50, y: 10, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1681011498} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1646404406 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1646404400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 11400000, guid: 1b32c6b3fe085b54b837af3488059b09, type: 2} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1646404407 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1646404400} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Cinemachine State Machine + m_Description: "Here is a very basic State Machine setup which shows how cameras, + blending and priorities work.\n\nStart the scene and then turn on the CM_1 virtual + camera\n\nNow turn on CM_2 camera and watch how it blends. Now turn it off. + See how it takes longer to blend from 1->2 than it does from 2->1? That\u2019s + because there\u2019s a custom blend setup for each of those camera blend possibilities. + You can set any number of custom blends between cameras on the Cinemachine \u2018brain\u2019 + located on the Main Camera\n\nOpen the Custom Blends panel in the Cinemachine + Brain on the Main Camera to see where all this is done\n\nBlend supports wildcards + inputs and outputs where you can setup a specific blend into a particular camera + from ANY other camera, or out of a camera to any other camera. Turn on CM_4 + from any camera and notice it\u2019s a cut." +--- !u!1 &1681011497 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1681011498} + m_Layer: 0 + m_Name: Scene Objects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1681011498 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1681011497} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 517757413} + - {fileID: 895346858} + - {fileID: 1646404405} + - {fileID: 1590460649} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2096049679 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2096049680} + - component: {fileID: 2096049681} + - component: {fileID: 2096049682} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2096049680 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2096049679} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 39.39, y: -29.15, z: -18.61} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2105792059} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2096049681 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2096049679} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &2096049682 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2096049679} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e8b78ac948f05a46a6d8339a503172b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2105792057 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2105792059} + - component: {fileID: 2105792058} + m_Layer: 0 + m_Name: THEN TURN ME ON CM_2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &2105792058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2105792057} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 517757413} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 2096049680} +--- !u!4 &2105792059 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2105792057} + m_LocalRotation: {x: 0.4415668, y: 0.039008148, z: -0.019220231, w: 0.89617395} + m_LocalPosition: {x: -41.62371, y: 124.13648, z: -97.362656} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2096049680} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Custom Blends.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Custom Blends.unity.meta new file mode 100644 index 00000000..95ee690c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Custom Blends.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c865f08a064ad642b085d11fe21a48f +timeCreated: 1465498943 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Noise_CM_4.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Noise_CM_4.asset new file mode 100644 index 00000000..0e372f85 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Noise_CM_4.asset @@ -0,0 +1,42 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b7f59e54f2bfd184b9dd451a678d089b, type: 3} + m_Name: Noise_CM_4 + m_EditorClassIdentifier: + m_Position: [] + m_Orientation: + - X: + Amplitude: 7 + Frequency: 0.1 + Y: + Amplitude: 4 + Frequency: 0.15 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 3 + Frequency: 0.75 + Y: + Amplitude: 1 + Frequency: 0.8 + Z: + Amplitude: 0 + Frequency: 0 + - X: + Amplitude: 1 + Frequency: 1.2 + Y: + Amplitude: 0.8 + Frequency: 1.4 + Z: + Amplitude: 0 + Frequency: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Noise_CM_4.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Noise_CM_4.asset.meta new file mode 100644 index 00000000..35569343 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Custom Blends/Noise_CM_4.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 90a11b0bd26895e4ab6d8538b8d1e699 +timeCreated: 1465867530 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget.meta new file mode 100644 index 00000000..b5d41310 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 954abef5649bc9f408ec38444c3f4f20 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/DualTarget.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/DualTarget.unity new file mode 100644 index 00000000..4f6a1a87 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/DualTarget.unity @@ -0,0 +1,1444 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &73163984 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 73163985} + - component: {fileID: 73163986} + m_Layer: 0 + m_Name: Player + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &73163985 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 73163984} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 990286189} + - {fileID: 487306132} + - {fileID: 665136169} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &73163986 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 73163984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa14cc4c274b78b4c820064214bdbb60, type: 3} + m_Name: + m_EditorClassIdentifier: + Speed: 15 + VelocityDamping: 0.5 + JumpTime: 1 + InputForward: 0 + RotatePlayer: 1 +--- !u!1 &89020953 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 89020957} + - component: {fileID: 89020954} + m_Layer: 0 + m_Name: AimTarget Moved by Mouse + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &89020954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 89020953} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a011386a758cb0d4fb1c134870b847ea, type: 3} + m_Name: + m_EditorClassIdentifier: + Brain: {fileID: 867266298} + ReticleImage: {fileID: 210364288} + AimDistance: 200 + CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + IgnoreTag: Player + VerticalAxis: + Value: 0 + m_SpeedMode: 1 + m_MaxSpeed: 5 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -10 + m_MaxValue: 40 + m_Wrap: 0 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + HorizontalAxis: + Value: 0 + m_SpeedMode: 1 + m_MaxSpeed: 5 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 0 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 +--- !u!4 &89020957 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 89020953} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.2926638, y: 7.05339, z: 187.13129} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1117509595} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &210364287 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 210364288} + - component: {fileID: 210364290} + - component: {fileID: 210364289} + m_Layer: 5 + m_Name: Reticle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &210364288 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210364287} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1117509595} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &210364289 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210364287} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1a1da36a104725048b8d2388fb8d321d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &210364290 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 210364287} + m_CullTransparentMesh: 0 +--- !u!1 &227433047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 227433049} + - component: {fileID: 227433048} + m_Layer: 0 + m_Name: CM Dual Target + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &227433048 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227433047} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 89020957} + m_Follow: {fileID: 73163985} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 492781135} +--- !u!4 &227433049 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227433047} + m_LocalRotation: {x: -0.010564436, y: 0.00078191346, z: 0.000008260938, w: 0.9999439} + m_LocalPosition: {x: -0.023522805, y: 2.7810009, z: -15.040967} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 492781135} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &487306131 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 487306132} + - component: {fileID: 487306135} + - component: {fileID: 487306134} + - component: {fileID: 487306133} + m_Layer: 0 + m_Name: Turret + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &487306132 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 487306131} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.44, z: 0} + m_LocalScale: {x: 0.4, y: 0.45, z: 0.4} + m_Children: [] + m_Father: {fileID: 73163985} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!136 &487306133 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 487306131} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &487306134 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 487306131} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &487306135 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 487306131} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &492781134 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 492781135} + - component: {fileID: 492781138} + - component: {fileID: 492781137} + - component: {fileID: 492781136} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &492781135 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492781134} + m_LocalRotation: {x: -0, y: -1, z: -0, w: 0} + m_LocalPosition: {x: 50.13456, y: -1.8904715, z: 1.7823944} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 227433049} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &492781136 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492781134} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_XDamping: 0.2 + m_YDamping: 0.2 + m_ZDamping: 0.2 + m_TargetMovementOnly: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.65 + m_CameraDistance: 15 + m_DeadZoneWidth: 0.28 + m_DeadZoneHeight: 0.045 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 0.7 + m_SoftZoneHeight: 0.6 + m_BiasX: 0 + m_BiasY: -0.26000008 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 0 + m_GroupFramingSize: 0.8 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 1 + m_MaximumOrthoSize: 5000 +--- !u!114 &492781137 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492781134} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.9 + m_DeadZoneHeight: 0.9 + m_SoftZoneWidth: 0.9 + m_SoftZoneHeight: 0.9 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &492781138 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492781134} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &560812640 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 560812641} + - component: {fileID: 560812644} + - component: {fileID: 560812643} + - component: {fileID: 560812642} + m_Layer: 0 + m_Name: Eyes + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &560812641 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.84, z: -0.22} + m_LocalScale: {x: 0.75, y: 0.19, z: 0.33} + m_Children: [] + m_Father: {fileID: 990286189} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &560812642 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &560812643 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &560812644 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &665136168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 665136169} + - component: {fileID: 665136170} + m_Layer: 0 + m_Name: Gun Points at AimTarget + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &665136169 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665136168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.76, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1558004773} + m_Father: {fileID: 73163985} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &665136170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665136168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6eda78e1c663bae478a6de9e6a29fc51, type: 3} + m_Name: + m_EditorClassIdentifier: + AimTarget: {fileID: 89020957} +--- !u!1 &867266292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 867266297} + - component: {fileID: 867266296} + - component: {fileID: 867266294} + - component: {fileID: 867266293} + - component: {fileID: 867266298} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &867266293 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!124 &867266294 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!20 &867266296 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 50 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &867266297 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_LocalRotation: {x: -0.010564436, y: 0.00078191346, z: 0.000008260938, w: 0.9999439} + m_LocalPosition: {x: -0.023522805, y: 2.7810009, z: -15.040967} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &867266298 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 5 + m_CustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.2868603 + value: 0.9562072 + inSlope: 0.80913305 + outSlope: 0.80913305 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &990286185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 990286189} + - component: {fileID: 990286188} + - component: {fileID: 990286187} + - component: {fileID: 990286186} + m_Layer: 0 + m_Name: Body + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &990286186 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &990286187 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &990286188 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &990286189 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 560812641} + m_Father: {fileID: 73163985} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &1069678018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1069678022} + - component: {fileID: 1069678021} + - component: {fileID: 1069678020} + - component: {fileID: 1069678019} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1069678019 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &1069678020 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1069678021 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1069678022 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1090385218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1090385220} + - component: {fileID: 1090385219} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1090385219 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1090385220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1117509591 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1117509595} + - component: {fileID: 1117509594} + - component: {fileID: 1117509593} + - component: {fileID: 1117509592} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1117509592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1117509591} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1117509593 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1117509591} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1117509594 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1117509591} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1117509595 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1117509591} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 210364288} + m_Father: {fileID: 89020957} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1125605404 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1125605405} + - component: {fileID: 1125605406} + m_Layer: 0 + m_Name: Instructions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1125605405 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1125605404} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 12.67} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1125605406 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1125605404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Dual Target + m_Description: 'Use WASD to move, and mouse to aim. + + + Mouse movement rotates + an invisible 3D Aim Target object around the camera, and the player''s gun has + a script to always point to that target. The vcam setup is: + + + 1. a Composer + with a big dead zone to look at the invisible target. You can reduce the dead + zone to restrict the Aim Target to a specific region of the screen. + + 2. a + Framing Transposer to follow the player + + + This makes the vcam rotate around + the player to keep the AimTarget on screen. + + + The MoveAimTarget script also + places the reticle sprite over the AimTarget, after the CM camera has been positioned. + +' +--- !u!1 &1558004772 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1558004773} + - component: {fileID: 1558004776} + - component: {fileID: 1558004775} + - component: {fileID: 1558004774} + m_Layer: 0 + m_Name: cylinder + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1558004773 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1558004772} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: -0, z: 0.54} + m_LocalScale: {x: 0.1, y: 0.5, z: 0.1} + m_Children: [] + m_Father: {fileID: 665136169} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!136 &1558004774 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1558004772} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5000001 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697} +--- !u!23 &1558004775 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1558004772} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1558004776 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1558004772} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/DualTarget.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/DualTarget.unity.meta new file mode 100644 index 00000000..4f2d5e9f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/DualTarget.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ca6e8a848c4e5af40b4250eda1d5b31f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/MoveAimTarget.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/MoveAimTarget.cs new file mode 100644 index 00000000..ebff5e2f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/MoveAimTarget.cs @@ -0,0 +1,140 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class MoveAimTarget : MonoBehaviour + { + public CinemachineBrain Brain; + public RectTransform ReticleImage; + + [Tooltip("How far to raycast to place the aim target")] + public float AimDistance; + + [Tooltip("Objects on these layers will be detected")] + public LayerMask CollideAgainst; + + [TagField] + [Tooltip("Obstacles with this tag will be ignored. " + + "It's a good idea to set this field to the player's tag")] + public string IgnoreTag = string.Empty; + + /// The Vertical axis. Value is -90..90. Controls the vertical orientation + [Header("Axis Control")] + [Tooltip("The Vertical axis. Value is -90..90. Controls the vertical orientation")] + [AxisStateProperty] + public AxisState VerticalAxis; + + /// The Horizontal axis. Value is -180..180. Controls the horizontal orientation + [Tooltip("The Horizontal axis. Value is -180..180. Controls the horizontal orientation")] + [AxisStateProperty] + public AxisState HorizontalAxis; + + private void OnValidate() + { + VerticalAxis.Validate(); + HorizontalAxis.Validate(); + AimDistance = Mathf.Max(1, AimDistance); + } + + private void Reset() + { + AimDistance = 200; + ReticleImage = null; + CollideAgainst = 1; + IgnoreTag = string.Empty; + + VerticalAxis = new AxisState(-70, 70, false, false, 10f, 0.1f, 0.1f, "Mouse Y", true); + VerticalAxis.m_SpeedMode = AxisState.SpeedMode.InputValueGain; + HorizontalAxis = new AxisState(-180, 180, true, false, 10f, 0.1f, 0.1f, "Mouse X", false); + HorizontalAxis.m_SpeedMode = AxisState.SpeedMode.InputValueGain; + } + + private void OnEnable() + { + CinemachineCore.CameraUpdatedEvent.RemoveListener(PlaceReticle); + CinemachineCore.CameraUpdatedEvent.AddListener(PlaceReticle); + } + + private void OnDisable() + { + CinemachineCore.CameraUpdatedEvent.RemoveListener(PlaceReticle); + } + + private void Update() + { + if (Brain == null) + return; + + HorizontalAxis.Update(Time.deltaTime); + VerticalAxis.Update(Time.deltaTime); + + PlaceTarget(); + } + + private void PlaceTarget() + { + var rot = Quaternion.Euler(VerticalAxis.Value, HorizontalAxis.Value, 0); + var camPos = Brain.CurrentCameraState.RawPosition; + transform.position = GetProjectedAimTarget(camPos + rot * Vector3.forward, camPos); + } + + private Vector3 GetProjectedAimTarget(Vector3 pos, Vector3 camPos) + { + var origin = pos; + var fwd = (pos - camPos).normalized; + pos += AimDistance * fwd; + if (CollideAgainst != 0 && RaycastIgnoreTag( + new Ray(origin, fwd), + out RaycastHit hitInfo, AimDistance, CollideAgainst)) + { + pos = hitInfo.point; + } + + return pos; + } + + private bool RaycastIgnoreTag( + Ray ray, out RaycastHit hitInfo, float rayLength, int layerMask) + { + const float PrecisionSlush = 0.001f; + float extraDistance = 0; + while (Physics.Raycast( + ray, out hitInfo, rayLength, layerMask, + QueryTriggerInteraction.Ignore)) + { + if (IgnoreTag.Length == 0 || !hitInfo.collider.CompareTag(IgnoreTag)) + { + hitInfo.distance += extraDistance; + return true; + } + + // Ignore the hit. Pull ray origin forward in front of obstacle + Ray inverseRay = new Ray(ray.GetPoint(rayLength), -ray.direction); + if (!hitInfo.collider.Raycast(inverseRay, out hitInfo, rayLength)) + break; + float deltaExtraDistance = rayLength - (hitInfo.distance - PrecisionSlush); + if (deltaExtraDistance < PrecisionSlush) + break; + extraDistance += deltaExtraDistance; + rayLength = hitInfo.distance - PrecisionSlush; + if (rayLength < PrecisionSlush) + break; + ray.origin = inverseRay.GetPoint(rayLength); + } + + return false; + } + + void PlaceReticle(CinemachineBrain brain) + { + if (brain == null || brain != Brain || ReticleImage == null || brain.OutputCamera == null) + return; + PlaceTarget(); // To eliminate judder + CameraState state = brain.CurrentCameraState; + var cam = brain.OutputCamera; + var r = cam.WorldToScreenPoint(transform.position); + var r2 = new Vector2(r.x - cam.pixelWidth * 0.5f, r.y - cam.pixelHeight * 0.5f); + ReticleImage.anchoredPosition = r2; + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/MoveAimTarget.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/MoveAimTarget.cs.meta new file mode 100644 index 00000000..adf123e6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/MoveAimTarget.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a011386a758cb0d4fb1c134870b847ea +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/PointAtAimTarget.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/PointAtAimTarget.cs new file mode 100644 index 00000000..593a12cd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/PointAtAimTarget.cs @@ -0,0 +1,17 @@ +using UnityEngine; + +public class PointAtAimTarget : MonoBehaviour +{ + [Tooltip("This object represents the aim target. We always point toeards this")] + public Transform AimTarget; + + void Update() + { + // Aim at the aim target + if (AimTarget == null) + return; + var dir = AimTarget.position - transform.position; + if (dir.sqrMagnitude > 0.01f) + transform.rotation = Quaternion.LookRotation(dir); + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/PointAtAimTarget.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/PointAtAimTarget.cs.meta new file mode 100644 index 00000000..b6df7dc7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/DualTarget/PointAtAimTarget.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6eda78e1c663bae478a6de9e6a29fc51 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects.meta new file mode 100644 index 00000000..74e6b7bb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56e4e49789511bd478ce529764570534 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/CinemachineFadeOutNearbyObjects.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/CinemachineFadeOutNearbyObjects.cs new file mode 100644 index 00000000..fbe2c26d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/CinemachineFadeOutNearbyObjects.cs @@ -0,0 +1,82 @@ +using System; +using UnityEngine; + +namespace Cinemachine.Examples +{ + /// + /// An example add-on module for Cinemachine Virtual Camera for controlling + /// the FadeOut shader included in our example package. + /// + [AddComponentMenu("")] // Hide in menu + [ExecuteAlways] + public class CinemachineFadeOutNearbyObjects : CinemachineExtension + { + /// + /// Radius of the look at target. + /// + [Tooltip("Radius of the look at target.")] + public float m_LookAtTargetRadius = 1; + + /// + /// Minimum distance to have fading out effect in front of the camera. + /// + [Tooltip("Minimum distance to have fading out effect in front of the camera.")] + public float m_MinDistance = 0; + + /// + /// Maximum distance to have fading out effect in front of the camera. + /// + [Tooltip("Maximum distance to have fading out effect in front of the camera.")] + public float m_MaxDistance = 8; + + /// + /// If true, m_MaxDistance will be set to + /// distance between this virtual camera and LookAt target minus m_LookAtTargetRadius. + /// + [Tooltip("If true, MaxDistance will be set to " + + "distance between this virtual camera and LookAt target minus LookAtTargetRadius.")] + public bool m_SetToCameraToLookAtDistance = false; + + /// + /// Material using the FadeOut shader. + /// + [Tooltip("Material using the FadeOut shader.")] + public Material m_FadeOutMaterial; + + static readonly int k_MaxDistanceID = Shader.PropertyToID("_MaxDistance"); + static readonly int k_MinDistanceID = Shader.PropertyToID("_MinDistance"); + + /// + /// Updates FadeOut shader on the specified FadeOutMaterial. + /// + /// The virtual camera being processed + /// The current pipeline stage + /// The current virtual camera state + /// The current applicable deltaTime + protected override void PostPipelineStageCallback( + CinemachineVirtualCameraBase vcam, + CinemachineCore.Stage stage, ref CameraState state, float deltaTime) + { + if (stage == CinemachineCore.Stage.Finalize) + { + if (m_FadeOutMaterial == null || !m_FadeOutMaterial.HasProperty(k_MaxDistanceID) || + !m_FadeOutMaterial.HasProperty(k_MinDistanceID)) return; + + if (m_SetToCameraToLookAtDistance && vcam.LookAt != null) + { + m_MaxDistance = Vector3.Distance(vcam.transform.position, vcam.LookAt.position) - m_LookAtTargetRadius; + } + + m_FadeOutMaterial.SetFloat(k_MaxDistanceID, m_MaxDistance); + m_FadeOutMaterial.SetFloat(k_MinDistanceID, m_MinDistance); + } + } + + void OnValidate() + { + m_LookAtTargetRadius = Math.Max(0, m_LookAtTargetRadius); + m_MinDistance = Math.Max(0, m_MinDistance); + m_MaxDistance = Math.Max(0, m_MaxDistance); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/CinemachineFadeOutNearbyObjects.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/CinemachineFadeOutNearbyObjects.cs.meta new file mode 100644 index 00000000..c8399a31 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/CinemachineFadeOutNearbyObjects.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3d881864f964441db82e075e58d1ee01 +timeCreated: 1611253266 \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.mat new file mode 100644 index 00000000..09729d54 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.mat @@ -0,0 +1,80 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FadeOut + m_Shader: {fileID: 4800000, guid: 9392babd99652479d80820a9a52efdd6, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _MaxDistance: 15.221463 + - _Metallic: 0 + - _MinDistance: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.mat.meta new file mode 100644 index 00000000..3deec163 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c43213e1494d8486881b6aa626ebee03 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.shader b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.shader new file mode 100644 index 00000000..f7f3bbf7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.shader @@ -0,0 +1,40 @@ +Shader "Custom/FadeOut" { + Properties { + _Color ("Color", Color) = (1,1,1,1) + _MainTex ("Albedo (RGB)", 2D) = "white" {} + _MinDistance ("Minimum Distance", float) = 2 + _MaxDistance ("Maximum Distance", float) = 3 + } + SubShader { + Tags { "Queue"="Transparent" "RenderType"="Transparent" } + + Pass { + ZWrite Off + ColorMask 0 + } + + CGPROGRAM + #pragma surface surf Lambert alpha:fade + #pragma target 3.0 + sampler2D _MainTex; + struct Input { + float2 uv_MainTex; + float3 worldPos; + }; + float _MinDistance; + float _MaxDistance; + fixed4 _Color; + void surf (Input IN, inout SurfaceOutput o) { + fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color; + o.Albedo = c.rgb; + + // help: https://developer.download.nvidia.com/cg/index_stdlib.html + float distanceFromCamera = distance(IN.worldPos, _WorldSpaceCameraPos); + float fade = saturate((distanceFromCamera - _MinDistance) / _MaxDistance); + + o.Alpha = c.a * fade; + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.shader.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.shader.meta new file mode 100644 index 00000000..dfbbaa3e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOut.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 9392babd99652479d80820a9a52efdd6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOutNearbyObjects.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOutNearbyObjects.unity new file mode 100644 index 00000000..afc8af12 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOutNearbyObjects.unity @@ -0,0 +1,5730 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: bcb0c0881649e334c854cf9afc39d25b, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &22708565 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22708566} + - component: {fileID: 22708568} + - component: {fileID: 22708567} + m_Layer: 0 + m_Name: Cylinder (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &22708566 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 22708565} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -6.5, y: 1, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 21 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &22708567 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 22708565} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &22708568 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 22708565} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &45194507 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 45194508} + - component: {fileID: 45194510} + - component: {fileID: 45194509} + m_Layer: 0 + m_Name: Cylinder (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &45194508 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 45194507} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -10.3, y: 1, z: 3.6} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 25 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &45194509 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 45194507} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &45194510 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 45194507} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &82593607 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 82593608} + - component: {fileID: 82593610} + - component: {fileID: 82593609} + m_Layer: 0 + m_Name: Cylinder (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &82593608 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 82593607} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8.9, y: 1, z: 3.9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &82593609 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 82593607} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &82593610 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 82593607} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &110956105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 110956106} + - component: {fileID: 110956108} + - component: {fileID: 110956107} + m_Layer: 0 + m_Name: Cylinder (23) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &110956106 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110956105} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.0199995, y: 1, z: 3.3800006} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 16 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &110956107 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110956105} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &110956108 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110956105} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &199725281 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 199725283} + - component: {fileID: 199725282} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &199725282 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199725281} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Transitions + - m_Follow + - m_StandbyUpdate + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.1794333, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1164793095} +--- !u!4 &199725283 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 199725281} + m_LocalRotation: {x: 0.07827227, y: 0.4598856, z: -0.040739004, w: 0.88358307} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1164793095} + m_Father: {fileID: 385349250} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &216482494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 216482495} + - component: {fileID: 216482497} + - component: {fileID: 216482496} + m_Layer: 0 + m_Name: Cylinder (47) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &216482495 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 216482494} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6.3099995, y: 1, z: -10.71} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 46 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &216482496 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 216482494} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &216482497 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 216482494} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &236553246 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 236553247} + - component: {fileID: 236553249} + - component: {fileID: 236553248} + m_Layer: 0 + m_Name: Cylinder (41) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &236553247 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 236553246} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.1, y: 1, z: -13.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 40 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &236553248 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 236553246} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &236553249 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 236553246} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &260054588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 260054589} + - component: {fileID: 260054591} + - component: {fileID: 260054590} + m_Layer: 0 + m_Name: Cylinder (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &260054589 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 260054588} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.69, y: 1, z: -4.41} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 19 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &260054590 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 260054588} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &260054591 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 260054588} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &320491649 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 320491650} + - component: {fileID: 320491652} + - component: {fileID: 320491651} + m_Layer: 0 + m_Name: Cylinder (31) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &320491650 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320491649} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.99, y: 1, z: 3.6000004} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 30 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &320491651 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320491649} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &320491652 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320491649} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &327251365 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 327251366} + - component: {fileID: 327251368} + - component: {fileID: 327251367} + m_Layer: 0 + m_Name: Cylinder (28) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &327251366 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327251365} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -9.110001, y: 1, z: 3.0099998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 27 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &327251367 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327251365} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &327251368 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327251365} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &377809080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 377809081} + - component: {fileID: 377809083} + - component: {fileID: 377809082} + m_Layer: 0 + m_Name: Cylinder (19) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &377809081 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 377809080} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8.8, y: 1, z: -14.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &377809082 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 377809080} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &377809083 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 377809080} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &385349248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 385349250} + - component: {fileID: 385349249} + - component: {fileID: 385349251} + m_Layer: 0 + m_Name: CM FreeLook1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &385349249 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 385349248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 990286189} + m_Follow: {fileID: 990286189} + m_CommonLens: 1 + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.1794333, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_YAxis: + Value: 0.5 + m_SpeedMode: 0 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertInput: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_Wrap: 0 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_YAxisRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 0 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 0.2 + m_Orbits: + - m_Height: 15.59 + m_Radius: 8 + - m_Height: 2.5 + m_Radius: 14 + - m_Height: -0.61 + m_Radius: 8 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 199725282} + - {fileID: 551194884} + - {fileID: 1169215562} +--- !u!4 &385349250 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 385349248} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -11.467005, y: 3.5, z: -4.231675} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 199725283} + - {fileID: 551194885} + - {fileID: 1169215563} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &385349251 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 385349248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3d881864f964441db82e075e58d1ee01, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LookAtTargetRadius: -1 + m_MinDistance: 0 + m_MaxDistance: 15.221463 + m_SetToCameraToLookAtDistance: 1 + m_FadeOutMaterial: {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} +--- !u!1 &402555472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 402555473} + - component: {fileID: 402555475} + - component: {fileID: 402555474} + m_Layer: 0 + m_Name: Cylinder (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &402555473 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 402555472} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -6.5, y: 1, z: -6.1099997} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 20 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &402555474 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 402555472} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &402555475 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 402555472} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &422851032 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 422851033} + - component: {fileID: 422851035} + - component: {fileID: 422851034} + m_Layer: 0 + m_Name: Cylinder (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &422851033 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422851032} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.2, y: 1, z: -0.8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &422851034 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422851032} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &422851035 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422851032} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &452660249 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 452660250} + - component: {fileID: 452660252} + - component: {fileID: 452660251} + m_Layer: 0 + m_Name: Cylinder (27) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &452660250 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 452660249} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8.8, y: 1, z: -15.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 17 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &452660251 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 452660249} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &452660252 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 452660249} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &551194883 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 551194885} + - component: {fileID: 551194884} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &551194884 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 551194883} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Transitions + - m_Follow + - m_StandbyUpdate + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.1794333, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1544289243} +--- !u!4 &551194885 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 551194883} + m_LocalRotation: {x: 0.062187385, y: 0.46055058, z: -0.03236717, w: 0.88486063} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1544289243} + m_Father: {fileID: 385349250} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &560812640 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 560812641} + - component: {fileID: 560812644} + - component: {fileID: 560812643} + - component: {fileID: 560812642} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &560812641 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0.46, z: 0.35} + m_LocalScale: {x: 0.75, y: 0.19, z: 0.33} + m_Children: [] + m_Father: {fileID: 990286189} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!23 &560812642 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &560812643 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &560812644 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &582982895 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 582982896} + - component: {fileID: 582982898} + - component: {fileID: 582982897} + m_Layer: 0 + m_Name: Cylinder (40) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &582982896 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582982895} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.22, y: 1, z: -13.79} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 39 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &582982897 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582982895} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &582982898 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582982895} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &589047518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 589047519} + - component: {fileID: 589047521} + - component: {fileID: 589047520} + m_Layer: 0 + m_Name: Cylinder (38) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &589047519 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589047518} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.41, y: 1, z: -13.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 37 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &589047520 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589047518} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &589047521 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589047518} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &624572834 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 624572838} + - component: {fileID: 624572837} + - component: {fileID: 624572836} + - component: {fileID: 624572835} + m_Layer: 0 + m_Name: Wall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &624572835 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 624572834} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &624572836 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 624572834} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &624572837 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 624572834} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &624572838 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 624572834} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 8} + m_LocalScale: {x: 30, y: 4, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 47 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &728965954 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 728965955} + - component: {fileID: 728965957} + - component: {fileID: 728965956} + m_Layer: 0 + m_Name: Cylinder (35) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &728965955 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 728965954} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8.91, y: 1, z: -10.63} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 34 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &728965956 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 728965954} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &728965957 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 728965954} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &743369279 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 743369280} + - component: {fileID: 743369282} + - component: {fileID: 743369281} + m_Layer: 0 + m_Name: Cylinder (26) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &743369280 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 743369279} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -10.3, y: 1, z: 4.7099996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 26 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &743369281 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 743369279} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &743369282 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 743369279} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &778346517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 778346518} + - component: {fileID: 778346520} + - component: {fileID: 778346519} + m_Layer: 0 + m_Name: Cylinder (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &778346518 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 778346517} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.99000007, y: 1, z: -0.2099998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &778346519 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 778346517} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &778346520 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 778346517} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &781284707 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 781284708} + - component: {fileID: 781284710} + - component: {fileID: 781284709} + m_Layer: 0 + m_Name: Cylinder (43) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &781284708 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781284707} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3.9999995, y: 1, z: -9.51} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 42 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &781284709 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781284707} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &781284710 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781284707} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &787228357 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 787228358} + - component: {fileID: 787228360} + - component: {fileID: 787228359} + m_Layer: 0 + m_Name: Cylinder (34) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &787228358 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 787228357} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8.91, y: 1, z: -11.74} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 33 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &787228359 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 787228357} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &787228360 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 787228357} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &793091163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 793091164} + - component: {fileID: 793091166} + - component: {fileID: 793091165} + m_Layer: 0 + m_Name: Cylinder (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &793091164 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793091163} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.19999999, y: 1, z: 0.3800001} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &793091165 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793091163} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &793091166 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 793091163} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &822020107 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 822020108} + - component: {fileID: 822020110} + - component: {fileID: 822020109} + m_Layer: 0 + m_Name: Cylinder (45) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &822020108 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 822020107} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.1899996, y: 1, z: -10.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 44 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &822020109 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 822020107} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &822020110 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 822020107} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &866073646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 866073647} + - component: {fileID: 866073649} + - component: {fileID: 866073648} + m_Layer: 0 + m_Name: Cylinder (18) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &866073647 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 866073646} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -6.5, y: 1, z: -3.82} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 22 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &866073648 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 866073646} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &866073649 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 866073646} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &867266292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 867266297} + - component: {fileID: 867266296} + - component: {fileID: 867266294} + - component: {fileID: 867266293} + - component: {fileID: 867266295} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &867266293 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!124 &867266294 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!114 &867266295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!20 &867266296 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &867266297 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_LocalRotation: {x: 0.06218739, y: 0.46055058, z: -0.03236718, w: 0.8848606} + m_LocalPosition: {x: -11.467005, y: 3.5, z: -4.231675} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 11.276001, y: 0, z: 0} +--- !u!1 &986133556 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 986133557} + - component: {fileID: 986133559} + - component: {fileID: 986133558} + m_Layer: 0 + m_Name: Cylinder (44) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &986133557 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 986133556} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3.9999995, y: 1, z: -10.71} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 43 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &986133558 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 986133556} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &986133559 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 986133556} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &990286185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 990286189} + - component: {fileID: 990286188} + - component: {fileID: 990286187} + - component: {fileID: 990286186} + - component: {fileID: 990286190} + m_Layer: 0 + m_Name: Player + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &990286186 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &990286187 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &990286188 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &990286189 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 3.8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 560812641} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &990286190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa14cc4c274b78b4c820064214bdbb60, type: 3} + m_Name: + m_EditorClassIdentifier: + Speed: 20 + VelocityDamping: 0.2 + JumpTime: 1 + InputForward: 0 + RotatePlayer: 1 +--- !u!1 &992678725 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 992678726} + - component: {fileID: 992678728} + - component: {fileID: 992678727} + m_Layer: 0 + m_Name: Cylinder (37) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &992678726 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 992678725} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.03, y: 1, z: -11.15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 36 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &992678727 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 992678725} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &992678728 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 992678725} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1039741732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1039741733} + - component: {fileID: 1039741735} + - component: {fileID: 1039741734} + m_Layer: 0 + m_Name: Cylinder (46) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1039741733 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039741732} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6.31, y: 1, z: -9.51} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 45 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1039741734 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039741732} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1039741735 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1039741732} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1069678018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1069678022} + - component: {fileID: 1069678021} + - component: {fileID: 1069678020} + - component: {fileID: 1069678019} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1069678019 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1069678020 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1069678021 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1069678022 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1090385218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1090385220} + - component: {fileID: 1090385219} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1090385219 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 0.75 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1090385220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1164793094 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1164793095} + - component: {fileID: 1164793098} + - component: {fileID: 1164793097} + - component: {fileID: 1164793096} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1164793095 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1164793094} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 199725283} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1164793096 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1164793094} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1164793097 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1164793094} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 2.5, z: -14} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 0 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1164793098 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1164793094} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1169215561 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1169215563} + - component: {fileID: 1169215562} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1169215562 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1169215561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Transitions + - m_Follow + - m_StandbyUpdate + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.1794333, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1527207119} +--- !u!4 &1169215563 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1169215561} + m_LocalRotation: {x: 0.04612449, y: 0.46106195, z: -0.024006788, w: 0.88584316} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1527207119} + m_Father: {fileID: 385349250} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1197501360 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1197501361} + m_Layer: 0 + m_Name: FadeOutObjects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1197501361 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1197501360} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 2, z: 1} + m_Children: + - {fileID: 1711408058} + - {fileID: 1636668048} + - {fileID: 778346518} + - {fileID: 1287566466} + - {fileID: 1918054066} + - {fileID: 1483126760} + - {fileID: 2080844498} + - {fileID: 2053573969} + - {fileID: 422851033} + - {fileID: 793091164} + - {fileID: 1257971569} + - {fileID: 82593608} + - {fileID: 377809081} + - {fileID: 1975371572} + - {fileID: 2100120099} + - {fileID: 2113110401} + - {fileID: 110956106} + - {fileID: 452660250} + - {fileID: 1687225350} + - {fileID: 260054589} + - {fileID: 402555473} + - {fileID: 22708566} + - {fileID: 866073647} + - {fileID: 1214348088} + - {fileID: 1945857669} + - {fileID: 45194508} + - {fileID: 743369280} + - {fileID: 327251366} + - {fileID: 1479997786} + - {fileID: 1929142129} + - {fileID: 320491650} + - {fileID: 2064769089} + - {fileID: 1506948289} + - {fileID: 787228358} + - {fileID: 728965955} + - {fileID: 1348202030} + - {fileID: 992678726} + - {fileID: 589047519} + - {fileID: 2112631191} + - {fileID: 582982896} + - {fileID: 236553247} + - {fileID: 2030386819} + - {fileID: 781284708} + - {fileID: 986133557} + - {fileID: 822020108} + - {fileID: 1039741733} + - {fileID: 216482495} + - {fileID: 624572838} + - {fileID: 1781798043} + - {fileID: 1601848484} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1214348087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1214348088} + - component: {fileID: 1214348090} + - component: {fileID: 1214348089} + m_Layer: 0 + m_Name: Cylinder (24) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1214348088 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1214348087} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.38, y: 1, z: -5.52} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 23 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1214348089 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1214348087} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1214348090 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1214348087} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1257971568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1257971569} + - component: {fileID: 1257971571} + - component: {fileID: 1257971570} + m_Layer: 0 + m_Name: Cylinder (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1257971569 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257971568} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8.9, y: 1, z: 2.7900004} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1257971570 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257971568} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1257971571 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257971568} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1287566465 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1287566466} + - component: {fileID: 1287566468} + - component: {fileID: 1287566467} + m_Layer: 0 + m_Name: Cylinder (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1287566466 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287566465} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 7.7099996, y: 1, z: 3.3800006} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1287566467 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287566465} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1287566468 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287566465} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1348202029 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1348202030} + - component: {fileID: 1348202032} + - component: {fileID: 1348202031} + m_Layer: 0 + m_Name: Cylinder (36) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1348202030 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1348202029} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.03, y: 1, z: -12.35} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 35 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1348202031 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1348202029} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1348202032 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1348202029} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1479997785 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1479997786} + - component: {fileID: 1479997788} + - component: {fileID: 1479997787} + m_Layer: 0 + m_Name: Cylinder (29) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1479997786 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1479997785} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -9.110001, y: 1, z: 4.1199994} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 28 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1479997787 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1479997785} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1479997788 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1479997785} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1483126759 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1483126760} + - component: {fileID: 1483126762} + - component: {fileID: 1483126761} + m_Layer: 0 + m_Name: Cylinder (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1483126760 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1483126759} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6.4900002, y: 1, z: -15.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1483126761 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1483126759} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1483126762 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1483126759} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1506948288 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1506948289} + - component: {fileID: 1506948291} + - component: {fileID: 1506948290} + m_Layer: 0 + m_Name: Cylinder (33) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1506948289 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1506948288} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 7.72, y: 1, z: -10.04} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 32 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1506948290 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1506948288} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1506948291 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1506948288} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1527207118 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1527207119} + - component: {fileID: 1527207122} + - component: {fileID: 1527207121} + - component: {fileID: 1527207120} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1527207119 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1527207118} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1169215563} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1527207120 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1527207118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.6 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1527207121 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1527207118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 2.5, z: -14} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 0 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1527207122 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1527207118} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1544289242 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1544289243} + - component: {fileID: 1544289246} + - component: {fileID: 1544289245} + - component: {fileID: 1544289244} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1544289243 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1544289242} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 551194885} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1544289244 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1544289242} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.55 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1544289245 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1544289242} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 2.5, z: -14} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 0 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1544289246 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1544289242} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1601848483 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1601848484} + - component: {fileID: 1601848487} + - component: {fileID: 1601848486} + - component: {fileID: 1601848485} + m_Layer: 0 + m_Name: Wall (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1601848484 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601848483} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 14.5, y: 2, z: -0.5} + m_LocalScale: {x: 16, y: 4, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 49 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!65 &1601848485 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601848483} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1601848486 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601848483} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1601848487 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1601848483} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1636668047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1636668048} + - component: {fileID: 1636668050} + - component: {fileID: 1636668049} + m_Layer: 0 + m_Name: Cylinder (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1636668048 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1636668047} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.99000007, y: 1, z: -1.3199999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1636668049 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1636668047} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1636668050 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1636668047} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1687225349 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1687225350} + - component: {fileID: 1687225352} + - component: {fileID: 1687225351} + m_Layer: 0 + m_Name: Cylinder (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1687225350 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1687225349} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.69, y: 1, z: -5.52} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 18 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1687225351 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1687225349} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1687225352 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1687225349} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1711408057 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1711408058} + - component: {fileID: 1711408060} + - component: {fileID: 1711408059} + m_Layer: 0 + m_Name: Cylinder (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1711408058 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1711408057} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6.4900002, y: 1, z: -14.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1711408059 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1711408057} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1711408060 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1711408057} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1781798042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1781798043} + - component: {fileID: 1781798046} + - component: {fileID: 1781798045} + - component: {fileID: 1781798044} + m_Layer: 0 + m_Name: Wall (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1781798043 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781798042} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: -14.5, y: 2, z: -0.5} + m_LocalScale: {x: 16, y: 4, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 48 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!65 &1781798044 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781798042} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1781798045 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781798042} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1781798046 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1781798042} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1918054065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1918054066} + - component: {fileID: 1918054068} + - component: {fileID: 1918054067} + m_Layer: 0 + m_Name: Cylinder (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1918054066 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1918054065} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 7.7099996, y: 1, z: 4.4900002} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1918054067 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1918054065} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1918054068 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1918054065} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1929142128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1929142129} + - component: {fileID: 1929142131} + - component: {fileID: 1929142130} + m_Layer: 0 + m_Name: Cylinder (30) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1929142129 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1929142128} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.9900002, y: 1, z: 2.3999996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 29 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1929142130 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1929142128} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1929142131 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1929142128} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1945857668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1945857669} + - component: {fileID: 1945857671} + - component: {fileID: 1945857670} + m_Layer: 0 + m_Name: Cylinder (25) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1945857669 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1945857668} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.38, y: 1, z: -4.41} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 24 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1945857670 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1945857668} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1945857671 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1945857668} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1975371571 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1975371572} + - component: {fileID: 1975371574} + - component: {fileID: 1975371573} + m_Layer: 0 + m_Name: Cylinder (20) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1975371572 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1975371571} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.3199999, y: 1, z: -1.3199999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1975371573 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1975371571} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1975371574 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1975371571} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2030386818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2030386819} + - component: {fileID: 2030386821} + - component: {fileID: 2030386820} + m_Layer: 0 + m_Name: Cylinder (42) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2030386819 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2030386818} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.1000001, y: 1, z: -14.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 41 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2030386820 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2030386818} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2030386821 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2030386818} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2034178982 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2034178984} + - component: {fileID: 2034178983} + m_Layer: 0 + m_Name: Directional Light (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &2034178983 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2034178982} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 0.25 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &2034178984 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2034178982} + m_LocalRotation: {x: 0.45347464, y: 0.2285237, z: -0.12150819, w: 0.8528619} + m_LocalPosition: {x: -9.8, y: -20.3, z: 16.9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 56, y: 30, z: 0} +--- !u!1 &2053573968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2053573969} + - component: {fileID: 2053573971} + - component: {fileID: 2053573970} + m_Layer: 0 + m_Name: Cylinder (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2053573969 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053573968} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.19999999, y: 1, z: -1.9100001} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2053573970 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053573968} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2053573971 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053573968} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2064769088 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2064769089} + - component: {fileID: 2064769091} + - component: {fileID: 2064769090} + m_Layer: 0 + m_Name: Cylinder (32) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2064769089 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064769088} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 7.72, y: 1, z: -11.15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 31 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2064769090 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064769088} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2064769091 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064769088} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2080844497 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2080844498} + - component: {fileID: 2080844500} + - component: {fileID: 2080844499} + m_Layer: 0 + m_Name: Cylinder (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2080844498 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080844497} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 7.6800003, y: 1, z: -14.89} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2080844499 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080844497} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2080844500 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080844497} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2100120098 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2100120099} + - component: {fileID: 2100120101} + - component: {fileID: 2100120100} + m_Layer: 0 + m_Name: Cylinder (21) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2100120099 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2100120098} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.3199999, y: 1, z: -0.2099998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2100120100 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2100120098} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2100120101 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2100120098} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2112631190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2112631191} + - component: {fileID: 2112631193} + - component: {fileID: 2112631192} + m_Layer: 0 + m_Name: Cylinder (39) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2112631191 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2112631190} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.41, y: 1, z: -14.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 38 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2112631192 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2112631190} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2112631193 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2112631190} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2113110400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2113110401} + - component: {fileID: 2113110403} + - component: {fileID: 2113110402} + m_Layer: 0 + m_Name: Cylinder (22) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2113110401 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2113110400} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.0199995, y: 1, z: 2.1800003} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1197501361} + m_RootOrder: 15 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2113110402 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2113110400} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c43213e1494d8486881b6aa626ebee03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2113110403 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2113110400} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2145189104 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2145189106} + - component: {fileID: 2145189105} + m_Layer: 0 + m_Name: Instructions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2145189105 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2145189104} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Fade Out Nearby Objects + m_Description: "Use WASD to move, and mouse to aim.\n\nThe example shows how you + can fade out objects between the camera and the target using a shader, and how + you can control shader parameters from a cinemachine extension. \n\nThe Freelook + camera has the CinemachineFadeOutNearbyObjects extension, and all children gameObjects + of FadeOutObjects use the FadeOut material.\n" +--- !u!4 &2145189106 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2145189104} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 12.67} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOutNearbyObjects.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOutNearbyObjects.unity.meta new file mode 100644 index 00000000..b22630da --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FadeOutNearbyObjects/FadeOutNearbyObjects.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 66e41717fb9b345fba6a187d1a1b8ff5 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam Simple Follow.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam Simple Follow.unity new file mode 100644 index 00000000..e1f85589 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam Simple Follow.unity @@ -0,0 +1,956 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &83712582 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 83712583} + - component: {fileID: 83712586} + - component: {fileID: 83712585} + - component: {fileID: 83712584} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &83712583 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83712582} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.43376404, y: 0.08929449, z: 1.3774897} + m_Children: [] + m_Father: {fileID: 1327453126} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &83712584 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83712582} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &83712585 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83712582} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &83712586 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83712582} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &327844086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 327844090} + - component: {fileID: 327844089} + - component: {fileID: 327844088} + - component: {fileID: 327844087} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &327844087 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0e079ef97504e314080afe2ab2599e87, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &327844088 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &327844089 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &327844090 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 2053145198} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &647251804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 647251806} + - component: {fileID: 647251805} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &647251805 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647251804} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &647251806 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 647251804} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2053145198} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &650012729 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 650012731} + - component: {fileID: 650012730} + m_Layer: 0 + m_Name: Path + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &650012730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 650012729} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d37e5385efd7064cb1d54c94960acae, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.2 + m_Looped: 1 + m_Waypoints: + - position: {x: -8.83632, y: -3.7552004, z: -1.2907581} + tangent: {x: 7.540356, y: -0.12252903, z: 0} + roll: 0 + - position: {x: 5.833762, y: 0, z: 8.117491} + tangent: {x: 5.838949, y: -0.4537163, z: 0.2872162} + roll: -45 + - position: {x: 20, y: -0.5047379, z: -0.6248589} + tangent: {x: 7.24297, y: -0.005663872, z: 1.806755} + roll: 30 + - position: {x: 29.446022, y: -6.1275883, z: 11.930257} + tangent: {x: 1.245777, y: -0.9081688, z: 6.846738} + roll: 30 + - position: {x: 23.41989, y: 0, z: 38.23446} + tangent: {x: -8.727499, y: -0.05312538, z: 8.269756} + roll: 16.41 + - position: {x: -14.884913, y: -1.2871857, z: 36.981667} + tangent: {x: -9.707009, y: 0, z: -4.263275} + roll: 40 + - position: {x: -26.01329, y: 0, z: 10.762024} + tangent: {x: 4.519011, y: 0, z: -11.064621} + roll: 30 +--- !u!4 &650012731 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 650012729} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.3, y: 12.9, z: -21.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1327453125 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1327453126} + - component: {fileID: 1327453127} + m_Layer: 0 + m_Name: Vehicle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1327453126 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327453125} + m_LocalRotation: {x: 0.005744592, y: 0.70708346, z: -0.005744592, w: 0.70708346} + m_LocalPosition: {x: -12.13632, y: 9.144799, z: -22.490759} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 83712583} + - {fileID: 1723029655} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1327453127 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327453125} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 650012730} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 10 + m_Position: 0 +--- !u!1 &1397234029 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1397234035} + - component: {fileID: 1397234034} + - component: {fileID: 1397234032} + - component: {fileID: 1397234031} + - component: {fileID: 1397234030} + - component: {fileID: 1397234036} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1397234030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &1397234031 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 +--- !u!124 &1397234032 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 +--- !u!20 &1397234034 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 50 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1397234035 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_LocalRotation: {x: 0.0667024, y: 0.6900869, z: -0.0647095, w: 0.7177351} + m_LocalPosition: {x: -13.93632, y: 9.444799, z: -22.490759} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1397234036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Follow Camera Simple Follow + m_Description: 'Turn this window off by removing the example window script on Main + Camera + + + This scene is the same as the FollowCam scene but with the SimpleFollow + vcam body binding method' +--- !u!1 &1723029654 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1723029655} + - component: {fileID: 1723029658} + - component: {fileID: 1723029657} + - component: {fileID: 1723029656} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1723029655 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723029654} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: -0.25} + m_LocalScale: {x: 1.272517, y: 0.043055758, z: 0.29159504} + m_Children: [] + m_Father: {fileID: 1327453126} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1723029656 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723029654} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1723029657 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723029654} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1723029658 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1723029654} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1744720511 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1744720513} + - component: {fileID: 1744720512} + m_Layer: 0 + m_Name: 'CM vcam simple follow ' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1744720512 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1744720511} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 11 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 83712583} + m_Follow: {fileID: 83712583} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 2139328238} +--- !u!4 &1744720513 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1744720511} + m_LocalRotation: {x: 0.0667024, y: 0.6900869, z: -0.0647095, w: 0.7177351} + m_LocalPosition: {x: -13.93632, y: 9.444799, z: -22.490759} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2139328238} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2053145197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2053145198} + m_Layer: 0 + m_Name: Enviro + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2053145198 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2053145197} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 647251806} + - {fileID: 327844090} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2139328237 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2139328238} + - component: {fileID: 2139328241} + - component: {fileID: 2139328240} + - component: {fileID: 2139328239} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2139328238 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2139328237} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1744720513} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2139328239 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2139328237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 0.3, z: -1.8} + m_XDamping: 4 + m_YDamping: 4 + m_ZDamping: 0.4 + m_AngularDampingMode: 0 + m_PitchDamping: 7.07 + m_YawDamping: 12.34 + m_RollDamping: 12.61 + m_AngularDamping: 0 +--- !u!114 &2139328240 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2139328237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 1 + m_LookaheadSmoothing: 30 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 5 + m_ScreenX: 0.5307415 + m_ScreenY: 0.4774967 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &2139328241 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2139328237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam Simple Follow.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam Simple Follow.unity.meta new file mode 100644 index 00000000..cb131cae --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam Simple Follow.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 46f2f298fff4d4deb99a6e5ff6c597cf +timeCreated: 1508794039 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam.unity new file mode 100644 index 00000000..92a11465 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam.unity @@ -0,0 +1,863 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657922, g: 0.4964134, b: 0.5748175, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &83712582 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 83712583} + - component: {fileID: 83712586} + - component: {fileID: 83712585} + - component: {fileID: 83712584} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &83712583 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 83712582} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.43376404, y: 0.08929449, z: 1.3774897} + m_Children: [] + m_Father: {fileID: 1327453126} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &83712584 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 83712582} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &83712585 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 83712582} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &83712586 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 83712582} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &327844086 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 327844090} + - component: {fileID: 327844089} + - component: {fileID: 327844088} + - component: {fileID: 327844087} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &327844087 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 0e079ef97504e314080afe2ab2599e87, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &327844088 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &327844089 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &327844090 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 327844086} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 2053145198} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &647251804 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 647251806} + - component: {fileID: 647251805} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &647251805 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 647251804} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_FalloffTable: + m_Table[0]: 0 + m_Table[1]: 0 + m_Table[2]: 0 + m_Table[3]: 0 + m_Table[4]: 0 + m_Table[5]: 0 + m_Table[6]: 0 + m_Table[7]: 0 + m_Table[8]: 0 + m_Table[9]: 0 + m_Table[10]: 0 + m_Table[11]: 0 + m_Table[12]: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &647251806 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 647251804} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2053145198} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &650012729 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 650012731} + - component: {fileID: 650012730} + m_Layer: 0 + m_Name: Path + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &650012730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 650012729} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d37e5385efd7064cb1d54c94960acae, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + handleColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + width: 0.2 + m_Looped: 1 + m_Waypoints: + - position: {x: -8.83632, y: -3.7552004, z: -1.2907581} + tangent: {x: 7.540356, y: -0.12252903, z: 0} + roll: 0 + - position: {x: 5.833762, y: 0, z: 8.117491} + tangent: {x: 5.838949, y: -0.4537163, z: 0.2872162} + roll: -45 + - position: {x: 20, y: -0.5047379, z: -0.6248589} + tangent: {x: 7.24297, y: -0.005663872, z: 1.806755} + roll: 30 + - position: {x: 29.446022, y: -6.1275883, z: 11.930257} + tangent: {x: 1.245777, y: -0.9081688, z: 6.846738} + roll: 30 + - position: {x: 23.41989, y: 0, z: 38.23446} + tangent: {x: -8.727499, y: -0.05312538, z: 8.269756} + roll: 16.41 + - position: {x: -14.884913, y: -1.2871857, z: 36.981667} + tangent: {x: -9.707009, y: 0, z: -4.263275} + roll: 40 + - position: {x: -26.01329, y: 0, z: 10.762024} + tangent: {x: 4.519011, y: 0, z: -11.064621} + roll: 30 +--- !u!4 &650012731 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 650012729} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.3, y: 12.9, z: -21.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1327453125 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1327453126} + - component: {fileID: 1327453127} + m_Layer: 0 + m_Name: Vehicle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1327453126 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1327453125} + m_LocalRotation: {x: 0.005744592, y: 0.70708346, z: -0.005744592, w: 0.70708346} + m_LocalPosition: {x: -12.13632, y: 9.144799, z: -22.490759} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 83712583} + - {fileID: 1723029655} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1327453127 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1327453125} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 650012730} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 10 + m_Position: 0 +--- !u!1 &1397234029 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1397234035} + - component: {fileID: 1397234034} + - component: {fileID: 1397234033} + - component: {fileID: 1397234032} + - component: {fileID: 1397234031} + - component: {fileID: 1397234030} + - component: {fileID: 1397234036} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1397234030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!81 &1397234031 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 +--- !u!124 &1397234032 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 +--- !u!92 &1397234033 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 +--- !u!20 &1397234034 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 50 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1397234035 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_LocalRotation: {x: 0.031809963, y: 0.692367, z: -0.031025354, w: 0.7201761} + m_LocalPosition: {x: -13.931209, y: 9.474006, z: -22.490759} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1397234036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397234029} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Follow Camera + m_Description: "Turn this window off by removing the example window script on Main + Camera\n\nScene setup:\nVehicle follows the path driven by its CinemachineDollyCart + component.\nCM vcam follow camera looks at and follows object Vehicle + and has Aim and Body compoents setup to illustrate the main controls:\n\nBody\nFollow + offset - where the camera is in relation to the follow object\nDamping - positional + lag between the camera and follow object\nBinding mode - different styles of relationships + between camera and follow object\nPitch, Yaw, Roll damping - rotation damping + on the axis binding \n\nAim\nTracked offset - looking ahead of the ship\nDamping + - letting the ship move around on the screen, lots of vertical, a little horizontal." +--- !u!1 &1723029654 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1723029655} + - component: {fileID: 1723029658} + - component: {fileID: 1723029657} + - component: {fileID: 1723029656} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1723029655 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1723029654} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: -0.25} + m_LocalScale: {x: 1.272517, y: 0.043055758, z: 0.29159504} + m_Children: [] + m_Father: {fileID: 1327453126} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1723029656 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1723029654} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1723029657 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1723029654} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1723029658 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1723029654} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1744720511 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1744720513} + - component: {fileID: 1744720512} + m_Layer: 0 + m_Name: CM vcam follow camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1744720512 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1744720511} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HideHeaderInInspector: 0 + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_Priority: 11 + m_LookAt: {fileID: 83712583} + m_Follow: {fileID: 83712583} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 2139328238} +--- !u!4 &1744720513 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1744720511} + m_LocalRotation: {x: 0.031809963, y: 0.692367, z: -0.031025354, w: 0.7201761} + m_LocalPosition: {x: -13.931209, y: 9.474006, z: -22.490759} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2139328238} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2053145197 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2053145198} + m_Layer: 0 + m_Name: Enviro + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2053145198 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2053145197} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 647251806} + - {fileID: 327844090} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2139328237 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2139328238} + - component: {fileID: 2139328241} + - component: {fileID: 2139328240} + - component: {fileID: 2139328239} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2139328238 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2139328237} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1744720513} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2139328239 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2139328237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FollowOffset: {x: 0, y: 0.3, z: -1.8} + m_XDamping: 4 + m_YDamping: 4 + m_ZDamping: 1.5 + m_BindingMode: 3 + m_PitchDamping: 7.07 + m_YawDamping: 12.34 + m_RollDamping: 12.61 +--- !u!114 &2139328240 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2139328237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 4} + m_HorizontalDamping: 0.5 + m_VerticalDamping: 5 + m_ScreenX: 0.5307415 + m_ScreenY: 0.4774967 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &2139328241 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2139328237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam.unity.meta new file mode 100644 index 00000000..80b60d14 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowCam.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe9a4e5b265414d478e20db8d7d669db +timeCreated: 1502915724 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowZoom.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowZoom.unity new file mode 100644 index 00000000..a3bc580f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowZoom.unity @@ -0,0 +1,584 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!4 &63684543 stripped +Transform: + m_PrefabParentObject: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, + type: 2} + m_PrefabInternal: {fileID: 611987670} +--- !u!1001 &101511090 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.z + value: 5.92 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + propertyPath: keepDirection + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 63684543} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &611987670 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1645899274665124, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_Name + value: Environment_CorridorMixingCam + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1409647223 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1409647226} + - component: {fileID: 1409647225} + - component: {fileID: 1409647224} + m_Layer: 0 + m_Name: CM vcamFollowZoom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1409647224 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1409647223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4700f9f03ad19f94baf0367cb7a9c988, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Width: 2.66 + m_Damping: 3 + m_MinFOV: 1 + m_MaxFOV: 65 +--- !u!114 &1409647225 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1409647223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 2041132816} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1492992149} +--- !u!4 &1409647226 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1409647223} + m_LocalRotation: {x: 0.14678417, y: 0.002411625, z: -0.0003578684, w: 0.9891656} + m_LocalPosition: {x: 4.9, y: 6.09, z: -7.45} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1492992149} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1492992148 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1492992149} + - component: {fileID: 1492992151} + - component: {fileID: 1492992150} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1492992149 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1492992148} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1409647226} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1492992150 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1492992148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 1 + m_ScreenX: 0.511628 + m_ScreenY: 0.257 + m_DeadZoneWidth: 0.2304348 + m_DeadZoneHeight: 0.1434057 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1492992151 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1492992148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1747380105 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1747380110} + - component: {fileID: 1747380109} + - component: {fileID: 1747380108} + - component: {fileID: 1747380107} + - component: {fileID: 1747380106} + - component: {fileID: 1747380111} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1747380106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!81 &1747380107 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!124 &1747380108 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!20 &1747380109 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 10.992227 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1747380110 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_LocalRotation: {x: 0.14678417, y: 0.002411625, z: -0.0003578684, w: 0.9891656} + m_LocalPosition: {x: 4.9, y: 6.09, z: -7.45} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1747380111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Follow Zoom + m_Description: 'Turn this window off by removing the script on Main Camera + + + Use the arrow keys to move the character + + + A Follow Zoom extension component has been added to the virtual camera + + + Follow Zoom will dynamically adjust the vcam''s FOV to keep a target the same + size on screen no matter the distance from the camera, if it is within the FOV + limits + + + The Damping control will cause the camera to lag a little in the FOV adjustments, + giving ''sports broadcast'' type feel to rapid movements.' +--- !u!4 &2041132816 stripped +Transform: + m_PrefabParentObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 101511090} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowZoom.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowZoom.unity.meta new file mode 100644 index 00000000..6a3a3852 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/FollowZoom.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 29be7cbcbcf656b41a47ca786b3403a6 +timeCreated: 1509483907 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look character.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look character.unity new file mode 100644 index 00000000..445d3fa5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look character.unity @@ -0,0 +1,1044 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.4465934, g: 0.49642956, b: 0.5748249, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &137718148 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 137718149} + - component: {fileID: 137718152} + - component: {fileID: 137718151} + - component: {fileID: 137718150} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &137718149 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 314295172} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &137718150 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.592 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0.03 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: -0.098000094 +--- !u!114 &137718151 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &137718152 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &314295170 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 314295172} + - component: {fileID: 314295171} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &314295171 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 137718149} +--- !u!4 &314295172 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_LocalRotation: {x: 0.10793044, y: 0.00017153811, z: 0.000018622599, w: -0.99415845} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 137718149} + m_Father: {fileID: 1956070573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1157328853} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &445145004 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 445145005} + - component: {fileID: 445145008} + - component: {fileID: 445145007} + - component: {fileID: 445145006} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445145005 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1882019633} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &445145006 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.316 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0.03 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.3450001 +--- !u!114 &445145007 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &445145008 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &509908079 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 509908080} + - component: {fileID: 509908083} + - component: {fileID: 509908082} + - component: {fileID: 509908081} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509908080 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1343764758} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &509908081 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.359 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0.03 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.27799988 +--- !u!114 &509908082 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &509908083 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &1015814696 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.z + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 136696895249700382, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + propertyPath: m_Center.y + value: 0.9 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1015814697 stripped +Transform: + m_PrefabParentObject: {fileID: 4807132077054408, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1015814696} +--- !u!4 &1015814698 stripped +Transform: + m_PrefabParentObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1015814696} +--- !u!1001 &1157328852 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.y + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b6a68029251c6c54ea270e3724819861, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1157328853 stripped +Transform: + m_PrefabParentObject: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, + type: 2} + m_PrefabInternal: {fileID: 1157328852} +--- !u!1 &1295058248 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1295058252} + - component: {fileID: 1295058251} + - component: {fileID: 1295058250} + - component: {fileID: 1295058249} + - component: {fileID: 1295058253} + - component: {fileID: 1295058254} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1295058249 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 +--- !u!124 &1295058250 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 +--- !u!20 &1295058251 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 50 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1295058252 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_LocalRotation: {x: 0.0000076704455, y: -0.00022146352, z: 0.0000000017021881, + w: 1} + m_LocalPosition: {x: 5.001342, y: 2.3000002, z: -7} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1295058253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1295058254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Free Look Character + m_Description: 'Turn this window off by removing the script on Main Camera + + + Use the arrow keys to move the character + + + Here we see a basic FreeLook setup on the character. Move the mouse to mix between + the three rigs within the FreeLook camera' +--- !u!1 &1343764756 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1343764758} + - component: {fileID: 1343764757} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1343764757 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 509908080} +--- !u!4 &1343764758 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_LocalRotation: {x: -0.000007611225, y: 0.00017254603, z: -0.0000000013151416, + w: -1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 509908080} + m_Father: {fileID: 1956070573} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1882019631 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1882019633} + - component: {fileID: 1882019632} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1882019632 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 445145005} +--- !u!4 &1882019633 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_LocalRotation: {x: -0.019601721, y: 0.00017251291, z: -0.0000033822128, w: -0.9998079} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 445145005} + m_Father: {fileID: 1956070573} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1956070571 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1956070573} + - component: {fileID: 1956070572} + m_Layer: 0 + m_Name: CM FreeLook1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1956070572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 1015814698} + m_Follow: {fileID: 1015814697} + m_CommonLens: 1 + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_YAxis: + Value: 0.5 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertAxis: 0 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 1 + m_Orbits: + - m_Height: 4 + m_Radius: 1.5 + - m_Height: 1.2 + m_Radius: 3 + - m_Height: 0.2 + m_Radius: 2.5 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 314295171} + - {fileID: 1343764757} + - {fileID: 1882019632} +--- !u!4 &1956070573 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5.001342, y: 2.3000002, z: -7} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 314295172} + - {fileID: 1343764758} + - {fileID: 1882019633} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look character.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look character.unity.meta new file mode 100644 index 00000000..b527d217 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look character.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0528bb957dac1144381cf6a42f81df38 +timeCreated: 1505485301 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look collider.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look collider.unity new file mode 100644 index 00000000..00bed7d2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look collider.unity @@ -0,0 +1,1070 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.4465934, g: 0.49642956, b: 0.5748249, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &137718148 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 137718149} + - component: {fileID: 137718152} + - component: {fileID: 137718151} + - component: {fileID: 137718150} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &137718149 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 314295172} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &137718150 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 2 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0.03 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &137718151 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -2.5} + m_XDamping: 0 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 1 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &137718152 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &314295170 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 314295172} + - component: {fileID: 314295171} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &314295171 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 137718149} +--- !u!4 &314295172 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_LocalRotation: {x: -0.078003384, y: 0.00000013893498, z: -0.0000000053896563, + w: 0.9969531} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 137718149} + m_Father: {fileID: 1956070573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1508344078} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &445145004 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 445145005} + - component: {fileID: 445145008} + - component: {fileID: 445145007} + - component: {fileID: 445145006} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445145005 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1882019633} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &445145006 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 2 + m_ScreenX: 0.5 + m_ScreenY: 0.318 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0.03 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &445145007 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -2.5} + m_XDamping: 0 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 1 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &445145008 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &509908079 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 509908080} + - component: {fileID: 509908083} + - component: {fileID: 509908082} + - component: {fileID: 509908081} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509908080 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1343764758} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &509908081 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 2 + m_ScreenX: 0.5 + m_ScreenY: 0.251 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0.03 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &509908082 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -2.5} + m_XDamping: 0 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 1 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &509908083 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1099111552 stripped +Transform: + m_PrefabParentObject: {fileID: 4807132077054408, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1251549206} +--- !u!1001 &1251549206 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.z + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1251549207 stripped +Transform: + m_PrefabParentObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1251549206} +--- !u!1 &1343764756 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1343764758} + - component: {fileID: 1343764757} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1343764757 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 509908080} +--- !u!4 &1343764758 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_LocalRotation: {x: 0.035979684, y: 0.00000013543719, z: -0.000000017176282, w: 0.9993526} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 509908080} + m_Father: {fileID: 1956070573} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1493626625 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 0998cc0e377e9034c86e90787a3070b0, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1508344078 stripped +Transform: + m_PrefabParentObject: {fileID: 4519539146465710, guid: 0998cc0e377e9034c86e90787a3070b0, + type: 2} + m_PrefabInternal: {fileID: 1493626625} +--- !u!1 &1787124812 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1787124816} + - component: {fileID: 1787124815} + - component: {fileID: 1787124814} + - component: {fileID: 1787124813} + - component: {fileID: 1787124817} + - component: {fileID: 1787124818} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1787124813 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!124 &1787124814 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!20 &1787124815 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 50 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1787124816 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_LocalRotation: {x: 0.03597961, y: 0.00000009419652, z: -0.0000000033913499, w: 0.9993525} + m_LocalPosition: {x: 4.9999995, y: 2.3000002, z: -6.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1787124817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1787124818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Free Look Collider + m_Description: 'Turn this window off by removing the script on Main Camera + + + Use the arrow keys to move the character + + + Here we see a basic FreeLook setup on the character. Move the mouse to mix between + the three FreeLook cameras + + + There is a Collider module on the FreeLook cameras to prevent it from penetrating + the walls. + + + Move the character close to a wall and rotate around it to see how the collider + interact with wall collisions.' +--- !u!1 &1882019631 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1882019633} + - component: {fileID: 1882019632} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1882019632 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 445145005} +--- !u!4 &1882019633 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_LocalRotation: {x: 0.005970352, y: 0.0000001229418, z: 0.000000010806482, w: 0.99998224} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 445145005} + m_Father: {fileID: 1956070573} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1956070571 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1956070573} + - component: {fileID: 1956070572} + - component: {fileID: 1956070574} + m_Layer: 0 + m_Name: CM FreeLook1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1956070572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 1251549207} + m_Follow: {fileID: 1099111552} + m_CommonLens: 1 + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_YAxis: + Value: 0.5 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertAxis: 0 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 1 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 1 + m_Orbits: + - m_Height: 4 + m_Radius: 2 + - m_Height: 1.2 + m_Radius: 2.5 + - m_Height: 0.4 + m_Radius: 0.5 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 314295171} + - {fileID: 1343764757} + - {fileID: 1882019632} +--- !u!4 &1956070573 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.9999995, y: 2.3000002, z: -6.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 314295172} + - {fileID: 1343764758} + - {fileID: 1882019633} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1956070574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: Player + m_MinimumDistanceFromTarget: 0.1 + m_AvoidObstacles: 1 + m_DistanceLimit: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_Damping: 0 + m_OptimalTargetDistance: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look collider.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look collider.unity.meta new file mode 100644 index 00000000..966498ed --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Free Look collider.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ac5706d3cdc93b3448bcac9040cf4501 +timeCreated: 1509459388 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse.meta new file mode 100644 index 00000000..8aa13790 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5228fb753f3f17f4ab82b960fcd188e6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Impulse.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Impulse.unity new file mode 100644 index 00000000..68b64dc7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Impulse.unity @@ -0,0 +1,1208 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: 76e8d0b73ad6aed40ab649307a38e0a0, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &254168127 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 254168129} + - component: {fileID: 254168130} + m_Layer: 9 + m_Name: Magic Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &254168129 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 254168127} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.26, y: 11.1, z: -0.07} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1686477090} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &254168130 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 254168127} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &486591877 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 486591882} + - component: {fileID: 486591881} + - component: {fileID: 486591880} + - component: {fileID: 486591879} + - component: {fileID: 486591878} + - component: {fileID: 486591884} + m_Layer: 0 + m_Name: BouncingBall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!54 &486591878 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 486591877} + serializedVersion: 2 + m_Mass: 3 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!23 &486591879 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 486591877} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!135 &486591880 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 486591877} + m_Material: {fileID: 13400000, guid: c9bec0ecadc5ab6479d11776b9b63b5d, type: 2} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &486591881 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 486591877} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &486591882 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 486591877} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.2, y: 8.4, z: 0} + m_LocalScale: {x: 4, y: 4, z: 4} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &486591884 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 486591877} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cd438dd108a0f284aa931a2da434f1d3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ImpulseDefinition: + m_ImpulseChannel: 1 + m_ImpulseShape: 2 + m_CustomImpulseShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ImpulseDuration: 0.2 + m_ImpulseType: 1 + m_DissipationRate: 0.145 + m_RawSignal: {fileID: 11400000, guid: 69ce8388f6785dd4c8c39915efece2f4, type: 2} + m_AmplitudeGain: 0.5 + m_FrequencyGain: 4 + m_RepeatMode: 1 + m_Randomize: 1 + m_TimeEnvelope: + m_AttackShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_DecayShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_AttackTime: 0 + m_SustainTime: 0 + m_DecayTime: 0.3 + m_ScaleWithImpact: 1 + m_HoldForever: 0 + m_ImpactRadius: 1 + m_DirectionMode: 1 + m_DissipationMode: 2 + m_DissipationDistance: 70 + m_PropagationSpeed: 343 + m_DefaultVelocity: {x: 0, y: -0.05, z: 0} + m_LayerMask: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: + m_UseImpactDirection: 1 + m_ScaleImpactWithMass: 0 + m_ScaleImpactWithSpeed: 1 +--- !u!1 &560812640 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 560812641} + - component: {fileID: 560812644} + - component: {fileID: 560812643} + - component: {fileID: 560812642} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &560812641 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0.46, z: 0.35} + m_LocalScale: {x: 0.75, y: 0.19, z: 0.33} + m_Children: [] + m_Father: {fileID: 990286189} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!23 &560812642 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &560812643 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &560812644 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &867266292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 867266297} + - component: {fileID: 867266296} + - component: {fileID: 867266294} + - component: {fileID: 867266293} + - component: {fileID: 867266298} + - component: {fileID: 867266295} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &867266293 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!124 &867266294 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!114 &867266295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Impulse + m_Description: 'The Bouncing Ball is an Impulse Source. When the ball hits the + ground, it broacasts a signal and the PlayerCam responds to it because of its + Impulse Listener Extension. Move the player around (WASD) to see how the signal + strength varies with proximity to the source. + + + + Enable the Impulse Source + component on the Magic Cube for another kind of impulse.' +--- !u!20 &867266296 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 51.28201 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &867266297 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -22.189999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &867266298 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 0.1 + m_CustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.2868603 + value: 0.9562072 + inSlope: 0.80913305 + outSlope: 0.80913305 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &990286185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 990286189} + - component: {fileID: 990286188} + - component: {fileID: 990286187} + - component: {fileID: 990286186} + - component: {fileID: 990286190} + m_Layer: 0 + m_Name: Player + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &990286186 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &990286187 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &990286188 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &990286189 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -12.19} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 560812641} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &990286190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa14cc4c274b78b4c820064214bdbb60, type: 3} + m_Name: + m_EditorClassIdentifier: + Speed: 5 + VelocityDamping: 1 + JumpTime: 1 + InputForward: 0 + RotatePlayer: 1 +--- !u!1 &1043897086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1043897088} + - component: {fileID: 1043897087} + - component: {fileID: 1043897089} + m_Layer: 0 + m_Name: CM PlayerCam + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1043897087 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043897086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 990286189} + m_Follow: {fileID: 990286189} + m_Lens: + FieldOfView: 51.28201 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.4897401, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1407283397} +--- !u!4 &1043897088 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043897086} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -22.189999} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1407283397} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1043897089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043897086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b2d199b96b516448144ab30fb26aed, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ApplyAfter: 1 + m_ChannelMask: 1 + m_Gain: 1 + m_Use2DDistance: 0 + m_UseCameraSpace: 0 + m_ReactionSettings: + m_SecondaryNoise: {fileID: 11400000, guid: e9ce97b7a206dc64d90931ea044e0c72, type: 2} + m_AmplitudeGain: 4 + m_FrequencyGain: 1.5 + m_Duration: 1 + m_NoiseOffsets: {x: 0, y: 0, z: 0} +--- !u!1 &1069678018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1069678022} + - component: {fileID: 1069678021} + - component: {fileID: 1069678020} + - component: {fileID: 1069678019} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1069678019 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1069678020 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1069678021 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1069678022 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.1} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1090385218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1090385220} + - component: {fileID: 1090385219} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1090385219 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1090385220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1407283396 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1407283397} + - component: {fileID: 1407283400} + - component: {fileID: 1407283399} + - component: {fileID: 1407283401} + - component: {fileID: 1407283398} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1407283397 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1043897088} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1407283398 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 0, z: -10} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 +--- !u!114 &1407283399 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1407283400 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1407283401 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 46965f9cbaf525742a6da4c2172a99cd, type: 2} + m_PivotOffset: {x: 0, y: 0, z: 0} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 + mNoiseOffsets: {x: -988.5449, y: 250.14899, z: 110.083466} +--- !u!1 &1686477089 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1686477090} + - component: {fileID: 1686477093} + - component: {fileID: 1686477092} + m_Layer: 9 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1686477090 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1686477089} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 254168129} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1686477092 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1686477089} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1686477093 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1686477089} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Impulse.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Impulse.unity.meta new file mode 100644 index 00000000..0dbc32c1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Impulse.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bdb439bfacc22444082c53c48e26cdad +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ImpulseWave.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ImpulseWave.unity new file mode 100644 index 00000000..4368727a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ImpulseWave.unity @@ -0,0 +1,1086 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 430145233} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!850595691 &430145233 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Settings.lighting + serializedVersion: 3 + m_GIWorkflowMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_TextureCompression: 1 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 1 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 +--- !u!1 &560812640 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 560812641} + - component: {fileID: 560812644} + - component: {fileID: 560812643} + - component: {fileID: 560812642} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &560812641 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0.46, z: 0.35} + m_LocalScale: {x: 0.75, y: 0.19, z: 0.33} + m_Children: [] + m_Father: {fileID: 990286189} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!23 &560812642 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &560812643 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &560812644 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &867266292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 867266297} + - component: {fileID: 867266296} + - component: {fileID: 867266294} + - component: {fileID: 867266293} + - component: {fileID: 867266298} + - component: {fileID: 867266299} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &867266293 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!124 &867266294 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!20 &867266296 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &867266297 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_LocalRotation: {x: 0.17067122, y: -0.006377387, z: 0.0011046674, w: 0.9853068} + m_LocalPosition: {x: 0, y: 10.8, z: -14.35} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 44.91, y: 0, z: 0} +--- !u!114 &867266298 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 5 + m_CustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.2868603 + value: 0.9562072 + inSlope: 0.80913305 + outSlope: 0.80913305 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &867266299 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Impulse Wave + m_Description: 'This scene shows a global impulse listener on the main camera, + and impulse listeners on a large population of cubes. + + + When you press Invoke + on the Epicenter object inspector, an impulse is generated at the epicenter''s + location. Because of the propagation speed of the impulse signal, the effect + of the impulse visibly travles in a wave through the cubes. + + + Use WASD to + travel through the scene.' +--- !u!1 &990286185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 990286189} + - component: {fileID: 990286188} + - component: {fileID: 990286187} + - component: {fileID: 990286186} + - component: {fileID: 990286190} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &990286186 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &990286187 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &990286188 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &990286189 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 560812641} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &990286190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa14cc4c274b78b4c820064214bdbb60, type: 3} + m_Name: + m_EditorClassIdentifier: + Speed: 5 + VelocityDamping: 0.5 + JumpTime: 1 + InputForward: 0 + RotatePlayer: 1 +--- !u!1 &1043897086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1043897088} + - component: {fileID: 1043897087} + - component: {fileID: 1043897089} + m_Layer: 0 + m_Name: CM vcam1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1043897087 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043897086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 990286189} + m_Follow: {fileID: 990286189} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 0 + m_SensorSize: {x: 1.4897401, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1407283397} +--- !u!4 &1043897088 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043897086} + m_LocalRotation: {x: 0.17067122, y: -0.006377387, z: 0.0011046674, w: 0.9853068} + m_LocalPosition: {x: 0, y: 10.8, z: -14.35} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1407283397} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 13.1, y: 0, z: 0} +--- !u!114 &1043897089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043897086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 00b2d199b96b516448144ab30fb26aed, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ApplyAfter: 2 + m_ChannelMask: -1 + m_Gain: 1 + m_Use2DDistance: 0 + m_UseCameraSpace: 1 + m_ReactionSettings: + m_SecondaryNoise: {fileID: 11400000, guid: e9ce97b7a206dc64d90931ea044e0c72, type: 2} + m_AmplitudeGain: 1 + m_FrequencyGain: 2 + m_Duration: 1 + m_NoiseOffsets: {x: 0, y: 0, z: 0} +--- !u!1 &1069678018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1069678022} + - component: {fileID: 1069678021} + - component: {fileID: 1069678020} + - component: {fileID: 1069678019} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1069678019 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1069678020 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1069678021 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1069678022 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1069678018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 1, z: 100} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1090385218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1090385220} + - component: {fileID: 1090385219} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1090385219 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1090385220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1133612837 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1133612838} + - component: {fileID: 1133612840} + m_Layer: 0 + m_Name: Epicenter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1133612838 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133612837} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 100} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1870188776} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1133612840 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133612837} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 180ecf9b41d478f468eb3e9083753217, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ImpulseDefinition: + m_ImpulseChannel: 1 + m_ImpulseShape: 2 + m_CustomImpulseShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ImpulseDuration: 0.2 + m_ImpulseType: 2 + m_DissipationRate: 0.25 + m_RawSignal: {fileID: 0} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 + m_RepeatMode: 0 + m_Randomize: 1 + m_TimeEnvelope: + m_AttackShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_DecayShape: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_AttackTime: 0 + m_SustainTime: 0.2 + m_DecayTime: 0.7 + m_ScaleWithImpact: 1 + m_HoldForever: 0 + m_ImpactRadius: 100 + m_DirectionMode: 0 + m_DissipationMode: 2 + m_DissipationDistance: 1000 + m_PropagationSpeed: 100 + m_DefaultVelocity: {x: 0, y: -7, z: 0} +--- !u!1 &1407283396 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1407283397} + - component: {fileID: 1407283400} + - component: {fileID: 1407283399} + - component: {fileID: 1407283398} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1407283397 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1043897088} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1407283398 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5119375 + m_ScreenY: 0.85978127 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1407283399 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 9.8, z: -14.35} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 +--- !u!114 &1407283400 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1870188774 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1870188776} + - component: {fileID: 1870188775} + m_Layer: 0 + m_Name: CubeSpawner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1870188775 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1870188774} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e25d65cce934ce44a5f01658c52ee8b, type: 3} + m_Name: + m_EditorClassIdentifier: + Prefab: {fileID: 3519796215783978424, guid: 819f88648001df94e8dfc62c43971341, type: 3} + Radius: 100 + Amount: 1000 + DoIt: 1 +--- !u!4 &1870188776 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1870188774} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1133612838} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ImpulseWave.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ImpulseWave.unity.meta new file mode 100644 index 00000000..0d8443a1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ImpulseWave.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 266f924736a4cff4e8da6f481bf2371c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ShakingCube.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ShakingCube.prefab new file mode 100644 index 00000000..a0c5cedf --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ShakingCube.prefab @@ -0,0 +1,106 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3519796215783978424 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3519796215783979587} + - component: {fileID: 3519796215783979588} + - component: {fileID: 3519796215783979589} + - component: {fileID: 3519796215783979591} + m_Layer: 0 + m_Name: ShakingCube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3519796215783979587 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3519796215783978424} + m_LocalRotation: {x: -0.00027396454, y: -0.00034797462, z: -0.00006259115, w: 0.99999994} + m_LocalPosition: {x: -5.9006257, y: 1.0052556, z: 9.514479} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3519796215783979588 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3519796215783978424} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3519796215783979589 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3519796215783978424} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &3519796215783979591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3519796215783978424} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0c11265b855408d42af33d62691f5194, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ChannelMask: 1 + m_Gain: 1 + m_Use2DDistance: 0 + m_UseLocalSpace: 1 + m_ReactionSettings: + m_SecondaryNoise: {fileID: 11400000, guid: e9ce97b7a206dc64d90931ea044e0c72, type: 2} + m_AmplitudeGain: 2 + m_FrequencyGain: 1 + m_Duration: 2 + m_NoiseOffsets: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ShakingCube.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ShakingCube.prefab.meta new file mode 100644 index 00000000..d87f9873 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/ShakingCube.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 819f88648001df94e8dfc62c43971341 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Y Bump Signal Definition.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Y Bump Signal Definition.asset new file mode 100644 index 00000000..a10cd818 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Y Bump Signal Definition.asset @@ -0,0 +1,67 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5969901aa40942499363f92e3787110, type: 3} + m_Name: Y Bump Signal Definition + m_EditorClassIdentifier: + m_XCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.0018797144 + value: 0.006770363 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_YCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ZCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: -0.000011444092 + value: 0.0000038146973 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Y Bump Signal Definition.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Y Bump Signal Definition.asset.meta new file mode 100644 index 00000000..05656bf1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Impulse/Y Bump Signal Definition.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6bfc9589bff1c624e8902db2be502e7d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/MixingCamera.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/MixingCamera.unity new file mode 100644 index 00000000..99bfdab0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/MixingCamera.unity @@ -0,0 +1,757 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.4465934, g: 0.49642956, b: 0.5748249, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!4 &63684543 stripped +Transform: + m_PrefabParentObject: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, + type: 2} + m_PrefabInternal: {fileID: 611987670} +--- !u!1001 &101511090 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.z + value: 0.64 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + propertyPath: keepDirection + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &208251802 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 208251805} + - component: {fileID: 208251804} + - component: {fileID: 208251803} + m_Layer: 0 + m_Name: CM MixingCamera1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &208251803 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 208251802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 23645a9e62f352c4aa1ddb8e55df7c3b, type: 3} + m_Name: + m_EditorClassIdentifier: + followTarget: {fileID: 1009893196} + initialBottomWeight: 20 + axisToTrack: 1 +--- !u!114 &208251804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 208251802} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6c26251a3e1f5ac41afa5ffb404c5f71, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_Weight0: 20 + m_Weight1: 0.6701252 + m_Weight2: 0.5 + m_Weight3: 0.5 + m_Weight4: 0.5 + m_Weight5: 0.5 + m_Weight6: 0.5 + m_Weight7: 0.5 +--- !u!4 &208251805 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 208251802} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -6.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 836346549} + - {fileID: 802432701} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 63684543} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &611987670 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4259574949459156, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1645899274665124, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + propertyPath: m_Name + value: Environment_CorridorMixingCam + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 309ca2bfc1e81fa4eb43845cbdf4a42b, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &802432700 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 802432701} + - component: {fileID: 802432702} + m_Layer: 0 + m_Name: CM vcamTop + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &802432701 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 802432700} + m_LocalRotation: {x: 0.6467211, y: -0, z: -0, w: 0.7627266} + m_LocalPosition: {x: 5, y: 31.51, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1359095519} + m_Father: {fileID: 208251805} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &802432702 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 802432700} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 1794056721} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1359095519} +--- !u!1 &836346548 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 836346549} + - component: {fileID: 836346550} + m_Layer: 0 + m_Name: CM vcamBottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &836346549 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 836346548} + m_LocalRotation: {x: 0.081906505, y: -0.000009315561, z: 0.0000007655772, w: 0.99664} + m_LocalPosition: {x: 5, y: 3, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1890447937} + m_Father: {fileID: 208251805} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &836346550 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 836346548} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 1794056721} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1890447937} +--- !u!4 &1009893196 stripped +Transform: + m_PrefabParentObject: {fileID: 4145844909056070, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 101511090} +--- !u!1 &1359095518 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1359095519} + - component: {fileID: 1359095521} + - component: {fileID: 1359095520} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1359095519 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1359095518} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 802432701} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1359095520 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1359095518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.49999997 + m_ScreenY: 0.49999988 + m_DeadZoneWidth: 0.042028975 + m_DeadZoneHeight: 0.046577644 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1359095521 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1359095518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1747380105 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1747380110} + - component: {fileID: 1747380109} + - component: {fileID: 1747380108} + - component: {fileID: 1747380107} + - component: {fileID: 1747380106} + - component: {fileID: 1747380111} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1747380106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!81 &1747380107 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!124 &1747380108 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 +--- !u!20 &1747380109 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1747380110 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_LocalRotation: {x: 0.15963072, y: 0, z: 0, w: 0.98717684} + m_LocalPosition: {x: 5, y: 3.9242938, z: -4.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1747380111 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1747380105} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: MixingCamera + m_Description: "Turn this window off by removing the script on Main Camera\r\n\r\nUse + the arrow keys to move the character\r\n\r\nIn this scene, we have a simple MixingCamera + with two cameras in it. One at the ground level (bottom) and another one higher + in the space (top).\r\n\r\nA script is hooked to the Z position value of the character + and will apply more weight on the top camera as the character moves towards to + end of the corridor.\r\n\nSelect the CM MixingCamera1 to see the mix ratios change + as the character runs around" +--- !u!4 &1794056721 stripped +Transform: + m_PrefabParentObject: {fileID: 4807132077054408, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 101511090} +--- !u!1 &1890447936 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1890447937} + - component: {fileID: 1890447939} + - component: {fileID: 1890447938} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1890447937 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1890447936} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 836346549} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1890447938 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1890447936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.50000006 + m_ScreenY: 0.7737895 + m_DeadZoneWidth: 0.1376811 + m_DeadZoneHeight: 0.0933222 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1890447939 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1890447936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/MixingCamera.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/MixingCamera.unity.meta new file mode 100644 index 00000000..5a1832d1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/MixingCamera.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: eba1856f8ff8547e8b258da0d720abd3 +timeCreated: 1510331227 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Noise.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Noise.unity new file mode 100644 index 00000000..e0caa88d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Noise.unity @@ -0,0 +1,1339 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657922, g: 0.4964134, b: 0.5748175, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 7 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_StationaryBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 + m_ShadowMaskMode: 2 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &26175738 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 26175739} + - component: {fileID: 26175741} + - component: {fileID: 26175740} + - component: {fileID: 26175742} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &26175739 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 26175738} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1.9, z: 5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 589905105} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &26175740 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 26175738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowGuides: 1 + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &26175741 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 26175738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &26175742 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 26175738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Definition: {fileID: 11400000, guid: 20e46be82478fa24b90f748044c06b4b, type: 2} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 +--- !u!1 &73698098 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 73698100} + - component: {fileID: 73698099} + m_Layer: 0 + m_Name: CM_VirtualCamera_Handheld_tele_strong + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &73698099 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73698098} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HideHeaderInInspector: 0 + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_Priority: 10 + m_LookAt: {fileID: 1991748681} + m_Follow: {fileID: 0} + m_LensAttributes: + FieldOfView: 40 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1049445910} +--- !u!4 &73698100 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73698098} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.9, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1049445910} + m_Father: {fileID: 1223293975} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &139364128 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 139364129} + - component: {fileID: 139364131} + - component: {fileID: 139364130} + - component: {fileID: 139364132} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &139364129 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 139364128} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1.9, z: 5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2052241300} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &139364130 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 139364128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowGuides: 1 + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &139364131 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 139364128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &139364132 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 139364128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Definition: {fileID: 11400000, guid: 46965f9cbaf525742a6da4c2172a99cd, type: 2} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 +--- !u!1 &457536436 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 457536441} + - component: {fileID: 457536440} + - component: {fileID: 457536439} + - component: {fileID: 457536438} + - component: {fileID: 457536437} + - component: {fileID: 457536442} + - component: {fileID: 457536443} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &457536437 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 +--- !u!124 &457536438 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 +--- !u!92 &457536439 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 +--- !u!20 &457536440 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &457536441 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_LocalRotation: {x: 0.058990013, y: -0, z: -0, w: 0.9982586} + m_LocalPosition: {x: 0, y: 1.9, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1189047864} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &457536442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null +--- !u!114 &457536443 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 457536436} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Cinemachine Noise + m_Description: "Turn on the cameras to see how different noise parameters look\n\nThe + Noise module is a multi-layered Perlin noise function which \nis applied + after the Composer and adds additional transforms. \nIt has controls for + Position and Orientation. You can add as many layers \nas you want by increasing + the Size value." +--- !u!1 &589905103 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 589905105} + - component: {fileID: 589905104} + m_Layer: 0 + m_Name: CM_VirtualCamera_Handheld_wideangle_strong + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &589905104 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 589905103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HideHeaderInInspector: 0 + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_Priority: 10 + m_LookAt: {fileID: 1991748681} + m_Follow: {fileID: 0} + m_LensAttributes: + FieldOfView: 40 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 26175739} +--- !u!4 &589905105 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 589905103} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.9, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 26175739} + m_Father: {fileID: 1223293975} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &707139684 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 707139685} + - component: {fileID: 707139687} + - component: {fileID: 707139686} + - component: {fileID: 707139688} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &707139685 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 707139684} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1.9, z: 5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1763606928} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &707139686 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 707139684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowGuides: 1 + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &707139687 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 707139684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &707139688 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 707139684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Definition: {fileID: 11400000, guid: a3dacaec0287d7444b4bd276816e1666, type: 2} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 +--- !u!1 &919020597 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 919020598} + - component: {fileID: 919020601} + - component: {fileID: 919020600} + - component: {fileID: 919020599} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &919020598 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_Children: [] + m_Father: {fileID: 1189047864} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &919020599 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &919020600 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &919020601 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919020597} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1049445909 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1049445910} + - component: {fileID: 1049445912} + - component: {fileID: 1049445911} + - component: {fileID: 1049445913} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1049445910 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1049445909} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1.9, z: 5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 73698100} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1049445911 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1049445909} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowGuides: 1 + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1049445912 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1049445909} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1049445913 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1049445909} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Definition: {fileID: 11400000, guid: 554b0ed52734c154eab51f6cedd3a7d7, type: 2} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 +--- !u!1 &1107734883 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1107734884} + - component: {fileID: 1107734886} + - component: {fileID: 1107734885} + - component: {fileID: 1107734887} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1107734884 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107734883} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1.9, z: 5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1260743361} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1107734885 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107734883} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowGuides: 1 + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1107734886 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107734883} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1107734887 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107734883} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Definition: {fileID: 11400000, guid: 46965f9cbaf525742a6da4c2172a99cd, type: 2} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 +--- !u!1 &1133517650 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1133517651} + - component: {fileID: 1133517653} + - component: {fileID: 1133517652} + - component: {fileID: 1133517654} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1133517651 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1133517650} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1.9, z: 5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1807237603} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1133517652 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1133517650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowGuides: 1 + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1133517653 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1133517650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1133517654 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1133517650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Definition: {fileID: 11400000, guid: b241f91b9ccf8ff489abf204b30d3112, type: 2} + m_AmplitudeGain: 1 + m_FrequencyGain: 1 +--- !u!1 &1189047863 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1189047864} + m_Layer: 0 + m_Name: Scene Objects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1189047864 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1189047863} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 457536441} + - {fileID: 2079561620} + - {fileID: 919020598} + - {fileID: 1991748681} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1223293974 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1223293975} + m_Layer: 0 + m_Name: 'Cameras: Turn them on to see different noises' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1223293975 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1223293974} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 589905105} + - {fileID: 1260743361} + - {fileID: 73698100} + - {fileID: 1763606928} + - {fileID: 1807237603} + - {fileID: 2052241300} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1260743359 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1260743361} + - component: {fileID: 1260743360} + m_Layer: 0 + m_Name: CM_VirtualCamera_Handheld_wideangle_mild + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1260743360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1260743359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HideHeaderInInspector: 0 + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_Priority: 10 + m_LookAt: {fileID: 1991748681} + m_Follow: {fileID: 0} + m_LensAttributes: + FieldOfView: 40 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1107734884} +--- !u!4 &1260743361 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1260743359} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.9, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1107734884} + m_Father: {fileID: 1223293975} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1763606926 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1763606928} + - component: {fileID: 1763606927} + m_Layer: 0 + m_Name: CM_VirtualCamera_Handheld_tele_mild + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1763606927 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1763606926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HideHeaderInInspector: 0 + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_Priority: 10 + m_LookAt: {fileID: 1991748681} + m_Follow: {fileID: 0} + m_LensAttributes: + FieldOfView: 40 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 707139685} +--- !u!4 &1763606928 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1763606926} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.9, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 707139685} + m_Father: {fileID: 1223293975} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1807237601 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1807237603} + - component: {fileID: 1807237602} + m_Layer: 0 + m_Name: CM_VirtualCamera_Handheld_normal_strong + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1807237602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1807237601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HideHeaderInInspector: 0 + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_Priority: 10 + m_LookAt: {fileID: 1991748681} + m_Follow: {fileID: 0} + m_LensAttributes: + FieldOfView: 40 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1133517651} +--- !u!4 &1807237603 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1807237601} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.9, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1133517651} + m_Father: {fileID: 1223293975} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1991748680 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1991748681} + - component: {fileID: 1991748684} + - component: {fileID: 1991748683} + - component: {fileID: 1991748682} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1991748681 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1991748680} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.307, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1189047864} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1991748682 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1991748680} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &1991748683 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1991748680} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1991748684 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1991748680} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2052241298 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2052241300} + - component: {fileID: 2052241299} + m_Layer: 0 + m_Name: CM_VirtualCamera_Handheld_normal_mild + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &2052241299 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2052241298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HideHeaderInInspector: 0 + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_Priority: 10 + m_LookAt: {fileID: 1991748681} + m_Follow: {fileID: 0} + m_LensAttributes: + FieldOfView: 40 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 139364129} +--- !u!4 &2052241300 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2052241298} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.9, z: -5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 139364129} + m_Father: {fileID: 1223293975} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2079561618 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2079561620} + - component: {fileID: 2079561619} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &2079561619 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2079561618} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_CCT: 6570 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &2079561620 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2079561618} + m_LocalRotation: {x: 0.40821797, y: -0.23456974, z: 0.10938168, w: 0.8754261} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1189047864} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Noise.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Noise.unity.meta new file mode 100644 index 00000000..a7f86d84 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Noise.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ad74e922b3dd8044589c16f6faa723b8 +timeCreated: 1461705220 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting.meta new file mode 100644 index 00000000..ea6c38bd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 805fceefb53f1024892e54dfaa3e8d6f +folderAsset: yes +timeCreated: 1489425219 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/Scripting.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/Scripting.unity new file mode 100644 index 00000000..46c7fc29 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/Scripting.unity @@ -0,0 +1,700 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &36310727 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 36310728} + m_Layer: 0 + m_Name: Scene Objects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &36310728 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 36310727} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1200725360} + - {fileID: 321178607} + - {fileID: 1835008832} + - {fileID: 1396761974} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &321178606 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 321178607} + - component: {fileID: 321178610} + - component: {fileID: 321178609} + - component: {fileID: 321178608} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &321178607 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 321178606} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -11.19, y: 0.12, z: 18.4} + m_LocalScale: {x: 0.2, y: 1.5, z: 0.1} + m_Children: + - {fileID: 2076736452} + m_Father: {fileID: 36310728} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &321178608 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 321178606} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &321178609 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 321178606} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &321178610 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 321178606} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &468527918 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 468527923} + - component: {fileID: 468527922} + - component: {fileID: 468527920} + - component: {fileID: 468527919} + - component: {fileID: 468527921} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &468527919 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_Enabled: 1 +--- !u!124 &468527920 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_Enabled: 1 +--- !u!114 &468527921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Scripting + m_Description: 'Turn this window off by removing the script on the Main Camera. + + + This scene shows how you can create Cinemachine camera components via script + + + The ScriptingExample file in the folder shows how to create different Cinemachine + cameras, switch targets or follow objects, set priority and do a number of common + things via script.' +--- !u!20 &468527922 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &468527923 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_LocalRotation: {x: -0, y: -0.4456814, z: -0, w: 0.89519167} + m_LocalPosition: {x: -289.31403, y: 4.1, z: -16.918587} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &883235711 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 883235713} + - component: {fileID: 883235712} + m_Layer: 0 + m_Name: MainController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &883235712 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 883235711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6d5ce1f09df6bab47b1f6760b02dec74, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &883235713 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 883235711} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1200725359 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1200725360} + - component: {fileID: 1200725363} + - component: {fileID: 1200725362} + - component: {fileID: 1200725361} + - component: {fileID: 1200725364} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1200725360 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_LocalRotation: {x: 0, y: -0.44568163, z: 0, w: 0.89519155} + m_LocalPosition: {x: 1.56, y: 2.61, z: 26.56} + m_LocalScale: {x: 4, y: 4, z: 4} + m_Children: [] + m_Father: {fileID: 36310728} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1200725361 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1200725362 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1200725363 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!95 &1200725364 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 025857098477b614e9d28478a5b9c90e, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!1 &1396761973 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1396761974} + - component: {fileID: 1396761975} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1396761974 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1396761973} + m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.109381676, w: 0.87542605} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 36310728} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &1396761975 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1396761973} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &1835008831 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1835008832} + - component: {fileID: 1835008835} + - component: {fileID: 1835008834} + - component: {fileID: 1835008833} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1835008832 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1835008831} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1000, y: 1000, z: 1000} + m_Children: [] + m_Father: {fileID: 36310728} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1835008833 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1835008831} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &1835008834 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1835008831} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1835008835 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1835008831} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2076736451 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2076736452} + - component: {fileID: 2076736455} + - component: {fileID: 2076736454} + - component: {fileID: 2076736453} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2076736452 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2076736451} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.02, y: 0.964, z: -0.1} + m_LocalScale: {x: 1.63, y: 0.21, z: 3.35} + m_Children: [] + m_Father: {fileID: 321178607} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2076736453 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2076736451} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!135 &2076736454 +SphereCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2076736451} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2076736455 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2076736451} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/Scripting.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/Scripting.unity.meta new file mode 100644 index 00000000..c25ba414 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/Scripting.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf06b937097386042bdcbbe7b95d848c +timeCreated: 1489417840 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/ScriptingExample.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/ScriptingExample.cs new file mode 100644 index 00000000..019a47c3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/ScriptingExample.cs @@ -0,0 +1,59 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + +public class ScriptingExample : MonoBehaviour +{ + CinemachineVirtualCamera vcam; + CinemachineFreeLook freelook; + + void Start() + { + // Create a Cinemachine brain on the main camera + var brain = GameObject.Find("Main Camera").AddComponent(); + brain.m_ShowDebugText = true; + brain.m_DefaultBlend.m_Time = 1; + + // Create a virtual camera that looks at object "Cube", and set some settings + vcam = new GameObject("VirtualCamera").AddComponent(); + vcam.m_LookAt = GameObject.Find("Cube").transform; + vcam.m_Priority = 10; + vcam.gameObject.transform.position = new Vector3(0, 1, 0); + + // Install a composer. You can install whatever CinemachineComponents you need, + // including your own custom-authored Cinemachine components. + var composer = vcam.AddCinemachineComponent(); + composer.m_ScreenX = 0.30f; + composer.m_ScreenY = 0.35f; + + // Create a FreeLook vcam on object "Cylinder" + freelook = new GameObject("FreeLook").AddComponent(); + freelook.m_LookAt = GameObject.Find("Cylinder/Sphere").transform; + freelook.m_Follow = GameObject.Find("Cylinder").transform; + freelook.m_Priority = 11; + + // You can access the individual rigs in the freeLook if you want. + // FreeLook rigs come with Composers pre-installed. + // Note: Body MUST be Orbital Transposer. Don't change it. + CinemachineVirtualCamera topRig = freelook.GetRig(0); + CinemachineVirtualCamera middleRig = freelook.GetRig(1); + CinemachineVirtualCamera bottomRig = freelook.GetRig(2); + topRig.GetCinemachineComponent().m_ScreenY = 0.35f; + middleRig.GetCinemachineComponent().m_ScreenY = 0.25f; + bottomRig.GetCinemachineComponent().m_ScreenY = 0.15f; + } + + float lastSwapTime = 0; + void Update() + { + // Switch cameras from time to time to show blending + if (Time.realtimeSinceStartup - lastSwapTime > 5) + { + freelook.enabled = !freelook.enabled; + lastSwapTime = Time.realtimeSinceStartup; + } + } +} + +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/ScriptingExample.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/ScriptingExample.cs.meta new file mode 100644 index 00000000..a921f0d1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Scripting/ScriptingExample.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6d5ce1f09df6bab47b1f6760b02dec74 +timeCreated: 1489417983 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/SphericalSurfaceFollow.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/SphericalSurfaceFollow.unity new file mode 100644 index 00000000..c5eaed5d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/SphericalSurfaceFollow.unity @@ -0,0 +1,1564 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &129026300 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 129026302} + - component: {fileID: 129026301} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &129026301 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129026300} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Transitions + - m_Follow + - m_StandbyUpdate + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1332978498} +--- !u!4 &129026302 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 129026300} + m_LocalRotation: {x: 0.000000010659243, y: 0.9844419, z: -0.17571087, w: 0.000000059719824} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1332978498} + m_Father: {fileID: 889678496} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &550770605 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 550770607} + - component: {fileID: 550770606} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &550770606 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550770605} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Transitions + - m_Follow + - m_StandbyUpdate + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 961483442} +--- !u!4 &550770607 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550770605} + m_LocalRotation: {x: 0.000000002217621, y: 0.99017483, z: -0.1398351, w: 0.000000015703307} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 961483442} + m_Father: {fileID: 889678496} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &560812640 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 560812641} + - component: {fileID: 560812644} + - component: {fileID: 560812643} + - component: {fileID: 560812642} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &560812641 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0.46, z: 0.35} + m_LocalScale: {x: 0.75, y: 0.19, z: 0.33} + m_Children: [] + m_Father: {fileID: 990286189} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!23 &560812642 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &560812643 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &560812644 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 560812640} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &867266292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 867266297} + - component: {fileID: 867266296} + - component: {fileID: 867266294} + - component: {fileID: 867266293} + - component: {fileID: 867266298} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &867266293 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!124 &867266294 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 +--- !u!20 &867266296 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &867266297 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_LocalRotation: {x: 2.6706824e-22, y: 0.98747504, z: -0.15777533, w: 1.6715113e-21} + m_LocalPosition: {x: 0, y: 156.7, z: 8.53} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &867266298 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 867266292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 990286189} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 5 + m_CustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.2868603 + value: 0.9562072 + inSlope: 0.80913305 + outSlope: 0.80913305 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &886849676 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 886849677} + - component: {fileID: 886849680} + - component: {fileID: 886849679} + - component: {fileID: 886849678} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &886849677 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 886849676} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1409749821} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &886849678 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 886849676} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.55 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &886849679 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 886849676} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 5.8, z: -15.73} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 0 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &886849680 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 886849676} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &889678494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 889678496} + - component: {fileID: 889678495} + m_Layer: 0 + m_Name: CM FreeLook1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &889678495 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 889678494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 11 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 990286189} + m_Follow: {fileID: 990286189} + m_CommonLens: 1 + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_YAxis: + Value: 0.5 + m_SpeedMode: 1 + m_MaxSpeed: 0.1 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertInput: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_Wrap: 0 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_YAxisRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 1 + m_MaxSpeed: 10 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 0 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 0.2 + m_Orbits: + - m_Height: 15.3 + m_Radius: 7.8 + - m_Height: 5.8 + m_Radius: 15.73 + - m_Height: 0.4 + m_Radius: 8.43 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 129026301} + - {fileID: 1409749820} + - {fileID: 550770606} +--- !u!4 &889678496 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 889678494} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 156.7, z: 8.53} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 129026302} + - {fileID: 1409749821} + - {fileID: 550770607} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &961483441 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 961483442} + - component: {fileID: 961483445} + - component: {fileID: 961483444} + - component: {fileID: 961483443} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &961483442 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961483441} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 550770607} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &961483443 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961483441} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.6 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &961483444 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961483441} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 5.8, z: -15.73} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 0 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &961483445 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961483441} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &990286185 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 990286189} + - component: {fileID: 990286188} + - component: {fileID: 990286187} + - component: {fileID: 990286186} + - component: {fileID: 990286190} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &990286186 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &990286187 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &990286188 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &990286189 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 150.9, z: -7.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 560812641} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &990286190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990286185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 85b757e40164bd3408008c7df6b949d5, type: 3} + m_Name: + m_EditorClassIdentifier: + Sphere: {fileID: 1044979973} + speed: 10 + rotatePlayer: 1 + rotationDamping: 0.5 +--- !u!1 &1043897086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1043897088} + - component: {fileID: 1043897087} + m_Layer: 0 + m_Name: CM vcam1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1043897087 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043897086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 990286189} + m_Follow: {fileID: 990286189} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1407283397} +--- !u!4 &1043897088 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043897086} + m_LocalRotation: {x: 0.1810069, y: -0.00000001692218, z: 0.0000000031145622, w: 0.9834818} + m_LocalPosition: {x: 0, y: 154.70999, z: -17.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1407283397} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1044979972 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1044979976} + - component: {fileID: 1044979975} + - component: {fileID: 1044979974} + - component: {fileID: 1044979973} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &1044979973 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1044979972} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 150 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1044979974 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1044979972} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0e079ef97504e314080afe2ab2599e87, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1044979975 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1044979972} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1044979976 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1044979972} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.2823987, y: 0.6875, z: -3.5486085} + m_LocalScale: {x: 300, y: 300, z: 300} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1090385218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1090385220} + - component: {fileID: 1090385219} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1090385219 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1090385220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1090385218} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1332978497 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1332978498} + - component: {fileID: 1332978501} + - component: {fileID: 1332978500} + - component: {fileID: 1332978499} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1332978498 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1332978497} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 129026302} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1332978499 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1332978497} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1332978500 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1332978497} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 5.8, z: -15.73} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 0 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_SpeedMode: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Recentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1332978501 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1332978497} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1407283396 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1407283397} + - component: {fileID: 1407283400} + - component: {fileID: 1407283399} + - component: {fileID: 1407283398} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1407283397 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1043897088} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1407283398 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1407283399 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 3.81, z: -10} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 +--- !u!114 &1407283400 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1407283396} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1409749819 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1409749821} + - component: {fileID: 1409749820} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1409749820 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1409749819} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Transitions + - m_Follow + - m_StandbyUpdate + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 886849677} +--- !u!4 &1409749821 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1409749819} + m_LocalRotation: {x: -4.20649e-14, y: 0.9874751, z: -0.15777531, w: -6.720984e-15} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 886849677} + m_Father: {fileID: 889678496} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/SphericalSurfaceFollow.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/SphericalSurfaceFollow.unity.meta new file mode 100644 index 00000000..4738a59c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/SphericalSurfaceFollow.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d4c0f5dac4060a24296c25fb3e59149a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/StateDrivenCamera.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/StateDrivenCamera.unity new file mode 100644 index 00000000..b3c0dac0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/StateDrivenCamera.unity @@ -0,0 +1,1793 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &137718148 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 137718149} + - component: {fileID: 137718152} + - component: {fileID: 137718151} + - component: {fileID: 137718150} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &137718149 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 314295172} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &137718150 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.592 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: -0.098 +--- !u!114 &137718151 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &137718152 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &249600344 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 249600345} + - component: {fileID: 249600348} + - component: {fileID: 249600347} + - component: {fileID: 249600346} + - component: {fileID: 249600349} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &249600345 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1130702791} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &249600346 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.592 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: -0.09800002 +--- !u!114 &249600347 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 3, z: -1} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 0.1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &249600348 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &249600349 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 249600344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 20e46be82478fa24b90f748044c06b4b, type: 2} + m_AmplitudeGain: 2 + m_FrequencyGain: 2 +--- !u!1 &314295170 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 314295172} + - component: {fileID: 314295171} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &314295171 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 137718149} +--- !u!4 &314295172 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_LocalRotation: {x: -0.10784772, y: -0.00029027648, z: -0.000031488424, w: 0.99416745} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 137718149} + m_Father: {fileID: 1956070573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &362895638 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 362895640} + - component: {fileID: 362895639} + m_Layer: 0 + m_Name: CM FreeLook sprint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &362895639 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 362895638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 1015814698} + m_Follow: {fileID: 1015814697} + m_CommonLens: 1 + m_Lens: + FieldOfView: 65 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_YAxis: + Value: 0.5 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertAxis: 0 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 1 + m_Orbits: + - m_Height: 3 + m_Radius: 1 + - m_Height: 1 + m_Radius: 2 + - m_Height: 0.2 + m_Radius: 1.5 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 1130702792} + - {fileID: 924382201} + - {fileID: 520169976} +--- !u!4 &362895640 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 362895638} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.0010295, y: 2.1, z: -6} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1130702791} + - {fileID: 924382200} + - {fileID: 520169977} + m_Father: {fileID: 1664470951} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 964393010} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &445145004 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 445145005} + - component: {fileID: 445145008} + - component: {fileID: 445145007} + - component: {fileID: 445145006} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445145005 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1882019633} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &445145006 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.237 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.345 +--- !u!114 &445145007 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &445145008 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &509908079 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 509908080} + - component: {fileID: 509908083} + - component: {fileID: 509908082} + - component: {fileID: 509908081} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509908080 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1343764758} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &509908081 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 11 + m_ScreenX: 0.5 + m_ScreenY: 0.359 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.27799994 +--- !u!114 &509908082 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &509908083 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &520169975 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 520169977} + - component: {fileID: 520169976} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &520169976 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 520169975} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 65 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1878452406} +--- !u!4 &520169977 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 520169975} + m_LocalRotation: {x: 0.0040858034, y: -0.00025363747, z: 0.0000010363236, w: 0.99999166} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1878452406} + m_Father: {fileID: 362895640} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &924382199 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 924382200} + - component: {fileID: 924382201} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &924382200 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 924382199} + m_LocalRotation: {x: -0.062592484, y: -0.00025314224, z: -0.00001587593, w: 0.9980391} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1320960104} + m_Father: {fileID: 362895640} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &924382201 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 924382199} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 65 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 1320960104} +--- !u!4 &964393010 stripped +Transform: + m_PrefabParentObject: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, + type: 2} + m_PrefabInternal: {fileID: 1157328852} +--- !u!1001 &1015814696 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.z + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1015814697 stripped +Transform: + m_PrefabParentObject: {fileID: 4807132077054408, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1015814696} +--- !u!4 &1015814698 stripped +Transform: + m_PrefabParentObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1015814696} +--- !u!1 &1130702790 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1130702791} + - component: {fileID: 1130702792} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1130702791 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1130702790} + m_LocalRotation: {x: -0.19499208, y: -0.00024877093, z: -0.000049457714, w: 0.9808048} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 249600345} + m_Father: {fileID: 362895640} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1130702792 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1130702790} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 65 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 249600345} +--- !u!1001 &1157328852 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.y + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b6a68029251c6c54ea270e3724819861, type: 2} + m_IsPrefabParent: 0 +--- !u!95 &1232261777 stripped +Animator: + m_PrefabParentObject: {fileID: 95487103652067774, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1015814696} +--- !u!1 &1295058248 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1295058252} + - component: {fileID: 1295058251} + - component: {fileID: 1295058250} + - component: {fileID: 1295058249} + - component: {fileID: 1295058253} + - component: {fileID: 1295058254} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1295058249 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 +--- !u!124 &1295058250 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 +--- !u!20 &1295058251 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 50 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1295058252 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_LocalRotation: {x: -0.00011777317, y: -0.00029197926, z: -0.000000034381237, w: 1} + m_LocalPosition: {x: 5.001769, y: 2.3, z: -6.9999995} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1295058253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Assembly-CSharp, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1295058254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: State Driven Camera + m_Description: 'Turn this window off by removing the script on Main Camera + + + Use the arrow keys to move the character + + + Use the space bar to go into sprint mode + + + The State Driven Camera module will link the Sprint event to the CM FreeLook sprint + camera + + + This SDC component lets you easily link animation states and cameras while giving + specific blending options between any of the cameras' +--- !u!1 &1320960103 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1320960104} + - component: {fileID: 1320960107} + - component: {fileID: 1320960106} + - component: {fileID: 1320960105} + - component: {fileID: 1320960108} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1320960104 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 924382200} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1320960105 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.359 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.27799994 +--- !u!114 &1320960106 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 3, z: -1} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 0.1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1320960107 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1320960108 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320960103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 20e46be82478fa24b90f748044c06b4b, type: 2} + m_AmplitudeGain: 2 + m_FrequencyGain: 2 +--- !u!1 &1343764756 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1343764758} + - component: {fileID: 1343764757} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1343764757 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 509908080} +--- !u!4 &1343764758 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_LocalRotation: {x: -0.0001177085, y: -0.00029197926, z: -0.00000003436255, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 509908080} + m_Father: {fileID: 1956070573} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1664470949 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1664470951} + - component: {fileID: 1664470950} + - component: {fileID: 1664470952} + m_Layer: 0 + m_Name: CM StateDrivenFreeLook + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1664470950 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1664470949} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 325a6a3050a061e4b8aa51386c30e8e1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_AnimatedTarget: {fileID: 1232261777} + m_LayerIndex: 0 + m_ShowDebugText: 0 + m_EnableAllChildCameras: 0 + m_ChildCameras: + - {fileID: 1956070572} + - {fileID: 362895639} + m_Instructions: + - m_FullHash: -1269438207 + m_VirtualCamera: {fileID: 1956070572} + m_ActivateAfter: 0 + m_MinDuration: 0 + - m_FullHash: -350224702 + m_VirtualCamera: {fileID: 362895639} + m_ActivateAfter: 0 + m_MinDuration: 0 + m_DefaultBlend: + m_Style: 1 + m_Time: 0.5 + m_CustomBlends: {fileID: 11400000, guid: 798528270df5a4ed3a432b5bab12156e, type: 2} + m_ParentHash: + - m_Hash: -1269438207 + m_ParentHash: 756556552 + - m_Hash: -62026189 + m_ParentHash: -1269438207 + - m_Hash: -1376239245 + m_ParentHash: -1269438207 + - m_Hash: -1928560382 + m_ParentHash: -1269438207 + - m_Hash: -350224702 + m_ParentHash: 756556552 +--- !u!4 &1664470951 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1664470949} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1956070573} + - {fileID: 362895640} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1664470952 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1664470949} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 4294967295 + m_IgnoreTag: Player + m_MinimumDistanceFromTarget: 0.5 + m_AvoidObstacles: 1 + m_DistanceLimit: 0 + m_CameraRadius: 0.1 + m_Strategy: 0 + m_MaximumEffort: 6 + m_Damping: 0 + m_OptimalTargetDistance: 0 +--- !u!1 &1878452405 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1878452406} + - component: {fileID: 1878452409} + - component: {fileID: 1878452408} + - component: {fileID: 1878452407} + - component: {fileID: 1878452410} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1878452406 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 520169977} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1878452407 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_HorizontalDamping: 0 + m_VerticalDamping: 0 + m_ScreenX: 0.5 + m_ScreenY: 0.237 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.345 +--- !u!114 &1878452408 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 3, z: -1} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 0.1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1878452409 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1878452410 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1878452405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3} + m_Name: + m_EditorClassIdentifier: + m_NoiseProfile: {fileID: 11400000, guid: 20e46be82478fa24b90f748044c06b4b, type: 2} + m_AmplitudeGain: 2 + m_FrequencyGain: 2 +--- !u!1 &1882019631 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1882019633} + - component: {fileID: 1882019632} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1882019632 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_ComponentOwner: {fileID: 445145005} +--- !u!4 &1882019633 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_LocalRotation: {x: 0.054646447, y: -0.000291543, z: 0.000015955637, w: 0.9985058} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 445145005} + m_Father: {fileID: 1956070573} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1956070571 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1956070573} + - component: {fileID: 1956070572} + m_Layer: 0 + m_Name: CM FreeLook + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1956070572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 1015814698} + m_Follow: {fileID: 1015814697} + m_CommonLens: 1 + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + m_YAxis: + Value: 0.5 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertAxis: 0 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertAxis: 1 + m_Heading: + m_HeadingDefinition: 2 + m_VelocityFilterStrength: 4 + m_HeadingBias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_RecenterWaitTime: 0 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 1 + m_Orbits: + - m_Height: 4 + m_Radius: 1.5 + - m_Height: 1.2 + m_Radius: 3 + - m_Height: 0.2 + m_Radius: 2.5 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 314295171} + - {fileID: 1343764757} + - {fileID: 1882019632} +--- !u!4 &1956070573 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.001769, y: 2.3, z: -6.9999995} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 314295172} + - {fileID: 1343764758} + - {fileID: 1882019633} + m_Father: {fileID: 1664470951} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/StateDrivenCamera.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/StateDrivenCamera.unity.meta new file mode 100644 index 00000000..8918fd87 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/StateDrivenCamera.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e6d0e9a5409154682a7c300fc5a43bd5 +timeCreated: 1508791258 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline.meta new file mode 100644 index 00000000..ef7c497a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8dfa7e087db2240d58eac66f8886a53e +folderAsset: yes +timeCreated: 1486151799 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/Timeline.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/Timeline.unity new file mode 100644 index 00000000..400fd65b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/Timeline.unity @@ -0,0 +1,1224 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &309568833 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 309568834} + - component: {fileID: 309568836} + - component: {fileID: 309568835} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &309568834 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 309568833} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 286.5, y: -10.3, z: 6.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1565101941} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &309568835 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 309568833} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e8b78ac948f05a46a6d8339a503172b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &309568836 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 309568833} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &539044444 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 539044446} + - component: {fileID: 539044445} + m_Layer: 0 + m_Name: Shot B + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &539044445 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 539044444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 768528534} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 2.29976, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 2075139254} +--- !u!4 &539044446 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 539044444} + m_LocalRotation: {x: 0.3007507, y: -0.63352996, z: 0.29323307, w: 0.6497717} + m_LocalPosition: {x: -259.9, y: 50.65, z: -10.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2075139254} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &768528533 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 768528534} + - component: {fileID: 768528538} + - component: {fileID: 768528537} + - component: {fileID: 768528536} + - component: {fileID: 768528535} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &768528534 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768528533} + m_LocalRotation: {x: 0, y: -0.44568163, z: 0, w: 0.89519155} + m_LocalPosition: {x: -299.4, y: 4.1, z: -9.3} + m_LocalScale: {x: 5, y: 5, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 934380214} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &768528535 +Animator: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768528533} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 025857098477b614e9d28478a5b9c90e, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!23 &768528536 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768528533} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &768528537 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768528533} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &768528538 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 768528533} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &899198434 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 899198435} + - component: {fileID: 899198438} + - component: {fileID: 899198437} + - component: {fileID: 899198436} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &899198435 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 899198434} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 286.5, y: -10.3, z: 6.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1445212682} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &899198436 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 899198434} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 3 + m_FollowOffset: {x: 0, y: 0, z: -16.75} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AngularDamping: 0 +--- !u!114 &899198437 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 899198434} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e8b78ac948f05a46a6d8339a503172b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &899198438 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 899198434} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &934380213 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 934380214} + m_Layer: 0 + m_Name: Scene Objects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &934380214 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 934380213} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 768528534} + - {fileID: 1519197631} + - {fileID: 1981234272} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1147448570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1147448576} + - component: {fileID: 1147448575} + - component: {fileID: 1147448574} + - component: {fileID: 1147448573} + - component: {fileID: 1147448571} + - component: {fileID: 1147448572} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1147448571 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1147448570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1147448572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1147448570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Cinemachine Timeline + m_Description: "Turn this window off by removing its script on the Main Camera\n\nSelect + the TIMELINE Select me! object to see the Timeline track\n\nTimeline lets you + trigger and blend Cinemachine cameras from within its own Timeline track. \n\nNote + Timeline overrides all Blend settings. If you want to blend into or out of Timeline + - for doing seamless gameplay -> cutscene -> gameplay transitions, select the + start or end CM shot clip on the Timeline and set the Ease In/out Duration on + the clip\u2019s inspector panel to be something greater than 0." +--- !u!81 &1147448573 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1147448570} + m_Enabled: 1 +--- !u!124 &1147448574 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1147448570} + m_Enabled: 1 +--- !u!20 &1147448575 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1147448570} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1147448576 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1147448570} + m_LocalRotation: {x: 0.026468355, y: -0.71587884, z: 0.027177744, w: 0.6971932} + m_LocalPosition: {x: -144.4, y: 15.89, z: -5.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1445212680 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1445212682} + - component: {fileID: 1445212681} + m_Layer: 0 + m_Name: Shot D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1445212681 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1445212680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 768528534} + m_Follow: {fileID: 768528534} + m_Lens: + FieldOfView: 55 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 2.29976, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 899198435} +--- !u!4 &1445212682 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1445212680} + m_LocalRotation: {x: 0, y: -0.44568163, z: -0, w: 0.89519155} + m_LocalPosition: {x: -286.0345, y: 4.1, z: -19.395824} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 899198435} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1519197630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1519197631} + - component: {fileID: 1519197634} + - component: {fileID: 1519197633} + - component: {fileID: 1519197632} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1519197631 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1519197630} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1000, y: 1000, z: 1000} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 934380214} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1519197632 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1519197630} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &1519197633 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1519197630} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1519197634 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1519197630} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1565101939 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1565101941} + - component: {fileID: 1565101940} + m_Layer: 0 + m_Name: Shot C + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1565101940 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1565101939} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 768528534} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 2.29976, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 309568834} +--- !u!4 &1565101941 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1565101939} + m_LocalRotation: {x: 0.13587737, y: -0.7621215, z: 0.1698146, w: 0.6098124} + m_LocalPosition: {x: -286.5, y: 10.3, z: -6.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 309568834} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1707466505 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1707466506} + - component: {fileID: 1707466508} + - component: {fileID: 1707466507} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1707466506 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707466505} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 144.4, y: -15.89, z: 5.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1779639977} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1707466507 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707466505} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e8b78ac948f05a46a6d8339a503172b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1707466508 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707466505} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1779639975 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1779639977} + - component: {fileID: 1779639976} + m_Layer: 0 + m_Name: Shot A + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1779639976 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1779639975} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 768528534} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + m_SensorSize: {x: 2.29976, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1707466506} +--- !u!4 &1779639977 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1779639975} + m_LocalRotation: {x: 0.026468355, y: -0.71587884, z: 0.027177744, w: 0.6971932} + m_LocalPosition: {x: -144.4, y: 15.89, z: -5.2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1707466506} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1981234271 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1981234272} + - component: {fileID: 1981234273} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1981234272 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1981234271} + m_LocalRotation: {x: 0.40821797, y: -0.23456974, z: 0.10938168, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 934380214} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &1981234273 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1981234271} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &2075139253 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2075139254} + - component: {fileID: 2075139256} + - component: {fileID: 2075139255} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2075139254 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075139253} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 259.9, y: -50.65, z: 10.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 539044446} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2075139255 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075139253} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &2075139256 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2075139253} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2086726856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2086726859} + - component: {fileID: 2086726858} + m_Layer: 0 + m_Name: TIMELINE Select me! + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!320 &2086726858 +PlayableDirector: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2086726856} + m_Enabled: 1 + serializedVersion: 3 + m_PlayableAsset: {fileID: 11400000, guid: 3a8563254d445465db5f501cff4d32b8, type: 2} + m_InitialState: 1 + m_WrapMode: 1 + m_DirectorUpdateMode: 1 + m_InitialTime: 0 + m_SceneBindings: + - key: {fileID: 114778856391876590, guid: 3a8563254d445465db5f501cff4d32b8, type: 2} + value: {fileID: 1147448571} + m_ExposedReferences: + m_References: + - 8f37fcf106838ee4696e6d3a506f1509: {fileID: 1445212681} + - def55ea2e7cee9b478ffccb775231a2a: {fileID: 539044445} + - 21cb872311c90434ca75564c037b0b9f: {fileID: 1779639976} + - a00e445d28241c04880443e8394df726: {fileID: 1565101940} + - 2b4ebf172993f20419b84537a7b4fdd6: {fileID: 1779639976} +--- !u!4 &2086726859 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2086726856} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/Timeline.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/Timeline.unity.meta new file mode 100644 index 00000000..22094044 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/Timeline.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7c0cf64c0c36a43a2808d53f72a88db3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/TimelineTimeline.playable b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/TimelineTimeline.playable new file mode 100644 index 00000000..ddfb314e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/TimelineTimeline.playable @@ -0,0 +1,609 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3} + m_Name: TimelineTimeline + m_EditorClassIdentifier: + m_Version: 0 + m_Tracks: + - {fileID: 114778856391876590} + m_FixedDuration: 0 + m_EditorSettings: + m_Framerate: 60 + m_ScenePreview: 1 + m_DurationMode: 0 + m_MarkerTrack: {fileID: 0} +--- !u!114 &114019086582742724 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + DisplayName: + VirtualCamera: + exposedName: def55ea2e7cee9b478ffccb775231a2a + defaultValue: {fileID: 0} +--- !u!114 &114130718504379522 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 12560fd18a2f24d4dbdac7a85f70240e, type: 3} + m_Name: Cinemachine Track + m_EditorClassIdentifier: + m_Locked: 0 + m_Muted: 0 + m_Soloed: 0 + m_Height: 0 + m_ShowInlineCurves: 0 + m_InlineAnimationCurveHeight: 100 + m_CustomPlayableFullTypename: + m_AnimClip: {fileID: 0} + m_Collapsed: 1 + m_Parent: {fileID: 11400000} + m_Children: [] + m_MediaType: 3 + m_Clips: + - m_Start: 0 + m_ClipIn: 0 + m_Asset: {fileID: 114826663218426040} + m_UnderlyingAsset: {fileID: 114826663218426040} + m_Duration: 1.333338770084083 + m_ParentID: 0 + m_TimeScale: 1 + m_BlendCurve: + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ParentTrack: {fileID: 114130718504379522} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: -1 + m_BlendOutDuration: -1 + m_MixInCurve: + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_ID: -2263 + m_Recordable: 0 + m_NestedAsset: 0 + m_NestedOutputIndex: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_Selected: 0 + m_InlineCurvesSelected: 0 + m_DisplayName: 53686f742041 + - m_Start: 1.333338770084083 + m_ClipIn: 0 + m_Asset: {fileID: 114878493372634846} + m_UnderlyingAsset: {fileID: 114878493372634846} + m_Duration: 2.203490322021147 + m_ParentID: 0 + m_TimeScale: 1 + m_BlendCurve: + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ParentTrack: {fileID: 114130718504379522} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: -1 + m_BlendOutDuration: 0.9534956812858582 + m_MixInCurve: + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_ID: -2262 + m_Recordable: 0 + m_NestedAsset: 0 + m_NestedOutputIndex: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_Selected: 0 + m_InlineCurvesSelected: 0 + m_DisplayName: 53686f742042 + - m_Start: 2.5833333333333335 + m_ClipIn: 0 + m_Asset: {fileID: 114555325533436570} + m_UnderlyingAsset: {fileID: 114555325533436570} + m_Duration: 2.2521689608693123 + m_ParentID: 0 + m_TimeScale: 1 + m_BlendCurve: + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ParentTrack: {fileID: 114130718504379522} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: 0.9534956812858582 + m_BlendOutDuration: -1 + m_MixInCurve: + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_ID: -2261 + m_Recordable: 0 + m_NestedAsset: 0 + m_NestedOutputIndex: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_Selected: 0 + m_InlineCurvesSelected: 0 + m_DisplayName: 53686f742043 +--- !u!114 &114243778642769428 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + DisplayName: + VirtualCamera: + exposedName: 2b4ebf172993f20419b84537a7b4fdd6 + defaultValue: {fileID: 0} +--- !u!114 &114297788537857742 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + DisplayName: + VirtualCamera: + exposedName: 21cb872311c90434ca75564c037b0b9f + defaultValue: {fileID: 0} +--- !u!114 &114341044329747986 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + DisplayName: + VirtualCamera: + exposedName: 8f37fcf106838ee4696e6d3a506f1509 + defaultValue: {fileID: 0} +--- !u!114 &114555325533436570 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2cfb0b06d5a4af5429ea7f2b67fd8579, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + vcam: {fileID: 0} +--- !u!114 &114592242794146524 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + DisplayName: + VirtualCamera: + exposedName: a00e445d28241c04880443e8394df726 + defaultValue: {fileID: 0} +--- !u!114 &114778856391876590 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 05acc715f855ced458d76ee6f8ac6c61, type: 3} + m_Name: Cinemachine Track + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: + - m_Version: 1 + m_Start: 0 + m_ClipIn: 0 + m_Asset: {fileID: 114297788537857742} + m_Duration: 2.183333333333333 + m_TimeScale: 1 + m_ParentTrack: {fileID: 114778856391876590} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: -1 + m_BlendOutDuration: -1 + m_MixInCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: Shot A + - m_Version: 1 + m_Start: 2.183333333333333 + m_ClipIn: 0 + m_Asset: {fileID: 114019086582742724} + m_Duration: 3.5 + m_TimeScale: 1 + m_ParentTrack: {fileID: 114778856391876590} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: -1 + m_BlendOutDuration: 2.766666666666667 + m_MixInCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: Shot B + - m_Version: 1 + m_Start: 2.9166666666666665 + m_ClipIn: 0 + m_Asset: {fileID: 114592242794146524} + m_Duration: 7.35 + m_TimeScale: 1 + m_ParentTrack: {fileID: 114778856391876590} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: 2.766666666666667 + m_BlendOutDuration: 3.499999999999999 + m_MixInCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: Shot C + - m_Version: 1 + m_Start: 6.766666666666667 + m_ClipIn: 0 + m_Asset: {fileID: 114341044329747986} + m_Duration: 11.066666666666666 + m_TimeScale: 1 + m_ParentTrack: {fileID: 114778856391876590} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: 3.499999999999999 + m_BlendOutDuration: 1.966666666666665 + m_MixInCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: Shot D + - m_Version: 1 + m_Start: 15.866666666666667 + m_ClipIn: 0 + m_Asset: {fileID: 114243778642769428} + m_Duration: 3.8666666666666667 + m_TimeScale: 1 + m_ParentTrack: {fileID: 114778856391876590} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: 1.966666666666665 + m_BlendOutDuration: -1 + m_MixInCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: Shot A + m_Markers: + m_Objects: [] +--- !u!114 &114826663218426040 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f1a0f27fda49ed840bd0bddb7db48e78, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + VirtualCamera: + exposedName: 6664373263623566633634313134363738623561383434386532633731303463 + defaultValue: {fileID: 0} + ParentTrack: {fileID: 0} +--- !u!114 &114878493372634846 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f1a0f27fda49ed840bd0bddb7db48e78, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + VirtualCamera: + exposedName: 3137623932353166643461343034613361393535383532313163353262343732 + defaultValue: {fileID: 0} + ParentTrack: {fileID: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/TimelineTimeline.playable.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/TimelineTimeline.playable.meta new file mode 100644 index 00000000..ec04196c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Timeline/TimelineTimeline.playable.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3a8563254d445465db5f501cff4d32b8 +timeCreated: 1486159069 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly.meta new file mode 100644 index 00000000..9bbea097 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 644c0eba53d4422429843916a55678ef +folderAsset: yes +timeCreated: 1498584710 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/CM vcam1Timeline.playable b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/CM vcam1Timeline.playable new file mode 100644 index 00000000..8ebb4614 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/CM vcam1Timeline.playable @@ -0,0 +1,268 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3} + m_Name: CM vcam1Timeline + m_EditorClassIdentifier: + m_Version: 0 + m_Tracks: + - {fileID: 114621659449839138} + m_FixedDuration: 0 + m_EditorSettings: + m_Framerate: 60 + m_DurationMode: 0 + m_MarkerTrack: {fileID: 0} +--- !u!74 &74178678612148180 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Recorded + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 19.95 + value: 4 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_PathPosition + path: Cinemachine pipeline + classID: 114 + script: {fileID: 11500000, guid: 418e42c7d0405cc48a7b83f63ea53bb3, type: 3} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 752632447 + attribute: 2871404689 + script: {fileID: 11500000, guid: 418e42c7d0405cc48a7b83f63ea53bb3, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 19.95 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 19.95 + value: 4 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_PathPosition + path: Cinemachine pipeline + classID: 114 + script: {fileID: 11500000, guid: 418e42c7d0405cc48a7b83f63ea53bb3, type: 3} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] +--- !u!114 &114621659449839138 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} + m_Name: Animation Track + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: + - m_Version: 1 + m_Start: 0 + m_ClipIn: 0 + m_Asset: {fileID: 114743938705885804} + m_Duration: 39.9 + m_TimeScale: 0.5 + m_ParentTrack: {fileID: 114621659449839138} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: -1 + m_BlendOutDuration: -1 + m_MixInCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 1 + m_PostExtrapolationMode: 2 + m_PreExtrapolationMode: 1 + m_PostExtrapolationTime: Infinity + m_PreExtrapolationTime: 0 + m_DisplayName: Recorded + m_Markers: + m_Objects: [] + m_InfiniteClipPreExtrapolation: 1 + m_InfiniteClipPostExtrapolation: 1 + m_InfiniteClipOffsetPosition: {x: 0, y: 0, z: 0} + m_InfiniteClipOffsetEulerAngles: {x: -0, y: 0, z: 0} + m_InfiniteClipTimeOffset: 0 + m_InfiniteClipRemoveOffset: 0 + m_InfiniteClipApplyFootIK: 1 + mInfiniteClipLoop: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: 0, y: 0, z: 0} + m_AvatarMask: {fileID: 0} + m_ApplyAvatarMask: 1 + m_TrackOffset: 2 + m_InfiniteClip: {fileID: 0} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 +--- !u!114 &114743938705885804 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3} + m_Name: AnimationPlayableAsset of Recorded + m_EditorClassIdentifier: + m_Clip: {fileID: 74178678612148180} + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: -0, y: 0, z: 0} + m_UseTrackMatchFields: 0 + m_MatchTargetFields: 63 + m_RemoveStartOffset: 0 + m_ApplyFootIK: 1 + m_Loop: 0 + m_Version: 1 + m_Rotation: {x: 0, y: 0, z: 0, w: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/CM vcam1Timeline.playable.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/CM vcam1Timeline.playable.meta new file mode 100644 index 00000000..4da38ffe --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/CM vcam1Timeline.playable.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 41eacbf3116c0a44db5d97e62b55faf4 +timeCreated: 1498588483 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Auto.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Auto.unity new file mode 100644 index 00000000..c7090d7b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Auto.unity @@ -0,0 +1,704 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!4 &322741037 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, + type: 2} + m_PrefabInternal: {fileID: 2058969124} +--- !u!1 &410947112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 410947114} + - component: {fileID: 410947113} + m_Layer: 0 + m_Name: GameManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &410947113 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 410947112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2cfb0b06d5a4af5429ea7f2b67fd8579, type: 3} + m_Name: + m_EditorClassIdentifier: + vcam: {fileID: 0} +--- !u!4 &410947114 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 410947112} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -19.25} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 322741037} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &524541691 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 524541693} + - component: {fileID: 524541692} + m_Layer: 0 + m_Name: CM vcam1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &524541692 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 524541691} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 1962061721} + m_Follow: {fileID: 1962061721} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamActivatedEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1185888594} +--- !u!4 &524541693 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 524541691} + m_LocalRotation: {x: 0.18542074, y: -0.67712194, z: 0.18238983, w: 0.6883742} + m_LocalPosition: {x: 9.541932, y: 4.83, z: -4.0748596} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1185888594} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1185888593 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1185888594} + - component: {fileID: 1185888597} + - component: {fileID: 1185888596} + - component: {fileID: 1185888595} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1185888594 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1185888593} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 524541693} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1185888595 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1185888593} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 418e42c7d0405cc48a7b83f63ea53bb3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1625189511} + m_PathPosition: 0.49126068 + m_PositionUnits: 0 + m_PathOffset: {x: 0, y: 0, z: 0} + m_XDamping: 0 + m_YDamping: 0 + m_ZDamping: 3 + m_CameraUp: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AutoDolly: + m_Enabled: 1 + m_PositionOffset: 0 + m_SearchRadius: 2 + m_SearchResolution: 5 +--- !u!114 &1185888596 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1185888593} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 1.4, z: 0} + m_LookaheadTime: 0.2 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 1 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.428 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1185888597 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1185888593} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &1251549206 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.z + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 95487103652067774, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + propertyPath: m_UpdateMode + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + m_IsPrefabAsset: 0 +--- !u!1 &1625189510 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1625189512} + - component: {fileID: 1625189511} + m_Layer: 0 + m_Name: DollyTrack1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1625189511 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1625189510} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a200b19ca1a9685429ed7e043c28e904, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.2 + m_Looped: 0 + m_Waypoints: + - position: {x: 1, y: 0, z: 0} + roll: 0 + - position: {x: 1.329628, y: 0, z: 20} + roll: 0 +--- !u!4 &1625189512 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1625189510} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 8.38, y: 4.83, z: -13.9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1787124812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1787124816} + - component: {fileID: 1787124815} + - component: {fileID: 1787124814} + - component: {fileID: 1787124813} + - component: {fileID: 1787124817} + - component: {fileID: 1787124818} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1787124813 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!124 &1787124814 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!20 &1787124815 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1787124816 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_LocalRotation: {x: 0.18542074, y: -0.67712194, z: 0.18238983, w: 0.6883742} + m_LocalPosition: {x: 9.541932, y: 4.83, z: -4.0748596} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1787124817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamActivatedEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1787124818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Dolly Auto + m_Description: 'Turn this window off by removing the script on Main Camera + + + The camera follows the character with the Auto Dolly feature, on the Body of the + virtual camera + + + Note the Look Ahead functionality on the Aim Composer' +--- !u!4 &1962061721 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4807132077054408, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1251549206} +--- !u!1001 &2058969124 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b6a68029251c6c54ea270e3724819861, type: 2} + m_IsPrefabAsset: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Auto.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Auto.unity.meta new file mode 100644 index 00000000..20320eff --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Auto.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0025b5c57acfe5944bc2cbfaf8278c44 +timeCreated: 1509459571 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Cart.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Cart.unity new file mode 100644 index 00000000..0861d234 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Cart.unity @@ -0,0 +1,811 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &399017372 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1888939156634140, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 399017374} + - component: {fileID: 399017373} + - component: {fileID: 399017375} + m_Layer: 0 + m_Name: CM Dolly camera in cart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &399017373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114679459329679542, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 399017372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 480199373} + m_Follow: {fileID: 1629969563} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1035685395} +--- !u!4 &399017374 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4962682443765646, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 399017372} + m_LocalRotation: {x: 0.10564118, y: 0.7670904, z: -0.13089494, w: 0.61909515} + m_LocalPosition: {x: -19.545486, y: 10.445385, z: 1.3382607} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1035685395} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &399017375 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 399017372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4700f9f03ad19f94baf0367cb7a9c988, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Width: 3.68 + m_Damping: 2 + m_MinFOV: 2 + m_MaxFOV: 60 +--- !u!1 &410947112 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 410947114} + - component: {fileID: 410947113} + m_Layer: 0 + m_Name: GameManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &410947113 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 410947112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2cfb0b06d5a4af5429ea7f2b67fd8579, type: 3} + m_Name: + m_EditorClassIdentifier: + vcam: {fileID: 0} +--- !u!4 &410947114 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 410947112} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -19.25} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 905855938} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &480199373 stripped +Transform: + m_PrefabParentObject: {fileID: 4433166873231232, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1251549206} +--- !u!1 &758404294 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1120736325280268, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 758404296} + - component: {fileID: 758404295} + m_Layer: 0 + m_Name: DollyTrack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &758404295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114863931766110406, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 758404294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d37e5385efd7064cb1d54c94960acae, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.2 + m_Looped: 1 + m_Waypoints: + - position: {x: 0, y: 0, z: -9.136103} + tangent: {x: 4.7018776, y: 0.30654335, z: 0} + roll: 0 + - position: {x: 14.513111, y: -2.2013016, z: 5} + tangent: {x: 0, y: 0, z: 10.140342} + roll: 0 + - position: {x: 0.3156376, y: 1.0794573, z: 20.542486} + tangent: {x: -3.8074021, y: 0, z: 0} + roll: 0 + - position: {x: -15.788214, y: -1.942997, z: 5} + tangent: {x: 0, y: 0, z: -12.03297} + roll: 0 +--- !u!4 &758404296 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4684324391922834, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 758404294} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.9569983, y: 12.1, z: -9.655998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1498267123} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &884881798 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b6a68029251c6c54ea270e3724819861, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &905855938 stripped +Transform: + m_PrefabParentObject: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, + type: 2} + m_PrefabInternal: {fileID: 884881798} +--- !u!1 &1035685394 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 1346676014627556, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1035685395} + - component: {fileID: 1035685398} + - component: {fileID: 1035685397} + - component: {fileID: 1035685396} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1035685395 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 4553480210941062, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035685394} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 399017374} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1035685396 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 114887472121485400, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035685394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36d1163fa822e8b418a0a603ec078d5c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1035685397 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 114394121848141998, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035685394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0.15 + m_LookaheadSmoothing: 20 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.2 + m_VerticalDamping: 1 + m_ScreenX: 0.5042067 + m_ScreenY: 0.3310714 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 +--- !u!114 &1035685398 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 114014728496124226, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035685394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &1251549206 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.z + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 95487103652067774, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + propertyPath: m_UpdateMode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 136696895249700382, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + propertyPath: m_Height + value: 1.72 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + propertyPath: worldDirection + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + propertyPath: useCharacterForward + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1498267122 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1498267123} + m_Layer: 0 + m_Name: DollyTrackWithCart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1498267123 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1498267122} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 758404296} + - {fileID: 1629969563} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1629969562 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1170264707004384, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1629969563} + - component: {fileID: 1629969564} + m_Layer: 0 + m_Name: DollyCart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1629969563 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4703474791163362, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1629969562} + m_LocalRotation: {x: -0.009768188, y: 0.97754914, z: -0.046517186, w: -0.20527649} + m_LocalPosition: {x: -19.545486, y: 10.445385, z: 1.3382607} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1498267123} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1629969564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114740907135044088, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1629969562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 758404295} + m_UpdateMethod: 1 + m_PositionUnits: 1 + m_Speed: 1 + m_Position: 64.45 +--- !u!1 &1787124812 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1787124816} + - component: {fileID: 1787124815} + - component: {fileID: 1787124814} + - component: {fileID: 1787124813} + - component: {fileID: 1787124817} + - component: {fileID: 1787124818} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1787124813 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!124 &1787124814 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!20 &1787124815 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 7.9704194 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1787124816 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_LocalRotation: {x: 0.10564118, y: 0.7670904, z: -0.13089494, w: 0.61909515} + m_LocalPosition: {x: -19.545486, y: 10.445385, z: 1.3382607} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1787124817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1787124818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Dolly Cart + m_Description: 'Turn this window off by removing the script on Main Camera + + + The Dolly Cart is set to move at a continuous speed around the dolly track. The + camera Aim targets the player while the Body follows the position of the cart + + + Note the Look Ahead on the camera''s Aim Composer and the Follow Zoom extension + which keep the character the same size onscreen no matter where he is in the level' diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Cart.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Cart.unity.meta new file mode 100644 index 00000000..0396b243 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Cart.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c557ce004c05be04d88d232ede508c83 +timeCreated: 1509459571 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Group.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Group.unity new file mode 100644 index 00000000..ee7dee42 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Group.unity @@ -0,0 +1,1465 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00055891516904c9da09aab98a5a5a6b + m_OcclusionCullingData: {fileID: 36300000, guid: 137552e4298a34f4ab5326febdcc6eae, + type: 2} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 0} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000117, guid: 803cd51d24f6753409c3a7964403d8e9, + type: 2} + m_UseShadowmask: 0 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &44361745 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 44361746} + m_Layer: 12 + m_Name: SceneObjects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &44361746 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 44361745} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -42, y: 16, z: 89} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 83304632} + - {fileID: 1515253388} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &54097498 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 54097499} + - component: {fileID: 54097501} + - component: {fileID: 54097500} + - component: {fileID: 54097502} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &54097499 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 54097498} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 582315086} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &54097500 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 54097498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 418e42c7d0405cc48a7b83f63ea53bb3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1921287539} + m_PathPosition: 0.05849682 + m_PositionUnits: 0 + m_PathOffset: {x: 0, y: 0, z: 0} + m_XDamping: 0 + m_YDamping: 0 + m_ZDamping: 1 + m_CameraUp: 0 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_AutoDolly: + m_Enabled: 0 + m_PositionOffset: 0 + m_SearchRadius: 2 + m_SearchResolution: 5 +--- !u!114 &54097501 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 54097498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &54097502 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 54097498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f7633c93f0364a418841eeb8b058634, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 7.1 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.92 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 + m_GroupFramingSize: 0.66 + m_FramingMode: 2 + m_FrameDamping: 1 + m_AdjustmentMode: 0 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 0 + m_MaximumDistance: 5000 + m_MinimumFOV: 8 + m_MaximumFOV: 65 + m_MinimumOrthoSize: 1 + m_MaximumOrthoSize: 100 +--- !u!1 &83304631 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 83304632} + - component: {fileID: 83304633} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &83304632 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83304631} + m_LocalRotation: {x: -0.30377543, y: -0.6300862, z: 0.29381397, w: -0.65144855} + m_LocalPosition: {x: -821, y: -2656, z: 1365} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 44361746} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -271.91, z: 0} +--- !u!108 &83304633 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 83304631} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1.66 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 1 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &246068626 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 246068627} + - component: {fileID: 246068628} + m_Layer: 12 + m_Name: TargetGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &246068627 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 246068626} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -29.298431, y: 11.540176, z: 17.713646} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &246068628 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 246068626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5eb80d8e62d9d145bb50fb783c0f731, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PositionMode: 1 + m_RotationMode: 0 + m_UpdateMethod: 2 + m_Targets: + - target: {fileID: 356621751} + weight: 1 + radius: 1 + - target: {fileID: 1517566555} + weight: 1 + radius: 1 + - target: {fileID: 890392321} + weight: 1 + radius: 1 + - target: {fileID: 1065140548} + weight: 1 + radius: 1 +--- !u!1 &356621747 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 356621751} + - component: {fileID: 356621750} + - component: {fileID: 356621749} + - component: {fileID: 356621748} + - component: {fileID: 356621752} + m_Layer: 0 + m_Name: Ship + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &356621748 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 356621747} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &356621749 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 356621747} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &356621750 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 356621747} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &356621751 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 356621747} + m_LocalRotation: {x: 0.87604606, y: -0.27709115, z: 0.37245908, w: -0.13052996} + m_LocalPosition: {x: -29.807257, y: -4.214493, z: 40.194843} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 1740922303} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &356621752 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 356621747} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1798531948} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 20 + m_Position: 250 +--- !u!1 &582315084 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 582315086} + - component: {fileID: 582315085} + - component: {fileID: 582315087} + - component: {fileID: 582315088} + - component: {fileID: 582315089} + m_Layer: 0 + m_Name: CM vcam1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &582315085 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582315084} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 11 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 246068627} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.5 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 54097499} +--- !u!4 &582315086 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582315084} + m_LocalRotation: {x: 0.02882965, y: 0.75705874, z: -0.0334827, w: 0.6518511} + m_LocalPosition: {x: -76.75638, y: 31.241001, z: 162.05838} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 54097499} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &582315087 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582315084} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &582315088 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582315084} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 360979aafebd332448626a2236bafdb4, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!320 &582315089 +PlayableDirector: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582315084} + m_Enabled: 1 + serializedVersion: 3 + m_PlayableAsset: {fileID: 11400000, guid: 41eacbf3116c0a44db5d97e62b55faf4, type: 2} + m_InitialState: 1 + m_WrapMode: 2 + m_DirectorUpdateMode: 1 + m_InitialTime: 0 + m_SceneBindings: + - key: {fileID: 114621659449839138, guid: 41eacbf3116c0a44db5d97e62b55faf4, type: 2} + value: {fileID: 582315084} + m_ExposedReferences: + m_References: [] +--- !u!1 &890392320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 890392321} + - component: {fileID: 890392325} + - component: {fileID: 890392324} + - component: {fileID: 890392323} + - component: {fileID: 890392322} + m_Layer: 0 + m_Name: Ship (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &890392321 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 890392320} + m_LocalRotation: {x: -0.038023185, y: -0.5050635, z: 0.2413087, w: 0.82778937} + m_LocalPosition: {x: 65.133736, y: 17.712986, z: 157.8403} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 1740922303} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &890392322 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 890392320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1798531948} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 20 + m_Position: 0 +--- !u!23 &890392323 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 890392320} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &890392324 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 890392320} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &890392325 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 890392320} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &935649190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 935649191} + - component: {fileID: 935649196} + - component: {fileID: 935649195} + - component: {fileID: 935649193} + - component: {fileID: 935649192} + - component: {fileID: 935649197} + m_Layer: 0 + m_Name: Main Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &935649191 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 935649190} + m_LocalRotation: {x: 0.02882965, y: 0.75705874, z: -0.0334827, w: 0.6518511} + m_LocalPosition: {x: -233.81467, y: 26.082941, z: 53.3329} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &935649192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 935649190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!81 &935649193 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 935649190} + m_Enabled: 1 +--- !u!124 &935649195 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 935649190} + m_Enabled: 1 +--- !u!20 &935649196 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 935649190} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.2438365, g: 0.3834883, b: 0.60294116, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.5 + far clip plane: 5000 + field of view: 50.97761 + orthographic: 0 + orthographic size: 96.39375 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!114 &935649197 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 935649190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Dolly Group + m_Description: "Turn this window off by removing the script on Main Camera\n\nThe + camera is using a Target Group to drive a Group Framer on the Aim component\n\nThis + gives the control to dolly and/or zoom to keep all the targets onscreen \n" +--- !u!1 &1065140547 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1065140548} + - component: {fileID: 1065140552} + - component: {fileID: 1065140551} + - component: {fileID: 1065140550} + - component: {fileID: 1065140549} + m_Layer: 0 + m_Name: Ship2 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1065140548 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1065140547} + m_LocalRotation: {x: -0.76923454, y: -0.6265544, z: 0.12324549, w: 0.022766588} + m_LocalPosition: {x: -83.146194, y: 15.494193, z: 156.9594} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 1740922303} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1065140549 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1065140547} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1545422794} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 20 + m_Position: 250 +--- !u!23 &1065140550 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1065140547} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1065140551 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1065140547} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1065140552 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1065140547} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1515253384 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1515253388} + - component: {fileID: 1515253387} + - component: {fileID: 1515253386} + - component: {fileID: 1515253385} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1515253385 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515253384} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0e079ef97504e314080afe2ab2599e87, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &1515253386 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515253384} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1515253387 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515253384} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1515253388 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515253384} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 42, y: -35.1, z: -89} + m_LocalScale: {x: 1000, y: 1000, z: 1} + m_Children: [] + m_Father: {fileID: 44361746} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1 &1517566550 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1517566555} + - component: {fileID: 1517566554} + - component: {fileID: 1517566553} + - component: {fileID: 1517566552} + - component: {fileID: 1517566551} + m_Layer: 0 + m_Name: Ship2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1517566551 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1517566550} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 1545422794} + m_UpdateMethod: 0 + m_PositionUnits: 1 + m_Speed: 20 + m_Position: 0 +--- !u!23 &1517566552 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1517566550} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1517566553 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1517566550} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1517566554 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1517566550} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1517566555 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1517566550} + m_LocalRotation: {x: -0.06880841, y: 0.05220813, z: -0.0047729113, w: 0.99625146} + m_LocalPosition: {x: 47.481544, y: -5.257717, z: 121.60867} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 1740922303} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1545422793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1545422795} + - component: {fileID: 1545422794} + m_Layer: 0 + m_Name: Ship2Path + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1545422794 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1545422793} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d37e5385efd7064cb1d54c94960acae, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 2.83 + m_Looped: 1 + m_Waypoints: + - position: {x: 30.72, y: 0.1, z: 19.73} + tangent: {x: -5.684576, y: -0.22397003, z: -8.327201} + roll: 0 + - position: {x: 16.978699, y: 8.745624, z: 2.817265} + tangent: {x: -4.193307, y: -5.1634755, z: -16.49333} + roll: 0 + - position: {x: 20.417793, y: 6.9688206, z: -67.616104} + tangent: {x: 27.426968, y: -6.1587086, z: -24.093895} + roll: 52.27 + - position: {x: 75.80944, y: -9.0084915, z: -88.37905} + tangent: {x: 31.62204, y: 13.401394, z: 33.06137} + roll: -122.23 + - position: {x: 129.34143, y: 15.026501, z: -73.75957} + tangent: {x: 23.127792, y: 0.75884247, z: 29.120026} + roll: 106.3 + - position: {x: 93.5148, y: 29.038704, z: -27.389708} + tangent: {x: -20.04235, y: 0.03768158, z: 25.085808} + roll: -72.85 + - position: {x: 67.56615, y: 15.6454315, z: 32.9898} + tangent: {x: -33.403885, y: 27.850407, z: 32.81881} + roll: -19.74 + - position: {x: 35.037216, y: -9.200633, z: 50.641422} + tangent: {x: 3.9908714, y: 0.010917664, z: -18.592678} + roll: 0 +--- !u!4 &1545422795 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1545422793} + m_LocalRotation: {x: 0.019557575, y: -0.96653354, z: 0.07754919, w: -0.24375537} + m_LocalPosition: {x: 65.17096, y: -0.2640705, z: 153.15468} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1740922303} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: -87.29401, z: 0} +--- !u!1 &1740922302 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1740922303} + m_Layer: 0 + m_Name: Ships + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1740922303 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1740922302} + m_LocalRotation: {x: 0.039373316, y: 0.86763376, z: -0.06961396, w: 0.49072936} + m_LocalPosition: {x: -130.96213, y: 24.68, z: 78.73798} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1798531949} + - {fileID: 1545422795} + - {fileID: 356621751} + - {fileID: 890392321} + - {fileID: 1517566555} + - {fileID: 1065140548} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1798531947 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1798531949} + - component: {fileID: 1798531948} + m_Layer: 0 + m_Name: ShipPath + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1798531948 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798531947} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d37e5385efd7064cb1d54c94960acae, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 1.75 + m_Looped: 1 + m_Waypoints: + - position: {x: 0, y: 17, z: 1} + tangent: {x: -6.270682, y: -3.9567795, z: -13.552867} + roll: 18.2 + - position: {x: 17.07645, y: 20.35817, z: -67.61608} + tangent: {x: 27.426968, y: -0.13424683, z: -24.093887} + roll: -38.22 + - position: {x: 89.08989, y: 5.6881485, z: -123.64156} + tangent: {x: 51.313232, y: 13.401398, z: 50.696518} + roll: -145.7 + - position: {x: 115.076195, y: 15.098282, z: -57.511845} + tangent: {x: -25.558311, y: 0.058876038, z: 16.759129} + roll: -121.78 + - position: {x: 99.26248, y: 41.132576, z: -19.8946} + tangent: {x: 18.982773, y: 0.75884247, z: 35.205887} + roll: -109.274994 + - position: {x: 85.97822, y: 29.038704, z: 15.810028} + tangent: {x: -7.573242, y: 0.03768158, z: 15.86969} + roll: -64.66 + - position: {x: 39.255253, y: 0.6823654, z: 38.01657} + tangent: {x: -23.19193, y: 0.010917664, z: 10.972067} + roll: 64.06 +--- !u!4 &1798531949 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798531947} + m_LocalRotation: {x: -0.055032052, y: 0.723295, z: -0.05803305, w: 0.6858921} + m_LocalPosition: {x: 64.135155, y: 0.9389219, z: 160.60316} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1740922303} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 214.056, z: 0} +--- !u!1 &1921287538 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1921287540} + - component: {fileID: 1921287539} + m_Layer: 0 + m_Name: Camera Path + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1921287539 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1921287538} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d37e5385efd7064cb1d54c94960acae, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.4 + m_Looped: 1 + m_Waypoints: + - position: {x: -23.952618, y: 4.28, z: 0.9999866} + tangent: {x: -53.40964, y: -3.9567795, z: -109.85931} + roll: 0 + - position: {x: -6.201124, y: 44.163406, z: -195.93398} + tangent: {x: 85.83418, y: -0.13424683, z: -79.88347} + roll: 0 + - position: {x: 282.35486, y: 10.928215, z: -67.424515} + tangent: {x: -4.244812, y: -3.8954315, z: 88.39297} + roll: 0 + - position: {x: 138.23291, y: 18.510185, z: 102.464775} + tangent: {x: -83.048485, y: 0.010917664, z: 1.6377411} + roll: 0 +--- !u!4 &1921287540 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1921287538} + m_LocalRotation: {x: -0, y: -0.005468043, z: -0, w: 0.9999851} + m_LocalPosition: {x: -188, y: 20.4, z: 78} + m_LocalScale: {x: 1.4000002, y: 1.4, z: 1.4000002} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -0.62700003, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Group.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Group.unity.meta new file mode 100644 index 00000000..d3a5cc02 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Tracked Dolly/Dolly Group.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 43c985989a71b7046963a051123f9688 +timeCreated: 1498584710 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer.meta new file mode 100644 index 00000000..92db2d71 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ef1d9d7e748187741bd77b0ee44e1db8 +folderAsset: yes +timeCreated: 1455750318 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Cube.controller b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Cube.controller new file mode 100644 index 00000000..ab090dc7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Cube.controller @@ -0,0 +1,67 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Cube + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 110790330} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &110222608 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: cube movement + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 348fa7e7cdf52ee4c996c8fd82291c24, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: +--- !u!1107 &110790330 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 110222608} + m_Position: {x: 200, y: 0, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 110222608} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Cube.controller.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Cube.controller.meta new file mode 100644 index 00000000..87143d1c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Cube.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 025857098477b614e9d28478a5b9c90e +timeCreated: 1455757643 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Transposer.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Transposer.unity new file mode 100644 index 00000000..f6026900 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Transposer.unity @@ -0,0 +1,1498 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 0 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &36310727 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 36310728} + m_Layer: 0 + m_Name: Scene Objects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &36310728 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 36310727} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1200725360} + - {fileID: 1835008832} + - {fileID: 468527923} + - {fileID: 1396761974} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &380505617 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 380505618} + - component: {fileID: 380505621} + - component: {fileID: 380505620} + - component: {fileID: 380505619} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &380505618 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380505617} + m_LocalRotation: {x: -0, y: 0.44568163, z: -0, w: 0.89519155} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} + m_Children: [] + m_Father: {fileID: 1200725360} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &380505619 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380505617} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!135 &380505620 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380505617} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &380505621 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 380505617} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &468527918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 468527923} + - component: {fileID: 468527922} + - component: {fileID: 468527920} + - component: {fileID: 468527919} + - component: {fileID: 468527925} + - component: {fileID: 468527924} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &468527919 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_Enabled: 1 +--- !u!124 &468527920 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_Enabled: 1 +--- !u!20 &468527922 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &468527923 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_LocalRotation: {x: 0.00043160986, y: -0.4461221, z: 0.00021514778, w: 0.894972} + m_LocalPosition: {x: -289.8247, y: 4.1, z: -16.53283} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 36310728} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &468527924 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Cinemachine Transposer + m_Description: Turn on different CM_cameras to see how the Transposer Offset modes + work +--- !u!114 &468527925 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 468527918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &618629028 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 618629029} + - component: {fileID: 618629031} + - component: {fileID: 618629030} + - component: {fileID: 618629032} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &618629029 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 618629028} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 289.31403, y: -4.1, z: 16.918587} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 904204510} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &618629030 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 618629028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 1 + m_FollowOffset: {x: 0, y: 0, z: -12} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 1 + m_YawDamping: 1 + m_RollDamping: 1 + m_AngularDamping: 0 +--- !u!114 &618629031 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 618629028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &618629032 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 618629028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5011474 + m_ScreenY: 0.498675 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.874 + m_SoftZoneHeight: 0.889 + m_BiasX: 0.00000006819754 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!1 &706415423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 706415425} + - component: {fileID: 706415424} + m_Layer: 0 + m_Name: CM_LockToTargetOnAssign + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &706415424 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706415423} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 1200725360} + m_Follow: {fileID: 1200725360} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1868423859} +--- !u!4 &706415425 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706415423} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -289.8247, y: 4.1, z: -16.53283} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1868423859} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &901510346 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 901510347} + - component: {fileID: 901510349} + - component: {fileID: 901510348} + - component: {fileID: 901510350} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &901510347 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 901510346} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 290.55084, y: -4.1, z: 15.98434} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1894576049} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &901510348 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 901510346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 2 + m_FollowOffset: {x: 0, y: 0, z: -12} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 1 + m_YawDamping: 1 + m_RollDamping: 1 + m_AngularDamping: 0 +--- !u!114 &901510349 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 901510346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &901510350 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 901510346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5000661 + m_ScreenY: 0.506206 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!1 &904204508 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 904204510} + - component: {fileID: 904204509} + m_Layer: 0 + m_Name: CM_LockToTargetWithWorldUp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &904204509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 904204508} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 1200725360} + m_Follow: {fileID: 1200725360} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 618629029} +--- !u!4 &904204510 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 904204508} + m_LocalRotation: {x: 0.00043160986, y: -0.4461221, z: 0.00021514778, w: 0.894972} + m_LocalPosition: {x: -289.8247, y: 4.1, z: -16.53283} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 618629029} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1200725359 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1200725360} + - component: {fileID: 1200725363} + - component: {fileID: 1200725362} + - component: {fileID: 1200725361} + - component: {fileID: 1200725364} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1200725360 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_LocalRotation: {x: 0, y: -0.44568163, z: 0, w: 0.89519155} + m_LocalPosition: {x: -299.4, y: 4.1, z: -9.3} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: + - {fileID: 380505618} + m_Father: {fileID: 36310728} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1200725361 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 768ffdf2b6949054488c74579e87288b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1200725362 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1200725363 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!95 &1200725364 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200725359} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 025857098477b614e9d28478a5b9c90e, type: 2} + m_CullingMode: 0 + m_UpdateMode: 1 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!1 &1233816040 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1233816041} + - component: {fileID: 1233816044} + - component: {fileID: 1233816043} + - component: {fileID: 1233816042} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1233816041 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233816040} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 290.55084, y: -4.1, z: 15.98434} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1569161796} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1233816042 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233816040} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.775 + m_SoftZoneHeight: 0.815 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1233816043 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233816040} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 3 + m_FollowOffset: {x: 0, y: 0, z: -12} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 1 + m_YawDamping: 1 + m_RollDamping: 1 + m_AngularDamping: 0 +--- !u!114 &1233816044 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1233816040} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1359858859 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1359858861} + - component: {fileID: 1359858860} + m_Layer: 0 + m_Name: CM_WorldSpace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1359858860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1359858859} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 1200725360} + m_Follow: {fileID: 1200725360} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 2000944848} +--- !u!4 &1359858861 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1359858859} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -299.4, y: 4.1, z: -21.970001} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2000944848} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1396761973 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1396761974} + - component: {fileID: 1396761975} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1396761974 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1396761973} + m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.109381676, w: 0.87542605} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 36310728} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &1396761975 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1396761973} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &1569161794 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1569161796} + - component: {fileID: 1569161795} + m_Layer: 0 + m_Name: CM_LockToTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1569161795 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1569161794} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 1200725360} + m_Follow: {fileID: 1200725360} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1233816041} +--- !u!4 &1569161796 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1569161794} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -289.8247, y: 4.1, z: -16.53283} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1233816041} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1835008831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1835008832} + - component: {fileID: 1835008835} + - component: {fileID: 1835008834} + - component: {fileID: 1835008833} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1835008832 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835008831} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1000, y: 1000, z: 1000} + m_Children: [] + m_Father: {fileID: 36310728} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1835008833 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835008831} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f993b29f4cc364a4eaf7bbf9086de313, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!64 &1835008834 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835008831} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1835008835 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835008831} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1868423858 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868423859} + - component: {fileID: 1868423861} + - component: {fileID: 1868423860} + - component: {fileID: 1868423862} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1868423859 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868423858} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 290.2157, y: -4.1, z: 16.237488} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 706415425} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1868423860 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868423858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 0 + m_FollowOffset: {x: 0, y: 0, z: -12} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 1 + m_YawDamping: 1 + m_RollDamping: 1 + m_AngularDamping: 0 +--- !u!114 &1868423861 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868423858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1868423862 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1868423858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!1 &1894576047 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1894576049} + - component: {fileID: 1894576048} + m_Layer: 0 + m_Name: CM_LockToTargetNoRoll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1894576048 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1894576047} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 1200725360} + m_Follow: {fileID: 1200725360} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 901510347} +--- !u!4 &1894576049 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1894576047} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -290.55084, y: 4.1, z: -15.98434} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 901510347} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2000944847 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2000944848} + - component: {fileID: 2000944850} + - component: {fileID: 2000944849} + - component: {fileID: 2000944851} + m_Layer: 0 + m_Name: Cinemachine pipeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2000944848 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2000944847} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 299.4, y: -4.1, z: 21.970001} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1359858861} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2000944849 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2000944847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 4 + m_FollowOffset: {x: 0, y: 0, z: -12} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_AngularDampingMode: 0 + m_PitchDamping: 1 + m_YawDamping: 1 + m_RollDamping: 1 + m_AngularDamping: 0 +--- !u!114 &2000944850 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2000944847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &2000944851 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2000944847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 0.5 + m_ScreenX: 0.52910423 + m_ScreenY: 0.521618 + m_DeadZoneWidth: 0 + m_DeadZoneHeight: 0 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Transposer.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Transposer.unity.meta new file mode 100644 index 00000000..676c24e1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/Transposer.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c89b4ed24cd82346a17380bfd7eda3a +timeCreated: 1455750537 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/cube movement.anim b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/cube movement.anim new file mode 100644 index 00000000..a57a6f13 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/cube movement.anim @@ -0,0 +1,15249 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: cube movement + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: {x: -0, y: -0, z: -0, w: -1} + inSlope: {x: -.0546741933, y: -.31422618, z: .000298674888, w: .00084757799} + outSlope: {x: -.0546741933, y: -.31422618, z: .000298674888, w: .00084757799} + tangentMode: 0 + - time: .0166666675 + value: {x: -.000911236624, y: -.00523710344, z: 4.97791507e-06, w: -.999985874} + inSlope: {x: -.05525776, y: -.314289093, z: .000603437948, w: .00169694412} + outSlope: {x: -.05525776, y: -.314289093, z: .000603437948, w: .00169694412} + tangentMode: 0 + - time: .0333333351 + value: {x: -.00184192543, y: -.0104763042, z: 2.01145995e-05, w: -.999943435} + inSlope: {x: -.0564103574, y: -.314408779, z: .00122189615, w: .00339746429} + outSlope: {x: -.0564103574, y: -.314408779, z: .00122189615, w: .00339746429} + tangentMode: 0 + - time: .0500000045 + value: {x: -.00279158214, y: -.0157173965, z: 4.57077949e-05, w: -.999872625} + inSlope: {x: -.0575337671, y: -.314516097, z: .00185795035, w: .00510692596} + outSlope: {x: -.0575337671, y: -.314516097, z: .00185795035, w: .00510692596} + tangentMode: 0 + - time: .0666666701 + value: {x: -.0037597178, y: -.0209601745, z: 8.2046281e-05, w: -.999773204} + inSlope: {x: -.0586277992, y: -.314611077, z: .00251106173, w: .00681817578} + outSlope: {x: -.0586277992, y: -.314611077, z: .00251106173, w: .00681817578} + tangentMode: 0 + - time: .0833333358 + value: {x: -.00474584196, y: -.0262044314, z: .000129409847, w: -.999645352} + inSlope: {x: -.0596922785, y: -.314693749, z: .0031806929, w: .00853300188} + outSlope: {x: -.0596922785, y: -.314693749, z: .0031806929, w: .00853300188} + tangentMode: 0 + - time: .100000001 + value: {x: -.00574946031, y: -.0314499661, z: .000188069374, w: -.999488771} + inSlope: {x: -.06072703, y: -.314764023, z: .00386629836, w: .0102567682} + outSlope: {x: -.06072703, y: -.314764023, z: .00386629836, w: .0102567682} + tangentMode: 0 + - time: .116666667 + value: {x: -.00677007623, y: -.0366965644, z: .000258286454, w: -.99930346} + inSlope: {x: -.0617319122, y: -.314821541, z: .00456733257, w: .0119805317} + outSlope: {x: -.0617319122, y: -.314821541, z: .00456733257, w: .0119805317} + tangentMode: 0 + - time: .13333334 + value: {x: -.007807191, y: -.0419440195, z: .000340313825, w: -.99908942} + inSlope: {x: -.0627067387, y: -.314866245, z: .00528324535, w: .0137096625} + outSlope: {x: -.0627067387, y: -.314866245, z: .00528324535, w: .0137096625} + tangentMode: 0 + - time: .150000006 + value: {x: -.00886030123, y: -.0471921079, z: .000434394664, w: -.998846471} + inSlope: {x: -.0636513829, y: -.314898401, z: .00601349026, w: .0154459495} + outSlope: {x: -.0636513829, y: -.314898401, z: .00601349026, w: .0154459495} + tangentMode: 0 + - time: .166666672 + value: {x: -.00992890354, y: -.0524406321, z: .000540763489, w: -.998574555} + inSlope: {x: -.0645656884, y: -.314918071, z: .00675751781, w: .017184021} + outSlope: {x: -.0645656884, y: -.314918071, z: .00675751781, w: .017184021} + tangentMode: 0 + - time: .183333337 + value: {x: -.0110124908, y: -.0576893762, z: .000659645244, w: -.998273671} + inSlope: {x: -.0654495955, y: -.31492433, z: .00751476595, w: .018929245} + outSlope: {x: -.0654495955, y: -.31492433, z: .00751476595, w: .018929245} + tangentMode: 0 + - time: .200000003 + value: {x: -.0121105565, y: -.062938109, z: .000791255676, w: -.99794358} + inSlope: {x: -.0663028434, y: -.314917982, z: .008284688, w: .0206744689} + outSlope: {x: -.0663028434, y: -.314917982, z: .008284688, w: .0206744689} + tangentMode: 0 + - time: .216666669 + value: {x: -.0132225854, y: -.0681866407, z: .000935801479, w: -.997584522} + inSlope: {x: -.0671253353, y: -.314898312, z: .00906671397, w: .0224214811} + outSlope: {x: -.0671253353, y: -.314898312, z: .00906671397, w: .0224214811} + tangentMode: 0 + - time: .233333334 + value: {x: -.0143480673, y: -.073434718, z: .00109347946, w: -.997196198} + inSlope: {x: -.0679170862, y: -.31486544, z: .00986028463, w: .0241756458} + outSlope: {x: -.0679170862, y: -.31486544, z: .00986028463, w: .0241756458} + tangentMode: 0 + - time: .25 + value: {x: -.0154864881, y: -.0786821544, z: .00126447761, w: -.996778667} + inSlope: {x: -.0686778277, y: -.314820141, z: .010664843, w: .0259315856} + outSlope: {x: -.0686778277, y: -.314820141, z: .010664843, w: .0259315856} + tangentMode: 0 + - time: .266666681 + value: {x: -.016637329, y: -.0839287266, z: .00144897436, w: -.996331811} + inSlope: {x: -.0694075748, y: -.314760983, z: .0114798276, w: .0276911035} + outSlope: {x: -.0694075748, y: -.314760983, z: .0114798276, w: .0276911035} + tangentMode: 0 + - time: .283333361 + value: {x: -.0178000759, y: -.0891741961, z: .00164713885, w: -.995855629} + inSlope: {x: -.0701061785, y: -.314689219, z: .0123046758, w: .029452417} + outSlope: {x: -.0701061785, y: -.314689219, z: .0123046758, w: .029452417} + tangentMode: 0 + - time: .300000042 + value: {x: -.0189742036, y: -.0944183767, z: .00185913057, w: -.995350063} + inSlope: {x: -.0707734898, y: -.314604074, z: .0131388139, w: .0312173106} + outSlope: {x: -.0707734898, y: -.314604074, z: .0131388139, w: .0312173106} + tangentMode: 0 + - time: .316666722 + value: {x: -.0201591942, y: -.0996610075, z: .0020850997, w: -.994815052} + inSlope: {x: -.0714096725, y: -.314504832, z: .0139816739, w: .0329857767} + outSlope: {x: -.0714096725, y: -.314504832, z: .0139816739, w: .0329857767} + tangentMode: 0 + - time: .333333403 + value: {x: -.0213545281, y: -.10490188, z: .00232518674, w: -.994250536} + inSlope: {x: -.0720144585, y: -.314391971, z: .0148326736, w: .0347542465} + outSlope: {x: -.0720144585, y: -.314391971, z: .0148326736, w: .0347542465} + tangentMode: 0 + - time: .350000083 + value: {x: -.0225596782, y: -.110140748, z: .00257952255, w: -.993656576} + inSlope: {x: -.0725877807, y: -.314266324, z: .0156912729, w: .0365227163} + outSlope: {x: -.0725877807, y: -.314266324, z: .0156912729, w: .0365227163} + tangentMode: 0 + - time: .366666764 + value: {x: -.0237741228, y: -.115377434, z: .0028482296, w: -.993033111} + inSlope: {x: -.0731295869, y: -.314127743, z: .0165569, w: .0382965505} + outSlope: {x: -.0731295869, y: -.314127743, z: .0165569, w: .0382965505} + tangentMode: 0 + - time: .383333445 + value: {x: -.0249973331, y: -.120611683, z: .00313141965, w: -.992380023} + inSlope: {x: -.0736399889, y: -.313974857, z: .0174289569, w: .0400721692} + outSlope: {x: -.0736399889, y: -.313974857, z: .0174289569, w: .0400721692} + tangentMode: 0 + - time: .400000125 + value: {x: -.0262287911, y: -.125843272, z: .00342919538, w: -.991697371} + inSlope: {x: -.0741187632, y: -.313809693, z: .0183068924, w: .0418459997} + outSlope: {x: -.0741187632, y: -.313809693, z: .0183068924, w: .0418459997} + tangentMode: 0 + - time: .416666806 + value: {x: -.0274679605, y: -.131072015, z: .00374164991, w: -.990985155} + inSlope: {x: -.0745660216, y: -.313629091, z: .0191900861, w: .043621622} + outSlope: {x: -.0745660216, y: -.313629091, z: .0191900861, w: .043621622} + tangentMode: 0 + - time: .433333486 + value: {x: -.0287143271, y: -.136297584, z: .00406886544, w: -.990243316} + inSlope: {x: -.0749816522, y: -.313435078, z: .0200780369, w: .0453972444} + outSlope: {x: -.0749816522, y: -.313435078, z: .0200780369, w: .0453972444} + tangentMode: 0 + - time: .450000167 + value: {x: -.0299673509, y: -.141519859, z: .00441091834, w: -.989471912} + inSlope: {x: -.075365603, y: -.313229889, z: .020970162, w: .0471728668} + outSlope: {x: -.075365603, y: -.313229889, z: .020970162, w: .0471728668} + tangentMode: 0 + - time: .466666847 + value: {x: -.0312265158, y: -.146738589, z: .00476787146, w: -.988670886} + inSlope: {x: -.0757180899, y: -.313008159, z: .0218658112, w: .0489538498} + outSlope: {x: -.0757180899, y: -.313008159, z: .0218658112, w: .0489538498} + tangentMode: 0 + - time: .483333528 + value: {x: -.0324912891, y: -.151953474, z: .0051397793, w: -.987840116} + inSlope: {x: -.0760385096, y: -.312774181, z: .0227644406, w: .0507330932} + outSlope: {x: -.0760385096, y: -.312774181, z: .0227644406, w: .0507330932} + tangentMode: 0 + - time: .500000179 + value: {x: -.0337611325, y: -.157164395, z: .00552668609, w: -.986979783} + inSlope: {x: -.0763274729, y: -.312527716, z: .0236655436, w: .0525105521} + outSlope: {x: -.0763274729, y: -.312527716, z: .0236655436, w: .0525105521} + tangentMode: 0 + - time: .51666683 + value: {x: -.0350355357, y: -.162371054, z: .00592863001, w: -.986089766} + inSlope: {x: -.076584965, y: -.312266201, z: .0245685279, w: .0542897508} + outSlope: {x: -.076584965, y: -.312266201, z: .0245685279, w: .0542897508} + tangentMode: 0 + - time: .53333348 + value: {x: -.0363139622, y: -.167573258, z: .00634563621, w: -.985170126} + inSlope: {x: -.0768108293, y: -.311991274, z: .0254727397, w: .056063585} + outSlope: {x: -.0768108293, y: -.311991274, z: .0254727397, w: .056063585} + tangentMode: 0 + - time: .550000131 + value: {x: -.0375958942, y: -.172770754, z: .00677772053, w: -.984220982} + inSlope: {x: -.077005513, y: -.31170249, z: .0263776649, w: .0578392111} + outSlope: {x: -.077005513, y: -.31170249, z: .0263776649, w: .0578392111} + tangentMode: 0 + - time: .566666782 + value: {x: -.0388808101, y: -.177963331, z: .00722489087, w: -.983242154} + inSlope: {x: -.0771683455, y: -.311400741, z: .0272827577, w: .0596130453} + outSlope: {x: -.0771683455, y: -.311400741, z: .0272827577, w: .0596130453} + tangentMode: 0 + - time: .583333433 + value: {x: -.0401681699, y: -.183150768, z: .00768714491, w: -.982233882} + inSlope: {x: -.0772994384, y: -.311084688, z: .0281873196, w: .0613850951} + outSlope: {x: -.0772994384, y: -.311084688, z: .0281873196, w: .0613850951} + tangentMode: 0 + - time: .600000083 + value: {x: -.0414574556, y: -.188332811, z: .00816446729, w: -.981195986} + inSlope: {x: -.0773994625, y: -.310755223, z: .0290908758, w: .0631607175} + outSlope: {x: -.0773994625, y: -.310755223, z: .0290908758, w: .0631607175} + tangentMode: 0 + - time: .616666734 + value: {x: -.0427481495, y: -.193509266, z: .00865683984, w: -.980128527} + inSlope: {x: -.0774679706, y: -.310412794, z: .0299929082, w: .0649309754} + outSlope: {x: -.0774679706, y: -.310412794, z: .0299929082, w: .0649309754} + tangentMode: 0 + - time: .633333385 + value: {x: -.0440397188, y: -.198679894, z: .00916422997, w: -.979031622} + inSlope: {x: -.0775054097, y: -.310056955, z: .0308928192, w: .0666994452} + outSlope: {x: -.0775054097, y: -.310056955, z: .0308928192, w: .0666994452} + tangentMode: 0 + - time: .650000036 + value: {x: -.0453316607, y: -.203844488, z: .00968659949, w: -.977905214} + inSlope: {x: -.0775114447, y: -.309688151, z: .0317899622, w: .0684643462} + outSlope: {x: -.0775114447, y: -.309688151, z: .0317899622, w: .0684643462} + tangentMode: 0 + - time: .666666687 + value: {x: -.0466234311, y: -.209002823, z: .0102238944, w: -.97674948} + inSlope: {x: -.0774860755, y: -.309305042, z: .0326836966, w: .0702256635} + outSlope: {x: -.0774860755, y: -.309305042, z: .0326836966, w: .0702256635} + tangentMode: 0 + - time: .683333337 + value: {x: -.0479145274, y: -.214154646, z: .010776055, w: -.975564361} + inSlope: {x: -.0774303079, y: -.308908075, z: .033573661, w: .0719869807} + outSlope: {x: -.0774303079, y: -.308908075, z: .033573661, w: .0719869807} + tangentMode: 0 + - time: .699999988 + value: {x: -.0492044389, y: -.219299749, z: .0113430154, w: -.974349916} + inSlope: {x: -.0773435831, y: -.308499038, z: .0344592929, w: .0737411529} + outSlope: {x: -.0773435831, y: -.308499038, z: .0344592929, w: .0737411529} + tangentMode: 0 + - time: .716666639 + value: {x: -.0504926443, y: -.224437937, z: .0119246971, w: -.973106325} + inSlope: {x: -.0772257894, y: -.308077037, z: .0353398398, w: .0754935294} + outSlope: {x: -.0772257894, y: -.308077037, z: .0353398398, w: .0754935294} + tangentMode: 0 + - time: .73333329 + value: {x: -.0517786294, y: -.229568973, z: .012521009, w: -.971833467} + inSlope: {x: -.0770773739, y: -.307640731, z: .0362147987, w: .0772441179} + outSlope: {x: -.0770773739, y: -.307640731, z: .0362147987, w: .0772441179} + tangentMode: 0 + - time: .74999994 + value: {x: -.0530618876, y: -.234692618, z: .013131856, w: -.970531523} + inSlope: {x: -.0768985599, y: -.307191461, z: .0370837525, w: .0789929181} + outSlope: {x: -.0768985599, y: -.307191461, z: .0370837525, w: .0789929181} + tangentMode: 0 + - time: .766666591 + value: {x: -.0543419123, y: -.239808679, z: .0137571329, w: -.969200373} + inSlope: {x: -.0766891241, y: -.306730121, z: .0379460007, w: .0807327777} + outSlope: {x: -.0766891241, y: -.306730121, z: .0379460007, w: .0807327777} + tangentMode: 0 + - time: .783333242 + value: {x: -.0556181893, y: -.244916946, z: .0143967215, w: -.967840433} + inSlope: {x: -.0764492899, y: -.306255817, z: .0388009027, w: .082469061} + outSlope: {x: -.0764492899, y: -.306255817, z: .0388009027, w: .082469061} + tangentMode: 0 + - time: .799999893 + value: {x: -.0568902194, y: -.250017196, z: .015050495, w: -.966451406} + inSlope: {x: -.0761790574, y: -.305768549, z: .0396480598, w: .0842035636} + outSlope: {x: -.0761790574, y: -.305768549, z: .0396480598, w: .0842035636} + tangentMode: 0 + - time: .816666543 + value: {x: -.0581574887, y: -.255109221, z: .0157183222, w: -.96503365} + inSlope: {x: -.0758796558, y: -.305266976, z: .0404869206, w: .0859291181} + outSlope: {x: -.0758796558, y: -.305266976, z: .0404869206, w: .0859291181} + tangentMode: 0 + - time: .833333194 + value: {x: -.0594195388, y: -.260192752, z: .0164000578, w: -.963587105} + inSlope: {x: -.0755506381, y: -.304752886, z: .0413168967, w: .0876528844} + outSlope: {x: -.0755506381, y: -.304752886, z: .0413168967, w: .0876528844} + tangentMode: 0 + - time: .849999845 + value: {x: -.0606758408, y: -.26526764, z: .0170955509, w: -.96211189} + inSlope: {x: -.0751907751, y: -.304228067, z: .0421374887, w: .0893712938} + outSlope: {x: -.0751907751, y: -.304228067, z: .0421374887, w: .0893712938} + tangentMode: 0 + - time: .866666496 + value: {x: -.0619258955, y: -.270333678, z: .0178046394, w: -.960608065} + inSlope: {x: -.0748016313, y: -.303690732, z: .0429479629, w: .0910825431} + outSlope: {x: -.0748016313, y: -.303690732, z: .0429479629, w: .0910825431} + tangentMode: 0 + - time: .883333147 + value: {x: -.0631692261, y: -.275390655, z: .0185271483, w: -.959075809} + inSlope: {x: -.074383989, y: -.303139985, z: .0437479876, w: .0927866399} + outSlope: {x: -.074383989, y: -.303139985, z: .0437479876, w: .0927866399} + tangentMode: 0 + - time: .899999797 + value: {x: -.0644053593, y: -.280438334, z: .0192629043, w: -.95751518} + inSlope: {x: -.0739371702, y: -.302577615, z: .04453706, w: .0944889486} + outSlope: {x: -.0739371702, y: -.302577615, z: .04453706, w: .0944889486} + tangentMode: 0 + - time: .916666448 + value: {x: -.0656337962, y: -.285476565, z: .0200117156, w: -.95592618} + inSlope: {x: -.0734608546, y: -.302001834, z: .0453143455, w: .0961823165} + outSlope: {x: -.0734608546, y: -.302001834, z: .0453143455, w: .0961823165} + tangentMode: 0 + - time: .933333099 + value: {x: -.0668540522, y: -.290505052, z: .020773381, w: -.954309106} + inSlope: {x: -.0729563758, y: -.30141443, z: .0460795015, w: .0978685319} + outSlope: {x: -.0729563758, y: -.30141443, z: .0460795015, w: .0978685319} + tangentMode: 0 + - time: .94999975 + value: {x: -.0680656731, y: -.295523703, z: .0215476975, w: -.952663898} + inSlope: {x: -.0724235103, y: -.300816298, z: .0468320847, w: .0995493904} + outSlope: {x: -.0724235103, y: -.300816298, z: .0468320847, w: .0995493904} + tangentMode: 0 + - time: .9666664 + value: {x: -.069268167, y: -.300532252, z: .022334449, w: -.950990796} + inSlope: {x: -.071862258, y: -.300202966, z: .0475714244, w: .101224877} + outSlope: {x: -.071862258, y: -.300202966, z: .0475714244, w: .101224877} + tangentMode: 0 + - time: .983333051 + value: {x: -.0704610795, y: -.305530459, z: .0231334101, w: -.949289739} + inSlope: {x: -.0712728426, y: -.299581587, z: .0482968502, w: .102887847} + outSlope: {x: -.0712728426, y: -.299581587, z: .0482968502, w: .102887847} + tangentMode: 0 + - time: .999999702 + value: {x: -.0716439262, y: -.310518295, z: .0239443425, w: -.947561204} + inSlope: {x: -.0706551373, y: -.298950732, z: .0490083322, w: .104547054} + outSlope: {x: -.0706551373, y: -.298950732, z: .0490083322, w: .104547054} + tangentMode: 0 + - time: 1.01666641 + value: {x: -.0728162527, y: -.315495491, z: .0247670226, w: -.945804834} + inSlope: {x: -.0700109601, y: -.298304319, z: .0497051477, w: .106197506} + outSlope: {x: -.0700109601, y: -.298304319, z: .0497051477, w: .106197506} + tangentMode: 0 + - time: 1.03333306 + value: {x: -.0739776269, y: -.32046178, z: .0256011821, w: -.944021285} + inSlope: {x: -.069339864, y: -.297645926, z: .0503863506, w: .107839212} + outSlope: {x: -.069339864, y: -.297645926, z: .0503863506, w: .107839212} + tangentMode: 0 + - time: 1.04999971 + value: {x: -.0751275793, y: -.325417012, z: .026446566, w: -.942210197} + inSlope: {x: -.068640478, y: -.296980739, z: .0510519855, w: .109477147} + outSlope: {x: -.068640478, y: -.296980739, z: .0510519855, w: .109477147} + tangentMode: 0 + - time: 1.06666636 + value: {x: -.0762656406, y: -.330361128, z: .0273029134, w: -.94037205} + inSlope: {x: -.0679144934, y: -.296303004, z: .0517012477, w: .111097202} + outSlope: {x: -.0679144934, y: -.296303004, z: .0517012477, w: .111097202} + tangentMode: 0 + - time: 1.08333302 + value: {x: -.0773913935, y: -.33529377, z: .0281699393, w: -.938506961} + inSlope: {x: -.0671625808, y: -.2956101, z: .0523334667, w: .112719044} + outSlope: {x: -.0671625808, y: -.2956101, z: .0523334667, w: .112719044} + tangentMode: 0 + - time: 1.09999967 + value: {x: -.078504391, y: -.340214789, z: .0290473606, w: -.936614752} + inSlope: {x: -.0663842857, y: -.294911832, z: .052948758, w: .114331953} + outSlope: {x: -.0663842857, y: -.294911832, z: .052948758, w: .114331953} + tangentMode: 0 + - time: 1.11666632 + value: {x: -.079604201, y: -.345124155, z: .0299348962, w: -.934695899} + inSlope: {x: -.06558007, y: -.29420194, z: .0535460524, w: .115926974} + outSlope: {x: -.06558007, y: -.29420194, z: .0535460524, w: .115926974} + tangentMode: 0 + - time: 1.13333297 + value: {x: -.0806903914, y: -.350021511, z: .0308322273, w: -.932750523} + inSlope: {x: -.0647505969, y: -.293478638, z: .0541249625, w: .117520206} + outSlope: {x: -.0647505969, y: -.293478638, z: .0541249625, w: .117520206} + tangentMode: 0 + - time: 1.14999962 + value: {x: -.0817625523, y: -.354906768, z: .0317390598, w: -.930778563} + inSlope: {x: -.0638958663, y: -.292749077, z: .0546856001, w: .119106285} + outSlope: {x: -.0638958663, y: -.292749077, z: .0546856001, w: .119106285} + tangentMode: 0 + - time: 1.16666627 + value: {x: -.0828202516, y: -.359779805, z: .0326550789, w: -.928780317} + inSlope: {x: -.0630154312, y: -.292008787, z: .055226624, w: .120676279} + outSlope: {x: -.0630154312, y: -.292008787, z: .055226624, w: .120676279} + tangentMode: 0 + - time: 1.18333292 + value: {x: -.0838630646, y: -.364640385, z: .0335799456, w: -.926756024} + inSlope: {x: -.0621099621, y: -.291257769, z: .0557475314, w: .122237325} + outSlope: {x: -.0621099621, y: -.291257769, z: .0557475314, w: .122237325} + tangentMode: 0 + - time: 1.19999957 + value: {x: -.0848905817, y: -.369488388, z: .0345133282, w: -.924705744} + inSlope: {x: -.0611812472, y: -.29049781, z: .0562488809, w: .123791218} + outSlope: {x: -.0611812472, y: -.29049781, z: .0562488809, w: .123791218} + tangentMode: 0 + - time: 1.21666622 + value: {x: -.0859024376, y: -.374323636, z: .0354549065, w: -.922629654} + inSlope: {x: -.060228616, y: -.289728016, z: .0567294434, w: .125334382} + outSlope: {x: -.060228616, y: -.289728016, z: .0567294434, w: .125334382} + tangentMode: 0 + - time: 1.23333287 + value: {x: -.0868982002, y: -.37914598, z: .0364043079, w: -.920527935} + inSlope: {x: -.0592509471, y: -.288948387, z: .0571883284, w: .126865029} + outSlope: {x: -.0592509471, y: -.288948387, z: .0571883284, w: .126865029} + tangentMode: 0 + - time: 1.24999952 + value: {x: -.0878774673, y: -.38395524, z: .0373611823, w: -.918400824} + inSlope: {x: -.0582509302, y: -.288160712, z: .0576260872, w: .128388524} + outSlope: {x: -.0582509302, y: -.288160712, z: .0576260872, w: .128388524} + tangentMode: 0 + - time: 1.26666617 + value: {x: -.088839896, y: -.388751328, z: .0383251756, w: -.916248322} + inSlope: {x: -.0572276674, y: -.28736499, z: .0580418296, w: .12990129} + outSlope: {x: -.0572276674, y: -.28736499, z: .0580418296, w: .12990129} + tangentMode: 0 + - time: 1.28333282 + value: {x: -.0897850543, y: -.393534064, z: .0392959081, w: -.914070785} + inSlope: {x: -.0561809316, y: -.286558539, z: .0584347732, w: .131399751} + outSlope: {x: -.0561809316, y: -.286558539, z: .0584347732, w: .131399751} + tangentMode: 0 + - time: 1.29999948 + value: {x: -.090712592, y: -.39830327, z: .0402729996, w: -.911868334} + inSlope: {x: -.0551131889, y: -.285743147, z: .0588049181, w: .132892847} + outSlope: {x: -.0551131889, y: -.285743147, z: .0588049181, w: .132892847} + tangentMode: 0 + - time: 1.31666613 + value: {x: -.0916221589, y: -.403058827, z: .0412560701, w: -.909641027} + inSlope: {x: -.0540230945, y: -.284920603, z: .0591517054, w: .134373441} + outSlope: {x: -.0540230945, y: -.284920603, z: .0591517054, w: .134373441} + tangentMode: 0 + - time: 1.33333278 + value: {x: -.0925133601, y: -.407800615, z: .0422447212, w: -.907389224} + inSlope: {x: -.0529104248, y: -.284090906, z: .0594743527, w: .135837927} + outSlope: {x: -.0529104248, y: -.284090906, z: .0594743527, w: .135837927} + tangentMode: 0 + - time: 1.34999943 + value: {x: -.093385838, y: -.412528515, z: .0432385467, w: -.905113101} + inSlope: {x: -.0517771877, y: -.283253163, z: .0597731955, w: .137295261} + outSlope: {x: -.0517771877, y: -.283253163, z: .0597731955, w: .137295261} + tangentMode: 0 + - time: 1.36666608 + value: {x: -.0942392647, y: -.417242378, z: .0442371592, w: -.902812719} + inSlope: {x: -.0506233908, y: -.282405585, z: .0600471161, w: .138741866} + outSlope: {x: -.0506233908, y: -.282405585, z: .0600471161, w: .138741866} + tangentMode: 0 + - time: 1.38333273 + value: {x: -.0950732827, y: -.421942025, z: .0452401154, w: -.900488377} + inSlope: {x: -.0494488068, y: -.28154996, z: .0602956675, w: .140172377} + outSlope: {x: -.0494488068, y: -.28154996, z: .0602956675, w: .140172377} + tangentMode: 0 + - time: 1.39999938 + value: {x: -.0958875567, y: -.426627368, z: .0462470129, w: -.898140311} + inSlope: {x: -.0482536554, y: -.280689865, z: .0605189651, w: .141599312} + outSlope: {x: -.0482536554, y: -.280689865, z: .0605189651, w: .141599312} + tangentMode: 0 + - time: 1.41666603 + value: {x: -.0966817364, y: -.431298345, z: .0472574122, w: -.895768404} + inSlope: {x: -.0470386147, y: -.279822618, z: .0607159957, w: .143013731} + outSlope: {x: -.0470386147, y: -.279822618, z: .0607159957, w: .143013731} + tangentMode: 0 + - time: 1.43333268 + value: {x: -.097455509, y: -.435954779, z: .0482708775, w: -.893373191} + inSlope: {x: -.0458052456, y: -.278946429, z: .0608870983, w: .144408479} + outSlope: {x: -.0458052456, y: -.278946429, z: .0608870983, w: .144408479} + tangentMode: 0 + - time: 1.44999933 + value: {x: -.0982085764, y: -.440596551, z: .0492869802, w: -.890954792} + inSlope: {x: -.0445531011, y: -.278063983, z: .0610314906, w: .145794287} + outSlope: {x: -.0445531011, y: -.278063983, z: .0610314906, w: .145794287} + tangentMode: 0 + - time: 1.46666598 + value: {x: -.0989406109, y: -.44522357, z: .0503052585, w: -.888513386} + inSlope: {x: -.0432815067, y: -.277175277, z: .0611482784, w: .147172943} + outSlope: {x: -.0432815067, y: -.277175277, z: .0611482784, w: .147172943} + tangentMode: 0 + - time: 1.48333263 + value: {x: -.099651292, y: -.449835718, z: .0513252541, w: -.886049032} + inSlope: {x: -.0419920348, y: -.276280314, z: .0612376854, w: .148533732} + outSlope: {x: -.0419920348, y: -.276280314, z: .0612376854, w: .148533732} + tangentMode: 0 + - time: 1.49999928 + value: {x: -.100340344, y: -.454432905, z: .0523465127, w: -.883562267} + inSlope: {x: -.0406851247, y: -.275379986, z: .0612992644, w: .149880201} + outSlope: {x: -.0406851247, y: -.275379986, z: .0612992644, w: .149880201} + tangentMode: 0 + - time: 1.51666594 + value: {x: -.101007462, y: -.459015042, z: .053368561, w: -.88105303} + inSlope: {x: -.0393605605, y: -.274472505, z: .0613325685, w: .151221305} + outSlope: {x: -.0393605605, y: -.274472505, z: .0613325685, w: .151221305} + tangentMode: 0 + - time: 1.53333259 + value: {x: -.101652361, y: -.463581979, z: .0543909296, w: -.878521562} + inSlope: {x: -.0380192325, y: -.273560554, z: .0613371506, w: .152551681} + outSlope: {x: -.0380192325, y: -.273560554, z: .0613371506, w: .152551681} + tangentMode: 0 + - time: 1.54999924 + value: {x: -.102274768, y: -.468133718, z: .0554131307, w: -.875967979} + inSlope: {x: -.0366618112, y: -.272640556, z: .061312452, w: .153862387} + outSlope: {x: -.0366618112, y: -.272640556, z: .061312452, w: .153862387} + tangentMode: 0 + - time: 1.56666589 + value: {x: -.102874421, y: -.472669989, z: .0564346761, w: -.87339282} + inSlope: {x: -.0352882929, y: -.271715194, z: .0612588078, w: .155160576} + outSlope: {x: -.0352882929, y: -.271715194, z: .0612588078, w: .155160576} + tangentMode: 0 + - time: 1.58333254 + value: {x: -.103451043, y: -.477190882, z: .0574550889, w: -.870795965} + inSlope: {x: -.0338989049, y: -.270788938, z: .061175324, w: .156451613} + outSlope: {x: -.0338989049, y: -.270788938, z: .061175324, w: .156451613} + tangentMode: 0 + - time: 1.59999919 + value: {x: -.104004383, y: -.481696278, z: .0584738515, w: -.868177772} + inSlope: {x: -.032494545, y: -.269854635, z: .0610612184, w: .157726556} + outSlope: {x: -.032494545, y: -.269854635, z: .0610612184, w: .157726556} + tangentMode: 0 + - time: 1.61666584 + value: {x: -.104534194, y: -.486186028, z: .0594904609, w: -.865538418} + inSlope: {x: -.0310756564, y: -.268914968, z: .0609169379, w: .158992559} + outSlope: {x: -.0310756564, y: -.268914968, z: .0609169379, w: .158992559} + tangentMode: 0 + - time: 1.63333249 + value: {x: -.105040237, y: -.490660101, z: .0605044141, w: -.862878025} + inSlope: {x: -.0296424627, y: -.26797083, z: .0607419237, w: .160246044} + outSlope: {x: -.0296424627, y: -.26797083, z: .0607419237, w: .160246044} + tangentMode: 0 + - time: 1.64999914 + value: {x: -.105522275, y: -.49511838, z: .0615151897, w: -.860196888} + inSlope: {x: -.0281956308, y: -.267023116, z: .060536176, w: .161483437} + outSlope: {x: -.0281956308, y: -.267023116, z: .060536176, w: .161483437} + tangentMode: 0 + - time: 1.66666579 + value: {x: -.105980091, y: -.499560863, z: .0625222847, w: -.857495248} + inSlope: {x: -.0267349444, y: -.266071796, z: .0602983497, w: .162704736} + outSlope: {x: -.0267349444, y: -.266071796, z: .0602983497, w: .162704736} + tangentMode: 0 + - time: 1.68333244 + value: {x: -.106413439, y: -.503987432, z: .0635251328, w: -.854773402} + inSlope: {x: -.0252610687, y: -.265116036, z: .0600285642, w: .163920671} + outSlope: {x: -.0252610687, y: -.265116036, z: .0600285642, w: .163920671} + tangentMode: 0 + - time: 1.69999909 + value: {x: -.106822126, y: -.508398056, z: .064523235, w: -.852031231} + inSlope: {x: -.0237751231, y: -.264158487, z: .0597270392, w: .165125892} + outSlope: {x: -.0237751231, y: -.264158487, z: .0597270392, w: .165125892} + tangentMode: 0 + - time: 1.71666574 + value: {x: -.107205942, y: -.512792706, z: .0655160323, w: -.849269211} + inSlope: {x: -.0222775564, y: -.263192892, z: .0593926571, w: .16630964} + outSlope: {x: -.0222775564, y: -.263192892, z: .0593926571, w: .16630964} + tangentMode: 0 + - time: 1.7333324 + value: {x: -.10756471, y: -.517171144, z: .0665029883, w: -.846487582} + inSlope: {x: -.0207692571, y: -.262225509, z: .0590267591, w: .167484447} + outSlope: {x: -.0207692571, y: -.262225509, z: .0590267591, w: .167484447} + tangentMode: 0 + - time: 1.74999905 + value: {x: -.10789825, y: -.521533549, z: .0674835891, w: -.843686402} + inSlope: {x: -.0192488916, y: -.261259913, z: .05862711, w: .168648526} + outSlope: {x: -.0192488916, y: -.261259913, z: .05862711, w: .168648526} + tangentMode: 0 + - time: 1.7666657 + value: {x: -.108206339, y: -.5258798, z: .0684572235, w: -.84086597} + inSlope: {x: -.0177175719, y: -.260285378, z: .0581934862, w: .1697983} + outSlope: {x: -.0177175719, y: -.260285378, z: .0581934862, w: .1697983} + tangentMode: 0 + - time: 1.78333235 + value: {x: -.108488835, y: -.53020972, z: .0694233701, w: -.838026464} + inSlope: {x: -.0161768645, y: -.259303689, z: .0577270053, w: .170937344} + outSlope: {x: -.0161768645, y: -.259303689, z: .0577270053, w: .170937344} + tangentMode: 0 + - time: 1.799999 + value: {x: -.108745568, y: -.534523249, z: .0703814551, w: -.835168064} + inSlope: {x: -.0146265468, y: -.258323789, z: .0572263263, w: .172060296} + outSlope: {x: -.0146265468, y: -.258323789, z: .0572263263, w: .172060296} + tangentMode: 0 + - time: 1.81666565 + value: {x: -.108976386, y: -.538820505, z: .0713309124, w: -.832291126} + inSlope: {x: -.0130663943, y: -.257347465, z: .0566916689, w: .173172519} + outSlope: {x: -.0130663943, y: -.257347465, z: .0566916689, w: .173172519} + tangentMode: 0 + - time: 1.8333323 + value: {x: -.109181114, y: -.54310149, z: .0722711757, w: -.829395652} + inSlope: {x: -.0114979707, y: -.256365776, z: .0561225936, w: .174274012} + outSlope: {x: -.0114979707, y: -.256365776, z: .0561225936, w: .174274012} + tangentMode: 0 + - time: 1.84999895 + value: {x: -.109359652, y: -.547366023, z: .0732016638, w: -.826481998} + inSlope: {x: -.00992194749, y: -.255375147, z: .0555182025, w: .175359413} + outSlope: {x: -.00992194749, y: -.255375147, z: .0555182025, w: .175359413} + tangentMode: 0 + - time: 1.8666656 + value: {x: -.109511845, y: -.551613986, z: .0741217807, w: -.823550344} + inSlope: {x: -.00833765417, y: -.254384518, z: .0548793897, w: .176434085} + outSlope: {x: -.00833765417, y: -.254384518, z: .0548793897, w: .176434085} + tangentMode: 0 + - time: 1.88333225 + value: {x: -.109637573, y: -.555845499, z: .075030975, w: -.820600867} + inSlope: {x: -.00674620923, y: -.253397465, z: .0542054847, w: .177498028} + outSlope: {x: -.00674620923, y: -.253397465, z: .0542054847, w: .177498028} + tangentMode: 0 + - time: 1.8999989 + value: {x: -.109736718, y: -.560060561, z: .0759286284, w: -.817633748} + inSlope: {x: -.00514872838, y: -.252406836, z: .0534964874, w: .178551242} + outSlope: {x: -.00514872838, y: -.252406836, z: .0534964874, w: .178551242} + tangentMode: 0 + - time: 1.91666555 + value: {x: -.109809197, y: -.564259052, z: .0768141896, w: -.814649165} + inSlope: {x: -.00354454247, y: -.251410842, z: .0527512804, w: .179586589} + outSlope: {x: -.00354454247, y: -.251410842, z: .0527512804, w: .179586589} + tangentMode: 0 + - time: 1.9333322 + value: {x: -.10985487, y: -.568440914, z: .0776870027, w: -.811647534} + inSlope: {x: -.00193365104, y: -.25041306, z: .0519689657, w: .180612981} + outSlope: {x: -.00193365104, y: -.25041306, z: .0519689657, w: .180612981} + tangentMode: 0 + - time: 1.94999886 + value: {x: -.109873652, y: -.572606146, z: .0785464868, w: -.808628738} + inSlope: {x: -.000318959646, y: -.249417067, z: .0511515625, w: .181630433} + outSlope: {x: -.000318959646, y: -.249417067, z: .0511515625, w: .181630433} + tangentMode: 0 + - time: 1.96666551 + value: {x: -.109865502, y: -.576754808, z: .0793920532, w: -.805593193} + inSlope: {x: .00130064914, y: -.248421073, z: .0502983965, w: .182631791} + outSlope: {x: .00130064914, y: -.248421073, z: .0502983965, w: .182631791} + tangentMode: 0 + - time: 1.98333216 + value: {x: -.109830298, y: -.580886841, z: .0802230984, w: -.802541018} + inSlope: {x: .00292562228, y: -.247417927, z: .0494074561, w: .18362242} + outSlope: {x: .00292562228, y: -.247417927, z: .0494074561, w: .18362242} + tangentMode: 0 + - time: 1.99999881 + value: {x: -.109767981, y: -.585002065, z: .0810389668, w: -.799472451} + inSlope: {x: .00455327751, y: -.246416569, z: .0484798551, w: .184600532} + outSlope: {x: .00455327751, y: -.246416569, z: .0484798551, w: .184600532} + tangentMode: 0 + - time: 2.01666546 + value: {x: -.109678522, y: -.589100718, z: .0818390921, w: -.796387672} + inSlope: {x: .00618428551, y: -.245415211, z: .0475156009, w: .185567915} + outSlope: {x: .00618428551, y: -.245415211, z: .0475156009, w: .185567915} + tangentMode: 0 + - time: 2.03333211 + value: {x: -.109561838, y: -.593182564, z: .0826228186, w: -.79328686} + inSlope: {x: .00781819969, y: -.244413853, z: .0465140194, w: .18652457} + outSlope: {x: .00781819969, y: -.244413853, z: .0465140194, w: .18652457} + tangentMode: 0 + - time: 2.04999876 + value: {x: -.109417915, y: -.597247839, z: .0833895579, w: -.790170193} + inSlope: {x: .00945434906, y: -.243412495, z: .0454751104, w: .187470496} + outSlope: {x: .00945434906, y: -.243412495, z: .0454751104, w: .187470496} + tangentMode: 0 + - time: 2.06666541 + value: {x: -.109246694, y: -.601296306, z: .0841386542, w: -.787037849} + inSlope: {x: .0110925101, y: -.24240756, z: .0443986505, w: .188407481} + outSlope: {x: .0110925101, y: -.24240756, z: .0443986505, w: .188407481} + tangentMode: 0 + - time: 2.08333206 + value: {x: -.109048165, y: -.605328083, z: .0848695114, w: -.783889949} + inSlope: {x: .0127313407, y: -.241402611, z: .0432839654, w: .189328372} + outSlope: {x: .0127313407, y: -.241402611, z: .0432839654, w: .189328372} + tangentMode: 0 + - time: 2.09999871 + value: {x: -.108822316, y: -.609343052, z: .0855814517, w: -.78072691} + inSlope: {x: .0143712899, y: -.240395889, z: .0421306156, w: .190238535} + outSlope: {x: .0143712899, y: -.240395889, z: .0421306156, w: .190238535} + tangentMode: 0 + - time: 2.11666536 + value: {x: -.108569123, y: -.613341272, z: .0862738639, w: -.777548671} + inSlope: {x: .0160110146, y: -.239387378, z: .0409399346, w: .191137969} + outSlope: {x: .0160110146, y: -.239387378, z: .0409399346, w: .191137969} + tangentMode: 0 + - time: 2.13333201 + value: {x: -.108288616, y: -.617322624, z: .0869461149, w: -.77435565} + inSlope: {x: .0176509637, y: -.238380656, z: .0397105888, w: .192028463} + outSlope: {x: .0176509637, y: -.238380656, z: .0397105888, w: .192028463} + tangentMode: 0 + - time: 2.14999866 + value: {x: -.107980758, y: -.621287286, z: .087597549, w: -.771147728} + inSlope: {x: .0192897953, y: -.237377509, z: .0384430215, w: .192911804} + outSlope: {x: .0192897953, y: -.237377509, z: .0384430215, w: .192911804} + tangentMode: 0 + - time: 2.16666532 + value: {x: -.107645623, y: -.6252352, z: .0882275477, w: -.767925262} + inSlope: {x: .0209268369, y: -.236368999, z: .0371372327, w: .193779051} + outSlope: {x: .0209268369, y: -.236368999, z: .0371372327, w: .193779051} + tangentMode: 0 + - time: 2.18333197 + value: {x: -.107283197, y: -.629166245, z: .0888354555, w: -.764688432} + inSlope: {x: .0225632116, y: -.2353587, z: .0357914306, w: .194640934} + outSlope: {x: .0225632116, y: -.2353587, z: .0357914306, w: .194640934} + tangentMode: 0 + - time: 2.19999862 + value: {x: -.106893517, y: -.633080482, z: .0894205943, w: -.761437237} + inSlope: {x: .0241960064, y: -.23435019, z: .0344067402, w: .195488513} + outSlope: {x: .0241960064, y: -.23435019, z: .0344067402, w: .195488513} + tangentMode: 0 + - time: 2.21666527 + value: {x: -.106476665, y: -.636977911, z: .0899823457, w: -.758172154} + inSlope: {x: .0258261226, y: -.233341679, z: .0329833776, w: .196325377} + outSlope: {x: .0258261226, y: -.233341679, z: .0329833776, w: .196325377} + tangentMode: 0 + - time: 2.23333192 + value: {x: -.106032647, y: -.640858531, z: .0905200392, w: -.754893064} + inSlope: {x: .027454447, y: -.232333168, z: .0315204561, w: .19715865} + outSlope: {x: .027454447, y: -.232333168, z: .0315204561, w: .19715865} + tangentMode: 0 + - time: 2.24999857 + value: {x: -.105561517, y: -.644722342, z: .0910330266, w: -.751600206} + inSlope: {x: .029077407, y: -.23132287, z: .0300186425, w: .197981194} + outSlope: {x: .029077407, y: -.23132287, z: .0300186425, w: .197981194} + tangentMode: 0 + - time: 2.26666522 + value: {x: -.105063401, y: -.648569286, z: .0915206596, w: -.748293698} + inSlope: {x: .0306952298, y: -.230310783, z: .0284772627, w: .198791221} + outSlope: {x: .0306952298, y: -.230310783, z: .0284772627, w: .198791221} + tangentMode: 0 + - time: 2.28333187 + value: {x: -.104538344, y: -.652399361, z: .0919822678, w: -.744973838} + inSlope: {x: .0323101431, y: -.229302272, z: .0268956535, w: .199594095} + outSlope: {x: .0323101431, y: -.229302272, z: .0268956535, w: .199594095} + tangentMode: 0 + - time: 2.29999852 + value: {x: -.103986397, y: -.656212687, z: .0924171805, w: -.741640568} + inSlope: {x: .033918798, y: -.228293762, z: .0252749268, w: .200389817} + outSlope: {x: .033918798, y: -.228293762, z: .0252749268, w: .200389817} + tangentMode: 0 + - time: 2.31666517 + value: {x: -.103407718, y: -.660009146, z: .0928247645, w: -.738294184} + inSlope: {x: .0355205275, y: -.227278098, z: .023613967, w: .201173022} + outSlope: {x: .0355205275, y: -.227278098, z: .023613967, w: .201173022} + tangentMode: 0 + - time: 2.33333182 + value: {x: -.102802381, y: -.663788617, z: .093204312, w: -.734934807} + inSlope: {x: .0371166691, y: -.226264209, z: .0219125524, w: .201947287} + outSlope: {x: .0371166691, y: -.226264209, z: .0219125524, w: .201947287} + tangentMode: 0 + - time: 2.34999847 + value: {x: -.102170497, y: -.667551279, z: .0935551822, w: -.731562614} + inSlope: {x: .0387056544, y: -.225255698, z: .0201720186, w: .202714399} + outSlope: {x: .0387056544, y: -.225255698, z: .0201720186, w: .202714399} + tangentMode: 0 + - time: 2.36666512 + value: {x: -.101512194, y: -.671297133, z: .093876712, w: -.728177667} + inSlope: {x: .0402872637, y: -.224243611, z: .0183910318, w: .203477934} + outSlope: {x: .0402872637, y: -.224243611, z: .0183910318, w: .203477934} + tangentMode: 0 + - time: 2.38333178 + value: {x: -.10082759, y: -.675026059, z: .094168216, w: -.724780023} + inSlope: {x: .0418619476, y: -.22322616, z: .0165693611, w: .204232529} + outSlope: {x: .0418619476, y: -.22322616, z: .0165693611, w: .204232529} + tangentMode: 0 + - time: 2.39999843 + value: {x: -.100116797, y: -.678737998, z: .0944290236, w: -.721369922} + inSlope: {x: .0434265696, y: -.22220692, z: .0147079071, w: .204974607} + outSlope: {x: .0434265696, y: -.22220692, z: .0147079071, w: .204974607} + tangentMode: 0 + - time: 2.41666508 + value: {x: -.0993800387, y: -.68243295, z: .0946584791, w: -.717947543} + inSlope: {x: .0449822545, y: -.221193045, z: .0128055485, w: .205713108} + outSlope: {x: .0449822545, y: -.221193045, z: .0128055485, w: .205713108} + tangentMode: 0 + - time: 2.43333173 + value: {x: -.0986173898, y: -.686111093, z: .0948558748, w: -.714512825} + inSlope: {x: .046528995, y: -.220177382, z: .0108627332, w: .206444457} + outSlope: {x: .046528995, y: -.220177382, z: .0108627332, w: .206444457} + tangentMode: 0 + - time: 2.44999838 + value: {x: -.0978290737, y: -.689772189, z: .0950205699, w: -.711066067} + inSlope: {x: .0480661243, y: -.219154567, z: .00887901429, w: .207166865} + outSlope: {x: .0480661243, y: -.219154567, z: .00887901429, w: .207166865} + tangentMode: 0 + - time: 2.46666503 + value: {x: -.0970151871, y: -.693416238, z: .0951518416, w: -.707607269} + inSlope: {x: .049592305, y: -.218137115, z: .00685550924, w: .207885697} + outSlope: {x: .049592305, y: -.218137115, z: .00685550924, w: .207885697} + tangentMode: 0 + - time: 2.48333168 + value: {x: -.0961759984, y: -.697043419, z: .0952490866, w: -.70413655} + inSlope: {x: .0511061884, y: -.217116088, z: .00479154754, w: .208595589} + outSlope: {x: .0511061884, y: -.217116088, z: .00479154754, w: .208595589} + tangentMode: 0 + - time: 2.49999833 + value: {x: -.0953116491, y: -.700653434, z: .0953115597, w: -.700654089} + inSlope: {x: .0530199483, y: -.216050357, z: .00249378616, w: .209178522} + outSlope: {x: .0530199483, y: -.216050357, z: .00249378616, w: .209178522} + tangentMode: 0 + - time: 2.51666498 + value: {x: -.0944086686, y: -.70424509, z: .0953322127, w: -.697163939} + inSlope: {x: .0557162389, y: -.214918464, z: -.000218600268, w: .209521845} + outSlope: {x: .0557162389, y: -.214918464, z: -.000218600268, w: .209521845} + tangentMode: 0 + - time: 2.53333163 + value: {x: -.0934544429, y: -.707817376, z: .0953042731, w: -.693670034} + inSlope: {x: .0587466918, y: -.213743657, z: -.00314176362, w: .209756091} + outSlope: {x: .0587466918, y: -.213743657, z: -.00314176362, w: .209756091} + tangentMode: 0 + - time: 2.54999828 + value: {x: -.0924504474, y: -.711369872, z: .0952274874, w: -.690172076} + inSlope: {x: .0616906434, y: -.212568849, z: -.00607789122, w: .209999278} + outSlope: {x: .0616906434, y: -.212568849, z: -.00607789122, w: .209999278} + tangentMode: 0 + - time: 2.56666493 + value: {x: -.0913980901, y: -.714902997, z: .0951016769, w: -.686670065} + inSlope: {x: .0645474195, y: -.211402982, z: -.00902385358, w: .210251406} + outSlope: {x: .0645474195, y: -.211402982, z: -.00902385358, w: .210251406} + tangentMode: 0 + - time: 2.58333158 + value: {x: -.0902988687, y: -.718416631, z: .0949266925, w: -.683163702} + inSlope: {x: .0673170239, y: -.210233524, z: -.0119789802, w: .210523203} + outSlope: {x: .0673170239, y: -.210233524, z: -.0119789802, w: .210523203} + tangentMode: 0 + - time: 2.59999824 + value: {x: -.0891541913, y: -.721910775, z: .0947023779, w: -.679652631} + inSlope: {x: .070001252, y: -.209071234, z: -.0149414828, w: .210805744} + outSlope: {x: .070001252, y: -.209071234, z: -.0149414828, w: .210805744} + tangentMode: 0 + - time: 2.61666489 + value: {x: -.0879654959, y: -.725385666, z: .0944286436, w: -.676136851} + inSlope: {x: .0725991949, y: -.207903579, z: -.0179100204, w: .211097211} + outSlope: {x: .0725991949, y: -.207903579, z: -.0179100204, w: .211097211} + tangentMode: 0 + - time: 2.63333154 + value: {x: -.0867342204, y: -.728840888, z: .0941053778, w: -.672616065} + inSlope: {x: .0751117617, y: -.206725195, z: -.0208845921, w: .211404771} + outSlope: {x: .0751117617, y: -.206725195, z: -.0208845921, w: .211404771} + tangentMode: 0 + - time: 2.64999819 + value: {x: -.085461773, y: -.732276499, z: .0937324911, w: -.669090033} + inSlope: {x: .0775402784, y: -.205553964, z: -.0238625184, w: .211721271} + outSlope: {x: .0775402784, y: -.205553964, z: -.0238625184, w: .211721271} + tangentMode: 0 + - time: 2.66666484 + value: {x: -.0841495469, y: -.73569268, z: .0933099613, w: -.665558696} + inSlope: {x: .0798845291, y: -.204384521, z: -.0268411152, w: .212055653} + outSlope: {x: .0798845291, y: -.204384521, z: -.0268411152, w: .212055653} + tangentMode: 0 + - time: 2.68333149 + value: {x: -.0827989578, y: -.73908931, z: .0928377882, w: -.662021518} + inSlope: {x: .0821442902, y: -.203202561, z: -.0298203826, w: .212402552} + outSlope: {x: .0821442902, y: -.203202561, z: -.0298203826, w: .212402552} + tangentMode: 0 + - time: 2.69999814 + value: {x: -.0814114064, y: -.742466092, z: .0923159495, w: -.658478618} + inSlope: {x: .0843209103, y: -.202015236, z: -.0327991992, w: .21276018} + outSlope: {x: .0843209103, y: -.202015236, z: -.0327991992, w: .21276018} + tangentMode: 0 + - time: 2.71666479 + value: {x: -.0799882635, y: -.745823145, z: .0917444825, w: -.654929519} + inSlope: {x: .086415045, y: -.2008297, z: -.0357753411, w: .213133901} + outSlope: {x: .086415045, y: -.2008297, z: -.0357753411, w: .213133901} + tangentMode: 0 + - time: 2.73333144 + value: {x: -.0785309076, y: -.749160409, z: .0911234394, w: -.651374161} + inSlope: {x: .0884267017, y: -.199631646, z: -.0387487933, w: .213520139} + outSlope: {x: .0884267017, y: -.199631646, z: -.0387487933, w: .213520139} + tangentMode: 0 + - time: 2.74999809 + value: {x: -.0770407096, y: -.752477527, z: .0904528573, w: -.647812188} + inSlope: {x: .090355888, y: -.198422864, z: -.0417173281, w: .213917106} + outSlope: {x: .090355888, y: -.198422864, z: -.0417173281, w: .213917106} + tangentMode: 0 + - time: 2.76666474 + value: {x: -.0755190477, y: -.755774498, z: .089732863, w: -.644243598} + inSlope: {x: .0922041535, y: -.19721587, z: -.0446784943, w: .214330167} + outSlope: {x: .0922041535, y: -.19721587, z: -.0446784943, w: .214330167} + tangentMode: 0 + - time: 2.78333139 + value: {x: -.0739672408, y: -.759051383, z: .0889635757, w: -.640667856} + inSlope: {x: .0939712822, y: -.196001723, z: -.047632724, w: .214757532} + outSlope: {x: .0939712822, y: -.196001723, z: -.047632724, w: .214757532} + tangentMode: 0 + - time: 2.79999804 + value: {x: -.0723866746, y: -.762307882, z: .088145107, w: -.637085021} + inSlope: {x: .0956574976, y: -.194776833, z: -.0505780168, w: .215195626} + outSlope: {x: .0956574976, y: -.194776833, z: -.0505780168, w: .215195626} + tangentMode: 0 + - time: 2.8166647 + value: {x: -.0707786605, y: -.765543938, z: .0872776434, w: -.633494675} + inSlope: {x: .0972641408, y: -.193539441, z: -.0535130277, w: .215646237} + outSlope: {x: .0972641408, y: -.193539441, z: -.0535130277, w: .215646237} + tangentMode: 0 + - time: 2.83333135 + value: {x: -.0691445395, y: -.768759191, z: .0863613412, w: -.62989682} + inSlope: {x: .0987907723, y: -.192298472, z: -.0564368591, w: .216109365} + outSlope: {x: .0987907723, y: -.192298472, z: -.0564368591, w: .216109365} + tangentMode: 0 + - time: 2.849998 + value: {x: -.067485638, y: -.771953881, z: .0853964165, w: -.626291037} + inSlope: {x: .100238718, y: -.191048563, z: -.0593484044, w: .216588587} + outSlope: {x: .100238718, y: -.191048563, z: -.0593484044, w: .216588587} + tangentMode: 0 + - time: 2.86666465 + value: {x: -.0658032522, y: -.77512747, z: .084383063, w: -.622677207} + inSlope: {x: .101607539, y: -.18978256, z: -.0622458607, w: .21707496} + outSlope: {x: .101607539, y: -.18978256, z: -.0622458607, w: .21707496} + tangentMode: 0 + - time: 2.8833313 + value: {x: -.0640987232, y: -.77827996, z: .0833215564, w: -.619055212} + inSlope: {x: .102898128, y: -.188509405, z: -.0651281178, w: .217577428} + outSlope: {x: .102898128, y: -.188509405, z: -.0651281178, w: .217577428} + tangentMode: 0 + - time: 2.89999795 + value: {x: -.0623733178, y: -.781411111, z: .0822121277, w: -.615424633} + inSlope: {x: .104111604, y: -.187225521, z: -.0679942891, w: .218092412} + outSlope: {x: .104111604, y: -.187225521, z: -.0679942891, w: .218092412} + tangentMode: 0 + - time: 2.9166646 + value: {x: -.0606283396, y: -.784520805, z: .0810550824, w: -.611785471} + inSlope: {x: .105247751, y: -.185934484, z: -.0708427951, w: .218619913} + outSlope: {x: .105247751, y: -.185934484, z: -.0708427951, w: .218619913} + tangentMode: 0 + - time: 2.93333125 + value: {x: -.0588650629, y: -.787608922, z: .0798507035, w: -.60813731} + inSlope: {x: .106307, y: -.184629142, z: -.0736723095, w: .219159931} + outSlope: {x: .106307, y: -.184629142, z: -.0736723095, w: .219159931} + tangentMode: 0 + - time: 2.9499979 + value: {x: -.0570847765, y: -.790675104, z: .0785993412, w: -.604480147} + inSlope: {x: .107289582, y: -.18331486, z: -.0764823705, w: .219707102} + outSlope: {x: .107289582, y: -.18331486, z: -.0764823705, w: .219707102} + tangentMode: 0 + - time: 2.96666455 + value: {x: -.055288747, y: -.793719411, z: .0773012936, w: -.600813746} + inSlope: {x: .108197175, y: -.18198806, z: -.0792718679, w: .220266789} + outSlope: {x: .108197175, y: -.18198806, z: -.0792718679, w: .220266789} + tangentMode: 0 + - time: 2.9833312 + value: {x: -.0534782074, y: -.796741366, z: .0759569481, w: -.597137928} + inSlope: {x: .10902933, y: -.180650532, z: -.0820376724, w: .220838994} + outSlope: {x: .10902933, y: -.180650532, z: -.0820376724, w: .220838994} + tangentMode: 0 + - time: 2.99999785 + value: {x: -.0516544394, y: -.799741089, z: .074566707, w: -.593452454} + inSlope: {x: .10978616, y: -.179304063, z: -.0847806856, w: .221421927} + outSlope: {x: .10978616, y: -.179304063, z: -.0847806856, w: .221421927} + tangentMode: 0 + - time: 3.01666451 + value: {x: -.0498186722, y: -.802718163, z: .073130928, w: -.589757204} + inSlope: {x: .110469118, y: -.177941486, z: -.087500222, w: .222013801} + outSlope: {x: .110469118, y: -.177941486, z: -.087500222, w: .222013801} + tangentMode: 0 + - time: 3.03333116 + value: {x: -.047972139, y: -.805672467, z: .0716500357, w: -.586052001} + inSlope: {x: .11107865, y: -.176568195, z: -.0901936144, w: .222621769} + outSlope: {x: .11107865, y: -.176568195, z: -.0901936144, w: .222621769} + tangentMode: 0 + - time: 3.04999781 + value: {x: -.0461160541, y: -.808603764, z: .0701244771, w: -.582336485} + inSlope: {x: .111614756, y: -.175184175, z: -.0928599536, w: .223240465} + outSlope: {x: .111614756, y: -.175184175, z: -.0928599536, w: .223240465} + tangentMode: 0 + - time: 3.06666446 + value: {x: -.0442516506, y: -.811511934, z: .0685547069, w: -.578610659} + inSlope: {x: .112077884, y: -.173789427, z: -.0954985768, w: .223860949} + outSlope: {x: .112077884, y: -.173789427, z: -.0954985768, w: .223860949} + tangentMode: 0 + - time: 3.08333111 + value: {x: -.0423801281, y: -.814396739, z: .0669411942, w: -.574874461} + inSlope: {x: .112469152, y: -.172383949, z: -.0981083661, w: .224490374} + outSlope: {x: .112469152, y: -.172383949, z: -.0981083661, w: .224490374} + tangentMode: 0 + - time: 3.09999776 + value: {x: -.0405026823, y: -.81725806, z: .065284431, w: -.571127653} + inSlope: {x: .112788446, y: -.170967743, z: -.100687988, w: .225135893} + outSlope: {x: .112788446, y: -.170967743, z: -.100687988, w: .225135893} + tangentMode: 0 + - time: 3.11666441 + value: {x: -.0386205167, y: -.820095658, z: .0635849312, w: -.567369938} + inSlope: {x: .113036327, y: -.169535443, z: -.103236534, w: .225790352} + outSlope: {x: .113036327, y: -.169535443, z: -.103236534, w: .225790352} + tangentMode: 0 + - time: 3.13333106 + value: {x: -.0367348082, y: -.822909236, z: .0618432164, w: -.563601315} + inSlope: {x: .113214254, y: -.168092415, z: -.105753452, w: .226453751} + outSlope: {x: .113214254, y: -.168092415, z: -.105753452, w: .226453751} + tangentMode: 0 + - time: 3.14999771 + value: {x: -.0348467119, y: -.825698733, z: .0600598194, w: -.559821486} + inSlope: {x: .113322213, y: -.166642234, z: -.108237073, w: .227124318} + outSlope: {x: .113322213, y: -.166642234, z: -.108237073, w: .227124318} + tangentMode: 0 + - time: 3.16666436 + value: {x: -.0329574049, y: -.828463972, z: .0582353175, w: -.556030512} + inSlope: {x: .113360211, y: -.165181324, z: -.110686153, w: .227802023} + outSlope: {x: .113360211, y: -.165181324, z: -.110686153, w: .227802023} + tangentMode: 0 + - time: 3.18333101 + value: {x: -.0310680419, y: -.831204772, z: .0563702844, w: -.552228093} + inSlope: {x: .113329142, y: -.163704306, z: -.113099918, w: .228488669} + outSlope: {x: .113329142, y: -.163704306, z: -.113099918, w: .228488669} + tangentMode: 0 + - time: 3.19999766 + value: {x: -.0291797705, y: -.833920777, z: .0544653237, w: -.54841423} + inSlope: {x: .113230065, y: -.16222015, z: -.115477256, w: .229186043} + outSlope: {x: .113230065, y: -.16222015, z: -.115477256, w: .229186043} + tangentMode: 0 + - time: 3.21666431 + value: {x: -.02729371, y: -.836612105, z: .0525210463, w: -.544588566} + inSlope: {x: .113062926, y: -.16073063, z: -.117817484, w: .229888782} + outSlope: {x: .113062926, y: -.16073063, z: -.117817484, w: .229888782} + tangentMode: 0 + - time: 3.23333097 + value: {x: -.0254110098, y: -.83927846, z: .050538078, w: -.540751278} + inSlope: {x: .112828404, y: -.159223229, z: -.120119497, w: .230596885} + outSlope: {x: .112828404, y: -.159223229, z: -.120119497, w: .230596885} + tangentMode: 0 + - time: 3.24999762 + value: {x: -.0235327668, y: -.841919541, z: .048517067, w: -.53690201} + inSlope: {x: .112527713, y: -.157710463, z: -.122382276, w: .231315717} + outSlope: {x: .112527713, y: -.157710463, z: -.122382276, w: .231315717} + tangentMode: 0 + - time: 3.26666427 + value: {x: -.0216600895, y: -.84453547, z: .0464586727, w: -.533040762} + inSlope: {x: .112160809, y: -.15618518, z: -.124604933, w: .23204349} + outSlope: {x: .112160809, y: -.15618518, z: -.124604933, w: .23204349} + tangentMode: 0 + - time: 3.28333092 + value: {x: -.0197940767, y: -.847125709, z: .0443635732, w: -.529167235} + inSlope: {x: .111728355, y: -.154649168, z: -.126785785, w: .232773051} + outSlope: {x: .111728355, y: -.154649168, z: -.126785785, w: .232773051} + tangentMode: 0 + - time: 3.29999757 + value: {x: -.0179358143, y: -.849690437, z: .0422324836, w: -.525281668} + inSlope: {x: .111231089, y: -.153113157, z: -.128924638, w: .233509764} + outSlope: {x: .111231089, y: -.153113157, z: -.128924638, w: .233509764} + tangentMode: 0 + - time: 3.31666422 + value: {x: -.0160863772, y: -.852229476, z: .0400660895, w: -.521383584} + inSlope: {x: .11066933, y: -.15156284, z: -.131020337, w: .23425363} + outSlope: {x: .11066933, y: -.15156284, z: -.131020337, w: .23425363} + tangentMode: 0 + - time: 3.33333087 + value: {x: -.01424684, y: -.854742527, z: .0378651433, w: -.517473221} + inSlope: {x: .110044047, y: -.150003582, z: -.133071557, w: .235001072} + outSlope: {x: .110044047, y: -.150003582, z: -.133071557, w: .235001072} + tangentMode: 0 + - time: 3.34999752 + value: {x: -.0124182459, y: -.85722959, z: .0356303751, w: -.513550222} + inSlope: {x: .109356225, y: -.148437172, z: -.135078073, w: .235761032} + outSlope: {x: .109356225, y: -.148437172, z: -.135078073, w: .235761032} + tangentMode: 0 + - time: 3.36666417 + value: {x: -.010601636, y: -.859690428, z: .0333625451, w: -.509614527} + inSlope: {x: .10860604, y: -.146861807, z: -.137038767, w: .236524567} + outSlope: {x: .10860604, y: -.146861807, z: -.137038767, w: .236524567} + tangentMode: 0 + - time: 3.38333082 + value: {x: -.0087980479, y: -.862124979, z: .0310624205, w: -.505666077} + inSlope: {x: .107794076, y: -.145284668, z: -.138952583, w: .237289891} + outSlope: {x: .107794076, y: -.145284668, z: -.138952583, w: .237289891} + tangentMode: 0 + - time: 3.39999747 + value: {x: -.00700850366, y: -.864533246, z: .0287307967, w: -.501704872} + inSlope: {x: .106920972, y: -.1436968, z: -.140818119, w: .238058791} + outSlope: {x: .106920972, y: -.1436968, z: -.140818119, w: .238058791} + tangentMode: 0 + - time: 3.41666412 + value: {x: -.0052340189, y: -.866914868, z: .0263684876, w: -.497730792} + inSlope: {x: .105987668, y: -.142103568, z: -.142634869, w: .238836631} + outSlope: {x: .105987668, y: -.142103568, z: -.142634869, w: .238836631} + tangentMode: 0 + - time: 3.43333077 + value: {x: -.00347558456, y: -.869270027, z: .0239763055, w: -.493743658} + inSlope: {x: .104995057, y: -.140506759, z: -.144402623, w: .239618942} + outSlope: {x: .104995057, y: -.140506759, z: -.144402623, w: .239618942} + tangentMode: 0 + - time: 3.44999743 + value: {x: -.0017341869, y: -.871598423, z: .0215550717, w: -.489743501} + inSlope: {x: .103943199, y: -.138897434, z: -.146119505, w: .240405723} + outSlope: {x: .103943199, y: -.138897434, z: -.146119505, w: .240405723} + tangentMode: 0 + - time: 3.46666408 + value: {x: -1.08145177e-05, y: -.873899937, z: .0191056598, w: -.485730141} + inSlope: {x: .102833197, y: -.137291685, z: -.14778477, w: .241199657} + outSlope: {x: .102833197, y: -.137291685, z: -.14778477, w: .241199657} + tangentMode: 0 + - time: 3.48333073 + value: {x: .00169358309, y: -.876174808, z: .0166289173, w: -.48170352} + inSlope: {x: .101666152, y: -.135684147, z: -.149398461, w: .241996288} + outSlope: {x: .101666152, y: -.135684147, z: -.149398461, w: .241996288} + tangentMode: 0 + - time: 3.49999738 + value: {x: .00337805413, y: -.878422737, z: .0141257159, w: -.477663606} + inSlope: {x: .100442171, y: -.134065881, z: -.15095906, w: .242795587} + outSlope: {x: .100442171, y: -.134065881, z: -.15095906, w: .242795587} + tangentMode: 0 + - time: 3.51666403 + value: {x: .00504165236, y: -.880643666, z: .0115969535, w: -.473610342} + inSlope: {x: .0991618037, y: -.132445812, z: -.152465016, w: .243599355} + outSlope: {x: .0991618037, y: -.132445812, z: -.152465016, w: .243599355} + tangentMode: 0 + - time: 3.53333068 + value: {x: .0066834446, y: -.882837594, z: .00904355384, w: -.469543636} + inSlope: {x: .0978266522, y: -.13082397, z: -.15391697, w: .244404912} + outSlope: {x: .0978266522, y: -.13082397, z: -.15391697, w: .244404912} + tangentMode: 0 + - time: 3.54999733 + value: {x: .00830253772, y: -.885004461, z: .00646639289, w: -.465463519} + inSlope: {x: .0964371264, y: -.129202127, z: -.155313566, w: .245217621} + outSlope: {x: .0964371264, y: -.129202127, z: -.155313566, w: .245217621} + tangentMode: 0 + - time: 3.56666398 + value: {x: .0098980125, y: -.887144327, z: .00386643992, w: -.461369723} + inSlope: {x: .0949937627, y: -.127576709, z: -.156653509, w: .246034801} + outSlope: {x: .0949937627, y: -.127576709, z: -.156653509, w: .246034801} + tangentMode: 0 + - time: 3.58333063 + value: {x: .0114689935, y: -.889257014, z: .00124461413, w: -.457262367} + inSlope: {x: .0934975371, y: -.125947714, z: -.157936379, w: .246851087} + outSlope: {x: .0934975371, y: -.125947714, z: -.157936379, w: .246851087} + tangentMode: 0 + - time: 3.59999728 + value: {x: .0130145941, y: -.89134258, z: -.00139810098, w: -.453141361} + inSlope: {x: .0919493139, y: -.124318719, z: -.159161493, w: .247677207} + outSlope: {x: .0919493139, y: -.124318719, z: -.159161493, w: .247677207} + tangentMode: 0 + - time: 3.61666393 + value: {x: .0145339677, y: -.893400967, z: -.00406076387, w: -.449006468} + inSlope: {x: .0903495699, y: -.1226933, z: -.160327345, w: .248503327} + outSlope: {x: .0903495699, y: -.1226933, z: -.160327345, w: .248503327} + tangentMode: 0 + - time: 3.63333058 + value: {x: .0160262436, y: -.895432353, z: -.00674234051, w: -.444857925} + inSlope: {x: .0886995345, y: -.12106967, z: -.161434099, w: .249331236} + outSlope: {x: .0886995345, y: -.12106967, z: -.161434099, w: .249331236} + tangentMode: 0 + - time: 3.64999723 + value: {x: .0174906161, y: -.897436619, z: -.00944189541, w: -.440695435} + inSlope: {x: .0870001018, y: -.119442455, z: -.162481129, w: .250166297} + outSlope: {x: .0870001018, y: -.119442455, z: -.162481129, w: .250166297} + tangentMode: 0 + - time: 3.66666389 + value: {x: .0189262442, y: -.899413764, z: -.0121583734, w: -.436519057} + inSlope: {x: .0852518603, y: -.117817037, z: -.16346693, w: .251000464} + outSlope: {x: .0852518603, y: -.117817037, z: -.16346693, w: .251000464} + tangentMode: 0 + - time: 3.68333054 + value: {x: .020332342, y: -.90136385, z: -.0148907881, w: -.432328761} + inSlope: {x: .0834558979, y: -.116193406, z: -.164391458, w: .251841784} + outSlope: {x: .0834558979, y: -.116193406, z: -.164391458, w: .251841784} + tangentMode: 0 + - time: 3.69999719 + value: {x: .0217081048, y: -.903286874, z: -.0176380835, w: -.428124338} + inSlope: {x: .0816123784, y: -.114576928, z: -.165252894, w: .252688468} + outSlope: {x: .0816123784, y: -.114576928, z: -.165252894, w: .252688468} + tangentMode: 0 + - time: 3.71666384 + value: {x: .023052752, y: -.905183077, z: -.0203992128, w: -.42390582} + inSlope: {x: .0797231495, y: -.112962231, z: -.166051805, w: .253533363} + outSlope: {x: .0797231495, y: -.112962231, z: -.166051805, w: .253533363} + tangentMode: 0 + - time: 3.73333049 + value: {x: .0243655406, y: -.907052279, z: -.0231731385, w: -.419673234} + inSlope: {x: .0777886659, y: -.111347541, z: -.166786849, w: .25438273} + outSlope: {x: .0777886659, y: -.111347541, z: -.166786849, w: .25438273} + tangentMode: 0 + - time: 3.74999714 + value: {x: .0256457049, y: -.908894658, z: -.025958769, w: -.415426403} + inSlope: {x: .0758096427, y: -.109738216, z: -.167457402, w: .255239248} + outSlope: {x: .0758096427, y: -.109738216, z: -.167457402, w: .255239248} + tangentMode: 0 + - time: 3.76666379 + value: {x: .0268925261, y: -.910710216, z: -.0287550464, w: -.411165267} + inSlope: {x: .0737876967, y: -.108130679, z: -.16806291, w: .256094873} + outSlope: {x: .0737876967, y: -.108130679, z: -.16806291, w: .256094873} + tangentMode: 0 + - time: 3.78333044 + value: {x: .0281052925, y: -.912499011, z: -.0315608606, w: -.406889915} + inSlope: {x: .0717231184, y: -.106537446, z: -.168602705, w: .25695318} + outSlope: {x: .0717231184, y: -.106537446, z: -.168602705, w: .25695318} + tangentMode: 0 + - time: 3.79999709 + value: {x: .0292832945, y: -.91426146, z: -.0343751311, w: -.402600169} + inSlope: {x: .0696170256, y: -.104946002, z: -.169075891, w: .257814169} + outSlope: {x: .0696170256, y: -.104946002, z: -.169075891, w: .257814169} + tangentMode: 0 + - time: 3.81666374 + value: {x: .0304258578, y: -.915997207, z: -.0371967182, w: -.398296118} + inSlope: {x: .0674708635, y: -.103354551, z: -.169482589, w: .258679628} + outSlope: {x: .0674708635, y: -.103354551, z: -.169482589, w: .258679628} + tangentMode: 0 + - time: 3.83333039 + value: {x: .0315323211, y: -.917706609, z: -.040024545, w: -.393977523} + inSlope: {x: .0652840212, y: -.101777412, z: -.169820428, w: .259554923} + outSlope: {x: .0652840212, y: -.101777412, z: -.169820428, w: .259554923} + tangentMode: 0 + - time: 3.84999704 + value: {x: .0326019898, y: -.919389784, z: -.0428573936, w: -.389644295} + inSlope: {x: .0630591288, y: -.100207426, z: -.170091107, w: .260432005} + outSlope: {x: .0630591288, y: -.100207426, z: -.170091107, w: .260432005} + tangentMode: 0 + - time: 3.86666369 + value: {x: .0336342901, y: -.921046853, z: -.0456942432, w: -.385296464} + inSlope: {x: .060796909, y: -.09864638, z: -.170292377, w: .261308193} + outSlope: {x: .060796909, y: -.09864638, z: -.170292377, w: .261308193} + tangentMode: 0 + - time: 3.88333035 + value: {x: .0346285515, y: -.922677994, z: -.048533801, w: -.38093403} + inSlope: {x: .0584980287, y: -.0970889032, z: -.170423701, w: .26218617} + outSlope: {x: .0584980287, y: -.0970889032, z: -.170423701, w: .26218617} + tangentMode: 0 + - time: 3.899997 + value: {x: .0355842225, y: -.924283147, z: -.0513750277, w: -.376556933} + inSlope: {x: .0561638325, y: -.0955367982, z: -.170485944, w: .263073087} + outSlope: {x: .0561638325, y: -.0955367982, z: -.170485944, w: .263073087} + tangentMode: 0 + - time: 3.91666365 + value: {x: .0365006775, y: -.925862551, z: -.0542166606, w: -.372164935} + inSlope: {x: .0537947714, y: -.0939989984, z: -.170477122, w: .263962686} + outSlope: {x: .0537947714, y: -.0939989984, z: -.170477122, w: .263962686} + tangentMode: 0 + - time: 3.9333303 + value: {x: .0373773798, y: -.927416444, z: -.057057593, w: -.367758185} + inSlope: {x: .051392179, y: -.0924719274, z: -.17039755, w: .264858544} + outSlope: {x: .051392179, y: -.0924719274, z: -.17039755, w: .264858544} + tangentMode: 0 + - time: 3.94999695 + value: {x: .0382137485, y: -.928944945, z: -.0598965734, w: -.363336325} + inSlope: {x: .048956953, y: -.090952009, z: -.170244098, w: .26575619} + outSlope: {x: .048956953, y: -.090952009, z: -.170244098, w: .26575619} + tangentMode: 0 + - time: 3.9666636 + value: {x: .0390092768, y: -.930448174, z: -.0627323911, w: -.358899653} + inSlope: {x: .0464908853, y: -.0894481838, z: -.170019805, w: .266656548} + outSlope: {x: .0464908853, y: -.0894481838, z: -.170019805, w: .266656548} + tangentMode: 0 + - time: 3.98333025 + value: {x: .0397634432, y: -.931926548, z: -.0655638948, w: -.354447782} + inSlope: {x: .0439939722, y: -.0879515037, z: -.169723421, w: .267570287} + outSlope: {x: .0439939722, y: -.0879515037, z: -.169723421, w: .267570287} + tangentMode: 0 + - time: 3.9999969 + value: {x: .040475741, y: -.933379889, z: -.068389833, w: -.349980652} + inSlope: {x: .0414679945, y: -.0864637718, z: -.169352382, w: .268481344} + outSlope: {x: .0414679945, y: -.0864637718, z: -.169352382, w: .268481344} + tangentMode: 0 + - time: 4.01666355 + value: {x: .0411457084, y: -.934808671, z: -.0712089688, w: -.345498413} + inSlope: {x: .0389142632, y: -.0849897414, z: -.168906599, w: .269393146} + outSlope: {x: .0389142632, y: -.0849897414, z: -.168906599, w: .269393146} + tangentMode: 0 + - time: 4.03333044 + value: {x: .0417728908, y: -.936212897, z: -.0740200877, w: -.341000825} + inSlope: {x: .0363328308, y: -.0835228711, z: -.168387279, w: .270319253} + outSlope: {x: .0363328308, y: -.0835228711, z: -.168387279, w: .270319253} + tangentMode: 0 + - time: 4.04999733 + value: {x: .0423568189, y: -.937592804, z: -.0768219531, w: -.336487651} + inSlope: {x: .0337259807, y: -.0820745006, z: -.167793632, w: .271247268} + outSlope: {x: .0337259807, y: -.0820745006, z: -.167793632, w: .271247268} + tangentMode: 0 + - time: 4.06666422 + value: {x: .0428971052, y: -.93894875, z: -.0796132833, w: -.331959128} + inSlope: {x: .0310942121, y: -.0806368589, z: -.167124212, w: .272180676} + outSlope: {x: .0310942121, y: -.0806368589, z: -.167124212, w: .272180676} + tangentMode: 0 + - time: 4.08333111 + value: {x: .0433933064, y: -.940280735, z: -.0823928341, w: -.32741484} + inSlope: {x: .0284390822, y: -.0792099386, z: -.166379452, w: .273118556} + outSlope: {x: .0284390822, y: -.0792099386, z: -.166379452, w: .273118556} + tangentMode: 0 + - time: 4.099998 + value: {x: .0438450873, y: -.941589117, z: -.085159339, w: -.322855055} + inSlope: {x: .0257613808, y: -.0778008997, z: -.165558249, w: .274065346} + outSlope: {x: .0257613808, y: -.0778008997, z: -.165558249, w: .274065346} + tangentMode: 0 + - time: 4.11666489 + value: {x: .0442520306, y: -.942874134, z: -.0879115164, w: -.318279207} + inSlope: {x: .023062218, y: -.0764025971, z: -.164658606, w: .275016636} + outSlope: {x: .023062218, y: -.0764025971, z: -.164658606, w: .275016636} + tangentMode: 0 + - time: 4.13333178 + value: {x: .0446138382, y: -.944135904, z: -.0906480327, w: -.313687712} + inSlope: {x: .0203427188, y: -.0750168115, z: -.163681865, w: .275975049} + outSlope: {x: .0203427188, y: -.0750168115, z: -.163681865, w: .275975049} + tangentMode: 0 + - time: 4.14999866 + value: {x: .0449301302, y: -.945374727, z: -.0933676511, w: -.309079915} + inSlope: {x: .0176048912, y: -.0736435354, z: -.162627995, w: .276935279} + outSlope: {x: .0176048912, y: -.0736435354, z: -.162627995, w: .276935279} + tangentMode: 0 + - time: 4.16666555 + value: {x: .0452006757, y: -.946590722, z: -.0960690379, w: -.304456413} + inSlope: {x: .0148495175, y: -.0722845644, z: -.161496788, w: .277902663} + outSlope: {x: .0148495175, y: -.0722845644, z: -.161496788, w: .277902663} + tangentMode: 0 + - time: 4.18333244 + value: {x: .0454251207, y: -.947784245, z: -.0987509489, w: -.29981637} + inSlope: {x: .0120763732, y: -.0709434822, z: -.160287112, w: .278889686} + outSlope: {x: .0120763732, y: -.0709434822, z: -.160287112, w: .278889686} + tangentMode: 0 + - time: 4.19999933 + value: {x: .0456032269, y: -.948955536, z: -.101412013, w: -.295159966} + inSlope: {x: .00928892475, y: -.0696113333, z: -.158996105, w: .279871345} + outSlope: {x: .00928892475, y: -.0696113333, z: -.158996105, w: .279871345} + tangentMode: 0 + - time: 4.21666622 + value: {x: .0457347557, y: -.950104654, z: -.10405089, w: -.2904872} + inSlope: {x: .00648661237, y: -.0682952851, z: -.157626629, w: .28086555} + outSlope: {x: .00648661237, y: -.0682952851, z: -.157626629, w: .28086555} + tangentMode: 0 + - time: 4.23333311 + value: {x: .0458194502, y: -.951232076, z: -.106666304, w: -.285797656} + inSlope: {x: .00367178326, y: -.066998899, z: -.156178474, w: .281866908} + outSlope: {x: .00367178326, y: -.066998899, z: -.156178474, w: .281866908} + tangentMode: 0 + - time: 4.25 + value: {x: .0458571501, y: -.95233798, z: -.109256908, w: -.281091511} + inSlope: {x: .000845666858, y: -.0657114536, z: -.154649407, w: .282874525} + outSlope: {x: .000845666858, y: -.0657114536, z: -.154649407, w: .282874525} + tangentMode: 0 + - time: 4.26666689 + value: {x: .0458476394, y: -.953422487, z: -.111821353, w: -.27636838} + inSlope: {x: -.00199095486, y: -.0644365251, z: -.153039664, w: .283891052} + outSlope: {x: -.00199095486, y: -.0644365251, z: -.153039664, w: .283891052} + tangentMode: 0 + - time: 4.28333378 + value: {x: .0457907841, y: -.954485893, z: -.114358298, w: -.27162835} + inSlope: {x: -.00483662868, y: -.0631830618, z: -.151348114, w: .284915626} + outSlope: {x: -.00483662868, y: -.0631830618, z: -.151348114, w: .284915626} + tangentMode: 0 + - time: 4.30000067 + value: {x: .0456864163, y: -.955528617, z: -.116866358, w: -.266871065} + inSlope: {x: -.00769090792, y: -.061942108, z: -.149576306, w: .285957217} + outSlope: {x: -.00769090792, y: -.061942108, z: -.149576306, w: .285957217} + tangentMode: 0 + - time: 4.31666756 + value: {x: .045534417, y: -.956550658, z: -.119344242, w: -.262096316} + inSlope: {x: -.0105506629, y: -.0607083067, z: -.147722691, w: .286997914} + outSlope: {x: -.0105506629, y: -.0607083067, z: -.147722691, w: .286997914} + tangentMode: 0 + - time: 4.33333445 + value: {x: .0453347228, y: -.957552254, z: -.121790513, w: -.257304341} + inSlope: {x: -.0134161189, y: -.0594941787, z: -.145785496, w: .288048416} + outSlope: {x: -.0134161189, y: -.0594941787, z: -.145785496, w: .288048416} + tangentMode: 0 + - time: 4.35000134 + value: {x: .0450872071, y: -.958533823, z: -.124203824, w: -.252494574} + inSlope: {x: -.0162855964, y: -.0582961403, z: -.143766716, w: .289112806} + outSlope: {x: -.0162855964, y: -.0582961403, z: -.143766716, w: .289112806} + tangentMode: 0 + - time: 4.36666822 + value: {x: .0447918624, y: -.959495485, z: -.126582801, w: -.247667119} + inSlope: {x: -.019156415, y: -.0571070425, z: -.141666353, w: .290180743} + outSlope: {x: -.019156415, y: -.0571070425, z: -.141666353, w: .290180743} + tangentMode: 0 + - time: 4.38333511 + value: {x: .0444486514, y: -.960437417, z: -.128926098, w: -.242821753} + inSlope: {x: -.0220300294, y: -.0559322536, z: -.139480606, w: .291267037} + outSlope: {x: -.0220300294, y: -.0559322536, z: -.139480606, w: .291267037} + tangentMode: 0 + - time: 4.400002 + value: {x: .0440575182, y: -.961359918, z: -.131232217, w: -.237958089} + inSlope: {x: -.0249023028, y: -.0547735542, z: -.137212828, w: .29235509} + outSlope: {x: -.0249023028, y: -.0547735542, z: -.137212828, w: .29235509} + tangentMode: 0 + - time: 4.41666889 + value: {x: .0436185636, y: -.962263227, z: -.13349992, w: -.233076453} + inSlope: {x: -.0277737919, y: -.0536309481, z: -.134861454, w: .293457925} + outSlope: {x: -.0277737919, y: -.0536309481, z: -.134861454, w: .293457925} + tangentMode: 0 + - time: 4.43333578 + value: {x: .0431317128, y: -.96314764, z: -.135727659, w: -.228176028} + inSlope: {x: -.0306424871, y: -.0524954945, z: -.13242425, w: .294573694} + outSlope: {x: -.0306424871, y: -.0524954945, z: -.13242425, w: .294573694} + tangentMode: 0 + - time: 4.45000267 + value: {x: .0425971337, y: -.9640131, z: -.137914121, w: -.223257199} + inSlope: {x: -.0335062668, y: -.0513779223, z: -.12990436, w: .295696199} + outSlope: {x: -.0335062668, y: -.0513779223, z: -.12990436, w: .295696199} + tangentMode: 0 + - time: 4.46666956 + value: {x: .0420148224, y: -.96486026, z: -.140057862, w: -.218319356} + inSlope: {x: -.0363652408, y: -.0502728671, z: -.127297729, w: .296832532} + outSlope: {x: -.0363652408, y: -.0502728671, z: -.127297729, w: .296832532} + tangentMode: 0 + - time: 4.48333645 + value: {x: .0413849428, y: -.965688884, z: -.142157435, w: -.213362649} + inSlope: {x: -.03921628, y: -.0491696, z: -.124605268, w: .297974229} + outSlope: {x: -.03921628, y: -.0491696, z: -.124605268, w: .297974229} + tangentMode: 0 + - time: 4.50000334 + value: {x: .0407075956, y: -.966499269, z: -.144211426, w: -.208386749} + inSlope: {x: -.0420600511, y: -.0480877906, z: -.121831462, w: .299139202} + outSlope: {x: -.0420600511, y: -.0480877906, z: -.121831462, w: .299139202} + tangentMode: 0 + - time: 4.51667023 + value: {x: .0399829224, y: -.967291832, z: -.146218538, w: -.203391209} + inSlope: {x: -.0448930971, y: -.04701671, z: -.118970469, w: .300308645} + outSlope: {x: -.0448930971, y: -.04701671, z: -.118970469, w: .300308645} + tangentMode: 0 + - time: 4.53333712 + value: {x: .0392111391, y: -.968066514, z: -.148177162, w: -.198376328} + inSlope: {x: -.0477149673, y: -.0459527783, z: -.116018295, w: .301486552} + outSlope: {x: -.0477149673, y: -.0459527783, z: -.116018295, w: .301486552} + tangentMode: 0 + - time: 4.55000401 + value: {x: .0383924022, y: -.968823612, z: -.150085866, w: -.193341523} + inSlope: {x: -.0505237617, y: -.0449013673, z: -.112984762, w: .302680552} + outSlope: {x: -.0505237617, y: -.0449013673, z: -.112984762, w: .302680552} + tangentMode: 0 + - time: 4.56667089 + value: {x: .0375269912, y: -.969563246, z: -.151943371, w: -.188286841} + inSlope: {x: -.0533171333, y: -.0438606851, z: -.109865837, w: .303878605} + outSlope: {x: -.0533171333, y: -.0438606851, z: -.109865837, w: .303878605} + tangentMode: 0 + - time: 4.58333778 + value: {x: .0366151407, y: -.970285654, z: -.15374811, w: -.183212101} + inSlope: {x: -.0560972057, y: -.0428271517, z: -.106655724, w: .305101216} + outSlope: {x: -.0560972057, y: -.0428271517, z: -.106655724, w: .305101216} + tangentMode: 0 + - time: 4.60000467 + value: {x: .0356570594, y: -.970990837, z: -.155498609, w: -.178116664} + inSlope: {x: -.0588588379, y: -.0417989865, z: -.103361122, w: .306333244} + outSlope: {x: -.0588588379, y: -.0417989865, z: -.103361122, w: .306333244} + tangentMode: 0 + - time: 4.61667156 + value: {x: .0346531533, y: -.971678972, z: -.157193527, w: -.173000857} + inSlope: {x: -.0616001301, y: -.040779762, z: -.0999780074, w: .30756703} + outSlope: {x: -.0616001301, y: -.040779762, z: -.0999780074, w: .30756703} + tangentMode: 0 + - time: 4.63333845 + value: {x: .0336036943, y: -.97235018, z: -.158831254, w: -.167864293} + inSlope: {x: -.064323321, y: -.0397730544, z: -.0965077206, w: .308827221} + outSlope: {x: -.064323321, y: -.0397730544, z: -.0965077206, w: .308827221} + tangentMode: 0 + - time: 4.65000534 + value: {x: .032509014, y: -.973004758, z: -.160410494, w: -.162706479} + inSlope: {x: -.0670238137, y: -.0387681313, z: -.0929498225, w: .310095429} + outSlope: {x: -.0670238137, y: -.0387681313, z: -.0929498225, w: .310095429} + tangentMode: 0 + - time: 4.66667223 + value: {x: .0313695371, y: -.973642468, z: -.161929622, w: -.15752764} + inSlope: {x: -.0696997344, y: -.0377685726, z: -.089301616, w: .311367691} + outSlope: {x: -.0696997344, y: -.0377685726, z: -.089301616, w: .311367691} + tangentMode: 0 + - time: 4.68333912 + value: {x: .0301856585, y: -.974263728, z: -.163387254, w: -.152327418} + inSlope: {x: -.0723502785, y: -.036774382, z: -.0855662376, w: .312653333} + outSlope: {x: -.0723502785, y: -.036774382, z: -.0855662376, w: .312653333} + tangentMode: 0 + - time: 4.70000601 + value: {x: .0289578289, y: -.974868298, z: -.164781868, w: -.147105724} + inSlope: {x: -.0749751776, y: -.0357837677, z: -.0817428082, w: .313957751} + outSlope: {x: -.0749751776, y: -.0357837677, z: -.0817428082, w: .313957751} + tangentMode: 0 + - time: 4.7166729 + value: {x: .0276864525, y: -.975456536, z: -.16611205, w: -.14186202} + inSlope: {x: -.0775724724, y: -.0347967297, z: -.077830404, w: .315277815} + outSlope: {x: -.0775724724, y: -.0347967297, z: -.077830404, w: .315277815} + tangentMode: 0 + - time: 4.73333979 + value: {x: .0263720453, y: -.976028204, z: -.16737625, w: -.136596322} + inSlope: {x: -.08013881, y: -.0338114761, z: -.0738254786, w: .31660372} + outSlope: {x: -.08013881, y: -.0338114761, z: -.0738254786, w: .31660372} + tangentMode: 0 + - time: 4.75000668 + value: {x: .0250151232, y: -.9765836, z: -.168572932, w: -.131308421} + inSlope: {x: -.0826732367, y: -.0328297988, z: -.0697347149, w: .31794256} + outSlope: {x: -.0826732367, y: -.0328297988, z: -.0697347149, w: .31794256} + tangentMode: 0 + - time: 4.76667356 + value: {x: .0236162338, y: -.977122545, z: -.169700772, w: -.125998095} + inSlope: {x: -.0851743072, y: -.0318427607, z: -.0655540973, w: .319293261} + outSlope: {x: -.0851743072, y: -.0318427607, z: -.0655540973, w: .319293261} + tangentMode: 0 + - time: 4.78334045 + value: {x: .0221759416, y: -.97764504, z: -.170758098, w: -.12066517} + inSlope: {x: -.0876404569, y: -.030857509, z: -.0612813979, w: .320655823} + outSlope: {x: -.0876404569, y: -.030857509, z: -.0612813979, w: .320655823} + tangentMode: 0 + - time: 4.80000734 + value: {x: .0206948463, y: -.978151143, z: -.171743512, w: -.115309425} + inSlope: {x: -.0900692791, y: -.0298704691, z: -.0569192916, w: .322027087} + outSlope: {x: -.0900692791, y: -.0298704691, z: -.0569192916, w: .322027087} + tangentMode: 0 + - time: 4.81667423 + value: {x: .0191735923, y: -.978640735, z: -.172655433, w: -.109930791} + inSlope: {x: -.0924601555, y: -.028879853, z: -.0524659902, w: .323413759} + outSlope: {x: -.0924601555, y: -.028879853, z: -.0524659902, w: .323413759} + tangentMode: 0 + - time: 4.83334112 + value: {x: .0176128, y: -.979113817, z: -.173492402, w: -.104528822} + inSlope: {x: -.0948097929, y: -.0278838724, z: -.047925517, w: .324808061} + outSlope: {x: -.0948097929, y: -.0278838724, z: -.047925517, w: .324808061} + tangentMode: 0 + - time: 4.85000801 + value: {x: .0160132237, y: -.97957021, z: -.174252972, w: -.0991037115} + inSlope: {x: -.0971167088, y: -.0268861055, z: -.0432925075, w: .326209038} + outSlope: {x: -.0971167088, y: -.0268861055, z: -.0432925075, w: .326209038} + tangentMode: 0 + - time: 4.8666749 + value: {x: .014375533, y: -.980010033, z: -.174935505, w: -.0936550424} + inSlope: {x: -.0993810296, y: -.0258829705, z: -.0385665223, w: .327627689} + outSlope: {x: -.0993810296, y: -.0258829705, z: -.0385665223, w: .327627689} + tangentMode: 0 + - time: 4.88334179 + value: {x: .0127004785, y: -.980432987, z: -.17553854, w: -.0881826431} + inSlope: {x: -.101599127, y: -.0248673223, z: -.0337502323, w: .329057038} + outSlope: {x: -.101599127, y: -.0248673223, z: -.0337502323, w: .329057038} + tangentMode: 0 + - time: 4.90000868 + value: {x: .0109888501, y: -.980838954, z: -.176060528, w: -.0826863274} + inSlope: {x: -.103769116, y: -.0238409434, z: -.0288445391, w: .330493152} + outSlope: {x: -.103769116, y: -.0238409434, z: -.0288445391, w: .330493152} + tangentMode: 0 + - time: 4.91667557 + value: {x: .00924146175, y: -.981227696, z: -.176500037, w: -.0771660581} + inSlope: {x: -.105889007, y: -.0228038356, z: -.0238476489, w: .331934363} + outSlope: {x: -.105889007, y: -.0228038356, z: -.0238476489, w: .331934363} + tangentMode: 0 + - time: 4.93334246 + value: {x: .00745916925, y: -.981599092, z: -.17685546, w: -.0716217011} + inSlope: {x: -.107957661, y: -.0217595771, z: -.0187568851, w: .333386958} + outSlope: {x: -.107957661, y: -.0217595771, z: -.0187568851, w: .333386958} + tangentMode: 0 + - time: 4.95000935 + value: {x: .00564282481, y: -.981953025, z: -.177125275, w: -.0660530105} + inSlope: {x: -.10997276, y: -.0207028016, z: -.0135758203, w: .334847629} + outSlope: {x: -.10997276, y: -.0207028016, z: -.0135758203, w: .334847629} + tangentMode: 0 + - time: 4.96667624 + value: {x: .0037933616, y: -.982289195, z: -.177307993, w: -.060459964} + inSlope: {x: -.111931533, y: -.0196281429, z: -.00830311421, w: .336312771} + outSlope: {x: -.111931533, y: -.0196281429, z: -.00830311421, w: .336312771} + tangentMode: 0 + - time: 4.98334312 + value: {x: .00191172399, y: -.982607305, z: -.177402049, w: -.0548424348} + inSlope: {x: -.11383263, y: -.018539181, z: -.00294010877, w: .337784529} + outSlope: {x: -.11383263, y: -.018539181, z: -.00294010877, w: .337784529} + tangentMode: 0 + - time: 5.00001001 + value: {x: -1.11013651e-06, y: -.982907176, z: -.177405998, w: -.0492003299} + inSlope: {x: -.116067529, y: -.0174412783, z: .00252481899, w: .339464903} + outSlope: {x: -.116067529, y: -.0174412783, z: .00252481899, w: .339464903} + tangentMode: 0 + - time: 5.0166769 + value: {x: -.00195724517, y: -.983188689, z: -.177317888, w: -.0435267873} + inSlope: {x: -.119003445, y: -.0163254943, z: .00807155296, w: .341539562} + outSlope: {x: -.119003445, y: -.0163254943, z: .00807155296, w: .341539562} + tangentMode: 0 + - time: 5.03334379 + value: {x: -.00396794453, y: -.983451366, z: -.177136943, w: -.0378155261} + inSlope: {x: -.122210488, y: -.0151739474, z: .0136433206, w: .343778044} + outSlope: {x: -.122210488, y: -.0151739474, z: .0136433206, w: .343778044} + tangentMode: 0 + - time: 5.05001068 + value: {x: -.00603098236, y: -.983694494, z: -.176863104, w: -.0320673659} + inSlope: {x: -.125284582, y: -.0139580294, z: .0192186646, w: .345971614} + outSlope: {x: -.125284582, y: -.0139580294, z: .0192186646, w: .345971614} + tangentMode: 0 + - time: 5.06667757 + value: {x: -.00814415328, y: -.98391664, z: -.176496312, w: -.0262829848} + inSlope: {x: -.128225476, y: -.0126741622, z: .0247953497, w: .348118812} + outSlope: {x: -.128225476, y: -.0126741622, z: .0247953497, w: .348118812} + tangentMode: 0 + - time: 5.08334446 + value: {x: -.0103052221, y: -.984116971, z: -.176036581, w: -.0204632506} + inSlope: {x: -.131032437, y: -.0113330763, z: .0303711407, w: .350213528} + outSlope: {x: -.131032437, y: -.0113330763, z: .0303711407, w: .350213528} + tangentMode: 0 + - time: 5.10001135 + value: {x: -.0125119593, y: -.984294415, z: -.175483927, w: -.0146090453} + inSlope: {x: -.133706778, y: -.00992582925, z: .0359455906, w: .352261364} + outSlope: {x: -.133706778, y: -.00992582925, z: .0359455906, w: .352261364} + tangentMode: 0 + - time: 5.11667824 + value: {x: -.0147621743, y: -.984447837, z: -.174838379, w: -.00872104801} + inSlope: {x: -.136248589, y: -.00845599826, z: .0415173583, w: .354260802} + outSlope: {x: -.136248589, y: -.00845599826, z: .0415173583, w: .354260802} + tangentMode: 0 + - time: 5.13334513 + value: {x: -.0170536395, y: -.984576285, z: -.174099997, w: -.00280019362} + inSlope: {x: -.138655901, y: -.00692537148, z: .0470842086, w: .356199473} + outSlope: {x: -.138655901, y: -.00692537148, z: .0470842086, w: .356199473} + tangentMode: 0 + - time: 5.15001202 + value: {x: -.0193840992, y: -.984678686, z: -.173268884, w: .00315242633} + inSlope: {x: -.140929997, y: -.00533394841, z: .0526425652, w: .358082592} + outSlope: {x: -.140929997, y: -.00533394841, z: .0526425652, w: .358082592} + tangentMode: 0 + - time: 5.16667891 + value: {x: -.0217513684, y: -.984754086, z: -.172345221, w: .00913605187} + inSlope: {x: -.143072203, y: -.00367457722, z: .0581937693, w: .359915614} + outSlope: {x: -.143072203, y: -.00367457722, z: .0581937693, w: .359915614} + tangentMode: 0 + - time: 5.18334579 + value: {x: -.0241532363, y: -.984801173, z: -.171329066, w: .015149774} + inSlope: {x: -.145080701, y: -.00195441023, z: .0637360364, w: .361686409} + outSlope: {x: -.145080701, y: -.00195441023, z: .0637360364, w: .361686409} + tangentMode: 0 + - time: 5.20001268 + value: {x: -.0265874565, y: -.984819233, z: -.170220658, w: .0211924259} + inSlope: {x: -.146956503, y: -.000175235327, z: .0692648888, w: .363397032} + outSlope: {x: -.146956503, y: -.000175235327, z: .0692648888, w: .363397032} + tangentMode: 0 + - time: 5.21667957 + value: {x: -.0290518515, y: -.984807014, z: -.169020206, w: .0272631701} + inSlope: {x: -.148699015, y: .00167009991, z: .0747803301, w: .365042388} + outSlope: {x: -.148699015, y: .00167009991, z: .0747803301, w: .365042388} + tangentMode: 0 + - time: 5.23334646 + value: {x: -.0315441564, y: -.984763563, z: -.167727947, w: .0333606675} + inSlope: {x: -.150308207, y: .00357086677, z: .0802801251, w: .366620958} + outSlope: {x: -.150308207, y: .00357086677, z: .0802801251, w: .366620958} + tangentMode: 0 + - time: 5.25001335 + value: {x: -.0340621918, y: -.984687984, z: -.166344166, w: .0394840315} + inSlope: {x: -.151787534, y: .00553421769, z: .0857615918, w: .368148625} + outSlope: {x: -.151787534, y: .00553421769, z: .0857615918, w: .368148625} + tangentMode: 0 + - time: 5.26668024 + value: {x: -.0366038084, y: -.984579086, z: -.164869189, w: .0456324518} + inSlope: {x: -.153133199, y: .00756015256, z: .0912238359, w: .369599581} + outSlope: {x: -.153133199, y: .00756015256, z: .0912238359, w: .369599581} + tangentMode: 0 + - time: 5.28334713 + value: {x: -.0391667001, y: -.984435976, z: -.163303331, w: .0518041812} + inSlope: {x: -.15434666, y: .00963794254, z: .0966646299, w: .370979875} + outSlope: {x: -.15434666, y: .00963794254, z: .0966646299, w: .370979875} + tangentMode: 0 + - time: 5.30001402 + value: {x: -.0417487659, y: -.984257817, z: -.161646992, w: .0579986125} + inSlope: {x: -.155430704, y: .0117747411, z: .102079935, w: .372302055} + outSlope: {x: -.155430704, y: .0117747411, z: .102079935, w: .372302055} + tangentMode: 0 + - time: 5.31668091 + value: {x: -.0443477929, y: -.984043479, z: -.159900621, w: .0642144158} + inSlope: {x: -.156383097, y: .0139723346, z: .107472003, w: .373550504} + outSlope: {x: -.156383097, y: .0139723346, z: .107472003, w: .373550504} + tangentMode: 0 + - time: 5.3333478 + value: {x: -.0469616055, y: -.983792067, z: -.158064544, w: .0704504624} + inSlope: {x: -.157204628, y: .0162199959, z: .112835899, w: .374727964} + outSlope: {x: -.157204628, y: .0162199959, z: .112835899, w: .374727964} + tangentMode: 0 + - time: 5.35001469 + value: {x: -.0495880172, y: -.983502805, z: -.156139374, w: .0767055154} + inSlope: {x: -.157895297, y: .0185195133, z: .118167609, w: .375825435} + outSlope: {x: -.157895297, y: .0185195133, z: .118167609, w: .375825435} + tangentMode: 0 + - time: 5.36668158 + value: {x: -.0522248521, y: -.983174741, z: -.154125571, w: .0829781443} + inSlope: {x: -.158456981, y: .0208780356, z: .123468027, w: .376853168} + outSlope: {x: -.158456981, y: .0208780356, z: .123468027, w: .376853168} + tangentMode: 0 + - time: 5.38334846 + value: {x: -.0548699871, y: -.982806861, z: -.152023718, w: .089267455} + inSlope: {x: -.158890486, y: .0232866276, z: .128733128, w: .377810925} + outSlope: {x: -.158890486, y: .0232866276, z: .128733128, w: .377810925} + tangentMode: 0 + - time: 5.40001535 + value: {x: -.0575212725, y: -.98239851, z: -.149834409, w: .0955720097} + inSlope: {x: -.159194797, y: .0257363468, z: .133961588, w: .378685772} + outSlope: {x: -.159194797, y: .0257363468, z: .133961588, w: .378685772} + tangentMode: 0 + - time: 5.41668224 + value: {x: -.0601765513, y: -.981948972, z: -.147558272, w: .101890482} + inSlope: {x: -.159372151, y: .0282414965, z: .13915205, w: .379490852} + outSlope: {x: -.159372151, y: .0282414965, z: .13915205, w: .379490852} + tangentMode: 0 + - time: 5.43334913 + value: {x: -.0628337488, y: -.981457114, z: -.145195946, w: .108221874} + inSlope: {x: -.159423009, y: .0307949241, z: .144300014, w: .380219072} + outSlope: {x: -.159423009, y: .0307949241, z: .144300014, w: .380219072} + tangentMode: 0 + - time: 5.45001602 + value: {x: -.0654907227, y: -.980922461, z: -.142748207, w: .11456462} + inSlope: {x: -.159346789, y: .0333859026, z: .149403304, w: .380866349} + outSlope: {x: -.159346789, y: .0333859026, z: .149403304, w: .380866349} + tangentMode: 0 + - time: 5.46668291 + value: {x: -.0681453794, y: -.980344236, z: -.140215769, w: .120917588} + inSlope: {x: -.159144968, y: .0360251628, z: .15446189, w: .381431639} + outSlope: {x: -.159144968, y: .0360251628, z: .15446189, w: .381431639} + tangentMode: 0 + - time: 5.4833498 + value: {x: -.0707956254, y: -.979721606, z: -.137599409, w: .127279177} + inSlope: {x: -.15881975, y: .0387073345, z: .159471288, w: .381920904} + outSlope: {x: -.15881975, y: .0387073345, z: .159471288, w: .381920904} + tangentMode: 0 + - time: 5.50001669 + value: {x: -.0734394416, y: -.979053974, z: -.134899989, w: .133648455} + inSlope: {x: -.15837115, y: .0414234847, z: .164429724, w: .38233307} + outSlope: {x: -.15837115, y: .0414234847, z: .164429724, w: .38233307} + tangentMode: 0 + - time: 5.51668358 + value: {x: -.0760747343, y: -.978340805, z: -.132118344, w: .140023783} + inSlope: {x: -.157799184, y: .0441789702, z: .169335872, w: .382659405} + outSlope: {x: -.157799184, y: .0441789702, z: .169335872, w: .382659405} + tangentMode: 0 + - time: 5.53335047 + value: {x: -.0786994845, y: -.977581322, z: -.129255384, w: .146403939} + inSlope: {x: -.15710628, y: .0469684303, z: .174185693, w: .382908404} + outSlope: {x: -.15710628, y: .0469684303, z: .174185693, w: .382908404} + tangentMode: 0 + - time: 5.55001736 + value: {x: -.0813116804, y: -.976775169, z: -.126312077, w: .152787566} + inSlope: {x: -.156292915, y: .0497936532, z: .178976953, w: .383075118} + outSlope: {x: -.156292915, y: .0497936532, z: .178976953, w: .383075118} + tangentMode: 0 + - time: 5.56668425 + value: {x: -.0839093179, y: -.975921512, z: -.123289406, w: .15917328} + inSlope: {x: -.155361086, y: .052652847, z: .18370831, w: .383162737} + outSlope: {x: -.155361086, y: .052652847, z: .18370831, w: .383162737} + tangentMode: 0 + - time: 5.58335114 + value: {x: -.0864904523, y: -.975020051, z: -.120188385, w: .165559828} + inSlope: {x: -.154311001, y: .0555388667, z: .188376844, w: .383167654} + outSlope: {x: -.154311001, y: .0555388667, z: .188376844, w: .383167654} + tangentMode: 0 + - time: 5.60001802 + value: {x: -.0890530869, y: -.974070191, z: -.117010094, w: .171945706} + inSlope: {x: -.153144479, y: .0584499165, z: .192980349, w: .383090764} + outSlope: {x: -.153144479, y: .0584499165, z: .192980349, w: .383090764} + tangentMode: 0 + - time: 5.61668491 + value: {x: -.0915953368, y: -.973071694, z: -.113755621, w: .178329691} + inSlope: {x: -.151862636, y: .0613877922, z: .197517022, w: .382933855} + outSlope: {x: -.151862636, y: .0613877922, z: .197517022, w: .382933855} + tangentMode: 0 + - time: 5.6333518 + value: {x: -.0941152424, y: -.972023904, z: -.110426106, w: .184710339} + inSlope: {x: -.150467008, y: .0643524826, z: .201983288, w: .382693827} + outSlope: {x: -.150467008, y: .0643524826, z: .201983288, w: .382693827} + tangentMode: 0 + - time: 5.65001869 + value: {x: -.0966109708, y: -.970926583, z: -.107022755, w: .191086322} + inSlope: {x: -.148958951, y: .0673314929, z: .206375122, w: .382366151} + outSlope: {x: -.148958951, y: .0673314929, z: .206375122, w: .382366151} + tangentMode: 0 + - time: 5.66668558 + value: {x: -.0990806073, y: -.969779491, z: -.103546843, w: .197456047} + inSlope: {x: -.147340044, y: .0703337342, z: .21069409, w: .381964266} + outSlope: {x: -.147340044, y: .0703337342, z: .21069409, w: .381964266} + tangentMode: 0 + - time: 5.68335247 + value: {x: -.101522371, y: -.968582094, z: -.0999995247, w: .203818634} + inSlope: {x: -.145612717, y: .0733538568, z: .214936852, w: .381484598} + outSlope: {x: -.145612717, y: .0733538568, z: .214936852, w: .381484598} + tangentMode: 0 + - time: 5.70001936 + value: {x: -.10393443, y: -.96733433, z: -.0963821858, w: .21017237} + inSlope: {x: -.143777668, y: .0763847157, z: .219099134, w: .380917758} + outSlope: {x: -.143777668, y: .0763847157, z: .219099134, w: .380917758} + tangentMode: 0 + - time: 5.71668625 + value: {x: -.106315024, y: -.966035903, z: -.0926961228, w: .216516063} + inSlope: {x: -.141836002, y: .0794263035, z: .223179162, w: .380267799} + outSlope: {x: -.141836002, y: .0794263035, z: .223179162, w: .380267799} + tangentMode: 0 + - time: 5.73335314 + value: {x: -.108662359, y: -.964686751, z: -.0889427811, w: .222848132} + inSlope: {x: -.139791295, y: .0824821889, z: .227176487, w: .379544944} + outSlope: {x: -.139791295, y: .0824821889, z: .227176487, w: .379544944} + tangentMode: 0 + - time: 5.75002003 + value: {x: -.110974796, y: -.963286459, z: -.0851234719, w: .22916773} + inSlope: {x: -.137645334, y: .0855470151, z: .231088668, w: .378746569} + outSlope: {x: -.137645334, y: .0855470151, z: .231088668, w: .378746569} + tangentMode: 0 + - time: 5.76668692 + value: {x: -.113250598, y: -.961835146, z: -.0812397227, w: .235473186} + inSlope: {x: -.135397449, y: .0886154249, z: .234910309, w: .377862334} + outSlope: {x: -.135397449, y: .0886154249, z: .234910309, w: .377862334} + tangentMode: 0 + - time: 5.78335381 + value: {x: -.115488105, y: -.960332572, z: -.0772930235, w: .241763309} + inSlope: {x: -.133051887, y: .0916820467, z: .238641232, w: .37689808} + outSlope: {x: -.133051887, y: .0916820467, z: .238641232, w: .37689808} + tangentMode: 0 + - time: 5.80002069 + value: {x: -.11768572, y: -.958779037, z: -.0732849091, w: .248036623} + inSlope: {x: -.130611107, y: .0947504491, z: .242281154, w: .375860512} + outSlope: {x: -.130611107, y: .0947504491, z: .242281154, w: .375860512} + tangentMode: 0 + - time: 5.81668758 + value: {x: -.119841866, y: -.957174182, z: -.0692168772, w: .25429216} + inSlope: {x: -.128076226, y: .0978224277, z: .245825857, w: .374754131} + outSlope: {x: -.128076226, y: .0978224277, z: .245825857, w: .374754131} + tangentMode: 0 + - time: 5.83335447 + value: {x: -.121954985, y: -.955518246, z: -.0650906041, w: .260528594} + inSlope: {x: -.125449479, y: .100887261, z: .249272689, w: .373565912} + outSlope: {x: -.125449479, y: .100887261, z: .249272689, w: .373565912} + tangentMode: 0 + - time: 5.85002136 + value: {x: -.124023572, y: -.953811228, z: -.0609076768, w: .266744524} + inSlope: {x: -.12273334, y: .103948519, z: .252622277, w: .37230441} + outSlope: {x: -.12273334, y: .103948519, z: .252622277, w: .37230441} + tangentMode: 0 + - time: 5.86668825 + value: {x: -.126046151, y: -.952053249, z: -.0566697493, w: .272938907} + inSlope: {x: -.119928911, y: .107004404, z: .255870402, w: .370970488} + outSlope: {x: -.119928911, y: .107004404, z: .255870402, w: .370970488} + tangentMode: 0 + - time: 5.88335514 + value: {x: -.128021255, y: -.950244367, z: -.0523785502, w: .279110372} + inSlope: {x: -.117040649, y: .110045992, z: .25901413, w: .369562328} + outSlope: {x: -.117040649, y: .110045992, z: .25901413, w: .369562328} + tangentMode: 0 + - time: 5.90002203 + value: {x: -.129947558, y: -.948385, z: -.0480358303, w: .285257816} + inSlope: {x: -.1140697, y: .113075063, z: .26205492, w: .368086249} + outSlope: {x: -.1140697, y: .113075063, z: .26205492, w: .368086249} + tangentMode: 0 + - time: 5.91668892 + value: {x: -.131823629, y: -.946475148, z: -.0436432697, w: .291380078} + inSlope: {x: -.111018278, y: .116088033, z: .264989883, w: .366544008} + outSlope: {x: -.111018278, y: .116088033, z: .264989883, w: .366544008} + tangentMode: 0 + - time: 5.93335581 + value: {x: -.133648217, y: -.944515347, z: -.0392027162, w: .297476113} + inSlope: {x: -.107890412, y: .11908491, z: .267814994, w: .364932895} + outSlope: {x: -.107890412, y: .11908491, z: .267814994, w: .364932895} + tangentMode: 0 + - time: 5.9500227 + value: {x: -.135420024, y: -.942505598, z: -.034715984, w: .30354467} + inSlope: {x: -.104686558, y: .122069284, z: .270530581, w: .363257468} + outSlope: {x: -.104686558, y: .122069284, z: .270530581, w: .363257468} + tangentMode: 0 + - time: 5.96668959 + value: {x: -.137137815, y: -.940446317, z: -.0301849097, w: .309584856} + inSlope: {x: -.101410732, y: .12502861, z: .273134977, w: .361514926} + outSlope: {x: -.101410732, y: .12502861, z: .273134977, w: .361514926} + tangentMode: 0 + - time: 5.98335648 + value: {x: -.138800427, y: -.938337922, z: -.0256113634, w: .315595329} + inSlope: {x: -.0980651677, y: .127964705, z: .275625467, w: .359707117} + outSlope: {x: -.0980651677, y: .127964705, z: .275625467, w: .359707117} + tangentMode: 0 + - time: 6.00002337 + value: {x: -.140406698, y: -.93618077, z: -.0209972709, w: .321575254} + inSlope: {x: -.0946525484, y: .130879313, z: .278001666, w: .357842147} + outSlope: {x: -.0946525484, y: .130879313, z: .278001666, w: .357842147} + tangentMode: 0 + - time: 6.01669025 + value: {x: -.141955554, y: -.93397522, z: -.0163445175, w: .327523559} + inSlope: {x: -.0911764503, y: .13376534, z: .280262172, w: .355919003} + outSlope: {x: -.0911764503, y: .13376534, z: .280262172, w: .355919003} + tangentMode: 0 + - time: 6.03335714 + value: {x: -.143445954, y: -.931721866, z: -.0116550736, w: .33343938} + inSlope: {x: -.0876386687, y: .136624545, z: .282403648, w: .353934228} + outSlope: {x: -.0876386687, y: .136624545, z: .282403648, w: .353934228} + tangentMode: 0 + - time: 6.05002403 + value: {x: -.144876882, y: -.929421008, z: -.00693093613, w: .339321524} + inSlope: {x: -.0840423256, y: .139451548, z: .284427255, w: .35189575} + outSlope: {x: -.0840423256, y: .139451548, z: .284427255, w: .35189575} + tangentMode: 0 + - time: 6.06669092 + value: {x: -.146247402, y: -.927073419, z: -.00217403844, w: .345169395} + inSlope: {x: -.0803900957, y: .142246366, z: .286331594, w: .349806368} + outSlope: {x: -.0803900957, y: .142246366, z: .286331594, w: .349806368} + tangentMode: 0 + - time: 6.08335781 + value: {x: -.147556588, y: -.924679399, z: .00261357799, w: .350981891} + inSlope: {x: -.0766851157, y: .145014375, z: .288113236, w: .347659707} + outSlope: {x: -.0766851157, y: .145014375, z: .288113236, w: .347659707} + tangentMode: 0 + - time: 6.1000247 + value: {x: -.148803607, y: -.922239542, z: .00742986426, w: .356758207} + inSlope: {x: -.0729314238, y: .147743046, z: .289773405, w: .345471084} + outSlope: {x: -.0729314238, y: .147743046, z: .289773405, w: .345471084} + tangentMode: 0 + - time: 6.11669159 + value: {x: -.149987668, y: -.919754565, z: .0122728199, w: .362497747} + inSlope: {x: -.0691312253, y: .150430575, z: .291309357, w: .343230546} + outSlope: {x: -.0691312253, y: .150430575, z: .291309357, w: .343230546} + tangentMode: 0 + - time: 6.13335848 + value: {x: -.151108012, y: -.917225122, z: .0171403065, w: .368199378} + inSlope: {x: -.0652849898, y: .153084144, z: .292720556, w: .34093821} + outSlope: {x: -.0652849898, y: .153084144, z: .292720556, w: .34093821} + tangentMode: 0 + - time: 6.15002537 + value: {x: -.152163863, y: -.914651692, z: .0220303014, w: .373862505} + inSlope: {x: -.0613989681, y: .155701935, z: .294008434, w: .338612735} + outSlope: {x: -.0613989681, y: .155701935, z: .294008434, w: .338612735} + tangentMode: 0 + - time: 6.16669226 + value: {x: -.153154671, y: -.912034988, z: .0269407183, w: .37948662} + inSlope: {x: -.0574767366, y: .158278614, z: .295169353, w: .336247087} + outSlope: {x: -.0574767366, y: .158278614, z: .295169353, w: .336247087} + tangentMode: 0 + - time: 6.18335915 + value: {x: -.15407978, y: -.909375668, z: .0318694115, w: .38507089} + inSlope: {x: -.0535191894, y: .160808802, z: .296201885, w: .333833992} + outSlope: {x: -.0535191894, y: .160808802, z: .296201885, w: .333833992} + tangentMode: 0 + - time: 6.20002604 + value: {x: -.154938668, y: -.906674623, z: .0368142463, w: .390614569} + inSlope: {x: -.0495312437, y: .163290709, z: .297108591, w: .331383407} + outSlope: {x: -.0495312437, y: .163290709, z: .297108591, w: .331383407} + tangentMode: 0 + - time: 6.21669292 + value: {x: -.155730844, y: -.903932571, z: .0417731628, w: .396117151} + inSlope: {x: -.0455142446, y: .165733278, z: .29788819, w: .328907728} + outSlope: {x: -.0455142446, y: .165733278, z: .29788819, w: .328907728} + tangentMode: 0 + - time: 6.23335981 + value: {x: -.15645583, y: -.901150107, z: .0467439853, w: .401578307} + inSlope: {x: -.0414717644, y: .168132916, z: .298537731, w: .326394558} + outSlope: {x: -.0414717644, y: .168132916, z: .298537731, w: .326394558} + tangentMode: 0 + - time: 6.2500267 + value: {x: -.157113254, y: -.898328066, z: .0517245531, w: .406997114} + inSlope: {x: -.0374082699, y: .170482501, z: .299059868, w: .323852718} + outSlope: {x: -.0374082699, y: .170482501, z: .299059868, w: .323852718} + tangentMode: 0 + - time: 6.26669359 + value: {x: -.157702789, y: -.895467281, z: .0567127801, w: .412373543} + inSlope: {x: -.0333251059, y: .172785595, z: .299453139, w: .321288586} + outSlope: {x: -.0333251059, y: .172785595, z: .299453139, w: .321288586} + tangentMode: 0 + - time: 6.28336048 + value: {x: -.158224106, y: -.892568469, z: .0617064573, w: .417706877} + inSlope: {x: -.0292276405, y: .175040409, z: .299715519, w: .318688691} + outSlope: {x: -.0292276405, y: .175040409, z: .299715519, w: .318688691} + tangentMode: 0 + - time: 6.30002737 + value: {x: -.158677056, y: -.889632523, z: .0667034313, w: .42299664} + inSlope: {x: -.0251181051, y: .177245155, z: .299849421, w: .316072643} + outSlope: {x: -.0251181051, y: .177245155, z: .299849421, w: .316072643} + tangentMode: 0 + - time: 6.31669426 + value: {x: -.159061387, y: -.886660218, z: .0717015713, w: .428242773} + inSlope: {x: -.020998735, y: .179392681, z: .299852908, w: .313436091} + outSlope: {x: -.020998735, y: .179392681, z: .299852908, w: .313436091} + tangentMode: 0 + - time: 6.33336115 + value: {x: -.159377024, y: -.883652687, z: .0766986609, w: .433444649} + inSlope: {x: -.0168748926, y: .181491926, z: .299728155, w: .310778022} + outSlope: {x: -.0168748926, y: .181491926, z: .299728155, w: .310778022} + tangentMode: 0 + - time: 6.35002804 + value: {x: -.159623891, y: -.880610406, z: .0816926435, w: .438602179} + inSlope: {x: -.0127470288, y: .183544695, z: .299474716, w: .308108389} + outSlope: {x: -.0127470288, y: .183544695, z: .299474716, w: .308108389} + tangentMode: 0 + - time: 6.36669493 + value: {x: -.15980193, y: -.877534449, z: .086681284, w: .443715066} + inSlope: {x: -.00861916319, y: .185543805, z: .299090922, w: .305428028} + outSlope: {x: -.00861916319, y: .185543805, z: .299090922, w: .305428028} + tangentMode: 0 + - time: 6.38336182 + value: {x: -.1599112, y: -.87442553, z: .091662474, w: .448783249} + inSlope: {x: -.00449576927, y: .187494636, z: .298579752, w: .302741349} + outSlope: {x: -.00449576927, y: .187494636, z: .298579752, w: .302741349} + tangentMode: 0 + - time: 6.40002871 + value: {x: -.159951791, y: -.871284544, z: .096634075, w: .453806579} + inSlope: {x: -.000379527453, y: .189384669, z: .297939152, w: .300038636} + outSlope: {x: -.000379527453, y: .189384669, z: .297939152, w: .300038636} + tangentMode: 0 + - time: 6.41669559 + value: {x: -.159923851, y: -.868112624, z: .101593912, w: .45878467} + inSlope: {x: .00372643257, y: .191217482, z: .29717049, w: .297327816} + outSlope: {x: .00372643257, y: .191217482, z: .29717049, w: .297327816} + tangentMode: 0 + - time: 6.43336248 + value: {x: -.159827575, y: -.864910543, z: .10653989, w: .463717639} + inSlope: {x: .00781853497, y: .193000242, z: .296273053, w: .294617057} + outSlope: {x: .00781853497, y: .193000242, z: .296273053, w: .294617057} + tangentMode: 0 + - time: 6.45002937 + value: {x: -.15966323, y: -.861679196, z: .111469813, w: .468605369} + inSlope: {x: .0118945446, y: .194731146, z: .295249373, w: .291908085} + outSlope: {x: .0118945446, y: .194731146, z: .295249373, w: .291908085} + tangentMode: 0 + - time: 6.46669626 + value: {x: -.159431085, y: -.858419418, z: .116381668, w: .473448038} + inSlope: {x: .0159535669, y: .196410179, z: .294103861, w: .289209783} + outSlope: {x: .0159535669, y: .196410179, z: .294103861, w: .289209783} + tangentMode: 0 + - time: 6.48336315 + value: {x: -.159131438, y: -.855132103, z: .121273406, w: .478245825} + inSlope: {x: .0199875534, y: .198031992, z: .29283005, w: .28650707} + outSlope: {x: .0199875534, y: .198031992, z: .29283005, w: .28650707} + tangentMode: 0 + - time: 6.50003004 + value: {x: -.158764824, y: -.851818264, z: .1261428, w: .482998401} + inSlope: {x: .0239956155, y: .199598387, z: .291428626, w: .283802509} + outSlope: {x: .0239956155, y: .199598387, z: .291428626, w: .283802509} + tangentMode: 0 + - time: 6.51669693 + value: {x: -.158331573, y: -.848478734, z: .130987823, w: .487706035} + inSlope: {x: .0279759616, y: .201114714, z: .289905369, w: .281114995} + outSlope: {x: .0279759616, y: .201114714, z: .289905369, w: .281114995} + tangentMode: 0 + - time: 6.53336382 + value: {x: -.15783228, y: -.84511435, z: .135806441, w: .492369026} + inSlope: {x: .0319241211, y: .20257023, z: .288260281, w: .278437316} + outSlope: {x: .0319241211, y: .20257023, z: .288260281, w: .278437316} + tangentMode: 0 + - time: 6.55003071 + value: {x: -.157267421, y: -.841726303, z: .140596628, w: .496987402} + inSlope: {x: .035838753, y: .203977495, z: .286494076, w: .275776565} + outSlope: {x: .035838753, y: .203977495, z: .286494076, w: .275776565} + tangentMode: 0 + - time: 6.5666976 + value: {x: -.156637639, y: -.83831501, z: .145356372, w: .501561701} + inSlope: {x: .0397144929, y: .205336452, z: .284606755, w: .273132861} + outSlope: {x: .0397144929, y: .205336452, z: .284606755, w: .273132861} + tangentMode: 0 + - time: 6.58336449 + value: {x: -.155943587, y: -.834881663, z: .150083646, w: .506091952} + inSlope: {x: .0435513407, y: .206636399, z: .282599568, w: .270507872} + outSlope: {x: .0435513407, y: .206636399, z: .282599568, w: .270507872} + tangentMode: 0 + - time: 6.60003138 + value: {x: -.155185908, y: -.831427038, z: .154776484, w: .510578752} + inSlope: {x: .0473434851, y: .207880944, z: .280473053, w: .267897248} + outSlope: {x: .0473434851, y: .207880944, z: .280473053, w: .267897248} + tangentMode: 0 + - time: 6.61669827 + value: {x: -.15436545, y: -.827952206, z: .159432873, w: .51502198} + inSlope: {x: .0510886945, y: .209075391, z: .278230786, w: .265304506} + outSlope: {x: .0510886945, y: .209075391, z: .278230786, w: .265304506} + tangentMode: 0 + - time: 6.63336515 + value: {x: -.153482929, y: -.824457765, z: .164050967, w: .519422352} + inSlope: {x: .0547865182, y: .210216224, z: .275873601, w: .26274389} + outSlope: {x: .0547865182, y: .210216224, z: .275873601, w: .26274389} + tangentMode: 0 + - time: 6.65003204 + value: {x: -.152539209, y: -.820944905, z: .168628782, w: .523780227} + inSlope: {x: .0584333763, y: .211310536, z: .273401499, w: .260210156} + outSlope: {x: .0584333763, y: .211310536, z: .273401499, w: .260210156} + tangentMode: 0 + - time: 6.66669893 + value: {x: -.151535124, y: -.817413986, z: .173164472, w: .528096139} + inSlope: {x: .0620248094, y: .212360173, z: .270816326, w: .257708549} + outSlope: {x: .0620248094, y: .212360173, z: .270816326, w: .257708549} + tangentMode: 0 + - time: 6.68336582 + value: {x: -.150471687, y: -.813866138, z: .177656114, w: .532370627} + inSlope: {x: .0655594617, y: .213348985, z: .268120289, w: .255230248} + outSlope: {x: .0655594617, y: .213348985, z: .268120289, w: .255230248} + tangentMode: 0 + - time: 6.70003271 + value: {x: -.149349779, y: -.810302258, z: .182101935, w: .536603928} + inSlope: {x: .0690360069, y: .214291334, z: .265316993, w: .252784073} + outSlope: {x: .0690360069, y: .214291334, z: .265316993, w: .252784073} + tangentMode: 0 + - time: 6.7166996 + value: {x: -.148170456, y: -.806722999, z: .186500132, w: .540796876} + inSlope: {x: .0724472851, y: .215190768, z: .26240325, w: .250377297} + outSlope: {x: .0724472851, y: .215190768, z: .26240325, w: .250377297} + tangentMode: 0 + - time: 6.73336649 + value: {x: -.146934837, y: -.803129137, z: .190848827, w: .544949949} + inSlope: {x: .0757955313, y: .216041893, z: .259381771, w: .248006254} + outSlope: {x: .0757955313, y: .216041893, z: .259381771, w: .248006254} + tangentMode: 0 + - time: 6.75003338 + value: {x: -.145643905, y: -.799521506, z: .195146307, w: .549063861} + inSlope: {x: .0790776163, y: .216841191, z: .256257951, w: .245669186} + outSlope: {x: .0790776163, y: .216841191, z: .256257951, w: .245669186} + tangentMode: 0 + - time: 6.76670027 + value: {x: -.144298881, y: -.795901, z: .199390873, w: .553139031} + inSlope: {x: .0822895169, y: .217599347, z: .253031313, w: .243371457} + outSlope: {x: .0822895169, y: .217599347, z: .253031313, w: .243371457} + tangentMode: 0 + - time: 6.78336716 + value: {x: -.142900884, y: -.792268097, z: .203580797, w: .557176352} + inSlope: {x: .0854307935, y: .218316376, z: .249701828, w: .241118431} + outSlope: {x: .0854307935, y: .218316376, z: .249701828, w: .241118431} + tangentMode: 0 + - time: 6.80003405 + value: {x: -.14145115, y: -.788623691, z: .207714379, w: .561176419} + inSlope: {x: .0884965211, y: .218988717, z: .246272683, w: .238908321} + outSlope: {x: .0884965211, y: .218988717, z: .246272683, w: .238908321} + tangentMode: 0 + - time: 6.81670094 + value: {x: -.139950961, y: -.784968376, z: .211789995, w: .565140069} + inSlope: {x: .0914884806, y: .219618127, z: .242748737, w: .23674649} + outSlope: {x: .0914884806, y: .219618127, z: .242748737, w: .23674649} + tangentMode: 0 + - time: 6.83336782 + value: {x: -.138401493, y: -.781302989, z: .215806112, w: .569068074} + inSlope: {x: .0944022089, y: .220204622, z: .239129156, w: .23462221} + outSlope: {x: .0944022089, y: .220204622, z: .239129156, w: .23462221} + tangentMode: 0 + - time: 6.85003471 + value: {x: -.136804178, y: -.777628124, z: .219761074, w: .572960913} + inSlope: {x: .0972314626, y: .220750004, z: .235411212, w: .232540846} + outSlope: {x: .0972314626, y: .220750004, z: .235411212, w: .232540846} + tangentMode: 0 + - time: 6.8667016 + value: {x: -.135160401, y: -.773944557, z: .223653257, w: .576819539} + inSlope: {x: .0999802351, y: .221259624, z: .231601626, w: .230514914} + outSlope: {x: .0999802351, y: .221259624, z: .231601626, w: .230514914} + tangentMode: 0 + - time: 6.88336849 + value: {x: -.133471459, y: -.770252705, z: .227481231, w: .580644846} + inSlope: {x: .102649003, y: .221738845, z: .227706671, w: .228544399} + outSlope: {x: .102649003, y: .221738845, z: .227706671, w: .228544399} + tangentMode: 0 + - time: 6.90003538 + value: {x: -.131738722, y: -.766553164, z: .231243581, w: .584437788} + inSlope: {x: .105229259, y: .222176924, z: .223723203, w: .226625755} + outSlope: {x: .105229259, y: .222176924, z: .223723203, w: .226625755} + tangentMode: 0 + - time: 6.91670227 + value: {x: -.129963771, y: -.762846708, z: .234938771, w: .588199139} + inSlope: {x: .107720099, y: .222577453, z: .219649419, w: .224750012} + outSlope: {x: .107720099, y: .222577453, z: .219649419, w: .224750012} + tangentMode: 0 + - time: 6.93336916 + value: {x: -.128148004, y: -.759133816, z: .238565326, w: .591929555} + inSlope: {x: .110120647, y: .222944021, z: .215491161, w: .222924352} + outSlope: {x: .110120647, y: .222944021, z: .215491161, w: .222924352} + tangentMode: 0 + - time: 6.95003605 + value: {x: -.126293033, y: -.755415142, z: .242121905, w: .59563005} + inSlope: {x: .112431556, y: .223283768, z: .21125333, w: .221161276} + outSlope: {x: .112431556, y: .223283768, z: .21125333, w: .221161276} + tangentMode: 0 + - time: 6.96670294 + value: {x: -.124400236, y: -.751690924, z: .245607197, w: .599301696} + inSlope: {x: .114649266, y: .223591328, z: .206935033, w: .219448268} + outSlope: {x: .114649266, y: .223591328, z: .206935033, w: .219448268} + tangentMode: 0 + - time: 6.98336983 + value: {x: -.12247134, y: -.747961998, z: .249019831, w: .602945089} + inSlope: {x: .116772659, y: .223866701, z: .202537164, w: .217790678} + outSlope: {x: .116772659, y: .223866701, z: .202537164, w: .217790678} + tangentMode: 0 + - time: 7.00003672 + value: {x: -.120507762, y: -.744228601, z: .252358526, w: .606561482} + inSlope: {x: .118797697, y: .224109873, z: .198060617, w: .216190308} + outSlope: {x: .118797697, y: .224109873, z: .198060617, w: .216190308} + tangentMode: 0 + - time: 7.01670361 + value: {x: -.118511364, y: -.740491569, z: .25562194, w: .610151529} + inSlope: {x: .120727524, y: .224335179, z: .193512544, w: .214647174} + outSlope: {x: .120727524, y: .224335179, z: .193512544, w: .214647174} + tangentMode: 0 + - time: 7.03337049 + value: {x: -.116483457, y: -.736750662, z: .25880903, w: .613716483} + inSlope: {x: .122556761, y: .224531874, z: .188891158, w: .213161245} + outSlope: {x: .122556761, y: .224531874, z: .188891158, w: .213161245} + tangentMode: 0 + - time: 7.05003738 + value: {x: -.114426084, y: -.733007073, z: .261918396, w: .617256999} + inSlope: {x: .124283418, y: .224699959, z: .184195563, w: .211725384} + outSlope: {x: .124283418, y: .224699959, z: .184195563, w: .211725384} + tangentMode: 0 + - time: 7.06670427 + value: {x: -.112340622, y: -.729260564, z: .264948964, w: .62077409} + inSlope: {x: .125914618, y: .224853724, z: .179432914, w: .210359275} + outSlope: {x: .125914618, y: .224853724, z: .179432914, w: .210359275} + tangentMode: 0 + - time: 7.08337116 + value: {x: -.110228874, y: -.725511849, z: .267899573, w: .624269068} + inSlope: {x: .127435416, y: .224969953, z: .174604118, w: .209044993} + outSlope: {x: .127435416, y: .224969953, z: .174604118, w: .209044993} + tangentMode: 0 + - time: 7.10003805 + value: {x: -.108092718, y: -.721761465, z: .270769179, w: .62774235} + inSlope: {x: .128857642, y: .225082606, z: .169709146, w: .207793325} + outSlope: {x: .128857642, y: .225082606, z: .169709146, w: .207793325} + tangentMode: 0 + - time: 7.11670494 + value: {x: -.105933562, y: -.718008995, z: .27355662, w: .631195605} + inSlope: {x: .130173475, y: .225170225, z: .164748013, w: .206595272} + outSlope: {x: .130173475, y: .225170225, z: .164748013, w: .206595272} + tangentMode: 0 + - time: 7.13337183 + value: {x: -.103753544, y: -.714255691, z: .276260853, w: .634628952} + inSlope: {x: .131380886, y: .225238174, z: .15972878, w: .205459833} + outSlope: {x: .131380886, y: .225238174, z: .15972878, w: .205459833} + tangentMode: 0 + - time: 7.15003872 + value: {x: -.10155414, y: -.710500956, z: .278880984, w: .638044357} + inSlope: {x: .132483929, y: .225297183, z: .154648751, w: .20438695} + outSlope: {x: .132483929, y: .225297183, z: .154648751, w: .20438695} + tangentMode: 0 + - time: 7.16670561 + value: {x: -.0993373543, y: -.706745684, z: .28141588, w: .641441941} + inSlope: {x: .133475661, y: .225331157, z: .149506122, w: .203360587} + outSlope: {x: .133475661, y: .225331157, z: .149506122, w: .203360587} + tangentMode: 0 + - time: 7.1833725 + value: {x: -.0971048921, y: -.702989817, z: .283864588, w: .644823134} + inSlope: {x: .134359211, y: .225352615, z: .14430806, w: .20239678} + outSlope: {x: .134359211, y: .225352615, z: .14430806, w: .20239678} + tangentMode: 0 + - time: 7.20003939 + value: {x: -.0948586538, y: -.69923383, z: .286226213, w: .648188591} + inSlope: {x: .135132805, y: .22536692, z: .139058173, w: .201495588} + outSlope: {x: .135132805, y: .22536692, z: .139058173, w: .201495588} + tangentMode: 0 + - time: 7.21670628 + value: {x: -.0926004052, y: -.695477486, z: .288499922, w: .651539743} + inSlope: {x: .135800004, y: .225374073, z: .133754611, w: .200660527} + outSlope: {x: .135800004, y: .225374073, z: .133754611, w: .200660527} + tangentMode: 0 + - time: 7.23337317 + value: {x: -.0903319269, y: -.691721261, z: .29068476, w: .654877365} + inSlope: {x: .136353865, y: .22536692, z: .128396526, w: .199870184} + outSlope: {x: .136353865, y: .22536692, z: .128396526, w: .199870184} + tangentMode: 0 + - time: 7.25004005 + value: {x: -.0880552158, y: -.687965155, z: .292779863, w: .658202171} + inSlope: {x: .13679105, y: .225341886, z: .122984789, w: .199129909} + outSlope: {x: .13679105, y: .225341886, z: .122984789, w: .199129909} + tangentMode: 0 + - time: 7.26670694 + value: {x: -.0857721642, y: -.684209764, z: .294784307, w: .661515117} + inSlope: {x: .13711381, y: .225306123, z: .117523886, w: .198450416} + outSlope: {x: .13711381, y: .225306123, z: .117523886, w: .198450416} + tangentMode: 0 + - time: 7.28337383 + value: {x: -.0834846944, y: -.68045485, z: .296697378, w: .664817274} + inSlope: {x: .137328386, y: .225275725, z: .112020962, w: .197837085} + outSlope: {x: .137328386, y: .225275725, z: .112020962, w: .197837085} + tangentMode: 0 + - time: 7.30004072 + value: {x: -.0811944902, y: -.676700473, z: .298518389, w: .668109775} + inSlope: {x: .137429193, y: .225234598, z: .106469758, w: .197273836} + outSlope: {x: .137429193, y: .225234598, z: .106469758, w: .197273836} + tangentMode: 0 + - time: 7.31670761 + value: {x: -.0789036602, y: -.67294693, z: .300246418, w: .671393156} + inSlope: {x: .137412876, y: .225189894, z: .10086938, w: .196760654} + outSlope: {x: .137412876, y: .225189894, z: .10086938, w: .196760654} + tangentMode: 0 + - time: 7.3333745 + value: {x: -.0766139999, y: -.669194043, z: .301880747, w: .67466855} + inSlope: {x: .137282789, y: .225138038, z: .0952260867, w: .196299314} + outSlope: {x: .137282789, y: .225138038, z: .0952260867, w: .196299314} + tangentMode: 0 + - time: 7.35004139 + value: {x: -.0743275061, y: -.665442228, z: .303420663, w: .677936554} + inSlope: {x: .137037814, y: .225082606, z: .0895425677, w: .195891619} + outSlope: {x: .137037814, y: .225082606, z: .0895425677, w: .195891619} + tangentMode: 0 + - time: 7.36670828 + value: {x: -.0720460117, y: -.661691189, z: .304865539, w: .681198359} + inSlope: {x: .136676401, y: .225028962, z: .0838152319, w: .195537582} + outSlope: {x: .136676401, y: .225028962, z: .0838152319, w: .195537582} + tangentMode: 0 + - time: 7.38337517 + value: {x: -.0697715655, y: -.657941163, z: .306214541, w: .68445456} + inSlope: {x: .136196062, y: .224961013, z: .0780431926, w: .195221081} + outSlope: {x: .136196062, y: .224961013, z: .0780431926, w: .195221081} + tangentMode: 0 + - time: 7.40004206 + value: {x: -.0675060824, y: -.654192388, z: .307467014, w: .687705815} + inSlope: {x: .135599941, y: .224902004, z: .0722344965, w: .194961801} + outSlope: {x: .135599941, y: .224902004, z: .0722344965, w: .194961801} + tangentMode: 0 + - time: 7.41670895 + value: {x: -.0652515069, y: -.650444329, z: .30862239, w: .690953374} + inSlope: {x: .134889841, y: .224846587, z: .0663891509, w: .194754392} + outSlope: {x: .134889841, y: .224846587, z: .0663891509, w: .194754392} + tangentMode: 0 + - time: 7.43337584 + value: {x: -.0630096942, y: -.646697402, z: .309680015, w: .694197714} + inSlope: {x: .134057462, y: .224773273, z: .0605017804, w: .194580942} + outSlope: {x: .134057462, y: .224773273, z: .0605017804, w: .194580942} + tangentMode: 0 + - time: 7.45004272 + value: {x: -.0607828647, y: -.642951787, z: .310639143, w: .697439492} + inSlope: {x: .133110225, y: .2247089, z: .0545777529, w: .194452196} + outSlope: {x: .133110225, y: .2247089, z: .0545777529, w: .194452196} + tangentMode: 0 + - time: 7.46670961 + value: {x: -.0585726276, y: -.639207006, z: .311499298, w: .700679541} + inSlope: {x: .132048309, y: .224653468, z: .0486170724, w: .194373518} + outSlope: {x: .132048309, y: .224653468, z: .0486170724, w: .194373518} + tangentMode: 0 + - time: 7.4833765 + value: {x: -.0563811958, y: -.635463238, z: .312259734, w: .703918695} + inSlope: {x: .130865455, y: .224596247, z: .0426179431, w: .194335967} + outSlope: {x: .130865455, y: .224596247, z: .0426179431, w: .194335967} + tangentMode: 0 + - time: 7.50004339 + value: {x: -.0542103872, y: -.631720364, z: .312919915, w: .707157493} + inSlope: {x: .129837513, y: .224592671, z: .0369782299, w: .194226891} + outSlope: {x: .129837513, y: .224592671, z: .0369782299, w: .194226891} + tangentMode: 0 + - time: 7.51671028 + value: {x: -.0520532206, y: -.627976716, z: .313492358, w: .710393012} + inSlope: {x: .129247889, y: .224710688, z: .0321136601, w: .193942577} + outSlope: {x: .129247889, y: .224710688, z: .0321136601, w: .193942577} + tangentMode: 0 + - time: 7.53337717 + value: {x: -.0499020666, y: -.624229908, z: .313990384, w: .713622332} + inSlope: {x: .128860533, y: .22490558, z: .0276710875, w: .193568856} + outSlope: {x: .128860533, y: .22490558, z: .0276710875, w: .193568856} + tangentMode: 0 + - time: 7.55004406 + value: {x: -.0477578118, y: -.620479763, z: .31441474, w: .716845393} + inSlope: {x: .128420442, y: .225118369, z: .0232758988, w: .193207666} + outSlope: {x: .128420442, y: .225118369, z: .0232758988, w: .193207666} + tangentMode: 0 + - time: 7.56671095 + value: {x: -.0456213281, y: -.616725862, z: .314766258, w: .720062673} + inSlope: {x: .127922446, y: .225347251, z: .0189307779, w: .192844674} + outSlope: {x: .127922446, y: .225347251, z: .0189307779, w: .192844674} + tangentMode: 0 + - time: 7.58337784 + value: {x: -.0434936732, y: -.612968087, z: .315045774, w: .723273635} + inSlope: {x: .127367243, y: .225590438, z: .0146312546, w: .19246918} + outSlope: {x: .127367243, y: .225590438, z: .0146312546, w: .19246918} + tangentMode: 0 + - time: 7.60004473 + value: {x: -.0413756967, y: -.60920608, z: .315253973, w: .726478398} + inSlope: {x: .126761734, y: .22584793, z: .0103826923, w: .192106187} + outSlope: {x: .126761734, y: .22584793, z: .0103826923, w: .192106187} + tangentMode: 0 + - time: 7.61671162 + value: {x: -.0392682254, y: -.605439723, z: .315391868, w: .72967726} + inSlope: {x: .126106843, y: .226125091, z: .0061850911, w: .191741407} + outSlope: {x: .126106843, y: .226125091, z: .0061850911, w: .191741407} + tangentMode: 0 + - time: 7.63337851 + value: {x: -.0371720791, y: -.601668477, z: .315460145, w: .732869864} + inSlope: {x: .125397414, y: .226412967, z: .00203219336, w: .19136411} + outSlope: {x: .125397414, y: .226412967, z: .00203219336, w: .19136411} + tangentMode: 0 + - time: 7.65004539 + value: {x: -.035088256, y: -.597892523, z: .315459609, w: .736056149} + inSlope: {x: .124637902, y: .22670801, z: -.00207242579, w: .190981463} + outSlope: {x: .124637902, y: .22670801, z: -.00207242579, w: .190981463} + tangentMode: 0 + - time: 7.66671228 + value: {x: -.0330174267, y: -.594111443, z: .315391064, w: .739235997} + inSlope: {x: .123837724, y: .227031648, z: -.0061269775, w: .190605953} + outSlope: {x: .123837724, y: .227031648, z: -.0061269775, w: .190605953} + tangentMode: 0 + - time: 7.68337917 + value: {x: -.0309602767, y: -.5903247, z: .315255374, w: .742409766} + inSlope: {x: .122986585, y: .227364242, z: -.0101332497, w: .190221518} + outSlope: {x: .122986585, y: .227364242, z: -.0101332497, w: .190221518} + tangentMode: 0 + - time: 7.70004606 + value: {x: -.0289178193, y: -.586532533, z: .315053284, w: .745576799} + inSlope: {x: .122088052, y: .2277022, z: -.014092138, w: .189822763} + outSlope: {x: .122088052, y: .2277022, z: -.014092138, w: .189822763} + tangentMode: 0 + - time: 7.71671295 + value: {x: -.0268906206, y: -.582734525, z: .31478563, w: .748737276} + inSlope: {x: .121147953, y: .22805804, z: -.0180045348, w: .189413279} + outSlope: {x: .121147953, y: .22805804, z: -.0180045348, w: .189413279} + tangentMode: 0 + - time: 7.73337984 + value: {x: -.0248795003, y: -.578930497, z: .314453125, w: .751890659} + inSlope: {x: .120167173, y: .22842817, z: -.0218668655, w: .189002007} + outSlope: {x: .120167173, y: .22842817, z: -.0218668655, w: .189002007} + tangentMode: 0 + - time: 7.75004673 + value: {x: -.0228849947, y: -.575120151, z: .314056724, w: .755037427} + inSlope: {x: .119144812, y: .228809044, z: -.0256818086, w: .188583598} + outSlope: {x: .119144812, y: .228809044, z: -.0256818086, w: .188583598} + tangentMode: 0 + - time: 7.76671362 + value: {x: -.0209079534, y: -.571303427, z: .313597053, w: .758176863} + inSlope: {x: .118074626, y: .229193479, z: -.029450262, w: .188140154} + outSlope: {x: .118074626, y: .229193479, z: -.029450262, w: .188140154} + tangentMode: 0 + - time: 7.78338051 + value: {x: -.0189491212, y: -.567480266, z: .313075036, w: .761308849} + inSlope: {x: .116970018, y: .229601175, z: -.0331704356, w: .187696695} + outSlope: {x: .116970018, y: .229601175, z: -.0331704356, w: .187696695} + tangentMode: 0 + - time: 7.8000474 + value: {x: -.0170089006, y: -.563649952, z: .312491357, w: .764433503} + inSlope: {x: .11582607, y: .230014235, z: -.0368423313, w: .187235355} + outSlope: {x: .11582607, y: .230014235, z: -.0368423313, w: .187235355} + tangentMode: 0 + - time: 7.81671429 + value: {x: -.0150882006, y: -.559813023, z: .311846942, w: .767550111} + inSlope: {x: .114641443, y: .230425507, z: -.0404659472, w: .186757922} + outSlope: {x: .114641443, y: .230425507, z: -.0404659472, w: .186757922} + tangentMode: 0 + - time: 7.83338118 + value: {x: -.0131874681, y: -.555969, z: .311142474, w: .770658851} + inSlope: {x: .113422848, y: .230856434, z: -.0440439656, w: .186269775} + outSlope: {x: .113422848, y: .230856434, z: -.0440439656, w: .186269775} + tangentMode: 0 + - time: 7.85004807 + value: {x: -.0113073885, y: -.552117705, z: .31037879, w: .773759186} + inSlope: {x: .112171613, y: .231303468, z: -.0475746021, w: .185769111} + outSlope: {x: .112171613, y: .231303468, z: -.0475746021, w: .185769111} + tangentMode: 0 + - time: 7.86671495 + value: {x: -.00944836438, y: -.548258781, z: .309556633, w: .776851237} + inSlope: {x: .110885955, y: .231757641, z: -.0510578491, w: .185250551} + outSlope: {x: .110885955, y: .231757641, z: -.0510578491, w: .185250551} + tangentMode: 0 + - time: 7.88338184 + value: {x: -.00761114061, y: -.544392347, z: .308676839, w: .779934287} + inSlope: {x: .109561861, y: .232206464, z: -.054491926, w: .184712321} + outSlope: {x: .109561861, y: .232206464, z: -.054491926, w: .184712321} + tangentMode: 0 + - time: 7.90004873 + value: {x: -.00579625368, y: -.540518463, z: .307740211, w: .783008397} + inSlope: {x: .108207807, y: .232664227, z: -.0578804053, w: .1841598} + outSlope: {x: .108207807, y: .232664227, z: -.0578804053, w: .1841598} + tangentMode: 0 + - time: 7.91671562 + value: {x: -.00400416553, y: -.53663677, z: .306747466, w: .786073029} + inSlope: {x: .106820673, y: .233134493, z: -.0612223893, w: .183592975} + outSlope: {x: .106820673, y: .233134493, z: -.0612223893, w: .183592975} + tangentMode: 0 + - time: 7.93338251 + value: {x: -.00223551691, y: -.532747209, z: .305699438, w: .789128244} + inSlope: {x: .105406724, y: .233617276, z: -.0645160973, w: .183010042} + outSlope: {x: .105406724, y: .233617276, z: -.0645160973, w: .183010042} + tangentMode: 0 + - time: 7.9500494 + value: {x: -.000490561128, y: -.528849423, z: .304596901, w: .792173445} + inSlope: {x: .103964165, y: .23410365, z: -.0677633137, w: .182402074} + outSlope: {x: .103964165, y: .23410365, z: -.0677633137, w: .182402074} + tangentMode: 0 + - time: 7.96671629 + value: {x: .00123000145, y: -.52494365, z: .30344063, w: .795208395} + inSlope: {x: .102487177, y: .234584659, z: -.0709640458, w: .18177624} + outSlope: {x: .102487177, y: .234584659, z: -.0709640458, w: .18177624} + tangentMode: 0 + - time: 7.98338318 + value: {x: .00292572379, y: -.52102983, z: .302231401, w: .798232734} + inSlope: {x: .100983024, y: .235074401, z: -.074116677, w: .181131527} + outSlope: {x: .100983024, y: .235074401, z: -.074116677, w: .181131527} + tangentMode: 0 + - time: 8.00004959 + value: {x: .00459609926, y: -.517107844, z: .300970078, w: .801246107} + inSlope: {x: .0994506776, y: .235564128, z: -.0772210807, w: .180465341} + outSlope: {x: .0994506776, y: .235564128, z: -.0772210807, w: .180465341} + tangentMode: 0 + - time: 8.016716 + value: {x: .00624069571, y: -.513177812, z: .299657404, w: .804248154} + inSlope: {x: .0978963077, y: .236063033, z: -.080283314, w: .179778695} + outSlope: {x: .0978963077, y: .236063033, z: -.080283314, w: .179778695} + tangentMode: 0 + - time: 8.03338242 + value: {x: .00785925984, y: -.509239197, z: .298294008, w: .807238638} + inSlope: {x: .0963196009, y: .236574441, z: -.083297275, w: .179079533} + outSlope: {x: .0963196009, y: .236574441, z: -.083297275, w: .179079533} + tangentMode: 0 + - time: 8.05004883 + value: {x: .00945129991, y: -.505292118, z: .296880871, w: .810217381} + inSlope: {x: .094713822, y: .237075135, z: -.0862593725, w: .178357095} + outSlope: {x: .094713822, y: .237075135, z: -.0862593725, w: .178357095} + tangentMode: 0 + - time: 8.06671524 + value: {x: .0110163391, y: -.501336813, z: .295418739, w: .813183784} + inSlope: {x: .0930845737, y: .237582982, z: -.0891785547, w: .177609652} + outSlope: {x: .0930845737, y: .237582982, z: -.0891785547, w: .177609652} + tangentMode: 0 + - time: 8.08338165 + value: {x: .0125540718, y: -.497372806, z: .293908298, w: .816137612} + inSlope: {x: .0914345533, y: .238097966, z: -.0920512378, w: .176844314} + outSlope: {x: .0914345533, y: .238097966, z: -.0920512378, w: .176844314} + tangentMode: 0 + - time: 8.10004807 + value: {x: .0140641108, y: -.493400335, z: .292350411, w: .819078505} + inSlope: {x: .0897630602, y: .238605797, z: -.0948765427, w: .176052153} + outSlope: {x: .0897630602, y: .238605797, z: -.0948765427, w: .176052153} + tangentMode: 0 + - time: 8.11671448 + value: {x: .0155461282, y: -.489419401, z: .290745795, w: .822005928} + inSlope: {x: .0880669802, y: .239110067, z: -.0976553559, w: .175236762} + outSlope: {x: .0880669802, y: .239110067, z: -.0976553559, w: .175236762} + tangentMode: 0 + - time: 8.13338089 + value: {x: .0169996321, y: -.485430121, z: .289095283, w: .824919641} + inSlope: {x: .086355038, y: .239627749, z: -.100385889, w: .174414188} + outSlope: {x: .086355038, y: .239627749, z: -.100385889, w: .174414188} + tangentMode: 0 + - time: 8.1500473 + value: {x: .0184245855, y: -.481431931, z: .28739965, w: .827819645} + inSlope: {x: .0846225321, y: .240138263, z: -.103069924, w: .173557669} + outSlope: {x: .0846225321, y: .240138263, z: -.103069924, w: .173557669} + tangentMode: 0 + - time: 8.16671371 + value: {x: .01982034, y: -.477425635, z: .285659671, w: .830704808} + inSlope: {x: .0828710198, y: .24064967, z: -.105708361, w: .172677875} + outSlope: {x: .0828710198, y: .24064967, z: -.105708361, w: .172677875} + tangentMode: 0 + - time: 8.18338013 + value: {x: .0211869106, y: -.473410398, z: .283876091, w: .833575487} + inSlope: {x: .0811049789, y: .241167352, z: -.108300313, w: .171783805} + outSlope: {x: .0811049789, y: .241167352, z: -.108300313, w: .171783805} + tangentMode: 0 + - time: 8.20004654 + value: {x: .022523798, y: -.469386846, z: .282049716, w: .836430848} + inSlope: {x: .0793154687, y: .241665363, z: -.110843085, w: .170859307} + outSlope: {x: .0793154687, y: .241665363, z: -.110843085, w: .170859307} + tangentMode: 0 + - time: 8.21671295 + value: {x: .0238307193, y: -.465355009, z: .280181378, w: .839270711} + inSlope: {x: .0775145665, y: .242174089, z: -.113340259, w: .169916958} + outSlope: {x: .0775145665, y: .242174089, z: -.113340259, w: .169916958} + tangentMode: 0 + - time: 8.23337936 + value: {x: .0251075774, y: -.461314499, z: .278271765, w: .84209466} + inSlope: {x: .0757000223, y: .242686391, z: -.115791842, w: .168953151} + outSlope: {x: .0757000223, y: .242686391, z: -.115791842, w: .168953151} + tangentMode: 0 + - time: 8.25004578 + value: {x: .0263540149, y: -.457265586, z: .276321709, w: .844902396} + inSlope: {x: .0738671497, y: .243185297, z: -.118194237, w: .167960703} + outSlope: {x: .0738671497, y: .243185297, z: -.118194237, w: .167960703} + tangentMode: 0 + - time: 8.26671219 + value: {x: .0275697783, y: -.453208447, z: .274332017, w: .847693264} + inSlope: {x: .0720231086, y: .243686885, z: -.120551035, w: .166948587} + outSlope: {x: .0720231086, y: .243686885, z: -.120551035, w: .166948587} + tangentMode: 0 + - time: 8.2833786 + value: {x: .0287547484, y: -.449142814, z: .272303402, w: .850467265} + inSlope: {x: .0701634139, y: .244177729, z: -.122859567, w: .165920407} + outSlope: {x: .0701634139, y: .244177729, z: -.122859567, w: .165920407} + tangentMode: 0 + - time: 8.30004501 + value: {x: .029908523, y: -.445069313, z: .27023676, w: .85322386} + inSlope: {x: .0682918727, y: .244666785, z: -.125119805, w: .164865375} + outSlope: {x: .0682918727, y: .244666785, z: -.125119805, w: .164865375} + tangentMode: 0 + - time: 8.31671143 + value: {x: .0310311094, y: -.440987378, z: .268132806, w: .855962694} + inSlope: {x: .0664140731, y: .245167479, z: -.127336234, w: .163787127} + outSlope: {x: .0664140731, y: .245167479, z: -.127336234, w: .163787127} + tangentMode: 0 + - time: 8.33337784 + value: {x: .0321222916, y: -.436897188, z: .265992284, w: .858683348} + inSlope: {x: .0645212978, y: .245649397, z: -.129505292, w: .162685603} + outSlope: {x: .0645212978, y: .245649397, z: -.129505292, w: .162685603} + tangentMode: 0 + - time: 8.35004425 + value: {x: .0331817865, y: -.43279919, z: .263816029, w: .861385465} + inSlope: {x: .0626200289, y: .246131301, z: -.131626055, w: .161566228} + outSlope: {x: .0626200289, y: .246131301, z: -.131626055, w: .161566228} + tangentMode: 0 + - time: 8.36671066 + value: {x: .0342095941, y: -.428692937, z: .261604816, w: .864068806} + inSlope: {x: .0607078113, y: .246605158, z: -.133698538, w: .160421789} + outSlope: {x: .0607078113, y: .246605158, z: -.133698538, w: .160421789} + tangentMode: 0 + - time: 8.38337708 + value: {x: .0352053493, y: -.424579144, z: .259359479, w: .866732776} + inSlope: {x: .0587866493, y: .247070089, z: -.13572453, w: .159257695} + outSlope: {x: .0587866493, y: .247070089, z: -.13572453, w: .159257695} + tangentMode: 0 + - time: 8.40004349 + value: {x: .0361691192, y: -.420457393, z: .257080734, w: .869377315} + inSlope: {x: .0568594523, y: .247531444, z: -.137703136, w: .158068568} + outSlope: {x: .0568594523, y: .247531444, z: -.137703136, w: .158068568} + tangentMode: 0 + - time: 8.4167099 + value: {x: .0371006355, y: -.416328222, z: .254769444, w: .872001648} + inSlope: {x: .054922644, y: .247984737, z: -.139632568, w: .156854391} + outSlope: {x: .054922644, y: .247984737, z: -.139632568, w: .156854391} + tangentMode: 0 + - time: 8.43337631 + value: {x: .037999846, y: -.412191361, z: .252426386, w: .874605715} + inSlope: {x: .0529849418, y: .248448759, z: -.141516402, w: .155633092} + outSlope: {x: .0529849418, y: .248448759, z: -.141516402, w: .155633092} + tangentMode: 0 + - time: 8.45004272 + value: {x: .0388667732, y: -.408046722, z: .250052303, w: .877189338} + inSlope: {x: .0510398634, y: .248894021, z: -.143354192, w: .154383153} + outSlope: {x: .0510398634, y: .248894021, z: -.143354192, w: .154383153} + tangentMode: 0 + - time: 8.46670914 + value: {x: .0397011489, y: -.40389502, z: .247647986, w: .879751742} + inSlope: {x: .0490867384, y: .249324977, z: -.145142809, w: .15310818} + outSlope: {x: .0490867384, y: .249324977, z: -.145142809, w: .15310818} + tangentMode: 0 + - time: 8.48337555 + value: {x: .0405029729, y: -.399736017, z: .245214283, w: .882292867} + inSlope: {x: .0471322723, y: .249762177, z: -.146882236, w: .151817143} + outSlope: {x: .0471322723, y: .249762177, z: -.146882236, w: .151817143} + tangentMode: 0 + - time: 8.50004196 + value: {x: .0412722006, y: -.395569742, z: .242751986, w: .884812236} + inSlope: {x: .0451740064, y: .250187755, z: -.148575634, w: .150502831} + outSlope: {x: .0451740064, y: .250187755, z: -.148575634, w: .150502831} + tangentMode: 0 + - time: 8.51670837 + value: {x: .0420087501, y: -.391396552, z: .240261838, w: .887309551} + inSlope: {x: .043209929, y: .250594556, z: -.150221199, w: .149168849} + outSlope: {x: .043209929, y: .250594556, z: -.150221199, w: .149168849} + tangentMode: 0 + - time: 8.53337479 + value: {x: .0427125096, y: -.387216717, z: .237744689, w: .889784455} + inSlope: {x: .0412494279, y: .251013875, z: -.151818931, w: .147820592} + outSlope: {x: .0412494279, y: .251013875, z: -.151818931, w: .147820592} + tangentMode: 0 + - time: 8.5500412 + value: {x: .0433837101, y: -.38302955, z: .235201284, w: .892236829} + inSlope: {x: .0392853506, y: .251416236, z: -.153369263, w: .146447271} + outSlope: {x: .0392853506, y: .251416236, z: -.153369263, w: .146447271} + tangentMode: 0 + - time: 8.56670761 + value: {x: .0440220013, y: -.378836304, z: .232632458, w: .894665956} + inSlope: {x: .037318144, y: .251805156, z: -.154869974, w: .145057857} + outSlope: {x: .037318144, y: .251805156, z: -.154869974, w: .145057857} + tangentMode: 0 + - time: 8.58337402 + value: {x: .0446276292, y: -.374636173, z: .23003903, w: .897072017} + inSlope: {x: .0353547372, y: .252194971, z: -.156323761, w: .143648788} + outSlope: {x: .0353547372, y: .252194971, z: -.156323761, w: .143648788} + tangentMode: 0 + - time: 8.60004044 + value: {x: .0452004746, y: -.370429933, z: .227421746, w: .899454176} + inSlope: {x: .0333915539, y: .252575845, z: -.157730162, w: .142221838} + outSlope: {x: .0333915539, y: .252575845, z: -.157730162, w: .142221838} + tangentMode: 0 + - time: 8.61670685 + value: {x: .045740664, y: -.366217107, z: .224781439, w: .901812673} + inSlope: {x: .0314312764, y: .25295496, z: -.159088269, w: .140782356} + outSlope: {x: .0314312764, y: .25295496, z: -.159088269, w: .140782356} + tangentMode: 0 + - time: 8.63337326 + value: {x: .0462481678, y: -.36199823, z: .222118884, w: .90414685} + inSlope: {x: .0294669736, y: .253301859, z: -.160397649, w: .139314264} + outSlope: {x: .0294669736, y: .253301859, z: -.160397649, w: .139314264} + tangentMode: 0 + - time: 8.65003967 + value: {x: .0467228815, y: -.35777384, z: .219434932, w: .906456411} + inSlope: {x: .0275087077, y: .253654122, z: -.161658764, w: .13783367} + outSlope: {x: .0275087077, y: .253654122, z: -.161658764, w: .13783367} + tangentMode: 0 + - time: 8.66670609 + value: {x: .0471651107, y: -.353543222, z: .216730341, w: .908741236} + inSlope: {x: .0255580414, y: .254009068, z: -.162872016, w: .13633877} + outSlope: {x: .0255580414, y: .254009068, z: -.162872016, w: .13633877} + tangentMode: 0 + - time: 8.6833725 + value: {x: .0475748032, y: -.349307001, z: .214005947, w: .911000967} + inSlope: {x: .0236081574, y: .25434345, z: -.16403836, w: .134827763} + outSlope: {x: .0236081574, y: .25434345, z: -.16403836, w: .134827763} + tangentMode: 0 + - time: 8.70003891 + value: {x: .0479520373, y: -.345065236, z: .211262479, w: .913235426} + inSlope: {x: .0216638632, y: .254671574, z: -.165156871, w: .133295298} + outSlope: {x: .0216638632, y: .254671574, z: -.165156871, w: .133295298} + tangentMode: 0 + - time: 8.71670532 + value: {x: .048296921, y: -.340818077, z: .208500803, w: .915444076} + inSlope: {x: .0197243728, y: .254988074, z: -.166224837, w: .131748542} + outSlope: {x: .0197243728, y: .254988074, z: -.166224837, w: .131748542} + tangentMode: 0 + - time: 8.73337173 + value: {x: .0486095063, y: -.336565763, z: .205721736, w: .917626977} + inSlope: {x: .0177910291, y: .255297452, z: -.167245448, w: .13018927} + outSlope: {x: .0177910291, y: .255297452, z: -.167245448, w: .13018927} + tangentMode: 0 + - time: 8.75003815 + value: {x: .0488899462, y: -.332308292, z: .20292604, w: .919783652} + inSlope: {x: .015866179, y: .255601436, z: -.168218642, w: .128613889} + outSlope: {x: .015866179, y: .255601436, z: -.168218642, w: .128613889} + tangentMode: 0 + - time: 8.76670456 + value: {x: .0491383709, y: -.328045845, z: .200114533, w: .921914041} + inSlope: {x: .0139497109, y: .255901843, z: -.169142693, w: .127029568} + outSlope: {x: .0139497109, y: .255901843, z: -.169142693, w: .127029568} + tangentMode: 0 + - time: 8.78337097 + value: {x: .0493549295, y: -.323778361, z: .197288036, w: .924017906} + inSlope: {x: .0120397266, y: .256185263, z: -.170018435, w: .125425577} + outSlope: {x: .0120397266, y: .256185263, z: -.170018435, w: .125425577} + tangentMode: 0 + - time: 8.80003738 + value: {x: .049539689, y: -.319506466, z: .194447339, w: .92609483} + inSlope: {x: .0101384576, y: .256455272, z: -.170847699, w: .123809084} + outSlope: {x: .0101384576, y: .256455272, z: -.170847699, w: .123809084} + tangentMode: 0 + - time: 8.8167038 + value: {x: .0496928729, y: -.315229982, z: .1915932, w: .928144813} + inSlope: {x: .00824791845, y: .256726205, z: -.17162779, w: .12218006} + outSlope: {x: .00824791845, y: .256726205, z: -.17162779, w: .12218006} + tangentMode: 0 + - time: 8.83337021 + value: {x: .0498146154, y: -.310949057, z: .1887265, w: .930167437} + inSlope: {x: .00636732578, y: .25698638, z: -.172359139, w: .120538525} + outSlope: {x: .00636732578, y: .25698638, z: -.172359139, w: .120538525} + tangentMode: 0 + - time: 8.85003662 + value: {x: .0499051139, y: -.306663901, z: .185847983, w: .932162702} + inSlope: {x: .00449757464, y: .257239401, z: -.173043579, w: .118884474} + outSlope: {x: .00449757464, y: .257239401, z: -.173043579, w: .118884474} + tangentMode: 0 + - time: 8.86670303 + value: {x: .0499645323, y: -.302374542, z: .182958469, w: .934130192} + inSlope: {x: .00263989274, y: .257484376, z: -.173678815, w: .117221475} + outSlope: {x: .00263989274, y: .257484376, z: -.173678815, w: .117221475} + tangentMode: 0 + - time: 8.88336945 + value: {x: .049993109, y: -.298081219, z: .180058777, w: .936070025} + inSlope: {x: .000794057734, y: .257715046, z: -.174266219, w: .115547746} + outSlope: {x: .000794057734, y: .257715046, z: -.174266219, w: .115547746} + tangentMode: 0 + - time: 8.90003586 + value: {x: .0499910004, y: -.293784171, z: .177149683, w: .937981725} + inSlope: {x: -.00103881303, y: .257944822, z: -.174806252, w: .113861509} + outSlope: {x: -.00103881303, y: .257944822, z: -.174806252, w: .113861509} + tangentMode: 0 + - time: 8.91670227 + value: {x: .0499584824, y: -.28948319, z: .174231991, w: .939865351} + inSlope: {x: -.00285771396, y: .258166552, z: -.175298452, w: .11216633} + outSlope: {x: -.00285771396, y: .258166552, z: -.175298452, w: .11216633} + tangentMode: 0 + - time: 8.93336868 + value: {x: .0498957448, y: -.285178751, z: .171306491, w: .941720545} + inSlope: {x: -.00466309162, y: .258375764, z: -.175742358, w: .110460415} + outSlope: {x: -.00466309162, y: .258375764, z: -.175742358, w: .110460415} + tangentMode: 0 + - time: 8.9500351 + value: {x: .0498030484, y: -.280870795, z: .168374002, w: .943547308} + inSlope: {x: -.00645382889, y: .25857693, z: -.176138431, w: .10874556} + outSlope: {x: -.00645382889, y: .25857693, z: -.176138431, w: .10874556} + tangentMode: 0 + - time: 8.96670151 + value: {x: .0496806204, y: -.276559651, z: .165435299, w: .945345342} + inSlope: {x: -.00822891947, y: .258777201, z: -.176487133, w: .107021771} + outSlope: {x: -.00822891947, y: .258777201, z: -.176487133, w: .107021771} + tangentMode: 0 + - time: 8.98336792 + value: {x: .0495287552, y: -.27224502, z: .162491187, w: .947114646} + inSlope: {x: -.009987358, y: .258971244, z: -.176788434, w: .105292618} + outSlope: {x: -.009987358, y: .258971244, z: -.176788434, w: .105292618} + tangentMode: 0 + - time: 9.00003433 + value: {x: .0493477136, y: -.267927408, z: .159542441, w: .948855042} + inSlope: {x: -.0117302611, y: .259144694, z: -.177041456, w: .103552729} + outSlope: {x: -.0117302611, y: .259144694, z: -.177041456, w: .103552729} + tangentMode: 0 + - time: 9.01670074 + value: {x: .0491377525, y: -.263606995, z: .156589895, w: .950566351} + inSlope: {x: -.0134572946, y: .259311885, z: -.17724666, w: .101805687} + outSlope: {x: -.0134572946, y: .259311885, z: -.17724666, w: .101805687} + tangentMode: 0 + - time: 9.03336716 + value: {x: .0488991439, y: -.259283811, z: .15363431, w: .952248514} + inSlope: {x: -.015162982, y: .259488016, z: -.177406251, w: .100056864} + outSlope: {x: -.015162982, y: .259488016, z: -.177406251, w: .100056864} + tangentMode: 0 + - time: 9.05003357 + value: {x: .0486323275, y: -.254957527, z: .150676444, w: .953901529} + inSlope: {x: -.0168488882, y: .259663254, z: -.177518457, w: .0983044654} + outSlope: {x: -.0168488882, y: .259663254, z: -.177518457, w: .0983044654} + tangentMode: 0 + - time: 9.06669998 + value: {x: .0483375229, y: -.250628501, z: .147717118, w: .955525279} + inSlope: {x: -.018519707, y: .25981167, z: -.177583277, w: .0965377539} + outSlope: {x: -.018519707, y: .25981167, z: -.177583277, w: .0965377539} + tangentMode: 0 + - time: 9.08336639 + value: {x: .0480150133, y: -.24629727, z: .144757092, w: .957119405} + inSlope: {x: -.0201695152, y: .25996232, z: -.177601159, w: .0947692543} + outSlope: {x: -.0201695152, y: .25996232, z: -.177601159, w: .0947692543} + tangentMode: 0 + - time: 9.10003281 + value: {x: .047665216, y: -.241963223, z: .14179717, w: .958684206} + inSlope: {x: -.0217989795, y: .260108054, z: -.177572548, w: .0929989666} + outSlope: {x: -.0217989795, y: .260108054, z: -.177572548, w: .0929989666} + tangentMode: 0 + - time: 9.11669922 + value: {x: .0472883917, y: -.237627134, z: .138838097, w: .960219324} + inSlope: {x: -.0234072134, y: .26024887, z: -.177497894, w: .0912233219} + outSlope: {x: -.0234072134, y: .26024887, z: -.177497894, w: .0912233219} + tangentMode: 0 + - time: 9.13336563 + value: {x: .0468849875, y: -.233288392, z: .135880664, w: .961724937} + inSlope: {x: -.0249939859, y: .260385215, z: -.177375853, w: .0894440934} + outSlope: {x: -.0249939859, y: .260385215, z: -.177375853, w: .0894440934} + tangentMode: 0 + - time: 9.15003204 + value: {x: .0464552715, y: -.228947759, z: .132925659, w: .963200748} + inSlope: {x: -.0265597515, y: .26050368, z: -.177208215, w: .0876559317} + outSlope: {x: -.0265597515, y: .26050368, z: -.177208215, w: .0876559317} + tangentMode: 0 + - time: 9.16669846 + value: {x: .045999676, y: -.224605069, z: .129973814, w: .964646757} + inSlope: {x: -.0281014852, y: .260631084, z: -.176994517, w: .0858713388} + outSlope: {x: -.0281014852, y: .260631084, z: -.176994517, w: .0858713388} + tangentMode: 0 + - time: 9.18336487 + value: {x: .0455185696, y: -.220260188, z: .127025932, w: .966063082} + inSlope: {x: -.0296189673, y: .260769248, z: -.176735908, w: .0840885341} + outSlope: {x: -.0296189673, y: .260769248, z: -.176735908, w: .0840885341} + tangentMode: 0 + - time: 9.20003128 + value: {x: .0450123921, y: -.215912893, z: .124082707, w: .967449665} + inSlope: {x: -.0311142094, y: .260882795, z: -.176430345, w: .0823021531} + outSlope: {x: -.0311142094, y: .260882795, z: -.176430345, w: .0823021531} + tangentMode: 0 + - time: 9.21669769 + value: {x: .0444814451, y: -.211564228, z: .12114501, w: .968806446} + inSlope: {x: -.0325851999, y: .260993659, z: -.176079869, w: .0805104151} + outSlope: {x: -.0325851999, y: .260993659, z: -.176079869, w: .0805104151} + tangentMode: 0 + - time: 9.23336411 + value: {x: .0439262353, y: -.207213238, z: .118213467, w: .970133305} + inSlope: {x: -.0340298153, y: .261109889, z: -.175686255, w: .0787204579} + outSlope: {x: -.0340298153, y: .261109889, z: -.175686255, w: .0787204579} + tangentMode: 0 + - time: 9.25003052 + value: {x: .0433471352, y: -.202860698, z: .115288891, w: .971430421} + inSlope: {x: -.0354509614, y: .261208236, z: -.175245255, w: .076930508} + outSlope: {x: -.0354509614, y: .261208236, z: -.175245255, w: .076930508} + tangentMode: 0 + - time: 9.26669693 + value: {x: .0427445546, y: -.19850643, z: .112372048, w: .972697616} + inSlope: {x: -.0368453972, y: .261319995, z: -.174760208, w: .0751369745} + outSlope: {x: -.0368453972, y: .261319995, z: -.174760208, w: .0751369745} + tangentMode: 0 + - time: 9.28336334 + value: {x: .042118974, y: -.194150165, z: .10946364, w: .973934948} + inSlope: {x: -.0382122248, y: .261429071, z: -.174231589, w: .0733523816} + outSlope: {x: -.0382122248, y: .261429071, z: -.174231589, w: .0733523816} + tangentMode: 0 + - time: 9.30002975 + value: {x: .0414708331, y: -.189792261, z: .106564417, w: .975142658} + inSlope: {x: -.0395517871, y: .261530548, z: -.173659369, w: .0715642124} + outSlope: {x: -.0395517871, y: .261530548, z: -.173659369, w: .0715642124} + tangentMode: 0 + - time: 9.31669617 + value: {x: .0408006012, y: -.185432613, z: .103675082, w: .976320386} + inSlope: {x: -.0408640802, y: .261632472, z: -.173043579, w: .0697742626} + outSlope: {x: -.0408640802, y: .261632472, z: -.173043579, w: .0697742626} + tangentMode: 0 + - time: 9.33336258 + value: {x: .040108718, y: -.181071311, z: .100796387, w: .977468431} + inSlope: {x: -.0421482027, y: .261731714, z: -.172383517, w: .067993246} + outSlope: {x: -.0421482027, y: .261731714, z: -.172383517, w: .067993246} + tangentMode: 0 + - time: 9.35002899 + value: {x: .0393956825, y: -.176708356, z: .097929053, w: .978586793} + inSlope: {x: -.0434039459, y: .261832297, z: -.171679854, w: .0662104487} + outSlope: {x: -.0434039459, y: .261832297, z: -.171679854, w: .0662104487} + tangentMode: 0 + - time: 9.3666954 + value: {x: .0386619419, y: -.172343701, z: .0950738117, w: .979675412} + inSlope: {x: -.0446292832, y: .261940926, z: -.170934424, w: .0644312203} + outSlope: {x: -.0446292832, y: .261940926, z: -.170934424, w: .0644312203} + tangentMode: 0 + - time: 9.38336182 + value: {x: .0379080623, y: -.167977124, z: .0922313258, w: .980734468} + inSlope: {x: -.0458251238, y: .26204285, z: -.170146525, w: .0626555681} + outSlope: {x: -.0458251238, y: .26204285, z: -.170146525, w: .0626555681} + tangentMode: 0 + - time: 9.40002823 + value: {x: .0371344611, y: -.163609073, z: .0894023478, w: .981763899} + inSlope: {x: -.0469920114, y: .26213941, z: -.169316143, w: .0608817115} + outSlope: {x: -.0469920114, y: .26213941, z: -.169316143, w: .0608817115} + tangentMode: 0 + - time: 9.41669464 + value: {x: .0363416858, y: -.159239277, z: .0865875408, w: .982763827} + inSlope: {x: -.0481259339, y: .262251168, z: -.168445289, w: .0591150001} + outSlope: {x: -.0481259339, y: .262251168, z: -.168445289, w: .0591150001} + tangentMode: 0 + - time: 9.43336105 + value: {x: .0355302878, y: -.1548675, z: .0837875903, w: .983734369} + inSlope: {x: -.0492285639, y: .262364715, z: -.167531312, w: .0573518686} + outSlope: {x: -.0492285639, y: .262364715, z: -.167531312, w: .0573518686} + tangentMode: 0 + - time: 9.45002747 + value: {x: .0347007588, y: -.15049392, z: .0810032487, w: .984675527} + inSlope: {x: -.0503011271, y: .262468427, z: -.166577101, w: .0555887371} + outSlope: {x: -.0503011271, y: .262468427, z: -.166577101, w: .0555887371} + tangentMode: 0 + - time: 9.46669388 + value: {x: .0338536091, y: -.146118686, z: .0782351047, w: .985587299} + inSlope: {x: -.0513407215, y: .262567222, z: -.165582001, w: .0538345426} + outSlope: {x: -.0513407215, y: .262567222, z: -.165582001, w: .0538345426} + tangentMode: 0 + - time: 9.48336029 + value: {x: .0329894274, y: -.141741812, z: .0754839331, w: .986469984} + inSlope: {x: -.0523464531, y: .262683034, z: -.164546639, w: .0520910844} + outSlope: {x: -.0523464531, y: .262683034, z: -.164546639, w: .0520910844} + tangentMode: 0 + - time: 9.5000267 + value: {x: .0321087539, y: -.137362719, z: .0727503002, w: .987323642} + inSlope: {x: -.0533191599, y: .262810886, z: -.163472861, w: .0503458306} + outSlope: {x: -.0533191599, y: .262810886, z: -.163472861, w: .0503458306} + tangentMode: 0 + - time: 9.51669312 + value: {x: .0312121492, y: -.132981583, z: .0700349212, w: .988148153} + inSlope: {x: -.0542587303, y: .26292935, z: -.162357718, w: .0486059487} + outSlope: {x: -.0542587303, y: .26292935, z: -.162357718, w: .0486059487} + tangentMode: 0 + - time: 9.53335953 + value: {x: .0303001571, y: -.128598541, z: .0673384592, w: .988943815} + inSlope: {x: -.055163376, y: .263052046, z: -.161204562, w: .0468767881} + outSlope: {x: -.055163376, y: .263052046, z: -.161204562, w: .0468767881} + tangentMode: 0 + - time: 9.55002594 + value: {x: .0293733981, y: -.124213316, z: .0646615177, w: .989710689} + inSlope: {x: -.0560324267, y: .263186634, z: -.160013646, w: .0451494157} + outSlope: {x: -.0560324267, y: .263186634, z: -.160013646, w: .0451494157} + tangentMode: 0 + - time: 9.56669235 + value: {x: .0284324382, y: -.119825788, z: .0620047525, w: .990448773} + inSlope: {x: -.056867443, y: .263320953, z: -.158783719, w: .0434274152} + outSlope: {x: -.056867443, y: .263320953, z: -.158783719, w: .0434274152} + tangentMode: 0 + - time: 9.58335876 + value: {x: .0274778455, y: -.115436085, z: .0593688078, w: .991158247} + inSlope: {x: -.0576657504, y: .263468266, z: -.157516137, w: .0417197123} + outSlope: {x: -.0576657504, y: .263468266, z: -.157516137, w: .0417197123} + tangentMode: 0 + - time: 9.60002518 + value: {x: .0265102759, y: -.111043647, z: .0567542948, w: .991839409} + inSlope: {x: -.0584280118, y: .263621807, z: -.156212121, w: .0400191694} + outSlope: {x: -.0584280118, y: .263621807, z: -.156212121, w: .0400191694} + tangentMode: 0 + - time: 9.61669159 + value: {x: .025530275, y: -.106648825, z: .0541618168, w: .992492199} + inSlope: {x: -.0591538399, y: .26376909, z: -.154871434, w: .0383204073} + outSlope: {x: -.0591538399, y: .26376909, z: -.154871434, w: .0383204073} + tangentMode: 0 + - time: 9.633358 + value: {x: .0245385114, y: -.102251478, z: .0515919924, w: .993116736} + inSlope: {x: -.0598422252, y: .263930917, z: -.153494209, w: .036627017} + outSlope: {x: -.0598422252, y: .263930917, z: -.153494209, w: .036627017} + tangentMode: 0 + - time: 9.65002441 + value: {x: .0235355645, y: -.0978512615, z: .0490454212, w: .993713081} + inSlope: {x: -.0604934543, y: .264107734, z: -.152081102, w: .0349461436} + outSlope: {x: -.0604934543, y: .264107734, z: -.152081102, w: .0349461436} + tangentMode: 0 + - time: 9.66669083 + value: {x: .0225220937, y: -.0934480205, z: .0465226993, w: .99428159} + inSlope: {x: -.0611068532, y: .264286101, z: -.150632918, w: .0332742035} + outSlope: {x: -.0611068532, y: .264286101, z: -.150632918, w: .0332742035} + tangentMode: 0 + - time: 9.68335724 + value: {x: .0214987006, y: -.0890418589, z: .0440244004, w: .994822204} + inSlope: {x: -.0616813004, y: .264473617, z: -.149151757, w: .0316058472} + outSlope: {x: -.0616813004, y: .264473617, z: -.149151757, w: .0316058472} + tangentMode: 0 + - time: 9.70002365 + value: {x: .0204660818, y: -.0846323669, z: .0415510498, w: .995335102} + inSlope: {x: -.0622161292, y: .264677703, z: -.147635505, w: .0299500041} + outSlope: {x: -.0622161292, y: .264677703, z: -.147635505, w: .0299500041} + tangentMode: 0 + - time: 9.71669006 + value: {x: .0194248613, y: -.0802194029, z: .0391032919, w: .995820522} + inSlope: {x: -.0627120659, y: .264877558, z: -.14608416, w: .0283013135} + outSlope: {x: -.0627120659, y: .264877558, z: -.14608416, w: .0283013135} + tangentMode: 0 + - time: 9.73335648 + value: {x: .0183757115, y: -.0758032501, z: .0366816521, w: .996278465} + inSlope: {x: -.0631689429, y: .265088111, z: -.144500628, w: .0266579874} + outSlope: {x: -.0631689429, y: .265088111, z: -.144500628, w: .0266579874} + tangentMode: 0 + - time: 9.75002289 + value: {x: .017319262, y: -.0713832676, z: .0342866778, w: .996709108} + inSlope: {x: -.0635854751, y: .265316308, z: -.142885804, w: .0250218157} + outSlope: {x: -.0635854751, y: .265316308, z: -.142885804, w: .0250218157} + tangentMode: 0 + - time: 9.7666893 + value: {x: .0162562281, y: -.0669595078, z: .0319188647, w: .997112513} + inSlope: {x: -.0639596209, y: .265555501, z: -.141239122, w: .0233963728} + outSlope: {x: -.0639596209, y: .265555501, z: -.141239122, w: .0233963728} + tangentMode: 0 + - time: 9.78335571 + value: {x: .0151873073, y: -.0625315532, z: .0295787789, w: .997488976} + inSlope: {x: -.0642940849, y: .265806377, z: -.139560997, w: .0217780806} + outSlope: {x: -.0642940849, y: .265806377, z: -.139560997, w: .0217780806} + tangentMode: 0 + - time: 9.80002213 + value: {x: .0141131245, y: -.0580994301, z: .0272669028, w: .997838438} + inSlope: {x: -.0645876005, y: .26606971, z: -.13785167, w: .0201723091} + outSlope: {x: -.0645876005, y: .26606971, z: -.13785167, w: .0201723091} + tangentMode: 0 + - time: 9.81668854 + value: {x: .0130344201, y: -.0536626987, z: .0249837935, w: .998161376} + inSlope: {x: -.064838253, y: .266338348, z: -.136111781, w: .0185772628} + outSlope: {x: -.064838253, y: .266338348, z: -.136111781, w: .0185772628} + tangentMode: 0 + - time: 9.83335495 + value: {x: .0119518824, y: -.04922162, z: .0227299128, w: .99845767} + inSlope: {x: -.0650472417, y: .266627252, z: -.134343117, w: .0169840083} + outSlope: {x: -.0650472417, y: .266627252, z: -.134343117, w: .0169840083} + tangentMode: 0 + - time: 9.85002136 + value: {x: .0108662117, y: -.0447752587, z: .020505758, w: .9987275} + inSlope: {x: -.0652127266, y: .266936839, z: -.132546782, w: .0153996907} + outSlope: {x: -.0652127266, y: .266936839, z: -.132546782, w: .0153996907} + tangentMode: 0 + - time: 9.86668777 + value: {x: .00977815781, y: -.0403238609, z: .0183117539, w: .998970985} + inSlope: {x: -.0653349683, y: .267238498, z: -.130720854, w: .0138225276} + outSlope: {x: -.0653349683, y: .267238498, z: -.130720854, w: .0138225276} + tangentMode: 0 + - time: 9.88335419 + value: {x: .00868841261, y: -.0358674452, z: .0161484629, w: .999188244} + inSlope: {x: -.0654139519, y: .267561376, z: -.128866822, w: .0122578824} + outSlope: {x: -.0654139519, y: .267561376, z: -.128866822, w: .0122578824} + tangentMode: 0 + - time: 9.9000206 + value: {x: .00759772584, y: -.031405285, z: .0140162585, w: .999379575} + inSlope: {x: -.0654496774, y: .26790607, z: -.126987427, w: .0106986007} + outSlope: {x: -.0654496774, y: .26790607, z: -.126987427, w: .0106986007} + tangentMode: 0 + - time: 9.91668701 + value: {x: .00650678994, y: -.0269373786, z: .011915613, w: .999544859} + inSlope: {x: -.0654405132, y: .268258572, z: -.125081688, w: .00914826058} + outSlope: {x: -.0654405132, y: .268258572, z: -.125081688, w: .00914826058} + tangentMode: 0 + - time: 9.93335342 + value: {x: .00541640865, y: -.0224634688, z: .00984693225, w: .999684513} + inSlope: {x: -.0653855428, y: .268626451, z: -.123149753, w: .00760864886} + outSlope: {x: -.0653855428, y: .268626451, z: -.123149753, w: .00760864886} + tangentMode: 0 + - time: 9.95001984 + value: {x: .00432730513, y: -.0179833006, z: .00781068392, w: .999798477} + inSlope: {x: -.0652863607, y: .269009948, z: -.121192336, w: .0060690376} + outSlope: {x: -.0652863607, y: .269009948, z: -.121192336, w: .0060690376} + tangentMode: 0 + - time: 9.96668625 + value: {x: .00324022979, y: -.0134966075, z: .00580724934, w: .999886811} + inSlope: {x: -.0651414543, y: .269409478, z: -.119211197, w: .00454015518} + outSlope: {x: -.0651414543, y: .269409478, z: -.119211197, w: .00454015518} + tangentMode: 0 + - time: 9.98335266 + value: {x: .00215595635, y: -.00900312234, z: .00383703783, w: .999949813} + inSlope: {x: -.0649510026, y: .26982528, z: -.117206439, w: .00302021345} + outSlope: {x: -.0649510026, y: .26982528, z: -.117206439, w: .00302021345} + tangentMode: 0 + - time: 10.0000191 + value: {x: .00107522937, y: -.00450256886, z: .00190042774, w: .999987483} + inSlope: {x: -.0647166371, y: .270262361, z: -.115178213, w: .00150606653} + outSlope: {x: -.0647166371, y: .270262361, z: -.115178213, w: .00150606653} + tangentMode: 0 + - time: 10.0166664 + value: {x: -0, y: 3.2584137e-07, z: -0, w: 1} + inSlope: {x: -.064588666, y: .270487368, z: -.114158049, w: .000751890475} + outSlope: {x: -.064588666, y: .270487368, z: -.114158049, w: .000751890475} + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + path: + m_CompressedRotationCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - path: 0 + attribute: 2 + script: {fileID: 0} + classID: 4 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_StartTime: 0 + m_StopTime: 10.0166664 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: -0 + inSlope: -.0546741933 + outSlope: -.0546741933 + tangentMode: 0 + - time: .0166666675 + value: -.000911236624 + inSlope: -.05525776 + outSlope: -.05525776 + tangentMode: 0 + - time: .0333333351 + value: -.00184192543 + inSlope: -.0564103574 + outSlope: -.0564103574 + tangentMode: 0 + - time: .0500000045 + value: -.00279158214 + inSlope: -.0575337671 + outSlope: -.0575337671 + tangentMode: 0 + - time: .0666666701 + value: -.0037597178 + inSlope: -.0586277992 + outSlope: -.0586277992 + tangentMode: 0 + - time: .0833333358 + value: -.00474584196 + inSlope: -.0596922785 + outSlope: -.0596922785 + tangentMode: 0 + - time: .100000001 + value: -.00574946031 + inSlope: -.06072703 + outSlope: -.06072703 + tangentMode: 0 + - time: .116666667 + value: -.00677007623 + inSlope: -.0617319122 + outSlope: -.0617319122 + tangentMode: 0 + - time: .13333334 + value: -.007807191 + inSlope: -.0627067387 + outSlope: -.0627067387 + tangentMode: 0 + - time: .150000006 + value: -.00886030123 + inSlope: -.0636513829 + outSlope: -.0636513829 + tangentMode: 0 + - time: .166666672 + value: -.00992890354 + inSlope: -.0645656884 + outSlope: -.0645656884 + tangentMode: 0 + - time: .183333337 + value: -.0110124908 + inSlope: -.0654495955 + outSlope: -.0654495955 + tangentMode: 0 + - time: .200000003 + value: -.0121105565 + inSlope: -.0663028434 + outSlope: -.0663028434 + tangentMode: 0 + - time: .216666669 + value: -.0132225854 + inSlope: -.0671253353 + outSlope: -.0671253353 + tangentMode: 0 + - time: .233333334 + value: -.0143480673 + inSlope: -.0679170862 + outSlope: -.0679170862 + tangentMode: 0 + - time: .25 + value: -.0154864881 + inSlope: -.0686778277 + outSlope: -.0686778277 + tangentMode: 0 + - time: .266666681 + value: -.016637329 + inSlope: -.0694075748 + outSlope: -.0694075748 + tangentMode: 0 + - time: .283333361 + value: -.0178000759 + inSlope: -.0701061785 + outSlope: -.0701061785 + tangentMode: 0 + - time: .300000042 + value: -.0189742036 + inSlope: -.0707734898 + outSlope: -.0707734898 + tangentMode: 0 + - time: .316666722 + value: -.0201591942 + inSlope: -.0714096725 + outSlope: -.0714096725 + tangentMode: 0 + - time: .333333403 + value: -.0213545281 + inSlope: -.0720144585 + outSlope: -.0720144585 + tangentMode: 0 + - time: .350000083 + value: -.0225596782 + inSlope: -.0725877807 + outSlope: -.0725877807 + tangentMode: 0 + - time: .366666764 + value: -.0237741228 + inSlope: -.0731295869 + outSlope: -.0731295869 + tangentMode: 0 + - time: .383333445 + value: -.0249973331 + inSlope: -.0736399889 + outSlope: -.0736399889 + tangentMode: 0 + - time: .400000125 + value: -.0262287911 + inSlope: -.0741187632 + outSlope: -.0741187632 + tangentMode: 0 + - time: .416666806 + value: -.0274679605 + inSlope: -.0745660216 + outSlope: -.0745660216 + tangentMode: 0 + - time: .433333486 + value: -.0287143271 + inSlope: -.0749816522 + outSlope: -.0749816522 + tangentMode: 0 + - time: .450000167 + value: -.0299673509 + inSlope: -.075365603 + outSlope: -.075365603 + tangentMode: 0 + - time: .466666847 + value: -.0312265158 + inSlope: -.0757180899 + outSlope: -.0757180899 + tangentMode: 0 + - time: .483333528 + value: -.0324912891 + inSlope: -.0760385096 + outSlope: -.0760385096 + tangentMode: 0 + - time: .500000179 + value: -.0337611325 + inSlope: -.0763274729 + outSlope: -.0763274729 + tangentMode: 0 + - time: .51666683 + value: -.0350355357 + inSlope: -.076584965 + outSlope: -.076584965 + tangentMode: 0 + - time: .53333348 + value: -.0363139622 + inSlope: -.0768108293 + outSlope: -.0768108293 + tangentMode: 0 + - time: .550000131 + value: -.0375958942 + inSlope: -.077005513 + outSlope: -.077005513 + tangentMode: 0 + - time: .566666782 + value: -.0388808101 + inSlope: -.0771683455 + outSlope: -.0771683455 + tangentMode: 0 + - time: .583333433 + value: -.0401681699 + inSlope: -.0772994384 + outSlope: -.0772994384 + tangentMode: 0 + - time: .600000083 + value: -.0414574556 + inSlope: -.0773994625 + outSlope: -.0773994625 + tangentMode: 0 + - time: .616666734 + value: -.0427481495 + inSlope: -.0774679706 + outSlope: -.0774679706 + tangentMode: 0 + - time: .633333385 + value: -.0440397188 + inSlope: -.0775054097 + outSlope: -.0775054097 + tangentMode: 0 + - time: .650000036 + value: -.0453316607 + inSlope: -.0775114447 + outSlope: -.0775114447 + tangentMode: 0 + - time: .666666687 + value: -.0466234311 + inSlope: -.0774860755 + outSlope: -.0774860755 + tangentMode: 0 + - time: .683333337 + value: -.0479145274 + inSlope: -.0774303079 + outSlope: -.0774303079 + tangentMode: 0 + - time: .699999988 + value: -.0492044389 + inSlope: -.0773435831 + outSlope: -.0773435831 + tangentMode: 0 + - time: .716666639 + value: -.0504926443 + inSlope: -.0772257894 + outSlope: -.0772257894 + tangentMode: 0 + - time: .73333329 + value: -.0517786294 + inSlope: -.0770773739 + outSlope: -.0770773739 + tangentMode: 0 + - time: .74999994 + value: -.0530618876 + inSlope: -.0768985599 + outSlope: -.0768985599 + tangentMode: 0 + - time: .766666591 + value: -.0543419123 + inSlope: -.0766891241 + outSlope: -.0766891241 + tangentMode: 0 + - time: .783333242 + value: -.0556181893 + inSlope: -.0764492899 + outSlope: -.0764492899 + tangentMode: 0 + - time: .799999893 + value: -.0568902194 + inSlope: -.0761790574 + outSlope: -.0761790574 + tangentMode: 0 + - time: .816666543 + value: -.0581574887 + inSlope: -.0758796558 + outSlope: -.0758796558 + tangentMode: 0 + - time: .833333194 + value: -.0594195388 + inSlope: -.0755506381 + outSlope: -.0755506381 + tangentMode: 0 + - time: .849999845 + value: -.0606758408 + inSlope: -.0751907751 + outSlope: -.0751907751 + tangentMode: 0 + - time: .866666496 + value: -.0619258955 + inSlope: -.0748016313 + outSlope: -.0748016313 + tangentMode: 0 + - time: .883333147 + value: -.0631692261 + inSlope: -.074383989 + outSlope: -.074383989 + tangentMode: 0 + - time: .899999797 + value: -.0644053593 + inSlope: -.0739371702 + outSlope: -.0739371702 + tangentMode: 0 + - time: .916666448 + value: -.0656337962 + inSlope: -.0734608546 + outSlope: -.0734608546 + tangentMode: 0 + - time: .933333099 + value: -.0668540522 + inSlope: -.0729563758 + outSlope: -.0729563758 + tangentMode: 0 + - time: .94999975 + value: -.0680656731 + inSlope: -.0724235103 + outSlope: -.0724235103 + tangentMode: 0 + - time: .9666664 + value: -.069268167 + inSlope: -.071862258 + outSlope: -.071862258 + tangentMode: 0 + - time: .983333051 + value: -.0704610795 + inSlope: -.0712728426 + outSlope: -.0712728426 + tangentMode: 0 + - time: .999999702 + value: -.0716439262 + inSlope: -.0706551373 + outSlope: -.0706551373 + tangentMode: 0 + - time: 1.01666641 + value: -.0728162527 + inSlope: -.0700109601 + outSlope: -.0700109601 + tangentMode: 0 + - time: 1.03333306 + value: -.0739776269 + inSlope: -.069339864 + outSlope: -.069339864 + tangentMode: 0 + - time: 1.04999971 + value: -.0751275793 + inSlope: -.068640478 + outSlope: -.068640478 + tangentMode: 0 + - time: 1.06666636 + value: -.0762656406 + inSlope: -.0679144934 + outSlope: -.0679144934 + tangentMode: 0 + - time: 1.08333302 + value: -.0773913935 + inSlope: -.0671625808 + outSlope: -.0671625808 + tangentMode: 0 + - time: 1.09999967 + value: -.078504391 + inSlope: -.0663842857 + outSlope: -.0663842857 + tangentMode: 0 + - time: 1.11666632 + value: -.079604201 + inSlope: -.06558007 + outSlope: -.06558007 + tangentMode: 0 + - time: 1.13333297 + value: -.0806903914 + inSlope: -.0647505969 + outSlope: -.0647505969 + tangentMode: 0 + - time: 1.14999962 + value: -.0817625523 + inSlope: -.0638958663 + outSlope: -.0638958663 + tangentMode: 0 + - time: 1.16666627 + value: -.0828202516 + inSlope: -.0630154312 + outSlope: -.0630154312 + tangentMode: 0 + - time: 1.18333292 + value: -.0838630646 + inSlope: -.0621099621 + outSlope: -.0621099621 + tangentMode: 0 + - time: 1.19999957 + value: -.0848905817 + inSlope: -.0611812472 + outSlope: -.0611812472 + tangentMode: 0 + - time: 1.21666622 + value: -.0859024376 + inSlope: -.060228616 + outSlope: -.060228616 + tangentMode: 0 + - time: 1.23333287 + value: -.0868982002 + inSlope: -.0592509471 + outSlope: -.0592509471 + tangentMode: 0 + - time: 1.24999952 + value: -.0878774673 + inSlope: -.0582509302 + outSlope: -.0582509302 + tangentMode: 0 + - time: 1.26666617 + value: -.088839896 + inSlope: -.0572276674 + outSlope: -.0572276674 + tangentMode: 0 + - time: 1.28333282 + value: -.0897850543 + inSlope: -.0561809316 + outSlope: -.0561809316 + tangentMode: 0 + - time: 1.29999948 + value: -.090712592 + inSlope: -.0551131889 + outSlope: -.0551131889 + tangentMode: 0 + - time: 1.31666613 + value: -.0916221589 + inSlope: -.0540230945 + outSlope: -.0540230945 + tangentMode: 0 + - time: 1.33333278 + value: -.0925133601 + inSlope: -.0529104248 + outSlope: -.0529104248 + tangentMode: 0 + - time: 1.34999943 + value: -.093385838 + inSlope: -.0517771877 + outSlope: -.0517771877 + tangentMode: 0 + - time: 1.36666608 + value: -.0942392647 + inSlope: -.0506233908 + outSlope: -.0506233908 + tangentMode: 0 + - time: 1.38333273 + value: -.0950732827 + inSlope: -.0494488068 + outSlope: -.0494488068 + tangentMode: 0 + - time: 1.39999938 + value: -.0958875567 + inSlope: -.0482536554 + outSlope: -.0482536554 + tangentMode: 0 + - time: 1.41666603 + value: -.0966817364 + inSlope: -.0470386147 + outSlope: -.0470386147 + tangentMode: 0 + - time: 1.43333268 + value: -.097455509 + inSlope: -.0458052456 + outSlope: -.0458052456 + tangentMode: 0 + - time: 1.44999933 + value: -.0982085764 + inSlope: -.0445531011 + outSlope: -.0445531011 + tangentMode: 0 + - time: 1.46666598 + value: -.0989406109 + inSlope: -.0432815067 + outSlope: -.0432815067 + tangentMode: 0 + - time: 1.48333263 + value: -.099651292 + inSlope: -.0419920348 + outSlope: -.0419920348 + tangentMode: 0 + - time: 1.49999928 + value: -.100340344 + inSlope: -.0406851247 + outSlope: -.0406851247 + tangentMode: 0 + - time: 1.51666594 + value: -.101007462 + inSlope: -.0393605605 + outSlope: -.0393605605 + tangentMode: 0 + - time: 1.53333259 + value: -.101652361 + inSlope: -.0380192325 + outSlope: -.0380192325 + tangentMode: 0 + - time: 1.54999924 + value: -.102274768 + inSlope: -.0366618112 + outSlope: -.0366618112 + tangentMode: 0 + - time: 1.56666589 + value: -.102874421 + inSlope: -.0352882929 + outSlope: -.0352882929 + tangentMode: 0 + - time: 1.58333254 + value: -.103451043 + inSlope: -.0338989049 + outSlope: -.0338989049 + tangentMode: 0 + - time: 1.59999919 + value: -.104004383 + inSlope: -.032494545 + outSlope: -.032494545 + tangentMode: 0 + - time: 1.61666584 + value: -.104534194 + inSlope: -.0310756564 + outSlope: -.0310756564 + tangentMode: 0 + - time: 1.63333249 + value: -.105040237 + inSlope: -.0296424627 + outSlope: -.0296424627 + tangentMode: 0 + - time: 1.64999914 + value: -.105522275 + inSlope: -.0281956308 + outSlope: -.0281956308 + tangentMode: 0 + - time: 1.66666579 + value: -.105980091 + inSlope: -.0267349444 + outSlope: -.0267349444 + tangentMode: 0 + - time: 1.68333244 + value: -.106413439 + inSlope: -.0252610687 + outSlope: -.0252610687 + tangentMode: 0 + - time: 1.69999909 + value: -.106822126 + inSlope: -.0237751231 + outSlope: -.0237751231 + tangentMode: 0 + - time: 1.71666574 + value: -.107205942 + inSlope: -.0222775564 + outSlope: -.0222775564 + tangentMode: 0 + - time: 1.7333324 + value: -.10756471 + inSlope: -.0207692571 + outSlope: -.0207692571 + tangentMode: 0 + - time: 1.74999905 + value: -.10789825 + inSlope: -.0192488916 + outSlope: -.0192488916 + tangentMode: 0 + - time: 1.7666657 + value: -.108206339 + inSlope: -.0177175719 + outSlope: -.0177175719 + tangentMode: 0 + - time: 1.78333235 + value: -.108488835 + inSlope: -.0161768645 + outSlope: -.0161768645 + tangentMode: 0 + - time: 1.799999 + value: -.108745568 + inSlope: -.0146265468 + outSlope: -.0146265468 + tangentMode: 0 + - time: 1.81666565 + value: -.108976386 + inSlope: -.0130663943 + outSlope: -.0130663943 + tangentMode: 0 + - time: 1.8333323 + value: -.109181114 + inSlope: -.0114979707 + outSlope: -.0114979707 + tangentMode: 0 + - time: 1.84999895 + value: -.109359652 + inSlope: -.00992194749 + outSlope: -.00992194749 + tangentMode: 0 + - time: 1.8666656 + value: -.109511845 + inSlope: -.00833765417 + outSlope: -.00833765417 + tangentMode: 0 + - time: 1.88333225 + value: -.109637573 + inSlope: -.00674620923 + outSlope: -.00674620923 + tangentMode: 0 + - time: 1.8999989 + value: -.109736718 + inSlope: -.00514872838 + outSlope: -.00514872838 + tangentMode: 0 + - time: 1.91666555 + value: -.109809197 + inSlope: -.00354454247 + outSlope: -.00354454247 + tangentMode: 0 + - time: 1.9333322 + value: -.10985487 + inSlope: -.00193365104 + outSlope: -.00193365104 + tangentMode: 0 + - time: 1.94999886 + value: -.109873652 + inSlope: -.000318959646 + outSlope: -.000318959646 + tangentMode: 0 + - time: 1.96666551 + value: -.109865502 + inSlope: .00130064914 + outSlope: .00130064914 + tangentMode: 0 + - time: 1.98333216 + value: -.109830298 + inSlope: .00292562228 + outSlope: .00292562228 + tangentMode: 0 + - time: 1.99999881 + value: -.109767981 + inSlope: .00455327751 + outSlope: .00455327751 + tangentMode: 0 + - time: 2.01666546 + value: -.109678522 + inSlope: .00618428551 + outSlope: .00618428551 + tangentMode: 0 + - time: 2.03333211 + value: -.109561838 + inSlope: .00781819969 + outSlope: .00781819969 + tangentMode: 0 + - time: 2.04999876 + value: -.109417915 + inSlope: .00945434906 + outSlope: .00945434906 + tangentMode: 0 + - time: 2.06666541 + value: -.109246694 + inSlope: .0110925101 + outSlope: .0110925101 + tangentMode: 0 + - time: 2.08333206 + value: -.109048165 + inSlope: .0127313407 + outSlope: .0127313407 + tangentMode: 0 + - time: 2.09999871 + value: -.108822316 + inSlope: .0143712899 + outSlope: .0143712899 + tangentMode: 0 + - time: 2.11666536 + value: -.108569123 + inSlope: .0160110146 + outSlope: .0160110146 + tangentMode: 0 + - time: 2.13333201 + value: -.108288616 + inSlope: .0176509637 + outSlope: .0176509637 + tangentMode: 0 + - time: 2.14999866 + value: -.107980758 + inSlope: .0192897953 + outSlope: .0192897953 + tangentMode: 0 + - time: 2.16666532 + value: -.107645623 + inSlope: .0209268369 + outSlope: .0209268369 + tangentMode: 0 + - time: 2.18333197 + value: -.107283197 + inSlope: .0225632116 + outSlope: .0225632116 + tangentMode: 0 + - time: 2.19999862 + value: -.106893517 + inSlope: .0241960064 + outSlope: .0241960064 + tangentMode: 0 + - time: 2.21666527 + value: -.106476665 + inSlope: .0258261226 + outSlope: .0258261226 + tangentMode: 0 + - time: 2.23333192 + value: -.106032647 + inSlope: .027454447 + outSlope: .027454447 + tangentMode: 0 + - time: 2.24999857 + value: -.105561517 + inSlope: .029077407 + outSlope: .029077407 + tangentMode: 0 + - time: 2.26666522 + value: -.105063401 + inSlope: .0306952298 + outSlope: .0306952298 + tangentMode: 0 + - time: 2.28333187 + value: -.104538344 + inSlope: .0323101431 + outSlope: .0323101431 + tangentMode: 0 + - time: 2.29999852 + value: -.103986397 + inSlope: .033918798 + outSlope: .033918798 + tangentMode: 0 + - time: 2.31666517 + value: -.103407718 + inSlope: .0355205275 + outSlope: .0355205275 + tangentMode: 0 + - time: 2.33333182 + value: -.102802381 + inSlope: .0371166691 + outSlope: .0371166691 + tangentMode: 0 + - time: 2.34999847 + value: -.102170497 + inSlope: .0387056544 + outSlope: .0387056544 + tangentMode: 0 + - time: 2.36666512 + value: -.101512194 + inSlope: .0402872637 + outSlope: .0402872637 + tangentMode: 0 + - time: 2.38333178 + value: -.10082759 + inSlope: .0418619476 + outSlope: .0418619476 + tangentMode: 0 + - time: 2.39999843 + value: -.100116797 + inSlope: .0434265696 + outSlope: .0434265696 + tangentMode: 0 + - time: 2.41666508 + value: -.0993800387 + inSlope: .0449822545 + outSlope: .0449822545 + tangentMode: 0 + - time: 2.43333173 + value: -.0986173898 + inSlope: .046528995 + outSlope: .046528995 + tangentMode: 0 + - time: 2.44999838 + value: -.0978290737 + inSlope: .0480661243 + outSlope: .0480661243 + tangentMode: 0 + - time: 2.46666503 + value: -.0970151871 + inSlope: .049592305 + outSlope: .049592305 + tangentMode: 0 + - time: 2.48333168 + value: -.0961759984 + inSlope: .0511061884 + outSlope: .0511061884 + tangentMode: 0 + - time: 2.49999833 + value: -.0953116491 + inSlope: .0530199483 + outSlope: .0530199483 + tangentMode: 0 + - time: 2.51666498 + value: -.0944086686 + inSlope: .0557162389 + outSlope: .0557162389 + tangentMode: 0 + - time: 2.53333163 + value: -.0934544429 + inSlope: .0587466918 + outSlope: .0587466918 + tangentMode: 0 + - time: 2.54999828 + value: -.0924504474 + inSlope: .0616906434 + outSlope: .0616906434 + tangentMode: 0 + - time: 2.56666493 + value: -.0913980901 + inSlope: .0645474195 + outSlope: .0645474195 + tangentMode: 0 + - time: 2.58333158 + value: -.0902988687 + inSlope: .0673170239 + outSlope: .0673170239 + tangentMode: 0 + - time: 2.59999824 + value: -.0891541913 + inSlope: .070001252 + outSlope: .070001252 + tangentMode: 0 + - time: 2.61666489 + value: -.0879654959 + inSlope: .0725991949 + outSlope: .0725991949 + tangentMode: 0 + - time: 2.63333154 + value: -.0867342204 + inSlope: .0751117617 + outSlope: .0751117617 + tangentMode: 0 + - time: 2.64999819 + value: -.085461773 + inSlope: .0775402784 + outSlope: .0775402784 + tangentMode: 0 + - time: 2.66666484 + value: -.0841495469 + inSlope: .0798845291 + outSlope: .0798845291 + tangentMode: 0 + - time: 2.68333149 + value: -.0827989578 + inSlope: .0821442902 + outSlope: .0821442902 + tangentMode: 0 + - time: 2.69999814 + value: -.0814114064 + inSlope: .0843209103 + outSlope: .0843209103 + tangentMode: 0 + - time: 2.71666479 + value: -.0799882635 + inSlope: .086415045 + outSlope: .086415045 + tangentMode: 0 + - time: 2.73333144 + value: -.0785309076 + inSlope: .0884267017 + outSlope: .0884267017 + tangentMode: 0 + - time: 2.74999809 + value: -.0770407096 + inSlope: .090355888 + outSlope: .090355888 + tangentMode: 0 + - time: 2.76666474 + value: -.0755190477 + inSlope: .0922041535 + outSlope: .0922041535 + tangentMode: 0 + - time: 2.78333139 + value: -.0739672408 + inSlope: .0939712822 + outSlope: .0939712822 + tangentMode: 0 + - time: 2.79999804 + value: -.0723866746 + inSlope: .0956574976 + outSlope: .0956574976 + tangentMode: 0 + - time: 2.8166647 + value: -.0707786605 + inSlope: .0972641408 + outSlope: .0972641408 + tangentMode: 0 + - time: 2.83333135 + value: -.0691445395 + inSlope: .0987907723 + outSlope: .0987907723 + tangentMode: 0 + - time: 2.849998 + value: -.067485638 + inSlope: .100238718 + outSlope: .100238718 + tangentMode: 0 + - time: 2.86666465 + value: -.0658032522 + inSlope: .101607539 + outSlope: .101607539 + tangentMode: 0 + - time: 2.8833313 + value: -.0640987232 + inSlope: .102898128 + outSlope: .102898128 + tangentMode: 0 + - time: 2.89999795 + value: -.0623733178 + inSlope: .104111604 + outSlope: .104111604 + tangentMode: 0 + - time: 2.9166646 + value: -.0606283396 + inSlope: .105247751 + outSlope: .105247751 + tangentMode: 0 + - time: 2.93333125 + value: -.0588650629 + inSlope: .106307 + outSlope: .106307 + tangentMode: 0 + - time: 2.9499979 + value: -.0570847765 + inSlope: .107289582 + outSlope: .107289582 + tangentMode: 0 + - time: 2.96666455 + value: -.055288747 + inSlope: .108197175 + outSlope: .108197175 + tangentMode: 0 + - time: 2.9833312 + value: -.0534782074 + inSlope: .10902933 + outSlope: .10902933 + tangentMode: 0 + - time: 2.99999785 + value: -.0516544394 + inSlope: .10978616 + outSlope: .10978616 + tangentMode: 0 + - time: 3.01666451 + value: -.0498186722 + inSlope: .110469118 + outSlope: .110469118 + tangentMode: 0 + - time: 3.03333116 + value: -.047972139 + inSlope: .11107865 + outSlope: .11107865 + tangentMode: 0 + - time: 3.04999781 + value: -.0461160541 + inSlope: .111614756 + outSlope: .111614756 + tangentMode: 0 + - time: 3.06666446 + value: -.0442516506 + inSlope: .112077884 + outSlope: .112077884 + tangentMode: 0 + - time: 3.08333111 + value: -.0423801281 + inSlope: .112469152 + outSlope: .112469152 + tangentMode: 0 + - time: 3.09999776 + value: -.0405026823 + inSlope: .112788446 + outSlope: .112788446 + tangentMode: 0 + - time: 3.11666441 + value: -.0386205167 + inSlope: .113036327 + outSlope: .113036327 + tangentMode: 0 + - time: 3.13333106 + value: -.0367348082 + inSlope: .113214254 + outSlope: .113214254 + tangentMode: 0 + - time: 3.14999771 + value: -.0348467119 + inSlope: .113322213 + outSlope: .113322213 + tangentMode: 0 + - time: 3.16666436 + value: -.0329574049 + inSlope: .113360211 + outSlope: .113360211 + tangentMode: 0 + - time: 3.18333101 + value: -.0310680419 + inSlope: .113329142 + outSlope: .113329142 + tangentMode: 0 + - time: 3.19999766 + value: -.0291797705 + inSlope: .113230065 + outSlope: .113230065 + tangentMode: 0 + - time: 3.21666431 + value: -.02729371 + inSlope: .113062926 + outSlope: .113062926 + tangentMode: 0 + - time: 3.23333097 + value: -.0254110098 + inSlope: .112828404 + outSlope: .112828404 + tangentMode: 0 + - time: 3.24999762 + value: -.0235327668 + inSlope: .112527713 + outSlope: .112527713 + tangentMode: 0 + - time: 3.26666427 + value: -.0216600895 + inSlope: .112160809 + outSlope: .112160809 + tangentMode: 0 + - time: 3.28333092 + value: -.0197940767 + inSlope: .111728355 + outSlope: .111728355 + tangentMode: 0 + - time: 3.29999757 + value: -.0179358143 + inSlope: .111231089 + outSlope: .111231089 + tangentMode: 0 + - time: 3.31666422 + value: -.0160863772 + inSlope: .11066933 + outSlope: .11066933 + tangentMode: 0 + - time: 3.33333087 + value: -.01424684 + inSlope: .110044047 + outSlope: .110044047 + tangentMode: 0 + - time: 3.34999752 + value: -.0124182459 + inSlope: .109356225 + outSlope: .109356225 + tangentMode: 0 + - time: 3.36666417 + value: -.010601636 + inSlope: .10860604 + outSlope: .10860604 + tangentMode: 0 + - time: 3.38333082 + value: -.0087980479 + inSlope: .107794076 + outSlope: .107794076 + tangentMode: 0 + - time: 3.39999747 + value: -.00700850366 + inSlope: .106920972 + outSlope: .106920972 + tangentMode: 0 + - time: 3.41666412 + value: -.0052340189 + inSlope: .105987668 + outSlope: .105987668 + tangentMode: 0 + - time: 3.43333077 + value: -.00347558456 + inSlope: .104995057 + outSlope: .104995057 + tangentMode: 0 + - time: 3.44999743 + value: -.0017341869 + inSlope: .103943199 + outSlope: .103943199 + tangentMode: 0 + - time: 3.46666408 + value: -1.08145177e-05 + inSlope: .102833197 + outSlope: .102833197 + tangentMode: 0 + - time: 3.48333073 + value: .00169358309 + inSlope: .101666152 + outSlope: .101666152 + tangentMode: 0 + - time: 3.49999738 + value: .00337805413 + inSlope: .100442171 + outSlope: .100442171 + tangentMode: 0 + - time: 3.51666403 + value: .00504165236 + inSlope: .0991618037 + outSlope: .0991618037 + tangentMode: 0 + - time: 3.53333068 + value: .0066834446 + inSlope: .0978266522 + outSlope: .0978266522 + tangentMode: 0 + - time: 3.54999733 + value: .00830253772 + inSlope: .0964371264 + outSlope: .0964371264 + tangentMode: 0 + - time: 3.56666398 + value: .0098980125 + inSlope: .0949937627 + outSlope: .0949937627 + tangentMode: 0 + - time: 3.58333063 + value: .0114689935 + inSlope: .0934975371 + outSlope: .0934975371 + tangentMode: 0 + - time: 3.59999728 + value: .0130145941 + inSlope: .0919493139 + outSlope: .0919493139 + tangentMode: 0 + - time: 3.61666393 + value: .0145339677 + inSlope: .0903495699 + outSlope: .0903495699 + tangentMode: 0 + - time: 3.63333058 + value: .0160262436 + inSlope: .0886995345 + outSlope: .0886995345 + tangentMode: 0 + - time: 3.64999723 + value: .0174906161 + inSlope: .0870001018 + outSlope: .0870001018 + tangentMode: 0 + - time: 3.66666389 + value: .0189262442 + inSlope: .0852518603 + outSlope: .0852518603 + tangentMode: 0 + - time: 3.68333054 + value: .020332342 + inSlope: .0834558979 + outSlope: .0834558979 + tangentMode: 0 + - time: 3.69999719 + value: .0217081048 + inSlope: .0816123784 + outSlope: .0816123784 + tangentMode: 0 + - time: 3.71666384 + value: .023052752 + inSlope: .0797231495 + outSlope: .0797231495 + tangentMode: 0 + - time: 3.73333049 + value: .0243655406 + inSlope: .0777886659 + outSlope: .0777886659 + tangentMode: 0 + - time: 3.74999714 + value: .0256457049 + inSlope: .0758096427 + outSlope: .0758096427 + tangentMode: 0 + - time: 3.76666379 + value: .0268925261 + inSlope: .0737876967 + outSlope: .0737876967 + tangentMode: 0 + - time: 3.78333044 + value: .0281052925 + inSlope: .0717231184 + outSlope: .0717231184 + tangentMode: 0 + - time: 3.79999709 + value: .0292832945 + inSlope: .0696170256 + outSlope: .0696170256 + tangentMode: 0 + - time: 3.81666374 + value: .0304258578 + inSlope: .0674708635 + outSlope: .0674708635 + tangentMode: 0 + - time: 3.83333039 + value: .0315323211 + inSlope: .0652840212 + outSlope: .0652840212 + tangentMode: 0 + - time: 3.84999704 + value: .0326019898 + inSlope: .0630591288 + outSlope: .0630591288 + tangentMode: 0 + - time: 3.86666369 + value: .0336342901 + inSlope: .060796909 + outSlope: .060796909 + tangentMode: 0 + - time: 3.88333035 + value: .0346285515 + inSlope: .0584980287 + outSlope: .0584980287 + tangentMode: 0 + - time: 3.899997 + value: .0355842225 + inSlope: .0561638325 + outSlope: .0561638325 + tangentMode: 0 + - time: 3.91666365 + value: .0365006775 + inSlope: .0537947714 + outSlope: .0537947714 + tangentMode: 0 + - time: 3.9333303 + value: .0373773798 + inSlope: .051392179 + outSlope: .051392179 + tangentMode: 0 + - time: 3.94999695 + value: .0382137485 + inSlope: .048956953 + outSlope: .048956953 + tangentMode: 0 + - time: 3.9666636 + value: .0390092768 + inSlope: .0464908853 + outSlope: .0464908853 + tangentMode: 0 + - time: 3.98333025 + value: .0397634432 + inSlope: .0439939722 + outSlope: .0439939722 + tangentMode: 0 + - time: 3.9999969 + value: .040475741 + inSlope: .0414679945 + outSlope: .0414679945 + tangentMode: 0 + - time: 4.01666355 + value: .0411457084 + inSlope: .0389142632 + outSlope: .0389142632 + tangentMode: 0 + - time: 4.03333044 + value: .0417728908 + inSlope: .0363328308 + outSlope: .0363328308 + tangentMode: 0 + - time: 4.04999733 + value: .0423568189 + inSlope: .0337259807 + outSlope: .0337259807 + tangentMode: 0 + - time: 4.06666422 + value: .0428971052 + inSlope: .0310942121 + outSlope: .0310942121 + tangentMode: 0 + - time: 4.08333111 + value: .0433933064 + inSlope: .0284390822 + outSlope: .0284390822 + tangentMode: 0 + - time: 4.099998 + value: .0438450873 + inSlope: .0257613808 + outSlope: .0257613808 + tangentMode: 0 + - time: 4.11666489 + value: .0442520306 + inSlope: .023062218 + outSlope: .023062218 + tangentMode: 0 + - time: 4.13333178 + value: .0446138382 + inSlope: .0203427188 + outSlope: .0203427188 + tangentMode: 0 + - time: 4.14999866 + value: .0449301302 + inSlope: .0176048912 + outSlope: .0176048912 + tangentMode: 0 + - time: 4.16666555 + value: .0452006757 + inSlope: .0148495175 + outSlope: .0148495175 + tangentMode: 0 + - time: 4.18333244 + value: .0454251207 + inSlope: .0120763732 + outSlope: .0120763732 + tangentMode: 0 + - time: 4.19999933 + value: .0456032269 + inSlope: .00928892475 + outSlope: .00928892475 + tangentMode: 0 + - time: 4.21666622 + value: .0457347557 + inSlope: .00648661237 + outSlope: .00648661237 + tangentMode: 0 + - time: 4.23333311 + value: .0458194502 + inSlope: .00367178326 + outSlope: .00367178326 + tangentMode: 0 + - time: 4.25 + value: .0458571501 + inSlope: .000845666858 + outSlope: .000845666858 + tangentMode: 0 + - time: 4.26666689 + value: .0458476394 + inSlope: -.00199095486 + outSlope: -.00199095486 + tangentMode: 0 + - time: 4.28333378 + value: .0457907841 + inSlope: -.00483662868 + outSlope: -.00483662868 + tangentMode: 0 + - time: 4.30000067 + value: .0456864163 + inSlope: -.00769090792 + outSlope: -.00769090792 + tangentMode: 0 + - time: 4.31666756 + value: .045534417 + inSlope: -.0105506629 + outSlope: -.0105506629 + tangentMode: 0 + - time: 4.33333445 + value: .0453347228 + inSlope: -.0134161189 + outSlope: -.0134161189 + tangentMode: 0 + - time: 4.35000134 + value: .0450872071 + inSlope: -.0162855964 + outSlope: -.0162855964 + tangentMode: 0 + - time: 4.36666822 + value: .0447918624 + inSlope: -.019156415 + outSlope: -.019156415 + tangentMode: 0 + - time: 4.38333511 + value: .0444486514 + inSlope: -.0220300294 + outSlope: -.0220300294 + tangentMode: 0 + - time: 4.400002 + value: .0440575182 + inSlope: -.0249023028 + outSlope: -.0249023028 + tangentMode: 0 + - time: 4.41666889 + value: .0436185636 + inSlope: -.0277737919 + outSlope: -.0277737919 + tangentMode: 0 + - time: 4.43333578 + value: .0431317128 + inSlope: -.0306424871 + outSlope: -.0306424871 + tangentMode: 0 + - time: 4.45000267 + value: .0425971337 + inSlope: -.0335062668 + outSlope: -.0335062668 + tangentMode: 0 + - time: 4.46666956 + value: .0420148224 + inSlope: -.0363652408 + outSlope: -.0363652408 + tangentMode: 0 + - time: 4.48333645 + value: .0413849428 + inSlope: -.03921628 + outSlope: -.03921628 + tangentMode: 0 + - time: 4.50000334 + value: .0407075956 + inSlope: -.0420600511 + outSlope: -.0420600511 + tangentMode: 0 + - time: 4.51667023 + value: .0399829224 + inSlope: -.0448930971 + outSlope: -.0448930971 + tangentMode: 0 + - time: 4.53333712 + value: .0392111391 + inSlope: -.0477149673 + outSlope: -.0477149673 + tangentMode: 0 + - time: 4.55000401 + value: .0383924022 + inSlope: -.0505237617 + outSlope: -.0505237617 + tangentMode: 0 + - time: 4.56667089 + value: .0375269912 + inSlope: -.0533171333 + outSlope: -.0533171333 + tangentMode: 0 + - time: 4.58333778 + value: .0366151407 + inSlope: -.0560972057 + outSlope: -.0560972057 + tangentMode: 0 + - time: 4.60000467 + value: .0356570594 + inSlope: -.0588588379 + outSlope: -.0588588379 + tangentMode: 0 + - time: 4.61667156 + value: .0346531533 + inSlope: -.0616001301 + outSlope: -.0616001301 + tangentMode: 0 + - time: 4.63333845 + value: .0336036943 + inSlope: -.064323321 + outSlope: -.064323321 + tangentMode: 0 + - time: 4.65000534 + value: .032509014 + inSlope: -.0670238137 + outSlope: -.0670238137 + tangentMode: 0 + - time: 4.66667223 + value: .0313695371 + inSlope: -.0696997344 + outSlope: -.0696997344 + tangentMode: 0 + - time: 4.68333912 + value: .0301856585 + inSlope: -.0723502785 + outSlope: -.0723502785 + tangentMode: 0 + - time: 4.70000601 + value: .0289578289 + inSlope: -.0749751776 + outSlope: -.0749751776 + tangentMode: 0 + - time: 4.7166729 + value: .0276864525 + inSlope: -.0775724724 + outSlope: -.0775724724 + tangentMode: 0 + - time: 4.73333979 + value: .0263720453 + inSlope: -.08013881 + outSlope: -.08013881 + tangentMode: 0 + - time: 4.75000668 + value: .0250151232 + inSlope: -.0826732367 + outSlope: -.0826732367 + tangentMode: 0 + - time: 4.76667356 + value: .0236162338 + inSlope: -.0851743072 + outSlope: -.0851743072 + tangentMode: 0 + - time: 4.78334045 + value: .0221759416 + inSlope: -.0876404569 + outSlope: -.0876404569 + tangentMode: 0 + - time: 4.80000734 + value: .0206948463 + inSlope: -.0900692791 + outSlope: -.0900692791 + tangentMode: 0 + - time: 4.81667423 + value: .0191735923 + inSlope: -.0924601555 + outSlope: -.0924601555 + tangentMode: 0 + - time: 4.83334112 + value: .0176128 + inSlope: -.0948097929 + outSlope: -.0948097929 + tangentMode: 0 + - time: 4.85000801 + value: .0160132237 + inSlope: -.0971167088 + outSlope: -.0971167088 + tangentMode: 0 + - time: 4.8666749 + value: .014375533 + inSlope: -.0993810296 + outSlope: -.0993810296 + tangentMode: 0 + - time: 4.88334179 + value: .0127004785 + inSlope: -.101599127 + outSlope: -.101599127 + tangentMode: 0 + - time: 4.90000868 + value: .0109888501 + inSlope: -.103769116 + outSlope: -.103769116 + tangentMode: 0 + - time: 4.91667557 + value: .00924146175 + inSlope: -.105889007 + outSlope: -.105889007 + tangentMode: 0 + - time: 4.93334246 + value: .00745916925 + inSlope: -.107957661 + outSlope: -.107957661 + tangentMode: 0 + - time: 4.95000935 + value: .00564282481 + inSlope: -.10997276 + outSlope: -.10997276 + tangentMode: 0 + - time: 4.96667624 + value: .0037933616 + inSlope: -.111931533 + outSlope: -.111931533 + tangentMode: 0 + - time: 4.98334312 + value: .00191172399 + inSlope: -.11383263 + outSlope: -.11383263 + tangentMode: 0 + - time: 5.00001001 + value: -1.11013651e-06 + inSlope: -.116067529 + outSlope: -.116067529 + tangentMode: 0 + - time: 5.0166769 + value: -.00195724517 + inSlope: -.119003445 + outSlope: -.119003445 + tangentMode: 0 + - time: 5.03334379 + value: -.00396794453 + inSlope: -.122210488 + outSlope: -.122210488 + tangentMode: 0 + - time: 5.05001068 + value: -.00603098236 + inSlope: -.125284582 + outSlope: -.125284582 + tangentMode: 0 + - time: 5.06667757 + value: -.00814415328 + inSlope: -.128225476 + outSlope: -.128225476 + tangentMode: 0 + - time: 5.08334446 + value: -.0103052221 + inSlope: -.131032437 + outSlope: -.131032437 + tangentMode: 0 + - time: 5.10001135 + value: -.0125119593 + inSlope: -.133706778 + outSlope: -.133706778 + tangentMode: 0 + - time: 5.11667824 + value: -.0147621743 + inSlope: -.136248589 + outSlope: -.136248589 + tangentMode: 0 + - time: 5.13334513 + value: -.0170536395 + inSlope: -.138655901 + outSlope: -.138655901 + tangentMode: 0 + - time: 5.15001202 + value: -.0193840992 + inSlope: -.140929997 + outSlope: -.140929997 + tangentMode: 0 + - time: 5.16667891 + value: -.0217513684 + inSlope: -.143072203 + outSlope: -.143072203 + tangentMode: 0 + - time: 5.18334579 + value: -.0241532363 + inSlope: -.145080701 + outSlope: -.145080701 + tangentMode: 0 + - time: 5.20001268 + value: -.0265874565 + inSlope: -.146956503 + outSlope: -.146956503 + tangentMode: 0 + - time: 5.21667957 + value: -.0290518515 + inSlope: -.148699015 + outSlope: -.148699015 + tangentMode: 0 + - time: 5.23334646 + value: -.0315441564 + inSlope: -.150308207 + outSlope: -.150308207 + tangentMode: 0 + - time: 5.25001335 + value: -.0340621918 + inSlope: -.151787534 + outSlope: -.151787534 + tangentMode: 0 + - time: 5.26668024 + value: -.0366038084 + inSlope: -.153133199 + outSlope: -.153133199 + tangentMode: 0 + - time: 5.28334713 + value: -.0391667001 + inSlope: -.15434666 + outSlope: -.15434666 + tangentMode: 0 + - time: 5.30001402 + value: -.0417487659 + inSlope: -.155430704 + outSlope: -.155430704 + tangentMode: 0 + - time: 5.31668091 + value: -.0443477929 + inSlope: -.156383097 + outSlope: -.156383097 + tangentMode: 0 + - time: 5.3333478 + value: -.0469616055 + inSlope: -.157204628 + outSlope: -.157204628 + tangentMode: 0 + - time: 5.35001469 + value: -.0495880172 + inSlope: -.157895297 + outSlope: -.157895297 + tangentMode: 0 + - time: 5.36668158 + value: -.0522248521 + inSlope: -.158456981 + outSlope: -.158456981 + tangentMode: 0 + - time: 5.38334846 + value: -.0548699871 + inSlope: -.158890486 + outSlope: -.158890486 + tangentMode: 0 + - time: 5.40001535 + value: -.0575212725 + inSlope: -.159194797 + outSlope: -.159194797 + tangentMode: 0 + - time: 5.41668224 + value: -.0601765513 + inSlope: -.159372151 + outSlope: -.159372151 + tangentMode: 0 + - time: 5.43334913 + value: -.0628337488 + inSlope: -.159423009 + outSlope: -.159423009 + tangentMode: 0 + - time: 5.45001602 + value: -.0654907227 + inSlope: -.159346789 + outSlope: -.159346789 + tangentMode: 0 + - time: 5.46668291 + value: -.0681453794 + inSlope: -.159144968 + outSlope: -.159144968 + tangentMode: 0 + - time: 5.4833498 + value: -.0707956254 + inSlope: -.15881975 + outSlope: -.15881975 + tangentMode: 0 + - time: 5.50001669 + value: -.0734394416 + inSlope: -.15837115 + outSlope: -.15837115 + tangentMode: 0 + - time: 5.51668358 + value: -.0760747343 + inSlope: -.157799184 + outSlope: -.157799184 + tangentMode: 0 + - time: 5.53335047 + value: -.0786994845 + inSlope: -.15710628 + outSlope: -.15710628 + tangentMode: 0 + - time: 5.55001736 + value: -.0813116804 + inSlope: -.156292915 + outSlope: -.156292915 + tangentMode: 0 + - time: 5.56668425 + value: -.0839093179 + inSlope: -.155361086 + outSlope: -.155361086 + tangentMode: 0 + - time: 5.58335114 + value: -.0864904523 + inSlope: -.154311001 + outSlope: -.154311001 + tangentMode: 0 + - time: 5.60001802 + value: -.0890530869 + inSlope: -.153144479 + outSlope: -.153144479 + tangentMode: 0 + - time: 5.61668491 + value: -.0915953368 + inSlope: -.151862636 + outSlope: -.151862636 + tangentMode: 0 + - time: 5.6333518 + value: -.0941152424 + inSlope: -.150467008 + outSlope: -.150467008 + tangentMode: 0 + - time: 5.65001869 + value: -.0966109708 + inSlope: -.148958951 + outSlope: -.148958951 + tangentMode: 0 + - time: 5.66668558 + value: -.0990806073 + inSlope: -.147340044 + outSlope: -.147340044 + tangentMode: 0 + - time: 5.68335247 + value: -.101522371 + inSlope: -.145612717 + outSlope: -.145612717 + tangentMode: 0 + - time: 5.70001936 + value: -.10393443 + inSlope: -.143777668 + outSlope: -.143777668 + tangentMode: 0 + - time: 5.71668625 + value: -.106315024 + inSlope: -.141836002 + outSlope: -.141836002 + tangentMode: 0 + - time: 5.73335314 + value: -.108662359 + inSlope: -.139791295 + outSlope: -.139791295 + tangentMode: 0 + - time: 5.75002003 + value: -.110974796 + inSlope: -.137645334 + outSlope: -.137645334 + tangentMode: 0 + - time: 5.76668692 + value: -.113250598 + inSlope: -.135397449 + outSlope: -.135397449 + tangentMode: 0 + - time: 5.78335381 + value: -.115488105 + inSlope: -.133051887 + outSlope: -.133051887 + tangentMode: 0 + - time: 5.80002069 + value: -.11768572 + inSlope: -.130611107 + outSlope: -.130611107 + tangentMode: 0 + - time: 5.81668758 + value: -.119841866 + inSlope: -.128076226 + outSlope: -.128076226 + tangentMode: 0 + - time: 5.83335447 + value: -.121954985 + inSlope: -.125449479 + outSlope: -.125449479 + tangentMode: 0 + - time: 5.85002136 + value: -.124023572 + inSlope: -.12273334 + outSlope: -.12273334 + tangentMode: 0 + - time: 5.86668825 + value: -.126046151 + inSlope: -.119928911 + outSlope: -.119928911 + tangentMode: 0 + - time: 5.88335514 + value: -.128021255 + inSlope: -.117040649 + outSlope: -.117040649 + tangentMode: 0 + - time: 5.90002203 + value: -.129947558 + inSlope: -.1140697 + outSlope: -.1140697 + tangentMode: 0 + - time: 5.91668892 + value: -.131823629 + inSlope: -.111018278 + outSlope: -.111018278 + tangentMode: 0 + - time: 5.93335581 + value: -.133648217 + inSlope: -.107890412 + outSlope: -.107890412 + tangentMode: 0 + - time: 5.9500227 + value: -.135420024 + inSlope: -.104686558 + outSlope: -.104686558 + tangentMode: 0 + - time: 5.96668959 + value: -.137137815 + inSlope: -.101410732 + outSlope: -.101410732 + tangentMode: 0 + - time: 5.98335648 + value: -.138800427 + inSlope: -.0980651677 + outSlope: -.0980651677 + tangentMode: 0 + - time: 6.00002337 + value: -.140406698 + inSlope: -.0946525484 + outSlope: -.0946525484 + tangentMode: 0 + - time: 6.01669025 + value: -.141955554 + inSlope: -.0911764503 + outSlope: -.0911764503 + tangentMode: 0 + - time: 6.03335714 + value: -.143445954 + inSlope: -.0876386687 + outSlope: -.0876386687 + tangentMode: 0 + - time: 6.05002403 + value: -.144876882 + inSlope: -.0840423256 + outSlope: -.0840423256 + tangentMode: 0 + - time: 6.06669092 + value: -.146247402 + inSlope: -.0803900957 + outSlope: -.0803900957 + tangentMode: 0 + - time: 6.08335781 + value: -.147556588 + inSlope: -.0766851157 + outSlope: -.0766851157 + tangentMode: 0 + - time: 6.1000247 + value: -.148803607 + inSlope: -.0729314238 + outSlope: -.0729314238 + tangentMode: 0 + - time: 6.11669159 + value: -.149987668 + inSlope: -.0691312253 + outSlope: -.0691312253 + tangentMode: 0 + - time: 6.13335848 + value: -.151108012 + inSlope: -.0652849898 + outSlope: -.0652849898 + tangentMode: 0 + - time: 6.15002537 + value: -.152163863 + inSlope: -.0613989681 + outSlope: -.0613989681 + tangentMode: 0 + - time: 6.16669226 + value: -.153154671 + inSlope: -.0574767366 + outSlope: -.0574767366 + tangentMode: 0 + - time: 6.18335915 + value: -.15407978 + inSlope: -.0535191894 + outSlope: -.0535191894 + tangentMode: 0 + - time: 6.20002604 + value: -.154938668 + inSlope: -.0495312437 + outSlope: -.0495312437 + tangentMode: 0 + - time: 6.21669292 + value: -.155730844 + inSlope: -.0455142446 + outSlope: -.0455142446 + tangentMode: 0 + - time: 6.23335981 + value: -.15645583 + inSlope: -.0414717644 + outSlope: -.0414717644 + tangentMode: 0 + - time: 6.2500267 + value: -.157113254 + inSlope: -.0374082699 + outSlope: -.0374082699 + tangentMode: 0 + - time: 6.26669359 + value: -.157702789 + inSlope: -.0333251059 + outSlope: -.0333251059 + tangentMode: 0 + - time: 6.28336048 + value: -.158224106 + inSlope: -.0292276405 + outSlope: -.0292276405 + tangentMode: 0 + - time: 6.30002737 + value: -.158677056 + inSlope: -.0251181051 + outSlope: -.0251181051 + tangentMode: 0 + - time: 6.31669426 + value: -.159061387 + inSlope: -.020998735 + outSlope: -.020998735 + tangentMode: 0 + - time: 6.33336115 + value: -.159377024 + inSlope: -.0168748926 + outSlope: -.0168748926 + tangentMode: 0 + - time: 6.35002804 + value: -.159623891 + inSlope: -.0127470288 + outSlope: -.0127470288 + tangentMode: 0 + - time: 6.36669493 + value: -.15980193 + inSlope: -.00861916319 + outSlope: -.00861916319 + tangentMode: 0 + - time: 6.38336182 + value: -.1599112 + inSlope: -.00449576927 + outSlope: -.00449576927 + tangentMode: 0 + - time: 6.40002871 + value: -.159951791 + inSlope: -.000379527453 + outSlope: -.000379527453 + tangentMode: 0 + - time: 6.41669559 + value: -.159923851 + inSlope: .00372643257 + outSlope: .00372643257 + tangentMode: 0 + - time: 6.43336248 + value: -.159827575 + inSlope: .00781853497 + outSlope: .00781853497 + tangentMode: 0 + - time: 6.45002937 + value: -.15966323 + inSlope: .0118945446 + outSlope: .0118945446 + tangentMode: 0 + - time: 6.46669626 + value: -.159431085 + inSlope: .0159535669 + outSlope: .0159535669 + tangentMode: 0 + - time: 6.48336315 + value: -.159131438 + inSlope: .0199875534 + outSlope: .0199875534 + tangentMode: 0 + - time: 6.50003004 + value: -.158764824 + inSlope: .0239956155 + outSlope: .0239956155 + tangentMode: 0 + - time: 6.51669693 + value: -.158331573 + inSlope: .0279759616 + outSlope: .0279759616 + tangentMode: 0 + - time: 6.53336382 + value: -.15783228 + inSlope: .0319241211 + outSlope: .0319241211 + tangentMode: 0 + - time: 6.55003071 + value: -.157267421 + inSlope: .035838753 + outSlope: .035838753 + tangentMode: 0 + - time: 6.5666976 + value: -.156637639 + inSlope: .0397144929 + outSlope: .0397144929 + tangentMode: 0 + - time: 6.58336449 + value: -.155943587 + inSlope: .0435513407 + outSlope: .0435513407 + tangentMode: 0 + - time: 6.60003138 + value: -.155185908 + inSlope: .0473434851 + outSlope: .0473434851 + tangentMode: 0 + - time: 6.61669827 + value: -.15436545 + inSlope: .0510886945 + outSlope: .0510886945 + tangentMode: 0 + - time: 6.63336515 + value: -.153482929 + inSlope: .0547865182 + outSlope: .0547865182 + tangentMode: 0 + - time: 6.65003204 + value: -.152539209 + inSlope: .0584333763 + outSlope: .0584333763 + tangentMode: 0 + - time: 6.66669893 + value: -.151535124 + inSlope: .0620248094 + outSlope: .0620248094 + tangentMode: 0 + - time: 6.68336582 + value: -.150471687 + inSlope: .0655594617 + outSlope: .0655594617 + tangentMode: 0 + - time: 6.70003271 + value: -.149349779 + inSlope: .0690360069 + outSlope: .0690360069 + tangentMode: 0 + - time: 6.7166996 + value: -.148170456 + inSlope: .0724472851 + outSlope: .0724472851 + tangentMode: 0 + - time: 6.73336649 + value: -.146934837 + inSlope: .0757955313 + outSlope: .0757955313 + tangentMode: 0 + - time: 6.75003338 + value: -.145643905 + inSlope: .0790776163 + outSlope: .0790776163 + tangentMode: 0 + - time: 6.76670027 + value: -.144298881 + inSlope: .0822895169 + outSlope: .0822895169 + tangentMode: 0 + - time: 6.78336716 + value: -.142900884 + inSlope: .0854307935 + outSlope: .0854307935 + tangentMode: 0 + - time: 6.80003405 + value: -.14145115 + inSlope: .0884965211 + outSlope: .0884965211 + tangentMode: 0 + - time: 6.81670094 + value: -.139950961 + inSlope: .0914884806 + outSlope: .0914884806 + tangentMode: 0 + - time: 6.83336782 + value: -.138401493 + inSlope: .0944022089 + outSlope: .0944022089 + tangentMode: 0 + - time: 6.85003471 + value: -.136804178 + inSlope: .0972314626 + outSlope: .0972314626 + tangentMode: 0 + - time: 6.8667016 + value: -.135160401 + inSlope: .0999802351 + outSlope: .0999802351 + tangentMode: 0 + - time: 6.88336849 + value: -.133471459 + inSlope: .102649003 + outSlope: .102649003 + tangentMode: 0 + - time: 6.90003538 + value: -.131738722 + inSlope: .105229259 + outSlope: .105229259 + tangentMode: 0 + - time: 6.91670227 + value: -.129963771 + inSlope: .107720099 + outSlope: .107720099 + tangentMode: 0 + - time: 6.93336916 + value: -.128148004 + inSlope: .110120647 + outSlope: .110120647 + tangentMode: 0 + - time: 6.95003605 + value: -.126293033 + inSlope: .112431556 + outSlope: .112431556 + tangentMode: 0 + - time: 6.96670294 + value: -.124400236 + inSlope: .114649266 + outSlope: .114649266 + tangentMode: 0 + - time: 6.98336983 + value: -.12247134 + inSlope: .116772659 + outSlope: .116772659 + tangentMode: 0 + - time: 7.00003672 + value: -.120507762 + inSlope: .118797697 + outSlope: .118797697 + tangentMode: 0 + - time: 7.01670361 + value: -.118511364 + inSlope: .120727524 + outSlope: .120727524 + tangentMode: 0 + - time: 7.03337049 + value: -.116483457 + inSlope: .122556761 + outSlope: .122556761 + tangentMode: 0 + - time: 7.05003738 + value: -.114426084 + inSlope: .124283418 + outSlope: .124283418 + tangentMode: 0 + - time: 7.06670427 + value: -.112340622 + inSlope: .125914618 + outSlope: .125914618 + tangentMode: 0 + - time: 7.08337116 + value: -.110228874 + inSlope: .127435416 + outSlope: .127435416 + tangentMode: 0 + - time: 7.10003805 + value: -.108092718 + inSlope: .128857642 + outSlope: .128857642 + tangentMode: 0 + - time: 7.11670494 + value: -.105933562 + inSlope: .130173475 + outSlope: .130173475 + tangentMode: 0 + - time: 7.13337183 + value: -.103753544 + inSlope: .131380886 + outSlope: .131380886 + tangentMode: 0 + - time: 7.15003872 + value: -.10155414 + inSlope: .132483929 + outSlope: .132483929 + tangentMode: 0 + - time: 7.16670561 + value: -.0993373543 + inSlope: .133475661 + outSlope: .133475661 + tangentMode: 0 + - time: 7.1833725 + value: -.0971048921 + inSlope: .134359211 + outSlope: .134359211 + tangentMode: 0 + - time: 7.20003939 + value: -.0948586538 + inSlope: .135132805 + outSlope: .135132805 + tangentMode: 0 + - time: 7.21670628 + value: -.0926004052 + inSlope: .135800004 + outSlope: .135800004 + tangentMode: 0 + - time: 7.23337317 + value: -.0903319269 + inSlope: .136353865 + outSlope: .136353865 + tangentMode: 0 + - time: 7.25004005 + value: -.0880552158 + inSlope: .13679105 + outSlope: .13679105 + tangentMode: 0 + - time: 7.26670694 + value: -.0857721642 + inSlope: .13711381 + outSlope: .13711381 + tangentMode: 0 + - time: 7.28337383 + value: -.0834846944 + inSlope: .137328386 + outSlope: .137328386 + tangentMode: 0 + - time: 7.30004072 + value: -.0811944902 + inSlope: .137429193 + outSlope: .137429193 + tangentMode: 0 + - time: 7.31670761 + value: -.0789036602 + inSlope: .137412876 + outSlope: .137412876 + tangentMode: 0 + - time: 7.3333745 + value: -.0766139999 + inSlope: .137282789 + outSlope: .137282789 + tangentMode: 0 + - time: 7.35004139 + value: -.0743275061 + inSlope: .137037814 + outSlope: .137037814 + tangentMode: 0 + - time: 7.36670828 + value: -.0720460117 + inSlope: .136676401 + outSlope: .136676401 + tangentMode: 0 + - time: 7.38337517 + value: -.0697715655 + inSlope: .136196062 + outSlope: .136196062 + tangentMode: 0 + - time: 7.40004206 + value: -.0675060824 + inSlope: .135599941 + outSlope: .135599941 + tangentMode: 0 + - time: 7.41670895 + value: -.0652515069 + inSlope: .134889841 + outSlope: .134889841 + tangentMode: 0 + - time: 7.43337584 + value: -.0630096942 + inSlope: .134057462 + outSlope: .134057462 + tangentMode: 0 + - time: 7.45004272 + value: -.0607828647 + inSlope: .133110225 + outSlope: .133110225 + tangentMode: 0 + - time: 7.46670961 + value: -.0585726276 + inSlope: .132048309 + outSlope: .132048309 + tangentMode: 0 + - time: 7.4833765 + value: -.0563811958 + inSlope: .130865455 + outSlope: .130865455 + tangentMode: 0 + - time: 7.50004339 + value: -.0542103872 + inSlope: .129837513 + outSlope: .129837513 + tangentMode: 0 + - time: 7.51671028 + value: -.0520532206 + inSlope: .129247889 + outSlope: .129247889 + tangentMode: 0 + - time: 7.53337717 + value: -.0499020666 + inSlope: .128860533 + outSlope: .128860533 + tangentMode: 0 + - time: 7.55004406 + value: -.0477578118 + inSlope: .128420442 + outSlope: .128420442 + tangentMode: 0 + - time: 7.56671095 + value: -.0456213281 + inSlope: .127922446 + outSlope: .127922446 + tangentMode: 0 + - time: 7.58337784 + value: -.0434936732 + inSlope: .127367243 + outSlope: .127367243 + tangentMode: 0 + - time: 7.60004473 + value: -.0413756967 + inSlope: .126761734 + outSlope: .126761734 + tangentMode: 0 + - time: 7.61671162 + value: -.0392682254 + inSlope: .126106843 + outSlope: .126106843 + tangentMode: 0 + - time: 7.63337851 + value: -.0371720791 + inSlope: .125397414 + outSlope: .125397414 + tangentMode: 0 + - time: 7.65004539 + value: -.035088256 + inSlope: .124637902 + outSlope: .124637902 + tangentMode: 0 + - time: 7.66671228 + value: -.0330174267 + inSlope: .123837724 + outSlope: .123837724 + tangentMode: 0 + - time: 7.68337917 + value: -.0309602767 + inSlope: .122986585 + outSlope: .122986585 + tangentMode: 0 + - time: 7.70004606 + value: -.0289178193 + inSlope: .122088052 + outSlope: .122088052 + tangentMode: 0 + - time: 7.71671295 + value: -.0268906206 + inSlope: .121147953 + outSlope: .121147953 + tangentMode: 0 + - time: 7.73337984 + value: -.0248795003 + inSlope: .120167173 + outSlope: .120167173 + tangentMode: 0 + - time: 7.75004673 + value: -.0228849947 + inSlope: .119144812 + outSlope: .119144812 + tangentMode: 0 + - time: 7.76671362 + value: -.0209079534 + inSlope: .118074626 + outSlope: .118074626 + tangentMode: 0 + - time: 7.78338051 + value: -.0189491212 + inSlope: .116970018 + outSlope: .116970018 + tangentMode: 0 + - time: 7.8000474 + value: -.0170089006 + inSlope: .11582607 + outSlope: .11582607 + tangentMode: 0 + - time: 7.81671429 + value: -.0150882006 + inSlope: .114641443 + outSlope: .114641443 + tangentMode: 0 + - time: 7.83338118 + value: -.0131874681 + inSlope: .113422848 + outSlope: .113422848 + tangentMode: 0 + - time: 7.85004807 + value: -.0113073885 + inSlope: .112171613 + outSlope: .112171613 + tangentMode: 0 + - time: 7.86671495 + value: -.00944836438 + inSlope: .110885955 + outSlope: .110885955 + tangentMode: 0 + - time: 7.88338184 + value: -.00761114061 + inSlope: .109561861 + outSlope: .109561861 + tangentMode: 0 + - time: 7.90004873 + value: -.00579625368 + inSlope: .108207807 + outSlope: .108207807 + tangentMode: 0 + - time: 7.91671562 + value: -.00400416553 + inSlope: .106820673 + outSlope: .106820673 + tangentMode: 0 + - time: 7.93338251 + value: -.00223551691 + inSlope: .105406724 + outSlope: .105406724 + tangentMode: 0 + - time: 7.9500494 + value: -.000490561128 + inSlope: .103964165 + outSlope: .103964165 + tangentMode: 0 + - time: 7.96671629 + value: .00123000145 + inSlope: .102487177 + outSlope: .102487177 + tangentMode: 0 + - time: 7.98338318 + value: .00292572379 + inSlope: .100983024 + outSlope: .100983024 + tangentMode: 0 + - time: 8.00004959 + value: .00459609926 + inSlope: .0994506776 + outSlope: .0994506776 + tangentMode: 0 + - time: 8.016716 + value: .00624069571 + inSlope: .0978963077 + outSlope: .0978963077 + tangentMode: 0 + - time: 8.03338242 + value: .00785925984 + inSlope: .0963196009 + outSlope: .0963196009 + tangentMode: 0 + - time: 8.05004883 + value: .00945129991 + inSlope: .094713822 + outSlope: .094713822 + tangentMode: 0 + - time: 8.06671524 + value: .0110163391 + inSlope: .0930845737 + outSlope: .0930845737 + tangentMode: 0 + - time: 8.08338165 + value: .0125540718 + inSlope: .0914345533 + outSlope: .0914345533 + tangentMode: 0 + - time: 8.10004807 + value: .0140641108 + inSlope: .0897630602 + outSlope: .0897630602 + tangentMode: 0 + - time: 8.11671448 + value: .0155461282 + inSlope: .0880669802 + outSlope: .0880669802 + tangentMode: 0 + - time: 8.13338089 + value: .0169996321 + inSlope: .086355038 + outSlope: .086355038 + tangentMode: 0 + - time: 8.1500473 + value: .0184245855 + inSlope: .0846225321 + outSlope: .0846225321 + tangentMode: 0 + - time: 8.16671371 + value: .01982034 + inSlope: .0828710198 + outSlope: .0828710198 + tangentMode: 0 + - time: 8.18338013 + value: .0211869106 + inSlope: .0811049789 + outSlope: .0811049789 + tangentMode: 0 + - time: 8.20004654 + value: .022523798 + inSlope: .0793154687 + outSlope: .0793154687 + tangentMode: 0 + - time: 8.21671295 + value: .0238307193 + inSlope: .0775145665 + outSlope: .0775145665 + tangentMode: 0 + - time: 8.23337936 + value: .0251075774 + inSlope: .0757000223 + outSlope: .0757000223 + tangentMode: 0 + - time: 8.25004578 + value: .0263540149 + inSlope: .0738671497 + outSlope: .0738671497 + tangentMode: 0 + - time: 8.26671219 + value: .0275697783 + inSlope: .0720231086 + outSlope: .0720231086 + tangentMode: 0 + - time: 8.2833786 + value: .0287547484 + inSlope: .0701634139 + outSlope: .0701634139 + tangentMode: 0 + - time: 8.30004501 + value: .029908523 + inSlope: .0682918727 + outSlope: .0682918727 + tangentMode: 0 + - time: 8.31671143 + value: .0310311094 + inSlope: .0664140731 + outSlope: .0664140731 + tangentMode: 0 + - time: 8.33337784 + value: .0321222916 + inSlope: .0645212978 + outSlope: .0645212978 + tangentMode: 0 + - time: 8.35004425 + value: .0331817865 + inSlope: .0626200289 + outSlope: .0626200289 + tangentMode: 0 + - time: 8.36671066 + value: .0342095941 + inSlope: .0607078113 + outSlope: .0607078113 + tangentMode: 0 + - time: 8.38337708 + value: .0352053493 + inSlope: .0587866493 + outSlope: .0587866493 + tangentMode: 0 + - time: 8.40004349 + value: .0361691192 + inSlope: .0568594523 + outSlope: .0568594523 + tangentMode: 0 + - time: 8.4167099 + value: .0371006355 + inSlope: .054922644 + outSlope: .054922644 + tangentMode: 0 + - time: 8.43337631 + value: .037999846 + inSlope: .0529849418 + outSlope: .0529849418 + tangentMode: 0 + - time: 8.45004272 + value: .0388667732 + inSlope: .0510398634 + outSlope: .0510398634 + tangentMode: 0 + - time: 8.46670914 + value: .0397011489 + inSlope: .0490867384 + outSlope: .0490867384 + tangentMode: 0 + - time: 8.48337555 + value: .0405029729 + inSlope: .0471322723 + outSlope: .0471322723 + tangentMode: 0 + - time: 8.50004196 + value: .0412722006 + inSlope: .0451740064 + outSlope: .0451740064 + tangentMode: 0 + - time: 8.51670837 + value: .0420087501 + inSlope: .043209929 + outSlope: .043209929 + tangentMode: 0 + - time: 8.53337479 + value: .0427125096 + inSlope: .0412494279 + outSlope: .0412494279 + tangentMode: 0 + - time: 8.5500412 + value: .0433837101 + inSlope: .0392853506 + outSlope: .0392853506 + tangentMode: 0 + - time: 8.56670761 + value: .0440220013 + inSlope: .037318144 + outSlope: .037318144 + tangentMode: 0 + - time: 8.58337402 + value: .0446276292 + inSlope: .0353547372 + outSlope: .0353547372 + tangentMode: 0 + - time: 8.60004044 + value: .0452004746 + inSlope: .0333915539 + outSlope: .0333915539 + tangentMode: 0 + - time: 8.61670685 + value: .045740664 + inSlope: .0314312764 + outSlope: .0314312764 + tangentMode: 0 + - time: 8.63337326 + value: .0462481678 + inSlope: .0294669736 + outSlope: .0294669736 + tangentMode: 0 + - time: 8.65003967 + value: .0467228815 + inSlope: .0275087077 + outSlope: .0275087077 + tangentMode: 0 + - time: 8.66670609 + value: .0471651107 + inSlope: .0255580414 + outSlope: .0255580414 + tangentMode: 0 + - time: 8.6833725 + value: .0475748032 + inSlope: .0236081574 + outSlope: .0236081574 + tangentMode: 0 + - time: 8.70003891 + value: .0479520373 + inSlope: .0216638632 + outSlope: .0216638632 + tangentMode: 0 + - time: 8.71670532 + value: .048296921 + inSlope: .0197243728 + outSlope: .0197243728 + tangentMode: 0 + - time: 8.73337173 + value: .0486095063 + inSlope: .0177910291 + outSlope: .0177910291 + tangentMode: 0 + - time: 8.75003815 + value: .0488899462 + inSlope: .015866179 + outSlope: .015866179 + tangentMode: 0 + - time: 8.76670456 + value: .0491383709 + inSlope: .0139497109 + outSlope: .0139497109 + tangentMode: 0 + - time: 8.78337097 + value: .0493549295 + inSlope: .0120397266 + outSlope: .0120397266 + tangentMode: 0 + - time: 8.80003738 + value: .049539689 + inSlope: .0101384576 + outSlope: .0101384576 + tangentMode: 0 + - time: 8.8167038 + value: .0496928729 + inSlope: .00824791845 + outSlope: .00824791845 + tangentMode: 0 + - time: 8.83337021 + value: .0498146154 + inSlope: .00636732578 + outSlope: .00636732578 + tangentMode: 0 + - time: 8.85003662 + value: .0499051139 + inSlope: .00449757464 + outSlope: .00449757464 + tangentMode: 0 + - time: 8.86670303 + value: .0499645323 + inSlope: .00263989274 + outSlope: .00263989274 + tangentMode: 0 + - time: 8.88336945 + value: .049993109 + inSlope: .000794057734 + outSlope: .000794057734 + tangentMode: 0 + - time: 8.90003586 + value: .0499910004 + inSlope: -.00103881303 + outSlope: -.00103881303 + tangentMode: 0 + - time: 8.91670227 + value: .0499584824 + inSlope: -.00285771396 + outSlope: -.00285771396 + tangentMode: 0 + - time: 8.93336868 + value: .0498957448 + inSlope: -.00466309162 + outSlope: -.00466309162 + tangentMode: 0 + - time: 8.9500351 + value: .0498030484 + inSlope: -.00645382889 + outSlope: -.00645382889 + tangentMode: 0 + - time: 8.96670151 + value: .0496806204 + inSlope: -.00822891947 + outSlope: -.00822891947 + tangentMode: 0 + - time: 8.98336792 + value: .0495287552 + inSlope: -.009987358 + outSlope: -.009987358 + tangentMode: 0 + - time: 9.00003433 + value: .0493477136 + inSlope: -.0117302611 + outSlope: -.0117302611 + tangentMode: 0 + - time: 9.01670074 + value: .0491377525 + inSlope: -.0134572946 + outSlope: -.0134572946 + tangentMode: 0 + - time: 9.03336716 + value: .0488991439 + inSlope: -.015162982 + outSlope: -.015162982 + tangentMode: 0 + - time: 9.05003357 + value: .0486323275 + inSlope: -.0168488882 + outSlope: -.0168488882 + tangentMode: 0 + - time: 9.06669998 + value: .0483375229 + inSlope: -.018519707 + outSlope: -.018519707 + tangentMode: 0 + - time: 9.08336639 + value: .0480150133 + inSlope: -.0201695152 + outSlope: -.0201695152 + tangentMode: 0 + - time: 9.10003281 + value: .047665216 + inSlope: -.0217989795 + outSlope: -.0217989795 + tangentMode: 0 + - time: 9.11669922 + value: .0472883917 + inSlope: -.0234072134 + outSlope: -.0234072134 + tangentMode: 0 + - time: 9.13336563 + value: .0468849875 + inSlope: -.0249939859 + outSlope: -.0249939859 + tangentMode: 0 + - time: 9.15003204 + value: .0464552715 + inSlope: -.0265597515 + outSlope: -.0265597515 + tangentMode: 0 + - time: 9.16669846 + value: .045999676 + inSlope: -.0281014852 + outSlope: -.0281014852 + tangentMode: 0 + - time: 9.18336487 + value: .0455185696 + inSlope: -.0296189673 + outSlope: -.0296189673 + tangentMode: 0 + - time: 9.20003128 + value: .0450123921 + inSlope: -.0311142094 + outSlope: -.0311142094 + tangentMode: 0 + - time: 9.21669769 + value: .0444814451 + inSlope: -.0325851999 + outSlope: -.0325851999 + tangentMode: 0 + - time: 9.23336411 + value: .0439262353 + inSlope: -.0340298153 + outSlope: -.0340298153 + tangentMode: 0 + - time: 9.25003052 + value: .0433471352 + inSlope: -.0354509614 + outSlope: -.0354509614 + tangentMode: 0 + - time: 9.26669693 + value: .0427445546 + inSlope: -.0368453972 + outSlope: -.0368453972 + tangentMode: 0 + - time: 9.28336334 + value: .042118974 + inSlope: -.0382122248 + outSlope: -.0382122248 + tangentMode: 0 + - time: 9.30002975 + value: .0414708331 + inSlope: -.0395517871 + outSlope: -.0395517871 + tangentMode: 0 + - time: 9.31669617 + value: .0408006012 + inSlope: -.0408640802 + outSlope: -.0408640802 + tangentMode: 0 + - time: 9.33336258 + value: .040108718 + inSlope: -.0421482027 + outSlope: -.0421482027 + tangentMode: 0 + - time: 9.35002899 + value: .0393956825 + inSlope: -.0434039459 + outSlope: -.0434039459 + tangentMode: 0 + - time: 9.3666954 + value: .0386619419 + inSlope: -.0446292832 + outSlope: -.0446292832 + tangentMode: 0 + - time: 9.38336182 + value: .0379080623 + inSlope: -.0458251238 + outSlope: -.0458251238 + tangentMode: 0 + - time: 9.40002823 + value: .0371344611 + inSlope: -.0469920114 + outSlope: -.0469920114 + tangentMode: 0 + - time: 9.41669464 + value: .0363416858 + inSlope: -.0481259339 + outSlope: -.0481259339 + tangentMode: 0 + - time: 9.43336105 + value: .0355302878 + inSlope: -.0492285639 + outSlope: -.0492285639 + tangentMode: 0 + - time: 9.45002747 + value: .0347007588 + inSlope: -.0503011271 + outSlope: -.0503011271 + tangentMode: 0 + - time: 9.46669388 + value: .0338536091 + inSlope: -.0513407215 + outSlope: -.0513407215 + tangentMode: 0 + - time: 9.48336029 + value: .0329894274 + inSlope: -.0523464531 + outSlope: -.0523464531 + tangentMode: 0 + - time: 9.5000267 + value: .0321087539 + inSlope: -.0533191599 + outSlope: -.0533191599 + tangentMode: 0 + - time: 9.51669312 + value: .0312121492 + inSlope: -.0542587303 + outSlope: -.0542587303 + tangentMode: 0 + - time: 9.53335953 + value: .0303001571 + inSlope: -.055163376 + outSlope: -.055163376 + tangentMode: 0 + - time: 9.55002594 + value: .0293733981 + inSlope: -.0560324267 + outSlope: -.0560324267 + tangentMode: 0 + - time: 9.56669235 + value: .0284324382 + inSlope: -.056867443 + outSlope: -.056867443 + tangentMode: 0 + - time: 9.58335876 + value: .0274778455 + inSlope: -.0576657504 + outSlope: -.0576657504 + tangentMode: 0 + - time: 9.60002518 + value: .0265102759 + inSlope: -.0584280118 + outSlope: -.0584280118 + tangentMode: 0 + - time: 9.61669159 + value: .025530275 + inSlope: -.0591538399 + outSlope: -.0591538399 + tangentMode: 0 + - time: 9.633358 + value: .0245385114 + inSlope: -.0598422252 + outSlope: -.0598422252 + tangentMode: 0 + - time: 9.65002441 + value: .0235355645 + inSlope: -.0604934543 + outSlope: -.0604934543 + tangentMode: 0 + - time: 9.66669083 + value: .0225220937 + inSlope: -.0611068532 + outSlope: -.0611068532 + tangentMode: 0 + - time: 9.68335724 + value: .0214987006 + inSlope: -.0616813004 + outSlope: -.0616813004 + tangentMode: 0 + - time: 9.70002365 + value: .0204660818 + inSlope: -.0622161292 + outSlope: -.0622161292 + tangentMode: 0 + - time: 9.71669006 + value: .0194248613 + inSlope: -.0627120659 + outSlope: -.0627120659 + tangentMode: 0 + - time: 9.73335648 + value: .0183757115 + inSlope: -.0631689429 + outSlope: -.0631689429 + tangentMode: 0 + - time: 9.75002289 + value: .017319262 + inSlope: -.0635854751 + outSlope: -.0635854751 + tangentMode: 0 + - time: 9.7666893 + value: .0162562281 + inSlope: -.0639596209 + outSlope: -.0639596209 + tangentMode: 0 + - time: 9.78335571 + value: .0151873073 + inSlope: -.0642940849 + outSlope: -.0642940849 + tangentMode: 0 + - time: 9.80002213 + value: .0141131245 + inSlope: -.0645876005 + outSlope: -.0645876005 + tangentMode: 0 + - time: 9.81668854 + value: .0130344201 + inSlope: -.064838253 + outSlope: -.064838253 + tangentMode: 0 + - time: 9.83335495 + value: .0119518824 + inSlope: -.0650472417 + outSlope: -.0650472417 + tangentMode: 0 + - time: 9.85002136 + value: .0108662117 + inSlope: -.0652127266 + outSlope: -.0652127266 + tangentMode: 0 + - time: 9.86668777 + value: .00977815781 + inSlope: -.0653349683 + outSlope: -.0653349683 + tangentMode: 0 + - time: 9.88335419 + value: .00868841261 + inSlope: -.0654139519 + outSlope: -.0654139519 + tangentMode: 0 + - time: 9.9000206 + value: .00759772584 + inSlope: -.0654496774 + outSlope: -.0654496774 + tangentMode: 0 + - time: 9.91668701 + value: .00650678994 + inSlope: -.0654405132 + outSlope: -.0654405132 + tangentMode: 0 + - time: 9.93335342 + value: .00541640865 + inSlope: -.0653855428 + outSlope: -.0653855428 + tangentMode: 0 + - time: 9.95001984 + value: .00432730513 + inSlope: -.0652863607 + outSlope: -.0652863607 + tangentMode: 0 + - time: 9.96668625 + value: .00324022979 + inSlope: -.0651414543 + outSlope: -.0651414543 + tangentMode: 0 + - time: 9.98335266 + value: .00215595635 + inSlope: -.0649510026 + outSlope: -.0649510026 + tangentMode: 0 + - time: 10.0000191 + value: .00107522937 + inSlope: -.0647166371 + outSlope: -.0647166371 + tangentMode: 0 + - time: 10.0166664 + value: -0 + inSlope: -.064588666 + outSlope: -.064588666 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalRotation.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: -0 + inSlope: -.31422618 + outSlope: -.31422618 + tangentMode: 0 + - time: .0166666675 + value: -.00523710344 + inSlope: -.314289093 + outSlope: -.314289093 + tangentMode: 0 + - time: .0333333351 + value: -.0104763042 + inSlope: -.314408779 + outSlope: -.314408779 + tangentMode: 0 + - time: .0500000045 + value: -.0157173965 + inSlope: -.314516097 + outSlope: -.314516097 + tangentMode: 0 + - time: .0666666701 + value: -.0209601745 + inSlope: -.314611077 + outSlope: -.314611077 + tangentMode: 0 + - time: .0833333358 + value: -.0262044314 + inSlope: -.314693749 + outSlope: -.314693749 + tangentMode: 0 + - time: .100000001 + value: -.0314499661 + inSlope: -.314764023 + outSlope: -.314764023 + tangentMode: 0 + - time: .116666667 + value: -.0366965644 + inSlope: -.314821541 + outSlope: -.314821541 + tangentMode: 0 + - time: .13333334 + value: -.0419440195 + inSlope: -.314866245 + outSlope: -.314866245 + tangentMode: 0 + - time: .150000006 + value: -.0471921079 + inSlope: -.314898401 + outSlope: -.314898401 + tangentMode: 0 + - time: .166666672 + value: -.0524406321 + inSlope: -.314918071 + outSlope: -.314918071 + tangentMode: 0 + - time: .183333337 + value: -.0576893762 + inSlope: -.31492433 + outSlope: -.31492433 + tangentMode: 0 + - time: .200000003 + value: -.062938109 + inSlope: -.314917982 + outSlope: -.314917982 + tangentMode: 0 + - time: .216666669 + value: -.0681866407 + inSlope: -.314898312 + outSlope: -.314898312 + tangentMode: 0 + - time: .233333334 + value: -.073434718 + inSlope: -.31486544 + outSlope: -.31486544 + tangentMode: 0 + - time: .25 + value: -.0786821544 + inSlope: -.314820141 + outSlope: -.314820141 + tangentMode: 0 + - time: .266666681 + value: -.0839287266 + inSlope: -.314760983 + outSlope: -.314760983 + tangentMode: 0 + - time: .283333361 + value: -.0891741961 + inSlope: -.314689219 + outSlope: -.314689219 + tangentMode: 0 + - time: .300000042 + value: -.0944183767 + inSlope: -.314604074 + outSlope: -.314604074 + tangentMode: 0 + - time: .316666722 + value: -.0996610075 + inSlope: -.314504832 + outSlope: -.314504832 + tangentMode: 0 + - time: .333333403 + value: -.10490188 + inSlope: -.314391971 + outSlope: -.314391971 + tangentMode: 0 + - time: .350000083 + value: -.110140748 + inSlope: -.314266324 + outSlope: -.314266324 + tangentMode: 0 + - time: .366666764 + value: -.115377434 + inSlope: -.314127743 + outSlope: -.314127743 + tangentMode: 0 + - time: .383333445 + value: -.120611683 + inSlope: -.313974857 + outSlope: -.313974857 + tangentMode: 0 + - time: .400000125 + value: -.125843272 + inSlope: -.313809693 + outSlope: -.313809693 + tangentMode: 0 + - time: .416666806 + value: -.131072015 + inSlope: -.313629091 + outSlope: -.313629091 + tangentMode: 0 + - time: .433333486 + value: -.136297584 + inSlope: -.313435078 + outSlope: -.313435078 + tangentMode: 0 + - time: .450000167 + value: -.141519859 + inSlope: -.313229889 + outSlope: -.313229889 + tangentMode: 0 + - time: .466666847 + value: -.146738589 + inSlope: -.313008159 + outSlope: -.313008159 + tangentMode: 0 + - time: .483333528 + value: -.151953474 + inSlope: -.312774181 + outSlope: -.312774181 + tangentMode: 0 + - time: .500000179 + value: -.157164395 + inSlope: -.312527716 + outSlope: -.312527716 + tangentMode: 0 + - time: .51666683 + value: -.162371054 + inSlope: -.312266201 + outSlope: -.312266201 + tangentMode: 0 + - time: .53333348 + value: -.167573258 + inSlope: -.311991274 + outSlope: -.311991274 + tangentMode: 0 + - time: .550000131 + value: -.172770754 + inSlope: -.31170249 + outSlope: -.31170249 + tangentMode: 0 + - time: .566666782 + value: -.177963331 + inSlope: -.311400741 + outSlope: -.311400741 + tangentMode: 0 + - time: .583333433 + value: -.183150768 + inSlope: -.311084688 + outSlope: -.311084688 + tangentMode: 0 + - time: .600000083 + value: -.188332811 + inSlope: -.310755223 + outSlope: -.310755223 + tangentMode: 0 + - time: .616666734 + value: -.193509266 + inSlope: -.310412794 + outSlope: -.310412794 + tangentMode: 0 + - time: .633333385 + value: -.198679894 + inSlope: -.310056955 + outSlope: -.310056955 + tangentMode: 0 + - time: .650000036 + value: -.203844488 + inSlope: -.309688151 + outSlope: -.309688151 + tangentMode: 0 + - time: .666666687 + value: -.209002823 + inSlope: -.309305042 + outSlope: -.309305042 + tangentMode: 0 + - time: .683333337 + value: -.214154646 + inSlope: -.308908075 + outSlope: -.308908075 + tangentMode: 0 + - time: .699999988 + value: -.219299749 + inSlope: -.308499038 + outSlope: -.308499038 + tangentMode: 0 + - time: .716666639 + value: -.224437937 + inSlope: -.308077037 + outSlope: -.308077037 + tangentMode: 0 + - time: .73333329 + value: -.229568973 + inSlope: -.307640731 + outSlope: -.307640731 + tangentMode: 0 + - time: .74999994 + value: -.234692618 + inSlope: -.307191461 + outSlope: -.307191461 + tangentMode: 0 + - time: .766666591 + value: -.239808679 + inSlope: -.306730121 + outSlope: -.306730121 + tangentMode: 0 + - time: .783333242 + value: -.244916946 + inSlope: -.306255817 + outSlope: -.306255817 + tangentMode: 0 + - time: .799999893 + value: -.250017196 + inSlope: -.305768549 + outSlope: -.305768549 + tangentMode: 0 + - time: .816666543 + value: -.255109221 + inSlope: -.305266976 + outSlope: -.305266976 + tangentMode: 0 + - time: .833333194 + value: -.260192752 + inSlope: -.304752886 + outSlope: -.304752886 + tangentMode: 0 + - time: .849999845 + value: -.26526764 + inSlope: -.304228067 + outSlope: -.304228067 + tangentMode: 0 + - time: .866666496 + value: -.270333678 + inSlope: -.303690732 + outSlope: -.303690732 + tangentMode: 0 + - time: .883333147 + value: -.275390655 + inSlope: -.303139985 + outSlope: -.303139985 + tangentMode: 0 + - time: .899999797 + value: -.280438334 + inSlope: -.302577615 + outSlope: -.302577615 + tangentMode: 0 + - time: .916666448 + value: -.285476565 + inSlope: -.302001834 + outSlope: -.302001834 + tangentMode: 0 + - time: .933333099 + value: -.290505052 + inSlope: -.30141443 + outSlope: -.30141443 + tangentMode: 0 + - time: .94999975 + value: -.295523703 + inSlope: -.300816298 + outSlope: -.300816298 + tangentMode: 0 + - time: .9666664 + value: -.300532252 + inSlope: -.300202966 + outSlope: -.300202966 + tangentMode: 0 + - time: .983333051 + value: -.305530459 + inSlope: -.299581587 + outSlope: -.299581587 + tangentMode: 0 + - time: .999999702 + value: -.310518295 + inSlope: -.298950732 + outSlope: -.298950732 + tangentMode: 0 + - time: 1.01666641 + value: -.315495491 + inSlope: -.298304319 + outSlope: -.298304319 + tangentMode: 0 + - time: 1.03333306 + value: -.32046178 + inSlope: -.297645926 + outSlope: -.297645926 + tangentMode: 0 + - time: 1.04999971 + value: -.325417012 + inSlope: -.296980739 + outSlope: -.296980739 + tangentMode: 0 + - time: 1.06666636 + value: -.330361128 + inSlope: -.296303004 + outSlope: -.296303004 + tangentMode: 0 + - time: 1.08333302 + value: -.33529377 + inSlope: -.2956101 + outSlope: -.2956101 + tangentMode: 0 + - time: 1.09999967 + value: -.340214789 + inSlope: -.294911832 + outSlope: -.294911832 + tangentMode: 0 + - time: 1.11666632 + value: -.345124155 + inSlope: -.29420194 + outSlope: -.29420194 + tangentMode: 0 + - time: 1.13333297 + value: -.350021511 + inSlope: -.293478638 + outSlope: -.293478638 + tangentMode: 0 + - time: 1.14999962 + value: -.354906768 + inSlope: -.292749077 + outSlope: -.292749077 + tangentMode: 0 + - time: 1.16666627 + value: -.359779805 + inSlope: -.292008787 + outSlope: -.292008787 + tangentMode: 0 + - time: 1.18333292 + value: -.364640385 + inSlope: -.291257769 + outSlope: -.291257769 + tangentMode: 0 + - time: 1.19999957 + value: -.369488388 + inSlope: -.29049781 + outSlope: -.29049781 + tangentMode: 0 + - time: 1.21666622 + value: -.374323636 + inSlope: -.289728016 + outSlope: -.289728016 + tangentMode: 0 + - time: 1.23333287 + value: -.37914598 + inSlope: -.288948387 + outSlope: -.288948387 + tangentMode: 0 + - time: 1.24999952 + value: -.38395524 + inSlope: -.288160712 + outSlope: -.288160712 + tangentMode: 0 + - time: 1.26666617 + value: -.388751328 + inSlope: -.28736499 + outSlope: -.28736499 + tangentMode: 0 + - time: 1.28333282 + value: -.393534064 + inSlope: -.286558539 + outSlope: -.286558539 + tangentMode: 0 + - time: 1.29999948 + value: -.39830327 + inSlope: -.285743147 + outSlope: -.285743147 + tangentMode: 0 + - time: 1.31666613 + value: -.403058827 + inSlope: -.284920603 + outSlope: -.284920603 + tangentMode: 0 + - time: 1.33333278 + value: -.407800615 + inSlope: -.284090906 + outSlope: -.284090906 + tangentMode: 0 + - time: 1.34999943 + value: -.412528515 + inSlope: -.283253163 + outSlope: -.283253163 + tangentMode: 0 + - time: 1.36666608 + value: -.417242378 + inSlope: -.282405585 + outSlope: -.282405585 + tangentMode: 0 + - time: 1.38333273 + value: -.421942025 + inSlope: -.28154996 + outSlope: -.28154996 + tangentMode: 0 + - time: 1.39999938 + value: -.426627368 + inSlope: -.280689865 + outSlope: -.280689865 + tangentMode: 0 + - time: 1.41666603 + value: -.431298345 + inSlope: -.279822618 + outSlope: -.279822618 + tangentMode: 0 + - time: 1.43333268 + value: -.435954779 + inSlope: -.278946429 + outSlope: -.278946429 + tangentMode: 0 + - time: 1.44999933 + value: -.440596551 + inSlope: -.278063983 + outSlope: -.278063983 + tangentMode: 0 + - time: 1.46666598 + value: -.44522357 + inSlope: -.277175277 + outSlope: -.277175277 + tangentMode: 0 + - time: 1.48333263 + value: -.449835718 + inSlope: -.276280314 + outSlope: -.276280314 + tangentMode: 0 + - time: 1.49999928 + value: -.454432905 + inSlope: -.275379986 + outSlope: -.275379986 + tangentMode: 0 + - time: 1.51666594 + value: -.459015042 + inSlope: -.274472505 + outSlope: -.274472505 + tangentMode: 0 + - time: 1.53333259 + value: -.463581979 + inSlope: -.273560554 + outSlope: -.273560554 + tangentMode: 0 + - time: 1.54999924 + value: -.468133718 + inSlope: -.272640556 + outSlope: -.272640556 + tangentMode: 0 + - time: 1.56666589 + value: -.472669989 + inSlope: -.271715194 + outSlope: -.271715194 + tangentMode: 0 + - time: 1.58333254 + value: -.477190882 + inSlope: -.270788938 + outSlope: -.270788938 + tangentMode: 0 + - time: 1.59999919 + value: -.481696278 + inSlope: -.269854635 + outSlope: -.269854635 + tangentMode: 0 + - time: 1.61666584 + value: -.486186028 + inSlope: -.268914968 + outSlope: -.268914968 + tangentMode: 0 + - time: 1.63333249 + value: -.490660101 + inSlope: -.26797083 + outSlope: -.26797083 + tangentMode: 0 + - time: 1.64999914 + value: -.49511838 + inSlope: -.267023116 + outSlope: -.267023116 + tangentMode: 0 + - time: 1.66666579 + value: -.499560863 + inSlope: -.266071796 + outSlope: -.266071796 + tangentMode: 0 + - time: 1.68333244 + value: -.503987432 + inSlope: -.265116036 + outSlope: -.265116036 + tangentMode: 0 + - time: 1.69999909 + value: -.508398056 + inSlope: -.264158487 + outSlope: -.264158487 + tangentMode: 0 + - time: 1.71666574 + value: -.512792706 + inSlope: -.263192892 + outSlope: -.263192892 + tangentMode: 0 + - time: 1.7333324 + value: -.517171144 + inSlope: -.262225509 + outSlope: -.262225509 + tangentMode: 0 + - time: 1.74999905 + value: -.521533549 + inSlope: -.261259913 + outSlope: -.261259913 + tangentMode: 0 + - time: 1.7666657 + value: -.5258798 + inSlope: -.260285378 + outSlope: -.260285378 + tangentMode: 0 + - time: 1.78333235 + value: -.53020972 + inSlope: -.259303689 + outSlope: -.259303689 + tangentMode: 0 + - time: 1.799999 + value: -.534523249 + inSlope: -.258323789 + outSlope: -.258323789 + tangentMode: 0 + - time: 1.81666565 + value: -.538820505 + inSlope: -.257347465 + outSlope: -.257347465 + tangentMode: 0 + - time: 1.8333323 + value: -.54310149 + inSlope: -.256365776 + outSlope: -.256365776 + tangentMode: 0 + - time: 1.84999895 + value: -.547366023 + inSlope: -.255375147 + outSlope: -.255375147 + tangentMode: 0 + - time: 1.8666656 + value: -.551613986 + inSlope: -.254384518 + outSlope: -.254384518 + tangentMode: 0 + - time: 1.88333225 + value: -.555845499 + inSlope: -.253397465 + outSlope: -.253397465 + tangentMode: 0 + - time: 1.8999989 + value: -.560060561 + inSlope: -.252406836 + outSlope: -.252406836 + tangentMode: 0 + - time: 1.91666555 + value: -.564259052 + inSlope: -.251410842 + outSlope: -.251410842 + tangentMode: 0 + - time: 1.9333322 + value: -.568440914 + inSlope: -.25041306 + outSlope: -.25041306 + tangentMode: 0 + - time: 1.94999886 + value: -.572606146 + inSlope: -.249417067 + outSlope: -.249417067 + tangentMode: 0 + - time: 1.96666551 + value: -.576754808 + inSlope: -.248421073 + outSlope: -.248421073 + tangentMode: 0 + - time: 1.98333216 + value: -.580886841 + inSlope: -.247417927 + outSlope: -.247417927 + tangentMode: 0 + - time: 1.99999881 + value: -.585002065 + inSlope: -.246416569 + outSlope: -.246416569 + tangentMode: 0 + - time: 2.01666546 + value: -.589100718 + inSlope: -.245415211 + outSlope: -.245415211 + tangentMode: 0 + - time: 2.03333211 + value: -.593182564 + inSlope: -.244413853 + outSlope: -.244413853 + tangentMode: 0 + - time: 2.04999876 + value: -.597247839 + inSlope: -.243412495 + outSlope: -.243412495 + tangentMode: 0 + - time: 2.06666541 + value: -.601296306 + inSlope: -.24240756 + outSlope: -.24240756 + tangentMode: 0 + - time: 2.08333206 + value: -.605328083 + inSlope: -.241402611 + outSlope: -.241402611 + tangentMode: 0 + - time: 2.09999871 + value: -.609343052 + inSlope: -.240395889 + outSlope: -.240395889 + tangentMode: 0 + - time: 2.11666536 + value: -.613341272 + inSlope: -.239387378 + outSlope: -.239387378 + tangentMode: 0 + - time: 2.13333201 + value: -.617322624 + inSlope: -.238380656 + outSlope: -.238380656 + tangentMode: 0 + - time: 2.14999866 + value: -.621287286 + inSlope: -.237377509 + outSlope: -.237377509 + tangentMode: 0 + - time: 2.16666532 + value: -.6252352 + inSlope: -.236368999 + outSlope: -.236368999 + tangentMode: 0 + - time: 2.18333197 + value: -.629166245 + inSlope: -.2353587 + outSlope: -.2353587 + tangentMode: 0 + - time: 2.19999862 + value: -.633080482 + inSlope: -.23435019 + outSlope: -.23435019 + tangentMode: 0 + - time: 2.21666527 + value: -.636977911 + inSlope: -.233341679 + outSlope: -.233341679 + tangentMode: 0 + - time: 2.23333192 + value: -.640858531 + inSlope: -.232333168 + outSlope: -.232333168 + tangentMode: 0 + - time: 2.24999857 + value: -.644722342 + inSlope: -.23132287 + outSlope: -.23132287 + tangentMode: 0 + - time: 2.26666522 + value: -.648569286 + inSlope: -.230310783 + outSlope: -.230310783 + tangentMode: 0 + - time: 2.28333187 + value: -.652399361 + inSlope: -.229302272 + outSlope: -.229302272 + tangentMode: 0 + - time: 2.29999852 + value: -.656212687 + inSlope: -.228293762 + outSlope: -.228293762 + tangentMode: 0 + - time: 2.31666517 + value: -.660009146 + inSlope: -.227278098 + outSlope: -.227278098 + tangentMode: 0 + - time: 2.33333182 + value: -.663788617 + inSlope: -.226264209 + outSlope: -.226264209 + tangentMode: 0 + - time: 2.34999847 + value: -.667551279 + inSlope: -.225255698 + outSlope: -.225255698 + tangentMode: 0 + - time: 2.36666512 + value: -.671297133 + inSlope: -.224243611 + outSlope: -.224243611 + tangentMode: 0 + - time: 2.38333178 + value: -.675026059 + inSlope: -.22322616 + outSlope: -.22322616 + tangentMode: 0 + - time: 2.39999843 + value: -.678737998 + inSlope: -.22220692 + outSlope: -.22220692 + tangentMode: 0 + - time: 2.41666508 + value: -.68243295 + inSlope: -.221193045 + outSlope: -.221193045 + tangentMode: 0 + - time: 2.43333173 + value: -.686111093 + inSlope: -.220177382 + outSlope: -.220177382 + tangentMode: 0 + - time: 2.44999838 + value: -.689772189 + inSlope: -.219154567 + outSlope: -.219154567 + tangentMode: 0 + - time: 2.46666503 + value: -.693416238 + inSlope: -.218137115 + outSlope: -.218137115 + tangentMode: 0 + - time: 2.48333168 + value: -.697043419 + inSlope: -.217116088 + outSlope: -.217116088 + tangentMode: 0 + - time: 2.49999833 + value: -.700653434 + inSlope: -.216050357 + outSlope: -.216050357 + tangentMode: 0 + - time: 2.51666498 + value: -.70424509 + inSlope: -.214918464 + outSlope: -.214918464 + tangentMode: 0 + - time: 2.53333163 + value: -.707817376 + inSlope: -.213743657 + outSlope: -.213743657 + tangentMode: 0 + - time: 2.54999828 + value: -.711369872 + inSlope: -.212568849 + outSlope: -.212568849 + tangentMode: 0 + - time: 2.56666493 + value: -.714902997 + inSlope: -.211402982 + outSlope: -.211402982 + tangentMode: 0 + - time: 2.58333158 + value: -.718416631 + inSlope: -.210233524 + outSlope: -.210233524 + tangentMode: 0 + - time: 2.59999824 + value: -.721910775 + inSlope: -.209071234 + outSlope: -.209071234 + tangentMode: 0 + - time: 2.61666489 + value: -.725385666 + inSlope: -.207903579 + outSlope: -.207903579 + tangentMode: 0 + - time: 2.63333154 + value: -.728840888 + inSlope: -.206725195 + outSlope: -.206725195 + tangentMode: 0 + - time: 2.64999819 + value: -.732276499 + inSlope: -.205553964 + outSlope: -.205553964 + tangentMode: 0 + - time: 2.66666484 + value: -.73569268 + inSlope: -.204384521 + outSlope: -.204384521 + tangentMode: 0 + - time: 2.68333149 + value: -.73908931 + inSlope: -.203202561 + outSlope: -.203202561 + tangentMode: 0 + - time: 2.69999814 + value: -.742466092 + inSlope: -.202015236 + outSlope: -.202015236 + tangentMode: 0 + - time: 2.71666479 + value: -.745823145 + inSlope: -.2008297 + outSlope: -.2008297 + tangentMode: 0 + - time: 2.73333144 + value: -.749160409 + inSlope: -.199631646 + outSlope: -.199631646 + tangentMode: 0 + - time: 2.74999809 + value: -.752477527 + inSlope: -.198422864 + outSlope: -.198422864 + tangentMode: 0 + - time: 2.76666474 + value: -.755774498 + inSlope: -.19721587 + outSlope: -.19721587 + tangentMode: 0 + - time: 2.78333139 + value: -.759051383 + inSlope: -.196001723 + outSlope: -.196001723 + tangentMode: 0 + - time: 2.79999804 + value: -.762307882 + inSlope: -.194776833 + outSlope: -.194776833 + tangentMode: 0 + - time: 2.8166647 + value: -.765543938 + inSlope: -.193539441 + outSlope: -.193539441 + tangentMode: 0 + - time: 2.83333135 + value: -.768759191 + inSlope: -.192298472 + outSlope: -.192298472 + tangentMode: 0 + - time: 2.849998 + value: -.771953881 + inSlope: -.191048563 + outSlope: -.191048563 + tangentMode: 0 + - time: 2.86666465 + value: -.77512747 + inSlope: -.18978256 + outSlope: -.18978256 + tangentMode: 0 + - time: 2.8833313 + value: -.77827996 + inSlope: -.188509405 + outSlope: -.188509405 + tangentMode: 0 + - time: 2.89999795 + value: -.781411111 + inSlope: -.187225521 + outSlope: -.187225521 + tangentMode: 0 + - time: 2.9166646 + value: -.784520805 + inSlope: -.185934484 + outSlope: -.185934484 + tangentMode: 0 + - time: 2.93333125 + value: -.787608922 + inSlope: -.184629142 + outSlope: -.184629142 + tangentMode: 0 + - time: 2.9499979 + value: -.790675104 + inSlope: -.18331486 + outSlope: -.18331486 + tangentMode: 0 + - time: 2.96666455 + value: -.793719411 + inSlope: -.18198806 + outSlope: -.18198806 + tangentMode: 0 + - time: 2.9833312 + value: -.796741366 + inSlope: -.180650532 + outSlope: -.180650532 + tangentMode: 0 + - time: 2.99999785 + value: -.799741089 + inSlope: -.179304063 + outSlope: -.179304063 + tangentMode: 0 + - time: 3.01666451 + value: -.802718163 + inSlope: -.177941486 + outSlope: -.177941486 + tangentMode: 0 + - time: 3.03333116 + value: -.805672467 + inSlope: -.176568195 + outSlope: -.176568195 + tangentMode: 0 + - time: 3.04999781 + value: -.808603764 + inSlope: -.175184175 + outSlope: -.175184175 + tangentMode: 0 + - time: 3.06666446 + value: -.811511934 + inSlope: -.173789427 + outSlope: -.173789427 + tangentMode: 0 + - time: 3.08333111 + value: -.814396739 + inSlope: -.172383949 + outSlope: -.172383949 + tangentMode: 0 + - time: 3.09999776 + value: -.81725806 + inSlope: -.170967743 + outSlope: -.170967743 + tangentMode: 0 + - time: 3.11666441 + value: -.820095658 + inSlope: -.169535443 + outSlope: -.169535443 + tangentMode: 0 + - time: 3.13333106 + value: -.822909236 + inSlope: -.168092415 + outSlope: -.168092415 + tangentMode: 0 + - time: 3.14999771 + value: -.825698733 + inSlope: -.166642234 + outSlope: -.166642234 + tangentMode: 0 + - time: 3.16666436 + value: -.828463972 + inSlope: -.165181324 + outSlope: -.165181324 + tangentMode: 0 + - time: 3.18333101 + value: -.831204772 + inSlope: -.163704306 + outSlope: -.163704306 + tangentMode: 0 + - time: 3.19999766 + value: -.833920777 + inSlope: -.16222015 + outSlope: -.16222015 + tangentMode: 0 + - time: 3.21666431 + value: -.836612105 + inSlope: -.16073063 + outSlope: -.16073063 + tangentMode: 0 + - time: 3.23333097 + value: -.83927846 + inSlope: -.159223229 + outSlope: -.159223229 + tangentMode: 0 + - time: 3.24999762 + value: -.841919541 + inSlope: -.157710463 + outSlope: -.157710463 + tangentMode: 0 + - time: 3.26666427 + value: -.84453547 + inSlope: -.15618518 + outSlope: -.15618518 + tangentMode: 0 + - time: 3.28333092 + value: -.847125709 + inSlope: -.154649168 + outSlope: -.154649168 + tangentMode: 0 + - time: 3.29999757 + value: -.849690437 + inSlope: -.153113157 + outSlope: -.153113157 + tangentMode: 0 + - time: 3.31666422 + value: -.852229476 + inSlope: -.15156284 + outSlope: -.15156284 + tangentMode: 0 + - time: 3.33333087 + value: -.854742527 + inSlope: -.150003582 + outSlope: -.150003582 + tangentMode: 0 + - time: 3.34999752 + value: -.85722959 + inSlope: -.148437172 + outSlope: -.148437172 + tangentMode: 0 + - time: 3.36666417 + value: -.859690428 + inSlope: -.146861807 + outSlope: -.146861807 + tangentMode: 0 + - time: 3.38333082 + value: -.862124979 + inSlope: -.145284668 + outSlope: -.145284668 + tangentMode: 0 + - time: 3.39999747 + value: -.864533246 + inSlope: -.1436968 + outSlope: -.1436968 + tangentMode: 0 + - time: 3.41666412 + value: -.866914868 + inSlope: -.142103568 + outSlope: -.142103568 + tangentMode: 0 + - time: 3.43333077 + value: -.869270027 + inSlope: -.140506759 + outSlope: -.140506759 + tangentMode: 0 + - time: 3.44999743 + value: -.871598423 + inSlope: -.138897434 + outSlope: -.138897434 + tangentMode: 0 + - time: 3.46666408 + value: -.873899937 + inSlope: -.137291685 + outSlope: -.137291685 + tangentMode: 0 + - time: 3.48333073 + value: -.876174808 + inSlope: -.135684147 + outSlope: -.135684147 + tangentMode: 0 + - time: 3.49999738 + value: -.878422737 + inSlope: -.134065881 + outSlope: -.134065881 + tangentMode: 0 + - time: 3.51666403 + value: -.880643666 + inSlope: -.132445812 + outSlope: -.132445812 + tangentMode: 0 + - time: 3.53333068 + value: -.882837594 + inSlope: -.13082397 + outSlope: -.13082397 + tangentMode: 0 + - time: 3.54999733 + value: -.885004461 + inSlope: -.129202127 + outSlope: -.129202127 + tangentMode: 0 + - time: 3.56666398 + value: -.887144327 + inSlope: -.127576709 + outSlope: -.127576709 + tangentMode: 0 + - time: 3.58333063 + value: -.889257014 + inSlope: -.125947714 + outSlope: -.125947714 + tangentMode: 0 + - time: 3.59999728 + value: -.89134258 + inSlope: -.124318719 + outSlope: -.124318719 + tangentMode: 0 + - time: 3.61666393 + value: -.893400967 + inSlope: -.1226933 + outSlope: -.1226933 + tangentMode: 0 + - time: 3.63333058 + value: -.895432353 + inSlope: -.12106967 + outSlope: -.12106967 + tangentMode: 0 + - time: 3.64999723 + value: -.897436619 + inSlope: -.119442455 + outSlope: -.119442455 + tangentMode: 0 + - time: 3.66666389 + value: -.899413764 + inSlope: -.117817037 + outSlope: -.117817037 + tangentMode: 0 + - time: 3.68333054 + value: -.90136385 + inSlope: -.116193406 + outSlope: -.116193406 + tangentMode: 0 + - time: 3.69999719 + value: -.903286874 + inSlope: -.114576928 + outSlope: -.114576928 + tangentMode: 0 + - time: 3.71666384 + value: -.905183077 + inSlope: -.112962231 + outSlope: -.112962231 + tangentMode: 0 + - time: 3.73333049 + value: -.907052279 + inSlope: -.111347541 + outSlope: -.111347541 + tangentMode: 0 + - time: 3.74999714 + value: -.908894658 + inSlope: -.109738216 + outSlope: -.109738216 + tangentMode: 0 + - time: 3.76666379 + value: -.910710216 + inSlope: -.108130679 + outSlope: -.108130679 + tangentMode: 0 + - time: 3.78333044 + value: -.912499011 + inSlope: -.106537446 + outSlope: -.106537446 + tangentMode: 0 + - time: 3.79999709 + value: -.91426146 + inSlope: -.104946002 + outSlope: -.104946002 + tangentMode: 0 + - time: 3.81666374 + value: -.915997207 + inSlope: -.103354551 + outSlope: -.103354551 + tangentMode: 0 + - time: 3.83333039 + value: -.917706609 + inSlope: -.101777412 + outSlope: -.101777412 + tangentMode: 0 + - time: 3.84999704 + value: -.919389784 + inSlope: -.100207426 + outSlope: -.100207426 + tangentMode: 0 + - time: 3.86666369 + value: -.921046853 + inSlope: -.09864638 + outSlope: -.09864638 + tangentMode: 0 + - time: 3.88333035 + value: -.922677994 + inSlope: -.0970889032 + outSlope: -.0970889032 + tangentMode: 0 + - time: 3.899997 + value: -.924283147 + inSlope: -.0955367982 + outSlope: -.0955367982 + tangentMode: 0 + - time: 3.91666365 + value: -.925862551 + inSlope: -.0939989984 + outSlope: -.0939989984 + tangentMode: 0 + - time: 3.9333303 + value: -.927416444 + inSlope: -.0924719274 + outSlope: -.0924719274 + tangentMode: 0 + - time: 3.94999695 + value: -.928944945 + inSlope: -.090952009 + outSlope: -.090952009 + tangentMode: 0 + - time: 3.9666636 + value: -.930448174 + inSlope: -.0894481838 + outSlope: -.0894481838 + tangentMode: 0 + - time: 3.98333025 + value: -.931926548 + inSlope: -.0879515037 + outSlope: -.0879515037 + tangentMode: 0 + - time: 3.9999969 + value: -.933379889 + inSlope: -.0864637718 + outSlope: -.0864637718 + tangentMode: 0 + - time: 4.01666355 + value: -.934808671 + inSlope: -.0849897414 + outSlope: -.0849897414 + tangentMode: 0 + - time: 4.03333044 + value: -.936212897 + inSlope: -.0835228711 + outSlope: -.0835228711 + tangentMode: 0 + - time: 4.04999733 + value: -.937592804 + inSlope: -.0820745006 + outSlope: -.0820745006 + tangentMode: 0 + - time: 4.06666422 + value: -.93894875 + inSlope: -.0806368589 + outSlope: -.0806368589 + tangentMode: 0 + - time: 4.08333111 + value: -.940280735 + inSlope: -.0792099386 + outSlope: -.0792099386 + tangentMode: 0 + - time: 4.099998 + value: -.941589117 + inSlope: -.0778008997 + outSlope: -.0778008997 + tangentMode: 0 + - time: 4.11666489 + value: -.942874134 + inSlope: -.0764025971 + outSlope: -.0764025971 + tangentMode: 0 + - time: 4.13333178 + value: -.944135904 + inSlope: -.0750168115 + outSlope: -.0750168115 + tangentMode: 0 + - time: 4.14999866 + value: -.945374727 + inSlope: -.0736435354 + outSlope: -.0736435354 + tangentMode: 0 + - time: 4.16666555 + value: -.946590722 + inSlope: -.0722845644 + outSlope: -.0722845644 + tangentMode: 0 + - time: 4.18333244 + value: -.947784245 + inSlope: -.0709434822 + outSlope: -.0709434822 + tangentMode: 0 + - time: 4.19999933 + value: -.948955536 + inSlope: -.0696113333 + outSlope: -.0696113333 + tangentMode: 0 + - time: 4.21666622 + value: -.950104654 + inSlope: -.0682952851 + outSlope: -.0682952851 + tangentMode: 0 + - time: 4.23333311 + value: -.951232076 + inSlope: -.066998899 + outSlope: -.066998899 + tangentMode: 0 + - time: 4.25 + value: -.95233798 + inSlope: -.0657114536 + outSlope: -.0657114536 + tangentMode: 0 + - time: 4.26666689 + value: -.953422487 + inSlope: -.0644365251 + outSlope: -.0644365251 + tangentMode: 0 + - time: 4.28333378 + value: -.954485893 + inSlope: -.0631830618 + outSlope: -.0631830618 + tangentMode: 0 + - time: 4.30000067 + value: -.955528617 + inSlope: -.061942108 + outSlope: -.061942108 + tangentMode: 0 + - time: 4.31666756 + value: -.956550658 + inSlope: -.0607083067 + outSlope: -.0607083067 + tangentMode: 0 + - time: 4.33333445 + value: -.957552254 + inSlope: -.0594941787 + outSlope: -.0594941787 + tangentMode: 0 + - time: 4.35000134 + value: -.958533823 + inSlope: -.0582961403 + outSlope: -.0582961403 + tangentMode: 0 + - time: 4.36666822 + value: -.959495485 + inSlope: -.0571070425 + outSlope: -.0571070425 + tangentMode: 0 + - time: 4.38333511 + value: -.960437417 + inSlope: -.0559322536 + outSlope: -.0559322536 + tangentMode: 0 + - time: 4.400002 + value: -.961359918 + inSlope: -.0547735542 + outSlope: -.0547735542 + tangentMode: 0 + - time: 4.41666889 + value: -.962263227 + inSlope: -.0536309481 + outSlope: -.0536309481 + tangentMode: 0 + - time: 4.43333578 + value: -.96314764 + inSlope: -.0524954945 + outSlope: -.0524954945 + tangentMode: 0 + - time: 4.45000267 + value: -.9640131 + inSlope: -.0513779223 + outSlope: -.0513779223 + tangentMode: 0 + - time: 4.46666956 + value: -.96486026 + inSlope: -.0502728671 + outSlope: -.0502728671 + tangentMode: 0 + - time: 4.48333645 + value: -.965688884 + inSlope: -.0491696 + outSlope: -.0491696 + tangentMode: 0 + - time: 4.50000334 + value: -.966499269 + inSlope: -.0480877906 + outSlope: -.0480877906 + tangentMode: 0 + - time: 4.51667023 + value: -.967291832 + inSlope: -.04701671 + outSlope: -.04701671 + tangentMode: 0 + - time: 4.53333712 + value: -.968066514 + inSlope: -.0459527783 + outSlope: -.0459527783 + tangentMode: 0 + - time: 4.55000401 + value: -.968823612 + inSlope: -.0449013673 + outSlope: -.0449013673 + tangentMode: 0 + - time: 4.56667089 + value: -.969563246 + inSlope: -.0438606851 + outSlope: -.0438606851 + tangentMode: 0 + - time: 4.58333778 + value: -.970285654 + inSlope: -.0428271517 + outSlope: -.0428271517 + tangentMode: 0 + - time: 4.60000467 + value: -.970990837 + inSlope: -.0417989865 + outSlope: -.0417989865 + tangentMode: 0 + - time: 4.61667156 + value: -.971678972 + inSlope: -.040779762 + outSlope: -.040779762 + tangentMode: 0 + - time: 4.63333845 + value: -.97235018 + inSlope: -.0397730544 + outSlope: -.0397730544 + tangentMode: 0 + - time: 4.65000534 + value: -.973004758 + inSlope: -.0387681313 + outSlope: -.0387681313 + tangentMode: 0 + - time: 4.66667223 + value: -.973642468 + inSlope: -.0377685726 + outSlope: -.0377685726 + tangentMode: 0 + - time: 4.68333912 + value: -.974263728 + inSlope: -.036774382 + outSlope: -.036774382 + tangentMode: 0 + - time: 4.70000601 + value: -.974868298 + inSlope: -.0357837677 + outSlope: -.0357837677 + tangentMode: 0 + - time: 4.7166729 + value: -.975456536 + inSlope: -.0347967297 + outSlope: -.0347967297 + tangentMode: 0 + - time: 4.73333979 + value: -.976028204 + inSlope: -.0338114761 + outSlope: -.0338114761 + tangentMode: 0 + - time: 4.75000668 + value: -.9765836 + inSlope: -.0328297988 + outSlope: -.0328297988 + tangentMode: 0 + - time: 4.76667356 + value: -.977122545 + inSlope: -.0318427607 + outSlope: -.0318427607 + tangentMode: 0 + - time: 4.78334045 + value: -.97764504 + inSlope: -.030857509 + outSlope: -.030857509 + tangentMode: 0 + - time: 4.80000734 + value: -.978151143 + inSlope: -.0298704691 + outSlope: -.0298704691 + tangentMode: 0 + - time: 4.81667423 + value: -.978640735 + inSlope: -.028879853 + outSlope: -.028879853 + tangentMode: 0 + - time: 4.83334112 + value: -.979113817 + inSlope: -.0278838724 + outSlope: -.0278838724 + tangentMode: 0 + - time: 4.85000801 + value: -.97957021 + inSlope: -.0268861055 + outSlope: -.0268861055 + tangentMode: 0 + - time: 4.8666749 + value: -.980010033 + inSlope: -.0258829705 + outSlope: -.0258829705 + tangentMode: 0 + - time: 4.88334179 + value: -.980432987 + inSlope: -.0248673223 + outSlope: -.0248673223 + tangentMode: 0 + - time: 4.90000868 + value: -.980838954 + inSlope: -.0238409434 + outSlope: -.0238409434 + tangentMode: 0 + - time: 4.91667557 + value: -.981227696 + inSlope: -.0228038356 + outSlope: -.0228038356 + tangentMode: 0 + - time: 4.93334246 + value: -.981599092 + inSlope: -.0217595771 + outSlope: -.0217595771 + tangentMode: 0 + - time: 4.95000935 + value: -.981953025 + inSlope: -.0207028016 + outSlope: -.0207028016 + tangentMode: 0 + - time: 4.96667624 + value: -.982289195 + inSlope: -.0196281429 + outSlope: -.0196281429 + tangentMode: 0 + - time: 4.98334312 + value: -.982607305 + inSlope: -.018539181 + outSlope: -.018539181 + tangentMode: 0 + - time: 5.00001001 + value: -.982907176 + inSlope: -.0174412783 + outSlope: -.0174412783 + tangentMode: 0 + - time: 5.0166769 + value: -.983188689 + inSlope: -.0163254943 + outSlope: -.0163254943 + tangentMode: 0 + - time: 5.03334379 + value: -.983451366 + inSlope: -.0151739474 + outSlope: -.0151739474 + tangentMode: 0 + - time: 5.05001068 + value: -.983694494 + inSlope: -.0139580294 + outSlope: -.0139580294 + tangentMode: 0 + - time: 5.06667757 + value: -.98391664 + inSlope: -.0126741622 + outSlope: -.0126741622 + tangentMode: 0 + - time: 5.08334446 + value: -.984116971 + inSlope: -.0113330763 + outSlope: -.0113330763 + tangentMode: 0 + - time: 5.10001135 + value: -.984294415 + inSlope: -.00992582925 + outSlope: -.00992582925 + tangentMode: 0 + - time: 5.11667824 + value: -.984447837 + inSlope: -.00845599826 + outSlope: -.00845599826 + tangentMode: 0 + - time: 5.13334513 + value: -.984576285 + inSlope: -.00692537148 + outSlope: -.00692537148 + tangentMode: 0 + - time: 5.15001202 + value: -.984678686 + inSlope: -.00533394841 + outSlope: -.00533394841 + tangentMode: 0 + - time: 5.16667891 + value: -.984754086 + inSlope: -.00367457722 + outSlope: -.00367457722 + tangentMode: 0 + - time: 5.18334579 + value: -.984801173 + inSlope: -.00195441023 + outSlope: -.00195441023 + tangentMode: 0 + - time: 5.20001268 + value: -.984819233 + inSlope: -.000175235327 + outSlope: -.000175235327 + tangentMode: 0 + - time: 5.21667957 + value: -.984807014 + inSlope: .00167009991 + outSlope: .00167009991 + tangentMode: 0 + - time: 5.23334646 + value: -.984763563 + inSlope: .00357086677 + outSlope: .00357086677 + tangentMode: 0 + - time: 5.25001335 + value: -.984687984 + inSlope: .00553421769 + outSlope: .00553421769 + tangentMode: 0 + - time: 5.26668024 + value: -.984579086 + inSlope: .00756015256 + outSlope: .00756015256 + tangentMode: 0 + - time: 5.28334713 + value: -.984435976 + inSlope: .00963794254 + outSlope: .00963794254 + tangentMode: 0 + - time: 5.30001402 + value: -.984257817 + inSlope: .0117747411 + outSlope: .0117747411 + tangentMode: 0 + - time: 5.31668091 + value: -.984043479 + inSlope: .0139723346 + outSlope: .0139723346 + tangentMode: 0 + - time: 5.3333478 + value: -.983792067 + inSlope: .0162199959 + outSlope: .0162199959 + tangentMode: 0 + - time: 5.35001469 + value: -.983502805 + inSlope: .0185195133 + outSlope: .0185195133 + tangentMode: 0 + - time: 5.36668158 + value: -.983174741 + inSlope: .0208780356 + outSlope: .0208780356 + tangentMode: 0 + - time: 5.38334846 + value: -.982806861 + inSlope: .0232866276 + outSlope: .0232866276 + tangentMode: 0 + - time: 5.40001535 + value: -.98239851 + inSlope: .0257363468 + outSlope: .0257363468 + tangentMode: 0 + - time: 5.41668224 + value: -.981948972 + inSlope: .0282414965 + outSlope: .0282414965 + tangentMode: 0 + - time: 5.43334913 + value: -.981457114 + inSlope: .0307949241 + outSlope: .0307949241 + tangentMode: 0 + - time: 5.45001602 + value: -.980922461 + inSlope: .0333859026 + outSlope: .0333859026 + tangentMode: 0 + - time: 5.46668291 + value: -.980344236 + inSlope: .0360251628 + outSlope: .0360251628 + tangentMode: 0 + - time: 5.4833498 + value: -.979721606 + inSlope: .0387073345 + outSlope: .0387073345 + tangentMode: 0 + - time: 5.50001669 + value: -.979053974 + inSlope: .0414234847 + outSlope: .0414234847 + tangentMode: 0 + - time: 5.51668358 + value: -.978340805 + inSlope: .0441789702 + outSlope: .0441789702 + tangentMode: 0 + - time: 5.53335047 + value: -.977581322 + inSlope: .0469684303 + outSlope: .0469684303 + tangentMode: 0 + - time: 5.55001736 + value: -.976775169 + inSlope: .0497936532 + outSlope: .0497936532 + tangentMode: 0 + - time: 5.56668425 + value: -.975921512 + inSlope: .052652847 + outSlope: .052652847 + tangentMode: 0 + - time: 5.58335114 + value: -.975020051 + inSlope: .0555388667 + outSlope: .0555388667 + tangentMode: 0 + - time: 5.60001802 + value: -.974070191 + inSlope: .0584499165 + outSlope: .0584499165 + tangentMode: 0 + - time: 5.61668491 + value: -.973071694 + inSlope: .0613877922 + outSlope: .0613877922 + tangentMode: 0 + - time: 5.6333518 + value: -.972023904 + inSlope: .0643524826 + outSlope: .0643524826 + tangentMode: 0 + - time: 5.65001869 + value: -.970926583 + inSlope: .0673314929 + outSlope: .0673314929 + tangentMode: 0 + - time: 5.66668558 + value: -.969779491 + inSlope: .0703337342 + outSlope: .0703337342 + tangentMode: 0 + - time: 5.68335247 + value: -.968582094 + inSlope: .0733538568 + outSlope: .0733538568 + tangentMode: 0 + - time: 5.70001936 + value: -.96733433 + inSlope: .0763847157 + outSlope: .0763847157 + tangentMode: 0 + - time: 5.71668625 + value: -.966035903 + inSlope: .0794263035 + outSlope: .0794263035 + tangentMode: 0 + - time: 5.73335314 + value: -.964686751 + inSlope: .0824821889 + outSlope: .0824821889 + tangentMode: 0 + - time: 5.75002003 + value: -.963286459 + inSlope: .0855470151 + outSlope: .0855470151 + tangentMode: 0 + - time: 5.76668692 + value: -.961835146 + inSlope: .0886154249 + outSlope: .0886154249 + tangentMode: 0 + - time: 5.78335381 + value: -.960332572 + inSlope: .0916820467 + outSlope: .0916820467 + tangentMode: 0 + - time: 5.80002069 + value: -.958779037 + inSlope: .0947504491 + outSlope: .0947504491 + tangentMode: 0 + - time: 5.81668758 + value: -.957174182 + inSlope: .0978224277 + outSlope: .0978224277 + tangentMode: 0 + - time: 5.83335447 + value: -.955518246 + inSlope: .100887261 + outSlope: .100887261 + tangentMode: 0 + - time: 5.85002136 + value: -.953811228 + inSlope: .103948519 + outSlope: .103948519 + tangentMode: 0 + - time: 5.86668825 + value: -.952053249 + inSlope: .107004404 + outSlope: .107004404 + tangentMode: 0 + - time: 5.88335514 + value: -.950244367 + inSlope: .110045992 + outSlope: .110045992 + tangentMode: 0 + - time: 5.90002203 + value: -.948385 + inSlope: .113075063 + outSlope: .113075063 + tangentMode: 0 + - time: 5.91668892 + value: -.946475148 + inSlope: .116088033 + outSlope: .116088033 + tangentMode: 0 + - time: 5.93335581 + value: -.944515347 + inSlope: .11908491 + outSlope: .11908491 + tangentMode: 0 + - time: 5.9500227 + value: -.942505598 + inSlope: .122069284 + outSlope: .122069284 + tangentMode: 0 + - time: 5.96668959 + value: -.940446317 + inSlope: .12502861 + outSlope: .12502861 + tangentMode: 0 + - time: 5.98335648 + value: -.938337922 + inSlope: .127964705 + outSlope: .127964705 + tangentMode: 0 + - time: 6.00002337 + value: -.93618077 + inSlope: .130879313 + outSlope: .130879313 + tangentMode: 0 + - time: 6.01669025 + value: -.93397522 + inSlope: .13376534 + outSlope: .13376534 + tangentMode: 0 + - time: 6.03335714 + value: -.931721866 + inSlope: .136624545 + outSlope: .136624545 + tangentMode: 0 + - time: 6.05002403 + value: -.929421008 + inSlope: .139451548 + outSlope: .139451548 + tangentMode: 0 + - time: 6.06669092 + value: -.927073419 + inSlope: .142246366 + outSlope: .142246366 + tangentMode: 0 + - time: 6.08335781 + value: -.924679399 + inSlope: .145014375 + outSlope: .145014375 + tangentMode: 0 + - time: 6.1000247 + value: -.922239542 + inSlope: .147743046 + outSlope: .147743046 + tangentMode: 0 + - time: 6.11669159 + value: -.919754565 + inSlope: .150430575 + outSlope: .150430575 + tangentMode: 0 + - time: 6.13335848 + value: -.917225122 + inSlope: .153084144 + outSlope: .153084144 + tangentMode: 0 + - time: 6.15002537 + value: -.914651692 + inSlope: .155701935 + outSlope: .155701935 + tangentMode: 0 + - time: 6.16669226 + value: -.912034988 + inSlope: .158278614 + outSlope: .158278614 + tangentMode: 0 + - time: 6.18335915 + value: -.909375668 + inSlope: .160808802 + outSlope: .160808802 + tangentMode: 0 + - time: 6.20002604 + value: -.906674623 + inSlope: .163290709 + outSlope: .163290709 + tangentMode: 0 + - time: 6.21669292 + value: -.903932571 + inSlope: .165733278 + outSlope: .165733278 + tangentMode: 0 + - time: 6.23335981 + value: -.901150107 + inSlope: .168132916 + outSlope: .168132916 + tangentMode: 0 + - time: 6.2500267 + value: -.898328066 + inSlope: .170482501 + outSlope: .170482501 + tangentMode: 0 + - time: 6.26669359 + value: -.895467281 + inSlope: .172785595 + outSlope: .172785595 + tangentMode: 0 + - time: 6.28336048 + value: -.892568469 + inSlope: .175040409 + outSlope: .175040409 + tangentMode: 0 + - time: 6.30002737 + value: -.889632523 + inSlope: .177245155 + outSlope: .177245155 + tangentMode: 0 + - time: 6.31669426 + value: -.886660218 + inSlope: .179392681 + outSlope: .179392681 + tangentMode: 0 + - time: 6.33336115 + value: -.883652687 + inSlope: .181491926 + outSlope: .181491926 + tangentMode: 0 + - time: 6.35002804 + value: -.880610406 + inSlope: .183544695 + outSlope: .183544695 + tangentMode: 0 + - time: 6.36669493 + value: -.877534449 + inSlope: .185543805 + outSlope: .185543805 + tangentMode: 0 + - time: 6.38336182 + value: -.87442553 + inSlope: .187494636 + outSlope: .187494636 + tangentMode: 0 + - time: 6.40002871 + value: -.871284544 + inSlope: .189384669 + outSlope: .189384669 + tangentMode: 0 + - time: 6.41669559 + value: -.868112624 + inSlope: .191217482 + outSlope: .191217482 + tangentMode: 0 + - time: 6.43336248 + value: -.864910543 + inSlope: .193000242 + outSlope: .193000242 + tangentMode: 0 + - time: 6.45002937 + value: -.861679196 + inSlope: .194731146 + outSlope: .194731146 + tangentMode: 0 + - time: 6.46669626 + value: -.858419418 + inSlope: .196410179 + outSlope: .196410179 + tangentMode: 0 + - time: 6.48336315 + value: -.855132103 + inSlope: .198031992 + outSlope: .198031992 + tangentMode: 0 + - time: 6.50003004 + value: -.851818264 + inSlope: .199598387 + outSlope: .199598387 + tangentMode: 0 + - time: 6.51669693 + value: -.848478734 + inSlope: .201114714 + outSlope: .201114714 + tangentMode: 0 + - time: 6.53336382 + value: -.84511435 + inSlope: .20257023 + outSlope: .20257023 + tangentMode: 0 + - time: 6.55003071 + value: -.841726303 + inSlope: .203977495 + outSlope: .203977495 + tangentMode: 0 + - time: 6.5666976 + value: -.83831501 + inSlope: .205336452 + outSlope: .205336452 + tangentMode: 0 + - time: 6.58336449 + value: -.834881663 + inSlope: .206636399 + outSlope: .206636399 + tangentMode: 0 + - time: 6.60003138 + value: -.831427038 + inSlope: .207880944 + outSlope: .207880944 + tangentMode: 0 + - time: 6.61669827 + value: -.827952206 + inSlope: .209075391 + outSlope: .209075391 + tangentMode: 0 + - time: 6.63336515 + value: -.824457765 + inSlope: .210216224 + outSlope: .210216224 + tangentMode: 0 + - time: 6.65003204 + value: -.820944905 + inSlope: .211310536 + outSlope: .211310536 + tangentMode: 0 + - time: 6.66669893 + value: -.817413986 + inSlope: .212360173 + outSlope: .212360173 + tangentMode: 0 + - time: 6.68336582 + value: -.813866138 + inSlope: .213348985 + outSlope: .213348985 + tangentMode: 0 + - time: 6.70003271 + value: -.810302258 + inSlope: .214291334 + outSlope: .214291334 + tangentMode: 0 + - time: 6.7166996 + value: -.806722999 + inSlope: .215190768 + outSlope: .215190768 + tangentMode: 0 + - time: 6.73336649 + value: -.803129137 + inSlope: .216041893 + outSlope: .216041893 + tangentMode: 0 + - time: 6.75003338 + value: -.799521506 + inSlope: .216841191 + outSlope: .216841191 + tangentMode: 0 + - time: 6.76670027 + value: -.795901 + inSlope: .217599347 + outSlope: .217599347 + tangentMode: 0 + - time: 6.78336716 + value: -.792268097 + inSlope: .218316376 + outSlope: .218316376 + tangentMode: 0 + - time: 6.80003405 + value: -.788623691 + inSlope: .218988717 + outSlope: .218988717 + tangentMode: 0 + - time: 6.81670094 + value: -.784968376 + inSlope: .219618127 + outSlope: .219618127 + tangentMode: 0 + - time: 6.83336782 + value: -.781302989 + inSlope: .220204622 + outSlope: .220204622 + tangentMode: 0 + - time: 6.85003471 + value: -.777628124 + inSlope: .220750004 + outSlope: .220750004 + tangentMode: 0 + - time: 6.8667016 + value: -.773944557 + inSlope: .221259624 + outSlope: .221259624 + tangentMode: 0 + - time: 6.88336849 + value: -.770252705 + inSlope: .221738845 + outSlope: .221738845 + tangentMode: 0 + - time: 6.90003538 + value: -.766553164 + inSlope: .222176924 + outSlope: .222176924 + tangentMode: 0 + - time: 6.91670227 + value: -.762846708 + inSlope: .222577453 + outSlope: .222577453 + tangentMode: 0 + - time: 6.93336916 + value: -.759133816 + inSlope: .222944021 + outSlope: .222944021 + tangentMode: 0 + - time: 6.95003605 + value: -.755415142 + inSlope: .223283768 + outSlope: .223283768 + tangentMode: 0 + - time: 6.96670294 + value: -.751690924 + inSlope: .223591328 + outSlope: .223591328 + tangentMode: 0 + - time: 6.98336983 + value: -.747961998 + inSlope: .223866701 + outSlope: .223866701 + tangentMode: 0 + - time: 7.00003672 + value: -.744228601 + inSlope: .224109873 + outSlope: .224109873 + tangentMode: 0 + - time: 7.01670361 + value: -.740491569 + inSlope: .224335179 + outSlope: .224335179 + tangentMode: 0 + - time: 7.03337049 + value: -.736750662 + inSlope: .224531874 + outSlope: .224531874 + tangentMode: 0 + - time: 7.05003738 + value: -.733007073 + inSlope: .224699959 + outSlope: .224699959 + tangentMode: 0 + - time: 7.06670427 + value: -.729260564 + inSlope: .224853724 + outSlope: .224853724 + tangentMode: 0 + - time: 7.08337116 + value: -.725511849 + inSlope: .224969953 + outSlope: .224969953 + tangentMode: 0 + - time: 7.10003805 + value: -.721761465 + inSlope: .225082606 + outSlope: .225082606 + tangentMode: 0 + - time: 7.11670494 + value: -.718008995 + inSlope: .225170225 + outSlope: .225170225 + tangentMode: 0 + - time: 7.13337183 + value: -.714255691 + inSlope: .225238174 + outSlope: .225238174 + tangentMode: 0 + - time: 7.15003872 + value: -.710500956 + inSlope: .225297183 + outSlope: .225297183 + tangentMode: 0 + - time: 7.16670561 + value: -.706745684 + inSlope: .225331157 + outSlope: .225331157 + tangentMode: 0 + - time: 7.1833725 + value: -.702989817 + inSlope: .225352615 + outSlope: .225352615 + tangentMode: 0 + - time: 7.20003939 + value: -.69923383 + inSlope: .22536692 + outSlope: .22536692 + tangentMode: 0 + - time: 7.21670628 + value: -.695477486 + inSlope: .225374073 + outSlope: .225374073 + tangentMode: 0 + - time: 7.23337317 + value: -.691721261 + inSlope: .22536692 + outSlope: .22536692 + tangentMode: 0 + - time: 7.25004005 + value: -.687965155 + inSlope: .225341886 + outSlope: .225341886 + tangentMode: 0 + - time: 7.26670694 + value: -.684209764 + inSlope: .225306123 + outSlope: .225306123 + tangentMode: 0 + - time: 7.28337383 + value: -.68045485 + inSlope: .225275725 + outSlope: .225275725 + tangentMode: 0 + - time: 7.30004072 + value: -.676700473 + inSlope: .225234598 + outSlope: .225234598 + tangentMode: 0 + - time: 7.31670761 + value: -.67294693 + inSlope: .225189894 + outSlope: .225189894 + tangentMode: 0 + - time: 7.3333745 + value: -.669194043 + inSlope: .225138038 + outSlope: .225138038 + tangentMode: 0 + - time: 7.35004139 + value: -.665442228 + inSlope: .225082606 + outSlope: .225082606 + tangentMode: 0 + - time: 7.36670828 + value: -.661691189 + inSlope: .225028962 + outSlope: .225028962 + tangentMode: 0 + - time: 7.38337517 + value: -.657941163 + inSlope: .224961013 + outSlope: .224961013 + tangentMode: 0 + - time: 7.40004206 + value: -.654192388 + inSlope: .224902004 + outSlope: .224902004 + tangentMode: 0 + - time: 7.41670895 + value: -.650444329 + inSlope: .224846587 + outSlope: .224846587 + tangentMode: 0 + - time: 7.43337584 + value: -.646697402 + inSlope: .224773273 + outSlope: .224773273 + tangentMode: 0 + - time: 7.45004272 + value: -.642951787 + inSlope: .2247089 + outSlope: .2247089 + tangentMode: 0 + - time: 7.46670961 + value: -.639207006 + inSlope: .224653468 + outSlope: .224653468 + tangentMode: 0 + - time: 7.4833765 + value: -.635463238 + inSlope: .224596247 + outSlope: .224596247 + tangentMode: 0 + - time: 7.50004339 + value: -.631720364 + inSlope: .224592671 + outSlope: .224592671 + tangentMode: 0 + - time: 7.51671028 + value: -.627976716 + inSlope: .224710688 + outSlope: .224710688 + tangentMode: 0 + - time: 7.53337717 + value: -.624229908 + inSlope: .22490558 + outSlope: .22490558 + tangentMode: 0 + - time: 7.55004406 + value: -.620479763 + inSlope: .225118369 + outSlope: .225118369 + tangentMode: 0 + - time: 7.56671095 + value: -.616725862 + inSlope: .225347251 + outSlope: .225347251 + tangentMode: 0 + - time: 7.58337784 + value: -.612968087 + inSlope: .225590438 + outSlope: .225590438 + tangentMode: 0 + - time: 7.60004473 + value: -.60920608 + inSlope: .22584793 + outSlope: .22584793 + tangentMode: 0 + - time: 7.61671162 + value: -.605439723 + inSlope: .226125091 + outSlope: .226125091 + tangentMode: 0 + - time: 7.63337851 + value: -.601668477 + inSlope: .226412967 + outSlope: .226412967 + tangentMode: 0 + - time: 7.65004539 + value: -.597892523 + inSlope: .22670801 + outSlope: .22670801 + tangentMode: 0 + - time: 7.66671228 + value: -.594111443 + inSlope: .227031648 + outSlope: .227031648 + tangentMode: 0 + - time: 7.68337917 + value: -.5903247 + inSlope: .227364242 + outSlope: .227364242 + tangentMode: 0 + - time: 7.70004606 + value: -.586532533 + inSlope: .2277022 + outSlope: .2277022 + tangentMode: 0 + - time: 7.71671295 + value: -.582734525 + inSlope: .22805804 + outSlope: .22805804 + tangentMode: 0 + - time: 7.73337984 + value: -.578930497 + inSlope: .22842817 + outSlope: .22842817 + tangentMode: 0 + - time: 7.75004673 + value: -.575120151 + inSlope: .228809044 + outSlope: .228809044 + tangentMode: 0 + - time: 7.76671362 + value: -.571303427 + inSlope: .229193479 + outSlope: .229193479 + tangentMode: 0 + - time: 7.78338051 + value: -.567480266 + inSlope: .229601175 + outSlope: .229601175 + tangentMode: 0 + - time: 7.8000474 + value: -.563649952 + inSlope: .230014235 + outSlope: .230014235 + tangentMode: 0 + - time: 7.81671429 + value: -.559813023 + inSlope: .230425507 + outSlope: .230425507 + tangentMode: 0 + - time: 7.83338118 + value: -.555969 + inSlope: .230856434 + outSlope: .230856434 + tangentMode: 0 + - time: 7.85004807 + value: -.552117705 + inSlope: .231303468 + outSlope: .231303468 + tangentMode: 0 + - time: 7.86671495 + value: -.548258781 + inSlope: .231757641 + outSlope: .231757641 + tangentMode: 0 + - time: 7.88338184 + value: -.544392347 + inSlope: .232206464 + outSlope: .232206464 + tangentMode: 0 + - time: 7.90004873 + value: -.540518463 + inSlope: .232664227 + outSlope: .232664227 + tangentMode: 0 + - time: 7.91671562 + value: -.53663677 + inSlope: .233134493 + outSlope: .233134493 + tangentMode: 0 + - time: 7.93338251 + value: -.532747209 + inSlope: .233617276 + outSlope: .233617276 + tangentMode: 0 + - time: 7.9500494 + value: -.528849423 + inSlope: .23410365 + outSlope: .23410365 + tangentMode: 0 + - time: 7.96671629 + value: -.52494365 + inSlope: .234584659 + outSlope: .234584659 + tangentMode: 0 + - time: 7.98338318 + value: -.52102983 + inSlope: .235074401 + outSlope: .235074401 + tangentMode: 0 + - time: 8.00004959 + value: -.517107844 + inSlope: .235564128 + outSlope: .235564128 + tangentMode: 0 + - time: 8.016716 + value: -.513177812 + inSlope: .236063033 + outSlope: .236063033 + tangentMode: 0 + - time: 8.03338242 + value: -.509239197 + inSlope: .236574441 + outSlope: .236574441 + tangentMode: 0 + - time: 8.05004883 + value: -.505292118 + inSlope: .237075135 + outSlope: .237075135 + tangentMode: 0 + - time: 8.06671524 + value: -.501336813 + inSlope: .237582982 + outSlope: .237582982 + tangentMode: 0 + - time: 8.08338165 + value: -.497372806 + inSlope: .238097966 + outSlope: .238097966 + tangentMode: 0 + - time: 8.10004807 + value: -.493400335 + inSlope: .238605797 + outSlope: .238605797 + tangentMode: 0 + - time: 8.11671448 + value: -.489419401 + inSlope: .239110067 + outSlope: .239110067 + tangentMode: 0 + - time: 8.13338089 + value: -.485430121 + inSlope: .239627749 + outSlope: .239627749 + tangentMode: 0 + - time: 8.1500473 + value: -.481431931 + inSlope: .240138263 + outSlope: .240138263 + tangentMode: 0 + - time: 8.16671371 + value: -.477425635 + inSlope: .24064967 + outSlope: .24064967 + tangentMode: 0 + - time: 8.18338013 + value: -.473410398 + inSlope: .241167352 + outSlope: .241167352 + tangentMode: 0 + - time: 8.20004654 + value: -.469386846 + inSlope: .241665363 + outSlope: .241665363 + tangentMode: 0 + - time: 8.21671295 + value: -.465355009 + inSlope: .242174089 + outSlope: .242174089 + tangentMode: 0 + - time: 8.23337936 + value: -.461314499 + inSlope: .242686391 + outSlope: .242686391 + tangentMode: 0 + - time: 8.25004578 + value: -.457265586 + inSlope: .243185297 + outSlope: .243185297 + tangentMode: 0 + - time: 8.26671219 + value: -.453208447 + inSlope: .243686885 + outSlope: .243686885 + tangentMode: 0 + - time: 8.2833786 + value: -.449142814 + inSlope: .244177729 + outSlope: .244177729 + tangentMode: 0 + - time: 8.30004501 + value: -.445069313 + inSlope: .244666785 + outSlope: .244666785 + tangentMode: 0 + - time: 8.31671143 + value: -.440987378 + inSlope: .245167479 + outSlope: .245167479 + tangentMode: 0 + - time: 8.33337784 + value: -.436897188 + inSlope: .245649397 + outSlope: .245649397 + tangentMode: 0 + - time: 8.35004425 + value: -.43279919 + inSlope: .246131301 + outSlope: .246131301 + tangentMode: 0 + - time: 8.36671066 + value: -.428692937 + inSlope: .246605158 + outSlope: .246605158 + tangentMode: 0 + - time: 8.38337708 + value: -.424579144 + inSlope: .247070089 + outSlope: .247070089 + tangentMode: 0 + - time: 8.40004349 + value: -.420457393 + inSlope: .247531444 + outSlope: .247531444 + tangentMode: 0 + - time: 8.4167099 + value: -.416328222 + inSlope: .247984737 + outSlope: .247984737 + tangentMode: 0 + - time: 8.43337631 + value: -.412191361 + inSlope: .248448759 + outSlope: .248448759 + tangentMode: 0 + - time: 8.45004272 + value: -.408046722 + inSlope: .248894021 + outSlope: .248894021 + tangentMode: 0 + - time: 8.46670914 + value: -.40389502 + inSlope: .249324977 + outSlope: .249324977 + tangentMode: 0 + - time: 8.48337555 + value: -.399736017 + inSlope: .249762177 + outSlope: .249762177 + tangentMode: 0 + - time: 8.50004196 + value: -.395569742 + inSlope: .250187755 + outSlope: .250187755 + tangentMode: 0 + - time: 8.51670837 + value: -.391396552 + inSlope: .250594556 + outSlope: .250594556 + tangentMode: 0 + - time: 8.53337479 + value: -.387216717 + inSlope: .251013875 + outSlope: .251013875 + tangentMode: 0 + - time: 8.5500412 + value: -.38302955 + inSlope: .251416236 + outSlope: .251416236 + tangentMode: 0 + - time: 8.56670761 + value: -.378836304 + inSlope: .251805156 + outSlope: .251805156 + tangentMode: 0 + - time: 8.58337402 + value: -.374636173 + inSlope: .252194971 + outSlope: .252194971 + tangentMode: 0 + - time: 8.60004044 + value: -.370429933 + inSlope: .252575845 + outSlope: .252575845 + tangentMode: 0 + - time: 8.61670685 + value: -.366217107 + inSlope: .25295496 + outSlope: .25295496 + tangentMode: 0 + - time: 8.63337326 + value: -.36199823 + inSlope: .253301859 + outSlope: .253301859 + tangentMode: 0 + - time: 8.65003967 + value: -.35777384 + inSlope: .253654122 + outSlope: .253654122 + tangentMode: 0 + - time: 8.66670609 + value: -.353543222 + inSlope: .254009068 + outSlope: .254009068 + tangentMode: 0 + - time: 8.6833725 + value: -.349307001 + inSlope: .25434345 + outSlope: .25434345 + tangentMode: 0 + - time: 8.70003891 + value: -.345065236 + inSlope: .254671574 + outSlope: .254671574 + tangentMode: 0 + - time: 8.71670532 + value: -.340818077 + inSlope: .254988074 + outSlope: .254988074 + tangentMode: 0 + - time: 8.73337173 + value: -.336565763 + inSlope: .255297452 + outSlope: .255297452 + tangentMode: 0 + - time: 8.75003815 + value: -.332308292 + inSlope: .255601436 + outSlope: .255601436 + tangentMode: 0 + - time: 8.76670456 + value: -.328045845 + inSlope: .255901843 + outSlope: .255901843 + tangentMode: 0 + - time: 8.78337097 + value: -.323778361 + inSlope: .256185263 + outSlope: .256185263 + tangentMode: 0 + - time: 8.80003738 + value: -.319506466 + inSlope: .256455272 + outSlope: .256455272 + tangentMode: 0 + - time: 8.8167038 + value: -.315229982 + inSlope: .256726205 + outSlope: .256726205 + tangentMode: 0 + - time: 8.83337021 + value: -.310949057 + inSlope: .25698638 + outSlope: .25698638 + tangentMode: 0 + - time: 8.85003662 + value: -.306663901 + inSlope: .257239401 + outSlope: .257239401 + tangentMode: 0 + - time: 8.86670303 + value: -.302374542 + inSlope: .257484376 + outSlope: .257484376 + tangentMode: 0 + - time: 8.88336945 + value: -.298081219 + inSlope: .257715046 + outSlope: .257715046 + tangentMode: 0 + - time: 8.90003586 + value: -.293784171 + inSlope: .257944822 + outSlope: .257944822 + tangentMode: 0 + - time: 8.91670227 + value: -.28948319 + inSlope: .258166552 + outSlope: .258166552 + tangentMode: 0 + - time: 8.93336868 + value: -.285178751 + inSlope: .258375764 + outSlope: .258375764 + tangentMode: 0 + - time: 8.9500351 + value: -.280870795 + inSlope: .25857693 + outSlope: .25857693 + tangentMode: 0 + - time: 8.96670151 + value: -.276559651 + inSlope: .258777201 + outSlope: .258777201 + tangentMode: 0 + - time: 8.98336792 + value: -.27224502 + inSlope: .258971244 + outSlope: .258971244 + tangentMode: 0 + - time: 9.00003433 + value: -.267927408 + inSlope: .259144694 + outSlope: .259144694 + tangentMode: 0 + - time: 9.01670074 + value: -.263606995 + inSlope: .259311885 + outSlope: .259311885 + tangentMode: 0 + - time: 9.03336716 + value: -.259283811 + inSlope: .259488016 + outSlope: .259488016 + tangentMode: 0 + - time: 9.05003357 + value: -.254957527 + inSlope: .259663254 + outSlope: .259663254 + tangentMode: 0 + - time: 9.06669998 + value: -.250628501 + inSlope: .25981167 + outSlope: .25981167 + tangentMode: 0 + - time: 9.08336639 + value: -.24629727 + inSlope: .25996232 + outSlope: .25996232 + tangentMode: 0 + - time: 9.10003281 + value: -.241963223 + inSlope: .260108054 + outSlope: .260108054 + tangentMode: 0 + - time: 9.11669922 + value: -.237627134 + inSlope: .26024887 + outSlope: .26024887 + tangentMode: 0 + - time: 9.13336563 + value: -.233288392 + inSlope: .260385215 + outSlope: .260385215 + tangentMode: 0 + - time: 9.15003204 + value: -.228947759 + inSlope: .26050368 + outSlope: .26050368 + tangentMode: 0 + - time: 9.16669846 + value: -.224605069 + inSlope: .260631084 + outSlope: .260631084 + tangentMode: 0 + - time: 9.18336487 + value: -.220260188 + inSlope: .260769248 + outSlope: .260769248 + tangentMode: 0 + - time: 9.20003128 + value: -.215912893 + inSlope: .260882795 + outSlope: .260882795 + tangentMode: 0 + - time: 9.21669769 + value: -.211564228 + inSlope: .260993659 + outSlope: .260993659 + tangentMode: 0 + - time: 9.23336411 + value: -.207213238 + inSlope: .261109889 + outSlope: .261109889 + tangentMode: 0 + - time: 9.25003052 + value: -.202860698 + inSlope: .261208236 + outSlope: .261208236 + tangentMode: 0 + - time: 9.26669693 + value: -.19850643 + inSlope: .261319995 + outSlope: .261319995 + tangentMode: 0 + - time: 9.28336334 + value: -.194150165 + inSlope: .261429071 + outSlope: .261429071 + tangentMode: 0 + - time: 9.30002975 + value: -.189792261 + inSlope: .261530548 + outSlope: .261530548 + tangentMode: 0 + - time: 9.31669617 + value: -.185432613 + inSlope: .261632472 + outSlope: .261632472 + tangentMode: 0 + - time: 9.33336258 + value: -.181071311 + inSlope: .261731714 + outSlope: .261731714 + tangentMode: 0 + - time: 9.35002899 + value: -.176708356 + inSlope: .261832297 + outSlope: .261832297 + tangentMode: 0 + - time: 9.3666954 + value: -.172343701 + inSlope: .261940926 + outSlope: .261940926 + tangentMode: 0 + - time: 9.38336182 + value: -.167977124 + inSlope: .26204285 + outSlope: .26204285 + tangentMode: 0 + - time: 9.40002823 + value: -.163609073 + inSlope: .26213941 + outSlope: .26213941 + tangentMode: 0 + - time: 9.41669464 + value: -.159239277 + inSlope: .262251168 + outSlope: .262251168 + tangentMode: 0 + - time: 9.43336105 + value: -.1548675 + inSlope: .262364715 + outSlope: .262364715 + tangentMode: 0 + - time: 9.45002747 + value: -.15049392 + inSlope: .262468427 + outSlope: .262468427 + tangentMode: 0 + - time: 9.46669388 + value: -.146118686 + inSlope: .262567222 + outSlope: .262567222 + tangentMode: 0 + - time: 9.48336029 + value: -.141741812 + inSlope: .262683034 + outSlope: .262683034 + tangentMode: 0 + - time: 9.5000267 + value: -.137362719 + inSlope: .262810886 + outSlope: .262810886 + tangentMode: 0 + - time: 9.51669312 + value: -.132981583 + inSlope: .26292935 + outSlope: .26292935 + tangentMode: 0 + - time: 9.53335953 + value: -.128598541 + inSlope: .263052046 + outSlope: .263052046 + tangentMode: 0 + - time: 9.55002594 + value: -.124213316 + inSlope: .263186634 + outSlope: .263186634 + tangentMode: 0 + - time: 9.56669235 + value: -.119825788 + inSlope: .263320953 + outSlope: .263320953 + tangentMode: 0 + - time: 9.58335876 + value: -.115436085 + inSlope: .263468266 + outSlope: .263468266 + tangentMode: 0 + - time: 9.60002518 + value: -.111043647 + inSlope: .263621807 + outSlope: .263621807 + tangentMode: 0 + - time: 9.61669159 + value: -.106648825 + inSlope: .26376909 + outSlope: .26376909 + tangentMode: 0 + - time: 9.633358 + value: -.102251478 + inSlope: .263930917 + outSlope: .263930917 + tangentMode: 0 + - time: 9.65002441 + value: -.0978512615 + inSlope: .264107734 + outSlope: .264107734 + tangentMode: 0 + - time: 9.66669083 + value: -.0934480205 + inSlope: .264286101 + outSlope: .264286101 + tangentMode: 0 + - time: 9.68335724 + value: -.0890418589 + inSlope: .264473617 + outSlope: .264473617 + tangentMode: 0 + - time: 9.70002365 + value: -.0846323669 + inSlope: .264677703 + outSlope: .264677703 + tangentMode: 0 + - time: 9.71669006 + value: -.0802194029 + inSlope: .264877558 + outSlope: .264877558 + tangentMode: 0 + - time: 9.73335648 + value: -.0758032501 + inSlope: .265088111 + outSlope: .265088111 + tangentMode: 0 + - time: 9.75002289 + value: -.0713832676 + inSlope: .265316308 + outSlope: .265316308 + tangentMode: 0 + - time: 9.7666893 + value: -.0669595078 + inSlope: .265555501 + outSlope: .265555501 + tangentMode: 0 + - time: 9.78335571 + value: -.0625315532 + inSlope: .265806377 + outSlope: .265806377 + tangentMode: 0 + - time: 9.80002213 + value: -.0580994301 + inSlope: .26606971 + outSlope: .26606971 + tangentMode: 0 + - time: 9.81668854 + value: -.0536626987 + inSlope: .266338348 + outSlope: .266338348 + tangentMode: 0 + - time: 9.83335495 + value: -.04922162 + inSlope: .266627252 + outSlope: .266627252 + tangentMode: 0 + - time: 9.85002136 + value: -.0447752587 + inSlope: .266936839 + outSlope: .266936839 + tangentMode: 0 + - time: 9.86668777 + value: -.0403238609 + inSlope: .267238498 + outSlope: .267238498 + tangentMode: 0 + - time: 9.88335419 + value: -.0358674452 + inSlope: .267561376 + outSlope: .267561376 + tangentMode: 0 + - time: 9.9000206 + value: -.031405285 + inSlope: .26790607 + outSlope: .26790607 + tangentMode: 0 + - time: 9.91668701 + value: -.0269373786 + inSlope: .268258572 + outSlope: .268258572 + tangentMode: 0 + - time: 9.93335342 + value: -.0224634688 + inSlope: .268626451 + outSlope: .268626451 + tangentMode: 0 + - time: 9.95001984 + value: -.0179833006 + inSlope: .269009948 + outSlope: .269009948 + tangentMode: 0 + - time: 9.96668625 + value: -.0134966075 + inSlope: .269409478 + outSlope: .269409478 + tangentMode: 0 + - time: 9.98335266 + value: -.00900312234 + inSlope: .26982528 + outSlope: .26982528 + tangentMode: 0 + - time: 10.0000191 + value: -.00450256886 + inSlope: .270262361 + outSlope: .270262361 + tangentMode: 0 + - time: 10.0166664 + value: 3.2584137e-07 + inSlope: .270487368 + outSlope: .270487368 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalRotation.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: -0 + inSlope: .000298674888 + outSlope: .000298674888 + tangentMode: 0 + - time: .0166666675 + value: 4.97791507e-06 + inSlope: .000603437948 + outSlope: .000603437948 + tangentMode: 0 + - time: .0333333351 + value: 2.01145995e-05 + inSlope: .00122189615 + outSlope: .00122189615 + tangentMode: 0 + - time: .0500000045 + value: 4.57077949e-05 + inSlope: .00185795035 + outSlope: .00185795035 + tangentMode: 0 + - time: .0666666701 + value: 8.2046281e-05 + inSlope: .00251106173 + outSlope: .00251106173 + tangentMode: 0 + - time: .0833333358 + value: .000129409847 + inSlope: .0031806929 + outSlope: .0031806929 + tangentMode: 0 + - time: .100000001 + value: .000188069374 + inSlope: .00386629836 + outSlope: .00386629836 + tangentMode: 0 + - time: .116666667 + value: .000258286454 + inSlope: .00456733257 + outSlope: .00456733257 + tangentMode: 0 + - time: .13333334 + value: .000340313825 + inSlope: .00528324535 + outSlope: .00528324535 + tangentMode: 0 + - time: .150000006 + value: .000434394664 + inSlope: .00601349026 + outSlope: .00601349026 + tangentMode: 0 + - time: .166666672 + value: .000540763489 + inSlope: .00675751781 + outSlope: .00675751781 + tangentMode: 0 + - time: .183333337 + value: .000659645244 + inSlope: .00751476595 + outSlope: .00751476595 + tangentMode: 0 + - time: .200000003 + value: .000791255676 + inSlope: .008284688 + outSlope: .008284688 + tangentMode: 0 + - time: .216666669 + value: .000935801479 + inSlope: .00906671397 + outSlope: .00906671397 + tangentMode: 0 + - time: .233333334 + value: .00109347946 + inSlope: .00986028463 + outSlope: .00986028463 + tangentMode: 0 + - time: .25 + value: .00126447761 + inSlope: .010664843 + outSlope: .010664843 + tangentMode: 0 + - time: .266666681 + value: .00144897436 + inSlope: .0114798276 + outSlope: .0114798276 + tangentMode: 0 + - time: .283333361 + value: .00164713885 + inSlope: .0123046758 + outSlope: .0123046758 + tangentMode: 0 + - time: .300000042 + value: .00185913057 + inSlope: .0131388139 + outSlope: .0131388139 + tangentMode: 0 + - time: .316666722 + value: .0020850997 + inSlope: .0139816739 + outSlope: .0139816739 + tangentMode: 0 + - time: .333333403 + value: .00232518674 + inSlope: .0148326736 + outSlope: .0148326736 + tangentMode: 0 + - time: .350000083 + value: .00257952255 + inSlope: .0156912729 + outSlope: .0156912729 + tangentMode: 0 + - time: .366666764 + value: .0028482296 + inSlope: .0165569 + outSlope: .0165569 + tangentMode: 0 + - time: .383333445 + value: .00313141965 + inSlope: .0174289569 + outSlope: .0174289569 + tangentMode: 0 + - time: .400000125 + value: .00342919538 + inSlope: .0183068924 + outSlope: .0183068924 + tangentMode: 0 + - time: .416666806 + value: .00374164991 + inSlope: .0191900861 + outSlope: .0191900861 + tangentMode: 0 + - time: .433333486 + value: .00406886544 + inSlope: .0200780369 + outSlope: .0200780369 + tangentMode: 0 + - time: .450000167 + value: .00441091834 + inSlope: .020970162 + outSlope: .020970162 + tangentMode: 0 + - time: .466666847 + value: .00476787146 + inSlope: .0218658112 + outSlope: .0218658112 + tangentMode: 0 + - time: .483333528 + value: .0051397793 + inSlope: .0227644406 + outSlope: .0227644406 + tangentMode: 0 + - time: .500000179 + value: .00552668609 + inSlope: .0236655436 + outSlope: .0236655436 + tangentMode: 0 + - time: .51666683 + value: .00592863001 + inSlope: .0245685279 + outSlope: .0245685279 + tangentMode: 0 + - time: .53333348 + value: .00634563621 + inSlope: .0254727397 + outSlope: .0254727397 + tangentMode: 0 + - time: .550000131 + value: .00677772053 + inSlope: .0263776649 + outSlope: .0263776649 + tangentMode: 0 + - time: .566666782 + value: .00722489087 + inSlope: .0272827577 + outSlope: .0272827577 + tangentMode: 0 + - time: .583333433 + value: .00768714491 + inSlope: .0281873196 + outSlope: .0281873196 + tangentMode: 0 + - time: .600000083 + value: .00816446729 + inSlope: .0290908758 + outSlope: .0290908758 + tangentMode: 0 + - time: .616666734 + value: .00865683984 + inSlope: .0299929082 + outSlope: .0299929082 + tangentMode: 0 + - time: .633333385 + value: .00916422997 + inSlope: .0308928192 + outSlope: .0308928192 + tangentMode: 0 + - time: .650000036 + value: .00968659949 + inSlope: .0317899622 + outSlope: .0317899622 + tangentMode: 0 + - time: .666666687 + value: .0102238944 + inSlope: .0326836966 + outSlope: .0326836966 + tangentMode: 0 + - time: .683333337 + value: .010776055 + inSlope: .033573661 + outSlope: .033573661 + tangentMode: 0 + - time: .699999988 + value: .0113430154 + inSlope: .0344592929 + outSlope: .0344592929 + tangentMode: 0 + - time: .716666639 + value: .0119246971 + inSlope: .0353398398 + outSlope: .0353398398 + tangentMode: 0 + - time: .73333329 + value: .012521009 + inSlope: .0362147987 + outSlope: .0362147987 + tangentMode: 0 + - time: .74999994 + value: .013131856 + inSlope: .0370837525 + outSlope: .0370837525 + tangentMode: 0 + - time: .766666591 + value: .0137571329 + inSlope: .0379460007 + outSlope: .0379460007 + tangentMode: 0 + - time: .783333242 + value: .0143967215 + inSlope: .0388009027 + outSlope: .0388009027 + tangentMode: 0 + - time: .799999893 + value: .015050495 + inSlope: .0396480598 + outSlope: .0396480598 + tangentMode: 0 + - time: .816666543 + value: .0157183222 + inSlope: .0404869206 + outSlope: .0404869206 + tangentMode: 0 + - time: .833333194 + value: .0164000578 + inSlope: .0413168967 + outSlope: .0413168967 + tangentMode: 0 + - time: .849999845 + value: .0170955509 + inSlope: .0421374887 + outSlope: .0421374887 + tangentMode: 0 + - time: .866666496 + value: .0178046394 + inSlope: .0429479629 + outSlope: .0429479629 + tangentMode: 0 + - time: .883333147 + value: .0185271483 + inSlope: .0437479876 + outSlope: .0437479876 + tangentMode: 0 + - time: .899999797 + value: .0192629043 + inSlope: .04453706 + outSlope: .04453706 + tangentMode: 0 + - time: .916666448 + value: .0200117156 + inSlope: .0453143455 + outSlope: .0453143455 + tangentMode: 0 + - time: .933333099 + value: .020773381 + inSlope: .0460795015 + outSlope: .0460795015 + tangentMode: 0 + - time: .94999975 + value: .0215476975 + inSlope: .0468320847 + outSlope: .0468320847 + tangentMode: 0 + - time: .9666664 + value: .022334449 + inSlope: .0475714244 + outSlope: .0475714244 + tangentMode: 0 + - time: .983333051 + value: .0231334101 + inSlope: .0482968502 + outSlope: .0482968502 + tangentMode: 0 + - time: .999999702 + value: .0239443425 + inSlope: .0490083322 + outSlope: .0490083322 + tangentMode: 0 + - time: 1.01666641 + value: .0247670226 + inSlope: .0497051477 + outSlope: .0497051477 + tangentMode: 0 + - time: 1.03333306 + value: .0256011821 + inSlope: .0503863506 + outSlope: .0503863506 + tangentMode: 0 + - time: 1.04999971 + value: .026446566 + inSlope: .0510519855 + outSlope: .0510519855 + tangentMode: 0 + - time: 1.06666636 + value: .0273029134 + inSlope: .0517012477 + outSlope: .0517012477 + tangentMode: 0 + - time: 1.08333302 + value: .0281699393 + inSlope: .0523334667 + outSlope: .0523334667 + tangentMode: 0 + - time: 1.09999967 + value: .0290473606 + inSlope: .052948758 + outSlope: .052948758 + tangentMode: 0 + - time: 1.11666632 + value: .0299348962 + inSlope: .0535460524 + outSlope: .0535460524 + tangentMode: 0 + - time: 1.13333297 + value: .0308322273 + inSlope: .0541249625 + outSlope: .0541249625 + tangentMode: 0 + - time: 1.14999962 + value: .0317390598 + inSlope: .0546856001 + outSlope: .0546856001 + tangentMode: 0 + - time: 1.16666627 + value: .0326550789 + inSlope: .055226624 + outSlope: .055226624 + tangentMode: 0 + - time: 1.18333292 + value: .0335799456 + inSlope: .0557475314 + outSlope: .0557475314 + tangentMode: 0 + - time: 1.19999957 + value: .0345133282 + inSlope: .0562488809 + outSlope: .0562488809 + tangentMode: 0 + - time: 1.21666622 + value: .0354549065 + inSlope: .0567294434 + outSlope: .0567294434 + tangentMode: 0 + - time: 1.23333287 + value: .0364043079 + inSlope: .0571883284 + outSlope: .0571883284 + tangentMode: 0 + - time: 1.24999952 + value: .0373611823 + inSlope: .0576260872 + outSlope: .0576260872 + tangentMode: 0 + - time: 1.26666617 + value: .0383251756 + inSlope: .0580418296 + outSlope: .0580418296 + tangentMode: 0 + - time: 1.28333282 + value: .0392959081 + inSlope: .0584347732 + outSlope: .0584347732 + tangentMode: 0 + - time: 1.29999948 + value: .0402729996 + inSlope: .0588049181 + outSlope: .0588049181 + tangentMode: 0 + - time: 1.31666613 + value: .0412560701 + inSlope: .0591517054 + outSlope: .0591517054 + tangentMode: 0 + - time: 1.33333278 + value: .0422447212 + inSlope: .0594743527 + outSlope: .0594743527 + tangentMode: 0 + - time: 1.34999943 + value: .0432385467 + inSlope: .0597731955 + outSlope: .0597731955 + tangentMode: 0 + - time: 1.36666608 + value: .0442371592 + inSlope: .0600471161 + outSlope: .0600471161 + tangentMode: 0 + - time: 1.38333273 + value: .0452401154 + inSlope: .0602956675 + outSlope: .0602956675 + tangentMode: 0 + - time: 1.39999938 + value: .0462470129 + inSlope: .0605189651 + outSlope: .0605189651 + tangentMode: 0 + - time: 1.41666603 + value: .0472574122 + inSlope: .0607159957 + outSlope: .0607159957 + tangentMode: 0 + - time: 1.43333268 + value: .0482708775 + inSlope: .0608870983 + outSlope: .0608870983 + tangentMode: 0 + - time: 1.44999933 + value: .0492869802 + inSlope: .0610314906 + outSlope: .0610314906 + tangentMode: 0 + - time: 1.46666598 + value: .0503052585 + inSlope: .0611482784 + outSlope: .0611482784 + tangentMode: 0 + - time: 1.48333263 + value: .0513252541 + inSlope: .0612376854 + outSlope: .0612376854 + tangentMode: 0 + - time: 1.49999928 + value: .0523465127 + inSlope: .0612992644 + outSlope: .0612992644 + tangentMode: 0 + - time: 1.51666594 + value: .053368561 + inSlope: .0613325685 + outSlope: .0613325685 + tangentMode: 0 + - time: 1.53333259 + value: .0543909296 + inSlope: .0613371506 + outSlope: .0613371506 + tangentMode: 0 + - time: 1.54999924 + value: .0554131307 + inSlope: .061312452 + outSlope: .061312452 + tangentMode: 0 + - time: 1.56666589 + value: .0564346761 + inSlope: .0612588078 + outSlope: .0612588078 + tangentMode: 0 + - time: 1.58333254 + value: .0574550889 + inSlope: .061175324 + outSlope: .061175324 + tangentMode: 0 + - time: 1.59999919 + value: .0584738515 + inSlope: .0610612184 + outSlope: .0610612184 + tangentMode: 0 + - time: 1.61666584 + value: .0594904609 + inSlope: .0609169379 + outSlope: .0609169379 + tangentMode: 0 + - time: 1.63333249 + value: .0605044141 + inSlope: .0607419237 + outSlope: .0607419237 + tangentMode: 0 + - time: 1.64999914 + value: .0615151897 + inSlope: .060536176 + outSlope: .060536176 + tangentMode: 0 + - time: 1.66666579 + value: .0625222847 + inSlope: .0602983497 + outSlope: .0602983497 + tangentMode: 0 + - time: 1.68333244 + value: .0635251328 + inSlope: .0600285642 + outSlope: .0600285642 + tangentMode: 0 + - time: 1.69999909 + value: .064523235 + inSlope: .0597270392 + outSlope: .0597270392 + tangentMode: 0 + - time: 1.71666574 + value: .0655160323 + inSlope: .0593926571 + outSlope: .0593926571 + tangentMode: 0 + - time: 1.7333324 + value: .0665029883 + inSlope: .0590267591 + outSlope: .0590267591 + tangentMode: 0 + - time: 1.74999905 + value: .0674835891 + inSlope: .05862711 + outSlope: .05862711 + tangentMode: 0 + - time: 1.7666657 + value: .0684572235 + inSlope: .0581934862 + outSlope: .0581934862 + tangentMode: 0 + - time: 1.78333235 + value: .0694233701 + inSlope: .0577270053 + outSlope: .0577270053 + tangentMode: 0 + - time: 1.799999 + value: .0703814551 + inSlope: .0572263263 + outSlope: .0572263263 + tangentMode: 0 + - time: 1.81666565 + value: .0713309124 + inSlope: .0566916689 + outSlope: .0566916689 + tangentMode: 0 + - time: 1.8333323 + value: .0722711757 + inSlope: .0561225936 + outSlope: .0561225936 + tangentMode: 0 + - time: 1.84999895 + value: .0732016638 + inSlope: .0555182025 + outSlope: .0555182025 + tangentMode: 0 + - time: 1.8666656 + value: .0741217807 + inSlope: .0548793897 + outSlope: .0548793897 + tangentMode: 0 + - time: 1.88333225 + value: .075030975 + inSlope: .0542054847 + outSlope: .0542054847 + tangentMode: 0 + - time: 1.8999989 + value: .0759286284 + inSlope: .0534964874 + outSlope: .0534964874 + tangentMode: 0 + - time: 1.91666555 + value: .0768141896 + inSlope: .0527512804 + outSlope: .0527512804 + tangentMode: 0 + - time: 1.9333322 + value: .0776870027 + inSlope: .0519689657 + outSlope: .0519689657 + tangentMode: 0 + - time: 1.94999886 + value: .0785464868 + inSlope: .0511515625 + outSlope: .0511515625 + tangentMode: 0 + - time: 1.96666551 + value: .0793920532 + inSlope: .0502983965 + outSlope: .0502983965 + tangentMode: 0 + - time: 1.98333216 + value: .0802230984 + inSlope: .0494074561 + outSlope: .0494074561 + tangentMode: 0 + - time: 1.99999881 + value: .0810389668 + inSlope: .0484798551 + outSlope: .0484798551 + tangentMode: 0 + - time: 2.01666546 + value: .0818390921 + inSlope: .0475156009 + outSlope: .0475156009 + tangentMode: 0 + - time: 2.03333211 + value: .0826228186 + inSlope: .0465140194 + outSlope: .0465140194 + tangentMode: 0 + - time: 2.04999876 + value: .0833895579 + inSlope: .0454751104 + outSlope: .0454751104 + tangentMode: 0 + - time: 2.06666541 + value: .0841386542 + inSlope: .0443986505 + outSlope: .0443986505 + tangentMode: 0 + - time: 2.08333206 + value: .0848695114 + inSlope: .0432839654 + outSlope: .0432839654 + tangentMode: 0 + - time: 2.09999871 + value: .0855814517 + inSlope: .0421306156 + outSlope: .0421306156 + tangentMode: 0 + - time: 2.11666536 + value: .0862738639 + inSlope: .0409399346 + outSlope: .0409399346 + tangentMode: 0 + - time: 2.13333201 + value: .0869461149 + inSlope: .0397105888 + outSlope: .0397105888 + tangentMode: 0 + - time: 2.14999866 + value: .087597549 + inSlope: .0384430215 + outSlope: .0384430215 + tangentMode: 0 + - time: 2.16666532 + value: .0882275477 + inSlope: .0371372327 + outSlope: .0371372327 + tangentMode: 0 + - time: 2.18333197 + value: .0888354555 + inSlope: .0357914306 + outSlope: .0357914306 + tangentMode: 0 + - time: 2.19999862 + value: .0894205943 + inSlope: .0344067402 + outSlope: .0344067402 + tangentMode: 0 + - time: 2.21666527 + value: .0899823457 + inSlope: .0329833776 + outSlope: .0329833776 + tangentMode: 0 + - time: 2.23333192 + value: .0905200392 + inSlope: .0315204561 + outSlope: .0315204561 + tangentMode: 0 + - time: 2.24999857 + value: .0910330266 + inSlope: .0300186425 + outSlope: .0300186425 + tangentMode: 0 + - time: 2.26666522 + value: .0915206596 + inSlope: .0284772627 + outSlope: .0284772627 + tangentMode: 0 + - time: 2.28333187 + value: .0919822678 + inSlope: .0268956535 + outSlope: .0268956535 + tangentMode: 0 + - time: 2.29999852 + value: .0924171805 + inSlope: .0252749268 + outSlope: .0252749268 + tangentMode: 0 + - time: 2.31666517 + value: .0928247645 + inSlope: .023613967 + outSlope: .023613967 + tangentMode: 0 + - time: 2.33333182 + value: .093204312 + inSlope: .0219125524 + outSlope: .0219125524 + tangentMode: 0 + - time: 2.34999847 + value: .0935551822 + inSlope: .0201720186 + outSlope: .0201720186 + tangentMode: 0 + - time: 2.36666512 + value: .093876712 + inSlope: .0183910318 + outSlope: .0183910318 + tangentMode: 0 + - time: 2.38333178 + value: .094168216 + inSlope: .0165693611 + outSlope: .0165693611 + tangentMode: 0 + - time: 2.39999843 + value: .0944290236 + inSlope: .0147079071 + outSlope: .0147079071 + tangentMode: 0 + - time: 2.41666508 + value: .0946584791 + inSlope: .0128055485 + outSlope: .0128055485 + tangentMode: 0 + - time: 2.43333173 + value: .0948558748 + inSlope: .0108627332 + outSlope: .0108627332 + tangentMode: 0 + - time: 2.44999838 + value: .0950205699 + inSlope: .00887901429 + outSlope: .00887901429 + tangentMode: 0 + - time: 2.46666503 + value: .0951518416 + inSlope: .00685550924 + outSlope: .00685550924 + tangentMode: 0 + - time: 2.48333168 + value: .0952490866 + inSlope: .00479154754 + outSlope: .00479154754 + tangentMode: 0 + - time: 2.49999833 + value: .0953115597 + inSlope: .00249378616 + outSlope: .00249378616 + tangentMode: 0 + - time: 2.51666498 + value: .0953322127 + inSlope: -.000218600268 + outSlope: -.000218600268 + tangentMode: 0 + - time: 2.53333163 + value: .0953042731 + inSlope: -.00314176362 + outSlope: -.00314176362 + tangentMode: 0 + - time: 2.54999828 + value: .0952274874 + inSlope: -.00607789122 + outSlope: -.00607789122 + tangentMode: 0 + - time: 2.56666493 + value: .0951016769 + inSlope: -.00902385358 + outSlope: -.00902385358 + tangentMode: 0 + - time: 2.58333158 + value: .0949266925 + inSlope: -.0119789802 + outSlope: -.0119789802 + tangentMode: 0 + - time: 2.59999824 + value: .0947023779 + inSlope: -.0149414828 + outSlope: -.0149414828 + tangentMode: 0 + - time: 2.61666489 + value: .0944286436 + inSlope: -.0179100204 + outSlope: -.0179100204 + tangentMode: 0 + - time: 2.63333154 + value: .0941053778 + inSlope: -.0208845921 + outSlope: -.0208845921 + tangentMode: 0 + - time: 2.64999819 + value: .0937324911 + inSlope: -.0238625184 + outSlope: -.0238625184 + tangentMode: 0 + - time: 2.66666484 + value: .0933099613 + inSlope: -.0268411152 + outSlope: -.0268411152 + tangentMode: 0 + - time: 2.68333149 + value: .0928377882 + inSlope: -.0298203826 + outSlope: -.0298203826 + tangentMode: 0 + - time: 2.69999814 + value: .0923159495 + inSlope: -.0327991992 + outSlope: -.0327991992 + tangentMode: 0 + - time: 2.71666479 + value: .0917444825 + inSlope: -.0357753411 + outSlope: -.0357753411 + tangentMode: 0 + - time: 2.73333144 + value: .0911234394 + inSlope: -.0387487933 + outSlope: -.0387487933 + tangentMode: 0 + - time: 2.74999809 + value: .0904528573 + inSlope: -.0417173281 + outSlope: -.0417173281 + tangentMode: 0 + - time: 2.76666474 + value: .089732863 + inSlope: -.0446784943 + outSlope: -.0446784943 + tangentMode: 0 + - time: 2.78333139 + value: .0889635757 + inSlope: -.047632724 + outSlope: -.047632724 + tangentMode: 0 + - time: 2.79999804 + value: .088145107 + inSlope: -.0505780168 + outSlope: -.0505780168 + tangentMode: 0 + - time: 2.8166647 + value: .0872776434 + inSlope: -.0535130277 + outSlope: -.0535130277 + tangentMode: 0 + - time: 2.83333135 + value: .0863613412 + inSlope: -.0564368591 + outSlope: -.0564368591 + tangentMode: 0 + - time: 2.849998 + value: .0853964165 + inSlope: -.0593484044 + outSlope: -.0593484044 + tangentMode: 0 + - time: 2.86666465 + value: .084383063 + inSlope: -.0622458607 + outSlope: -.0622458607 + tangentMode: 0 + - time: 2.8833313 + value: .0833215564 + inSlope: -.0651281178 + outSlope: -.0651281178 + tangentMode: 0 + - time: 2.89999795 + value: .0822121277 + inSlope: -.0679942891 + outSlope: -.0679942891 + tangentMode: 0 + - time: 2.9166646 + value: .0810550824 + inSlope: -.0708427951 + outSlope: -.0708427951 + tangentMode: 0 + - time: 2.93333125 + value: .0798507035 + inSlope: -.0736723095 + outSlope: -.0736723095 + tangentMode: 0 + - time: 2.9499979 + value: .0785993412 + inSlope: -.0764823705 + outSlope: -.0764823705 + tangentMode: 0 + - time: 2.96666455 + value: .0773012936 + inSlope: -.0792718679 + outSlope: -.0792718679 + tangentMode: 0 + - time: 2.9833312 + value: .0759569481 + inSlope: -.0820376724 + outSlope: -.0820376724 + tangentMode: 0 + - time: 2.99999785 + value: .074566707 + inSlope: -.0847806856 + outSlope: -.0847806856 + tangentMode: 0 + - time: 3.01666451 + value: .073130928 + inSlope: -.087500222 + outSlope: -.087500222 + tangentMode: 0 + - time: 3.03333116 + value: .0716500357 + inSlope: -.0901936144 + outSlope: -.0901936144 + tangentMode: 0 + - time: 3.04999781 + value: .0701244771 + inSlope: -.0928599536 + outSlope: -.0928599536 + tangentMode: 0 + - time: 3.06666446 + value: .0685547069 + inSlope: -.0954985768 + outSlope: -.0954985768 + tangentMode: 0 + - time: 3.08333111 + value: .0669411942 + inSlope: -.0981083661 + outSlope: -.0981083661 + tangentMode: 0 + - time: 3.09999776 + value: .065284431 + inSlope: -.100687988 + outSlope: -.100687988 + tangentMode: 0 + - time: 3.11666441 + value: .0635849312 + inSlope: -.103236534 + outSlope: -.103236534 + tangentMode: 0 + - time: 3.13333106 + value: .0618432164 + inSlope: -.105753452 + outSlope: -.105753452 + tangentMode: 0 + - time: 3.14999771 + value: .0600598194 + inSlope: -.108237073 + outSlope: -.108237073 + tangentMode: 0 + - time: 3.16666436 + value: .0582353175 + inSlope: -.110686153 + outSlope: -.110686153 + tangentMode: 0 + - time: 3.18333101 + value: .0563702844 + inSlope: -.113099918 + outSlope: -.113099918 + tangentMode: 0 + - time: 3.19999766 + value: .0544653237 + inSlope: -.115477256 + outSlope: -.115477256 + tangentMode: 0 + - time: 3.21666431 + value: .0525210463 + inSlope: -.117817484 + outSlope: -.117817484 + tangentMode: 0 + - time: 3.23333097 + value: .050538078 + inSlope: -.120119497 + outSlope: -.120119497 + tangentMode: 0 + - time: 3.24999762 + value: .048517067 + inSlope: -.122382276 + outSlope: -.122382276 + tangentMode: 0 + - time: 3.26666427 + value: .0464586727 + inSlope: -.124604933 + outSlope: -.124604933 + tangentMode: 0 + - time: 3.28333092 + value: .0443635732 + inSlope: -.126785785 + outSlope: -.126785785 + tangentMode: 0 + - time: 3.29999757 + value: .0422324836 + inSlope: -.128924638 + outSlope: -.128924638 + tangentMode: 0 + - time: 3.31666422 + value: .0400660895 + inSlope: -.131020337 + outSlope: -.131020337 + tangentMode: 0 + - time: 3.33333087 + value: .0378651433 + inSlope: -.133071557 + outSlope: -.133071557 + tangentMode: 0 + - time: 3.34999752 + value: .0356303751 + inSlope: -.135078073 + outSlope: -.135078073 + tangentMode: 0 + - time: 3.36666417 + value: .0333625451 + inSlope: -.137038767 + outSlope: -.137038767 + tangentMode: 0 + - time: 3.38333082 + value: .0310624205 + inSlope: -.138952583 + outSlope: -.138952583 + tangentMode: 0 + - time: 3.39999747 + value: .0287307967 + inSlope: -.140818119 + outSlope: -.140818119 + tangentMode: 0 + - time: 3.41666412 + value: .0263684876 + inSlope: -.142634869 + outSlope: -.142634869 + tangentMode: 0 + - time: 3.43333077 + value: .0239763055 + inSlope: -.144402623 + outSlope: -.144402623 + tangentMode: 0 + - time: 3.44999743 + value: .0215550717 + inSlope: -.146119505 + outSlope: -.146119505 + tangentMode: 0 + - time: 3.46666408 + value: .0191056598 + inSlope: -.14778477 + outSlope: -.14778477 + tangentMode: 0 + - time: 3.48333073 + value: .0166289173 + inSlope: -.149398461 + outSlope: -.149398461 + tangentMode: 0 + - time: 3.49999738 + value: .0141257159 + inSlope: -.15095906 + outSlope: -.15095906 + tangentMode: 0 + - time: 3.51666403 + value: .0115969535 + inSlope: -.152465016 + outSlope: -.152465016 + tangentMode: 0 + - time: 3.53333068 + value: .00904355384 + inSlope: -.15391697 + outSlope: -.15391697 + tangentMode: 0 + - time: 3.54999733 + value: .00646639289 + inSlope: -.155313566 + outSlope: -.155313566 + tangentMode: 0 + - time: 3.56666398 + value: .00386643992 + inSlope: -.156653509 + outSlope: -.156653509 + tangentMode: 0 + - time: 3.58333063 + value: .00124461413 + inSlope: -.157936379 + outSlope: -.157936379 + tangentMode: 0 + - time: 3.59999728 + value: -.00139810098 + inSlope: -.159161493 + outSlope: -.159161493 + tangentMode: 0 + - time: 3.61666393 + value: -.00406076387 + inSlope: -.160327345 + outSlope: -.160327345 + tangentMode: 0 + - time: 3.63333058 + value: -.00674234051 + inSlope: -.161434099 + outSlope: -.161434099 + tangentMode: 0 + - time: 3.64999723 + value: -.00944189541 + inSlope: -.162481129 + outSlope: -.162481129 + tangentMode: 0 + - time: 3.66666389 + value: -.0121583734 + inSlope: -.16346693 + outSlope: -.16346693 + tangentMode: 0 + - time: 3.68333054 + value: -.0148907881 + inSlope: -.164391458 + outSlope: -.164391458 + tangentMode: 0 + - time: 3.69999719 + value: -.0176380835 + inSlope: -.165252894 + outSlope: -.165252894 + tangentMode: 0 + - time: 3.71666384 + value: -.0203992128 + inSlope: -.166051805 + outSlope: -.166051805 + tangentMode: 0 + - time: 3.73333049 + value: -.0231731385 + inSlope: -.166786849 + outSlope: -.166786849 + tangentMode: 0 + - time: 3.74999714 + value: -.025958769 + inSlope: -.167457402 + outSlope: -.167457402 + tangentMode: 0 + - time: 3.76666379 + value: -.0287550464 + inSlope: -.16806291 + outSlope: -.16806291 + tangentMode: 0 + - time: 3.78333044 + value: -.0315608606 + inSlope: -.168602705 + outSlope: -.168602705 + tangentMode: 0 + - time: 3.79999709 + value: -.0343751311 + inSlope: -.169075891 + outSlope: -.169075891 + tangentMode: 0 + - time: 3.81666374 + value: -.0371967182 + inSlope: -.169482589 + outSlope: -.169482589 + tangentMode: 0 + - time: 3.83333039 + value: -.040024545 + inSlope: -.169820428 + outSlope: -.169820428 + tangentMode: 0 + - time: 3.84999704 + value: -.0428573936 + inSlope: -.170091107 + outSlope: -.170091107 + tangentMode: 0 + - time: 3.86666369 + value: -.0456942432 + inSlope: -.170292377 + outSlope: -.170292377 + tangentMode: 0 + - time: 3.88333035 + value: -.048533801 + inSlope: -.170423701 + outSlope: -.170423701 + tangentMode: 0 + - time: 3.899997 + value: -.0513750277 + inSlope: -.170485944 + outSlope: -.170485944 + tangentMode: 0 + - time: 3.91666365 + value: -.0542166606 + inSlope: -.170477122 + outSlope: -.170477122 + tangentMode: 0 + - time: 3.9333303 + value: -.057057593 + inSlope: -.17039755 + outSlope: -.17039755 + tangentMode: 0 + - time: 3.94999695 + value: -.0598965734 + inSlope: -.170244098 + outSlope: -.170244098 + tangentMode: 0 + - time: 3.9666636 + value: -.0627323911 + inSlope: -.170019805 + outSlope: -.170019805 + tangentMode: 0 + - time: 3.98333025 + value: -.0655638948 + inSlope: -.169723421 + outSlope: -.169723421 + tangentMode: 0 + - time: 3.9999969 + value: -.068389833 + inSlope: -.169352382 + outSlope: -.169352382 + tangentMode: 0 + - time: 4.01666355 + value: -.0712089688 + inSlope: -.168906599 + outSlope: -.168906599 + tangentMode: 0 + - time: 4.03333044 + value: -.0740200877 + inSlope: -.168387279 + outSlope: -.168387279 + tangentMode: 0 + - time: 4.04999733 + value: -.0768219531 + inSlope: -.167793632 + outSlope: -.167793632 + tangentMode: 0 + - time: 4.06666422 + value: -.0796132833 + inSlope: -.167124212 + outSlope: -.167124212 + tangentMode: 0 + - time: 4.08333111 + value: -.0823928341 + inSlope: -.166379452 + outSlope: -.166379452 + tangentMode: 0 + - time: 4.099998 + value: -.085159339 + inSlope: -.165558249 + outSlope: -.165558249 + tangentMode: 0 + - time: 4.11666489 + value: -.0879115164 + inSlope: -.164658606 + outSlope: -.164658606 + tangentMode: 0 + - time: 4.13333178 + value: -.0906480327 + inSlope: -.163681865 + outSlope: -.163681865 + tangentMode: 0 + - time: 4.14999866 + value: -.0933676511 + inSlope: -.162627995 + outSlope: -.162627995 + tangentMode: 0 + - time: 4.16666555 + value: -.0960690379 + inSlope: -.161496788 + outSlope: -.161496788 + tangentMode: 0 + - time: 4.18333244 + value: -.0987509489 + inSlope: -.160287112 + outSlope: -.160287112 + tangentMode: 0 + - time: 4.19999933 + value: -.101412013 + inSlope: -.158996105 + outSlope: -.158996105 + tangentMode: 0 + - time: 4.21666622 + value: -.10405089 + inSlope: -.157626629 + outSlope: -.157626629 + tangentMode: 0 + - time: 4.23333311 + value: -.106666304 + inSlope: -.156178474 + outSlope: -.156178474 + tangentMode: 0 + - time: 4.25 + value: -.109256908 + inSlope: -.154649407 + outSlope: -.154649407 + tangentMode: 0 + - time: 4.26666689 + value: -.111821353 + inSlope: -.153039664 + outSlope: -.153039664 + tangentMode: 0 + - time: 4.28333378 + value: -.114358298 + inSlope: -.151348114 + outSlope: -.151348114 + tangentMode: 0 + - time: 4.30000067 + value: -.116866358 + inSlope: -.149576306 + outSlope: -.149576306 + tangentMode: 0 + - time: 4.31666756 + value: -.119344242 + inSlope: -.147722691 + outSlope: -.147722691 + tangentMode: 0 + - time: 4.33333445 + value: -.121790513 + inSlope: -.145785496 + outSlope: -.145785496 + tangentMode: 0 + - time: 4.35000134 + value: -.124203824 + inSlope: -.143766716 + outSlope: -.143766716 + tangentMode: 0 + - time: 4.36666822 + value: -.126582801 + inSlope: -.141666353 + outSlope: -.141666353 + tangentMode: 0 + - time: 4.38333511 + value: -.128926098 + inSlope: -.139480606 + outSlope: -.139480606 + tangentMode: 0 + - time: 4.400002 + value: -.131232217 + inSlope: -.137212828 + outSlope: -.137212828 + tangentMode: 0 + - time: 4.41666889 + value: -.13349992 + inSlope: -.134861454 + outSlope: -.134861454 + tangentMode: 0 + - time: 4.43333578 + value: -.135727659 + inSlope: -.13242425 + outSlope: -.13242425 + tangentMode: 0 + - time: 4.45000267 + value: -.137914121 + inSlope: -.12990436 + outSlope: -.12990436 + tangentMode: 0 + - time: 4.46666956 + value: -.140057862 + inSlope: -.127297729 + outSlope: -.127297729 + tangentMode: 0 + - time: 4.48333645 + value: -.142157435 + inSlope: -.124605268 + outSlope: -.124605268 + tangentMode: 0 + - time: 4.50000334 + value: -.144211426 + inSlope: -.121831462 + outSlope: -.121831462 + tangentMode: 0 + - time: 4.51667023 + value: -.146218538 + inSlope: -.118970469 + outSlope: -.118970469 + tangentMode: 0 + - time: 4.53333712 + value: -.148177162 + inSlope: -.116018295 + outSlope: -.116018295 + tangentMode: 0 + - time: 4.55000401 + value: -.150085866 + inSlope: -.112984762 + outSlope: -.112984762 + tangentMode: 0 + - time: 4.56667089 + value: -.151943371 + inSlope: -.109865837 + outSlope: -.109865837 + tangentMode: 0 + - time: 4.58333778 + value: -.15374811 + inSlope: -.106655724 + outSlope: -.106655724 + tangentMode: 0 + - time: 4.60000467 + value: -.155498609 + inSlope: -.103361122 + outSlope: -.103361122 + tangentMode: 0 + - time: 4.61667156 + value: -.157193527 + inSlope: -.0999780074 + outSlope: -.0999780074 + tangentMode: 0 + - time: 4.63333845 + value: -.158831254 + inSlope: -.0965077206 + outSlope: -.0965077206 + tangentMode: 0 + - time: 4.65000534 + value: -.160410494 + inSlope: -.0929498225 + outSlope: -.0929498225 + tangentMode: 0 + - time: 4.66667223 + value: -.161929622 + inSlope: -.089301616 + outSlope: -.089301616 + tangentMode: 0 + - time: 4.68333912 + value: -.163387254 + inSlope: -.0855662376 + outSlope: -.0855662376 + tangentMode: 0 + - time: 4.70000601 + value: -.164781868 + inSlope: -.0817428082 + outSlope: -.0817428082 + tangentMode: 0 + - time: 4.7166729 + value: -.16611205 + inSlope: -.077830404 + outSlope: -.077830404 + tangentMode: 0 + - time: 4.73333979 + value: -.16737625 + inSlope: -.0738254786 + outSlope: -.0738254786 + tangentMode: 0 + - time: 4.75000668 + value: -.168572932 + inSlope: -.0697347149 + outSlope: -.0697347149 + tangentMode: 0 + - time: 4.76667356 + value: -.169700772 + inSlope: -.0655540973 + outSlope: -.0655540973 + tangentMode: 0 + - time: 4.78334045 + value: -.170758098 + inSlope: -.0612813979 + outSlope: -.0612813979 + tangentMode: 0 + - time: 4.80000734 + value: -.171743512 + inSlope: -.0569192916 + outSlope: -.0569192916 + tangentMode: 0 + - time: 4.81667423 + value: -.172655433 + inSlope: -.0524659902 + outSlope: -.0524659902 + tangentMode: 0 + - time: 4.83334112 + value: -.173492402 + inSlope: -.047925517 + outSlope: -.047925517 + tangentMode: 0 + - time: 4.85000801 + value: -.174252972 + inSlope: -.0432925075 + outSlope: -.0432925075 + tangentMode: 0 + - time: 4.8666749 + value: -.174935505 + inSlope: -.0385665223 + outSlope: -.0385665223 + tangentMode: 0 + - time: 4.88334179 + value: -.17553854 + inSlope: -.0337502323 + outSlope: -.0337502323 + tangentMode: 0 + - time: 4.90000868 + value: -.176060528 + inSlope: -.0288445391 + outSlope: -.0288445391 + tangentMode: 0 + - time: 4.91667557 + value: -.176500037 + inSlope: -.0238476489 + outSlope: -.0238476489 + tangentMode: 0 + - time: 4.93334246 + value: -.17685546 + inSlope: -.0187568851 + outSlope: -.0187568851 + tangentMode: 0 + - time: 4.95000935 + value: -.177125275 + inSlope: -.0135758203 + outSlope: -.0135758203 + tangentMode: 0 + - time: 4.96667624 + value: -.177307993 + inSlope: -.00830311421 + outSlope: -.00830311421 + tangentMode: 0 + - time: 4.98334312 + value: -.177402049 + inSlope: -.00294010877 + outSlope: -.00294010877 + tangentMode: 0 + - time: 5.00001001 + value: -.177405998 + inSlope: .00252481899 + outSlope: .00252481899 + tangentMode: 0 + - time: 5.0166769 + value: -.177317888 + inSlope: .00807155296 + outSlope: .00807155296 + tangentMode: 0 + - time: 5.03334379 + value: -.177136943 + inSlope: .0136433206 + outSlope: .0136433206 + tangentMode: 0 + - time: 5.05001068 + value: -.176863104 + inSlope: .0192186646 + outSlope: .0192186646 + tangentMode: 0 + - time: 5.06667757 + value: -.176496312 + inSlope: .0247953497 + outSlope: .0247953497 + tangentMode: 0 + - time: 5.08334446 + value: -.176036581 + inSlope: .0303711407 + outSlope: .0303711407 + tangentMode: 0 + - time: 5.10001135 + value: -.175483927 + inSlope: .0359455906 + outSlope: .0359455906 + tangentMode: 0 + - time: 5.11667824 + value: -.174838379 + inSlope: .0415173583 + outSlope: .0415173583 + tangentMode: 0 + - time: 5.13334513 + value: -.174099997 + inSlope: .0470842086 + outSlope: .0470842086 + tangentMode: 0 + - time: 5.15001202 + value: -.173268884 + inSlope: .0526425652 + outSlope: .0526425652 + tangentMode: 0 + - time: 5.16667891 + value: -.172345221 + inSlope: .0581937693 + outSlope: .0581937693 + tangentMode: 0 + - time: 5.18334579 + value: -.171329066 + inSlope: .0637360364 + outSlope: .0637360364 + tangentMode: 0 + - time: 5.20001268 + value: -.170220658 + inSlope: .0692648888 + outSlope: .0692648888 + tangentMode: 0 + - time: 5.21667957 + value: -.169020206 + inSlope: .0747803301 + outSlope: .0747803301 + tangentMode: 0 + - time: 5.23334646 + value: -.167727947 + inSlope: .0802801251 + outSlope: .0802801251 + tangentMode: 0 + - time: 5.25001335 + value: -.166344166 + inSlope: .0857615918 + outSlope: .0857615918 + tangentMode: 0 + - time: 5.26668024 + value: -.164869189 + inSlope: .0912238359 + outSlope: .0912238359 + tangentMode: 0 + - time: 5.28334713 + value: -.163303331 + inSlope: .0966646299 + outSlope: .0966646299 + tangentMode: 0 + - time: 5.30001402 + value: -.161646992 + inSlope: .102079935 + outSlope: .102079935 + tangentMode: 0 + - time: 5.31668091 + value: -.159900621 + inSlope: .107472003 + outSlope: .107472003 + tangentMode: 0 + - time: 5.3333478 + value: -.158064544 + inSlope: .112835899 + outSlope: .112835899 + tangentMode: 0 + - time: 5.35001469 + value: -.156139374 + inSlope: .118167609 + outSlope: .118167609 + tangentMode: 0 + - time: 5.36668158 + value: -.154125571 + inSlope: .123468027 + outSlope: .123468027 + tangentMode: 0 + - time: 5.38334846 + value: -.152023718 + inSlope: .128733128 + outSlope: .128733128 + tangentMode: 0 + - time: 5.40001535 + value: -.149834409 + inSlope: .133961588 + outSlope: .133961588 + tangentMode: 0 + - time: 5.41668224 + value: -.147558272 + inSlope: .13915205 + outSlope: .13915205 + tangentMode: 0 + - time: 5.43334913 + value: -.145195946 + inSlope: .144300014 + outSlope: .144300014 + tangentMode: 0 + - time: 5.45001602 + value: -.142748207 + inSlope: .149403304 + outSlope: .149403304 + tangentMode: 0 + - time: 5.46668291 + value: -.140215769 + inSlope: .15446189 + outSlope: .15446189 + tangentMode: 0 + - time: 5.4833498 + value: -.137599409 + inSlope: .159471288 + outSlope: .159471288 + tangentMode: 0 + - time: 5.50001669 + value: -.134899989 + inSlope: .164429724 + outSlope: .164429724 + tangentMode: 0 + - time: 5.51668358 + value: -.132118344 + inSlope: .169335872 + outSlope: .169335872 + tangentMode: 0 + - time: 5.53335047 + value: -.129255384 + inSlope: .174185693 + outSlope: .174185693 + tangentMode: 0 + - time: 5.55001736 + value: -.126312077 + inSlope: .178976953 + outSlope: .178976953 + tangentMode: 0 + - time: 5.56668425 + value: -.123289406 + inSlope: .18370831 + outSlope: .18370831 + tangentMode: 0 + - time: 5.58335114 + value: -.120188385 + inSlope: .188376844 + outSlope: .188376844 + tangentMode: 0 + - time: 5.60001802 + value: -.117010094 + inSlope: .192980349 + outSlope: .192980349 + tangentMode: 0 + - time: 5.61668491 + value: -.113755621 + inSlope: .197517022 + outSlope: .197517022 + tangentMode: 0 + - time: 5.6333518 + value: -.110426106 + inSlope: .201983288 + outSlope: .201983288 + tangentMode: 0 + - time: 5.65001869 + value: -.107022755 + inSlope: .206375122 + outSlope: .206375122 + tangentMode: 0 + - time: 5.66668558 + value: -.103546843 + inSlope: .21069409 + outSlope: .21069409 + tangentMode: 0 + - time: 5.68335247 + value: -.0999995247 + inSlope: .214936852 + outSlope: .214936852 + tangentMode: 0 + - time: 5.70001936 + value: -.0963821858 + inSlope: .219099134 + outSlope: .219099134 + tangentMode: 0 + - time: 5.71668625 + value: -.0926961228 + inSlope: .223179162 + outSlope: .223179162 + tangentMode: 0 + - time: 5.73335314 + value: -.0889427811 + inSlope: .227176487 + outSlope: .227176487 + tangentMode: 0 + - time: 5.75002003 + value: -.0851234719 + inSlope: .231088668 + outSlope: .231088668 + tangentMode: 0 + - time: 5.76668692 + value: -.0812397227 + inSlope: .234910309 + outSlope: .234910309 + tangentMode: 0 + - time: 5.78335381 + value: -.0772930235 + inSlope: .238641232 + outSlope: .238641232 + tangentMode: 0 + - time: 5.80002069 + value: -.0732849091 + inSlope: .242281154 + outSlope: .242281154 + tangentMode: 0 + - time: 5.81668758 + value: -.0692168772 + inSlope: .245825857 + outSlope: .245825857 + tangentMode: 0 + - time: 5.83335447 + value: -.0650906041 + inSlope: .249272689 + outSlope: .249272689 + tangentMode: 0 + - time: 5.85002136 + value: -.0609076768 + inSlope: .252622277 + outSlope: .252622277 + tangentMode: 0 + - time: 5.86668825 + value: -.0566697493 + inSlope: .255870402 + outSlope: .255870402 + tangentMode: 0 + - time: 5.88335514 + value: -.0523785502 + inSlope: .25901413 + outSlope: .25901413 + tangentMode: 0 + - time: 5.90002203 + value: -.0480358303 + inSlope: .26205492 + outSlope: .26205492 + tangentMode: 0 + - time: 5.91668892 + value: -.0436432697 + inSlope: .264989883 + outSlope: .264989883 + tangentMode: 0 + - time: 5.93335581 + value: -.0392027162 + inSlope: .267814994 + outSlope: .267814994 + tangentMode: 0 + - time: 5.9500227 + value: -.034715984 + inSlope: .270530581 + outSlope: .270530581 + tangentMode: 0 + - time: 5.96668959 + value: -.0301849097 + inSlope: .273134977 + outSlope: .273134977 + tangentMode: 0 + - time: 5.98335648 + value: -.0256113634 + inSlope: .275625467 + outSlope: .275625467 + tangentMode: 0 + - time: 6.00002337 + value: -.0209972709 + inSlope: .278001666 + outSlope: .278001666 + tangentMode: 0 + - time: 6.01669025 + value: -.0163445175 + inSlope: .280262172 + outSlope: .280262172 + tangentMode: 0 + - time: 6.03335714 + value: -.0116550736 + inSlope: .282403648 + outSlope: .282403648 + tangentMode: 0 + - time: 6.05002403 + value: -.00693093613 + inSlope: .284427255 + outSlope: .284427255 + tangentMode: 0 + - time: 6.06669092 + value: -.00217403844 + inSlope: .286331594 + outSlope: .286331594 + tangentMode: 0 + - time: 6.08335781 + value: .00261357799 + inSlope: .288113236 + outSlope: .288113236 + tangentMode: 0 + - time: 6.1000247 + value: .00742986426 + inSlope: .289773405 + outSlope: .289773405 + tangentMode: 0 + - time: 6.11669159 + value: .0122728199 + inSlope: .291309357 + outSlope: .291309357 + tangentMode: 0 + - time: 6.13335848 + value: .0171403065 + inSlope: .292720556 + outSlope: .292720556 + tangentMode: 0 + - time: 6.15002537 + value: .0220303014 + inSlope: .294008434 + outSlope: .294008434 + tangentMode: 0 + - time: 6.16669226 + value: .0269407183 + inSlope: .295169353 + outSlope: .295169353 + tangentMode: 0 + - time: 6.18335915 + value: .0318694115 + inSlope: .296201885 + outSlope: .296201885 + tangentMode: 0 + - time: 6.20002604 + value: .0368142463 + inSlope: .297108591 + outSlope: .297108591 + tangentMode: 0 + - time: 6.21669292 + value: .0417731628 + inSlope: .29788819 + outSlope: .29788819 + tangentMode: 0 + - time: 6.23335981 + value: .0467439853 + inSlope: .298537731 + outSlope: .298537731 + tangentMode: 0 + - time: 6.2500267 + value: .0517245531 + inSlope: .299059868 + outSlope: .299059868 + tangentMode: 0 + - time: 6.26669359 + value: .0567127801 + inSlope: .299453139 + outSlope: .299453139 + tangentMode: 0 + - time: 6.28336048 + value: .0617064573 + inSlope: .299715519 + outSlope: .299715519 + tangentMode: 0 + - time: 6.30002737 + value: .0667034313 + inSlope: .299849421 + outSlope: .299849421 + tangentMode: 0 + - time: 6.31669426 + value: .0717015713 + inSlope: .299852908 + outSlope: .299852908 + tangentMode: 0 + - time: 6.33336115 + value: .0766986609 + inSlope: .299728155 + outSlope: .299728155 + tangentMode: 0 + - time: 6.35002804 + value: .0816926435 + inSlope: .299474716 + outSlope: .299474716 + tangentMode: 0 + - time: 6.36669493 + value: .086681284 + inSlope: .299090922 + outSlope: .299090922 + tangentMode: 0 + - time: 6.38336182 + value: .091662474 + inSlope: .298579752 + outSlope: .298579752 + tangentMode: 0 + - time: 6.40002871 + value: .096634075 + inSlope: .297939152 + outSlope: .297939152 + tangentMode: 0 + - time: 6.41669559 + value: .101593912 + inSlope: .29717049 + outSlope: .29717049 + tangentMode: 0 + - time: 6.43336248 + value: .10653989 + inSlope: .296273053 + outSlope: .296273053 + tangentMode: 0 + - time: 6.45002937 + value: .111469813 + inSlope: .295249373 + outSlope: .295249373 + tangentMode: 0 + - time: 6.46669626 + value: .116381668 + inSlope: .294103861 + outSlope: .294103861 + tangentMode: 0 + - time: 6.48336315 + value: .121273406 + inSlope: .29283005 + outSlope: .29283005 + tangentMode: 0 + - time: 6.50003004 + value: .1261428 + inSlope: .291428626 + outSlope: .291428626 + tangentMode: 0 + - time: 6.51669693 + value: .130987823 + inSlope: .289905369 + outSlope: .289905369 + tangentMode: 0 + - time: 6.53336382 + value: .135806441 + inSlope: .288260281 + outSlope: .288260281 + tangentMode: 0 + - time: 6.55003071 + value: .140596628 + inSlope: .286494076 + outSlope: .286494076 + tangentMode: 0 + - time: 6.5666976 + value: .145356372 + inSlope: .284606755 + outSlope: .284606755 + tangentMode: 0 + - time: 6.58336449 + value: .150083646 + inSlope: .282599568 + outSlope: .282599568 + tangentMode: 0 + - time: 6.60003138 + value: .154776484 + inSlope: .280473053 + outSlope: .280473053 + tangentMode: 0 + - time: 6.61669827 + value: .159432873 + inSlope: .278230786 + outSlope: .278230786 + tangentMode: 0 + - time: 6.63336515 + value: .164050967 + inSlope: .275873601 + outSlope: .275873601 + tangentMode: 0 + - time: 6.65003204 + value: .168628782 + inSlope: .273401499 + outSlope: .273401499 + tangentMode: 0 + - time: 6.66669893 + value: .173164472 + inSlope: .270816326 + outSlope: .270816326 + tangentMode: 0 + - time: 6.68336582 + value: .177656114 + inSlope: .268120289 + outSlope: .268120289 + tangentMode: 0 + - time: 6.70003271 + value: .182101935 + inSlope: .265316993 + outSlope: .265316993 + tangentMode: 0 + - time: 6.7166996 + value: .186500132 + inSlope: .26240325 + outSlope: .26240325 + tangentMode: 0 + - time: 6.73336649 + value: .190848827 + inSlope: .259381771 + outSlope: .259381771 + tangentMode: 0 + - time: 6.75003338 + value: .195146307 + inSlope: .256257951 + outSlope: .256257951 + tangentMode: 0 + - time: 6.76670027 + value: .199390873 + inSlope: .253031313 + outSlope: .253031313 + tangentMode: 0 + - time: 6.78336716 + value: .203580797 + inSlope: .249701828 + outSlope: .249701828 + tangentMode: 0 + - time: 6.80003405 + value: .207714379 + inSlope: .246272683 + outSlope: .246272683 + tangentMode: 0 + - time: 6.81670094 + value: .211789995 + inSlope: .242748737 + outSlope: .242748737 + tangentMode: 0 + - time: 6.83336782 + value: .215806112 + inSlope: .239129156 + outSlope: .239129156 + tangentMode: 0 + - time: 6.85003471 + value: .219761074 + inSlope: .235411212 + outSlope: .235411212 + tangentMode: 0 + - time: 6.8667016 + value: .223653257 + inSlope: .231601626 + outSlope: .231601626 + tangentMode: 0 + - time: 6.88336849 + value: .227481231 + inSlope: .227706671 + outSlope: .227706671 + tangentMode: 0 + - time: 6.90003538 + value: .231243581 + inSlope: .223723203 + outSlope: .223723203 + tangentMode: 0 + - time: 6.91670227 + value: .234938771 + inSlope: .219649419 + outSlope: .219649419 + tangentMode: 0 + - time: 6.93336916 + value: .238565326 + inSlope: .215491161 + outSlope: .215491161 + tangentMode: 0 + - time: 6.95003605 + value: .242121905 + inSlope: .21125333 + outSlope: .21125333 + tangentMode: 0 + - time: 6.96670294 + value: .245607197 + inSlope: .206935033 + outSlope: .206935033 + tangentMode: 0 + - time: 6.98336983 + value: .249019831 + inSlope: .202537164 + outSlope: .202537164 + tangentMode: 0 + - time: 7.00003672 + value: .252358526 + inSlope: .198060617 + outSlope: .198060617 + tangentMode: 0 + - time: 7.01670361 + value: .25562194 + inSlope: .193512544 + outSlope: .193512544 + tangentMode: 0 + - time: 7.03337049 + value: .25880903 + inSlope: .188891158 + outSlope: .188891158 + tangentMode: 0 + - time: 7.05003738 + value: .261918396 + inSlope: .184195563 + outSlope: .184195563 + tangentMode: 0 + - time: 7.06670427 + value: .264948964 + inSlope: .179432914 + outSlope: .179432914 + tangentMode: 0 + - time: 7.08337116 + value: .267899573 + inSlope: .174604118 + outSlope: .174604118 + tangentMode: 0 + - time: 7.10003805 + value: .270769179 + inSlope: .169709146 + outSlope: .169709146 + tangentMode: 0 + - time: 7.11670494 + value: .27355662 + inSlope: .164748013 + outSlope: .164748013 + tangentMode: 0 + - time: 7.13337183 + value: .276260853 + inSlope: .15972878 + outSlope: .15972878 + tangentMode: 0 + - time: 7.15003872 + value: .278880984 + inSlope: .154648751 + outSlope: .154648751 + tangentMode: 0 + - time: 7.16670561 + value: .28141588 + inSlope: .149506122 + outSlope: .149506122 + tangentMode: 0 + - time: 7.1833725 + value: .283864588 + inSlope: .14430806 + outSlope: .14430806 + tangentMode: 0 + - time: 7.20003939 + value: .286226213 + inSlope: .139058173 + outSlope: .139058173 + tangentMode: 0 + - time: 7.21670628 + value: .288499922 + inSlope: .133754611 + outSlope: .133754611 + tangentMode: 0 + - time: 7.23337317 + value: .29068476 + inSlope: .128396526 + outSlope: .128396526 + tangentMode: 0 + - time: 7.25004005 + value: .292779863 + inSlope: .122984789 + outSlope: .122984789 + tangentMode: 0 + - time: 7.26670694 + value: .294784307 + inSlope: .117523886 + outSlope: .117523886 + tangentMode: 0 + - time: 7.28337383 + value: .296697378 + inSlope: .112020962 + outSlope: .112020962 + tangentMode: 0 + - time: 7.30004072 + value: .298518389 + inSlope: .106469758 + outSlope: .106469758 + tangentMode: 0 + - time: 7.31670761 + value: .300246418 + inSlope: .10086938 + outSlope: .10086938 + tangentMode: 0 + - time: 7.3333745 + value: .301880747 + inSlope: .0952260867 + outSlope: .0952260867 + tangentMode: 0 + - time: 7.35004139 + value: .303420663 + inSlope: .0895425677 + outSlope: .0895425677 + tangentMode: 0 + - time: 7.36670828 + value: .304865539 + inSlope: .0838152319 + outSlope: .0838152319 + tangentMode: 0 + - time: 7.38337517 + value: .306214541 + inSlope: .0780431926 + outSlope: .0780431926 + tangentMode: 0 + - time: 7.40004206 + value: .307467014 + inSlope: .0722344965 + outSlope: .0722344965 + tangentMode: 0 + - time: 7.41670895 + value: .30862239 + inSlope: .0663891509 + outSlope: .0663891509 + tangentMode: 0 + - time: 7.43337584 + value: .309680015 + inSlope: .0605017804 + outSlope: .0605017804 + tangentMode: 0 + - time: 7.45004272 + value: .310639143 + inSlope: .0545777529 + outSlope: .0545777529 + tangentMode: 0 + - time: 7.46670961 + value: .311499298 + inSlope: .0486170724 + outSlope: .0486170724 + tangentMode: 0 + - time: 7.4833765 + value: .312259734 + inSlope: .0426179431 + outSlope: .0426179431 + tangentMode: 0 + - time: 7.50004339 + value: .312919915 + inSlope: .0369782299 + outSlope: .0369782299 + tangentMode: 0 + - time: 7.51671028 + value: .313492358 + inSlope: .0321136601 + outSlope: .0321136601 + tangentMode: 0 + - time: 7.53337717 + value: .313990384 + inSlope: .0276710875 + outSlope: .0276710875 + tangentMode: 0 + - time: 7.55004406 + value: .31441474 + inSlope: .0232758988 + outSlope: .0232758988 + tangentMode: 0 + - time: 7.56671095 + value: .314766258 + inSlope: .0189307779 + outSlope: .0189307779 + tangentMode: 0 + - time: 7.58337784 + value: .315045774 + inSlope: .0146312546 + outSlope: .0146312546 + tangentMode: 0 + - time: 7.60004473 + value: .315253973 + inSlope: .0103826923 + outSlope: .0103826923 + tangentMode: 0 + - time: 7.61671162 + value: .315391868 + inSlope: .0061850911 + outSlope: .0061850911 + tangentMode: 0 + - time: 7.63337851 + value: .315460145 + inSlope: .00203219336 + outSlope: .00203219336 + tangentMode: 0 + - time: 7.65004539 + value: .315459609 + inSlope: -.00207242579 + outSlope: -.00207242579 + tangentMode: 0 + - time: 7.66671228 + value: .315391064 + inSlope: -.0061269775 + outSlope: -.0061269775 + tangentMode: 0 + - time: 7.68337917 + value: .315255374 + inSlope: -.0101332497 + outSlope: -.0101332497 + tangentMode: 0 + - time: 7.70004606 + value: .315053284 + inSlope: -.014092138 + outSlope: -.014092138 + tangentMode: 0 + - time: 7.71671295 + value: .31478563 + inSlope: -.0180045348 + outSlope: -.0180045348 + tangentMode: 0 + - time: 7.73337984 + value: .314453125 + inSlope: -.0218668655 + outSlope: -.0218668655 + tangentMode: 0 + - time: 7.75004673 + value: .314056724 + inSlope: -.0256818086 + outSlope: -.0256818086 + tangentMode: 0 + - time: 7.76671362 + value: .313597053 + inSlope: -.029450262 + outSlope: -.029450262 + tangentMode: 0 + - time: 7.78338051 + value: .313075036 + inSlope: -.0331704356 + outSlope: -.0331704356 + tangentMode: 0 + - time: 7.8000474 + value: .312491357 + inSlope: -.0368423313 + outSlope: -.0368423313 + tangentMode: 0 + - time: 7.81671429 + value: .311846942 + inSlope: -.0404659472 + outSlope: -.0404659472 + tangentMode: 0 + - time: 7.83338118 + value: .311142474 + inSlope: -.0440439656 + outSlope: -.0440439656 + tangentMode: 0 + - time: 7.85004807 + value: .31037879 + inSlope: -.0475746021 + outSlope: -.0475746021 + tangentMode: 0 + - time: 7.86671495 + value: .309556633 + inSlope: -.0510578491 + outSlope: -.0510578491 + tangentMode: 0 + - time: 7.88338184 + value: .308676839 + inSlope: -.054491926 + outSlope: -.054491926 + tangentMode: 0 + - time: 7.90004873 + value: .307740211 + inSlope: -.0578804053 + outSlope: -.0578804053 + tangentMode: 0 + - time: 7.91671562 + value: .306747466 + inSlope: -.0612223893 + outSlope: -.0612223893 + tangentMode: 0 + - time: 7.93338251 + value: .305699438 + inSlope: -.0645160973 + outSlope: -.0645160973 + tangentMode: 0 + - time: 7.9500494 + value: .304596901 + inSlope: -.0677633137 + outSlope: -.0677633137 + tangentMode: 0 + - time: 7.96671629 + value: .30344063 + inSlope: -.0709640458 + outSlope: -.0709640458 + tangentMode: 0 + - time: 7.98338318 + value: .302231401 + inSlope: -.074116677 + outSlope: -.074116677 + tangentMode: 0 + - time: 8.00004959 + value: .300970078 + inSlope: -.0772210807 + outSlope: -.0772210807 + tangentMode: 0 + - time: 8.016716 + value: .299657404 + inSlope: -.080283314 + outSlope: -.080283314 + tangentMode: 0 + - time: 8.03338242 + value: .298294008 + inSlope: -.083297275 + outSlope: -.083297275 + tangentMode: 0 + - time: 8.05004883 + value: .296880871 + inSlope: -.0862593725 + outSlope: -.0862593725 + tangentMode: 0 + - time: 8.06671524 + value: .295418739 + inSlope: -.0891785547 + outSlope: -.0891785547 + tangentMode: 0 + - time: 8.08338165 + value: .293908298 + inSlope: -.0920512378 + outSlope: -.0920512378 + tangentMode: 0 + - time: 8.10004807 + value: .292350411 + inSlope: -.0948765427 + outSlope: -.0948765427 + tangentMode: 0 + - time: 8.11671448 + value: .290745795 + inSlope: -.0976553559 + outSlope: -.0976553559 + tangentMode: 0 + - time: 8.13338089 + value: .289095283 + inSlope: -.100385889 + outSlope: -.100385889 + tangentMode: 0 + - time: 8.1500473 + value: .28739965 + inSlope: -.103069924 + outSlope: -.103069924 + tangentMode: 0 + - time: 8.16671371 + value: .285659671 + inSlope: -.105708361 + outSlope: -.105708361 + tangentMode: 0 + - time: 8.18338013 + value: .283876091 + inSlope: -.108300313 + outSlope: -.108300313 + tangentMode: 0 + - time: 8.20004654 + value: .282049716 + inSlope: -.110843085 + outSlope: -.110843085 + tangentMode: 0 + - time: 8.21671295 + value: .280181378 + inSlope: -.113340259 + outSlope: -.113340259 + tangentMode: 0 + - time: 8.23337936 + value: .278271765 + inSlope: -.115791842 + outSlope: -.115791842 + tangentMode: 0 + - time: 8.25004578 + value: .276321709 + inSlope: -.118194237 + outSlope: -.118194237 + tangentMode: 0 + - time: 8.26671219 + value: .274332017 + inSlope: -.120551035 + outSlope: -.120551035 + tangentMode: 0 + - time: 8.2833786 + value: .272303402 + inSlope: -.122859567 + outSlope: -.122859567 + tangentMode: 0 + - time: 8.30004501 + value: .27023676 + inSlope: -.125119805 + outSlope: -.125119805 + tangentMode: 0 + - time: 8.31671143 + value: .268132806 + inSlope: -.127336234 + outSlope: -.127336234 + tangentMode: 0 + - time: 8.33337784 + value: .265992284 + inSlope: -.129505292 + outSlope: -.129505292 + tangentMode: 0 + - time: 8.35004425 + value: .263816029 + inSlope: -.131626055 + outSlope: -.131626055 + tangentMode: 0 + - time: 8.36671066 + value: .261604816 + inSlope: -.133698538 + outSlope: -.133698538 + tangentMode: 0 + - time: 8.38337708 + value: .259359479 + inSlope: -.13572453 + outSlope: -.13572453 + tangentMode: 0 + - time: 8.40004349 + value: .257080734 + inSlope: -.137703136 + outSlope: -.137703136 + tangentMode: 0 + - time: 8.4167099 + value: .254769444 + inSlope: -.139632568 + outSlope: -.139632568 + tangentMode: 0 + - time: 8.43337631 + value: .252426386 + inSlope: -.141516402 + outSlope: -.141516402 + tangentMode: 0 + - time: 8.45004272 + value: .250052303 + inSlope: -.143354192 + outSlope: -.143354192 + tangentMode: 0 + - time: 8.46670914 + value: .247647986 + inSlope: -.145142809 + outSlope: -.145142809 + tangentMode: 0 + - time: 8.48337555 + value: .245214283 + inSlope: -.146882236 + outSlope: -.146882236 + tangentMode: 0 + - time: 8.50004196 + value: .242751986 + inSlope: -.148575634 + outSlope: -.148575634 + tangentMode: 0 + - time: 8.51670837 + value: .240261838 + inSlope: -.150221199 + outSlope: -.150221199 + tangentMode: 0 + - time: 8.53337479 + value: .237744689 + inSlope: -.151818931 + outSlope: -.151818931 + tangentMode: 0 + - time: 8.5500412 + value: .235201284 + inSlope: -.153369263 + outSlope: -.153369263 + tangentMode: 0 + - time: 8.56670761 + value: .232632458 + inSlope: -.154869974 + outSlope: -.154869974 + tangentMode: 0 + - time: 8.58337402 + value: .23003903 + inSlope: -.156323761 + outSlope: -.156323761 + tangentMode: 0 + - time: 8.60004044 + value: .227421746 + inSlope: -.157730162 + outSlope: -.157730162 + tangentMode: 0 + - time: 8.61670685 + value: .224781439 + inSlope: -.159088269 + outSlope: -.159088269 + tangentMode: 0 + - time: 8.63337326 + value: .222118884 + inSlope: -.160397649 + outSlope: -.160397649 + tangentMode: 0 + - time: 8.65003967 + value: .219434932 + inSlope: -.161658764 + outSlope: -.161658764 + tangentMode: 0 + - time: 8.66670609 + value: .216730341 + inSlope: -.162872016 + outSlope: -.162872016 + tangentMode: 0 + - time: 8.6833725 + value: .214005947 + inSlope: -.16403836 + outSlope: -.16403836 + tangentMode: 0 + - time: 8.70003891 + value: .211262479 + inSlope: -.165156871 + outSlope: -.165156871 + tangentMode: 0 + - time: 8.71670532 + value: .208500803 + inSlope: -.166224837 + outSlope: -.166224837 + tangentMode: 0 + - time: 8.73337173 + value: .205721736 + inSlope: -.167245448 + outSlope: -.167245448 + tangentMode: 0 + - time: 8.75003815 + value: .20292604 + inSlope: -.168218642 + outSlope: -.168218642 + tangentMode: 0 + - time: 8.76670456 + value: .200114533 + inSlope: -.169142693 + outSlope: -.169142693 + tangentMode: 0 + - time: 8.78337097 + value: .197288036 + inSlope: -.170018435 + outSlope: -.170018435 + tangentMode: 0 + - time: 8.80003738 + value: .194447339 + inSlope: -.170847699 + outSlope: -.170847699 + tangentMode: 0 + - time: 8.8167038 + value: .1915932 + inSlope: -.17162779 + outSlope: -.17162779 + tangentMode: 0 + - time: 8.83337021 + value: .1887265 + inSlope: -.172359139 + outSlope: -.172359139 + tangentMode: 0 + - time: 8.85003662 + value: .185847983 + inSlope: -.173043579 + outSlope: -.173043579 + tangentMode: 0 + - time: 8.86670303 + value: .182958469 + inSlope: -.173678815 + outSlope: -.173678815 + tangentMode: 0 + - time: 8.88336945 + value: .180058777 + inSlope: -.174266219 + outSlope: -.174266219 + tangentMode: 0 + - time: 8.90003586 + value: .177149683 + inSlope: -.174806252 + outSlope: -.174806252 + tangentMode: 0 + - time: 8.91670227 + value: .174231991 + inSlope: -.175298452 + outSlope: -.175298452 + tangentMode: 0 + - time: 8.93336868 + value: .171306491 + inSlope: -.175742358 + outSlope: -.175742358 + tangentMode: 0 + - time: 8.9500351 + value: .168374002 + inSlope: -.176138431 + outSlope: -.176138431 + tangentMode: 0 + - time: 8.96670151 + value: .165435299 + inSlope: -.176487133 + outSlope: -.176487133 + tangentMode: 0 + - time: 8.98336792 + value: .162491187 + inSlope: -.176788434 + outSlope: -.176788434 + tangentMode: 0 + - time: 9.00003433 + value: .159542441 + inSlope: -.177041456 + outSlope: -.177041456 + tangentMode: 0 + - time: 9.01670074 + value: .156589895 + inSlope: -.17724666 + outSlope: -.17724666 + tangentMode: 0 + - time: 9.03336716 + value: .15363431 + inSlope: -.177406251 + outSlope: -.177406251 + tangentMode: 0 + - time: 9.05003357 + value: .150676444 + inSlope: -.177518457 + outSlope: -.177518457 + tangentMode: 0 + - time: 9.06669998 + value: .147717118 + inSlope: -.177583277 + outSlope: -.177583277 + tangentMode: 0 + - time: 9.08336639 + value: .144757092 + inSlope: -.177601159 + outSlope: -.177601159 + tangentMode: 0 + - time: 9.10003281 + value: .14179717 + inSlope: -.177572548 + outSlope: -.177572548 + tangentMode: 0 + - time: 9.11669922 + value: .138838097 + inSlope: -.177497894 + outSlope: -.177497894 + tangentMode: 0 + - time: 9.13336563 + value: .135880664 + inSlope: -.177375853 + outSlope: -.177375853 + tangentMode: 0 + - time: 9.15003204 + value: .132925659 + inSlope: -.177208215 + outSlope: -.177208215 + tangentMode: 0 + - time: 9.16669846 + value: .129973814 + inSlope: -.176994517 + outSlope: -.176994517 + tangentMode: 0 + - time: 9.18336487 + value: .127025932 + inSlope: -.176735908 + outSlope: -.176735908 + tangentMode: 0 + - time: 9.20003128 + value: .124082707 + inSlope: -.176430345 + outSlope: -.176430345 + tangentMode: 0 + - time: 9.21669769 + value: .12114501 + inSlope: -.176079869 + outSlope: -.176079869 + tangentMode: 0 + - time: 9.23336411 + value: .118213467 + inSlope: -.175686255 + outSlope: -.175686255 + tangentMode: 0 + - time: 9.25003052 + value: .115288891 + inSlope: -.175245255 + outSlope: -.175245255 + tangentMode: 0 + - time: 9.26669693 + value: .112372048 + inSlope: -.174760208 + outSlope: -.174760208 + tangentMode: 0 + - time: 9.28336334 + value: .10946364 + inSlope: -.174231589 + outSlope: -.174231589 + tangentMode: 0 + - time: 9.30002975 + value: .106564417 + inSlope: -.173659369 + outSlope: -.173659369 + tangentMode: 0 + - time: 9.31669617 + value: .103675082 + inSlope: -.173043579 + outSlope: -.173043579 + tangentMode: 0 + - time: 9.33336258 + value: .100796387 + inSlope: -.172383517 + outSlope: -.172383517 + tangentMode: 0 + - time: 9.35002899 + value: .097929053 + inSlope: -.171679854 + outSlope: -.171679854 + tangentMode: 0 + - time: 9.3666954 + value: .0950738117 + inSlope: -.170934424 + outSlope: -.170934424 + tangentMode: 0 + - time: 9.38336182 + value: .0922313258 + inSlope: -.170146525 + outSlope: -.170146525 + tangentMode: 0 + - time: 9.40002823 + value: .0894023478 + inSlope: -.169316143 + outSlope: -.169316143 + tangentMode: 0 + - time: 9.41669464 + value: .0865875408 + inSlope: -.168445289 + outSlope: -.168445289 + tangentMode: 0 + - time: 9.43336105 + value: .0837875903 + inSlope: -.167531312 + outSlope: -.167531312 + tangentMode: 0 + - time: 9.45002747 + value: .0810032487 + inSlope: -.166577101 + outSlope: -.166577101 + tangentMode: 0 + - time: 9.46669388 + value: .0782351047 + inSlope: -.165582001 + outSlope: -.165582001 + tangentMode: 0 + - time: 9.48336029 + value: .0754839331 + inSlope: -.164546639 + outSlope: -.164546639 + tangentMode: 0 + - time: 9.5000267 + value: .0727503002 + inSlope: -.163472861 + outSlope: -.163472861 + tangentMode: 0 + - time: 9.51669312 + value: .0700349212 + inSlope: -.162357718 + outSlope: -.162357718 + tangentMode: 0 + - time: 9.53335953 + value: .0673384592 + inSlope: -.161204562 + outSlope: -.161204562 + tangentMode: 0 + - time: 9.55002594 + value: .0646615177 + inSlope: -.160013646 + outSlope: -.160013646 + tangentMode: 0 + - time: 9.56669235 + value: .0620047525 + inSlope: -.158783719 + outSlope: -.158783719 + tangentMode: 0 + - time: 9.58335876 + value: .0593688078 + inSlope: -.157516137 + outSlope: -.157516137 + tangentMode: 0 + - time: 9.60002518 + value: .0567542948 + inSlope: -.156212121 + outSlope: -.156212121 + tangentMode: 0 + - time: 9.61669159 + value: .0541618168 + inSlope: -.154871434 + outSlope: -.154871434 + tangentMode: 0 + - time: 9.633358 + value: .0515919924 + inSlope: -.153494209 + outSlope: -.153494209 + tangentMode: 0 + - time: 9.65002441 + value: .0490454212 + inSlope: -.152081102 + outSlope: -.152081102 + tangentMode: 0 + - time: 9.66669083 + value: .0465226993 + inSlope: -.150632918 + outSlope: -.150632918 + tangentMode: 0 + - time: 9.68335724 + value: .0440244004 + inSlope: -.149151757 + outSlope: -.149151757 + tangentMode: 0 + - time: 9.70002365 + value: .0415510498 + inSlope: -.147635505 + outSlope: -.147635505 + tangentMode: 0 + - time: 9.71669006 + value: .0391032919 + inSlope: -.14608416 + outSlope: -.14608416 + tangentMode: 0 + - time: 9.73335648 + value: .0366816521 + inSlope: -.144500628 + outSlope: -.144500628 + tangentMode: 0 + - time: 9.75002289 + value: .0342866778 + inSlope: -.142885804 + outSlope: -.142885804 + tangentMode: 0 + - time: 9.7666893 + value: .0319188647 + inSlope: -.141239122 + outSlope: -.141239122 + tangentMode: 0 + - time: 9.78335571 + value: .0295787789 + inSlope: -.139560997 + outSlope: -.139560997 + tangentMode: 0 + - time: 9.80002213 + value: .0272669028 + inSlope: -.13785167 + outSlope: -.13785167 + tangentMode: 0 + - time: 9.81668854 + value: .0249837935 + inSlope: -.136111781 + outSlope: -.136111781 + tangentMode: 0 + - time: 9.83335495 + value: .0227299128 + inSlope: -.134343117 + outSlope: -.134343117 + tangentMode: 0 + - time: 9.85002136 + value: .020505758 + inSlope: -.132546782 + outSlope: -.132546782 + tangentMode: 0 + - time: 9.86668777 + value: .0183117539 + inSlope: -.130720854 + outSlope: -.130720854 + tangentMode: 0 + - time: 9.88335419 + value: .0161484629 + inSlope: -.128866822 + outSlope: -.128866822 + tangentMode: 0 + - time: 9.9000206 + value: .0140162585 + inSlope: -.126987427 + outSlope: -.126987427 + tangentMode: 0 + - time: 9.91668701 + value: .011915613 + inSlope: -.125081688 + outSlope: -.125081688 + tangentMode: 0 + - time: 9.93335342 + value: .00984693225 + inSlope: -.123149753 + outSlope: -.123149753 + tangentMode: 0 + - time: 9.95001984 + value: .00781068392 + inSlope: -.121192336 + outSlope: -.121192336 + tangentMode: 0 + - time: 9.96668625 + value: .00580724934 + inSlope: -.119211197 + outSlope: -.119211197 + tangentMode: 0 + - time: 9.98335266 + value: .00383703783 + inSlope: -.117206439 + outSlope: -.117206439 + tangentMode: 0 + - time: 10.0000191 + value: .00190042774 + inSlope: -.115178213 + outSlope: -.115178213 + tangentMode: 0 + - time: 10.0166664 + value: -0 + inSlope: -.114158049 + outSlope: -.114158049 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalRotation.z + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: -1 + inSlope: .00084757799 + outSlope: .00084757799 + tangentMode: 0 + - time: .0166666675 + value: -.999985874 + inSlope: .00169694412 + outSlope: .00169694412 + tangentMode: 0 + - time: .0333333351 + value: -.999943435 + inSlope: .00339746429 + outSlope: .00339746429 + tangentMode: 0 + - time: .0500000045 + value: -.999872625 + inSlope: .00510692596 + outSlope: .00510692596 + tangentMode: 0 + - time: .0666666701 + value: -.999773204 + inSlope: .00681817578 + outSlope: .00681817578 + tangentMode: 0 + - time: .0833333358 + value: -.999645352 + inSlope: .00853300188 + outSlope: .00853300188 + tangentMode: 0 + - time: .100000001 + value: -.999488771 + inSlope: .0102567682 + outSlope: .0102567682 + tangentMode: 0 + - time: .116666667 + value: -.99930346 + inSlope: .0119805317 + outSlope: .0119805317 + tangentMode: 0 + - time: .13333334 + value: -.99908942 + inSlope: .0137096625 + outSlope: .0137096625 + tangentMode: 0 + - time: .150000006 + value: -.998846471 + inSlope: .0154459495 + outSlope: .0154459495 + tangentMode: 0 + - time: .166666672 + value: -.998574555 + inSlope: .017184021 + outSlope: .017184021 + tangentMode: 0 + - time: .183333337 + value: -.998273671 + inSlope: .018929245 + outSlope: .018929245 + tangentMode: 0 + - time: .200000003 + value: -.99794358 + inSlope: .0206744689 + outSlope: .0206744689 + tangentMode: 0 + - time: .216666669 + value: -.997584522 + inSlope: .0224214811 + outSlope: .0224214811 + tangentMode: 0 + - time: .233333334 + value: -.997196198 + inSlope: .0241756458 + outSlope: .0241756458 + tangentMode: 0 + - time: .25 + value: -.996778667 + inSlope: .0259315856 + outSlope: .0259315856 + tangentMode: 0 + - time: .266666681 + value: -.996331811 + inSlope: .0276911035 + outSlope: .0276911035 + tangentMode: 0 + - time: .283333361 + value: -.995855629 + inSlope: .029452417 + outSlope: .029452417 + tangentMode: 0 + - time: .300000042 + value: -.995350063 + inSlope: .0312173106 + outSlope: .0312173106 + tangentMode: 0 + - time: .316666722 + value: -.994815052 + inSlope: .0329857767 + outSlope: .0329857767 + tangentMode: 0 + - time: .333333403 + value: -.994250536 + inSlope: .0347542465 + outSlope: .0347542465 + tangentMode: 0 + - time: .350000083 + value: -.993656576 + inSlope: .0365227163 + outSlope: .0365227163 + tangentMode: 0 + - time: .366666764 + value: -.993033111 + inSlope: .0382965505 + outSlope: .0382965505 + tangentMode: 0 + - time: .383333445 + value: -.992380023 + inSlope: .0400721692 + outSlope: .0400721692 + tangentMode: 0 + - time: .400000125 + value: -.991697371 + inSlope: .0418459997 + outSlope: .0418459997 + tangentMode: 0 + - time: .416666806 + value: -.990985155 + inSlope: .043621622 + outSlope: .043621622 + tangentMode: 0 + - time: .433333486 + value: -.990243316 + inSlope: .0453972444 + outSlope: .0453972444 + tangentMode: 0 + - time: .450000167 + value: -.989471912 + inSlope: .0471728668 + outSlope: .0471728668 + tangentMode: 0 + - time: .466666847 + value: -.988670886 + inSlope: .0489538498 + outSlope: .0489538498 + tangentMode: 0 + - time: .483333528 + value: -.987840116 + inSlope: .0507330932 + outSlope: .0507330932 + tangentMode: 0 + - time: .500000179 + value: -.986979783 + inSlope: .0525105521 + outSlope: .0525105521 + tangentMode: 0 + - time: .51666683 + value: -.986089766 + inSlope: .0542897508 + outSlope: .0542897508 + tangentMode: 0 + - time: .53333348 + value: -.985170126 + inSlope: .056063585 + outSlope: .056063585 + tangentMode: 0 + - time: .550000131 + value: -.984220982 + inSlope: .0578392111 + outSlope: .0578392111 + tangentMode: 0 + - time: .566666782 + value: -.983242154 + inSlope: .0596130453 + outSlope: .0596130453 + tangentMode: 0 + - time: .583333433 + value: -.982233882 + inSlope: .0613850951 + outSlope: .0613850951 + tangentMode: 0 + - time: .600000083 + value: -.981195986 + inSlope: .0631607175 + outSlope: .0631607175 + tangentMode: 0 + - time: .616666734 + value: -.980128527 + inSlope: .0649309754 + outSlope: .0649309754 + tangentMode: 0 + - time: .633333385 + value: -.979031622 + inSlope: .0666994452 + outSlope: .0666994452 + tangentMode: 0 + - time: .650000036 + value: -.977905214 + inSlope: .0684643462 + outSlope: .0684643462 + tangentMode: 0 + - time: .666666687 + value: -.97674948 + inSlope: .0702256635 + outSlope: .0702256635 + tangentMode: 0 + - time: .683333337 + value: -.975564361 + inSlope: .0719869807 + outSlope: .0719869807 + tangentMode: 0 + - time: .699999988 + value: -.974349916 + inSlope: .0737411529 + outSlope: .0737411529 + tangentMode: 0 + - time: .716666639 + value: -.973106325 + inSlope: .0754935294 + outSlope: .0754935294 + tangentMode: 0 + - time: .73333329 + value: -.971833467 + inSlope: .0772441179 + outSlope: .0772441179 + tangentMode: 0 + - time: .74999994 + value: -.970531523 + inSlope: .0789929181 + outSlope: .0789929181 + tangentMode: 0 + - time: .766666591 + value: -.969200373 + inSlope: .0807327777 + outSlope: .0807327777 + tangentMode: 0 + - time: .783333242 + value: -.967840433 + inSlope: .082469061 + outSlope: .082469061 + tangentMode: 0 + - time: .799999893 + value: -.966451406 + inSlope: .0842035636 + outSlope: .0842035636 + tangentMode: 0 + - time: .816666543 + value: -.96503365 + inSlope: .0859291181 + outSlope: .0859291181 + tangentMode: 0 + - time: .833333194 + value: -.963587105 + inSlope: .0876528844 + outSlope: .0876528844 + tangentMode: 0 + - time: .849999845 + value: -.96211189 + inSlope: .0893712938 + outSlope: .0893712938 + tangentMode: 0 + - time: .866666496 + value: -.960608065 + inSlope: .0910825431 + outSlope: .0910825431 + tangentMode: 0 + - time: .883333147 + value: -.959075809 + inSlope: .0927866399 + outSlope: .0927866399 + tangentMode: 0 + - time: .899999797 + value: -.95751518 + inSlope: .0944889486 + outSlope: .0944889486 + tangentMode: 0 + - time: .916666448 + value: -.95592618 + inSlope: .0961823165 + outSlope: .0961823165 + tangentMode: 0 + - time: .933333099 + value: -.954309106 + inSlope: .0978685319 + outSlope: .0978685319 + tangentMode: 0 + - time: .94999975 + value: -.952663898 + inSlope: .0995493904 + outSlope: .0995493904 + tangentMode: 0 + - time: .9666664 + value: -.950990796 + inSlope: .101224877 + outSlope: .101224877 + tangentMode: 0 + - time: .983333051 + value: -.949289739 + inSlope: .102887847 + outSlope: .102887847 + tangentMode: 0 + - time: .999999702 + value: -.947561204 + inSlope: .104547054 + outSlope: .104547054 + tangentMode: 0 + - time: 1.01666641 + value: -.945804834 + inSlope: .106197506 + outSlope: .106197506 + tangentMode: 0 + - time: 1.03333306 + value: -.944021285 + inSlope: .107839212 + outSlope: .107839212 + tangentMode: 0 + - time: 1.04999971 + value: -.942210197 + inSlope: .109477147 + outSlope: .109477147 + tangentMode: 0 + - time: 1.06666636 + value: -.94037205 + inSlope: .111097202 + outSlope: .111097202 + tangentMode: 0 + - time: 1.08333302 + value: -.938506961 + inSlope: .112719044 + outSlope: .112719044 + tangentMode: 0 + - time: 1.09999967 + value: -.936614752 + inSlope: .114331953 + outSlope: .114331953 + tangentMode: 0 + - time: 1.11666632 + value: -.934695899 + inSlope: .115926974 + outSlope: .115926974 + tangentMode: 0 + - time: 1.13333297 + value: -.932750523 + inSlope: .117520206 + outSlope: .117520206 + tangentMode: 0 + - time: 1.14999962 + value: -.930778563 + inSlope: .119106285 + outSlope: .119106285 + tangentMode: 0 + - time: 1.16666627 + value: -.928780317 + inSlope: .120676279 + outSlope: .120676279 + tangentMode: 0 + - time: 1.18333292 + value: -.926756024 + inSlope: .122237325 + outSlope: .122237325 + tangentMode: 0 + - time: 1.19999957 + value: -.924705744 + inSlope: .123791218 + outSlope: .123791218 + tangentMode: 0 + - time: 1.21666622 + value: -.922629654 + inSlope: .125334382 + outSlope: .125334382 + tangentMode: 0 + - time: 1.23333287 + value: -.920527935 + inSlope: .126865029 + outSlope: .126865029 + tangentMode: 0 + - time: 1.24999952 + value: -.918400824 + inSlope: .128388524 + outSlope: .128388524 + tangentMode: 0 + - time: 1.26666617 + value: -.916248322 + inSlope: .12990129 + outSlope: .12990129 + tangentMode: 0 + - time: 1.28333282 + value: -.914070785 + inSlope: .131399751 + outSlope: .131399751 + tangentMode: 0 + - time: 1.29999948 + value: -.911868334 + inSlope: .132892847 + outSlope: .132892847 + tangentMode: 0 + - time: 1.31666613 + value: -.909641027 + inSlope: .134373441 + outSlope: .134373441 + tangentMode: 0 + - time: 1.33333278 + value: -.907389224 + inSlope: .135837927 + outSlope: .135837927 + tangentMode: 0 + - time: 1.34999943 + value: -.905113101 + inSlope: .137295261 + outSlope: .137295261 + tangentMode: 0 + - time: 1.36666608 + value: -.902812719 + inSlope: .138741866 + outSlope: .138741866 + tangentMode: 0 + - time: 1.38333273 + value: -.900488377 + inSlope: .140172377 + outSlope: .140172377 + tangentMode: 0 + - time: 1.39999938 + value: -.898140311 + inSlope: .141599312 + outSlope: .141599312 + tangentMode: 0 + - time: 1.41666603 + value: -.895768404 + inSlope: .143013731 + outSlope: .143013731 + tangentMode: 0 + - time: 1.43333268 + value: -.893373191 + inSlope: .144408479 + outSlope: .144408479 + tangentMode: 0 + - time: 1.44999933 + value: -.890954792 + inSlope: .145794287 + outSlope: .145794287 + tangentMode: 0 + - time: 1.46666598 + value: -.888513386 + inSlope: .147172943 + outSlope: .147172943 + tangentMode: 0 + - time: 1.48333263 + value: -.886049032 + inSlope: .148533732 + outSlope: .148533732 + tangentMode: 0 + - time: 1.49999928 + value: -.883562267 + inSlope: .149880201 + outSlope: .149880201 + tangentMode: 0 + - time: 1.51666594 + value: -.88105303 + inSlope: .151221305 + outSlope: .151221305 + tangentMode: 0 + - time: 1.53333259 + value: -.878521562 + inSlope: .152551681 + outSlope: .152551681 + tangentMode: 0 + - time: 1.54999924 + value: -.875967979 + inSlope: .153862387 + outSlope: .153862387 + tangentMode: 0 + - time: 1.56666589 + value: -.87339282 + inSlope: .155160576 + outSlope: .155160576 + tangentMode: 0 + - time: 1.58333254 + value: -.870795965 + inSlope: .156451613 + outSlope: .156451613 + tangentMode: 0 + - time: 1.59999919 + value: -.868177772 + inSlope: .157726556 + outSlope: .157726556 + tangentMode: 0 + - time: 1.61666584 + value: -.865538418 + inSlope: .158992559 + outSlope: .158992559 + tangentMode: 0 + - time: 1.63333249 + value: -.862878025 + inSlope: .160246044 + outSlope: .160246044 + tangentMode: 0 + - time: 1.64999914 + value: -.860196888 + inSlope: .161483437 + outSlope: .161483437 + tangentMode: 0 + - time: 1.66666579 + value: -.857495248 + inSlope: .162704736 + outSlope: .162704736 + tangentMode: 0 + - time: 1.68333244 + value: -.854773402 + inSlope: .163920671 + outSlope: .163920671 + tangentMode: 0 + - time: 1.69999909 + value: -.852031231 + inSlope: .165125892 + outSlope: .165125892 + tangentMode: 0 + - time: 1.71666574 + value: -.849269211 + inSlope: .16630964 + outSlope: .16630964 + tangentMode: 0 + - time: 1.7333324 + value: -.846487582 + inSlope: .167484447 + outSlope: .167484447 + tangentMode: 0 + - time: 1.74999905 + value: -.843686402 + inSlope: .168648526 + outSlope: .168648526 + tangentMode: 0 + - time: 1.7666657 + value: -.84086597 + inSlope: .1697983 + outSlope: .1697983 + tangentMode: 0 + - time: 1.78333235 + value: -.838026464 + inSlope: .170937344 + outSlope: .170937344 + tangentMode: 0 + - time: 1.799999 + value: -.835168064 + inSlope: .172060296 + outSlope: .172060296 + tangentMode: 0 + - time: 1.81666565 + value: -.832291126 + inSlope: .173172519 + outSlope: .173172519 + tangentMode: 0 + - time: 1.8333323 + value: -.829395652 + inSlope: .174274012 + outSlope: .174274012 + tangentMode: 0 + - time: 1.84999895 + value: -.826481998 + inSlope: .175359413 + outSlope: .175359413 + tangentMode: 0 + - time: 1.8666656 + value: -.823550344 + inSlope: .176434085 + outSlope: .176434085 + tangentMode: 0 + - time: 1.88333225 + value: -.820600867 + inSlope: .177498028 + outSlope: .177498028 + tangentMode: 0 + - time: 1.8999989 + value: -.817633748 + inSlope: .178551242 + outSlope: .178551242 + tangentMode: 0 + - time: 1.91666555 + value: -.814649165 + inSlope: .179586589 + outSlope: .179586589 + tangentMode: 0 + - time: 1.9333322 + value: -.811647534 + inSlope: .180612981 + outSlope: .180612981 + tangentMode: 0 + - time: 1.94999886 + value: -.808628738 + inSlope: .181630433 + outSlope: .181630433 + tangentMode: 0 + - time: 1.96666551 + value: -.805593193 + inSlope: .182631791 + outSlope: .182631791 + tangentMode: 0 + - time: 1.98333216 + value: -.802541018 + inSlope: .18362242 + outSlope: .18362242 + tangentMode: 0 + - time: 1.99999881 + value: -.799472451 + inSlope: .184600532 + outSlope: .184600532 + tangentMode: 0 + - time: 2.01666546 + value: -.796387672 + inSlope: .185567915 + outSlope: .185567915 + tangentMode: 0 + - time: 2.03333211 + value: -.79328686 + inSlope: .18652457 + outSlope: .18652457 + tangentMode: 0 + - time: 2.04999876 + value: -.790170193 + inSlope: .187470496 + outSlope: .187470496 + tangentMode: 0 + - time: 2.06666541 + value: -.787037849 + inSlope: .188407481 + outSlope: .188407481 + tangentMode: 0 + - time: 2.08333206 + value: -.783889949 + inSlope: .189328372 + outSlope: .189328372 + tangentMode: 0 + - time: 2.09999871 + value: -.78072691 + inSlope: .190238535 + outSlope: .190238535 + tangentMode: 0 + - time: 2.11666536 + value: -.777548671 + inSlope: .191137969 + outSlope: .191137969 + tangentMode: 0 + - time: 2.13333201 + value: -.77435565 + inSlope: .192028463 + outSlope: .192028463 + tangentMode: 0 + - time: 2.14999866 + value: -.771147728 + inSlope: .192911804 + outSlope: .192911804 + tangentMode: 0 + - time: 2.16666532 + value: -.767925262 + inSlope: .193779051 + outSlope: .193779051 + tangentMode: 0 + - time: 2.18333197 + value: -.764688432 + inSlope: .194640934 + outSlope: .194640934 + tangentMode: 0 + - time: 2.19999862 + value: -.761437237 + inSlope: .195488513 + outSlope: .195488513 + tangentMode: 0 + - time: 2.21666527 + value: -.758172154 + inSlope: .196325377 + outSlope: .196325377 + tangentMode: 0 + - time: 2.23333192 + value: -.754893064 + inSlope: .19715865 + outSlope: .19715865 + tangentMode: 0 + - time: 2.24999857 + value: -.751600206 + inSlope: .197981194 + outSlope: .197981194 + tangentMode: 0 + - time: 2.26666522 + value: -.748293698 + inSlope: .198791221 + outSlope: .198791221 + tangentMode: 0 + - time: 2.28333187 + value: -.744973838 + inSlope: .199594095 + outSlope: .199594095 + tangentMode: 0 + - time: 2.29999852 + value: -.741640568 + inSlope: .200389817 + outSlope: .200389817 + tangentMode: 0 + - time: 2.31666517 + value: -.738294184 + inSlope: .201173022 + outSlope: .201173022 + tangentMode: 0 + - time: 2.33333182 + value: -.734934807 + inSlope: .201947287 + outSlope: .201947287 + tangentMode: 0 + - time: 2.34999847 + value: -.731562614 + inSlope: .202714399 + outSlope: .202714399 + tangentMode: 0 + - time: 2.36666512 + value: -.728177667 + inSlope: .203477934 + outSlope: .203477934 + tangentMode: 0 + - time: 2.38333178 + value: -.724780023 + inSlope: .204232529 + outSlope: .204232529 + tangentMode: 0 + - time: 2.39999843 + value: -.721369922 + inSlope: .204974607 + outSlope: .204974607 + tangentMode: 0 + - time: 2.41666508 + value: -.717947543 + inSlope: .205713108 + outSlope: .205713108 + tangentMode: 0 + - time: 2.43333173 + value: -.714512825 + inSlope: .206444457 + outSlope: .206444457 + tangentMode: 0 + - time: 2.44999838 + value: -.711066067 + inSlope: .207166865 + outSlope: .207166865 + tangentMode: 0 + - time: 2.46666503 + value: -.707607269 + inSlope: .207885697 + outSlope: .207885697 + tangentMode: 0 + - time: 2.48333168 + value: -.70413655 + inSlope: .208595589 + outSlope: .208595589 + tangentMode: 0 + - time: 2.49999833 + value: -.700654089 + inSlope: .209178522 + outSlope: .209178522 + tangentMode: 0 + - time: 2.51666498 + value: -.697163939 + inSlope: .209521845 + outSlope: .209521845 + tangentMode: 0 + - time: 2.53333163 + value: -.693670034 + inSlope: .209756091 + outSlope: .209756091 + tangentMode: 0 + - time: 2.54999828 + value: -.690172076 + inSlope: .209999278 + outSlope: .209999278 + tangentMode: 0 + - time: 2.56666493 + value: -.686670065 + inSlope: .210251406 + outSlope: .210251406 + tangentMode: 0 + - time: 2.58333158 + value: -.683163702 + inSlope: .210523203 + outSlope: .210523203 + tangentMode: 0 + - time: 2.59999824 + value: -.679652631 + inSlope: .210805744 + outSlope: .210805744 + tangentMode: 0 + - time: 2.61666489 + value: -.676136851 + inSlope: .211097211 + outSlope: .211097211 + tangentMode: 0 + - time: 2.63333154 + value: -.672616065 + inSlope: .211404771 + outSlope: .211404771 + tangentMode: 0 + - time: 2.64999819 + value: -.669090033 + inSlope: .211721271 + outSlope: .211721271 + tangentMode: 0 + - time: 2.66666484 + value: -.665558696 + inSlope: .212055653 + outSlope: .212055653 + tangentMode: 0 + - time: 2.68333149 + value: -.662021518 + inSlope: .212402552 + outSlope: .212402552 + tangentMode: 0 + - time: 2.69999814 + value: -.658478618 + inSlope: .21276018 + outSlope: .21276018 + tangentMode: 0 + - time: 2.71666479 + value: -.654929519 + inSlope: .213133901 + outSlope: .213133901 + tangentMode: 0 + - time: 2.73333144 + value: -.651374161 + inSlope: .213520139 + outSlope: .213520139 + tangentMode: 0 + - time: 2.74999809 + value: -.647812188 + inSlope: .213917106 + outSlope: .213917106 + tangentMode: 0 + - time: 2.76666474 + value: -.644243598 + inSlope: .214330167 + outSlope: .214330167 + tangentMode: 0 + - time: 2.78333139 + value: -.640667856 + inSlope: .214757532 + outSlope: .214757532 + tangentMode: 0 + - time: 2.79999804 + value: -.637085021 + inSlope: .215195626 + outSlope: .215195626 + tangentMode: 0 + - time: 2.8166647 + value: -.633494675 + inSlope: .215646237 + outSlope: .215646237 + tangentMode: 0 + - time: 2.83333135 + value: -.62989682 + inSlope: .216109365 + outSlope: .216109365 + tangentMode: 0 + - time: 2.849998 + value: -.626291037 + inSlope: .216588587 + outSlope: .216588587 + tangentMode: 0 + - time: 2.86666465 + value: -.622677207 + inSlope: .21707496 + outSlope: .21707496 + tangentMode: 0 + - time: 2.8833313 + value: -.619055212 + inSlope: .217577428 + outSlope: .217577428 + tangentMode: 0 + - time: 2.89999795 + value: -.615424633 + inSlope: .218092412 + outSlope: .218092412 + tangentMode: 0 + - time: 2.9166646 + value: -.611785471 + inSlope: .218619913 + outSlope: .218619913 + tangentMode: 0 + - time: 2.93333125 + value: -.60813731 + inSlope: .219159931 + outSlope: .219159931 + tangentMode: 0 + - time: 2.9499979 + value: -.604480147 + inSlope: .219707102 + outSlope: .219707102 + tangentMode: 0 + - time: 2.96666455 + value: -.600813746 + inSlope: .220266789 + outSlope: .220266789 + tangentMode: 0 + - time: 2.9833312 + value: -.597137928 + inSlope: .220838994 + outSlope: .220838994 + tangentMode: 0 + - time: 2.99999785 + value: -.593452454 + inSlope: .221421927 + outSlope: .221421927 + tangentMode: 0 + - time: 3.01666451 + value: -.589757204 + inSlope: .222013801 + outSlope: .222013801 + tangentMode: 0 + - time: 3.03333116 + value: -.586052001 + inSlope: .222621769 + outSlope: .222621769 + tangentMode: 0 + - time: 3.04999781 + value: -.582336485 + inSlope: .223240465 + outSlope: .223240465 + tangentMode: 0 + - time: 3.06666446 + value: -.578610659 + inSlope: .223860949 + outSlope: .223860949 + tangentMode: 0 + - time: 3.08333111 + value: -.574874461 + inSlope: .224490374 + outSlope: .224490374 + tangentMode: 0 + - time: 3.09999776 + value: -.571127653 + inSlope: .225135893 + outSlope: .225135893 + tangentMode: 0 + - time: 3.11666441 + value: -.567369938 + inSlope: .225790352 + outSlope: .225790352 + tangentMode: 0 + - time: 3.13333106 + value: -.563601315 + inSlope: .226453751 + outSlope: .226453751 + tangentMode: 0 + - time: 3.14999771 + value: -.559821486 + inSlope: .227124318 + outSlope: .227124318 + tangentMode: 0 + - time: 3.16666436 + value: -.556030512 + inSlope: .227802023 + outSlope: .227802023 + tangentMode: 0 + - time: 3.18333101 + value: -.552228093 + inSlope: .228488669 + outSlope: .228488669 + tangentMode: 0 + - time: 3.19999766 + value: -.54841423 + inSlope: .229186043 + outSlope: .229186043 + tangentMode: 0 + - time: 3.21666431 + value: -.544588566 + inSlope: .229888782 + outSlope: .229888782 + tangentMode: 0 + - time: 3.23333097 + value: -.540751278 + inSlope: .230596885 + outSlope: .230596885 + tangentMode: 0 + - time: 3.24999762 + value: -.53690201 + inSlope: .231315717 + outSlope: .231315717 + tangentMode: 0 + - time: 3.26666427 + value: -.533040762 + inSlope: .23204349 + outSlope: .23204349 + tangentMode: 0 + - time: 3.28333092 + value: -.529167235 + inSlope: .232773051 + outSlope: .232773051 + tangentMode: 0 + - time: 3.29999757 + value: -.525281668 + inSlope: .233509764 + outSlope: .233509764 + tangentMode: 0 + - time: 3.31666422 + value: -.521383584 + inSlope: .23425363 + outSlope: .23425363 + tangentMode: 0 + - time: 3.33333087 + value: -.517473221 + inSlope: .235001072 + outSlope: .235001072 + tangentMode: 0 + - time: 3.34999752 + value: -.513550222 + inSlope: .235761032 + outSlope: .235761032 + tangentMode: 0 + - time: 3.36666417 + value: -.509614527 + inSlope: .236524567 + outSlope: .236524567 + tangentMode: 0 + - time: 3.38333082 + value: -.505666077 + inSlope: .237289891 + outSlope: .237289891 + tangentMode: 0 + - time: 3.39999747 + value: -.501704872 + inSlope: .238058791 + outSlope: .238058791 + tangentMode: 0 + - time: 3.41666412 + value: -.497730792 + inSlope: .238836631 + outSlope: .238836631 + tangentMode: 0 + - time: 3.43333077 + value: -.493743658 + inSlope: .239618942 + outSlope: .239618942 + tangentMode: 0 + - time: 3.44999743 + value: -.489743501 + inSlope: .240405723 + outSlope: .240405723 + tangentMode: 0 + - time: 3.46666408 + value: -.485730141 + inSlope: .241199657 + outSlope: .241199657 + tangentMode: 0 + - time: 3.48333073 + value: -.48170352 + inSlope: .241996288 + outSlope: .241996288 + tangentMode: 0 + - time: 3.49999738 + value: -.477663606 + inSlope: .242795587 + outSlope: .242795587 + tangentMode: 0 + - time: 3.51666403 + value: -.473610342 + inSlope: .243599355 + outSlope: .243599355 + tangentMode: 0 + - time: 3.53333068 + value: -.469543636 + inSlope: .244404912 + outSlope: .244404912 + tangentMode: 0 + - time: 3.54999733 + value: -.465463519 + inSlope: .245217621 + outSlope: .245217621 + tangentMode: 0 + - time: 3.56666398 + value: -.461369723 + inSlope: .246034801 + outSlope: .246034801 + tangentMode: 0 + - time: 3.58333063 + value: -.457262367 + inSlope: .246851087 + outSlope: .246851087 + tangentMode: 0 + - time: 3.59999728 + value: -.453141361 + inSlope: .247677207 + outSlope: .247677207 + tangentMode: 0 + - time: 3.61666393 + value: -.449006468 + inSlope: .248503327 + outSlope: .248503327 + tangentMode: 0 + - time: 3.63333058 + value: -.444857925 + inSlope: .249331236 + outSlope: .249331236 + tangentMode: 0 + - time: 3.64999723 + value: -.440695435 + inSlope: .250166297 + outSlope: .250166297 + tangentMode: 0 + - time: 3.66666389 + value: -.436519057 + inSlope: .251000464 + outSlope: .251000464 + tangentMode: 0 + - time: 3.68333054 + value: -.432328761 + inSlope: .251841784 + outSlope: .251841784 + tangentMode: 0 + - time: 3.69999719 + value: -.428124338 + inSlope: .252688468 + outSlope: .252688468 + tangentMode: 0 + - time: 3.71666384 + value: -.42390582 + inSlope: .253533363 + outSlope: .253533363 + tangentMode: 0 + - time: 3.73333049 + value: -.419673234 + inSlope: .25438273 + outSlope: .25438273 + tangentMode: 0 + - time: 3.74999714 + value: -.415426403 + inSlope: .255239248 + outSlope: .255239248 + tangentMode: 0 + - time: 3.76666379 + value: -.411165267 + inSlope: .256094873 + outSlope: .256094873 + tangentMode: 0 + - time: 3.78333044 + value: -.406889915 + inSlope: .25695318 + outSlope: .25695318 + tangentMode: 0 + - time: 3.79999709 + value: -.402600169 + inSlope: .257814169 + outSlope: .257814169 + tangentMode: 0 + - time: 3.81666374 + value: -.398296118 + inSlope: .258679628 + outSlope: .258679628 + tangentMode: 0 + - time: 3.83333039 + value: -.393977523 + inSlope: .259554923 + outSlope: .259554923 + tangentMode: 0 + - time: 3.84999704 + value: -.389644295 + inSlope: .260432005 + outSlope: .260432005 + tangentMode: 0 + - time: 3.86666369 + value: -.385296464 + inSlope: .261308193 + outSlope: .261308193 + tangentMode: 0 + - time: 3.88333035 + value: -.38093403 + inSlope: .26218617 + outSlope: .26218617 + tangentMode: 0 + - time: 3.899997 + value: -.376556933 + inSlope: .263073087 + outSlope: .263073087 + tangentMode: 0 + - time: 3.91666365 + value: -.372164935 + inSlope: .263962686 + outSlope: .263962686 + tangentMode: 0 + - time: 3.9333303 + value: -.367758185 + inSlope: .264858544 + outSlope: .264858544 + tangentMode: 0 + - time: 3.94999695 + value: -.363336325 + inSlope: .26575619 + outSlope: .26575619 + tangentMode: 0 + - time: 3.9666636 + value: -.358899653 + inSlope: .266656548 + outSlope: .266656548 + tangentMode: 0 + - time: 3.98333025 + value: -.354447782 + inSlope: .267570287 + outSlope: .267570287 + tangentMode: 0 + - time: 3.9999969 + value: -.349980652 + inSlope: .268481344 + outSlope: .268481344 + tangentMode: 0 + - time: 4.01666355 + value: -.345498413 + inSlope: .269393146 + outSlope: .269393146 + tangentMode: 0 + - time: 4.03333044 + value: -.341000825 + inSlope: .270319253 + outSlope: .270319253 + tangentMode: 0 + - time: 4.04999733 + value: -.336487651 + inSlope: .271247268 + outSlope: .271247268 + tangentMode: 0 + - time: 4.06666422 + value: -.331959128 + inSlope: .272180676 + outSlope: .272180676 + tangentMode: 0 + - time: 4.08333111 + value: -.32741484 + inSlope: .273118556 + outSlope: .273118556 + tangentMode: 0 + - time: 4.099998 + value: -.322855055 + inSlope: .274065346 + outSlope: .274065346 + tangentMode: 0 + - time: 4.11666489 + value: -.318279207 + inSlope: .275016636 + outSlope: .275016636 + tangentMode: 0 + - time: 4.13333178 + value: -.313687712 + inSlope: .275975049 + outSlope: .275975049 + tangentMode: 0 + - time: 4.14999866 + value: -.309079915 + inSlope: .276935279 + outSlope: .276935279 + tangentMode: 0 + - time: 4.16666555 + value: -.304456413 + inSlope: .277902663 + outSlope: .277902663 + tangentMode: 0 + - time: 4.18333244 + value: -.29981637 + inSlope: .278889686 + outSlope: .278889686 + tangentMode: 0 + - time: 4.19999933 + value: -.295159966 + inSlope: .279871345 + outSlope: .279871345 + tangentMode: 0 + - time: 4.21666622 + value: -.2904872 + inSlope: .28086555 + outSlope: .28086555 + tangentMode: 0 + - time: 4.23333311 + value: -.285797656 + inSlope: .281866908 + outSlope: .281866908 + tangentMode: 0 + - time: 4.25 + value: -.281091511 + inSlope: .282874525 + outSlope: .282874525 + tangentMode: 0 + - time: 4.26666689 + value: -.27636838 + inSlope: .283891052 + outSlope: .283891052 + tangentMode: 0 + - time: 4.28333378 + value: -.27162835 + inSlope: .284915626 + outSlope: .284915626 + tangentMode: 0 + - time: 4.30000067 + value: -.266871065 + inSlope: .285957217 + outSlope: .285957217 + tangentMode: 0 + - time: 4.31666756 + value: -.262096316 + inSlope: .286997914 + outSlope: .286997914 + tangentMode: 0 + - time: 4.33333445 + value: -.257304341 + inSlope: .288048416 + outSlope: .288048416 + tangentMode: 0 + - time: 4.35000134 + value: -.252494574 + inSlope: .289112806 + outSlope: .289112806 + tangentMode: 0 + - time: 4.36666822 + value: -.247667119 + inSlope: .290180743 + outSlope: .290180743 + tangentMode: 0 + - time: 4.38333511 + value: -.242821753 + inSlope: .291267037 + outSlope: .291267037 + tangentMode: 0 + - time: 4.400002 + value: -.237958089 + inSlope: .29235509 + outSlope: .29235509 + tangentMode: 0 + - time: 4.41666889 + value: -.233076453 + inSlope: .293457925 + outSlope: .293457925 + tangentMode: 0 + - time: 4.43333578 + value: -.228176028 + inSlope: .294573694 + outSlope: .294573694 + tangentMode: 0 + - time: 4.45000267 + value: -.223257199 + inSlope: .295696199 + outSlope: .295696199 + tangentMode: 0 + - time: 4.46666956 + value: -.218319356 + inSlope: .296832532 + outSlope: .296832532 + tangentMode: 0 + - time: 4.48333645 + value: -.213362649 + inSlope: .297974229 + outSlope: .297974229 + tangentMode: 0 + - time: 4.50000334 + value: -.208386749 + inSlope: .299139202 + outSlope: .299139202 + tangentMode: 0 + - time: 4.51667023 + value: -.203391209 + inSlope: .300308645 + outSlope: .300308645 + tangentMode: 0 + - time: 4.53333712 + value: -.198376328 + inSlope: .301486552 + outSlope: .301486552 + tangentMode: 0 + - time: 4.55000401 + value: -.193341523 + inSlope: .302680552 + outSlope: .302680552 + tangentMode: 0 + - time: 4.56667089 + value: -.188286841 + inSlope: .303878605 + outSlope: .303878605 + tangentMode: 0 + - time: 4.58333778 + value: -.183212101 + inSlope: .305101216 + outSlope: .305101216 + tangentMode: 0 + - time: 4.60000467 + value: -.178116664 + inSlope: .306333244 + outSlope: .306333244 + tangentMode: 0 + - time: 4.61667156 + value: -.173000857 + inSlope: .30756703 + outSlope: .30756703 + tangentMode: 0 + - time: 4.63333845 + value: -.167864293 + inSlope: .308827221 + outSlope: .308827221 + tangentMode: 0 + - time: 4.65000534 + value: -.162706479 + inSlope: .310095429 + outSlope: .310095429 + tangentMode: 0 + - time: 4.66667223 + value: -.15752764 + inSlope: .311367691 + outSlope: .311367691 + tangentMode: 0 + - time: 4.68333912 + value: -.152327418 + inSlope: .312653333 + outSlope: .312653333 + tangentMode: 0 + - time: 4.70000601 + value: -.147105724 + inSlope: .313957751 + outSlope: .313957751 + tangentMode: 0 + - time: 4.7166729 + value: -.14186202 + inSlope: .315277815 + outSlope: .315277815 + tangentMode: 0 + - time: 4.73333979 + value: -.136596322 + inSlope: .31660372 + outSlope: .31660372 + tangentMode: 0 + - time: 4.75000668 + value: -.131308421 + inSlope: .31794256 + outSlope: .31794256 + tangentMode: 0 + - time: 4.76667356 + value: -.125998095 + inSlope: .319293261 + outSlope: .319293261 + tangentMode: 0 + - time: 4.78334045 + value: -.12066517 + inSlope: .320655823 + outSlope: .320655823 + tangentMode: 0 + - time: 4.80000734 + value: -.115309425 + inSlope: .322027087 + outSlope: .322027087 + tangentMode: 0 + - time: 4.81667423 + value: -.109930791 + inSlope: .323413759 + outSlope: .323413759 + tangentMode: 0 + - time: 4.83334112 + value: -.104528822 + inSlope: .324808061 + outSlope: .324808061 + tangentMode: 0 + - time: 4.85000801 + value: -.0991037115 + inSlope: .326209038 + outSlope: .326209038 + tangentMode: 0 + - time: 4.8666749 + value: -.0936550424 + inSlope: .327627689 + outSlope: .327627689 + tangentMode: 0 + - time: 4.88334179 + value: -.0881826431 + inSlope: .329057038 + outSlope: .329057038 + tangentMode: 0 + - time: 4.90000868 + value: -.0826863274 + inSlope: .330493152 + outSlope: .330493152 + tangentMode: 0 + - time: 4.91667557 + value: -.0771660581 + inSlope: .331934363 + outSlope: .331934363 + tangentMode: 0 + - time: 4.93334246 + value: -.0716217011 + inSlope: .333386958 + outSlope: .333386958 + tangentMode: 0 + - time: 4.95000935 + value: -.0660530105 + inSlope: .334847629 + outSlope: .334847629 + tangentMode: 0 + - time: 4.96667624 + value: -.060459964 + inSlope: .336312771 + outSlope: .336312771 + tangentMode: 0 + - time: 4.98334312 + value: -.0548424348 + inSlope: .337784529 + outSlope: .337784529 + tangentMode: 0 + - time: 5.00001001 + value: -.0492003299 + inSlope: .339464903 + outSlope: .339464903 + tangentMode: 0 + - time: 5.0166769 + value: -.0435267873 + inSlope: .341539562 + outSlope: .341539562 + tangentMode: 0 + - time: 5.03334379 + value: -.0378155261 + inSlope: .343778044 + outSlope: .343778044 + tangentMode: 0 + - time: 5.05001068 + value: -.0320673659 + inSlope: .345971614 + outSlope: .345971614 + tangentMode: 0 + - time: 5.06667757 + value: -.0262829848 + inSlope: .348118812 + outSlope: .348118812 + tangentMode: 0 + - time: 5.08334446 + value: -.0204632506 + inSlope: .350213528 + outSlope: .350213528 + tangentMode: 0 + - time: 5.10001135 + value: -.0146090453 + inSlope: .352261364 + outSlope: .352261364 + tangentMode: 0 + - time: 5.11667824 + value: -.00872104801 + inSlope: .354260802 + outSlope: .354260802 + tangentMode: 0 + - time: 5.13334513 + value: -.00280019362 + inSlope: .356199473 + outSlope: .356199473 + tangentMode: 0 + - time: 5.15001202 + value: .00315242633 + inSlope: .358082592 + outSlope: .358082592 + tangentMode: 0 + - time: 5.16667891 + value: .00913605187 + inSlope: .359915614 + outSlope: .359915614 + tangentMode: 0 + - time: 5.18334579 + value: .015149774 + inSlope: .361686409 + outSlope: .361686409 + tangentMode: 0 + - time: 5.20001268 + value: .0211924259 + inSlope: .363397032 + outSlope: .363397032 + tangentMode: 0 + - time: 5.21667957 + value: .0272631701 + inSlope: .365042388 + outSlope: .365042388 + tangentMode: 0 + - time: 5.23334646 + value: .0333606675 + inSlope: .366620958 + outSlope: .366620958 + tangentMode: 0 + - time: 5.25001335 + value: .0394840315 + inSlope: .368148625 + outSlope: .368148625 + tangentMode: 0 + - time: 5.26668024 + value: .0456324518 + inSlope: .369599581 + outSlope: .369599581 + tangentMode: 0 + - time: 5.28334713 + value: .0518041812 + inSlope: .370979875 + outSlope: .370979875 + tangentMode: 0 + - time: 5.30001402 + value: .0579986125 + inSlope: .372302055 + outSlope: .372302055 + tangentMode: 0 + - time: 5.31668091 + value: .0642144158 + inSlope: .373550504 + outSlope: .373550504 + tangentMode: 0 + - time: 5.3333478 + value: .0704504624 + inSlope: .374727964 + outSlope: .374727964 + tangentMode: 0 + - time: 5.35001469 + value: .0767055154 + inSlope: .375825435 + outSlope: .375825435 + tangentMode: 0 + - time: 5.36668158 + value: .0829781443 + inSlope: .376853168 + outSlope: .376853168 + tangentMode: 0 + - time: 5.38334846 + value: .089267455 + inSlope: .377810925 + outSlope: .377810925 + tangentMode: 0 + - time: 5.40001535 + value: .0955720097 + inSlope: .378685772 + outSlope: .378685772 + tangentMode: 0 + - time: 5.41668224 + value: .101890482 + inSlope: .379490852 + outSlope: .379490852 + tangentMode: 0 + - time: 5.43334913 + value: .108221874 + inSlope: .380219072 + outSlope: .380219072 + tangentMode: 0 + - time: 5.45001602 + value: .11456462 + inSlope: .380866349 + outSlope: .380866349 + tangentMode: 0 + - time: 5.46668291 + value: .120917588 + inSlope: .381431639 + outSlope: .381431639 + tangentMode: 0 + - time: 5.4833498 + value: .127279177 + inSlope: .381920904 + outSlope: .381920904 + tangentMode: 0 + - time: 5.50001669 + value: .133648455 + inSlope: .38233307 + outSlope: .38233307 + tangentMode: 0 + - time: 5.51668358 + value: .140023783 + inSlope: .382659405 + outSlope: .382659405 + tangentMode: 0 + - time: 5.53335047 + value: .146403939 + inSlope: .382908404 + outSlope: .382908404 + tangentMode: 0 + - time: 5.55001736 + value: .152787566 + inSlope: .383075118 + outSlope: .383075118 + tangentMode: 0 + - time: 5.56668425 + value: .15917328 + inSlope: .383162737 + outSlope: .383162737 + tangentMode: 0 + - time: 5.58335114 + value: .165559828 + inSlope: .383167654 + outSlope: .383167654 + tangentMode: 0 + - time: 5.60001802 + value: .171945706 + inSlope: .383090764 + outSlope: .383090764 + tangentMode: 0 + - time: 5.61668491 + value: .178329691 + inSlope: .382933855 + outSlope: .382933855 + tangentMode: 0 + - time: 5.6333518 + value: .184710339 + inSlope: .382693827 + outSlope: .382693827 + tangentMode: 0 + - time: 5.65001869 + value: .191086322 + inSlope: .382366151 + outSlope: .382366151 + tangentMode: 0 + - time: 5.66668558 + value: .197456047 + inSlope: .381964266 + outSlope: .381964266 + tangentMode: 0 + - time: 5.68335247 + value: .203818634 + inSlope: .381484598 + outSlope: .381484598 + tangentMode: 0 + - time: 5.70001936 + value: .21017237 + inSlope: .380917758 + outSlope: .380917758 + tangentMode: 0 + - time: 5.71668625 + value: .216516063 + inSlope: .380267799 + outSlope: .380267799 + tangentMode: 0 + - time: 5.73335314 + value: .222848132 + inSlope: .379544944 + outSlope: .379544944 + tangentMode: 0 + - time: 5.75002003 + value: .22916773 + inSlope: .378746569 + outSlope: .378746569 + tangentMode: 0 + - time: 5.76668692 + value: .235473186 + inSlope: .377862334 + outSlope: .377862334 + tangentMode: 0 + - time: 5.78335381 + value: .241763309 + inSlope: .37689808 + outSlope: .37689808 + tangentMode: 0 + - time: 5.80002069 + value: .248036623 + inSlope: .375860512 + outSlope: .375860512 + tangentMode: 0 + - time: 5.81668758 + value: .25429216 + inSlope: .374754131 + outSlope: .374754131 + tangentMode: 0 + - time: 5.83335447 + value: .260528594 + inSlope: .373565912 + outSlope: .373565912 + tangentMode: 0 + - time: 5.85002136 + value: .266744524 + inSlope: .37230441 + outSlope: .37230441 + tangentMode: 0 + - time: 5.86668825 + value: .272938907 + inSlope: .370970488 + outSlope: .370970488 + tangentMode: 0 + - time: 5.88335514 + value: .279110372 + inSlope: .369562328 + outSlope: .369562328 + tangentMode: 0 + - time: 5.90002203 + value: .285257816 + inSlope: .368086249 + outSlope: .368086249 + tangentMode: 0 + - time: 5.91668892 + value: .291380078 + inSlope: .366544008 + outSlope: .366544008 + tangentMode: 0 + - time: 5.93335581 + value: .297476113 + inSlope: .364932895 + outSlope: .364932895 + tangentMode: 0 + - time: 5.9500227 + value: .30354467 + inSlope: .363257468 + outSlope: .363257468 + tangentMode: 0 + - time: 5.96668959 + value: .309584856 + inSlope: .361514926 + outSlope: .361514926 + tangentMode: 0 + - time: 5.98335648 + value: .315595329 + inSlope: .359707117 + outSlope: .359707117 + tangentMode: 0 + - time: 6.00002337 + value: .321575254 + inSlope: .357842147 + outSlope: .357842147 + tangentMode: 0 + - time: 6.01669025 + value: .327523559 + inSlope: .355919003 + outSlope: .355919003 + tangentMode: 0 + - time: 6.03335714 + value: .33343938 + inSlope: .353934228 + outSlope: .353934228 + tangentMode: 0 + - time: 6.05002403 + value: .339321524 + inSlope: .35189575 + outSlope: .35189575 + tangentMode: 0 + - time: 6.06669092 + value: .345169395 + inSlope: .349806368 + outSlope: .349806368 + tangentMode: 0 + - time: 6.08335781 + value: .350981891 + inSlope: .347659707 + outSlope: .347659707 + tangentMode: 0 + - time: 6.1000247 + value: .356758207 + inSlope: .345471084 + outSlope: .345471084 + tangentMode: 0 + - time: 6.11669159 + value: .362497747 + inSlope: .343230546 + outSlope: .343230546 + tangentMode: 0 + - time: 6.13335848 + value: .368199378 + inSlope: .34093821 + outSlope: .34093821 + tangentMode: 0 + - time: 6.15002537 + value: .373862505 + inSlope: .338612735 + outSlope: .338612735 + tangentMode: 0 + - time: 6.16669226 + value: .37948662 + inSlope: .336247087 + outSlope: .336247087 + tangentMode: 0 + - time: 6.18335915 + value: .38507089 + inSlope: .333833992 + outSlope: .333833992 + tangentMode: 0 + - time: 6.20002604 + value: .390614569 + inSlope: .331383407 + outSlope: .331383407 + tangentMode: 0 + - time: 6.21669292 + value: .396117151 + inSlope: .328907728 + outSlope: .328907728 + tangentMode: 0 + - time: 6.23335981 + value: .401578307 + inSlope: .326394558 + outSlope: .326394558 + tangentMode: 0 + - time: 6.2500267 + value: .406997114 + inSlope: .323852718 + outSlope: .323852718 + tangentMode: 0 + - time: 6.26669359 + value: .412373543 + inSlope: .321288586 + outSlope: .321288586 + tangentMode: 0 + - time: 6.28336048 + value: .417706877 + inSlope: .318688691 + outSlope: .318688691 + tangentMode: 0 + - time: 6.30002737 + value: .42299664 + inSlope: .316072643 + outSlope: .316072643 + tangentMode: 0 + - time: 6.31669426 + value: .428242773 + inSlope: .313436091 + outSlope: .313436091 + tangentMode: 0 + - time: 6.33336115 + value: .433444649 + inSlope: .310778022 + outSlope: .310778022 + tangentMode: 0 + - time: 6.35002804 + value: .438602179 + inSlope: .308108389 + outSlope: .308108389 + tangentMode: 0 + - time: 6.36669493 + value: .443715066 + inSlope: .305428028 + outSlope: .305428028 + tangentMode: 0 + - time: 6.38336182 + value: .448783249 + inSlope: .302741349 + outSlope: .302741349 + tangentMode: 0 + - time: 6.40002871 + value: .453806579 + inSlope: .300038636 + outSlope: .300038636 + tangentMode: 0 + - time: 6.41669559 + value: .45878467 + inSlope: .297327816 + outSlope: .297327816 + tangentMode: 0 + - time: 6.43336248 + value: .463717639 + inSlope: .294617057 + outSlope: .294617057 + tangentMode: 0 + - time: 6.45002937 + value: .468605369 + inSlope: .291908085 + outSlope: .291908085 + tangentMode: 0 + - time: 6.46669626 + value: .473448038 + inSlope: .289209783 + outSlope: .289209783 + tangentMode: 0 + - time: 6.48336315 + value: .478245825 + inSlope: .28650707 + outSlope: .28650707 + tangentMode: 0 + - time: 6.50003004 + value: .482998401 + inSlope: .283802509 + outSlope: .283802509 + tangentMode: 0 + - time: 6.51669693 + value: .487706035 + inSlope: .281114995 + outSlope: .281114995 + tangentMode: 0 + - time: 6.53336382 + value: .492369026 + inSlope: .278437316 + outSlope: .278437316 + tangentMode: 0 + - time: 6.55003071 + value: .496987402 + inSlope: .275776565 + outSlope: .275776565 + tangentMode: 0 + - time: 6.5666976 + value: .501561701 + inSlope: .273132861 + outSlope: .273132861 + tangentMode: 0 + - time: 6.58336449 + value: .506091952 + inSlope: .270507872 + outSlope: .270507872 + tangentMode: 0 + - time: 6.60003138 + value: .510578752 + inSlope: .267897248 + outSlope: .267897248 + tangentMode: 0 + - time: 6.61669827 + value: .51502198 + inSlope: .265304506 + outSlope: .265304506 + tangentMode: 0 + - time: 6.63336515 + value: .519422352 + inSlope: .26274389 + outSlope: .26274389 + tangentMode: 0 + - time: 6.65003204 + value: .523780227 + inSlope: .260210156 + outSlope: .260210156 + tangentMode: 0 + - time: 6.66669893 + value: .528096139 + inSlope: .257708549 + outSlope: .257708549 + tangentMode: 0 + - time: 6.68336582 + value: .532370627 + inSlope: .255230248 + outSlope: .255230248 + tangentMode: 0 + - time: 6.70003271 + value: .536603928 + inSlope: .252784073 + outSlope: .252784073 + tangentMode: 0 + - time: 6.7166996 + value: .540796876 + inSlope: .250377297 + outSlope: .250377297 + tangentMode: 0 + - time: 6.73336649 + value: .544949949 + inSlope: .248006254 + outSlope: .248006254 + tangentMode: 0 + - time: 6.75003338 + value: .549063861 + inSlope: .245669186 + outSlope: .245669186 + tangentMode: 0 + - time: 6.76670027 + value: .553139031 + inSlope: .243371457 + outSlope: .243371457 + tangentMode: 0 + - time: 6.78336716 + value: .557176352 + inSlope: .241118431 + outSlope: .241118431 + tangentMode: 0 + - time: 6.80003405 + value: .561176419 + inSlope: .238908321 + outSlope: .238908321 + tangentMode: 0 + - time: 6.81670094 + value: .565140069 + inSlope: .23674649 + outSlope: .23674649 + tangentMode: 0 + - time: 6.83336782 + value: .569068074 + inSlope: .23462221 + outSlope: .23462221 + tangentMode: 0 + - time: 6.85003471 + value: .572960913 + inSlope: .232540846 + outSlope: .232540846 + tangentMode: 0 + - time: 6.8667016 + value: .576819539 + inSlope: .230514914 + outSlope: .230514914 + tangentMode: 0 + - time: 6.88336849 + value: .580644846 + inSlope: .228544399 + outSlope: .228544399 + tangentMode: 0 + - time: 6.90003538 + value: .584437788 + inSlope: .226625755 + outSlope: .226625755 + tangentMode: 0 + - time: 6.91670227 + value: .588199139 + inSlope: .224750012 + outSlope: .224750012 + tangentMode: 0 + - time: 6.93336916 + value: .591929555 + inSlope: .222924352 + outSlope: .222924352 + tangentMode: 0 + - time: 6.95003605 + value: .59563005 + inSlope: .221161276 + outSlope: .221161276 + tangentMode: 0 + - time: 6.96670294 + value: .599301696 + inSlope: .219448268 + outSlope: .219448268 + tangentMode: 0 + - time: 6.98336983 + value: .602945089 + inSlope: .217790678 + outSlope: .217790678 + tangentMode: 0 + - time: 7.00003672 + value: .606561482 + inSlope: .216190308 + outSlope: .216190308 + tangentMode: 0 + - time: 7.01670361 + value: .610151529 + inSlope: .214647174 + outSlope: .214647174 + tangentMode: 0 + - time: 7.03337049 + value: .613716483 + inSlope: .213161245 + outSlope: .213161245 + tangentMode: 0 + - time: 7.05003738 + value: .617256999 + inSlope: .211725384 + outSlope: .211725384 + tangentMode: 0 + - time: 7.06670427 + value: .62077409 + inSlope: .210359275 + outSlope: .210359275 + tangentMode: 0 + - time: 7.08337116 + value: .624269068 + inSlope: .209044993 + outSlope: .209044993 + tangentMode: 0 + - time: 7.10003805 + value: .62774235 + inSlope: .207793325 + outSlope: .207793325 + tangentMode: 0 + - time: 7.11670494 + value: .631195605 + inSlope: .206595272 + outSlope: .206595272 + tangentMode: 0 + - time: 7.13337183 + value: .634628952 + inSlope: .205459833 + outSlope: .205459833 + tangentMode: 0 + - time: 7.15003872 + value: .638044357 + inSlope: .20438695 + outSlope: .20438695 + tangentMode: 0 + - time: 7.16670561 + value: .641441941 + inSlope: .203360587 + outSlope: .203360587 + tangentMode: 0 + - time: 7.1833725 + value: .644823134 + inSlope: .20239678 + outSlope: .20239678 + tangentMode: 0 + - time: 7.20003939 + value: .648188591 + inSlope: .201495588 + outSlope: .201495588 + tangentMode: 0 + - time: 7.21670628 + value: .651539743 + inSlope: .200660527 + outSlope: .200660527 + tangentMode: 0 + - time: 7.23337317 + value: .654877365 + inSlope: .199870184 + outSlope: .199870184 + tangentMode: 0 + - time: 7.25004005 + value: .658202171 + inSlope: .199129909 + outSlope: .199129909 + tangentMode: 0 + - time: 7.26670694 + value: .661515117 + inSlope: .198450416 + outSlope: .198450416 + tangentMode: 0 + - time: 7.28337383 + value: .664817274 + inSlope: .197837085 + outSlope: .197837085 + tangentMode: 0 + - time: 7.30004072 + value: .668109775 + inSlope: .197273836 + outSlope: .197273836 + tangentMode: 0 + - time: 7.31670761 + value: .671393156 + inSlope: .196760654 + outSlope: .196760654 + tangentMode: 0 + - time: 7.3333745 + value: .67466855 + inSlope: .196299314 + outSlope: .196299314 + tangentMode: 0 + - time: 7.35004139 + value: .677936554 + inSlope: .195891619 + outSlope: .195891619 + tangentMode: 0 + - time: 7.36670828 + value: .681198359 + inSlope: .195537582 + outSlope: .195537582 + tangentMode: 0 + - time: 7.38337517 + value: .68445456 + inSlope: .195221081 + outSlope: .195221081 + tangentMode: 0 + - time: 7.40004206 + value: .687705815 + inSlope: .194961801 + outSlope: .194961801 + tangentMode: 0 + - time: 7.41670895 + value: .690953374 + inSlope: .194754392 + outSlope: .194754392 + tangentMode: 0 + - time: 7.43337584 + value: .694197714 + inSlope: .194580942 + outSlope: .194580942 + tangentMode: 0 + - time: 7.45004272 + value: .697439492 + inSlope: .194452196 + outSlope: .194452196 + tangentMode: 0 + - time: 7.46670961 + value: .700679541 + inSlope: .194373518 + outSlope: .194373518 + tangentMode: 0 + - time: 7.4833765 + value: .703918695 + inSlope: .194335967 + outSlope: .194335967 + tangentMode: 0 + - time: 7.50004339 + value: .707157493 + inSlope: .194226891 + outSlope: .194226891 + tangentMode: 0 + - time: 7.51671028 + value: .710393012 + inSlope: .193942577 + outSlope: .193942577 + tangentMode: 0 + - time: 7.53337717 + value: .713622332 + inSlope: .193568856 + outSlope: .193568856 + tangentMode: 0 + - time: 7.55004406 + value: .716845393 + inSlope: .193207666 + outSlope: .193207666 + tangentMode: 0 + - time: 7.56671095 + value: .720062673 + inSlope: .192844674 + outSlope: .192844674 + tangentMode: 0 + - time: 7.58337784 + value: .723273635 + inSlope: .19246918 + outSlope: .19246918 + tangentMode: 0 + - time: 7.60004473 + value: .726478398 + inSlope: .192106187 + outSlope: .192106187 + tangentMode: 0 + - time: 7.61671162 + value: .72967726 + inSlope: .191741407 + outSlope: .191741407 + tangentMode: 0 + - time: 7.63337851 + value: .732869864 + inSlope: .19136411 + outSlope: .19136411 + tangentMode: 0 + - time: 7.65004539 + value: .736056149 + inSlope: .190981463 + outSlope: .190981463 + tangentMode: 0 + - time: 7.66671228 + value: .739235997 + inSlope: .190605953 + outSlope: .190605953 + tangentMode: 0 + - time: 7.68337917 + value: .742409766 + inSlope: .190221518 + outSlope: .190221518 + tangentMode: 0 + - time: 7.70004606 + value: .745576799 + inSlope: .189822763 + outSlope: .189822763 + tangentMode: 0 + - time: 7.71671295 + value: .748737276 + inSlope: .189413279 + outSlope: .189413279 + tangentMode: 0 + - time: 7.73337984 + value: .751890659 + inSlope: .189002007 + outSlope: .189002007 + tangentMode: 0 + - time: 7.75004673 + value: .755037427 + inSlope: .188583598 + outSlope: .188583598 + tangentMode: 0 + - time: 7.76671362 + value: .758176863 + inSlope: .188140154 + outSlope: .188140154 + tangentMode: 0 + - time: 7.78338051 + value: .761308849 + inSlope: .187696695 + outSlope: .187696695 + tangentMode: 0 + - time: 7.8000474 + value: .764433503 + inSlope: .187235355 + outSlope: .187235355 + tangentMode: 0 + - time: 7.81671429 + value: .767550111 + inSlope: .186757922 + outSlope: .186757922 + tangentMode: 0 + - time: 7.83338118 + value: .770658851 + inSlope: .186269775 + outSlope: .186269775 + tangentMode: 0 + - time: 7.85004807 + value: .773759186 + inSlope: .185769111 + outSlope: .185769111 + tangentMode: 0 + - time: 7.86671495 + value: .776851237 + inSlope: .185250551 + outSlope: .185250551 + tangentMode: 0 + - time: 7.88338184 + value: .779934287 + inSlope: .184712321 + outSlope: .184712321 + tangentMode: 0 + - time: 7.90004873 + value: .783008397 + inSlope: .1841598 + outSlope: .1841598 + tangentMode: 0 + - time: 7.91671562 + value: .786073029 + inSlope: .183592975 + outSlope: .183592975 + tangentMode: 0 + - time: 7.93338251 + value: .789128244 + inSlope: .183010042 + outSlope: .183010042 + tangentMode: 0 + - time: 7.9500494 + value: .792173445 + inSlope: .182402074 + outSlope: .182402074 + tangentMode: 0 + - time: 7.96671629 + value: .795208395 + inSlope: .18177624 + outSlope: .18177624 + tangentMode: 0 + - time: 7.98338318 + value: .798232734 + inSlope: .181131527 + outSlope: .181131527 + tangentMode: 0 + - time: 8.00004959 + value: .801246107 + inSlope: .180465341 + outSlope: .180465341 + tangentMode: 0 + - time: 8.016716 + value: .804248154 + inSlope: .179778695 + outSlope: .179778695 + tangentMode: 0 + - time: 8.03338242 + value: .807238638 + inSlope: .179079533 + outSlope: .179079533 + tangentMode: 0 + - time: 8.05004883 + value: .810217381 + inSlope: .178357095 + outSlope: .178357095 + tangentMode: 0 + - time: 8.06671524 + value: .813183784 + inSlope: .177609652 + outSlope: .177609652 + tangentMode: 0 + - time: 8.08338165 + value: .816137612 + inSlope: .176844314 + outSlope: .176844314 + tangentMode: 0 + - time: 8.10004807 + value: .819078505 + inSlope: .176052153 + outSlope: .176052153 + tangentMode: 0 + - time: 8.11671448 + value: .822005928 + inSlope: .175236762 + outSlope: .175236762 + tangentMode: 0 + - time: 8.13338089 + value: .824919641 + inSlope: .174414188 + outSlope: .174414188 + tangentMode: 0 + - time: 8.1500473 + value: .827819645 + inSlope: .173557669 + outSlope: .173557669 + tangentMode: 0 + - time: 8.16671371 + value: .830704808 + inSlope: .172677875 + outSlope: .172677875 + tangentMode: 0 + - time: 8.18338013 + value: .833575487 + inSlope: .171783805 + outSlope: .171783805 + tangentMode: 0 + - time: 8.20004654 + value: .836430848 + inSlope: .170859307 + outSlope: .170859307 + tangentMode: 0 + - time: 8.21671295 + value: .839270711 + inSlope: .169916958 + outSlope: .169916958 + tangentMode: 0 + - time: 8.23337936 + value: .84209466 + inSlope: .168953151 + outSlope: .168953151 + tangentMode: 0 + - time: 8.25004578 + value: .844902396 + inSlope: .167960703 + outSlope: .167960703 + tangentMode: 0 + - time: 8.26671219 + value: .847693264 + inSlope: .166948587 + outSlope: .166948587 + tangentMode: 0 + - time: 8.2833786 + value: .850467265 + inSlope: .165920407 + outSlope: .165920407 + tangentMode: 0 + - time: 8.30004501 + value: .85322386 + inSlope: .164865375 + outSlope: .164865375 + tangentMode: 0 + - time: 8.31671143 + value: .855962694 + inSlope: .163787127 + outSlope: .163787127 + tangentMode: 0 + - time: 8.33337784 + value: .858683348 + inSlope: .162685603 + outSlope: .162685603 + tangentMode: 0 + - time: 8.35004425 + value: .861385465 + inSlope: .161566228 + outSlope: .161566228 + tangentMode: 0 + - time: 8.36671066 + value: .864068806 + inSlope: .160421789 + outSlope: .160421789 + tangentMode: 0 + - time: 8.38337708 + value: .866732776 + inSlope: .159257695 + outSlope: .159257695 + tangentMode: 0 + - time: 8.40004349 + value: .869377315 + inSlope: .158068568 + outSlope: .158068568 + tangentMode: 0 + - time: 8.4167099 + value: .872001648 + inSlope: .156854391 + outSlope: .156854391 + tangentMode: 0 + - time: 8.43337631 + value: .874605715 + inSlope: .155633092 + outSlope: .155633092 + tangentMode: 0 + - time: 8.45004272 + value: .877189338 + inSlope: .154383153 + outSlope: .154383153 + tangentMode: 0 + - time: 8.46670914 + value: .879751742 + inSlope: .15310818 + outSlope: .15310818 + tangentMode: 0 + - time: 8.48337555 + value: .882292867 + inSlope: .151817143 + outSlope: .151817143 + tangentMode: 0 + - time: 8.50004196 + value: .884812236 + inSlope: .150502831 + outSlope: .150502831 + tangentMode: 0 + - time: 8.51670837 + value: .887309551 + inSlope: .149168849 + outSlope: .149168849 + tangentMode: 0 + - time: 8.53337479 + value: .889784455 + inSlope: .147820592 + outSlope: .147820592 + tangentMode: 0 + - time: 8.5500412 + value: .892236829 + inSlope: .146447271 + outSlope: .146447271 + tangentMode: 0 + - time: 8.56670761 + value: .894665956 + inSlope: .145057857 + outSlope: .145057857 + tangentMode: 0 + - time: 8.58337402 + value: .897072017 + inSlope: .143648788 + outSlope: .143648788 + tangentMode: 0 + - time: 8.60004044 + value: .899454176 + inSlope: .142221838 + outSlope: .142221838 + tangentMode: 0 + - time: 8.61670685 + value: .901812673 + inSlope: .140782356 + outSlope: .140782356 + tangentMode: 0 + - time: 8.63337326 + value: .90414685 + inSlope: .139314264 + outSlope: .139314264 + tangentMode: 0 + - time: 8.65003967 + value: .906456411 + inSlope: .13783367 + outSlope: .13783367 + tangentMode: 0 + - time: 8.66670609 + value: .908741236 + inSlope: .13633877 + outSlope: .13633877 + tangentMode: 0 + - time: 8.6833725 + value: .911000967 + inSlope: .134827763 + outSlope: .134827763 + tangentMode: 0 + - time: 8.70003891 + value: .913235426 + inSlope: .133295298 + outSlope: .133295298 + tangentMode: 0 + - time: 8.71670532 + value: .915444076 + inSlope: .131748542 + outSlope: .131748542 + tangentMode: 0 + - time: 8.73337173 + value: .917626977 + inSlope: .13018927 + outSlope: .13018927 + tangentMode: 0 + - time: 8.75003815 + value: .919783652 + inSlope: .128613889 + outSlope: .128613889 + tangentMode: 0 + - time: 8.76670456 + value: .921914041 + inSlope: .127029568 + outSlope: .127029568 + tangentMode: 0 + - time: 8.78337097 + value: .924017906 + inSlope: .125425577 + outSlope: .125425577 + tangentMode: 0 + - time: 8.80003738 + value: .92609483 + inSlope: .123809084 + outSlope: .123809084 + tangentMode: 0 + - time: 8.8167038 + value: .928144813 + inSlope: .12218006 + outSlope: .12218006 + tangentMode: 0 + - time: 8.83337021 + value: .930167437 + inSlope: .120538525 + outSlope: .120538525 + tangentMode: 0 + - time: 8.85003662 + value: .932162702 + inSlope: .118884474 + outSlope: .118884474 + tangentMode: 0 + - time: 8.86670303 + value: .934130192 + inSlope: .117221475 + outSlope: .117221475 + tangentMode: 0 + - time: 8.88336945 + value: .936070025 + inSlope: .115547746 + outSlope: .115547746 + tangentMode: 0 + - time: 8.90003586 + value: .937981725 + inSlope: .113861509 + outSlope: .113861509 + tangentMode: 0 + - time: 8.91670227 + value: .939865351 + inSlope: .11216633 + outSlope: .11216633 + tangentMode: 0 + - time: 8.93336868 + value: .941720545 + inSlope: .110460415 + outSlope: .110460415 + tangentMode: 0 + - time: 8.9500351 + value: .943547308 + inSlope: .10874556 + outSlope: .10874556 + tangentMode: 0 + - time: 8.96670151 + value: .945345342 + inSlope: .107021771 + outSlope: .107021771 + tangentMode: 0 + - time: 8.98336792 + value: .947114646 + inSlope: .105292618 + outSlope: .105292618 + tangentMode: 0 + - time: 9.00003433 + value: .948855042 + inSlope: .103552729 + outSlope: .103552729 + tangentMode: 0 + - time: 9.01670074 + value: .950566351 + inSlope: .101805687 + outSlope: .101805687 + tangentMode: 0 + - time: 9.03336716 + value: .952248514 + inSlope: .100056864 + outSlope: .100056864 + tangentMode: 0 + - time: 9.05003357 + value: .953901529 + inSlope: .0983044654 + outSlope: .0983044654 + tangentMode: 0 + - time: 9.06669998 + value: .955525279 + inSlope: .0965377539 + outSlope: .0965377539 + tangentMode: 0 + - time: 9.08336639 + value: .957119405 + inSlope: .0947692543 + outSlope: .0947692543 + tangentMode: 0 + - time: 9.10003281 + value: .958684206 + inSlope: .0929989666 + outSlope: .0929989666 + tangentMode: 0 + - time: 9.11669922 + value: .960219324 + inSlope: .0912233219 + outSlope: .0912233219 + tangentMode: 0 + - time: 9.13336563 + value: .961724937 + inSlope: .0894440934 + outSlope: .0894440934 + tangentMode: 0 + - time: 9.15003204 + value: .963200748 + inSlope: .0876559317 + outSlope: .0876559317 + tangentMode: 0 + - time: 9.16669846 + value: .964646757 + inSlope: .0858713388 + outSlope: .0858713388 + tangentMode: 0 + - time: 9.18336487 + value: .966063082 + inSlope: .0840885341 + outSlope: .0840885341 + tangentMode: 0 + - time: 9.20003128 + value: .967449665 + inSlope: .0823021531 + outSlope: .0823021531 + tangentMode: 0 + - time: 9.21669769 + value: .968806446 + inSlope: .0805104151 + outSlope: .0805104151 + tangentMode: 0 + - time: 9.23336411 + value: .970133305 + inSlope: .0787204579 + outSlope: .0787204579 + tangentMode: 0 + - time: 9.25003052 + value: .971430421 + inSlope: .076930508 + outSlope: .076930508 + tangentMode: 0 + - time: 9.26669693 + value: .972697616 + inSlope: .0751369745 + outSlope: .0751369745 + tangentMode: 0 + - time: 9.28336334 + value: .973934948 + inSlope: .0733523816 + outSlope: .0733523816 + tangentMode: 0 + - time: 9.30002975 + value: .975142658 + inSlope: .0715642124 + outSlope: .0715642124 + tangentMode: 0 + - time: 9.31669617 + value: .976320386 + inSlope: .0697742626 + outSlope: .0697742626 + tangentMode: 0 + - time: 9.33336258 + value: .977468431 + inSlope: .067993246 + outSlope: .067993246 + tangentMode: 0 + - time: 9.35002899 + value: .978586793 + inSlope: .0662104487 + outSlope: .0662104487 + tangentMode: 0 + - time: 9.3666954 + value: .979675412 + inSlope: .0644312203 + outSlope: .0644312203 + tangentMode: 0 + - time: 9.38336182 + value: .980734468 + inSlope: .0626555681 + outSlope: .0626555681 + tangentMode: 0 + - time: 9.40002823 + value: .981763899 + inSlope: .0608817115 + outSlope: .0608817115 + tangentMode: 0 + - time: 9.41669464 + value: .982763827 + inSlope: .0591150001 + outSlope: .0591150001 + tangentMode: 0 + - time: 9.43336105 + value: .983734369 + inSlope: .0573518686 + outSlope: .0573518686 + tangentMode: 0 + - time: 9.45002747 + value: .984675527 + inSlope: .0555887371 + outSlope: .0555887371 + tangentMode: 0 + - time: 9.46669388 + value: .985587299 + inSlope: .0538345426 + outSlope: .0538345426 + tangentMode: 0 + - time: 9.48336029 + value: .986469984 + inSlope: .0520910844 + outSlope: .0520910844 + tangentMode: 0 + - time: 9.5000267 + value: .987323642 + inSlope: .0503458306 + outSlope: .0503458306 + tangentMode: 0 + - time: 9.51669312 + value: .988148153 + inSlope: .0486059487 + outSlope: .0486059487 + tangentMode: 0 + - time: 9.53335953 + value: .988943815 + inSlope: .0468767881 + outSlope: .0468767881 + tangentMode: 0 + - time: 9.55002594 + value: .989710689 + inSlope: .0451494157 + outSlope: .0451494157 + tangentMode: 0 + - time: 9.56669235 + value: .990448773 + inSlope: .0434274152 + outSlope: .0434274152 + tangentMode: 0 + - time: 9.58335876 + value: .991158247 + inSlope: .0417197123 + outSlope: .0417197123 + tangentMode: 0 + - time: 9.60002518 + value: .991839409 + inSlope: .0400191694 + outSlope: .0400191694 + tangentMode: 0 + - time: 9.61669159 + value: .992492199 + inSlope: .0383204073 + outSlope: .0383204073 + tangentMode: 0 + - time: 9.633358 + value: .993116736 + inSlope: .036627017 + outSlope: .036627017 + tangentMode: 0 + - time: 9.65002441 + value: .993713081 + inSlope: .0349461436 + outSlope: .0349461436 + tangentMode: 0 + - time: 9.66669083 + value: .99428159 + inSlope: .0332742035 + outSlope: .0332742035 + tangentMode: 0 + - time: 9.68335724 + value: .994822204 + inSlope: .0316058472 + outSlope: .0316058472 + tangentMode: 0 + - time: 9.70002365 + value: .995335102 + inSlope: .0299500041 + outSlope: .0299500041 + tangentMode: 0 + - time: 9.71669006 + value: .995820522 + inSlope: .0283013135 + outSlope: .0283013135 + tangentMode: 0 + - time: 9.73335648 + value: .996278465 + inSlope: .0266579874 + outSlope: .0266579874 + tangentMode: 0 + - time: 9.75002289 + value: .996709108 + inSlope: .0250218157 + outSlope: .0250218157 + tangentMode: 0 + - time: 9.7666893 + value: .997112513 + inSlope: .0233963728 + outSlope: .0233963728 + tangentMode: 0 + - time: 9.78335571 + value: .997488976 + inSlope: .0217780806 + outSlope: .0217780806 + tangentMode: 0 + - time: 9.80002213 + value: .997838438 + inSlope: .0201723091 + outSlope: .0201723091 + tangentMode: 0 + - time: 9.81668854 + value: .998161376 + inSlope: .0185772628 + outSlope: .0185772628 + tangentMode: 0 + - time: 9.83335495 + value: .99845767 + inSlope: .0169840083 + outSlope: .0169840083 + tangentMode: 0 + - time: 9.85002136 + value: .9987275 + inSlope: .0153996907 + outSlope: .0153996907 + tangentMode: 0 + - time: 9.86668777 + value: .998970985 + inSlope: .0138225276 + outSlope: .0138225276 + tangentMode: 0 + - time: 9.88335419 + value: .999188244 + inSlope: .0122578824 + outSlope: .0122578824 + tangentMode: 0 + - time: 9.9000206 + value: .999379575 + inSlope: .0106986007 + outSlope: .0106986007 + tangentMode: 0 + - time: 9.91668701 + value: .999544859 + inSlope: .00914826058 + outSlope: .00914826058 + tangentMode: 0 + - time: 9.93335342 + value: .999684513 + inSlope: .00760864886 + outSlope: .00760864886 + tangentMode: 0 + - time: 9.95001984 + value: .999798477 + inSlope: .0060690376 + outSlope: .0060690376 + tangentMode: 0 + - time: 9.96668625 + value: .999886811 + inSlope: .00454015518 + outSlope: .00454015518 + tangentMode: 0 + - time: 9.98335266 + value: .999949813 + inSlope: .00302021345 + outSlope: .00302021345 + tangentMode: 0 + - time: 10.0000191 + value: .999987483 + inSlope: .00150606653 + outSlope: .00150606653 + tangentMode: 0 + - time: 10.0166664 + value: 1 + inSlope: .000751890475 + outSlope: .000751890475 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalRotation.w + path: + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 6.19722271 + outSlope: 6.19722271 + tangentMode: 10 + - time: 2.5 + value: 15.4930573 + inSlope: -4.0821414 + outSlope: -4.0821414 + tangentMode: 10 + - time: 5 + value: -20.4107056 + inSlope: .618038654 + outSlope: .618038654 + tangentMode: 10 + - time: 7.5 + value: 18.583252 + inSlope: 4.1067543 + outSlope: 4.1067543 + tangentMode: 10 + - time: 10.0166664 + value: 0 + inSlope: -7.38407421 + outSlope: -7.38407421 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: localEulerAnglesBaked.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 36 + outSlope: 36 + tangentMode: 10 + - time: 2.5 + value: 90 + inSlope: 34.8152466 + outSlope: 34.8152466 + tangentMode: 10 + - time: 5 + value: 174.076233 + inSlope: 38.3862 + outSlope: 38.3862 + tangentMode: 10 + - time: 7.5 + value: 281.931 + inSlope: 37.0813522 + outSlope: 37.0813522 + tangentMode: 10 + - time: 10.0166664 + value: 360 + inSlope: 31.0207977 + outSlope: 31.0207977 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: localEulerAnglesBaked.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 2.5 + value: 0 + inSlope: .213467404 + outSlope: .213467404 + tangentMode: 10 + - time: 5 + value: 1.06733704 + inSlope: 6.52544594 + outSlope: 6.52544594 + tangentMode: 10 + - time: 7.5 + value: 32.6272278 + inSlope: -.1702528 + outSlope: -.1702528 + tangentMode: 10 + - time: 10.0166664 + value: 0 + inSlope: -12.9644623 + outSlope: -12.9644623 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: localEulerAnglesBaked.z + path: + classID: 4 + script: {fileID: 0} + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_GenerateMotionCurves: 0 + m_Events: [] diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/cube movement.anim.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/cube movement.anim.meta new file mode 100644 index 00000000..7281af60 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Transposer/cube movement.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 348fa7e7cdf52ee4c996c8fd82291c24 +timeCreated: 1455757643 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes.meta new file mode 100644 index 00000000..7d70dd10 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ceeef3c0e73d0a347865594e1d36beb9 +folderAsset: yes +timeCreated: 1510156014 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/GenericTrigger.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/GenericTrigger.cs new file mode 100644 index 00000000..7181a5ca --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/GenericTrigger.cs @@ -0,0 +1,37 @@ +#if CINEMACHINE_TIMELINE +using UnityEngine; +using UnityEngine.Playables; + +namespace Cinemachine.Examples +{ + public class GenericTrigger : MonoBehaviour + { + public PlayableDirector timeline; + + // Use this for initialization + void Start() + { + timeline = GetComponent(); + } + + void OnTriggerExit(Collider c) + { + if (c.gameObject.CompareTag("Player")) + { + // Jump to the end of the timeline where the blend happens + // This value (in seconds) needs to be adjusted as needed if the timeline is modified + timeline.time = 27; + } + } + + void OnTriggerEnter(Collider c) + { + if (c.gameObject.CompareTag("Player")) + { + timeline.Stop(); // Make sure the timeline is stopped before starting it + timeline.Play(); + } + } + } +} +#endif \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/GenericTrigger.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/GenericTrigger.cs.meta new file mode 100644 index 00000000..c4749b5b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/GenericTrigger.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: ae2e8d9cd0201fb46ba38269b8ee1ae6 +timeCreated: 1510158700 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Timeline trigger cube.playable b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Timeline trigger cube.playable new file mode 100644 index 00000000..00c05355 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Timeline trigger cube.playable @@ -0,0 +1,546 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 337831424, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} + m_Name: Timeline trigger cube + m_EditorClassIdentifier: + m_Id: 0 + m_NextId: 6 + m_Tracks: + - {fileID: 114142723998643226} + - {fileID: 114293287003459442} + - {fileID: 114716226793156428} + m_FixedDuration: 0 + m_EditorSettings: + fps: 60 + m_UpdateMode: 0 + m_ParameterName: + m_DurationMode: 0 +--- !u!74 &74859400344553778 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Recorded + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0.3 + value: {x: 0, y: -2.672226, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 0.75 + value: {x: 0, y: -1.5991572, z: 0} + inSlope: {x: 0, y: 3.770991, z: 0} + outSlope: {x: 0, y: 3.770991, z: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 1.3166667 + value: {x: 0, y: -0.0822258, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 26.2 + value: {x: 0, y: -0.0822258, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + - serializedVersion: 2 + time: 27.133333 + value: {x: 0, y: -2.5322266, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 1 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 2 + script: {fileID: 0} + typeID: 95 + customType: 8 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 27.133333 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0.3 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.75 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 26.2 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 27.133333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0.3 + value: -2.672226 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 1.3166667 + value: -0.0822258 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 26.2 + value: -0.0822258 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 27.133333 + value: -2.5322266 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0.3 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 0.75 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 26.2 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + - serializedVersion: 2 + time: 27.133333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_GenerateMotionCurves: 1 + m_Events: [] +--- !u!114 &114123743562478488 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + VirtualCamera: + exposedName: e7b2903ec6b103d41a31066181a3e86e + defaultValue: {fileID: 0} +--- !u!114 &114142723998643226 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1544527758, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} + m_Name: Track Group + m_EditorClassIdentifier: + m_Locked: 0 + m_Muted: 0 + m_Soloed: 0 + m_Height: 0 + m_CustomPlayableFullTypename: + m_AnimClip: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] +--- !u!114 &114293287003459442 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 05acc715f855ced458d76ee6f8ac6c61, type: 3} + m_Name: Cinemachine Track + m_EditorClassIdentifier: + m_Locked: 0 + m_Muted: 0 + m_Soloed: 0 + m_Height: 0 + m_CustomPlayableFullTypename: + m_AnimClip: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: + - m_Start: 0.016666666666666663 + m_ClipIn: 0 + m_Asset: {fileID: 114680635997628290} + m_UnderlyingAsset: {fileID: 114680635997628290} + m_Duration: 0.4333333333333339 + m_ParentID: 0 + m_TimeScale: 1 + m_BlendCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ParentTrack: {fileID: 114293287003459442} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: -1 + m_BlendOutDuration: 0.3666666666666673 + m_MixInCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: CM FreeLook + - m_Start: 0.08333333333333325 + m_ClipIn: 0 + m_Asset: {fileID: 114123743562478488} + m_UnderlyingAsset: {fileID: 114123743562478488} + m_Duration: 29.1 + m_ParentID: 0 + m_TimeScale: 1 + m_BlendCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ParentTrack: {fileID: 114293287003459442} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: 0.3666666666666673 + m_BlendOutDuration: 2.1833333333333336 + m_MixInCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: CM FreeLook near + - m_Start: 27 + m_ClipIn: 0 + m_Asset: {fileID: 114395940253765890} + m_UnderlyingAsset: {fileID: 114395940253765890} + m_Duration: 3.2 + m_ParentID: 0 + m_TimeScale: 1 + m_BlendCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ParentTrack: {fileID: 114293287003459442} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: 2.1833333333333336 + m_BlendOutDuration: -1 + m_MixInCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: CM FreeLook +--- !u!114 &114395940253765890 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + VirtualCamera: + exposedName: a4c7c1a597d7e6647abdb80a72f9d9ac + defaultValue: {fileID: 0} +--- !u!114 &114680635997628290 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 90fb794a295e73545af71bcdb7375791, type: 3} + m_Name: CinemachineShot + m_EditorClassIdentifier: + VirtualCamera: + exposedName: 5d984d59c906b564eb255b9fe8688e4d + defaultValue: {fileID: 0} +--- !u!114 &114716226793156428 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1467732076, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3} + m_Name: Animation Track + m_EditorClassIdentifier: + m_Locked: 0 + m_Muted: 0 + m_Soloed: 0 + m_Height: 0 + m_CustomPlayableFullTypename: + m_AnimClip: {fileID: 74859400344553778} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_OpenClipPreExtrapolation: 1 + m_OpenClipPostExtrapolation: 1 + m_OpenClipOffsetPosition: {x: -9.99, y: 20.182226, z: -25.06} + m_OpenClipOffsetRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_OpenClipTimeOffset: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Timeline trigger cube.playable.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Timeline trigger cube.playable.meta new file mode 100644 index 00000000..781a4bb2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Timeline trigger cube.playable.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: df0daaf08ad150e46a9a5c3d0a3e187a +timeCreated: 1498650029 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger cube.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger cube.prefab new file mode 100644 index 00000000..64e3fe99 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger cube.prefab @@ -0,0 +1,97 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1258579258484250} + m_IsPrefabParent: 1 +--- !u!1 &1258579258484250 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4910252563155258} + - component: {fileID: 33477098701034830} + - component: {fileID: 65138248517305530} + - component: {fileID: 23187569805761266} + m_Layer: 0 + m_Name: Trigger cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4910252563155258 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1258579258484250} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.9, y: 2.35, z: -10.58} + m_LocalScale: {x: 5.7817945, y: 3.6888936, z: 2.3260674} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23187569805761266 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1258579258484250} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33477098701034830 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1258579258484250} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!65 &65138248517305530 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1258579258484250} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger cube.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger cube.prefab.meta new file mode 100644 index 00000000..7767df8b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger cube.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: eb2690c0771f68c48823fc4a7816d734 +timeCreated: 1510157452 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume Timeline.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume Timeline.unity new file mode 100644 index 00000000..3eaaed64 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume Timeline.unity @@ -0,0 +1,2385 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657868, g: 0.49641263, b: 0.57481706, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &137718148 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 137718149} + - component: {fileID: 137718152} + - component: {fileID: 137718151} + - component: {fileID: 137718150} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &137718149 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 314295172} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &137718150 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.592 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: -0.098 +--- !u!114 &137718151 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &137718152 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 137718148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &211370783 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 211370784} + - component: {fileID: 211370787} + - component: {fileID: 211370786} + - component: {fileID: 211370785} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &211370784 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 211370783} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -12.621771, y: 20.182226, z: -28.75698} + m_LocalScale: {x: 0.4404314, y: 3.2303402, z: 8.085865} + m_Children: [] + m_Father: {fileID: 356910117} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &211370785 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 211370783} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &211370786 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 211370783} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &211370787 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 211370783} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &314295170 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 314295172} + - component: {fileID: 314295171} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &314295171 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Transitions + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 137718149} +--- !u!4 &314295172 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314295170} + m_LocalRotation: {x: -0.12792183, y: -0.029910078, z: -0.0038596434, w: 0.9913257} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 137718149} + m_Father: {fileID: 1956070573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &356910116 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 356910117} + m_Layer: 0 + m_Name: Building + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &356910117 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 356910116} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 13.841771, y: -18.342226, z: 23.21698} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 211370784} + - {fileID: 1366204328} + - {fileID: 1119011800} + - {fileID: 1815443142} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1440480789} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &445145004 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 445145005} + - component: {fileID: 445145008} + - component: {fileID: 445145007} + - component: {fileID: 445145006} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445145005 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1882019633} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &445145006 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 1 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.237 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.345 +--- !u!114 &445145007 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &445145008 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445145004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &509908079 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 509908080} + - component: {fileID: 509908083} + - component: {fileID: 509908082} + - component: {fileID: 509908081} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509908080 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1343764758} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &509908081 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.359 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.27799994 +--- !u!114 &509908082 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1.2, z: -3} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &509908083 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509908079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &542532397 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 542532398} + - component: {fileID: 542532401} + - component: {fileID: 542532400} + - component: {fileID: 542532399} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &542532398 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 542532397} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 873280747} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &542532399 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 542532397} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.592 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: -0.098 +--- !u!114 &542532400 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 542532397} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1, z: -1} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &542532401 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 542532397} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &805708159 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1258579258484250, guid: eb2690c0771f68c48823fc4a7816d734, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 805708164} + - component: {fileID: 805708163} + - component: {fileID: 805708161} + - component: {fileID: 805708165} + - component: {fileID: 805708160} + - component: {fileID: 805708162} + m_Layer: 0 + m_Name: Timeline - Select me + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!320 &805708160 +PlayableDirector: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 805708159} + m_Enabled: 1 + serializedVersion: 3 + m_PlayableAsset: {fileID: 11400000, guid: df0daaf08ad150e46a9a5c3d0a3e187a, type: 2} + m_InitialState: 0 + m_WrapMode: 2 + m_DirectorUpdateMode: 1 + m_InitialTime: 0 + m_SceneBindings: + - key: {fileID: 114293287003459442, guid: df0daaf08ad150e46a9a5c3d0a3e187a, type: 2} + value: {fileID: 1295058253} + - key: {fileID: 114716226793156428, guid: df0daaf08ad150e46a9a5c3d0a3e187a, type: 2} + value: {fileID: 1815443141} + m_ExposedReferences: + m_References: + - a4c7c1a597d7e6647abdb80a72f9d9ac: {fileID: 1956070572} + - 5d984d59c906b564eb255b9fe8688e4d: {fileID: 1956070572} + - e7b2903ec6b103d41a31066181a3e86e: {fileID: 1741582541} +--- !u!23 &805708161 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 23187569805761266, guid: eb2690c0771f68c48823fc4a7816d734, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 805708159} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 850a1a07bd7c8e24a8e518501c065b86, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!114 &805708162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 805708159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e46ac8d61dc065848bd5a1aa7cd8c006, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayerMask: + serializedVersion: 2 + m_Bits: 1 + m_WithTag: Player + m_WithoutTag: + m_SkipFirst: 0 + m_Repeating: 1 + m_OnObjectEnter: + m_Action: 6 + m_Target: {fileID: 805708159} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineTriggerAction+ActionSettings+TriggerEvent, + Cinemachine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_OnObjectExit: + m_Action: 6 + m_Target: {fileID: 805708159} + m_BoostAmount: 0 + m_StartTime: 5 + m_Mode: 1 + m_Event: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineTriggerAction+ActionSettings+TriggerEvent, + Cinemachine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null +--- !u!33 &805708163 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 33477098701034830, guid: eb2690c0771f68c48823fc4a7816d734, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 805708159} + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!4 &805708164 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4910252563155258, guid: eb2690c0771f68c48823fc4a7816d734, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 805708159} + m_LocalRotation: {x: -0, y: 0.010380024, z: -0, w: 0.9999461} + m_LocalPosition: {x: 1.63, y: 1.37, z: -1.63} + m_LocalScale: {x: 0.5, y: 2, z: 2} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 1.189, z: 0} +--- !u!64 &805708165 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 805708159} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 1 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!1 &873280745 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 873280747} + - component: {fileID: 873280746} + m_Layer: 0 + m_Name: TopRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &873280746 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 873280745} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Transitions + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 60 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 542532398} +--- !u!4 &873280747 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 873280745} + m_LocalRotation: {x: -0.31065872, y: -0.021368805, z: -0.0069858287, w: 0.9502557} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 542532398} + m_Father: {fileID: 1741582542} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1015814696 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalPosition.z + value: -16.63 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1015814697 stripped +Transform: + m_PrefabParentObject: {fileID: 4807132077054408, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1015814696} +--- !u!4 &1015814698 stripped +Transform: + m_PrefabParentObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 2} + m_PrefabInternal: {fileID: 1015814696} +--- !u!1 &1119011799 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1119011800} + - component: {fileID: 1119011803} + - component: {fileID: 1119011802} + - component: {fileID: 1119011801} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1119011800 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1119011799} + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -9.7717705, y: 22.002226, z: -28.75698} + m_LocalScale: {x: 0.44043162, y: 5.9923673, z: 8.085865} + m_Children: [] + m_Father: {fileID: 356910117} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!23 &1119011801 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1119011799} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1119011802 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1119011799} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1119011803 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1119011799} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &1157328852 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.y + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4442032073464290, guid: b6a68029251c6c54ea270e3724819861, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: b6a68029251c6c54ea270e3724819861, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1196564013 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1196564015} + - component: {fileID: 1196564014} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1196564014 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1196564013} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Transitions + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 60 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1393450129} +--- !u!4 &1196564015 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1196564013} + m_LocalRotation: {x: -0.18171994, y: -0.022071104, z: -0.0040797316, w: 0.98309416} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1393450129} + m_Father: {fileID: 1741582542} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1295058248 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1295058252} + - component: {fileID: 1295058251} + - component: {fileID: 1295058250} + - component: {fileID: 1295058249} + - component: {fileID: 1295058253} + - component: {fileID: 1295058254} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1295058249 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 +--- !u!124 &1295058250 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 +--- !u!20 &1295058251 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 50 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1295058252 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_LocalRotation: {x: -0.020381197, y: -0.030151708, z: -0.0006149353, w: 0.9830933} + m_LocalPosition: {x: 5.138823, y: 2.2999992, z: -18.899017} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1295058253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 0 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+BrainEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1295058254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1295058248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Trigger Volume Timeline + m_Description: 'Turn this window off by removing the script on the Main Camera + + + Entering the trigger volume in the building starts a Timeline which then blends + into a closer FreeLook camera. + + + This setup will allow you to blend between different FreeLook setups based on + world trigger volumes' +--- !u!1 &1343764756 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1343764758} + - component: {fileID: 1343764757} + m_Layer: 0 + m_Name: MiddleRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1343764757 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Transitions + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 509908080} +--- !u!4 &1343764758 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1343764756} + m_LocalRotation: {x: -0.02038119, y: -0.03007827, z: -0.0006134276, w: 0.9993396} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 509908080} + m_Father: {fileID: 1956070573} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1366204327 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1366204328} + - component: {fileID: 1366204331} + - component: {fileID: 1366204330} + - component: {fileID: 1366204329} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1366204328 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1366204327} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.1817713, y: 20.182226, z: -28.75698} + m_LocalScale: {x: 0.4404314, y: 3.2303402, z: 8.085865} + m_Children: [] + m_Father: {fileID: 356910117} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1366204329 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1366204327} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1366204330 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1366204327} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1366204331 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1366204327} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1393450128 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1393450129} + - component: {fileID: 1393450132} + - component: {fileID: 1393450131} + - component: {fileID: 1393450130} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1393450129 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1393450128} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1196564015} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1393450130 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1393450128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.359 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.27799994 +--- !u!114 &1393450131 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1393450128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1, z: -1} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1393450132 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1393450128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1440480789 stripped +Transform: + m_PrefabParentObject: {fileID: 4753686679862902, guid: b6a68029251c6c54ea270e3724819861, + type: 2} + m_PrefabInternal: {fileID: 1157328852} +--- !u!1 &1479118034 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1479118036} + - component: {fileID: 1479118035} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1479118035 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1479118034} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Transitions + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 60 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1624303213} +--- !u!4 &1479118036 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1479118034} + m_LocalRotation: {x: -0.11593824, y: -0.022293564, z: -0.0026028736, w: 0.99300283} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1624303213} + m_Father: {fileID: 1741582542} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1624303212 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1624303213} + - component: {fileID: 1624303216} + - component: {fileID: 1624303215} + - component: {fileID: 1624303214} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1624303213 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1624303212} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1479118036} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1624303214 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1624303212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.237 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0.345 +--- !u!114 &1624303215 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1624303212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9384ab8608cdc3d479fe89cd51eed48f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BindingMode: 5 + m_FollowOffset: {x: 0, y: 1, z: -1} + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_PitchDamping: 0 + m_YawDamping: 0 + m_RollDamping: 0 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_LegacyRadius: 3.4028235e+38 + m_LegacyHeightOffset: 3.4028235e+38 + m_LegacyHeadingBias: 3.4028235e+38 + m_HeadingIsSlave: 1 +--- !u!114 &1624303216 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1624303212} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1741582540 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1741582542} + - component: {fileID: 1741582541} + - component: {fileID: 1741582543} + m_Layer: 0 + m_Name: CM FreeLook near + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1741582541 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1741582540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 1015814698} + m_Follow: {fileID: 1015814697} + m_CommonLens: 1 + m_Lens: + FieldOfView: 60 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_YAxis: + Value: 0.5 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertInput: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_Wrap: 0 + m_YAxisRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 0.243 + m_Orbits: + - m_Height: 2 + m_Radius: 0.6 + - m_Height: 1 + m_Radius: 1 + - m_Height: 0.4 + m_Radius: 0.6 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 873280746} + - {fileID: 1196564014} + - {fileID: 1479118035} +--- !u!4 &1741582542 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1741582540} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5.0462737, y: 2.1, z: -17.628927} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 873280747} + - {fileID: 1196564015} + - {fileID: 1479118036} + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1741582543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1741582540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: Player + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.1 + m_AvoidObstacles: 1 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 6 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 0 +--- !u!1 &1815443141 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1815443142} + - component: {fileID: 1815443146} + - component: {fileID: 1815443145} + - component: {fileID: 1815443144} + - component: {fileID: 1815443143} + m_Layer: 0 + m_Name: Cube door + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1815443142 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1815443141} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 20.182226, z: 0} + m_LocalScale: {x: 0.44043, y: 3.23034, z: 5.2297363} + m_Children: [] + m_Father: {fileID: 356910117} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!95 &1815443143 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1815443141} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!23 &1815443144 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1815443141} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1815443145 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1815443141} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1815443146 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1815443141} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1882019631 +GameObject: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1882019633} + - component: {fileID: 1882019632} + m_Layer: 0 + m_Name: BottomRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1882019632 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + - Header + - Extensions + - m_Priority + - m_Follow + - m_Transitions + - m_Lens + m_LockStageInInspector: 00000000 + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 445145005} +--- !u!4 &1882019633 +Transform: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882019631} + m_LocalRotation: {x: 0.034376834, y: -0.030312056, z: 0.001043129, w: 0.99894863} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 445145005} + m_Father: {fileID: 1956070573} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1956070571 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1956070573} + - component: {fileID: 1956070572} + - component: {fileID: 1956070574} + m_Layer: 0 + m_Name: CM FreeLook + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1956070572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 319d2fe34a804e245819465c9505ea59, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_LookAt: {fileID: 1015814698} + m_Follow: {fileID: 1015814697} + m_CommonLens: 1 + m_Lens: + FieldOfView: 50 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_TypeName: Cinemachine.CinemachineBrain+VcamEvent, Cinemachine, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_LegacyBlendHint: 0 + m_YAxis: + Value: 0.5 + m_MaxSpeed: 2 + m_AccelTime: 0.2 + m_DecelTime: 0.1 + m_InputAxisName: Mouse Y + m_InputAxisValue: 0 + m_InvertInput: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_Wrap: 0 + m_YAxisRecentering: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_XAxis: + Value: 0 + m_MaxSpeed: 300 + m_AccelTime: 0.1 + m_DecelTime: 0.1 + m_InputAxisName: Mouse X + m_InputAxisValue: 0 + m_InvertInput: 1 + m_MinValue: -180 + m_MaxValue: 180 + m_Wrap: 1 + m_Heading: + m_Definition: 2 + m_VelocityFilterStrength: 4 + m_Bias: 180 + m_RecenterToTargetHeading: + m_enabled: 0 + m_WaitTime: 1 + m_RecenteringTime: 2 + m_LegacyHeadingDefinition: -1 + m_LegacyVelocityFilterStrength: -1 + m_BindingMode: 5 + m_SplineCurvature: 1 + m_Orbits: + - m_Height: 4 + m_Radius: 1.5 + - m_Height: 1.2 + m_Radius: 3 + - m_Height: 0.2 + m_Radius: 2.5 + m_LegacyHeadingBias: 3.4028235e+38 + m_Rigs: + - {fileID: 314295171} + - {fileID: 1343764757} + - {fileID: 1882019632} +--- !u!4 &1956070573 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5.1388235, y: 2.3000002, z: -19.626785} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 314295172} + - {fileID: 1343764758} + - {fileID: 1882019633} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1956070574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956070571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e501d18bb52cf8c40b1853ca4904654f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CollideAgainst: + serializedVersion: 2 + m_Bits: 1 + m_IgnoreTag: Player + m_TransparentLayers: + serializedVersion: 2 + m_Bits: 0 + m_MinimumDistanceFromTarget: 0.1 + m_AvoidObstacles: 1 + m_DistanceLimit: 0 + m_MinimumOcclusionTime: 0 + m_CameraRadius: 0.1 + m_Strategy: 1 + m_MaximumEffort: 4 + m_SmoothingTime: 0 + m_Damping: 0 + m_DampingWhenOccluded: 0 + m_OptimalTargetDistance: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume Timeline.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume Timeline.unity.meta new file mode 100644 index 00000000..787d946e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume Timeline.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0fef7fec5378d7a4ca8ea7a1b2b17f80 +timeCreated: 1505485301 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume.unity b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume.unity new file mode 100644 index 00000000..be29c92c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume.unity @@ -0,0 +1,1157 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &62958715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 62958717} + - component: {fileID: 62958716} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &62958716 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &62958717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 62958715} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 3.3263245, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!4 &303493856 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4910200009443296, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 1251549206} + m_PrefabAsset: {fileID: 0} +--- !u!1 &399017372 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1888939156634140, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 399017374} + - component: {fileID: 399017373} + m_Layer: 0 + m_Name: CM vcam DollyTrack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &399017373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114679459329679542, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 399017372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 11 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 1992850454} + m_Follow: {fileID: 1629969563} + m_Lens: + FieldOfView: 55 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1035685395} +--- !u!4 &399017374 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4962682443765646, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 399017372} + m_LocalRotation: {x: 0.04636271, y: 0.54558724, z: -0.03024897, w: 0.8362237} + m_LocalPosition: {x: -13.346645, y: 4.43181, z: -10.369632} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1035685395} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436401187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436401188} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436401188 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436401187} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 526689774} + - {fileID: 1498267123} + - {fileID: 1665333748} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &514343318 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 514343320} + - component: {fileID: 514343319} + m_Layer: 0 + m_Name: CM vcam Overview + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &514343319 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 514343318} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 303493856} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 40 + OrthographicSize: 10 + NearClipPlane: 0.1 + FarClipPlane: 5000 + Dutch: 0 + LensShift: {x: 0, y: 0} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1258158063} +--- !u!4 &514343320 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 514343318} + m_LocalRotation: {x: 0.1773916, y: 0.113901176, z: -0.02067425, w: 0.9773082} + m_LocalPosition: {x: 0, y: 10.86, z: -25.13} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1258158063} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &526689773 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 436401188} + m_Modifications: + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 61745ace033145746897f4e80481de5f, type: 3} +--- !u!4 &526689774 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4146330374486442, guid: 61745ace033145746897f4e80481de5f, + type: 3} + m_PrefabInstance: {fileID: 526689773} + m_PrefabAsset: {fileID: 0} +--- !u!4 &633442634 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4395715697798690, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + m_PrefabInstance: {fileID: 1251549206} + m_PrefabAsset: {fileID: 0} +--- !u!1 &758404294 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1120736325280268, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 758404296} + - component: {fileID: 758404295} + m_Layer: 0 + m_Name: DollyTrack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &758404295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114863931766110406, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 758404294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d37e5385efd7064cb1d54c94960acae, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Resolution: 20 + m_Appearance: + pathColor: {r: 0, g: 1, b: 0, a: 1} + inactivePathColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + width: 0.2 + m_Looped: 1 + m_Waypoints: + - position: {x: 0, y: 0, z: -5} + tangent: {x: 3, y: 0, z: 0} + roll: 0 + - position: {x: 10, y: -3, z: 5} + tangent: {x: 0, y: 0, z: 8} + roll: 0 + - position: {x: 0, y: 0, z: 15} + tangent: {x: -3, y: 0, z: 0} + roll: 0 + - position: {x: -10, y: -3, z: 5} + tangent: {x: 0, y: 0, z: -8} + roll: 0 +--- !u!4 &758404296 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4684324391922834, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 758404294} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.9569983, y: 6.7770004, z: -9.655998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1498267123} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1035685394 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 1346676014627556, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1035685395} + - component: {fileID: 1035685398} + - component: {fileID: 1035685397} + - component: {fileID: 1035685396} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1035685395 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 4553480210941062, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1035685394} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 399017374} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1035685396 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 114887472121485400, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1035685394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36d1163fa822e8b418a0a603ec078d5c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Damping: 0 +--- !u!114 &1035685397 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 114394121848141998, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1035685394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 1 + m_VerticalDamping: 1 + m_ScreenX: 0.5 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1035685398 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 114014728496124226, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1035685394} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1054978840 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4514852612902388, guid: 61745ace033145746897f4e80481de5f, + type: 3} + m_PrefabInstance: {fileID: 526689773} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1251549206 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.x + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.y + value: 1.1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalPosition.z + value: -4 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4921245023048312, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: useCharacterForward + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114640801015031044, guid: f9dee39d229a4bb4087224760ba2d338, + type: 3} + propertyPath: lockToCameraForward + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f9dee39d229a4bb4087224760ba2d338, type: 3} +--- !u!1 &1258158062 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1258158063} + - component: {fileID: 1258158065} + - component: {fileID: 1258158064} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1258158063 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1258158062} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 514343320} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1258158064 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1258158062} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 10 + m_LookaheadIgnoreY: 0 + m_HorizontalDamping: 0.5 + m_VerticalDamping: 1 + m_ScreenX: 0.49999988 + m_ScreenY: 0.5 + m_DeadZoneWidth: 0.1 + m_DeadZoneHeight: 0.1 + m_SoftZoneWidth: 0.8 + m_SoftZoneHeight: 0.8 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 +--- !u!114 &1258158065 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1258158062} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1498267122 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1498267123} + m_Layer: 0 + m_Name: DollyTrackWithCart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1498267123 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1498267122} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 758404296} + - {fileID: 1629969563} + m_Father: {fileID: 436401188} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1629969562 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1170264707004384, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1629969563} + - component: {fileID: 1629969564} + m_Layer: 0 + m_Name: DollyCart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1629969563 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4703474791163362, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1629969562} + m_LocalRotation: {x: -0.12246957, y: -0.49487975, z: -0.070689544, w: 0.8573787} + m_LocalPosition: {x: 0.39183044, y: 5.5448112, z: 3.8401337} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1498267123} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1629969564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114740907135044088, guid: dacddffc9983cdf44bb21aadfd301d81, + type: 2} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1629969562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 99a9c787e5d1bbf48a389834c4a9641c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Path: {fileID: 758404295} + m_UpdateMethod: 1 + m_PositionUnits: 1 + m_Speed: 2 + m_Position: 26.51014 +--- !u!1 &1665333747 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1665333748} + - component: {fileID: 1665333749} + - component: {fileID: 1665333750} + - component: {fileID: 1665333751} + - component: {fileID: 1665333752} + m_Layer: 0 + m_Name: DollyTrackTrigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1665333748 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1665333747} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -5, y: 1.5, z: -5} + m_LocalScale: {x: 8, y: 1, z: 8} + m_Children: [] + m_Father: {fileID: 436401188} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1665333749 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1665333747} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &1665333750 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1665333747} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 578f562e15904cc4aaccbe9d98154103, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1665333751 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1665333747} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e46ac8d61dc065848bd5a1aa7cd8c006, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayerMask: + serializedVersion: 2 + m_Bits: 1 + m_WithTag: Player + m_WithoutTag: + m_SkipFirst: 0 + m_Repeating: 1 + m_OnObjectEnter: + m_Action: 2 + m_Target: {fileID: 399017372} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] + m_OnObjectExit: + m_Action: 3 + m_Target: {fileID: 399017372} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1665333752 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1665333747} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e46ac8d61dc065848bd5a1aa7cd8c006, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LayerMask: + serializedVersion: 2 + m_Bits: 1 + m_WithTag: Player + m_WithoutTag: + m_SkipFirst: 0 + m_Repeating: 1 + m_OnObjectEnter: + m_Action: 4 + m_Target: {fileID: 1629969564} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] + m_OnObjectExit: + m_Action: 5 + m_Target: {fileID: 1629969564} + m_BoostAmount: 0 + m_StartTime: 0 + m_Mode: 0 + m_Event: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1787124812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1787124816} + - component: {fileID: 1787124815} + - component: {fileID: 1787124814} + - component: {fileID: 1787124813} + - component: {fileID: 1787124817} + - component: {fileID: 1787124818} + m_Layer: 0 + m_Name: MainCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1787124813 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!124 &1787124814 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 +--- !u!20 &1787124815 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 5000 + field of view: 40 + orthographic: 0 + orthographic size: 10 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1787124816 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_LocalRotation: {x: 0.1773916, y: 0.113901176, z: -0.02067425, w: 0.9773082} + m_LocalPosition: {x: 0, y: 10.86, z: -25.13} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1787124817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowDebugText: 1 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1787124818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787124812} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 803b00b1c55094e499a99684ddbd9b57, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Title: Trigger Volume + m_Description: 'Turn this window off by removing the script on the Main Camera + + + Use + the arrow keys to move the character into the blue section which sets a camera + to be the highest priority and then blends to it using the Default Blend in the + Cinemachine Brain on the Main Camera + + + Note the Target Group on the CM DollyTrack + camera which is aiming at the averaging the center of both the character and + the center sphere' +--- !u!1 &1992850453 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1992850454} + - component: {fileID: 1992850455} + m_Layer: 0 + m_Name: TargetGroup1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1992850454 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992850453} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.0014996529, y: 2.8100507, z: -4.496024} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1992850455 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992850453} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5eb80d8e62d9d145bb50fb783c0f731, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PositionMode: 0 + m_RotationMode: 0 + m_UpdateMethod: 1 + m_Targets: + - target: {fileID: 1054978840} + weight: 1 + radius: 0 + - target: {fileID: 633442634} + weight: 1 + radius: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume.unity.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume.unity.meta new file mode 100644 index 00000000..10b3ed90 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Scenes/Trigger volumes/Trigger volume.unity.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4929c046d4fbb5a47b9dda592129fa68 +timeCreated: 1510161201 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared.meta new file mode 100644 index 00000000..6a446d82 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9f9f3be6bf53948e7994bc63835ff3fe +folderAsset: yes +timeCreated: 1486151940 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation.meta new file mode 100644 index 00000000..1ac5693c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 83f74a97a5d0c6e468b9b238f09330a4 +folderAsset: yes +timeCreated: 1510154952 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/Cube.controller b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/Cube.controller new file mode 100644 index 00000000..7767b75d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/Cube.controller @@ -0,0 +1,67 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Cube + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 110764314} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &110234796 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: cube motion + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 463bd22a50e6c0746a334d0be54ee31c, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: +--- !u!1107 &110764314 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 110234796} + m_Position: {x: 276, y: 24, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 110234796} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/Cube.controller.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/Cube.controller.meta new file mode 100644 index 00000000..eea539fb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/Cube.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d8a44ee0b5d2d874f952ffc00abf8298 +timeCreated: 1461695034 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube A motion.anim b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube A motion.anim new file mode 100644 index 00000000..f2f3afba --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube A motion.anim @@ -0,0 +1,228 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: cube A motion + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: {x: 0, y: 2.5, z: 15.6000004} + inSlope: {x: 9.81155014, y: 0, z: 6.63829851} + outSlope: {x: 9.81155014, y: 0, z: 6.63829851} + tangentMode: 0 + - time: 5.48333311 + value: {x: 53.7999992, y: 2.5, z: 52} + inSlope: {x: -29.9730091, y: 0, z: 1.13733101} + outSlope: {x: -29.9730091, y: 0, z: 1.13733101} + tangentMode: 0 + - time: 7.13333321 + value: {x: -61.2999992, y: 2.5, z: 44.7999992} + inSlope: {x: -35.120491, y: 0, z: -15.1344252} + outSlope: {x: -35.120491, y: 0, z: -15.1344252} + tangentMode: 0 + - time: 10.6499996 + value: {x: -63, y: 2.5, z: -46.2999992} + inSlope: {x: 4.92850637, y: 0, z: -22.5179558} + outSlope: {x: 4.92850637, y: 0, z: -22.5179558} + tangentMode: 0 + - time: 16.1333332 + value: {x: -6.30000019, y: 2.5, z: -151.199997} + inSlope: {x: 6.03256083, y: 0, z: 1.88809204} + outSlope: {x: 6.03256083, y: 0, z: 1.88809204} + tangentMode: 0 + - time: 20.25 + value: {x: .800000012, y: 2.5, z: -56.9000015} + inSlope: {x: 7.75954294, y: 0, z: 20.8740005} + outSlope: {x: 7.75954294, y: 0, z: 20.8740005} + tangentMode: 0 + - time: 23.8166676 + value: {x: 50, y: 2.5, z: 10.3000002} + inSlope: {x: 13.7943897, y: 0, z: 18.8411179} + outSlope: {x: 13.7943897, y: 0, z: 18.8411179} + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + path: + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - path: 0 + attribute: 1 + script: {fileID: 0} + classID: 4 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_StartTime: 0 + m_StopTime: 23.8166676 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 9.81155014 + outSlope: 9.81155014 + tangentMode: 10 + - time: 5.48333311 + value: 53.7999992 + inSlope: -29.9730091 + outSlope: -29.9730091 + tangentMode: 10 + - time: 7.13333321 + value: -61.2999992 + inSlope: -35.120491 + outSlope: -35.120491 + tangentMode: 10 + - time: 10.6499996 + value: -63 + inSlope: 4.92850637 + outSlope: 4.92850637 + tangentMode: 10 + - time: 16.1333332 + value: -6.30000019 + inSlope: 6.03256083 + outSlope: 6.03256083 + tangentMode: 10 + - time: 20.25 + value: .800000012 + inSlope: 7.75954294 + outSlope: 7.75954294 + tangentMode: 10 + - time: 23.8166676 + value: 50 + inSlope: 13.7943897 + outSlope: 13.7943897 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 5.48333311 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 7.13333321 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 10.6499996 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 16.1333332 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 20.25 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 23.8166676 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 15.6000004 + inSlope: 6.63829851 + outSlope: 6.63829851 + tangentMode: 10 + - time: 5.48333311 + value: 52 + inSlope: 1.13733101 + outSlope: 1.13733101 + tangentMode: 10 + - time: 7.13333321 + value: 44.7999992 + inSlope: -15.1344252 + outSlope: -15.1344252 + tangentMode: 10 + - time: 10.6499996 + value: -46.2999992 + inSlope: -22.5179558 + outSlope: -22.5179558 + tangentMode: 10 + - time: 16.1333332 + value: -151.199997 + inSlope: 1.88809204 + outSlope: 1.88809204 + tangentMode: 10 + - time: 20.25 + value: -56.9000015 + inSlope: 20.8740005 + outSlope: 20.8740005 + tangentMode: 10 + - time: 23.8166676 + value: 10.3000002 + inSlope: 18.8411179 + outSlope: 18.8411179 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_GenerateMotionCurves: 0 + m_Events: [] diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube A motion.anim.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube A motion.anim.meta new file mode 100644 index 00000000..0346066f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube A motion.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 463bd22a50e6c0746a334d0be54ee31c +timeCreated: 1455925094 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube B motion.anim b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube B motion.anim new file mode 100644 index 00000000..78a97d9e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube B motion.anim @@ -0,0 +1,228 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: cube B motion + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: {x: 0, y: 2.5, z: 15.6000004} + inSlope: {x: 9.81155014, y: 0, z: 6.63829851} + outSlope: {x: 9.81155014, y: 0, z: 6.63829851} + tangentMode: 0 + - time: 5.48333311 + value: {x: 53.7999992, y: 2.5, z: 52} + inSlope: {x: -29.9730091, y: 0, z: 1.13733101} + outSlope: {x: -29.9730091, y: 0, z: 1.13733101} + tangentMode: 0 + - time: 7.13333321 + value: {x: -61.2999992, y: 2.5, z: 44.7999992} + inSlope: {x: -35.120491, y: 0, z: -15.1344252} + outSlope: {x: -35.120491, y: 0, z: -15.1344252} + tangentMode: 0 + - time: 10.6499996 + value: {x: -63, y: 2.5, z: -46.2999992} + inSlope: {x: 4.92850637, y: 0, z: -22.5179558} + outSlope: {x: 4.92850637, y: 0, z: -22.5179558} + tangentMode: 0 + - time: 16.1333332 + value: {x: -6.30000019, y: 2.5, z: -151.199997} + inSlope: {x: 6.03256083, y: 0, z: 1.88809204} + outSlope: {x: 6.03256083, y: 0, z: 1.88809204} + tangentMode: 0 + - time: 20.25 + value: {x: .800000012, y: 2.5, z: -56.9000015} + inSlope: {x: 7.75954294, y: 0, z: 20.8740005} + outSlope: {x: 7.75954294, y: 0, z: 20.8740005} + tangentMode: 0 + - time: 23.8166676 + value: {x: 50, y: 2.5, z: 10.3000002} + inSlope: {x: 13.7943897, y: 0, z: 18.8411179} + outSlope: {x: 13.7943897, y: 0, z: 18.8411179} + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + path: + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - path: 0 + attribute: 1 + script: {fileID: 0} + classID: 4 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_StartTime: 0 + m_StopTime: 23.8166676 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 9.81155014 + outSlope: 9.81155014 + tangentMode: 10 + - time: 5.48333311 + value: 53.7999992 + inSlope: -29.9730091 + outSlope: -29.9730091 + tangentMode: 10 + - time: 7.13333321 + value: -61.2999992 + inSlope: -35.120491 + outSlope: -35.120491 + tangentMode: 10 + - time: 10.6499996 + value: -63 + inSlope: 4.92850637 + outSlope: 4.92850637 + tangentMode: 10 + - time: 16.1333332 + value: -6.30000019 + inSlope: 6.03256083 + outSlope: 6.03256083 + tangentMode: 10 + - time: 20.25 + value: .800000012 + inSlope: 7.75954294 + outSlope: 7.75954294 + tangentMode: 10 + - time: 23.8166676 + value: 50 + inSlope: 13.7943897 + outSlope: 13.7943897 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 5.48333311 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 7.13333321 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 10.6499996 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 16.1333332 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 20.25 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + - time: 23.8166676 + value: 2.5 + inSlope: 0 + outSlope: 0 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 15.6000004 + inSlope: 6.63829851 + outSlope: 6.63829851 + tangentMode: 10 + - time: 5.48333311 + value: 52 + inSlope: 1.13733101 + outSlope: 1.13733101 + tangentMode: 10 + - time: 7.13333321 + value: 44.7999992 + inSlope: -15.1344252 + outSlope: -15.1344252 + tangentMode: 10 + - time: 10.6499996 + value: -46.2999992 + inSlope: -22.5179558 + outSlope: -22.5179558 + tangentMode: 10 + - time: 16.1333332 + value: -151.199997 + inSlope: 1.88809204 + outSlope: 1.88809204 + tangentMode: 10 + - time: 20.25 + value: -56.9000015 + inSlope: 20.8740005 + outSlope: 20.8740005 + tangentMode: 10 + - time: 23.8166676 + value: 10.3000002 + inSlope: 18.8411179 + outSlope: 18.8411179 + tangentMode: 10 + m_PreInfinity: 2 + m_PostInfinity: 2 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_GenerateMotionCurves: 0 + m_Events: [] diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube B motion.anim.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube B motion.anim.meta new file mode 100644 index 00000000..1cd2ad49 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Animation/cube B motion.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1c7e247e6c4c7284cbf4b3265ba1902f +timeCreated: 1461694307 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Blends.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Blends.meta new file mode 100644 index 00000000..54ace83f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Blends.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6540294993c2d4f06ab50d2083485d87 +folderAsset: yes +timeCreated: 1508790945 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Blends/CM StateDrivenCameraBlends.asset b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Blends/CM StateDrivenCameraBlends.asset new file mode 100644 index 00000000..00d516ea --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Blends/CM StateDrivenCameraBlends.asset @@ -0,0 +1,24 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36baaa8bdcb9d8b49b9199833965d2c3, type: 3} + m_Name: CM StateDrivenCameraBlends + m_EditorClassIdentifier: + m_CustomBlends: + - m_From: '**ANY CAMERA**' + m_To: CM FreeLook + m_Blend: + m_Style: 1 + m_Time: 1 + - m_From: '**ANY CAMERA**' + m_To: CM FreeLook sprint + m_Blend: + m_Style: 1 + m_Time: 2 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Blends/CM StateDrivenCameraBlends.asset.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Blends/CM StateDrivenCameraBlends.asset.meta new file mode 100644 index 00000000..9ac55340 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Blends/CM StateDrivenCameraBlends.asset.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 798528270df5a4ed3a432b5bab12156e +timeCreated: 1508790945 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials.meta new file mode 100644 index 00000000..50ba9ec9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a3fadda6035f6fc43b5e6bd0669336ca +folderAsset: yes +timeCreated: 1455750639 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Bouncy 1.physicmaterial b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Bouncy 1.physicmaterial new file mode 100644 index 00000000..7efd0770 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Bouncy 1.physicmaterial @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!134 &13400000 +PhysicMaterial: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Bouncy 1 + dynamicFriction: 0.3 + staticFriction: 0.3 + bounciness: 1 + frictionCombine: 0 + bounceCombine: 3 +--- !u!1002 &13400001 +EditorExtensionImpl: + serializedVersion: 6 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Bouncy 1.physicmaterial.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Bouncy 1.physicmaterial.meta new file mode 100644 index 00000000..0ec63330 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Bouncy 1.physicmaterial.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c9bec0ecadc5ab6479d11776b9b63b5d +timeCreated: 1427463081 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype.mat new file mode 100644 index 00000000..3aacb745 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype.mat @@ -0,0 +1,115 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Default_Prototype + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FirstTex: + m_Texture: {fileID: 2800000, guid: eb18006e3122d7e4a84e8ef8b708df02, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FourthTex: + m_Texture: {fileID: 2800000, guid: 6b2e75e162ed72c428ddc9ca9cac6452, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 9470468fda72f4773a90a0306decbf0f, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Occlusion: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SecondTex: + m_Texture: {fileID: 2800000, guid: 20fa208453803ab41b65dfe6fe92c848, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThirdTex: + m_Texture: {fileID: 2800000, guid: 478de9d1d3cbac64bad0d9feaad9e272, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AlphaTestRef: 0.5 + - _Amplitude: 0.33928573 + - _Angle: 0.46428573 + - _BumpScale: 1 + - _Cutoff: 0.27 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaleUI: 0 + - _Gloss: 0.5 + - _GlossMapScale: 1 + - _Glossiness: 0.48 + - _GlossyReflections: 1 + - _Lightmapping: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Phase: 1 + - _Size: 25 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 1 + - _Wavelength: 0.17857142 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.5955882, g: 0.5955882, b: 0.5955882, a: 1} + - _Color1: {r: 0.67910445, g: 0.67910445, b: 0.67910445, a: 1} + - _Color2: {r: 0.14179105, g: 0.14179105, b: 0.14179105, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1} + - _Indicator: {r: 1, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype.mat.meta new file mode 100644 index 00000000..a4dd682b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype.mat.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 55296d1b6ee54e14e8eb4648d4b448ee diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype_Blue.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype_Blue.mat new file mode 100644 index 00000000..ea574846 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype_Blue.mat @@ -0,0 +1,115 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Default_Prototype_Blue + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FirstTex: + m_Texture: {fileID: 2800000, guid: eb18006e3122d7e4a84e8ef8b708df02, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FourthTex: + m_Texture: {fileID: 2800000, guid: 6b2e75e162ed72c428ddc9ca9cac6452, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: f63eea91ff30e6d48800caa1ebc457ef, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Occlusion: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SecondTex: + m_Texture: {fileID: 2800000, guid: 20fa208453803ab41b65dfe6fe92c848, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThirdTex: + m_Texture: {fileID: 2800000, guid: 478de9d1d3cbac64bad0d9feaad9e272, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AlphaTestRef: 0.5 + - _Amplitude: 0.33928573 + - _Angle: 0.46428573 + - _BumpScale: 1 + - _Cutoff: 0.27 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaleUI: 0 + - _Gloss: 0.5 + - _GlossMapScale: 1 + - _Glossiness: 0.48 + - _GlossyReflections: 1 + - _Lightmapping: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _Phase: 1 + - _Size: 25 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 1 + - _Wavelength: 0.17857142 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.72794116, g: 0.72794116, b: 0.72794116, a: 1} + - _Color1: {r: 0.67910445, g: 0.67910445, b: 0.67910445, a: 1} + - _Color2: {r: 0.14179105, g: 0.14179105, b: 0.14179105, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColorUI: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1} + - _Indicator: {r: 1, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype_Blue.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype_Blue.mat.meta new file mode 100644 index 00000000..b666008b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Default_Prototype_Blue.mat.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 89db8b11e2538314a89bde42040c3c94 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/GridBox_Trigger.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/GridBox_Trigger.mat new file mode 100644 index 00000000..f9c72668 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/GridBox_Trigger.mat @@ -0,0 +1,28 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: GridBox_Trigger + m_Shader: {fileID: 203, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: a14ac3ec63e90e7419f00be590aed374, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _InvFade: 1 + m_Colors: + - _TintColor: {r: 0.50735295, g: 0.50735295, b: 0.50735295, a: 0.2} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/GridBox_Trigger.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/GridBox_Trigger.mat.meta new file mode 100644 index 00000000..db6e814d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/GridBox_Trigger.mat.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 850a1a07bd7c8e24a8e518501c065b86 +timeCreated: 1510157692 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground big.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground big.mat new file mode 100644 index 00000000..37caff6a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground big.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Ground big + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 2, y: 2} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 0b343b179d2251243a8bbed3fe8e2773, type: 3} + m_Scale: {x: 2, y: 2} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.557 + - _GlossyReflections: 1 + - _Metallic: 0.375 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.25735295, g: 0.25735295, b: 0.25735295, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground big.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground big.mat.meta new file mode 100644 index 00000000..07f48c24 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground big.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e079ef97504e314080afe2ab2599e87 +timeCreated: 1455750644 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground.mat new file mode 100644 index 00000000..df5fee7e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Ground + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 30, y: 30} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 0b343b179d2251243a8bbed3fe8e2773, type: 3} + m_Scale: {x: 30, y: 30} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.28676468, g: 0.28676468, b: 0.28676468, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground.mat.meta new file mode 100644 index 00000000..13f9920d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Ground.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f993b29f4cc364a4eaf7bbf9086de313 +timeCreated: 1455750644 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/RedThing.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/RedThing.mat new file mode 100644 index 00000000..eef4ca1d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/RedThing.mat @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: RedThing + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/RedThing.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/RedThing.mat.meta new file mode 100644 index 00000000..7d5d7071 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/RedThing.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 768ffdf2b6949054488c74579e87288b +timeCreated: 1455760322 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Trigger.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Trigger.mat new file mode 100644 index 00000000..11dc7462 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Trigger.mat @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Trigger + m_Shader: {fileID: 203, guid: 0000000000000000e000000000000000, type: 0} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 3cedd75ba729c3847bddf7bb13f31a5b, type: 1} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _InvFade + second: 1 + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: .608391643, b: 0, a: 1} + data: + first: + name: _TintColor + second: {r: .634328365, g: .634328365, b: .634328365, a: .501960814} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Trigger.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Trigger.mat.meta new file mode 100644 index 00000000..31d3c20d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/Trigger.mat.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f5ec88a687cc6d9448380f21861d57ab +timeCreated: 1510157388 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/checkerboard.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/checkerboard.mat new file mode 100644 index 00000000..b25dc232 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/checkerboard.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: checkerboard + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 0b343b179d2251243a8bbed3fe8e2773, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/checkerboard.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/checkerboard.mat.meta new file mode 100644 index 00000000..59ddede4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Materials/checkerboard.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aea07daa020335f438315c12fb1afe47 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models.meta new file mode 100644 index 00000000..c7ae8bf3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6ac76abd721974363a26b46f589b1983 +folderAsset: yes +timeCreated: 1508790021 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter.meta new file mode 100644 index 00000000..57ca6a72 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3b481f8e2dfd4624d9e636cc2b96a87c +folderAsset: yes +timeCreated: 1507757056 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations.meta new file mode 100644 index 00000000..3a452951 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6b4655d843946e341843df9724b7bdaf +folderAsset: yes +timeCreated: 1507216495 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Idle.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Idle.fbx new file mode 100644 index 00000000..58fd4025 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Idle.fbx differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Idle.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Idle.fbx.meta new file mode 100644 index 00000000..2349071b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Idle.fbx.meta @@ -0,0 +1,2191 @@ +fileFormatVersion: 2 +guid: 080945c46afd34f3ebc364c1696e6678 +timeCreated: 1496416859 +licenseType: Pro +ModelImporter: + serializedVersion: 21 + fileIDToRecycleName: + 100000: Chest + 100002: Head + 100004: Hips + 100006: //RootNode + 100008: Jaw + 100010: JawEND + 100012: LeftArm + 100014: LeftCheek + 100016: LeftEye + 100018: LeftEyelidLower + 100020: LeftEyelidUpper + 100022: LeftFoot + 100024: LeftForeArm + 100026: LeftHand + 100028: LeftHandIndex1 + 100030: LeftHandIndex2 + 100032: LeftHandIndex3 + 100034: LeftHandMiddle1 + 100036: LeftHandMiddle2 + 100038: LeftHandMiddle3 + 100040: LeftHandPinky1 + 100042: LeftHandPinky2 + 100044: LeftHandPinky3 + 100046: LeftHandRing1 + 100048: LeftHandRing2 + 100050: LeftHandRing3 + 100052: LeftHandThumb1 + 100054: LeftHandThumb2 + 100056: LeftHandThumb3 + 100058: LeftInnerBrow + 100060: LeftIOuterBrow + 100062: LeftLeg + 100064: LeftLipCorner + 100066: LeftLipLower + 100068: LeftLipUpper + 100070: LeftNostril + 100072: LeftShoulder + 100074: LeftToes + 100076: LeftUpLeg + 100078: Neck + 100080: Pivot + 100082: Reference + 100084: RightArm + 100086: RightCheek + 100088: RightEye + 100090: RightEyelidLower + 100092: RightEyelidUpper + 100094: RightFoot + 100096: RightForeArm + 100098: RightHand + 100100: RightHandIndex1 + 100102: RightHandIndex2 + 100104: RightHandIndex3 + 100106: RightHandMiddle1 + 100108: RightHandMiddle2 + 100110: RightHandMiddle3 + 100112: RightHandPinky1 + 100114: RightHandPinky2 + 100116: RightHandPinky3 + 100118: RightHandRing1 + 100120: RightHandRing2 + 100122: RightHandRing3 + 100124: RightHandThumb1 + 100126: RightHandThumb2 + 100128: RightHandThumb3 + 100130: RightInnerBrow + 100132: RightIOuterBrow + 100134: RightLeg + 100136: RightLipCorner + 100138: RightLipLower + 100140: RightLipUpper + 100142: RightNostril + 100144: RightShoulder + 100146: RightToes + 100148: RightUpLeg + 100150: Root + 100152: Spine + 100154: TongueBack + 100156: TongueTip + 400000: Chest + 400002: Head + 400004: Hips + 400006: //RootNode + 400008: Jaw + 400010: JawEND + 400012: LeftArm + 400014: LeftCheek + 400016: LeftEye + 400018: LeftEyelidLower + 400020: LeftEyelidUpper + 400022: LeftFoot + 400024: LeftForeArm + 400026: LeftHand + 400028: LeftHandIndex1 + 400030: LeftHandIndex2 + 400032: LeftHandIndex3 + 400034: LeftHandMiddle1 + 400036: LeftHandMiddle2 + 400038: LeftHandMiddle3 + 400040: LeftHandPinky1 + 400042: LeftHandPinky2 + 400044: LeftHandPinky3 + 400046: LeftHandRing1 + 400048: LeftHandRing2 + 400050: LeftHandRing3 + 400052: LeftHandThumb1 + 400054: LeftHandThumb2 + 400056: LeftHandThumb3 + 400058: LeftInnerBrow + 400060: LeftIOuterBrow + 400062: LeftLeg + 400064: LeftLipCorner + 400066: LeftLipLower + 400068: LeftLipUpper + 400070: LeftNostril + 400072: LeftShoulder + 400074: LeftToes + 400076: LeftUpLeg + 400078: Neck + 400080: Pivot + 400082: Reference + 400084: RightArm + 400086: RightCheek + 400088: RightEye + 400090: RightEyelidLower + 400092: RightEyelidUpper + 400094: RightFoot + 400096: RightForeArm + 400098: RightHand + 400100: RightHandIndex1 + 400102: RightHandIndex2 + 400104: RightHandIndex3 + 400106: RightHandMiddle1 + 400108: RightHandMiddle2 + 400110: RightHandMiddle3 + 400112: RightHandPinky1 + 400114: RightHandPinky2 + 400116: RightHandPinky3 + 400118: RightHandRing1 + 400120: RightHandRing2 + 400122: RightHandRing3 + 400124: RightHandThumb1 + 400126: RightHandThumb2 + 400128: RightHandThumb3 + 400130: RightInnerBrow + 400132: RightIOuterBrow + 400134: RightLeg + 400136: RightLipCorner + 400138: RightLipLower + 400140: RightLipUpper + 400142: RightNostril + 400144: RightShoulder + 400146: RightToes + 400148: RightUpLeg + 400150: Root + 400152: Spine + 400154: TongueBack + 400156: TongueTip + 7400000: Stance + 7400002: Idle + 7400004: Idle_A + 7400006: Idle_B + 7400008: Idle_C + 7400010: Idle_D + 9500000: //RootNode + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 0 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Stance + takeName: Stance + firstFrame: 0 + lastFrame: 30 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 0 + loopBlend: 0 + loopBlendOrientation: 0 + loopBlendPositionY: 0 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 0 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: + - path: + weight: 1 + - path: Reference + weight: 1 + - path: Reference/Pivot + weight: 1 + - path: Reference/Pivot/Root + weight: 1 + - path: Reference/Pivot/Root/Hips + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot/LeftToes + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot/RightToes + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2/LeftHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2/LeftHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2/LeftHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2/LeftHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2/LeftHandThumb3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/JawEND + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueBack + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueTip + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2/RightHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2/RightHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2/RightHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2/RightHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2/RightHandThumb3 + weight: 1 + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + - serializedVersion: 16 + name: Idle + takeName: Idle + firstFrame: 50 + lastFrame: 3275 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 0 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 0 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: + - path: + weight: 1 + - path: Reference + weight: 1 + - path: Reference/Pivot + weight: 1 + - path: Reference/Pivot/Root + weight: 1 + - path: Reference/Pivot/Root/Hips + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot/LeftToes + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot/RightToes + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2/LeftHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2/LeftHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2/LeftHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2/LeftHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2/LeftHandThumb3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/JawEND + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueBack + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueTip + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2/RightHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2/RightHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2/RightHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2/RightHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2/RightHandThumb3 + weight: 1 + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + - serializedVersion: 16 + name: Idle_A + takeName: Idle + firstFrame: 157 + lastFrame: 228 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 0 + keepOriginalPositionY: 0 + keepOriginalPositionXZ: 0 + heightFromFeet: 1 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: + - path: + weight: 1 + - path: Reference + weight: 1 + - path: Reference/Pivot + weight: 1 + - path: Reference/Pivot/Root + weight: 1 + - path: Reference/Pivot/Root/Hips + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot/LeftToes + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot/RightToes + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2/LeftHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2/LeftHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2/LeftHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2/LeftHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2/LeftHandThumb3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/JawEND + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueBack + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueTip + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2/RightHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2/RightHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2/RightHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2/RightHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2/RightHandThumb3 + weight: 1 + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + - serializedVersion: 16 + name: Idle_B + takeName: Idle + firstFrame: 243 + lastFrame: 401 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 0 + keepOriginalPositionY: 0 + keepOriginalPositionXZ: 0 + heightFromFeet: 1 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: + - path: + weight: 1 + - path: Reference + weight: 1 + - path: Reference/Pivot + weight: 1 + - path: Reference/Pivot/Root + weight: 1 + - path: Reference/Pivot/Root/Hips + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot/LeftToes + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot/RightToes + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2/LeftHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2/LeftHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2/LeftHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2/LeftHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2/LeftHandThumb3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/JawEND + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueBack + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueTip + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2/RightHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2/RightHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2/RightHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2/RightHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2/RightHandThumb3 + weight: 1 + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + - serializedVersion: 16 + name: Idle_C + takeName: Idle + firstFrame: 1780 + lastFrame: 1931 + wrapMode: 0 + orientationOffsetY: -1 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 0 + keepOriginalPositionY: 0 + keepOriginalPositionXZ: 0 + heightFromFeet: 1 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: + - path: + weight: 1 + - path: Reference + weight: 1 + - path: Reference/Pivot + weight: 1 + - path: Reference/Pivot/Root + weight: 1 + - path: Reference/Pivot/Root/Hips + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot/LeftToes + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot/RightToes + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2/LeftHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2/LeftHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2/LeftHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2/LeftHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2/LeftHandThumb3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/JawEND + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueBack + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueTip + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2/RightHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2/RightHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2/RightHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2/RightHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2/RightHandThumb3 + weight: 1 + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + - serializedVersion: 16 + name: Idle_D + takeName: Idle + firstFrame: 1917 + lastFrame: 2028 + wrapMode: 0 + orientationOffsetY: -1 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 1 + keepOriginalOrientation: 0 + keepOriginalPositionY: 0 + keepOriginalPositionXZ: 0 + heightFromFeet: 1 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: + - path: + weight: 1 + - path: Reference + weight: 1 + - path: Reference/Pivot + weight: 1 + - path: Reference/Pivot/Root + weight: 1 + - path: Reference/Pivot/Root/Hips + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/LeftUpLeg/LeftLeg/LeftFoot/LeftToes + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot + weight: 1 + - path: Reference/Pivot/Root/Hips/RightUpLeg/RightLeg/RightFoot/RightToes + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandIndex1/LeftHandIndex2/LeftHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandMiddle1/LeftHandMiddle2/LeftHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandPinky1/LeftHandPinky2/LeftHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandRing1/LeftHandRing2/LeftHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/LeftShoulder/LeftArm/LeftForeArm/LeftHand/LeftHandThumb1/LeftHandThumb2/LeftHandThumb3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/JawEND + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/LeftLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipCorner + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/RightLipLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueBack + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/Jaw/TongueTip + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/LeftNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightCheek + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEye + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidLower + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightEyelidUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightInnerBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightIOuterBrow + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightLipUpper + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/Neck/Head/RightNostril + weight: 0 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandIndex1/RightHandIndex2/RightHandIndex3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandMiddle1/RightHandMiddle2/RightHandMiddle3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandPinky1/RightHandPinky2/RightHandPinky3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandRing1/RightHandRing2/RightHandRing3 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2 + weight: 1 + - path: Reference/Pivot/Root/Hips/Spine/Chest/RightShoulder/RightArm/RightForeArm/RightHand/RightHandThumb1/RightHandThumb2/RightHandThumb3 + weight: 1 + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 0 + importBlendShapes: 1 + importCameras: 0 + importLights: 0 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 0 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftUpLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightUpLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftFoot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightFoot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftShoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightShoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftForeArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightForeArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftToes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightToes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftEye + humanName: LeftEye + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightEye + humanName: RightEye + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb1 + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb2 + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb3 + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex1 + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex2 + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex3 + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle1 + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle2 + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle3 + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing1 + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing2 + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing3 + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky1 + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky2 + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky3 + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb1 + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb2 + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb3 + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex1 + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex2 + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex3 + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle1 + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle2 + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle3 + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing1 + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing2 + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing3 + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky1 + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky2 + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky3 + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: Idle(Clone) + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Reference + parentName: Idle(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Pivot + parentName: Reference + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Root + parentName: Pivot + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Root + position: {x: -0, y: 0.9516149, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftUpLeg + parentName: Hips + position: {x: -0.0754495, y: -0.04566402, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLeg + parentName: LeftUpLeg + position: {x: -0.020550499, y: -0.40912998, z: -0.00071864796} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftFoot + parentName: LeftLeg + position: {x: -0.0051529994, y: -0.4231559, z: -0.027648851} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftToes + parentName: LeftFoot + position: {x: -0.007487, y: -0.0731673, z: 0.14542712} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightUpLeg + parentName: Hips + position: {x: 0.075449534, y: -0.04566399, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLeg + parentName: RightUpLeg + position: {x: 0.020550467, y: -0.40913, z: -0.00071864796} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightFoot + parentName: RightLeg + position: {x: 0.0051529994, y: -0.4231559, z: -0.027648851} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightToes + parentName: RightFoot + position: {x: 0.007487, y: -0.0731673, z: 0.1454275} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: 2.646978e-25, y: 0.092263184, z: 0.015771331} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0, y: 0.16254029, z: -0.0016560555} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftShoulder + parentName: Chest + position: {x: -0.038285997, y: 0.2216225, z: -0.017063085} + rotation: {x: -0.013464523, y: -0.04310245, z: 0.15681057, w: 0.98659587} + scale: {x: 1, y: 1, z: 1} + - name: LeftArm + parentName: LeftShoulder + position: {x: -0.10050205, y: 0, z: -1.110223e-18} + rotation: {x: 0.010683384, y: 0.043541655, z: -0.19634834, w: 0.97950876} + scale: {x: 1, y: 1, z: 1} + - name: LeftForeArm + parentName: LeftArm + position: {x: -0.2540493, y: 0, z: 2.6645352e-17} + rotation: {x: -0.0003239586, y: 0.014908556, z: 0.0024018358, w: 0.9998859} + scale: {x: 1, y: 1, z: 1} + - name: LeftHand + parentName: LeftForeArm + position: {x: -0.24638927, y: 2.842171e-16, z: -1.5987211e-16} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex1 + parentName: LeftHand + position: {x: -0.0751258, y: -0.0078414045, z: 0.032652643} + rotation: {x: -0.0021189204, y: 0.08025744, z: 0.017538186, w: 0.9966176} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex2 + parentName: LeftHandIndex1 + position: {x: -0.03979728, y: 0.000049808405, z: 0.0011857504} + rotation: {x: 0.0005018685, y: 0.015471047, z: 0.040410817, w: 0.9990633} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex3 + parentName: LeftHandIndex2 + position: {x: -0.027968477, y: -0.000000006281225, z: -0.00000005171866} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle1 + parentName: LeftHand + position: {x: -0.076023825, y: -0.0018851344, z: 0.010141229} + rotation: {x: -0.00076887343, y: 0.033321083, z: 0.020907538, w: 0.99922574} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle2 + parentName: LeftHandMiddle1 + position: {x: -0.044280436, y: 0.000004798874, z: -0.00042540013} + rotation: {x: -0.0013621211, y: -0.019152503, z: 0.03788471, w: 0.9990976} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle3 + parentName: LeftHandMiddle2 + position: {x: -0.033964828, y: -0.000000012197929, z: 0.0000000037564827} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky1 + parentName: LeftHand + position: {x: -0.06565995, y: -0.007825106, z: -0.032251246} + rotation: {x: -0.0009125867, y: 0.012160932, z: 0.021224529, w: 0.9997003} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky2 + parentName: LeftHandPinky1 + position: {x: -0.030805448, y: -0.000030874573, z: -0.0014480775} + rotation: {x: -0.00017062847, y: -0.009661348, z: -0.0053624013, w: 0.99993896} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky3 + parentName: LeftHandPinky2 + position: {x: -0.023064027, y: -0.0000064025808, z: 0.000000018332095} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing1 + parentName: LeftHand + position: {x: -0.07030211, y: -0.0037453093, z: -0.011411792} + rotation: {x: -0.00032416338, y: 0.011597977, z: 0.02473746, w: 0.9996267} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing2 + parentName: LeftHandRing1 + position: {x: -0.043135457, y: -0.000020882308, z: -0.0022351784} + rotation: {x: -0.0012034153, y: -0.023113327, z: 0.040986076, w: 0.9988916} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing3 + parentName: LeftHandRing2 + position: {x: -0.030835565, y: 7.710298e-11, z: -0.00000001649327} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb1 + parentName: LeftHand + position: {x: -0.014231241, y: -0.012377825, z: 0.025531668} + rotation: {x: -0.013216841, y: -0.008700804, z: 0.0119097335, w: 0.99980384} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb2 + parentName: LeftHandThumb1 + position: {x: -0.016374, y: -0.00529, z: 0.023491409} + rotation: {x: -0.026061894, y: 0.096689746, z: 0.0036080794, w: 0.99496675} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb3 + parentName: LeftHandThumb2 + position: {x: -0.02546, y: -0.00764, z: 0.020833} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: Chest + position: {x: -0, y: 0.2590093, z: -0.032413255} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -2.646978e-25, y: 0.08307038, z: 0.0113267815} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: 1.7347234e-20, y: 0.0111267585, z: 0.010327543} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: JawEND + parentName: Jaw + position: {x: -1.7347234e-20, y: -0.04828876, z: 0.07185171} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLipCorner + parentName: Jaw + position: {x: -0.032843262, y: -0.01657876, z: 0.066121764} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLipLower + parentName: Jaw + position: {x: -0.014250817, y: -0.02168876, z: 0.08224063} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLipCorner + parentName: Jaw + position: {x: 0.03284, y: -0.01657876, z: 0.066118784} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLipLower + parentName: Jaw + position: {x: 0.014250817, y: -0.02168876, z: 0.082238786} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: TongueBack + parentName: Jaw + position: {x: -1.7347234e-20, y: -0.022869369, z: 0.010095409} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: TongueTip + parentName: Jaw + position: {x: -1.7347234e-20, y: -0.023278812, z: 0.03832271} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftCheek + parentName: Head + position: {x: -0.054244027, y: 0.03370195, z: 0.0594304} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftEye + parentName: Head + position: {x: -0.020848233, y: 0.0825027, z: 0.055427432} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftEyelidLower + parentName: Head + position: {x: -0.035618957, y: 0.06507366, z: 0.07623474} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftEyelidUpper + parentName: Head + position: {x: -0.034406897, y: 0.10060814, z: 0.08020531} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftInnerBrow + parentName: Head + position: {x: -0.012062691, y: 0.118765265, z: 0.093466826} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftIOuterBrow + parentName: Head + position: {x: -0.05503987, y: 0.11482529, z: 0.061777398} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLipUpper + parentName: Head + position: {x: -0.014501322, y: -0.005111811, z: 0.09461884} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftNostril + parentName: Head + position: {x: -0.0179, y: 0.026312828, z: 0.0908674} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightCheek + parentName: Head + position: {x: 0.054239996, y: 0.033702828, z: 0.0594274} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightEye + parentName: Head + position: {x: 0.020849999, y: 0.08250283, z: 0.0554274} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightEyelidLower + parentName: Head + position: {x: 0.03562, y: 0.06507283, z: 0.0762374} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightEyelidUpper + parentName: Head + position: {x: 0.03441, y: 0.10061283, z: 0.08020739} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightInnerBrow + parentName: Head + position: {x: 0.012062687, y: 0.118765265, z: 0.093466826} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightIOuterBrow + parentName: Head + position: {x: 0.055040002, y: 0.11482283, z: 0.061777398} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLipUpper + parentName: Head + position: {x: 0.014501322, y: -0.0051071714, z: 0.094617404} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightNostril + parentName: Head + position: {x: 0.0179, y: 0.026308905, z: 0.09087062} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightShoulder + parentName: Chest + position: {x: 0.038286015, y: 0.22162114, z: -0.017063085} + rotation: {x: 0.15679811, y: 0.98659784, z: -0.0134636415, w: -0.043104075} + scale: {x: 1, y: 1, z: 1} + - name: RightArm + parentName: RightShoulder + position: {x: -0.100501455, y: -0.0000024995522, z: -0.000000051557407} + rotation: {x: 0.18426873, y: 0.9798042, z: -0.017650131, w: 0.07561213} + scale: {x: 1, y: 1, z: 1} + - name: RightForeArm + parentName: RightArm + position: {x: 0.25342825, y: 0.006011353, z: -0.016704524} + rotation: {x: -0.0011232316, y: 0.029230207, z: -0.03451959, w: 0.9989759} + scale: {x: 1, y: 1, z: 1} + - name: RightHand + parentName: RightForeArm + position: {x: 0.2453737, y: 0.021641772, z: 0.005550465} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex1 + parentName: RightHand + position: {x: 0.0747695, y: -0.0012430536, z: 0.034344498} + rotation: {x: -0.0021189204, y: 0.08025744, z: 0.017538186, w: 0.9966176} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex2 + parentName: RightHandIndex1 + position: {x: 0.0370584, y: 0.00072612107, z: 0.014538894} + rotation: {x: -0.003325548, y: 0.015931565, z: 0.060631223, w: 0.9980276} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex3 + parentName: RightHandIndex2 + position: {x: 0.025225038, y: -0.0049664653, z: 0.011012146} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle1 + parentName: RightHand + position: {x: 0.075647645, y: 0.0047914027, z: 0.011853182} + rotation: {x: -0.00076887343, y: 0.033321083, z: 0.020907538, w: 0.99922574} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle2 + parentName: RightHandMiddle1 + position: {x: 0.043809064, y: 0.00019418815, z: 0.006454936} + rotation: {x: -0.0041305316, y: -0.03351179, z: 0.0761208, w: 0.9965267} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle3 + parentName: RightHandMiddle2 + position: {x: 0.03307247, y: -0.007547537, z: 0.0016898462} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky1 + parentName: RightHand + position: {x: 0.06680334, y: -0.0019941088, z: -0.030756146} + rotation: {x: 0.0031761636, y: -0.19200565, z: 0.045114137, w: 0.98035127} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky2 + parentName: RightHandPinky1 + position: {x: 0.028530842, y: -0.001397143, z: -0.011623796} + rotation: {x: -0.00017062847, y: -0.009661348, z: -0.0053624013, w: 0.99993896} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky3 + parentName: RightHandPinky2 + position: {x: 0.02142686, y: -0.00055350893, z: -0.008516608} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing1 + parentName: RightHand + position: {x: 0.070598476, y: 0.0024570965, z: -0.009821458} + rotation: {x: 0.0007109462, y: -0.054342244, z: 0.034944206, w: 0.9979105} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing2 + parentName: RightHandRing1 + position: {x: 0.042887185, y: -0.0013753821, z: -0.004945858} + rotation: {x: 0.00048439333, y: -0.021289855, z: 0.069860645, w: 0.9973294} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing3 + parentName: RightHandRing2 + position: {x: 0.029500604, y: -0.0076929354, z: -0.004622256} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb1 + parentName: RightHand + position: {x: 0.014684916, y: -0.011104942, z: 0.025858095} + rotation: {x: -0.013451211, y: -0.0031628697, z: 0.03191902, w: 0.999395} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb2 + parentName: RightHandThumb1 + position: {x: 0.016374, y: -0.00529, z: 0.02349136} + rotation: {x: -0.026062576, y: -0.0966899, z: -0.0036074002, w: 0.9949668} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb3 + parentName: RightHandThumb2 + position: {x: 0.02546, y: -0.00764, z: 0.020833} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 3 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Jog.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Jog.fbx new file mode 100644 index 00000000..1b88e0ea Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Jog.fbx differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Jog.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Jog.fbx.meta new file mode 100644 index 00000000..baa1e54f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Jog.fbx.meta @@ -0,0 +1,1087 @@ +fileFormatVersion: 2 +guid: fdc39e3202ebc4d4a8a473fd95fcff55 +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: //RootNode + 100002: Chest + 100004: Head + 100006: Hips + 100008: Jaw + 100010: JawEND + 100012: LeftArm + 100014: LeftCheek + 100016: LeftEye + 100018: LeftEyelidLower + 100020: LeftEyelidUpper + 100022: LeftFoot + 100024: LeftForeArm + 100026: LeftHand + 100028: LeftHandIndex1 + 100030: LeftHandIndex2 + 100032: LeftHandIndex3 + 100034: LeftHandMiddle1 + 100036: LeftHandMiddle2 + 100038: LeftHandMiddle3 + 100040: LeftHandPinky1 + 100042: LeftHandPinky2 + 100044: LeftHandPinky3 + 100046: LeftHandRing1 + 100048: LeftHandRing2 + 100050: LeftHandRing3 + 100052: LeftHandThumb1 + 100054: LeftHandThumb2 + 100056: LeftHandThumb3 + 100058: LeftInnerBrow + 100060: LeftIOuterBrow + 100062: LeftLeg + 100064: LeftLipCorner + 100066: LeftLipLower + 100068: LeftLipUpper + 100070: LeftNostril + 100072: LeftShoulder + 100074: LeftToes + 100076: LeftUpLeg + 100078: Neck + 100080: Reference + 100082: RightArm + 100084: RightCheek + 100086: RightEye + 100088: RightEyelidLower + 100090: RightEyelidUpper + 100092: RightFoot + 100094: RightForeArm + 100096: RightHand + 100098: RightHandIndex1 + 100100: RightHandIndex2 + 100102: RightHandIndex3 + 100104: RightHandMiddle1 + 100106: RightHandMiddle2 + 100108: RightHandMiddle3 + 100110: RightHandPinky1 + 100112: RightHandPinky2 + 100114: RightHandPinky3 + 100116: RightHandRing1 + 100118: RightHandRing2 + 100120: RightHandRing3 + 100122: RightHandThumb1 + 100124: RightHandThumb2 + 100126: RightHandThumb3 + 100128: RightInnerBrow + 100130: RightIOuterBrow + 100132: RightLeg + 100134: RightLipCorner + 100136: RightLipLower + 100138: RightLipUpper + 100140: RightNostril + 100142: RightShoulder + 100144: RightToes + 100146: RightUpLeg + 100148: Spine + 100150: TongueBack + 100152: TongueTip + 400000: //RootNode + 400002: Chest + 400004: Head + 400006: Hips + 400008: Jaw + 400010: JawEND + 400012: LeftArm + 400014: LeftCheek + 400016: LeftEye + 400018: LeftEyelidLower + 400020: LeftEyelidUpper + 400022: LeftFoot + 400024: LeftForeArm + 400026: LeftHand + 400028: LeftHandIndex1 + 400030: LeftHandIndex2 + 400032: LeftHandIndex3 + 400034: LeftHandMiddle1 + 400036: LeftHandMiddle2 + 400038: LeftHandMiddle3 + 400040: LeftHandPinky1 + 400042: LeftHandPinky2 + 400044: LeftHandPinky3 + 400046: LeftHandRing1 + 400048: LeftHandRing2 + 400050: LeftHandRing3 + 400052: LeftHandThumb1 + 400054: LeftHandThumb2 + 400056: LeftHandThumb3 + 400058: LeftInnerBrow + 400060: LeftIOuterBrow + 400062: LeftLeg + 400064: LeftLipCorner + 400066: LeftLipLower + 400068: LeftLipUpper + 400070: LeftNostril + 400072: LeftShoulder + 400074: LeftToes + 400076: LeftUpLeg + 400078: Neck + 400080: Reference + 400082: RightArm + 400084: RightCheek + 400086: RightEye + 400088: RightEyelidLower + 400090: RightEyelidUpper + 400092: RightFoot + 400094: RightForeArm + 400096: RightHand + 400098: RightHandIndex1 + 400100: RightHandIndex2 + 400102: RightHandIndex3 + 400104: RightHandMiddle1 + 400106: RightHandMiddle2 + 400108: RightHandMiddle3 + 400110: RightHandPinky1 + 400112: RightHandPinky2 + 400114: RightHandPinky3 + 400116: RightHandRing1 + 400118: RightHandRing2 + 400120: RightHandRing3 + 400122: RightHandThumb1 + 400124: RightHandThumb2 + 400126: RightHandThumb3 + 400128: RightInnerBrow + 400130: RightIOuterBrow + 400132: RightLeg + 400134: RightLipCorner + 400136: RightLipLower + 400138: RightLipUpper + 400140: RightNostril + 400142: RightShoulder + 400144: RightToes + 400146: RightUpLeg + 400148: Spine + 400150: TongueBack + 400152: TongueTip + 7400000: Jog + 9500000: //RootNode + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 0 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Jog + takeName: _12_a_U1_M_P_JogForward_NtrlFaceFwd__Fb_p0_No_0_PJ_3 + firstFrame: 268 + lastFrame: 289 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 0 + heightFromFeet: 0 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 0 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 0.01 + meshCompression: 0 + addColliders: 0 + importVisibility: 0 + importBlendShapes: 1 + importCameras: 0 + importLights: 0 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 4 + normalCalculationMode: 0 + importAnimation: 1 + copyAvatar: 1 + humanDescription: + serializedVersion: 2 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftUpLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightUpLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftFoot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightFoot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftShoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightShoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftForeArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightForeArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftToes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightToes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftEye + humanName: LeftEye + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightEye + humanName: RightEye + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb1 + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb2 + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb3 + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex1 + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex2 + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex3 + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle1 + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle2 + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle3 + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing1 + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing2 + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing3 + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky1 + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky2 + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky3 + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb1 + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb2 + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb3 + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex1 + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex2 + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex3 + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle1 + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle2 + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle3 + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing1 + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing2 + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing3 + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky1 + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky2 + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky3 + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: SmallStep(Clone) + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Reference + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: + position: {x: 0.0005513057, y: 0.9604539, z: 0.14825001} + rotation: {x: -0.025175245, y: -0.0012315813, z: -0.0060078264, w: 0.99966425} + scale: {x: 1, y: 1, z: 1} + - name: LeftUpLeg + parentName: + position: {x: -0.0754495, y: -0.04566402, z: -1.7763568e-17} + rotation: {x: 0.05640076, y: 0.027300434, z: 0.004994643, w: 0.9980224} + scale: {x: 1, y: 1, z: 1} + - name: LeftLeg + parentName: + position: {x: -0.020550499, y: -0.40912998, z: -0.00071864796} + rotation: {x: -0.017367318, y: -0.1786951, z: -0.019570697, w: 0.98355657} + scale: {x: 1, y: 1, z: 1} + - name: LeftFoot + parentName: + position: {x: -0.0051529994, y: -0.4231559, z: -0.027648851} + rotation: {x: -0.0002880121, y: 0.1051386, z: 0.027920393, w: 0.9940655} + scale: {x: 1, y: 1, z: 1} + - name: LeftToes + parentName: + position: {x: -0.007487, y: -0.0731673, z: 0.14542712} + rotation: {x: -0.015560327, y: 0.00043698392, z: -0.00075559097, w: 0.9998786} + scale: {x: 1, y: 1, z: 1} + - name: RightUpLeg + parentName: + position: {x: 0.075449534, y: -0.04566399, z: 1.7763568e-17} + rotation: {x: 0.030658921, y: 0.099532634, z: 0.015428916, w: 0.9944422} + scale: {x: 1, y: 1, z: 1} + - name: RightLeg + parentName: + position: {x: 0.020550467, y: -0.40913, z: -0.00071864796} + rotation: {x: 0.029253662, y: 0.13521753, z: 0.025294185, w: 0.990061} + scale: {x: 1, y: 1, z: 1} + - name: RightFoot + parentName: + position: {x: 0.0051529994, y: -0.4231559, z: -0.027648851} + rotation: {x: -0.017446658, y: -0.07470319, z: -0.032314803, w: 0.99652946} + scale: {x: 1, y: 1, z: 1} + - name: RightToes + parentName: + position: {x: 0.007487, y: -0.0731673, z: 0.1454275} + rotation: {x: 0.0011941958, y: -0.0056453915, z: 0.001852583, w: 0.99998164} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: + position: {x: 1.7763568e-17, y: 0.092263184, z: 0.015771331} + rotation: {x: 0.051771346, y: 0.0028054859, z: -0.011270309, w: 0.9985914} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: + position: {x: 5.3290704e-17, y: 0.16254029, z: -0.0016560555} + rotation: {x: 0.0065125604, y: 0.009296001, z: 0.034053225, w: 0.99935555} + scale: {x: 1, y: 1, z: 1} + - name: LeftShoulder + parentName: + position: {x: -0.038285997, y: 0.2216225, z: -0.017063085} + rotation: {x: -0.021960836, y: -0.04180141, z: 0.13912761, w: 0.9891481} + scale: {x: 1, y: 1, z: 1} + - name: LeftArm + parentName: + position: {x: -0.10050205, y: 0.0000000011250826, z: -1.9039077e-10} + rotation: {x: 0.091082454, y: 0.022056738, z: -0.1430188, w: 0.9852731} + scale: {x: 1, y: 1, z: 1} + - name: LeftForeArm + parentName: + position: {x: -0.2540493, y: -1.0556242e-10, z: 1.09213825e-10} + rotation: {x: 0.12484056, y: 0.031214235, z: 0.002818492, w: 0.9916817} + scale: {x: 1, y: 1, z: 1} + - name: LeftHand + parentName: + position: {x: -0.24638927, y: -1.1484463e-10, z: 1.3598456e-11} + rotation: {x: -0.022898793, y: -0.0335501, z: -0.043298353, w: 0.9982361} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex1 + parentName: + position: {x: -0.0751258, y: -0.0078414045, z: 0.032652643} + rotation: {x: 0.0060999673, y: -0.016749125, z: 0.05687823, w: 0.99822205} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex2 + parentName: + position: {x: -0.03979728, y: 0.000049808412, z: 0.0011857506} + rotation: {x: -0.067607544, y: 0.015224932, z: 0.032717455, w: 0.99705917} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex3 + parentName: + position: {x: -0.027968477, y: -0.0000000064163745, z: -0.00000005143485} + rotation: {x: -0.06627773, y: -0.0075497297, z: 0.17120177, w: 0.9829752} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle1 + parentName: + position: {x: -0.076023825, y: -0.0018851344, z: 0.010141229} + rotation: {x: -0.0037917863, y: 0.04483006, z: 0.08820312, w: 0.99508595} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle2 + parentName: + position: {x: -0.044280436, y: 0.00000479887, z: -0.00042540033} + rotation: {x: -0.012599031, y: -0.007551547, z: 0.03147826, w: 0.9993965} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle3 + parentName: + position: {x: -0.033964828, y: -0.000000012184229, z: 0.0000000037526937} + rotation: {x: -0.007228648, y: 0.00081385655, z: 0.29040176, w: 0.9568772} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky1 + parentName: + position: {x: -0.06565995, y: -0.007825106, z: -0.032251246} + rotation: {x: -0.066111416, y: 0.08169103, z: 0.0931265, w: 0.99009264} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky2 + parentName: + position: {x: -0.030805448, y: -0.000030874577, z: -0.0014480774} + rotation: {x: 0.046947356, y: -0.02116922, z: 0.037690047, w: 0.9979616} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky3 + parentName: + position: {x: -0.023064027, y: -0.0000064026085, z: 0.000000017908482} + rotation: {x: 0.046291146, y: -0.00056925963, z: 0.24186175, w: 0.96920574} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing1 + parentName: + position: {x: -0.07030211, y: -0.0037453093, z: -0.011411792} + rotation: {x: -0.020245466, y: 0.07228851, z: 0.09005896, w: 0.9931032} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing2 + parentName: + position: {x: -0.043135457, y: -0.000020882293, z: -0.0022351781} + rotation: {x: 0.018288167, y: -0.025606154, z: 0.033972062, w: 0.9989273} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing3 + parentName: + position: {x: -0.030835565, y: 1.581948e-10, z: -0.000000016455365} + rotation: {x: 0.01850981, y: -0.0023600208, z: 0.24554445, w: 0.96920574} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb1 + parentName: + position: {x: -0.014231241, y: -0.012377825, z: 0.025531668} + rotation: {x: -0.11075436, y: -0.053521357, z: -0.1105846, w: 0.9862252} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb2 + parentName: + position: {x: -0.016374, y: -0.00529, z: 0.023491409} + rotation: {x: -0.03011053, y: 0.09966989, z: 0.0063956263, w: 0.9945443} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb3 + parentName: + position: {x: -0.02546, y: -0.00764, z: 0.020833} + rotation: {x: 0.04826967, y: -0.21970885, z: -0.019951671, w: 0.97416633} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: + position: {x: 7.105427e-17, y: 0.2590093, z: -0.032413255} + rotation: {x: 0.026307272, y: 0.007300207, z: -0.019885676, w: 0.99942946} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: + position: {x: 3.5527136e-17, y: 0.08307038, z: 0.0113267815} + rotation: {x: -0.054225, y: 0.0050988905, z: -0.0018822433, w: 0.99851394} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: + position: {x: 1.7347234e-20, y: 0.0111267585, z: 0.010327543} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: JawEND + parentName: + position: {x: -1.7347234e-20, y: -0.04828876, z: 0.07185171} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLipCorner + parentName: + position: {x: -0.032843262, y: -0.01657876, z: 0.066121764} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLipLower + parentName: + position: {x: -0.014250817, y: -0.02168876, z: 0.08224063} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLipCorner + parentName: + position: {x: 0.03284, y: -0.01657876, z: 0.066118784} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLipLower + parentName: + position: {x: 0.014250817, y: -0.02168876, z: 0.082238786} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: TongueBack + parentName: + position: {x: -1.7347234e-20, y: -0.022869369, z: 0.010095409} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: TongueTip + parentName: + position: {x: -1.7347234e-20, y: -0.023278812, z: 0.03832271} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftCheek + parentName: + position: {x: -0.054244027, y: 0.03370195, z: 0.0594304} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftEye + parentName: + position: {x: -0.020848233, y: 0.0825027, z: 0.055427432} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftEyelidLower + parentName: + position: {x: -0.035618957, y: 0.06507366, z: 0.07623474} + rotation: {x: -0.034899496, y: -8.865092e-18, z: 5.331712e-18, w: 0.99939084} + scale: {x: 1, y: 1, z: 1} + - name: LeftEyelidUpper + parentName: + position: {x: -0.034406897, y: 0.10060814, z: 0.08020531} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftInnerBrow + parentName: + position: {x: -0.012062691, y: 0.118765265, z: 0.093466826} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftIOuterBrow + parentName: + position: {x: -0.05503987, y: 0.11482529, z: 0.061777398} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLipUpper + parentName: + position: {x: -0.014501322, y: -0.005111811, z: 0.09461884} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftNostril + parentName: + position: {x: -0.0179, y: 0.026312828, z: 0.0908674} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightCheek + parentName: + position: {x: 0.054239996, y: 0.033702828, z: 0.0594274} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightEye + parentName: + position: {x: 0.020849999, y: 0.08250283, z: 0.0554274} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightEyelidLower + parentName: + position: {x: 0.03562, y: 0.06507283, z: 0.0762374} + rotation: {x: -0.034899496, y: -8.865092e-18, z: 5.331712e-18, w: 0.99939084} + scale: {x: 1, y: 1, z: 1} + - name: RightEyelidUpper + parentName: + position: {x: 0.03441, y: 0.10061283, z: 0.08020739} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightInnerBrow + parentName: + position: {x: 0.012062687, y: 0.118765265, z: 0.093466826} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightIOuterBrow + parentName: + position: {x: 0.055040002, y: 0.11482283, z: 0.061777398} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLipUpper + parentName: + position: {x: 0.014501322, y: -0.0051071714, z: 0.094617404} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightNostril + parentName: + position: {x: 0.0179, y: 0.026308905, z: 0.09087062} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightShoulder + parentName: + position: {x: 0.038286015, y: 0.22162114, z: -0.017063085} + rotation: {x: 0.17314862, y: 0.9845339, z: -0.015271222, w: -0.021894779} + scale: {x: 1, y: 1, z: 1} + - name: RightArm + parentName: + position: {x: -0.100501455, y: -0.0000024966455, z: -0.00000005228366} + rotation: {x: 0.12911002, y: 0.98841476, z: -0.056917176, w: 0.05592361} + scale: {x: 1, y: 1, z: 1} + - name: RightForeArm + parentName: + position: {x: 0.25342825, y: 0.006011353, z: -0.016704524} + rotation: {x: 0.17294659, y: 0.018318847, z: -0.026436511, w: 0.9844059} + scale: {x: 1, y: 1, z: 1} + - name: RightHand + parentName: + position: {x: 0.2453737, y: 0.021641772, z: 0.005550465} + rotation: {x: -0.07456149, y: 0.04626841, z: 0.0050307373, w: 0.9961298} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex1 + parentName: + position: {x: 0.0747695, y: -0.0012430536, z: 0.034344498} + rotation: {x: -0.00423194, y: 0.16211921, z: -0.04068246, w: 0.9859231} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex2 + parentName: + position: {x: 0.0370584, y: 0.00072612107, z: 0.014538894} + rotation: {x: -0.07758397, y: 0.022350721, z: 0.040922016, w: 0.9958949} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex3 + parentName: + position: {x: 0.025225038, y: -0.0049664653, z: 0.011012146} + rotation: {x: 0.0045231823, y: 0.013293446, z: -0.08829058, w: 0.9959958} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle1 + parentName: + position: {x: 0.075647645, y: 0.0047914027, z: 0.011853182} + rotation: {x: -0.0017741377, y: 0.0143494075, z: -0.047806773, w: 0.998752} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle2 + parentName: + position: {x: 0.043809064, y: 0.00019418815, z: 0.006454936} + rotation: {x: -0.018872144, y: -0.04411144, z: 0.08295074, w: 0.99539804} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle3 + parentName: + position: {x: 0.03307247, y: -0.007547537, z: 0.0016898462} + rotation: {x: 0.0049401834, y: -0.0005552567, z: -0.19793308, w: 0.980203} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky1 + parentName: + position: {x: 0.06680334, y: -0.0019941085, z: -0.030756146} + rotation: {x: -0.06202933, y: -0.25861248, z: -0.016703352, w: 0.9638428} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky2 + parentName: + position: {x: 0.028530842, y: -0.001397143, z: -0.011623796} + rotation: {x: 0.02985772, y: 0.00079828594, z: -0.061665237, w: 0.9976499} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky3 + parentName: + position: {x: 0.02142686, y: -0.00055350893, z: -0.008516608} + rotation: {x: -0.02910623, y: 0.00039729525, z: -0.15225372, w: 0.9879127} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing1 + parentName: + position: {x: 0.070598476, y: 0.0024570967, z: -0.009821458} + rotation: {x: -0.0147603545, y: -0.11599676, z: -0.029716086, w: 0.99269533} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing2 + parentName: + position: {x: 0.042887185, y: -0.0013753821, z: -0.0049458584} + rotation: {x: 0.020764904, y: -0.021556703, z: 0.075588815, w: 0.9966898} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing3 + parentName: + position: {x: 0.029500604, y: -0.0076929354, z: -0.004622256} + rotation: {x: -0.011665739, y: 0.0013560067, z: -0.15477994, w: 0.98787916} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb1 + parentName: + position: {x: 0.014684916, y: -0.011104942, z: 0.025858095} + rotation: {x: -0.09714596, y: 0.028526563, z: 0.12988137, w: 0.9863467} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb2 + parentName: + position: {x: 0.016374, y: -0.00529, z: 0.02349136} + rotation: {x: -0.030910255, y: -0.101721525, z: -0.00582567, w: 0.9943155} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb3 + parentName: + position: {x: 0.02546, y: -0.00764, z: 0.020833} + rotation: {x: 0.04827294, y: 0.21970814, z: 0.01993708, w: 0.97416663} + scale: {x: 1, y: 1, z: 1} + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 0 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: f115f4efdf5ca9f4aab6aa6c789cf0c6, + type: 3} + animationType: 3 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Sprint.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Sprint.fbx new file mode 100644 index 00000000..dee7657e Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Sprint.fbx differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Sprint.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Sprint.fbx.meta new file mode 100644 index 00000000..41ef9761 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Sprint.fbx.meta @@ -0,0 +1,999 @@ +fileFormatVersion: 2 +guid: 7fa1f9e8c2e4188478cbd5a152ce790e +timeCreated: 1507742507 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: Head + 100002: HeadTop_End + 100004: Hips + 100006: LeftArm + 100008: LeftFoot + 100010: LeftForeArm + 100012: LeftHand + 100014: LeftHandIndex1 + 100016: LeftHandIndex2 + 100018: LeftHandIndex3 + 100020: LeftHandIndex4 + 100022: LeftHandMiddle1 + 100024: LeftHandMiddle2 + 100026: LeftHandMiddle3 + 100028: LeftHandMiddle4 + 100030: LeftHandPinky1 + 100032: LeftHandPinky2 + 100034: LeftHandPinky3 + 100036: LeftHandPinky4 + 100038: LeftHandRing1 + 100040: LeftHandRing2 + 100042: LeftHandRing3 + 100044: LeftHandRing4 + 100046: LeftHandThumb1 + 100048: LeftHandThumb2 + 100050: LeftHandThumb3 + 100052: LeftHandThumb4 + 100054: LeftLeg + 100056: LeftShoulder + 100058: LeftToe_End + 100060: LeftToeBase + 100062: LeftUpLeg + 100064: Neck + 100066: RightArm + 100068: RightFoot + 100070: RightForeArm + 100072: RightHand + 100074: RightHandIndex1 + 100076: RightHandIndex2 + 100078: RightHandIndex3 + 100080: RightHandIndex4 + 100082: RightHandMiddle1 + 100084: RightHandMiddle2 + 100086: RightHandMiddle3 + 100088: RightHandMiddle4 + 100090: RightHandPinky1 + 100092: RightHandPinky2 + 100094: RightHandPinky3 + 100096: RightHandPinky4 + 100098: RightHandRing1 + 100100: RightHandRing2 + 100102: RightHandRing3 + 100104: RightHandRing4 + 100106: RightHandThumb1 + 100108: RightHandThumb2 + 100110: RightHandThumb3 + 100112: RightHandThumb4 + 100114: RightLeg + 100116: RightShoulder + 100118: RightToe_End + 100120: RightToeBase + 100122: RightUpLeg + 100124: Spine + 100126: Spine1 + 100128: Spine2 + 100130: //RootNode + 400000: Head + 400002: HeadTop_End + 400004: Hips + 400006: LeftArm + 400008: LeftFoot + 400010: LeftForeArm + 400012: LeftHand + 400014: LeftHandIndex1 + 400016: LeftHandIndex2 + 400018: LeftHandIndex3 + 400020: LeftHandIndex4 + 400022: LeftHandMiddle1 + 400024: LeftHandMiddle2 + 400026: LeftHandMiddle3 + 400028: LeftHandMiddle4 + 400030: LeftHandPinky1 + 400032: LeftHandPinky2 + 400034: LeftHandPinky3 + 400036: LeftHandPinky4 + 400038: LeftHandRing1 + 400040: LeftHandRing2 + 400042: LeftHandRing3 + 400044: LeftHandRing4 + 400046: LeftHandThumb1 + 400048: LeftHandThumb2 + 400050: LeftHandThumb3 + 400052: LeftHandThumb4 + 400054: LeftLeg + 400056: LeftShoulder + 400058: LeftToe_End + 400060: LeftToeBase + 400062: LeftUpLeg + 400064: Neck + 400066: RightArm + 400068: RightFoot + 400070: RightForeArm + 400072: RightHand + 400074: RightHandIndex1 + 400076: RightHandIndex2 + 400078: RightHandIndex3 + 400080: RightHandIndex4 + 400082: RightHandMiddle1 + 400084: RightHandMiddle2 + 400086: RightHandMiddle3 + 400088: RightHandMiddle4 + 400090: RightHandPinky1 + 400092: RightHandPinky2 + 400094: RightHandPinky3 + 400096: RightHandPinky4 + 400098: RightHandRing1 + 400100: RightHandRing2 + 400102: RightHandRing3 + 400104: RightHandRing4 + 400106: RightHandThumb1 + 400108: RightHandThumb2 + 400110: RightHandThumb3 + 400112: RightHandThumb4 + 400114: RightLeg + 400116: RightShoulder + 400118: RightToe_End + 400120: RightToeBase + 400122: RightUpLeg + 400124: Spine + 400126: Spine1 + 400128: Spine2 + 400130: //RootNode + 7400000: Sprint + 9500000: //RootNode + externalObjects: {} + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 3 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Sprint + takeName: sprint + firstFrame: 0 + lastFrame: 26 + wrapMode: 0 + orientationOffsetY: 0 + level: 0 + cycleOffset: 1 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 1 + keepOriginalPositionXZ: 1 + heightFromFeet: 0 + mirror: 1 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 3 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftUpLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightUpLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftFoot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightFoot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine1 + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftShoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightShoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftForeArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightForeArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftToeBase + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightToeBase + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb1 + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb2 + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb3 + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex1 + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex2 + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex3 + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle1 + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle2 + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle3 + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing1 + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing2 + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing3 + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky1 + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky2 + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky3 + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb1 + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb2 + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb3 + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex1 + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex2 + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex3 + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle1 + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle2 + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle3 + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing1 + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing2 + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing3 + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky1 + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky2 + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky3 + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine2 + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: sprint(Clone) + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: sprint(Clone) + position: {x: -0.00550724, y: 0.97447234, z: -0.017625129} + rotation: {x: -0.19369522, y: 0.1295161, z: -0.019728174, w: 0.97227496} + scale: {x: 1, y: 1, z: 1} + - name: LeftUpLeg + parentName: Hips + position: {x: -0.110282145, y: -0.05455154, z: 0.020432295} + rotation: {x: -0.18755136, y: -0.10271159, z: 0.9765241, w: 0.02599319} + scale: {x: 1, y: 1, z: 1} + - name: LeftLeg + parentName: LeftUpLeg + position: {x: -1.8451196e-10, y: 0.47321993, z: -1.8309243e-11} + rotation: {x: 0.29119927, y: 0.10484575, z: -0.009592211, w: -0.95085144} + scale: {x: 1, y: 1, z: 1} + - name: LeftFoot + parentName: LeftLeg + position: {x: -9.287238e-12, y: 0.4299028, z: -5.687911e-10} + rotation: {x: 0.64248466, y: 0.06464317, z: -0.038975827, w: 0.76257175} + scale: {x: 1, y: 1, z: 1} + - name: LeftToeBase + parentName: LeftFoot + position: {x: 2.020566e-10, y: 0.16963747, z: -0.000000001319964} + rotation: {x: 0.3068817, y: 0.01971296, z: -0.0041099335, w: 0.9515346} + scale: {x: 1, y: 1, z: 1} + - name: LeftToe_End + parentName: LeftToeBase + position: {x: 1.8547522e-10, y: 0.06318586, z: 1.867302e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightUpLeg + parentName: Hips + position: {x: 0.110282145, y: -0.05455154, z: 0.017048035} + rotation: {x: 0.028641315, y: -0.075698234, z: 0.9958427, w: -0.04179612} + scale: {x: 1, y: 1, z: 1} + - name: RightLeg + parentName: RightUpLeg + position: {x: -8.8142875e-11, y: 0.47321326, z: 3.4250394e-11} + rotation: {x: -0.32675835, y: 0.014365785, z: 0.044563647, w: 0.9439474} + scale: {x: 1, y: 1, z: 1} + - name: RightFoot + parentName: RightLeg + position: {x: 7.748421e-11, y: 0.42999738, z: -0.0000000010980948} + rotation: {x: 0.7911156, y: -0.06399647, z: -0.10740287, w: 0.5987531} + scale: {x: 1, y: 1, z: 1} + - name: RightToeBase + parentName: RightFoot + position: {x: 4.9132715e-11, y: 0.168777, z: 0.0000000051328195} + rotation: {x: 0.40253216, y: -0.024237372, z: 0.00047910254, w: 0.91508484} + scale: {x: 1, y: 1, z: 1} + - name: RightToe_End + parentName: RightToeBase + position: {x: -2.4023825e-10, y: 0.06348027, z: 3.2390646e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -6.938894e-20, y: 0.09820991, z: -0.0017021184} + rotation: {x: 0.28037083, y: -0.17383103, z: 0.07027151, w: 0.9414016} + scale: {x: 1, y: 1, z: 1} + - name: Spine1 + parentName: Spine + position: {x: -0, y: 0.11459545, z: 9.309463e-11} + rotation: {x: 0.0037980492, y: -0.025475238, z: -0.07086971, w: 0.997153} + scale: {x: 1, y: 1, z: 1} + - name: Spine2 + parentName: Spine1 + position: {x: -0, y: 0.13096617, z: 5.0059998e-11} + rotation: {x: 0.0012819235, y: -0.030491026, z: -0.068865106, w: 0.9971591} + scale: {x: 1, y: 1, z: 1} + - name: LeftShoulder + parentName: Spine2 + position: {x: -0.06315917, y: 0.13062665, z: -0.0008211929} + rotation: {x: 0.53497916, y: -0.49268988, z: 0.5643987, w: 0.39052287} + scale: {x: 1, y: 1, z: 1} + - name: LeftArm + parentName: LeftShoulder + position: {x: -3.7948155e-11, y: 0.13195542, z: 3.1595163e-10} + rotation: {x: -0.058610268, y: -0.2663789, z: -0.1368518, w: 0.95230186} + scale: {x: 1, y: 1, z: 1} + - name: LeftForeArm + parentName: LeftArm + position: {x: 3.1594272e-11, y: 0.284728, z: -5.65646e-11} + rotation: {x: -0.011147974, y: 0.02240077, z: -0.005132632, w: 0.9996737} + scale: {x: 1, y: 1, z: 1} + - name: LeftHand + parentName: LeftForeArm + position: {x: -1.6414761e-10, y: 0.29908314, z: -8.136567e-12} + rotation: {x: -0.14468066, y: -0.0040011425, z: 0.0065360093, w: 0.9894487} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex1 + parentName: LeftHand + position: {x: 0.032593433, y: 0.08819151, z: 0.0048023863} + rotation: {x: 0.06558897, y: 0.0073326207, z: -0.05902667, w: 0.99607235} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex2 + parentName: LeftHandIndex1 + position: {x: 0.000060722, y: 0.030705823, z: -1.1863221e-12} + rotation: {x: 0.013164223, y: 0.020097781, z: -0.00060798245, w: 0.9997113} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex3 + parentName: LeftHandIndex2 + position: {x: -0.000013546999, y: 0.029072577, z: 1.2777264e-11} + rotation: {x: 0.021666463, y: 0.012781646, z: 0.00028183273, w: 0.99968356} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex4 + parentName: LeftHandIndex3 + position: {x: -0.00004717472, y: 0.02576944, z: -4.2829525e-11} + rotation: {x: -1.3877788e-17, y: 1.3877788e-17, z: 5.551115e-17, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle1 + parentName: LeftHand + position: {x: 0.009294576, y: 0.097100526, z: -0.0013351972} + rotation: {x: 0.052564796, y: -0.0433199, z: -0.036694992, w: 0.9970025} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle2 + parentName: LeftHandMiddle1 + position: {x: 0.000088627334, y: 0.028160678, z: 2.533568e-11} + rotation: {x: 0.015038164, y: -0.057408035, z: -0.0019045074, w: 0.99823576} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle3 + parentName: LeftHandMiddle2 + position: {x: -0.00005698787, y: 0.027361773, z: 1.3540387e-11} + rotation: {x: 0.020691473, y: -0.04327271, z: 0.0013830638, w: 0.99884814} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle4 + parentName: LeftHandMiddle3 + position: {x: -0.000031638716, y: 0.023456343, z: -4.8478908e-12} + rotation: {x: 4.1633363e-17, y: 2.7755576e-17, z: -1.1555581e-33, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky1 + parentName: LeftHand + position: {x: -0.03189784, y: 0.07679171, z: 0.0044959183} + rotation: {x: 0.05483667, y: 0.02830481, z: -0.03927665, w: 0.997321} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky2 + parentName: LeftHandPinky1 + position: {x: 0.0000062537842, y: 0.026215078, z: 5.2560265e-11} + rotation: {x: 0.0131715005, y: 0.0644277, z: -0.0007380761, w: 0.99783516} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky3 + parentName: LeftHandPinky2 + position: {x: -0.000045871086, y: 0.02047027, z: 5.604903e-11} + rotation: {x: 0.024440125, y: 0.04087371, z: 0.0029271212, w: 0.99886113} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky4 + parentName: LeftHandPinky3 + position: {x: 0.000039617014, y: 0.019160997, z: 1.4733246e-11} + rotation: {x: 0.000000034708414, y: 0.00000003827634, z: 0.00000007061518, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing1 + parentName: LeftHand + position: {x: -0.009990172, y: 0.11161971, z: -0.0016355749} + rotation: {x: 0.058641195, y: 0.012401693, z: -0.051645543, w: 0.99686515} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing2 + parentName: LeftHandRing1 + position: {x: -0.000019485717, y: 0.018662993, z: 3.7682638e-10} + rotation: {x: 0.009951674, y: 0.11121421, z: 0.0030195836, w: 0.9937421} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing3 + parentName: LeftHandRing2 + position: {x: 0.00007238568, y: 0.019729609, z: -3.828717e-11} + rotation: {x: 0.027675672, y: 0.046158686, z: -0.00186518, w: 0.998549} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing4 + parentName: LeftHandRing3 + position: {x: -0.00005289956, y: 0.014939406, z: 2.2617769e-10} + rotation: {x: -0.000000043328622, y: 0.000000011541253, z: -0.00000008456816, + w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb1 + parentName: LeftHand + position: {x: 0.019087303, y: 0.027286228, z: 0.016212132} + rotation: {x: -0.19964336, y: 0.027008485, z: -0.33444622, w: 0.9206296} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb2 + parentName: LeftHandThumb1 + position: {x: -0.00061445613, y: 0.029622665, z: -4.0107379e-10} + rotation: {x: 0.006589649, y: 0.008074749, z: 0.051395208, w: 0.99862397} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb3 + parentName: LeftHandThumb2 + position: {x: 0.0005632979, y: 0.03286468, z: -0.0000000010128807} + rotation: {x: 0.017256508, y: -0.093036495, z: -0.029086173, w: 0.9950882} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb4 + parentName: LeftHandThumb3 + position: {x: 0.000051161922, y: 0.028500622, z: 0.0000000012282865} + rotation: {x: -0.000000027217396, y: -0.0000000073511166, z: -0.0000000092380725, + w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: Spine2 + position: {x: -8.673617e-21, y: 0.14733703, z: 0.0000000033478065} + rotation: {x: -0.0584258, y: -0.010697919, z: 0.058124453, w: 0.99654084} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -8.673617e-21, y: 0.04752304, z: 0.020397963} + rotation: {x: -0.27073398, y: 0.025680395, z: 0.09143535, w: 0.9579578} + scale: {x: 1, y: 1, z: 1} + - name: HeadTop_End + parentName: Head + position: {x: -0, y: 0.20985276, z: 0.09007348} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightShoulder + parentName: Spine2 + position: {x: 0.06315917, y: 0.13060822, z: 0.0002416501} + rotation: {x: 0.5311364, y: 0.48519367, z: -0.4978301, w: 0.48440313} + scale: {x: 1, y: 1, z: 1} + - name: RightArm + parentName: RightShoulder + position: {x: -2.660434e-11, y: 0.13195542, z: 3.171084e-10} + rotation: {x: -0.134773, y: -0.28457654, z: -0.06525929, w: 0.9468863} + scale: {x: 1, y: 1, z: 1} + - name: RightForeArm + parentName: RightArm + position: {x: -2.7981567e-10, y: 0.284544, z: -5.9894485e-11} + rotation: {x: -0.007793529, y: -0.014527317, z: -0.005228656, w: 0.9998505} + scale: {x: 1, y: 1, z: 1} + - name: RightHand + parentName: RightForeArm + position: {x: -1.5198842e-10, y: 0.29908353, z: 8.6913587e-13} + rotation: {x: 0.035721082, y: 0.114178844, z: 0.026565984, w: 0.99246234} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex1 + parentName: RightHand + position: {x: -0.03621528, y: 0.11747307, z: 0.0033559613} + rotation: {x: 0.0524729, y: 0.04343282, z: 0.041823693, w: 0.9968004} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex2 + parentName: RightHandIndex1 + position: {x: -0.0000019000119, y: 0.02174354, z: 3.6810093e-11} + rotation: {x: 0.011867927, y: 0.003534509, z: -0.00075000187, w: 0.9999231} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex3 + parentName: RightHandIndex2 + position: {x: 0.000018414778, y: 0.020176124, z: 6.7367978e-12} + rotation: {x: 0.026373353, y: 0.028049963, z: -0.008306528, w: 0.9992241} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex4 + parentName: RightHandIndex3 + position: {x: -0.000016515174, y: 0.016536057, z: 6.2972955e-10} + rotation: {x: 9.7144515e-17, y: 1.3877788e-17, z: -5.551115e-17, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle1 + parentName: RightHand + position: {x: -0.011585564, y: 0.106287256, z: -0.0023898676} + rotation: {x: 0.046652418, y: 0.049720593, z: 0.044874888, w: 0.9966633} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle2 + parentName: RightHandMiddle1 + position: {x: 0.000025064648, y: 0.027443916, z: -2.6771574e-10} + rotation: {x: 0.01989389, y: 0.010097592, z: -0.002825514, w: 0.9997471} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle3 + parentName: RightHandMiddle2 + position: {x: -0.00001572167, y: 0.025285017, z: -1.1165099e-10} + rotation: {x: 0.01527896, y: 0.015733033, z: -0.0014033741, w: 0.9997585} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle4 + parentName: RightHandMiddle3 + position: {x: -0.0000093429935, y: 0.023478843, z: 1.5592434e-11} + rotation: {x: -0.00000002863045, y: -0.00000003802838, z: -0.000000047822283, + w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky1 + parentName: RightHand + position: {x: 0.03568082, y: 0.08469697, z: 0.0003023846} + rotation: {x: 0.052002903, y: 0.008791964, z: 0.027307397, w: 0.9982348} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky2 + parentName: RightHandPinky1 + position: {x: -0.00001235679, y: 0.023127176, z: -2.687406e-10} + rotation: {x: 0.011901441, y: 0.0149534205, z: -0.0008683394, w: 0.99981695} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky3 + parentName: RightHandPinky2 + position: {x: 0.0000057242146, y: 0.020767946, z: 1.4345573e-11} + rotation: {x: 0.012557565, y: 0.011164036, z: -0.001320609, w: 0.999858} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky4 + parentName: RightHandPinky3 + position: {x: 0.000006632599, y: 0.018836992, z: 5.6214446e-11} + rotation: {x: 0.000000009763971, y: 6.245005e-17, z: 1.908196e-17, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing1 + parentName: RightHand + position: {x: 0.012120027, y: 0.11076295, z: -0.0005365405} + rotation: {x: 0.047482584, y: 0.040163137, z: 0.04738934, w: 0.99693865} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing2 + parentName: RightHandRing1 + position: {x: 0.0000005502636, y: 0.022161495, z: -1.15574605e-10} + rotation: {x: 0.014759773, y: -0.036408927, z: -0.0017165091, w: 0.9992265} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing3 + parentName: RightHandRing2 + position: {x: -0.00000786604, y: 0.020914963, z: -8.724754e-11} + rotation: {x: 0.009583685, y: -0.045677073, z: -0.00067889126, w: 0.99891007} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing4 + parentName: RightHandRing3 + position: {x: 0.0000073158517, y: 0.018207468, z: -8.404868e-12} + rotation: {x: -0.000000016082875, y: -0.00000006832993, z: -0.000000029431177, + w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb1 + parentName: RightHand + position: {x: -0.018816011, y: 0.029109262, z: 0.01581974} + rotation: {x: 0.05666478, y: 0.036555234, z: 0.37795043, w: 0.92336684} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb2 + parentName: RightHandThumb1 + position: {x: 0.0010551222, y: 0.030462235, z: 8.4468466e-10} + rotation: {x: -0.0048617814, y: 0.04161012, z: -0.083476014, w: 0.9956288} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb3 + parentName: RightHandThumb2 + position: {x: -0.0017913599, y: 0.032419857, z: 1.5043099e-10} + rotation: {x: -0.034006752, y: 0.33353123, z: 0.053808197, w: 0.94058764} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb4 + parentName: RightHandThumb3 + position: {x: 0.0007362342, y: 0.02916256, z: 0.0000000014472283} + rotation: {x: 3.469447e-18, y: -2.7755576e-17, z: 9.62965e-35, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 3 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Walk.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Walk.fbx new file mode 100644 index 00000000..6436f3e3 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Walk.fbx differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Walk.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Walk.fbx.meta new file mode 100644 index 00000000..dc6e3bd6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Animations/Walk.fbx.meta @@ -0,0 +1,1083 @@ +fileFormatVersion: 2 +guid: 13caa80bbe9b34403bda844d1694d394 +ModelImporter: + serializedVersion: 21 + fileIDToRecycleName: + 100000: //RootNode + 100002: Chest + 100004: Head + 100006: Hips + 100008: Jaw + 100010: JawEND + 100012: LeftArm + 100014: LeftCheek + 100016: LeftEye + 100018: LeftEyelidLower + 100020: LeftEyelidUpper + 100022: LeftFoot + 100024: LeftForeArm + 100026: LeftHand + 100028: LeftHandIndex1 + 100030: LeftHandIndex2 + 100032: LeftHandIndex3 + 100034: LeftHandMiddle1 + 100036: LeftHandMiddle2 + 100038: LeftHandMiddle3 + 100040: LeftHandPinky1 + 100042: LeftHandPinky2 + 100044: LeftHandPinky3 + 100046: LeftHandRing1 + 100048: LeftHandRing2 + 100050: LeftHandRing3 + 100052: LeftHandThumb1 + 100054: LeftHandThumb2 + 100056: LeftHandThumb3 + 100058: LeftInnerBrow + 100060: LeftIOuterBrow + 100062: LeftLeg + 100064: LeftLipCorner + 100066: LeftLipLower + 100068: LeftLipUpper + 100070: LeftNostril + 100072: LeftShoulder + 100074: LeftToes + 100076: LeftUpLeg + 100078: Neck + 100080: Reference + 100082: RightArm + 100084: RightCheek + 100086: RightEye + 100088: RightEyelidLower + 100090: RightEyelidUpper + 100092: RightFoot + 100094: RightForeArm + 100096: RightHand + 100098: RightHandIndex1 + 100100: RightHandIndex2 + 100102: RightHandIndex3 + 100104: RightHandMiddle1 + 100106: RightHandMiddle2 + 100108: RightHandMiddle3 + 100110: RightHandPinky1 + 100112: RightHandPinky2 + 100114: RightHandPinky3 + 100116: RightHandRing1 + 100118: RightHandRing2 + 100120: RightHandRing3 + 100122: RightHandThumb1 + 100124: RightHandThumb2 + 100126: RightHandThumb3 + 100128: RightInnerBrow + 100130: RightIOuterBrow + 100132: RightLeg + 100134: RightLipCorner + 100136: RightLipLower + 100138: RightLipUpper + 100140: RightNostril + 100142: RightShoulder + 100144: RightToes + 100146: RightUpLeg + 100148: Spine + 100150: TongueBack + 100152: TongueTip + 400000: //RootNode + 400002: Chest + 400004: Head + 400006: Hips + 400008: Jaw + 400010: JawEND + 400012: LeftArm + 400014: LeftCheek + 400016: LeftEye + 400018: LeftEyelidLower + 400020: LeftEyelidUpper + 400022: LeftFoot + 400024: LeftForeArm + 400026: LeftHand + 400028: LeftHandIndex1 + 400030: LeftHandIndex2 + 400032: LeftHandIndex3 + 400034: LeftHandMiddle1 + 400036: LeftHandMiddle2 + 400038: LeftHandMiddle3 + 400040: LeftHandPinky1 + 400042: LeftHandPinky2 + 400044: LeftHandPinky3 + 400046: LeftHandRing1 + 400048: LeftHandRing2 + 400050: LeftHandRing3 + 400052: LeftHandThumb1 + 400054: LeftHandThumb2 + 400056: LeftHandThumb3 + 400058: LeftInnerBrow + 400060: LeftIOuterBrow + 400062: LeftLeg + 400064: LeftLipCorner + 400066: LeftLipLower + 400068: LeftLipUpper + 400070: LeftNostril + 400072: LeftShoulder + 400074: LeftToes + 400076: LeftUpLeg + 400078: Neck + 400080: Reference + 400082: RightArm + 400084: RightCheek + 400086: RightEye + 400088: RightEyelidLower + 400090: RightEyelidUpper + 400092: RightFoot + 400094: RightForeArm + 400096: RightHand + 400098: RightHandIndex1 + 400100: RightHandIndex2 + 400102: RightHandIndex3 + 400104: RightHandMiddle1 + 400106: RightHandMiddle2 + 400108: RightHandMiddle3 + 400110: RightHandPinky1 + 400112: RightHandPinky2 + 400114: RightHandPinky3 + 400116: RightHandRing1 + 400118: RightHandRing2 + 400120: RightHandRing3 + 400122: RightHandThumb1 + 400124: RightHandThumb2 + 400126: RightHandThumb3 + 400128: RightInnerBrow + 400130: RightIOuterBrow + 400132: RightLeg + 400134: RightLipCorner + 400136: RightLipLower + 400138: RightLipUpper + 400140: RightNostril + 400142: RightShoulder + 400144: RightToes + 400146: RightUpLeg + 400148: Spine + 400150: TongueBack + 400152: TongueTip + 7400000: Walk + 9500000: //RootNode + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 0 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: + - serializedVersion: 16 + name: Walk + takeName: _1_Edit1_WalkFWD + firstFrame: 29.6 + lastFrame: 59.5 + wrapMode: 0 + orientationOffsetY: 1.46 + level: 0 + cycleOffset: 0 + loop: 0 + hasAdditiveReferencePose: 0 + loopTime: 1 + loopBlend: 1 + loopBlendOrientation: 1 + loopBlendPositionY: 1 + loopBlendPositionXZ: 0 + keepOriginalOrientation: 0 + keepOriginalPositionY: 0 + keepOriginalPositionXZ: 0 + heightFromFeet: 1 + mirror: 0 + bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 + curves: [] + events: [] + transformMask: [] + maskType: 0 + maskSource: {instanceID: 0} + additiveReferencePoseFrame: 0 + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 0.01 + meshCompression: 0 + addColliders: 0 + importVisibility: 0 + importBlendShapes: 1 + importCameras: 0 + importLights: 0 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 4 + normalCalculationMode: 0 + importAnimation: 1 + copyAvatar: 1 + humanDescription: + serializedVersion: 2 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftUpLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightUpLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftFoot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightFoot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftShoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightShoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftForeArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightForeArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftToes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightToes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftEye + humanName: LeftEye + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightEye + humanName: RightEye + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb1 + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb2 + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandThumb3 + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex1 + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex2 + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandIndex3 + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle1 + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle2 + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandMiddle3 + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing1 + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing2 + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandRing3 + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky1 + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky2 + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHandPinky3 + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb1 + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb2 + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandThumb3 + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex1 + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex2 + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandIndex3 + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle1 + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle2 + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandMiddle3 + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing1 + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing2 + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandRing3 + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky1 + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky2 + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHandPinky3 + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: SmallStep(Clone) + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Reference + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: + position: {x: 0.0005513057, y: 0.9604539, z: 0.14825001} + rotation: {x: -0.025175245, y: -0.0012315813, z: -0.0060078264, w: 0.99966425} + scale: {x: 1, y: 1, z: 1} + - name: LeftUpLeg + parentName: + position: {x: -0.0754495, y: -0.04566402, z: -1.7763568e-17} + rotation: {x: 0.05640076, y: 0.027300434, z: 0.004994643, w: 0.9980224} + scale: {x: 1, y: 1, z: 1} + - name: LeftLeg + parentName: + position: {x: -0.020550499, y: -0.40912998, z: -0.00071864796} + rotation: {x: -0.017367318, y: -0.1786951, z: -0.019570697, w: 0.98355657} + scale: {x: 1, y: 1, z: 1} + - name: LeftFoot + parentName: + position: {x: -0.0051529994, y: -0.4231559, z: -0.027648851} + rotation: {x: -0.0002880121, y: 0.1051386, z: 0.027920393, w: 0.9940655} + scale: {x: 1, y: 1, z: 1} + - name: LeftToes + parentName: + position: {x: -0.007487, y: -0.0731673, z: 0.14542712} + rotation: {x: -0.015560327, y: 0.00043698392, z: -0.00075559097, w: 0.9998786} + scale: {x: 1, y: 1, z: 1} + - name: RightUpLeg + parentName: + position: {x: 0.075449534, y: -0.04566399, z: 1.7763568e-17} + rotation: {x: 0.030658921, y: 0.099532634, z: 0.015428916, w: 0.9944422} + scale: {x: 1, y: 1, z: 1} + - name: RightLeg + parentName: + position: {x: 0.020550467, y: -0.40913, z: -0.00071864796} + rotation: {x: 0.029253662, y: 0.13521753, z: 0.025294185, w: 0.990061} + scale: {x: 1, y: 1, z: 1} + - name: RightFoot + parentName: + position: {x: 0.0051529994, y: -0.4231559, z: -0.027648851} + rotation: {x: -0.017446658, y: -0.07470319, z: -0.032314803, w: 0.99652946} + scale: {x: 1, y: 1, z: 1} + - name: RightToes + parentName: + position: {x: 0.007487, y: -0.0731673, z: 0.1454275} + rotation: {x: 0.0011941958, y: -0.0056453915, z: 0.001852583, w: 0.99998164} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: + position: {x: 1.7763568e-17, y: 0.092263184, z: 0.015771331} + rotation: {x: 0.051771346, y: 0.0028054859, z: -0.011270309, w: 0.9985914} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: + position: {x: 5.3290704e-17, y: 0.16254029, z: -0.0016560555} + rotation: {x: 0.0065125604, y: 0.009296001, z: 0.034053225, w: 0.99935555} + scale: {x: 1, y: 1, z: 1} + - name: LeftShoulder + parentName: + position: {x: -0.038285997, y: 0.2216225, z: -0.017063085} + rotation: {x: -0.021960836, y: -0.04180141, z: 0.13912761, w: 0.9891481} + scale: {x: 1, y: 1, z: 1} + - name: LeftArm + parentName: + position: {x: -0.10050205, y: 0.0000000011250826, z: -1.9039077e-10} + rotation: {x: 0.091082454, y: 0.022056738, z: -0.1430188, w: 0.9852731} + scale: {x: 1, y: 1, z: 1} + - name: LeftForeArm + parentName: + position: {x: -0.2540493, y: -1.0556242e-10, z: 1.09213825e-10} + rotation: {x: 0.12484056, y: 0.031214235, z: 0.002818492, w: 0.9916817} + scale: {x: 1, y: 1, z: 1} + - name: LeftHand + parentName: + position: {x: -0.24638927, y: -1.1484463e-10, z: 1.3598456e-11} + rotation: {x: -0.022898793, y: -0.0335501, z: -0.043298353, w: 0.9982361} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex1 + parentName: + position: {x: -0.0751258, y: -0.0078414045, z: 0.032652643} + rotation: {x: 0.0060999673, y: -0.016749125, z: 0.05687823, w: 0.99822205} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex2 + parentName: + position: {x: -0.03979728, y: 0.000049808412, z: 0.0011857506} + rotation: {x: -0.067607544, y: 0.015224932, z: 0.032717455, w: 0.99705917} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandIndex3 + parentName: + position: {x: -0.027968477, y: -0.0000000064163745, z: -0.00000005143485} + rotation: {x: -0.06627773, y: -0.0075497297, z: 0.17120177, w: 0.9829752} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle1 + parentName: + position: {x: -0.076023825, y: -0.0018851344, z: 0.010141229} + rotation: {x: -0.0037917863, y: 0.04483006, z: 0.08820312, w: 0.99508595} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle2 + parentName: + position: {x: -0.044280436, y: 0.00000479887, z: -0.00042540033} + rotation: {x: -0.012599031, y: -0.007551547, z: 0.03147826, w: 0.9993965} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandMiddle3 + parentName: + position: {x: -0.033964828, y: -0.000000012184229, z: 0.0000000037526937} + rotation: {x: -0.007228648, y: 0.00081385655, z: 0.29040176, w: 0.9568772} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky1 + parentName: + position: {x: -0.06565995, y: -0.007825106, z: -0.032251246} + rotation: {x: -0.066111416, y: 0.08169103, z: 0.0931265, w: 0.99009264} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky2 + parentName: + position: {x: -0.030805448, y: -0.000030874577, z: -0.0014480774} + rotation: {x: 0.046947356, y: -0.02116922, z: 0.037690047, w: 0.9979616} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandPinky3 + parentName: + position: {x: -0.023064027, y: -0.0000064026085, z: 0.000000017908482} + rotation: {x: 0.046291146, y: -0.00056925963, z: 0.24186175, w: 0.96920574} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing1 + parentName: + position: {x: -0.07030211, y: -0.0037453093, z: -0.011411792} + rotation: {x: -0.020245466, y: 0.07228851, z: 0.09005896, w: 0.9931032} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing2 + parentName: + position: {x: -0.043135457, y: -0.000020882293, z: -0.0022351781} + rotation: {x: 0.018288167, y: -0.025606154, z: 0.033972062, w: 0.9989273} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandRing3 + parentName: + position: {x: -0.030835565, y: 1.581948e-10, z: -0.000000016455365} + rotation: {x: 0.01850981, y: -0.0023600208, z: 0.24554445, w: 0.96920574} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb1 + parentName: + position: {x: -0.014231241, y: -0.012377825, z: 0.025531668} + rotation: {x: -0.11075436, y: -0.053521357, z: -0.1105846, w: 0.9862252} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb2 + parentName: + position: {x: -0.016374, y: -0.00529, z: 0.023491409} + rotation: {x: -0.03011053, y: 0.09966989, z: 0.0063956263, w: 0.9945443} + scale: {x: 1, y: 1, z: 1} + - name: LeftHandThumb3 + parentName: + position: {x: -0.02546, y: -0.00764, z: 0.020833} + rotation: {x: 0.04826967, y: -0.21970885, z: -0.019951671, w: 0.97416633} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: + position: {x: 7.105427e-17, y: 0.2590093, z: -0.032413255} + rotation: {x: 0.026307272, y: 0.007300207, z: -0.019885676, w: 0.99942946} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: + position: {x: 3.5527136e-17, y: 0.08307038, z: 0.0113267815} + rotation: {x: -0.054225, y: 0.0050988905, z: -0.0018822433, w: 0.99851394} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: + position: {x: 1.7347234e-20, y: 0.0111267585, z: 0.010327543} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: JawEND + parentName: + position: {x: -1.7347234e-20, y: -0.04828876, z: 0.07185171} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLipCorner + parentName: + position: {x: -0.032843262, y: -0.01657876, z: 0.066121764} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLipLower + parentName: + position: {x: -0.014250817, y: -0.02168876, z: 0.08224063} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLipCorner + parentName: + position: {x: 0.03284, y: -0.01657876, z: 0.066118784} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLipLower + parentName: + position: {x: 0.014250817, y: -0.02168876, z: 0.082238786} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: TongueBack + parentName: + position: {x: -1.7347234e-20, y: -0.022869369, z: 0.010095409} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: TongueTip + parentName: + position: {x: -1.7347234e-20, y: -0.023278812, z: 0.03832271} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftCheek + parentName: + position: {x: -0.054244027, y: 0.03370195, z: 0.0594304} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftEye + parentName: + position: {x: -0.020848233, y: 0.0825027, z: 0.055427432} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftEyelidLower + parentName: + position: {x: -0.035618957, y: 0.06507366, z: 0.07623474} + rotation: {x: -0.034899496, y: -8.865092e-18, z: 5.331712e-18, w: 0.99939084} + scale: {x: 1, y: 1, z: 1} + - name: LeftEyelidUpper + parentName: + position: {x: -0.034406897, y: 0.10060814, z: 0.08020531} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftInnerBrow + parentName: + position: {x: -0.012062691, y: 0.118765265, z: 0.093466826} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftIOuterBrow + parentName: + position: {x: -0.05503987, y: 0.11482529, z: 0.061777398} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftLipUpper + parentName: + position: {x: -0.014501322, y: -0.005111811, z: 0.09461884} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftNostril + parentName: + position: {x: -0.0179, y: 0.026312828, z: 0.0908674} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightCheek + parentName: + position: {x: 0.054239996, y: 0.033702828, z: 0.0594274} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightEye + parentName: + position: {x: 0.020849999, y: 0.08250283, z: 0.0554274} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightEyelidLower + parentName: + position: {x: 0.03562, y: 0.06507283, z: 0.0762374} + rotation: {x: -0.034899496, y: -8.865092e-18, z: 5.331712e-18, w: 0.99939084} + scale: {x: 1, y: 1, z: 1} + - name: RightEyelidUpper + parentName: + position: {x: 0.03441, y: 0.10061283, z: 0.08020739} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightInnerBrow + parentName: + position: {x: 0.012062687, y: 0.118765265, z: 0.093466826} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightIOuterBrow + parentName: + position: {x: 0.055040002, y: 0.11482283, z: 0.061777398} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightLipUpper + parentName: + position: {x: 0.014501322, y: -0.0051071714, z: 0.094617404} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightNostril + parentName: + position: {x: 0.0179, y: 0.026308905, z: 0.09087062} + rotation: {x: 6.938894e-18, y: -8.673618e-18, z: 5.6378513e-18, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightShoulder + parentName: + position: {x: 0.038286015, y: 0.22162114, z: -0.017063085} + rotation: {x: 0.17314862, y: 0.9845339, z: -0.015271222, w: -0.021894779} + scale: {x: 1, y: 1, z: 1} + - name: RightArm + parentName: + position: {x: -0.100501455, y: -0.0000024966455, z: -0.00000005228366} + rotation: {x: 0.12911002, y: 0.98841476, z: -0.056917176, w: 0.05592361} + scale: {x: 1, y: 1, z: 1} + - name: RightForeArm + parentName: + position: {x: 0.25342825, y: 0.006011353, z: -0.016704524} + rotation: {x: 0.17294659, y: 0.018318847, z: -0.026436511, w: 0.9844059} + scale: {x: 1, y: 1, z: 1} + - name: RightHand + parentName: + position: {x: 0.2453737, y: 0.021641772, z: 0.005550465} + rotation: {x: -0.07456149, y: 0.04626841, z: 0.0050307373, w: 0.9961298} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex1 + parentName: + position: {x: 0.0747695, y: -0.0012430536, z: 0.034344498} + rotation: {x: -0.00423194, y: 0.16211921, z: -0.04068246, w: 0.9859231} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex2 + parentName: + position: {x: 0.0370584, y: 0.00072612107, z: 0.014538894} + rotation: {x: -0.07758397, y: 0.022350721, z: 0.040922016, w: 0.9958949} + scale: {x: 1, y: 1, z: 1} + - name: RightHandIndex3 + parentName: + position: {x: 0.025225038, y: -0.0049664653, z: 0.011012146} + rotation: {x: 0.0045231823, y: 0.013293446, z: -0.08829058, w: 0.9959958} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle1 + parentName: + position: {x: 0.075647645, y: 0.0047914027, z: 0.011853182} + rotation: {x: -0.0017741377, y: 0.0143494075, z: -0.047806773, w: 0.998752} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle2 + parentName: + position: {x: 0.043809064, y: 0.00019418815, z: 0.006454936} + rotation: {x: -0.018872144, y: -0.04411144, z: 0.08295074, w: 0.99539804} + scale: {x: 1, y: 1, z: 1} + - name: RightHandMiddle3 + parentName: + position: {x: 0.03307247, y: -0.007547537, z: 0.0016898462} + rotation: {x: 0.0049401834, y: -0.0005552567, z: -0.19793308, w: 0.980203} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky1 + parentName: + position: {x: 0.06680334, y: -0.0019941085, z: -0.030756146} + rotation: {x: -0.06202933, y: -0.25861248, z: -0.016703352, w: 0.9638428} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky2 + parentName: + position: {x: 0.028530842, y: -0.001397143, z: -0.011623796} + rotation: {x: 0.02985772, y: 0.00079828594, z: -0.061665237, w: 0.9976499} + scale: {x: 1, y: 1, z: 1} + - name: RightHandPinky3 + parentName: + position: {x: 0.02142686, y: -0.00055350893, z: -0.008516608} + rotation: {x: -0.02910623, y: 0.00039729525, z: -0.15225372, w: 0.9879127} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing1 + parentName: + position: {x: 0.070598476, y: 0.0024570967, z: -0.009821458} + rotation: {x: -0.0147603545, y: -0.11599676, z: -0.029716086, w: 0.99269533} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing2 + parentName: + position: {x: 0.042887185, y: -0.0013753821, z: -0.0049458584} + rotation: {x: 0.020764904, y: -0.021556703, z: 0.075588815, w: 0.9966898} + scale: {x: 1, y: 1, z: 1} + - name: RightHandRing3 + parentName: + position: {x: 0.029500604, y: -0.0076929354, z: -0.004622256} + rotation: {x: -0.011665739, y: 0.0013560067, z: -0.15477994, w: 0.98787916} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb1 + parentName: + position: {x: 0.014684916, y: -0.011104942, z: 0.025858095} + rotation: {x: -0.09714596, y: 0.028526563, z: 0.12988137, w: 0.9863467} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb2 + parentName: + position: {x: 0.016374, y: -0.00529, z: 0.02349136} + rotation: {x: -0.030910255, y: -0.101721525, z: -0.00582567, w: 0.9943155} + scale: {x: 1, y: 1, z: 1} + - name: RightHandThumb3 + parentName: + position: {x: 0.02546, y: -0.00764, z: 0.020833} + rotation: {x: 0.04827294, y: 0.21970814, z: 0.01993708, w: 0.97416663} + scale: {x: 1, y: 1, z: 1} + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 0 + lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: f115f4efdf5ca9f4aab6aa6c789cf0c6, + type: 3} + animationType: 3 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Controllers.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Controllers.meta new file mode 100644 index 00000000..bd108765 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Controllers.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 43f59044578da854b8cd226c7768e24c +folderAsset: yes +timeCreated: 1507216495 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Controllers/CharacterController.controller b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Controllers/CharacterController.controller new file mode 100644 index 00000000..1d9f151a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Controllers/CharacterController.controller @@ -0,0 +1,211 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: CharacterController + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: Speed + m_Type: 1 + m_DefaultFloat: 0.1 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: isSprinting + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: Direction + m_Type: 1 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 1107364442111729044} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!206 &206001114546337524 +BlendTree: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Locomotion + m_Childs: + - serializedVersion: 2 + m_Motion: {fileID: 7400000, guid: 13caa80bbe9b34403bda844d1694d394, type: 3} + m_Threshold: -0.1 + m_Position: {x: 0, y: -1} + m_TimeScale: -1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: 7400002, guid: 080945c46afd34f3ebc364c1696e6678, type: 3} + m_Threshold: 0 + m_Position: {x: 0, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: 7400000, guid: 13caa80bbe9b34403bda844d1694d394, type: 3} + m_Threshold: 0.5 + m_Position: {x: 0.2, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: 7400000, guid: fdc39e3202ebc4d4a8a473fd95fcff55, type: 3} + m_Threshold: 1 + m_Position: {x: 1, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + m_BlendParameter: Speed + m_BlendParameterY: Direction + m_MinThreshold: -0.1 + m_MaxThreshold: 1 + m_UseAutomaticThresholds: 0 + m_NormalizedBlendValues: 0 + m_BlendType: 3 +--- !u!1101 &1101136524078688160 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: isSprinting + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102585328901193938} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.7692308 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1101726422157110222 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: isSprinting + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102620950695301922} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0.25922742 + m_ExitTime: 0.99313164 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &1102585328901193938 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Locomotion + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1101726422157110222} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 206001114546337524} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &1102620950695301922 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Sprint + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1101136524078688160} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 7fa1f9e8c2e4188478cbd5a152ce790e, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &1107364442111729044 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 1102585328901193938} + m_Position: {x: 276, y: 120, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1102620950695301922} + m_Position: {x: 276, y: 252, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 1102585328901193938} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Controllers/CharacterController.controller.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Controllers/CharacterController.controller.meta new file mode 100644 index 00000000..548ef432 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Controllers/CharacterController.controller.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7a9f599c49797434485c0e1d9e99f200 +timeCreated: 1507742887 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models.meta new file mode 100644 index 00000000..d57139fc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 63a9b545231dae54dae6e47768cf431e +folderAsset: yes +timeCreated: 1464084522 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/DefaultMale.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/DefaultMale.fbx new file mode 100644 index 00000000..0bc9069c Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/DefaultMale.fbx differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/DefaultMale.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/DefaultMale.fbx.meta new file mode 100644 index 00000000..91c43e67 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/DefaultMale.fbx.meta @@ -0,0 +1,1039 @@ +fileFormatVersion: 2 +guid: 8837f192a88abd84da9f1907d0b6bdb4 +timeCreated: 1500891250 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: Body + 100002: Chest + 100004: //RootNode + 100006: Head + 100008: Hips + 100010: Jaw + 100012: JawEnd + 100014: LeftEye + 100016: LeftFoot + 100018: LeftHand + 100020: LeftIndexDistal + 100022: LeftIndexDistalEnd + 100024: LeftIndexIntermediate + 100026: LeftIndexProximal + 100028: LeftLowerArm + 100030: LeftLowerLeg + 100032: LeftMiddleDistal + 100034: LeftMiddleDistalEnd + 100036: LeftMiddleIntermediate + 100038: LeftMiddleProximal + 100040: LeftPinkyDistal + 100042: LeftPinkyDistalEnd + 100044: LeftPinkyIntermediate + 100046: LeftPinkyProximal + 100048: LeftRingDistal + 100050: LeftRingDistalEnd + 100052: LeftRingIntermediate + 100054: LeftRingProximal + 100056: LeftShoulder + 100058: LeftThumbDistal + 100060: LeftThumbDistalEnd + 100062: LeftThumbIntermediate + 100064: LeftThumbProximal + 100066: LeftToes + 100068: LeftToesEnd + 100070: LeftUpperArm + 100072: LeftUpperLeg + 100074: Neck + 100076: RightEye + 100078: RightFoot + 100080: RightHand + 100082: RightIndexDistal + 100084: RightIndexDistalEnd + 100086: RightIndexIntermediate + 100088: RightIndexProximal + 100090: RightLowerArm + 100092: RightLowerLeg + 100094: RightMiddleDistal + 100096: RightMiddleDistalEnd + 100098: RightMiddleIntermediate + 100100: RightMiddleProximal + 100102: RightPinkyDistal + 100104: RightPinkyDistalEnd + 100106: RightPinkyIntermediate + 100108: RightPinkyProximal + 100110: RightRingDistal + 100112: RightRingDistalEnd + 100114: RightRingIntermediate + 100116: RightRingProximal + 100118: RightShoulder + 100120: RightThumbDistal + 100122: RightThumbDistalEnd + 100124: RightThumbIntermediate + 100126: RightThumbProximal + 100128: RightToes + 100130: RightToesEnd + 100132: RightUpperArm + 100134: RightUpperLeg + 100136: Root + 100138: Skeleton + 100140: Spine + 100142: UpperChest + 400000: Body + 400002: Chest + 400004: //RootNode + 400006: Head + 400008: Hips + 400010: Jaw + 400012: JawEnd + 400014: LeftEye + 400016: LeftFoot + 400018: LeftHand + 400020: LeftIndexDistal + 400022: LeftIndexDistalEnd + 400024: LeftIndexIntermediate + 400026: LeftIndexProximal + 400028: LeftLowerArm + 400030: LeftLowerLeg + 400032: LeftMiddleDistal + 400034: LeftMiddleDistalEnd + 400036: LeftMiddleIntermediate + 400038: LeftMiddleProximal + 400040: LeftPinkyDistal + 400042: LeftPinkyDistalEnd + 400044: LeftPinkyIntermediate + 400046: LeftPinkyProximal + 400048: LeftRingDistal + 400050: LeftRingDistalEnd + 400052: LeftRingIntermediate + 400054: LeftRingProximal + 400056: LeftShoulder + 400058: LeftThumbDistal + 400060: LeftThumbDistalEnd + 400062: LeftThumbIntermediate + 400064: LeftThumbProximal + 400066: LeftToes + 400068: LeftToesEnd + 400070: LeftUpperArm + 400072: LeftUpperLeg + 400074: Neck + 400076: RightEye + 400078: RightFoot + 400080: RightHand + 400082: RightIndexDistal + 400084: RightIndexDistalEnd + 400086: RightIndexIntermediate + 400088: RightIndexProximal + 400090: RightLowerArm + 400092: RightLowerLeg + 400094: RightMiddleDistal + 400096: RightMiddleDistalEnd + 400098: RightMiddleIntermediate + 400100: RightMiddleProximal + 400102: RightPinkyDistal + 400104: RightPinkyDistalEnd + 400106: RightPinkyIntermediate + 400108: RightPinkyProximal + 400110: RightRingDistal + 400112: RightRingDistalEnd + 400114: RightRingIntermediate + 400116: RightRingProximal + 400118: RightShoulder + 400120: RightThumbDistal + 400122: RightThumbDistalEnd + 400124: RightThumbIntermediate + 400126: RightThumbProximal + 400128: RightToes + 400130: RightToesEnd + 400132: RightUpperArm + 400134: RightUpperLeg + 400136: Root + 400138: Skeleton + 400140: Spine + 400142: UpperChest + 4300000: Body + 9500000: //RootNode + 13700000: Body + externalObjects: + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: DefaultMale_Mat + second: {fileID: 2100000, guid: d7f8b496adee38e4a9edc877d5939f5b, type: 2} + materials: + importMaterials: 1 + materialName: 1 + materialSearch: 2 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 3 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 0 + importBlendShapes: 1 + importCameras: 0 + importLights: 0 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + preserveHierarchy: 0 + indexFormat: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 0 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: + - boneName: Hips + humanName: Hips + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightUpperLeg + humanName: RightUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightLowerLeg + humanName: RightLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightFoot + humanName: RightFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightToes + humanName: RightToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Spine + humanName: Spine + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Chest + humanName: Chest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: UpperChest + humanName: UpperChest + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightShoulder + humanName: RightShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightUpperArm + humanName: RightUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightLowerArm + humanName: RightLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightHand + humanName: RightHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Neck + humanName: Neck + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Head + humanName: Head + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: Jaw + humanName: Jaw + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightEye + humanName: RightEye + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftEye + humanName: LeftEye + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftShoulder + humanName: LeftShoulder + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftUpperArm + humanName: LeftUpperArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftLowerArm + humanName: LeftLowerArm + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftHand + humanName: LeftHand + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftUpperLeg + humanName: LeftUpperLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftLowerLeg + humanName: LeftLowerLeg + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftFoot + humanName: LeftFoot + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftToes + humanName: LeftToes + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftThumbProximal + humanName: Left Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftThumbIntermediate + humanName: Left Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftThumbDistal + humanName: Left Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftIndexProximal + humanName: Left Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftIndexIntermediate + humanName: Left Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftIndexDistal + humanName: Left Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftMiddleProximal + humanName: Left Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftMiddleIntermediate + humanName: Left Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftMiddleDistal + humanName: Left Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftRingProximal + humanName: Left Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftRingIntermediate + humanName: Left Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftRingDistal + humanName: Left Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftPinkyProximal + humanName: Left Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftPinkyIntermediate + humanName: Left Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: LeftPinkyDistal + humanName: Left Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightThumbProximal + humanName: Right Thumb Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightThumbIntermediate + humanName: Right Thumb Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightThumbDistal + humanName: Right Thumb Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightIndexProximal + humanName: Right Index Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightIndexIntermediate + humanName: Right Index Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightIndexDistal + humanName: Right Index Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightMiddleProximal + humanName: Right Middle Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightMiddleIntermediate + humanName: Right Middle Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightMiddleDistal + humanName: Right Middle Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightRingProximal + humanName: Right Ring Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightRingIntermediate + humanName: Right Ring Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightRingDistal + humanName: Right Ring Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightPinkyProximal + humanName: Right Little Proximal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightPinkyIntermediate + humanName: Right Little Intermediate + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + - boneName: RightPinkyDistal + humanName: Right Little Distal + limit: + min: {x: 0, y: 0, z: 0} + max: {x: 0, y: 0, z: 0} + value: {x: 0, y: 0, z: 0} + length: 0 + modified: 0 + skeleton: + - name: DefaultMale(Clone) + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Body + parentName: DefaultMale(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Skeleton + parentName: DefaultMale(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Root + parentName: Skeleton + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Hips + parentName: Root + position: {x: 1.1827783e-16, y: 0.99710166, z: 0.011954045} + rotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} + scale: {x: 1, y: 1, z: 1} + - name: LeftUpperLeg + parentName: Hips + position: {x: 0.05013466, y: -0.0024317312, z: 0.089999996} + rotation: {x: 0, y: 0, z: 0.99998796, w: 0.004908496} + scale: {x: 1, y: 1, z: 1} + - name: LeftLowerLeg + parentName: LeftUpperLeg + position: {x: -0.43576738, y: 8.0373204e-16, z: -2.3092638e-16} + rotation: {x: 0, y: 0, z: -0.041384947, w: 0.9991433} + scale: {x: 1, y: 1, z: 1} + - name: LeftFoot + parentName: LeftLowerLeg + position: {x: -0.4248355, y: 3.2196466e-16, z: 1.9539925e-16} + rotation: {x: 0, y: 0, z: 0.04628874, w: 0.9989281} + scale: {x: 1, y: 1, z: 1} + - name: LeftToes + parentName: LeftFoot + position: {x: -0.0758718, y: -0.17069253, z: 5.1514347e-16} + rotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: LeftToesEnd + parentName: LeftToes + position: {x: -0.054048985, y: -9.722308e-18, z: 1.0302869e-15} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightUpperLeg + parentName: Hips + position: {x: 0.05013466, y: -0.0024317356, z: -0.089999996} + rotation: {x: 0, y: 0, z: -0.004908496, w: 0.99998796} + scale: {x: 1, y: 1, z: 1} + - name: RightLowerLeg + parentName: RightUpperLeg + position: {x: 0.43576697, y: -4.867446e-10, z: 1.9539925e-16} + rotation: {x: 0, y: 0, z: -0.041384947, w: 0.9991433} + scale: {x: 1, y: 1, z: 1} + - name: RightFoot + parentName: RightLowerLeg + position: {x: 0.42483592, y: 0.00000004328955, z: 1.9539925e-16} + rotation: {x: 0, y: 0, z: 0.04628874, w: 0.9989281} + scale: {x: 1, y: 1, z: 1} + - name: RightToes + parentName: RightFoot + position: {x: 0.0758718, y: 0.1706926, z: 1.0658141e-16} + rotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: RightToesEnd + parentName: RightToes + position: {x: 0.054049, y: 4.2188474e-17, z: 3.5527136e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Spine + parentName: Hips + position: {x: -0.0763707, y: 0.0041095037, z: 1.3457705e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: Chest + parentName: Spine + position: {x: -0.102159195, y: 0, z: 3.418214e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: UpperChest + parentName: Chest + position: {x: -0.099863835, y: 3.837587e-10, z: 4.2860933e-17} + rotation: {x: 0, y: 0, z: 0.02762249, w: 0.9996185} + scale: {x: 1, y: 1, z: 1} + - name: Neck + parentName: UpperChest + position: {x: -0.22944902, y: 0, z: 3.8648323e-18} + rotation: {x: 0, y: 0, z: -0.16252996, w: 0.98670363} + scale: {x: 1, y: 1, z: 1} + - name: Head + parentName: Neck + position: {x: -0.09720324, y: -3.5527136e-17, z: -7.336409e-18} + rotation: {x: 0, y: 0, z: 0.13521273, w: 0.9908166} + scale: {x: 1, y: 1, z: 1} + - name: Jaw + parentName: Head + position: {x: 0.020377725, y: 0.023429718, z: 0.000011341149} + rotation: {x: -0.00011591564, y: 0.00007256035, z: -0.8476265, w: 0.53059345} + scale: {x: 1, y: 1, z: 1} + - name: JawEnd + parentName: Jaw + position: {x: -0.094900064, y: 1.8092883e-17, z: 4.9371638e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightEye + parentName: Head + position: {x: -0.04963885, y: 0.11306744, z: -0.029689595} + rotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: LeftEye + parentName: Head + position: {x: -0.04963602, y: 0.11306743, z: 0.03} + rotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: LeftShoulder + parentName: UpperChest + position: {x: -0.14809349, y: 0.018417658, z: 0.041293867} + rotation: {x: -0.48599797, y: 0.51362044, z: 0.48599797, w: 0.51362044} + scale: {x: 1, y: 1, z: 1} + - name: LeftUpperArm + parentName: LeftShoulder + position: {x: -0.14904714, y: 0.021559998, z: -0.026150007} + rotation: {x: 0.0000000010905377, y: -0.0096692005, z: 0.0000001127794, w: 0.99995327} + scale: {x: 1, y: 1, z: 1} + - name: LeftLowerArm + parentName: LeftUpperArm + position: {x: -0.25980794, y: 1.2984311e-16, z: 1.3635393e-16} + rotation: {x: 0.000000001217143, y: 0.010789105, z: -0.00000011280568, w: 0.9999418} + scale: {x: 1, y: 1, z: 1} + - name: LeftHand + parentName: LeftLowerArm + position: {x: -0.25833747, y: -4.1848454e-17, z: 7.817271e-16} + rotation: {x: 0, y: -0.0011199615, z: -0, w: 0.9999994} + scale: {x: 1, y: 1, z: 1} + - name: LeftThumbProximal + parentName: LeftHand + position: {x: -0.032763172, y: -0.019399941, z: 0.032587297} + rotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: LeftThumbIntermediate + parentName: LeftThumbProximal + position: {x: -0.015590345, y: -0.02269687, z: -0.0022699998} + rotation: {x: 0.00000017615224, y: 0.00000044237117, z: 0.46174863, w: 0.8870109} + scale: {x: 1, y: 1, z: 1} + - name: LeftThumbDistal + parentName: LeftThumbIntermediate + position: {x: -0.03139568, y: 0, z: 2.8111882e-17} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftThumbDistalEnd + parentName: LeftThumbDistal + position: {x: -0.032299604, y: -1.2479823e-16, z: -3.2554504e-16} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftPinkyProximal + parentName: LeftHand + position: {x: -0.09005295, y: -0.01086029, z: -0.033707228} + rotation: {x: 1, y: 0.00000048059263, z: 0.000000045818194, w: 0.000000002879936} + scale: {x: 1, y: 1, z: 1} + - name: LeftPinkyIntermediate + parentName: LeftPinkyProximal + position: {x: -0.020319965, y: -0.000000009765624, z: -9.310237e-10} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftPinkyDistal + parentName: LeftPinkyIntermediate + position: {x: -0.019660275, y: -0.000000018897165, z: -0.0000000018015959} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftPinkyDistalEnd + parentName: LeftPinkyDistal + position: {x: -0.021771478, y: -0.000000020926425, z: -0.0000000019950588} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftRingProximal + parentName: LeftHand + position: {x: -0.10098182, y: -0.008680271, z: -0.01518866} + rotation: {x: 1, y: 0, z: -0, w: 0.000000002879931} + scale: {x: 1, y: 1, z: 1} + - name: LeftRingIntermediate + parentName: LeftRingProximal + position: {x: -0.028015258, y: -0.00000006713867, z: -6.120983e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftRingDistal + parentName: LeftRingIntermediate + position: {x: -0.029936645, y: -0.00000014348656, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftRingDistalEnd + parentName: LeftRingDistal + position: {x: -0.026132211, y: -0.00000012525189, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftMiddleProximal + parentName: LeftHand + position: {x: -0.10176471, y: -0.009200126, z: 0.0076735215} + rotation: {x: 1, y: 0.000001953623, z: 5.6263126e-15, w: 0.0000000028799376} + scale: {x: 1, y: 1, z: 1} + - name: LeftMiddleIntermediate + parentName: LeftMiddleProximal + position: {x: -0.03811528, y: -0.00000007446289, z: 2.8247632e-11} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftMiddleDistal + parentName: LeftMiddleIntermediate + position: {x: -0.027341224, y: -0.0000001068289, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftMiddleDistalEnd + parentName: LeftMiddleDistal + position: {x: -0.029609164, y: -0.00000011569029, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftIndexProximal + parentName: LeftHand + position: {x: -0.10144374, y: -0.010422724, z: 0.032279857} + rotation: {x: 1, y: -0.00000080360593, z: -0.00000003485639, w: 0.0000000028799356} + scale: {x: 1, y: 1, z: 1} + - name: LeftIndexIntermediate + parentName: LeftIndexProximal + position: {x: -0.03038064, y: 0.000000024414062, z: 0.0000000010589601} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftIndexDistal + parentName: LeftIndexIntermediate + position: {x: -0.023295304, y: 0.00000006185455, z: 0.0000000026829414} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: LeftIndexDistalEnd + parentName: LeftIndexDistal + position: {x: -0.027728153, y: 0.000000044565017, z: 0.000000001933008} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightShoulder + parentName: UpperChest + position: {x: -0.14809349, y: 0.018417655, z: -0.041293897} + rotation: {x: 0.51362044, y: 0.48599797, z: -0.51362044, w: 0.48599797} + scale: {x: 1, y: 1, z: 1} + - name: RightUpperArm + parentName: RightShoulder + position: {x: 0.14904709, y: -0.021559998, z: 0.026150005} + rotation: {x: 0.0000000010905377, y: -0.0096692005, z: 0.0000001127794, w: 0.99995327} + scale: {x: 1, y: 1, z: 1} + - name: RightLowerArm + parentName: RightUpperArm + position: {x: 0.2598076, y: -0.000000058593667, z: 0.0000000065556907} + rotation: {x: 0.000000001217143, y: 0.010789105, z: -0.00000011280568, w: 0.9999418} + scale: {x: 1, y: 1, z: 1} + - name: RightHand + parentName: RightLowerArm + position: {x: 0.25833765, y: 8.2224006e-13, z: -0.0000000040112766} + rotation: {x: 0, y: -0.0011199615, z: -0, w: 0.9999994} + scale: {x: 1, y: 1, z: 1} + - name: RightThumbProximal + parentName: RightHand + position: {x: 0.032763, y: 0.019399999, z: -0.03258728} + rotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + scale: {x: 1, y: 1, z: 1} + - name: RightThumbIntermediate + parentName: RightThumbProximal + position: {x: 0.015591, y: 0.0226969, z: 0.0022699998} + rotation: {x: 0.00000017597144, y: 0.00000044227704, z: 0.46174863, w: 0.8870109} + scale: {x: 1, y: 1, z: 1} + - name: RightThumbDistal + parentName: RightThumbIntermediate + position: {x: 0.031395752, y: -0.00000016593874, z: 0.00000001956757} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightThumbDistalEnd + parentName: RightThumbDistal + position: {x: 0.032299694, y: 0.00000041872633, z: 0.000000020130532} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightPinkyProximal + parentName: RightHand + position: {x: 0.09005299, y: 0.01086, z: 0.03370722} + rotation: {x: 1, y: 0.0000009611853, z: 0.00000009163637, w: 0.00000048049026} + scale: {x: 1, y: 1, z: 1} + - name: RightPinkyIntermediate + parentName: RightPinkyProximal + position: {x: 0.02032, y: 0.0000000390623, z: 0.0000000037241212} + rotation: {x: 0.00000067755235, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightPinkyDistal + parentName: RightPinkyIntermediate + position: {x: 0.01966, y: 0.00000003779355, z: 0.0000000036031094} + rotation: {x: 0.00000052042185, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightPinkyDistalEnd + parentName: RightPinkyDistal + position: {x: 0.021772001, y: 0.000000041853575, z: 0.000000003990134} + rotation: {x: 0.00000086590364, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightRingProximal + parentName: RightHand + position: {x: 0.100981995, y: 0.00868, z: 0.0151886195} + rotation: {x: 1, y: 0, z: -0, w: 6.123234e-17} + scale: {x: 1, y: 1, z: 1} + - name: RightRingIntermediate + parentName: RightRingProximal + position: {x: 0.028015, y: -3.6322944e-13, z: 2.509104e-16} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightRingDistal + parentName: RightRingIntermediate + position: {x: 0.029937, y: -3.8795632e-13, z: 2.7311487e-16} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightRingDistalEnd + parentName: RightRingDistal + position: {x: 0.026131999, y: -3.3821833e-13, z: 2.3536727e-16} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightMiddleProximal + parentName: RightHand + position: {x: 0.101765, y: 0.0092, z: -0.0076735197} + rotation: {x: 1, y: 0.000003907246, z: 7.633312e-12, w: 0.0000019536299} + scale: {x: 1, y: 1, z: 1} + - name: RightMiddleIntermediate + parentName: RightMiddleProximal + position: {x: 0.038115, y: 0.00000029784886, z: 1.164116e-12} + rotation: {x: 0.0000027608096, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightMiddleDistal + parentName: RightMiddleIntermediate + position: {x: 0.027341, y: 0.00000021365567, z: -3.446715e-13} + rotation: {x: 0.0000021149021, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightMiddleDistalEnd + parentName: RightMiddleDistal + position: {x: 0.029609999, y: 0.00000023138672, z: -1.3519946e-12} + rotation: {x: 0.000003517392, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightIndexProximal + parentName: RightHand + position: {x: 0.10144399, y: 0.010419999, z: -0.03227988} + rotation: {x: 1, y: -0.0000016072119, z: -0.00000006971279, w: 0.0000008035582} + scale: {x: 1, y: 1, z: 1} + - name: RightIndexIntermediate + parentName: RightIndexProximal + position: {x: 0.030381, y: -0.00000009765779, z: -0.0000000042359667} + rotation: {x: 0.0000011344717, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightIndexDistal + parentName: RightIndexIntermediate + position: {x: 0.023294998, y: -0.000000074880305, z: -0.000000003247809} + rotation: {x: 0.00000087025205, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: RightIndexDistalEnd + parentName: RightIndexDistal + position: {x: 0.027727999, y: -0.000000089129905, z: -0.0000000038657064} + rotation: {x: 0.0000014476384, y: 0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: Root + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 3 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Materials.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Materials.meta new file mode 100644 index 00000000..4f567c67 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0b3365cac3125a74080440e03d6f17d3 +folderAsset: yes +timeCreated: 1497537557 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Materials/DefaultMale_Mat.mat b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Materials/DefaultMale_Mat.mat new file mode 100644 index 00000000..e7fb7b9a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Materials/DefaultMale_Mat.mat @@ -0,0 +1,81 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: DefaultMale_Mat + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _NORMALMAP _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A _SPECGLOSSMAP + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: dd91d06b39ab6db48974409beafe5d94, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 7299335822211614ba0371ee22e46641, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 6ea50cf81e05dce4395defcd7888072c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 2800000, guid: 06686e008e7b12547a5a262955f45de2, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 0.509 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 1 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 0.9485294, b: 0.9485294, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.101960786, g: 0.101960786, b: 0.101960786, a: 1} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Materials/DefaultMale_Mat.mat.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Materials/DefaultMale_Mat.mat.meta new file mode 100644 index 00000000..13a1c561 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Materials/DefaultMale_Mat.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d7f8b496adee38e4a9edc877d5939f5b +timeCreated: 1490634452 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures.meta new file mode 100644 index 00000000..cb1e9b69 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 45e9be507fd6a4641b3047eec21530fe +folderAsset: yes +timeCreated: 1464084523 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Albedo.tif b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Albedo.tif new file mode 100644 index 00000000..ec9826c7 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Albedo.tif differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Albedo.tif.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Albedo.tif.meta new file mode 100644 index 00000000..6a3313e5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Albedo.tif.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 7299335822211614ba0371ee22e46641 +timeCreated: 1490634007 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 8 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 3 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 3 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: tvOS + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Tizen + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Samsung TV + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Normal.tif b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Normal.tif new file mode 100644 index 00000000..0ce0a988 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Normal.tif differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Normal.tif.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Normal.tif.meta new file mode 100644 index 00000000..3863855f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Normal.tif.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: dd91d06b39ab6db48974409beafe5d94 +timeCreated: 1490634127 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 8 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 1 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 3 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 3 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: tvOS + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Tizen + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Samsung TV + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Occlusion.tif b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Occlusion.tif new file mode 100644 index 00000000..45938985 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Occlusion.tif differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Occlusion.tif.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Occlusion.tif.meta new file mode 100644 index 00000000..11a78e6d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_Occlusion.tif.meta @@ -0,0 +1,124 @@ +fileFormatVersion: 2 +guid: 6ea50cf81e05dce4395defcd7888072c +timeCreated: 1490634007 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: 2 + aniso: 8 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: tvOS + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Tizen + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Samsung TV + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_SpecSmooth.tif b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_SpecSmooth.tif new file mode 100644 index 00000000..ca697e69 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_SpecSmooth.tif differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_SpecSmooth.tif.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_SpecSmooth.tif.meta new file mode 100644 index 00000000..b1652fe2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Models/Textures/DefaultMale_SpecSmooth.tif.meta @@ -0,0 +1,124 @@ +fileFormatVersion: 2 +guid: 06686e008e7b12547a5a262955f45de2 +timeCreated: 1490634401 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: 2 + aniso: 8 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: tvOS + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Tizen + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Samsung TV + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Prefabs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Prefabs.meta new file mode 100644 index 00000000..8e3b392b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Prefabs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 699a1dacc7dd2994f8d15e6aeeafdd15 +folderAsset: yes +timeCreated: 1507755494 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Prefabs/3rdPersonController.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Prefabs/3rdPersonController.prefab new file mode 100644 index 00000000..9d1b5c73 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Prefabs/3rdPersonController.prefab @@ -0,0 +1,2297 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1967615714690980} + m_IsPrefabParent: 1 +--- !u!1 &1034296247985438 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4306489161667954} + m_Layer: 0 + m_Name: RightUpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1053750549532272 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4478649314513806} + m_Layer: 0 + m_Name: RightRingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1062163104307954 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4747822444585576} + m_Layer: 0 + m_Name: LeftIndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1063094657421640 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4568597667922820} + m_Layer: 0 + m_Name: LeftRingDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1080930762331822 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4133104555603808} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1083569672853350 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4045390040061498} + m_Layer: 0 + m_Name: LeftRingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1091141859741914 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4433166873231232} + m_Layer: 0 + m_Name: Chest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1091431808708214 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4371100275193524} + m_Layer: 0 + m_Name: LeftUpperArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1112197937628574 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4249978781932204} + m_Layer: 0 + m_Name: UpperChest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1115430172035180 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4813975243988110} + m_Layer: 0 + m_Name: RightRingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1120793131491742 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4562872618013592} + m_Layer: 0 + m_Name: Jaw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1128555641057606 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4700387383060906} + m_Layer: 0 + m_Name: RightPinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1136875492583880 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4314695454788886} + m_Layer: 0 + m_Name: RightToes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1152094777584232 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4181934737359362} + m_Layer: 0 + m_Name: LeftIndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1152481631596444 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4495134654705200} + m_Layer: 0 + m_Name: LeftUpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1160316927416150 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4922612001254870} + m_Layer: 0 + m_Name: LeftHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1162055273639834 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4067342407258406} + m_Layer: 0 + m_Name: LeftIndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1163717111922788 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4650629487859096} + m_Layer: 0 + m_Name: LeftThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1167417415914632 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4794869021056678} + m_Layer: 0 + m_Name: LeftPinkyDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1177022934119066 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4656711452976134} + m_Layer: 0 + m_Name: LeftRingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1184413762505624 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4770717361083936} + m_Layer: 0 + m_Name: LeftPinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1187593803063868 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4209720775036048} + m_Layer: 0 + m_Name: RightThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1214017418631492 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4994111090137968} + m_Layer: 0 + m_Name: LeftFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1221232404421606 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4736048978246760} + m_Layer: 0 + m_Name: RightPinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1226150839339006 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4665267424592714} + m_Layer: 0 + m_Name: RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1228252563944780 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4562536174207606} + m_Layer: 0 + m_Name: LeftMiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1256999684281084 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4018261202771466} + m_Layer: 0 + m_Name: RightLowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1259726923269782 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4902841847716808} + m_Layer: 0 + m_Name: LeftLowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1265184171739530 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4757781816996832} + m_Layer: 0 + m_Name: RightLowerLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1284512619729996 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4690955608709526} + m_Layer: 0 + m_Name: LeftThumbDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1295323089328944 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4374628046012674} + m_Layer: 0 + m_Name: LeftIndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1297926566829740 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4010661587716364} + m_Layer: 0 + m_Name: LeftMiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1327494929866492 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4807132077054408} + m_Layer: 0 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1327556546654908 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4231690446198792} + m_Layer: 0 + m_Name: RightThumbProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1333296741933250 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4441216220869754} + m_Layer: 0 + m_Name: RightIndexDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1337508080768534 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4439115282509684} + m_Layer: 0 + m_Name: RightRingProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1353565983039636 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4240495303346976} + m_Layer: 0 + m_Name: RightMiddleDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1362002432073142 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4375941997814518} + m_Layer: 0 + m_Name: LeftThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1416672406517354 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4230999894604148} + m_Layer: 0 + m_Name: RightPinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1417999411752516 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4759043318468534} + m_Layer: 0 + m_Name: RightToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1418756246150576 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4081741035045444} + m_Layer: 0 + m_Name: LeftPinkyProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1421054571328726 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4634093748975734} + m_Layer: 0 + m_Name: LeftMiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1442506359991488 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4704658823191454} + m_Layer: 0 + m_Name: RightIndexProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1459800873473164 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4394863569763282} + m_Layer: 0 + m_Name: RightThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1479628024149346 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4764500359751614} + m_Layer: 0 + m_Name: LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1482826206727260 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4965447332026570} + m_Layer: 0 + m_Name: RightIndexIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1487806443923000 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4325167326780386} + m_Layer: 0 + m_Name: LeftToesEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1489917528596976 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4670729088154844} + m_Layer: 0 + m_Name: RightPinkyDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1491836295442132 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4094311953561300} + m_Layer: 0 + m_Name: RightMiddleProximal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1528713933160364 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4253245421265652} + m_Layer: 0 + m_Name: LeftPinkyIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1570167227437178 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4710282694765634} + m_Layer: 0 + m_Name: Skeleton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1589409477576936 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4767404907944552} + m_Layer: 0 + m_Name: LeftEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1591563074696134 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4009418884668130} + m_Layer: 0 + m_Name: RightEye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1611303140040328 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4167898522653418} + m_Layer: 0 + m_Name: Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1617386076904168 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4123189967481934} + m_Layer: 0 + m_Name: RightMiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1666054625737412 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4718308767821156} + m_Layer: 0 + m_Name: RightThumbIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1678573235376970 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4578837093866868} + m_Layer: 0 + m_Name: RightHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1699285132757482 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4910200009443296} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1747911651740868 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4250522532217494} + m_Layer: 0 + m_Name: RightUpperLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1766523293591604 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4861991539920610} + - component: {fileID: 137876666037209066} + m_Layer: 0 + m_Name: Body + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1773236780433950 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4240824209637008} + m_Layer: 0 + m_Name: LeftLowerArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1776250032174172 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4260618275556310} + m_Layer: 0 + m_Name: RightIndexDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1784307122246502 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4911015336594382} + m_Layer: 0 + m_Name: JawEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1804766707829750 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4368495152384830} + m_Layer: 0 + m_Name: LeftToes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1822728644501322 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4145844909056070} + m_Layer: 0 + m_Name: not animated + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1824328363047910 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4623382420950486} + m_Layer: 0 + m_Name: LeftRingDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1829092156015672 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4395715697798690} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1866481403975780 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4940481166717982} + m_Layer: 0 + m_Name: LeftMiddleIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1911933920521582 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4039499643253130} + m_Layer: 0 + m_Name: LeftThumbDistalEnd + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1920996555182664 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4327389010499484} + m_Layer: 0 + m_Name: RightFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1946225974690622 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4387489596345416} + m_Layer: 0 + m_Name: RightMiddleDistal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1964339915913718 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4629792187114154} + m_Layer: 0 + m_Name: RightRingIntermediate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1967615714690980 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4921245023048312} + - component: {fileID: 95487103652067774} + - component: {fileID: 54563485177506292} + - component: {fileID: 114640801015031044} + - component: {fileID: 136696895249700382} + m_Layer: 0 + m_Name: 3rdPersonController + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4009418884668130 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1591563074696134} + m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.04963885, y: 0.11306744, z: -0.029689595} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4910200009443296} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4010661587716364 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1297926566829740} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.027341224, y: -0.0000001068289, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4562536174207606} + m_Father: {fileID: 4940481166717982} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4018261202771466 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1256999684281084} + m_LocalRotation: {x: 0.000000001217143, y: 0.010789105, z: -0.00000011280568, w: 0.9999418} + m_LocalPosition: {x: 0.2598076, y: -0.000000058593667, z: 0.0000000065556907} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4578837093866868} + m_Father: {fileID: 4306489161667954} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4039499643253130 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1911933920521582} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.032299604, y: -1.2479823e-16, z: -3.2554504e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4690955608709526} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4045390040061498 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1083569672853350} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.028015258, y: -0.00000006713867, z: -6.120983e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4623382420950486} + m_Father: {fileID: 4656711452976134} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4067342407258406 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1162055273639834} + m_LocalRotation: {x: 1, y: -0.00000080360593, z: -0.00000003485639, w: 0.0000000028799356} + m_LocalPosition: {x: -0.10144374, y: -0.010422724, z: 0.032279857} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4181934737359362} + m_Father: {fileID: 4922612001254870} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4081741035045444 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1418756246150576} + m_LocalRotation: {x: 1, y: 0.00000048059263, z: 0.000000045818194, w: 0.000000002879936} + m_LocalPosition: {x: -0.09005295, y: -0.01086029, z: -0.033707228} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4253245421265652} + m_Father: {fileID: 4922612001254870} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4094311953561300 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1491836295442132} + m_LocalRotation: {x: 1, y: 0.000003907246, z: 7.633312e-12, w: 0.0000019536299} + m_LocalPosition: {x: 0.101765, y: 0.0092, z: -0.0076735197} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4123189967481934} + m_Father: {fileID: 4578837093866868} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4123189967481934 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1617386076904168} + m_LocalRotation: {x: 0.0000027608096, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.038115, y: 0.00000029784886, z: 1.164116e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4387489596345416} + m_Father: {fileID: 4094311953561300} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4133104555603808 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1080930762331822} + m_LocalRotation: {x: 0, y: 0, z: -0.16252996, w: 0.98670363} + m_LocalPosition: {x: -0.22944902, y: 0, z: 3.8648323e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4910200009443296} + m_Father: {fileID: 4249978781932204} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4145844909056070 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1822728644501322} + m_LocalRotation: {x: -0, y: 1, z: -0, w: -0.00000010430813} + m_LocalPosition: {x: -0.0009994507, y: 1.7299999, z: 0.031000137} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4921245023048312} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4167898522653418 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1611303140040328} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0763707, y: 0.0041095037, z: 1.3457705e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4433166873231232} + m_Father: {fileID: 4395715697798690} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4181934737359362 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1152094777584232} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.03038064, y: 0.000000024414062, z: 0.0000000010589601} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4374628046012674} + m_Father: {fileID: 4067342407258406} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4209720775036048 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1187593803063868} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.031395752, y: -0.00000016593874, z: 0.00000001956757} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4394863569763282} + m_Father: {fileID: 4718308767821156} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4230999894604148 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1416672406517354} + m_LocalRotation: {x: 1, y: 0.0000009611853, z: 0.00000009163637, w: 0.00000048049026} + m_LocalPosition: {x: 0.09005299, y: 0.01086, z: 0.03370722} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4736048978246760} + m_Father: {fileID: 4578837093866868} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4231690446198792 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1327556546654908} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0.032763, y: 0.019399999, z: -0.03258728} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4718308767821156} + m_Father: {fileID: 4578837093866868} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4240495303346976 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1353565983039636} + m_LocalRotation: {x: 0.000003517392, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.029609999, y: 0.00000023138672, z: -1.3519946e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4387489596345416} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4240824209637008 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1773236780433950} + m_LocalRotation: {x: 0.000000001217143, y: 0.010789105, z: -0.00000011280568, w: 0.9999418} + m_LocalPosition: {x: -0.25980794, y: 1.2984311e-16, z: 1.3635393e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4922612001254870} + m_Father: {fileID: 4371100275193524} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4249978781932204 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1112197937628574} + m_LocalRotation: {x: 0, y: 0, z: 0.02762249, w: 0.9996185} + m_LocalPosition: {x: -0.099863835, y: 3.837587e-10, z: 4.2860933e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4133104555603808} + - {fileID: 4764500359751614} + - {fileID: 4665267424592714} + m_Father: {fileID: 4433166873231232} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4250522532217494 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1747911651740868} + m_LocalRotation: {x: 0, y: 0, z: -0.004908496, w: 0.99998796} + m_LocalPosition: {x: 0.05013466, y: -0.0024317356, z: -0.089999996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4757781816996832} + m_Father: {fileID: 4395715697798690} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4253245421265652 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1528713933160364} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.020319965, y: -0.000000009765624, z: -9.310237e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4794869021056678} + m_Father: {fileID: 4081741035045444} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4260618275556310 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1776250032174172} + m_LocalRotation: {x: 0.0000014476384, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.027727999, y: -0.000000089129905, z: -0.0000000038657064} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4441216220869754} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4306489161667954 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1034296247985438} + m_LocalRotation: {x: 0.0000000010905377, y: -0.0096692005, z: 0.0000001127794, w: 0.99995327} + m_LocalPosition: {x: 0.14904709, y: -0.021559998, z: 0.026150005} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4018261202771466} + m_Father: {fileID: 4665267424592714} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4314695454788886 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1136875492583880} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0.0758718, y: 0.1706926, z: 1.0658141e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4759043318468534} + m_Father: {fileID: 4327389010499484} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4325167326780386 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1487806443923000} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.054048985, y: -9.722308e-18, z: 1.0302869e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4368495152384830} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4327389010499484 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1920996555182664} + m_LocalRotation: {x: 0, y: 0, z: 0.04628874, w: 0.9989281} + m_LocalPosition: {x: 0.42483592, y: 0.00000004328955, z: 1.9539925e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4314695454788886} + m_Father: {fileID: 4757781816996832} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4368495152384830 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1804766707829750} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.0758718, y: -0.17069253, z: 5.1514347e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4325167326780386} + m_Father: {fileID: 4994111090137968} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4371100275193524 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1091431808708214} + m_LocalRotation: {x: 0.0000000010905377, y: -0.0096692005, z: 0.0000001127794, w: 0.99995327} + m_LocalPosition: {x: -0.14904714, y: 0.021559998, z: -0.026150007} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4240824209637008} + m_Father: {fileID: 4764500359751614} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4374628046012674 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1295323089328944} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.023295304, y: 0.00000006185455, z: 0.0000000026829414} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4747822444585576} + m_Father: {fileID: 4181934737359362} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4375941997814518 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1362002432073142} + m_LocalRotation: {x: 0.00000017615224, y: 0.00000044237117, z: 0.46174863, w: 0.8870109} + m_LocalPosition: {x: -0.015590345, y: -0.02269687, z: -0.0022699998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4690955608709526} + m_Father: {fileID: 4650629487859096} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4387489596345416 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1946225974690622} + m_LocalRotation: {x: 0.0000021149021, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.027341, y: 0.00000021365567, z: -3.446715e-13} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4240495303346976} + m_Father: {fileID: 4123189967481934} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4394863569763282 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1459800873473164} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.032299694, y: 0.00000041872633, z: 0.000000020130532} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4209720775036048} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4395715697798690 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1829092156015672} + m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 1.1827783e-16, y: 0.99710166, z: 0.011954045} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4495134654705200} + - {fileID: 4250522532217494} + - {fileID: 4167898522653418} + m_Father: {fileID: 4807132077054408} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4433166873231232 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1091141859741914} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.102159195, y: 0, z: 3.418214e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4249978781932204} + m_Father: {fileID: 4167898522653418} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4439115282509684 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1337508080768534} + m_LocalRotation: {x: 1, y: 0, z: -0, w: 6.123234e-17} + m_LocalPosition: {x: 0.100981995, y: 0.00868, z: 0.0151886195} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4629792187114154} + m_Father: {fileID: 4578837093866868} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4441216220869754 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1333296741933250} + m_LocalRotation: {x: 0.00000087025205, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.023294998, y: -0.000000074880305, z: -0.000000003247809} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4260618275556310} + m_Father: {fileID: 4965447332026570} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4478649314513806 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1053750549532272} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.026131999, y: -3.3821833e-13, z: 2.3536727e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4813975243988110} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4495134654705200 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1152481631596444} + m_LocalRotation: {x: 0, y: 0, z: 0.99998796, w: 0.004908496} + m_LocalPosition: {x: 0.05013466, y: -0.0024317312, z: 0.089999996} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4902841847716808} + m_Father: {fileID: 4395715697798690} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4562536174207606 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1228252563944780} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.029609164, y: -0.00000011569029, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4010661587716364} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4562872618013592 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1120793131491742} + m_LocalRotation: {x: -0.00011591564, y: 0.00007256035, z: -0.8476265, w: 0.53059345} + m_LocalPosition: {x: 0.020377725, y: 0.023429718, z: 0.000011341149} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4911015336594382} + m_Father: {fileID: 4910200009443296} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4568597667922820 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1063094657421640} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.026132211, y: -0.00000012525189, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4623382420950486} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4578837093866868 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1678573235376970} + m_LocalRotation: {x: 0, y: -0.0011199615, z: -0, w: 0.9999994} + m_LocalPosition: {x: 0.25833765, y: 8.2224006e-13, z: -0.0000000040112766} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4231690446198792} + - {fileID: 4230999894604148} + - {fileID: 4439115282509684} + - {fileID: 4094311953561300} + - {fileID: 4704658823191454} + m_Father: {fileID: 4018261202771466} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4623382420950486 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1824328363047910} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.029936645, y: -0.00000014348656, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4568597667922820} + m_Father: {fileID: 4045390040061498} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4629792187114154 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1964339915913718} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.028015, y: -3.6322944e-13, z: 2.509104e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4813975243988110} + m_Father: {fileID: 4439115282509684} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4634093748975734 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1421054571328726} + m_LocalRotation: {x: 1, y: 0.000001953623, z: 5.6263126e-15, w: 0.0000000028799376} + m_LocalPosition: {x: -0.10176471, y: -0.009200126, z: 0.0076735215} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4940481166717982} + m_Father: {fileID: 4922612001254870} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4650629487859096 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1163717111922788} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: -0.032763172, y: -0.019399941, z: 0.032587297} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4375941997814518} + m_Father: {fileID: 4922612001254870} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4656711452976134 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1177022934119066} + m_LocalRotation: {x: 1, y: 0, z: -0, w: 0.000000002879931} + m_LocalPosition: {x: -0.10098182, y: -0.008680271, z: -0.01518866} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4045390040061498} + m_Father: {fileID: 4922612001254870} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4665267424592714 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1226150839339006} + m_LocalRotation: {x: 0.51362044, y: 0.48599797, z: -0.51362044, w: 0.48599797} + m_LocalPosition: {x: -0.14809349, y: 0.018417655, z: -0.041293897} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4306489161667954} + m_Father: {fileID: 4249978781932204} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4670729088154844 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1489917528596976} + m_LocalRotation: {x: 0.00000086590364, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.021772001, y: 0.000000041853575, z: 0.000000003990134} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4700387383060906} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4690955608709526 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1284512619729996} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.03139568, y: 0, z: 2.8111882e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4039499643253130} + m_Father: {fileID: 4375941997814518} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4700387383060906 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1128555641057606} + m_LocalRotation: {x: 0.00000052042185, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.01966, y: 0.00000003779355, z: 0.0000000036031094} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4670729088154844} + m_Father: {fileID: 4736048978246760} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4704658823191454 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1442506359991488} + m_LocalRotation: {x: 1, y: -0.0000016072119, z: -0.00000006971279, w: 0.0000008035582} + m_LocalPosition: {x: 0.10144399, y: 0.010419999, z: -0.03227988} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4965447332026570} + m_Father: {fileID: 4578837093866868} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4710282694765634 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1570167227437178} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4807132077054408} + m_Father: {fileID: 4921245023048312} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4718308767821156 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1666054625737412} + m_LocalRotation: {x: 0.00000017597144, y: 0.00000044227704, z: 0.46174863, w: 0.8870109} + m_LocalPosition: {x: 0.015591, y: 0.0226969, z: 0.0022699998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4209720775036048} + m_Father: {fileID: 4231690446198792} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4736048978246760 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1221232404421606} + m_LocalRotation: {x: 0.00000067755235, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.02032, y: 0.0000000390623, z: 0.0000000037241212} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4700387383060906} + m_Father: {fileID: 4230999894604148} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4747822444585576 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1062163104307954} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.027728153, y: 0.000000044565017, z: 0.000000001933008} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4374628046012674} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4757781816996832 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1265184171739530} + m_LocalRotation: {x: 0, y: 0, z: -0.041384947, w: 0.9991433} + m_LocalPosition: {x: 0.43576697, y: -4.867446e-10, z: 1.9539925e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4327389010499484} + m_Father: {fileID: 4250522532217494} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4759043318468534 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1417999411752516} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.054049, y: 4.2188474e-17, z: 3.5527136e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4314695454788886} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4764500359751614 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1479628024149346} + m_LocalRotation: {x: -0.48599797, y: 0.51362044, z: 0.48599797, w: 0.51362044} + m_LocalPosition: {x: -0.14809349, y: 0.018417658, z: 0.041293867} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4371100275193524} + m_Father: {fileID: 4249978781932204} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4767404907944552 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1589409477576936} + m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.04963602, y: 0.11306743, z: 0.03} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4910200009443296} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4770717361083936 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1184413762505624} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.021771478, y: -0.000000020926425, z: -0.0000000019950588} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4794869021056678} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4794869021056678 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1167417415914632} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.019660275, y: -0.000000018897165, z: -0.0000000018015959} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4770717361083936} + m_Father: {fileID: 4253245421265652} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4807132077054408 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1327494929866492} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4395715697798690} + m_Father: {fileID: 4710282694765634} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4813975243988110 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1115430172035180} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.029937, y: -3.8795632e-13, z: 2.7311487e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4478649314513806} + m_Father: {fileID: 4629792187114154} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4861991539920610 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1766523293591604} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4921245023048312} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4902841847716808 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1259726923269782} + m_LocalRotation: {x: 0, y: 0, z: -0.041384947, w: 0.9991433} + m_LocalPosition: {x: -0.43576738, y: 8.0373204e-16, z: -2.3092638e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4994111090137968} + m_Father: {fileID: 4495134654705200} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4910200009443296 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1699285132757482} + m_LocalRotation: {x: 0, y: 0, z: 0.13521273, w: 0.9908166} + m_LocalPosition: {x: -0.09720324, y: -3.5527136e-17, z: -7.336409e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4562872618013592} + - {fileID: 4009418884668130} + - {fileID: 4767404907944552} + m_Father: {fileID: 4133104555603808} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4911015336594382 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1784307122246502} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.094900064, y: 1.8092883e-17, z: 4.9371638e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4562872618013592} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4921245023048312 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1967615714690980} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5, y: 1.1, z: -4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4145844909056070} + - {fileID: 4861991539920610} + - {fileID: 4710282694765634} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4922612001254870 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1160316927416150} + m_LocalRotation: {x: 0, y: -0.0011199615, z: -0, w: 0.9999994} + m_LocalPosition: {x: -0.25833747, y: -4.1848454e-17, z: 7.817271e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4650629487859096} + - {fileID: 4081741035045444} + - {fileID: 4656711452976134} + - {fileID: 4634093748975734} + - {fileID: 4067342407258406} + m_Father: {fileID: 4240824209637008} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4940481166717982 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1866481403975780} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.03811528, y: -0.00000007446289, z: 2.8247632e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4010661587716364} + m_Father: {fileID: 4634093748975734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4965447332026570 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1482826206727260} + m_LocalRotation: {x: 0.0000011344717, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.030381, y: -0.00000009765779, z: -0.0000000042359667} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4441216220869754} + m_Father: {fileID: 4704658823191454} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4994111090137968 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1214017418631492} + m_LocalRotation: {x: 0, y: 0, z: 0.04628874, w: 0.9989281} + m_LocalPosition: {x: -0.4248355, y: 3.2196466e-16, z: 1.9539925e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4368495152384830} + m_Father: {fileID: 4902841847716808} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &54563485177506292 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1967615714690980} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 112 + m_CollisionDetection: 0 +--- !u!95 &95487103652067774 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1967615714690980} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: 8837f192a88abd84da9f1907d0b6bdb4, type: 3} + m_Controller: {fileID: 9100000, guid: 7a9f599c49797434485c0e1d9e99f200, type: 2} + m_CullingMode: 1 + m_UpdateMode: 1 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!114 &114640801015031044 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1967615714690980} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5281785fbe32be4488391fbe4acda0d3, type: 3} + m_Name: + m_EditorClassIdentifier: + keepDirection: 0 + turnSpeed: 10 + sprintJoystick: 332 + sprintKeyboard: 32 +--- !u!136 &136696895249700382 +CapsuleCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1967615714690980} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.31 + m_Height: 1.76 + m_Direction: 1 + m_Center: {x: 0, y: 0.87, z: 0} +--- !u!137 &137876666037209066 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1766523293591604} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: d7f8b496adee38e4a9edc877d5939f5b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 8837f192a88abd84da9f1907d0b6bdb4, type: 3} + m_Bones: + - {fileID: 4395715697798690} + - {fileID: 4495134654705200} + - {fileID: 4902841847716808} + - {fileID: 4994111090137968} + - {fileID: 4368495152384830} + - {fileID: 4325167326780386} + - {fileID: 4250522532217494} + - {fileID: 4757781816996832} + - {fileID: 4327389010499484} + - {fileID: 4314695454788886} + - {fileID: 4759043318468534} + - {fileID: 4167898522653418} + - {fileID: 4433166873231232} + - {fileID: 4249978781932204} + - {fileID: 4133104555603808} + - {fileID: 4910200009443296} + - {fileID: 4562872618013592} + - {fileID: 4911015336594382} + - {fileID: 4009418884668130} + - {fileID: 4767404907944552} + - {fileID: 4764500359751614} + - {fileID: 4371100275193524} + - {fileID: 4240824209637008} + - {fileID: 4922612001254870} + - {fileID: 4650629487859096} + - {fileID: 4375941997814518} + - {fileID: 4690955608709526} + - {fileID: 4081741035045444} + - {fileID: 4253245421265652} + - {fileID: 4794869021056678} + - {fileID: 4656711452976134} + - {fileID: 4045390040061498} + - {fileID: 4623382420950486} + - {fileID: 4634093748975734} + - {fileID: 4940481166717982} + - {fileID: 4010661587716364} + - {fileID: 4067342407258406} + - {fileID: 4181934737359362} + - {fileID: 4374628046012674} + - {fileID: 4747822444585576} + - {fileID: 4665267424592714} + - {fileID: 4306489161667954} + - {fileID: 4018261202771466} + - {fileID: 4578837093866868} + - {fileID: 4231690446198792} + - {fileID: 4718308767821156} + - {fileID: 4209720775036048} + - {fileID: 4230999894604148} + - {fileID: 4736048978246760} + - {fileID: 4700387383060906} + - {fileID: 4439115282509684} + - {fileID: 4629792187114154} + - {fileID: 4813975243988110} + - {fileID: 4094311953561300} + - {fileID: 4123189967481934} + - {fileID: 4387489596345416} + - {fileID: 4704658823191454} + - {fileID: 4965447332026570} + - {fileID: 4441216220869754} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4395715697798690} + m_AABB: + m_Center: {x: 0.11729962, y: 0.015860312, z: -0.000000029802322} + m_Extent: {x: 0.8884625, y: 0.16316557, z: 0.9052676} + m_DirtyAABB: 0 diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Prefabs/3rdPersonController.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Prefabs/3rdPersonController.prefab.meta new file mode 100644 index 00000000..923af67f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Prefabs/3rdPersonController.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f9dee39d229a4bb4087224760ba2d338 +timeCreated: 1507923842 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts.meta new file mode 100644 index 00000000..219ee135 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d4775af85ff1d2142ac4b957ff9e0a00 +folderAsset: yes +timeCreated: 1507216495 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement.cs new file mode 100644 index 00000000..7f10469e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement.cs @@ -0,0 +1,107 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + +[AddComponentMenu("")] // Don't display in add component menu +public class CharacterMovement : MonoBehaviour +{ + public bool useCharacterForward = false; + public bool lockToCameraForward = false; + public float turnSpeed = 10f; + public KeyCode sprintJoystick = KeyCode.JoystickButton2; + public KeyCode sprintKeyboard = KeyCode.Space; + + private float turnSpeedMultiplier; + private float speed = 0f; + private float direction = 0f; + private bool isSprinting = false; + private Animator anim; + private Vector3 targetDirection; + private Vector2 input; + private Quaternion freeRotation; + private Camera mainCamera; + private float velocity; + + // Use this for initialization + void Start () + { + anim = GetComponent(); + mainCamera = Camera.main; + } + + // Update is called once per frame + void FixedUpdate () + { +#if ENABLE_LEGACY_INPUT_MANAGER + input.x = Input.GetAxis("Horizontal"); + input.y = Input.GetAxis("Vertical"); + + // set speed to both vertical and horizontal inputs + if (useCharacterForward) + speed = Mathf.Abs(input.x) + input.y; + else + speed = Mathf.Abs(input.x) + Mathf.Abs(input.y); + + speed = Mathf.Clamp(speed, 0f, 1f); + speed = Mathf.SmoothDamp(anim.GetFloat("Speed"), speed, ref velocity, 0.1f); + anim.SetFloat("Speed", speed); + + if (input.y < 0f && useCharacterForward) + direction = input.y; + else + direction = 0f; + + anim.SetFloat("Direction", direction); + + // set sprinting + isSprinting = ((Input.GetKey(sprintJoystick) || Input.GetKey(sprintKeyboard)) && input != Vector2.zero && direction >= 0f); + anim.SetBool("isSprinting", isSprinting); + + // Update target direction relative to the camera view (or not if the Keep Direction option is checked) + UpdateTargetDirection(); + if (input != Vector2.zero && targetDirection.magnitude > 0.1f) + { + Vector3 lookDirection = targetDirection.normalized; + freeRotation = Quaternion.LookRotation(lookDirection, transform.up); + var diferenceRotation = freeRotation.eulerAngles.y - transform.eulerAngles.y; + var eulerY = transform.eulerAngles.y; + + if (diferenceRotation < 0 || diferenceRotation > 0) eulerY = freeRotation.eulerAngles.y; + var euler = new Vector3(0, eulerY, 0); + + transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(euler), turnSpeed * turnSpeedMultiplier * Time.deltaTime); + } +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } + + public virtual void UpdateTargetDirection() + { + if (!useCharacterForward) + { + turnSpeedMultiplier = 1f; + var forward = mainCamera.transform.TransformDirection(Vector3.forward); + forward.y = 0; + + //get the right-facing direction of the referenceTransform + var right = mainCamera.transform.TransformDirection(Vector3.right); + + // determine the direction the player will face based on input and the referenceTransform's right and forward directions + targetDirection = input.x * right + input.y * forward; + } + else + { + turnSpeedMultiplier = 0.2f; + var forward = transform.TransformDirection(Vector3.forward); + forward.y = 0; + + //get the right-facing direction of the referenceTransform + var right = transform.TransformDirection(Vector3.right); + targetDirection = input.x * right + Mathf.Abs(input.y) * forward; + } + } +} + +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement.cs.meta new file mode 100644 index 00000000..2496bd11 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 5281785fbe32be4488391fbe4acda0d3 +timeCreated: 1507745949 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement2D.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement2D.cs new file mode 100644 index 00000000..cc3c7113 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement2D.cs @@ -0,0 +1,84 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + +[AddComponentMenu("")] // Don't display in add component menu +public class CharacterMovement2D : MonoBehaviour +{ + public KeyCode sprintJoystick = KeyCode.JoystickButton2; + public KeyCode jumpJoystick = KeyCode.JoystickButton0; + public KeyCode sprintKeyboard = KeyCode.LeftShift; + public KeyCode jumpKeyboard = KeyCode.Space; + public float jumpVelocity = 7f; + public float groundTolerance = 0.2f; + public bool checkGroundForJump = true; + + float speed = 0f; + bool isSprinting = false; + Animator anim; + Vector2 input; + float velocity; + bool headingleft = false; + Quaternion targetrot; + Rigidbody rigbody; + + // Use this for initialization + void Start () + { + anim = GetComponent(); + rigbody = GetComponent(); + targetrot = transform.rotation; + } + +#if ENABLE_LEGACY_INPUT_MANAGER + // Update is called once per frame + void FixedUpdate () + { + input.x = Input.GetAxis("Horizontal"); + + // Check if direction changes + if ((input.x < 0f && !headingleft) || (input.x > 0f && headingleft)) + { + if (input.x < 0f) targetrot = Quaternion.Euler(0, 270, 0); + if (input.x > 0f) targetrot = Quaternion.Euler(0, 90, 0); + headingleft = !headingleft; + } + // Rotate player if direction changes + transform.rotation = Quaternion.Lerp(transform.rotation, targetrot, Time.deltaTime * 20f); + + // set speed to horizontal inputs + speed = Mathf.Abs(input.x); + speed = Mathf.SmoothDamp(anim.GetFloat("Speed"), speed, ref velocity, 0.1f); + anim.SetFloat("Speed", speed); + + // set sprinting + if ((Input.GetKeyDown(sprintJoystick) || Input.GetKeyDown(sprintKeyboard))&& input != Vector2.zero) isSprinting = true; + if ((Input.GetKeyUp(sprintJoystick) || Input.GetKeyUp(sprintKeyboard))|| input == Vector2.zero) isSprinting = false; + anim.SetBool("isSprinting", isSprinting); + } +#endif + private void Update() + { +#if ENABLE_LEGACY_INPUT_MANAGER + // Jump + if ((Input.GetKeyDown(jumpJoystick) || Input.GetKeyDown(jumpKeyboard))) + { + rigbody.AddForce(new Vector3(0, jumpVelocity, 0), ForceMode.Impulse); + } +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } + + + public bool isGrounded() + { + if (checkGroundForJump) + return Physics.Raycast(transform.position, Vector3.down, groundTolerance); + else + return true; + } +} + +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement2D.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement2D.cs.meta new file mode 100644 index 00000000..dea797c0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovement2D.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 44f5d1b3342d4e34593e4f948d951750 +timeCreated: 1507745949 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovementNoCamera.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovementNoCamera.cs new file mode 100644 index 00000000..562a2668 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovementNoCamera.cs @@ -0,0 +1,67 @@ +using Cinemachine.Examples; +using UnityEngine; + +// WASD to move, Space to sprint +public class CharacterMovementNoCamera : MonoBehaviour +{ + public Transform InvisibleCameraOrigin; + + public float StrafeSpeed = 0.1f; + public float TurnSpeed = 3; + public float Damping = 0.2f; + public float VerticalRotMin = -80; + public float VerticalRotMax = 80; + public KeyCode sprintJoystick = KeyCode.JoystickButton2; + public KeyCode sprintKeyboard = KeyCode.Space; + + private bool isSprinting; + private Animator anim; + private float currentStrafeSpeed; + private Vector2 currentVelocity; + + void OnEnable() + { + anim = GetComponent(); + currentVelocity = Vector2.zero; + currentStrafeSpeed = 0; + isSprinting = false; + } + + void FixedUpdate() + { +#if ENABLE_LEGACY_INPUT_MANAGER + var input = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")); + var speed = input.y; + speed = Mathf.Clamp(speed, -1f, 1f); + speed = Mathf.SmoothDamp(anim.GetFloat("Speed"), speed, ref currentVelocity.y, Damping); + anim.SetFloat("Speed", speed); + anim.SetFloat("Direction", speed); + + // set sprinting + isSprinting = (Input.GetKey(sprintJoystick) || Input.GetKey(sprintKeyboard)) && speed > 0; + anim.SetBool("isSprinting", isSprinting); + + // strafing + currentStrafeSpeed = Mathf.SmoothDamp( + currentStrafeSpeed, input.x * StrafeSpeed, ref currentVelocity.x, Damping); + transform.position += transform.TransformDirection(Vector3.right) * currentStrafeSpeed; + + var rotInput = new Vector2(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y")); + var rot = transform.eulerAngles; + rot.y += rotInput.x * TurnSpeed; + transform.rotation = Quaternion.Euler(rot); + + if (InvisibleCameraOrigin != null) + { + rot = InvisibleCameraOrigin.localRotation.eulerAngles; + rot.x -= rotInput.y * TurnSpeed; + if (rot.x > 180) + rot.x -= 360; + rot.x = Mathf.Clamp(rot.x, VerticalRotMin, VerticalRotMax); + InvisibleCameraOrigin.localRotation = Quaternion.Euler(rot); + } +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovementNoCamera.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovementNoCamera.cs.meta new file mode 100644 index 00000000..768e5841 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Models/UnityCharacter/Scripts/CharacterMovementNoCamera.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5200521536b604f40bb6a80aa5a81e30 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs.meta new file mode 100644 index 00000000..46886524 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 690b4bcafe37e4bb3b99fb7a54b92864 +folderAsset: yes +timeCreated: 1508790021 +licenseType: Free +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Corridors_1_2.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Corridors_1_2.prefab new file mode 100644 index 00000000..f4406cfe --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Corridors_1_2.prefab @@ -0,0 +1,995 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1384046724762472} + m_IsPrefabParent: 1 +--- !u!1 &1070431082620248 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4948073236796476} + - component: {fileID: 33474331056532294} + - component: {fileID: 23553084136363808} + - component: {fileID: 64944002382221902} + m_Layer: 0 + m_Name: ProB_Wall_10x4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1101557829310058 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4729340067630792} + - component: {fileID: 33691127760007934} + - component: {fileID: 23632341067300852} + - component: {fileID: 64162954379465132} + m_Layer: 0 + m_Name: ProB_Floor_2Walls_10x10 (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1104855491737200 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4012559933375344} + - component: {fileID: 33456557378469978} + - component: {fileID: 23815767845190032} + - component: {fileID: 64904082922242380} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1144527585273196 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4534946322771840} + - component: {fileID: 33934743628766972} + - component: {fileID: 23498595660704938} + - component: {fileID: 64734866849393588} + m_Layer: 0 + m_Name: ProB_Floor_2Walls_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1214444210617826 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4745951113876314} + - component: {fileID: 33368276532935910} + - component: {fileID: 23025349744484216} + - component: {fileID: 64944035275092230} + m_Layer: 0 + m_Name: ProB_Floor_2Walls_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1384046724762472 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4550568055784754} + m_Layer: 0 + m_Name: Corridors_1_2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1470950834324856 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4454140350973796} + - component: {fileID: 65345502164100634} + m_Layer: 9 + m_Name: Corridor_1_Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1571109292107276 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4527961498011380} + - component: {fileID: 33628426906512980} + - component: {fileID: 23187993578812728} + - component: {fileID: 64413624552137264} + m_Layer: 0 + m_Name: ProB_Floor_2Walls_10x10 (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1691545888359096 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4119292489330496} + - component: {fileID: 65142447842052234} + m_Layer: 9 + m_Name: Corridor_2_Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1708821511622150 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4274849275375184} + - component: {fileID: 33869495719430842} + - component: {fileID: 23818150327452100} + - component: {fileID: 64238202317430474} + m_Layer: 0 + m_Name: ProB_Floor_2Walls_10x10 (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1837194916521680 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4332080873514452} + - component: {fileID: 33680411528093346} + - component: {fileID: 23863900356488556} + - component: {fileID: 64793294481116604} + m_Layer: 0 + m_Name: ProB_Floor_2Walls_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1900370812478796 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4932899551635850} + - component: {fileID: 33144744184509424} + - component: {fileID: 23218155551805188} + - component: {fileID: 64745868476491256} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1959455184547196 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4083846104098858} + - component: {fileID: 33613914190317820} + - component: {fileID: 23908266936125960} + - component: {fileID: 64608485972143582} + m_Layer: 0 + m_Name: ProB_Floor_2Walls_10x10 (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4012559933375344 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1104855491737200} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!4 &4083846104098858 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1959455184547196} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -30, y: 0, z: 50} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4119292489330496 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1691545888359096} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!4 &4274849275375184 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1708821511622150} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -50, y: 0, z: 50} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4332080873514452 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1837194916521680} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4454140350973796 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1470950834324856} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: 20} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4527961498011380 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1571109292107276} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -40, y: 0, z: 50} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4534946322771840 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1144527585273196} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -20, y: 0, z: 50} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4550568055784754 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1384046724762472} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4454140350973796} + - {fileID: 4119292489330496} + - {fileID: 4932899551635850} + - {fileID: 4745951113876314} + - {fileID: 4012559933375344} + - {fileID: 4332080873514452} + - {fileID: 4534946322771840} + - {fileID: 4083846104098858} + - {fileID: 4527961498011380} + - {fileID: 4274849275375184} + - {fileID: 4729340067630792} + - {fileID: 4948073236796476} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4729340067630792 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1101557829310058} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -10, y: 0, z: 50} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4745951113876314 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1214444210617826} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 30} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4932899551635850 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1900370812478796} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 10, y: 0, z: 10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4948073236796476 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1070431082620248} + m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 5, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4550568055784754} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0} +--- !u!23 &23025349744484216 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1214444210617826} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23187993578812728 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1571109292107276} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23218155551805188 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1900370812478796} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23498595660704938 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1144527585273196} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23553084136363808 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1070431082620248} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23632341067300852 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1101557829310058} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23815767845190032 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1104855491737200} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23818150327452100 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1708821511622150} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23863900356488556 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1837194916521680} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23908266936125960 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1959455184547196} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33144744184509424 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1900370812478796} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33368276532935910 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1214444210617826} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33456557378469978 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1104855491737200} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33474331056532294 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1070431082620248} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!33 &33613914190317820 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1959455184547196} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33628426906512980 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1571109292107276} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33680411528093346 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1837194916521680} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33691127760007934 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1101557829310058} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33869495719430842 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1708821511622150} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33934743628766972 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1144527585273196} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64162954379465132 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1101557829310058} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64238202317430474 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1708821511622150} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64413624552137264 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1571109292107276} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64608485972143582 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1959455184547196} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64734866849393588 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1144527585273196} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64745868476491256 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1900370812478796} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64793294481116604 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1837194916521680} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64904082922242380 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1104855491737200} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64944002382221902 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1070431082620248} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!64 &64944035275092230 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1214444210617826} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!65 &65142447842052234 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1691545888359096} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 4, z: 1} + m_Center: {x: 5, y: 2, z: -10} +--- !u!65 &65345502164100634 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1470950834324856} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 4, z: 10} + m_Center: {x: 0, y: 2, z: -5} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Corridors_1_2.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Corridors_1_2.prefab.meta new file mode 100644 index 00000000..80ebe9dc --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Corridors_1_2.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: dceeb5c475cd2fb4db1d3436877a7f81 +timeCreated: 1508438428 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_2D.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_2D.prefab new file mode 100644 index 00000000..29729cf9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_2D.prefab @@ -0,0 +1,891 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1932315295057362} + m_IsPrefabParent: 1 +--- !u!1 &1093630006794112 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4220074187491566} + - component: {fileID: 33984752897568900} + - component: {fileID: 23682174506755306} + - component: {fileID: 65657561089462348} + m_Layer: 0 + m_Name: Floor_10x4 (5) + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1179238970242564 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4772807418735272} + - component: {fileID: 33604084269416632} + - component: {fileID: 23503141074715936} + - component: {fileID: 65190873067905016} + m_Layer: 0 + m_Name: Floor_10x4 (4) + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1208011365431956 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4745394106363952} + - component: {fileID: 33661109624070960} + - component: {fileID: 23091438186089094} + - component: {fileID: 65186391993493214} + m_Layer: 0 + m_Name: Floor_10x4 (9) + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1230842689012960 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4350282042492060} + - component: {fileID: 33975854936202132} + - component: {fileID: 23391944005797586} + - component: {fileID: 65203942158272142} + m_Layer: 0 + m_Name: Floor_10x4 (8) + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1289796098803012 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4870096129987738} + - component: {fileID: 33610958788956344} + - component: {fileID: 23893367668703242} + - component: {fileID: 65029428134294126} + m_Layer: 0 + m_Name: Floor_10x4 + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1385621426989036 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4941263352500658} + - component: {fileID: 33938767740869154} + - component: {fileID: 23847039484650454} + - component: {fileID: 65278360840728862} + m_Layer: 0 + m_Name: Floor_10x4 (3) + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1421813924030236 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4416827462159166} + - component: {fileID: 33128884773139414} + - component: {fileID: 23288051258311214} + - component: {fileID: 65180840455042162} + m_Layer: 0 + m_Name: Floor_10x4 (2) + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1647003791219582 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4153439322609324} + - component: {fileID: 33232094690567938} + - component: {fileID: 23204738618666228} + - component: {fileID: 65156162106321926} + m_Layer: 0 + m_Name: Floor_10x4 (1) + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1756275664315196 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4757672997603922} + - component: {fileID: 33130458403261488} + - component: {fileID: 23229834250493146} + - component: {fileID: 65604396597150390} + m_Layer: 0 + m_Name: Wall_10x4 (4) + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1850592471220874 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4783136327579382} + - component: {fileID: 33313924075506442} + - component: {fileID: 23327826968927342} + - component: {fileID: 65401643720267064} + m_Layer: 0 + m_Name: Wall_10x4 (1) + m_TagString: Ground + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1932315295057362 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4244120949986480} + m_Layer: 0 + m_Name: Environment_2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4153439322609324 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1647003791219582} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4220074187491566 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1093630006794112} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 20, y: 9, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4244120949986480 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1932315295057362} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4153439322609324} + - {fileID: 4416827462159166} + - {fileID: 4783136327579382} + - {fileID: 4941263352500658} + - {fileID: 4772807418735272} + - {fileID: 4220074187491566} + - {fileID: 4757672997603922} + - {fileID: 4350282042492060} + - {fileID: 4745394106363952} + - {fileID: 4870096129987738} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4350282042492060 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1230842689012960} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: -0.7071068} + m_LocalPosition: {x: 15, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4416827462159166 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1421813924030236} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 20, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4745394106363952 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1208011365431956} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: -0.7071068} + m_LocalPosition: {x: 9.98, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4757672997603922 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1756275664315196} + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -10, y: 0, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!4 &4772807418735272 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1179238970242564} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 10, y: 9, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4783136327579382 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1850592471220874} + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 20, y: 0, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90} +--- !u!4 &4870096129987738 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1289796098803012} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4941263352500658 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1385621426989036} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 9, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4244120949986480} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!23 &23091438186089094 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1208011365431956} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23204738618666228 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1647003791219582} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23229834250493146 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1756275664315196} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23288051258311214 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1421813924030236} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23327826968927342 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1850592471220874} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23391944005797586 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1230842689012960} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23503141074715936 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1179238970242564} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23682174506755306 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1093630006794112} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23847039484650454 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1385621426989036} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23893367668703242 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1289796098803012} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33128884773139414 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1421813924030236} + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!33 &33130458403261488 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1756275664315196} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!33 &33232094690567938 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1647003791219582} + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!33 &33313924075506442 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1850592471220874} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!33 &33604084269416632 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1179238970242564} + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!33 &33610958788956344 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1289796098803012} + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!33 &33661109624070960 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1208011365431956} + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!33 &33938767740869154 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1385621426989036} + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!33 &33975854936202132 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1230842689012960} + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!33 &33984752897568900 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1093630006794112} + m_Mesh: {fileID: 4300000, guid: 52ec9a50889c9784f920590c3e0d8c68, type: 3} +--- !u!65 &65029428134294126 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1289796098803012} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!65 &65156162106321926 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1647003791219582} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!65 &65180840455042162 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1421813924030236} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!65 &65186391993493214 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1208011365431956} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!65 &65190873067905016 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1179238970242564} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!65 &65203942158272142 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1230842689012960} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4.000001} + m_Center: {x: 5.000001, y: 0.5, z: -2.0000005} +--- !u!65 &65278360840728862 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1385621426989036} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} +--- !u!65 &65401643720267064 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1850592471220874} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4} + m_Center: {x: 5.000001, y: 0.5, z: -2} +--- !u!65 &65604396597150390 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1756275664315196} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10.000002, y: 1, z: 4} + m_Center: {x: 5.000001, y: 0.5, z: -2} +--- !u!65 &65657561089462348 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1093630006794112} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 1, z: 4} + m_Center: {x: 5, y: 0.5, z: -2} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_2D.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_2D.prefab.meta new file mode 100644 index 00000000..d42c3486 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_2D.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 50d4e9899bac3164ea7e01493f0b5124 +timeCreated: 1509480829 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Clear_BluePedestal.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Clear_BluePedestal.prefab new file mode 100644 index 00000000..bf8d5ae4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Clear_BluePedestal.prefab @@ -0,0 +1,924 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1239312185902434} + m_IsPrefabParent: 1 +--- !u!1 &1093057552536632 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4814299176705986} + - component: {fileID: 33228776199976658} + - component: {fileID: 23817756041829672} + - component: {fileID: 64621161422575872} + m_Layer: 0 + m_Name: ProB_Floor_LWall_10x10 (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1130739308907902 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4864309313608680} + - component: {fileID: 33673983412183920} + - component: {fileID: 23562317001603392} + - component: {fileID: 64131061853150836} + m_Layer: 0 + m_Name: ProB_Floor_LWall_10x10 (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1239312185902434 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4146330374486442} + m_Layer: 0 + m_Name: Environment_Clear_BluePedestal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1277474853853614 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4792149664993514} + - component: {fileID: 33743350105875598} + - component: {fileID: 23676560925065816} + - component: {fileID: 64405425775338410} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1364387270749072 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4514852612902388} + - component: {fileID: 33096734904378204} + - component: {fileID: 135791990541261778} + - component: {fileID: 23291035114394176} + - component: {fileID: 64198675437439214} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1405648343172234 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4312922724695174} + - component: {fileID: 33480996701907022} + - component: {fileID: 23998011683883882} + - component: {fileID: 64812296852568974} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1434021257099004 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4003605113221038} + - component: {fileID: 33316487247805134} + - component: {fileID: 23953456796177462} + - component: {fileID: 64389283381060126} + m_Layer: 0 + m_Name: ProB_Floor_LWall_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1633642157119170 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4354817257173992} + - component: {fileID: 33747267114934876} + - component: {fileID: 23514053746164572} + - component: {fileID: 64766286462613828} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1658471612543992 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4337834769779114} + - component: {fileID: 33145791228876564} + - component: {fileID: 23958594934621474} + - component: {fileID: 64023033116760652} + m_Layer: 0 + m_Name: ProB_Floor_LWall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1949979250419754 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4702758980239370} + - component: {fileID: 33802232304610850} + - component: {fileID: 23761472948968152} + - component: {fileID: 64053595513311122} + m_Layer: 0 + m_Name: ProB_Floor_10x10_BluePedestal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1969725546641190 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4261566049510866} + - component: {fileID: 33926073940819508} + - component: {fileID: 23617532735295908} + - component: {fileID: 64752056417611226} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4003605113221038 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1434021257099004} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4146330374486442 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1239312185902434} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4702758980239370} + - {fileID: 4864309313608680} + - {fileID: 4814299176705986} + - {fileID: 4003605113221038} + - {fileID: 4337834769779114} + - {fileID: 4792149664993514} + - {fileID: 4312922724695174} + - {fileID: 4354817257173992} + - {fileID: 4261566049510866} + - {fileID: 4514852612902388} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4261566049510866 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1969725546641190} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4312922724695174 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1405648343172234} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.0000017, y: 1, z: 1.0000017} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!4 &4337834769779114 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1658471612543992} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4354817257173992 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1633642157119170} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4514852612902388 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1364387270749072} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 5.0040026, y: 3.523, z: -5.002998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4702758980239370 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1949979250419754} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4792149664993514 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1277474853853614} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4814299176705986 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1093057552536632} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4864309313608680 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1130739308907902} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: -0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4146330374486442} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 270, z: 0} +--- !u!23 &23291035114394176 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1364387270749072} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23514053746164572 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1633642157119170} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23562317001603392 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1130739308907902} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23617532735295908 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1969725546641190} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23676560925065816 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1277474853853614} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23761472948968152 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1949979250419754} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 89db8b11e2538314a89bde42040c3c94, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23817756041829672 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1093057552536632} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23953456796177462 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1434021257099004} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23958594934621474 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1658471612543992} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23998011683883882 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1405648343172234} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33096734904378204 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1364387270749072} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33145791228876564 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1658471612543992} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33228776199976658 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1093057552536632} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33316487247805134 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1434021257099004} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33480996701907022 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1405648343172234} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33673983412183920 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1130739308907902} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33743350105875598 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1277474853853614} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33747267114934876 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1633642157119170} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33802232304610850 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1949979250419754} + m_Mesh: {fileID: 4300000, guid: fb8b35ae430517a4989c461955168bec, type: 3} +--- !u!33 &33926073940819508 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1969725546641190} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64023033116760652 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1658471612543992} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64053595513311122 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1949979250419754} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: fb8b35ae430517a4989c461955168bec, type: 3} +--- !u!64 &64131061853150836 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1130739308907902} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64198675437439214 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1364387270749072} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!64 &64389283381060126 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1434021257099004} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64405425775338410 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1277474853853614} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64621161422575872 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1093057552536632} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64752056417611226 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1969725546641190} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64766286462613828 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1633642157119170} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64812296852568974 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1405648343172234} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!135 &135791990541261778 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1364387270749072} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Clear_BluePedestal.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Clear_BluePedestal.prefab.meta new file mode 100644 index 00000000..7baf150d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Clear_BluePedestal.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 61745ace033145746897f4e80481de5f +timeCreated: 1509459540 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Corridor.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Corridor.prefab new file mode 100644 index 00000000..325fd6c2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Corridor.prefab @@ -0,0 +1,662 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1472977947053810} + m_IsPrefabParent: 1 +--- !u!1 &1168426601672702 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4766398749427442} + - component: {fileID: 33927044114528204} + - component: {fileID: 23901981491108318} + - component: {fileID: 64618881601622492} + - component: {fileID: 64736538519519400} + m_Layer: 0 + m_Name: Floor_LWall_10x10 (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1469611753778072 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4819882095161522} + - component: {fileID: 33847253334507654} + - component: {fileID: 23045296022171172} + - component: {fileID: 64423385515961198} + m_Layer: 0 + m_Name: Floor_2Walls_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1472977947053810 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4999720077567788} + m_Layer: 0 + m_Name: Environment_Corridor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1643535691342162 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4996016347943806} + - component: {fileID: 33485233615591426} + - component: {fileID: 23201257169684668} + - component: {fileID: 64854873564951644} + m_Layer: 0 + m_Name: Floor_1Wall_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1663231948366970 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4225141054262160} + - component: {fileID: 33545218017931306} + - component: {fileID: 23649408311207978} + - component: {fileID: 64238946741704416} + m_Layer: 0 + m_Name: Floor_UWall_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1764400663735884 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4494699309866532} + - component: {fileID: 65571162940480142} + m_Layer: 9 + m_Name: Corridor_1_Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1896890210287970 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4117802790897826} + - component: {fileID: 33000415128595302} + - component: {fileID: 23209094788956998} + - component: {fileID: 64941027308169016} + m_Layer: 0 + m_Name: Wall_10x4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1956652271203484 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4157271582595536} + - component: {fileID: 33908929195860310} + - component: {fileID: 23814688828456340} + - component: {fileID: 64989077582691988} + m_Layer: 0 + m_Name: Floor_2Walls_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1958631399820118 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4125695898581498} + - component: {fileID: 65546128308665566} + m_Layer: 9 + m_Name: Corridor_2_Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4117802790897826 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1896890210287970} + m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 5, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4999720077567788} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0} +--- !u!4 &4125695898581498 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1958631399820118} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4999720077567788} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!4 &4157271582595536 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1956652271203484} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 30} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4999720077567788} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4225141054262160 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1663231948366970} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4999720077567788} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!4 &4494699309866532 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1764400663735884} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: 20} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4999720077567788} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4766398749427442 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1168426601672702} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 10, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4999720077567788} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4819882095161522 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1469611753778072} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 40} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4999720077567788} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4996016347943806 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1643535691342162} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 10, y: 0, z: 10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4999720077567788} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4999720077567788 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1472977947053810} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4494699309866532} + - {fileID: 4125695898581498} + - {fileID: 4996016347943806} + - {fileID: 4157271582595536} + - {fileID: 4819882095161522} + - {fileID: 4766398749427442} + - {fileID: 4225141054262160} + - {fileID: 4117802790897826} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23045296022171172 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1469611753778072} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23201257169684668 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1643535691342162} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23209094788956998 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1896890210287970} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23649408311207978 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1663231948366970} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23814688828456340 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1956652271203484} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23901981491108318 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1168426601672702} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33000415128595302 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1896890210287970} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!33 &33485233615591426 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1643535691342162} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33545218017931306 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1663231948366970} + m_Mesh: {fileID: 4300000, guid: 07bcacf203be81246a39038d917a137e, type: 3} +--- !u!33 &33847253334507654 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1469611753778072} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33908929195860310 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1956652271203484} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33927044114528204 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1168426601672702} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64238946741704416 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1663231948366970} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 07bcacf203be81246a39038d917a137e, type: 3} +--- !u!64 &64423385515961198 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1469611753778072} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64618881601622492 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1168426601672702} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64736538519519400 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1168426601672702} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64854873564951644 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1643535691342162} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64941027308169016 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1896890210287970} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!64 &64989077582691988 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1956652271203484} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!65 &65546128308665566 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1958631399820118} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 10, y: 4, z: 1} + m_Center: {x: 5, y: 2, z: -10} +--- !u!65 &65571162940480142 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1764400663735884} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 4, z: 10} + m_Center: {x: 0, y: 2, z: -5} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Corridor.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Corridor.prefab.meta new file mode 100644 index 00000000..71b9bf3a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Corridor.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c177cbc5ca174ed438dba27b2b52e70c +timeCreated: 1509463089 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_CorridorMixingCam.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_CorridorMixingCam.prefab new file mode 100644 index 00000000..e8d68f4c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_CorridorMixingCam.prefab @@ -0,0 +1,518 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1645899274665124} + m_IsPrefabParent: 1 +--- !u!1 &1183114610972370 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4041157045894402} + - component: {fileID: 33276566300291692} + - component: {fileID: 23444183738649924} + - component: {fileID: 64425810108617838} + m_Layer: 0 + m_Name: Floor_2Walls_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1645899274665124 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4259574949459156} + m_Layer: 0 + m_Name: Environment_CorridorMixingCam + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1716241921931112 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4717076434082424} + - component: {fileID: 33065984514698084} + - component: {fileID: 23663238125646276} + - component: {fileID: 64024384308147856} + m_Layer: 0 + m_Name: Floor_2Walls_10x10 (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1722442666349468 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4098637751491366} + - component: {fileID: 33057402265648976} + - component: {fileID: 23133747302805360} + - component: {fileID: 64190401638292160} + m_Layer: 0 + m_Name: Floor_2Walls_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1745061031425844 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4815928440451056} + - component: {fileID: 33051851254858066} + - component: {fileID: 23185318890052342} + - component: {fileID: 64323702354588826} + m_Layer: 0 + m_Name: Floor_UWall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1749566273459138 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4004748272279670} + - component: {fileID: 65070319856810706} + m_Layer: 0 + m_Name: BackWallColl + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1903821797143472 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4312857505161134} + - component: {fileID: 33047501425953940} + - component: {fileID: 23459490199760732} + - component: {fileID: 64362853178531106} + m_Layer: 0 + m_Name: Floor_2Walls_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4004748272279670 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1749566273459138} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5, y: 2, z: -0.5} + m_LocalScale: {x: 10, y: 4, z: 1} + m_Children: [] + m_Father: {fileID: 4259574949459156} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4041157045894402 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1183114610972370} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 30} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4259574949459156} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4098637751491366 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1722442666349468} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 40} + m_LocalScale: {x: 1.0000005, y: 1, z: 1.0000005} + m_Children: [] + m_Father: {fileID: 4259574949459156} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4259574949459156 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1645899274665124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4041157045894402} + - {fileID: 4815928440451056} + - {fileID: 4098637751491366} + - {fileID: 4312857505161134} + - {fileID: 4717076434082424} + - {fileID: 4004748272279670} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4312857505161134 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1903821797143472} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 20} + m_LocalScale: {x: 1.0000005, y: 1, z: 1.0000005} + m_Children: [] + m_Father: {fileID: 4259574949459156} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4717076434082424 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1716241921931112} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 10} + m_LocalScale: {x: 1.0000005, y: 1, z: 1.0000005} + m_Children: [] + m_Father: {fileID: 4259574949459156} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4815928440451056 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1745061031425844} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 50} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4259574949459156} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!23 &23133747302805360 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1722442666349468} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23185318890052342 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1745061031425844} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23444183738649924 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1183114610972370} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23459490199760732 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1903821797143472} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23663238125646276 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1716241921931112} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33047501425953940 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1903821797143472} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33051851254858066 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1745061031425844} + m_Mesh: {fileID: 4300000, guid: 07bcacf203be81246a39038d917a137e, type: 3} +--- !u!33 &33057402265648976 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1722442666349468} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33065984514698084 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1716241921931112} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!33 &33276566300291692 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1183114610972370} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64024384308147856 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1716241921931112} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64190401638292160 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1722442666349468} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64323702354588826 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1745061031425844} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 07bcacf203be81246a39038d917a137e, type: 3} +--- !u!64 &64362853178531106 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1903821797143472} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64425810108617838 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1183114610972370} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!65 &65070319856810706 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1749566273459138} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_CorridorMixingCam.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_CorridorMixingCam.prefab.meta new file mode 100644 index 00000000..b7bdfc8b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_CorridorMixingCam.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 309ca2bfc1e81fa4eb43845cbdf4a42b +timeCreated: 1509469259 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Narrow_Walls.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Narrow_Walls.prefab new file mode 100644 index 00000000..86111c83 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Narrow_Walls.prefab @@ -0,0 +1,476 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1603969880909898} + m_IsPrefabParent: 1 +--- !u!1 &1216486707622900 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4887784500359802} + - component: {fileID: 33545209168347596} + - component: {fileID: 23557600544754072} + - component: {fileID: 64992047085214058} + m_Layer: 0 + m_Name: Floor_UWall_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1274318645626106 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4844855638303222} + - component: {fileID: 33353988603290822} + - component: {fileID: 23240978721753584} + - component: {fileID: 64327829570251050} + m_Layer: 0 + m_Name: Floor_UWall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1371461519811868 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4776340972859394} + - component: {fileID: 33985103012238054} + - component: {fileID: 23481510776184888} + - component: {fileID: 64817000263871974} + m_Layer: 0 + m_Name: Floor_2Walls_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1603969880909898 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4519539146465710} + m_Layer: 0 + m_Name: Environment_Narrow_Walls + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1972755971818862 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4123539234954690} + - component: {fileID: 33217972662276992} + - component: {fileID: 23210394378923410} + - component: {fileID: 64254394067816194} + m_Layer: 0 + m_Name: Wall_10x4 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1989651436553080 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4756101756592348} + - component: {fileID: 33297517512532748} + - component: {fileID: 23313806484842884} + - component: {fileID: 64011458003553444} + m_Layer: 0 + m_Name: Wall_10x4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4123539234954690 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1972755971818862} + m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 4.5, y: 0, z: 9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4519539146465710} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0} +--- !u!4 &4519539146465710 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1603969880909898} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4756101756592348} + - {fileID: 4887784500359802} + - {fileID: 4844855638303222} + - {fileID: 4776340972859394} + - {fileID: 4123539234954690} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4756101756592348 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1989651436553080} + m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 4.5, y: 0, z: -9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4519539146465710} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0} +--- !u!4 &4776340972859394 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1371461519811868} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4519539146465710} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4844855638303222 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1274318645626106} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -20} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4519539146465710} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!4 &4887784500359802 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1216486707622900} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4519539146465710} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!23 &23210394378923410 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1972755971818862} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23240978721753584 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1274318645626106} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23313806484842884 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1989651436553080} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23481510776184888 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1371461519811868} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23557600544754072 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1216486707622900} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33217972662276992 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1972755971818862} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!33 &33297517512532748 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1989651436553080} + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!33 &33353988603290822 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1274318645626106} + m_Mesh: {fileID: 4300000, guid: 07bcacf203be81246a39038d917a137e, type: 3} +--- !u!33 &33545209168347596 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1216486707622900} + m_Mesh: {fileID: 4300000, guid: 07bcacf203be81246a39038d917a137e, type: 3} +--- !u!33 &33985103012238054 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1371461519811868} + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64011458003553444 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1989651436553080} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!64 &64254394067816194 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1972755971818862} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 8801006d6478aea478f9320df4476f30, type: 3} +--- !u!64 &64327829570251050 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1274318645626106} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 07bcacf203be81246a39038d917a137e, type: 3} +--- !u!64 &64817000263871974 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1371461519811868} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: d0a29522a2fadfb4f8ca407cd2e8e1ca, type: 3} +--- !u!64 &64992047085214058 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1216486707622900} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 07bcacf203be81246a39038d917a137e, type: 3} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Narrow_Walls.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Narrow_Walls.prefab.meta new file mode 100644 index 00000000..d561c201 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Environment_Narrow_Walls.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0998cc0e377e9034c86e90787a3070b0 +timeCreated: 1509459071 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX.meta new file mode 100644 index 00000000..e4082c96 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 4ac312d90ef15cc40848bd8bcc1a0ac7 +folderAsset: yes +timeCreated: 1508433759 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10.fbx new file mode 100644 index 00000000..8c8c69d8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10.fbx @@ -0,0 +1,646 @@ +; FBX 7.4.0 project file +; Copyright (C) 1997-2015 Autodesk Inc. and/or its licensors. +; All rights reserved. +; ---------------------------------------------------- + +FBXHeaderExtension: { + FBXHeaderVersion: 1003 + FBXVersion: 7400 + CreationTimeStamp: { + Version: 1000 + Year: 2017 + Month: 10 + Day: 19 + Hour: 13 + Minute: 22 + Second: 39 + Millisecond: 973 + } + Creator: "FBX SDK/FBX Plugins version 2017.1" + SceneInfo: "SceneInfo::GlobalInfo", "UserData" { + Type: "UserData" + Version: 100 + MetaData: { + Version: 100 + Title: "exports static meshes with materials and textures" + Subject: "" + Author: "Unity Technologies" + Keywords: "export mesh materials textures uvs" + Revision: "1.0" + Comment: "" + } + Properties70: { + P: "DocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp416dff46.tmp" + P: "SrcDocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp416dff46.tmp" + P: "Original", "Compound", "", "" + P: "Original|ApplicationVendor", "KString", "", "", "" + P: "Original|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "Original|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "Original|DateTime_GMT", "DateTime", "", "", "" + P: "Original|FileName", "KString", "", "", "" + P: "LastSaved", "Compound", "", "" + P: "LastSaved|ApplicationVendor", "KString", "", "", "" + P: "LastSaved|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "LastSaved|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "LastSaved|DateTime_GMT", "DateTime", "", "", "" + } + } +} +GlobalSettings: { + Version: 1000 + Properties70: { + P: "UpAxis", "int", "Integer", "",1 + P: "UpAxisSign", "int", "Integer", "",1 + P: "FrontAxis", "int", "Integer", "",2 + P: "FrontAxisSign", "int", "Integer", "",1 + P: "CoordAxis", "int", "Integer", "",0 + P: "CoordAxisSign", "int", "Integer", "",1 + P: "OriginalUpAxis", "int", "Integer", "",-1 + P: "OriginalUpAxisSign", "int", "Integer", "",1 + P: "UnitScaleFactor", "double", "Number", "",1 + P: "OriginalUnitScaleFactor", "double", "Number", "",1 + P: "AmbientColor", "ColorRGB", "Color", "",0,0,0 + P: "DefaultCamera", "KString", "", "", "Producer Perspective" + P: "TimeMode", "enum", "", "",0 + P: "TimeProtocol", "enum", "", "",2 + P: "SnapOnFrameMode", "enum", "", "",0 + P: "TimeSpanStart", "KTime", "Time", "",0 + P: "TimeSpanStop", "KTime", "Time", "",46186158000 + P: "CustomFrameRate", "double", "Number", "",-1 + P: "TimeMarker", "Compound", "", "" + P: "CurrentTimeMarker", "int", "Integer", "",-1 + } +} + +; Documents Description +;------------------------------------------------------------------ + +Documents: { + Count: 1 + Document: 1147078720, "Scene", "Scene" { + Properties70: { + P: "SourceObject", "object", "", "" + P: "ActiveAnimStackName", "KString", "", "", "" + } + RootNode: 0 + } +} + +; Document References +;------------------------------------------------------------------ + +References: { +} + +; Object definitions +;------------------------------------------------------------------ + +Definitions: { + Version: 100 + Count: 7 + ObjectType: "GlobalSettings" { + Count: 1 + } + ObjectType: "Model" { + Count: 1 + PropertyTemplate: "FbxNode" { + Properties70: { + P: "QuaternionInterpolate", "enum", "", "",0 + P: "RotationOffset", "Vector3D", "Vector", "",0,0,0 + P: "RotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0 + P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "TranslationActive", "bool", "", "",0 + P: "TranslationMin", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMax", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMinX", "bool", "", "",0 + P: "TranslationMinY", "bool", "", "",0 + P: "TranslationMinZ", "bool", "", "",0 + P: "TranslationMaxX", "bool", "", "",0 + P: "TranslationMaxY", "bool", "", "",0 + P: "TranslationMaxZ", "bool", "", "",0 + P: "RotationOrder", "enum", "", "",0 + P: "RotationSpaceForLimitOnly", "bool", "", "",0 + P: "RotationStiffnessX", "double", "Number", "",0 + P: "RotationStiffnessY", "double", "Number", "",0 + P: "RotationStiffnessZ", "double", "Number", "",0 + P: "AxisLen", "double", "Number", "",10 + P: "PreRotation", "Vector3D", "Vector", "",0,0,0 + P: "PostRotation", "Vector3D", "Vector", "",0,0,0 + P: "RotationActive", "bool", "", "",0 + P: "RotationMin", "Vector3D", "Vector", "",0,0,0 + P: "RotationMax", "Vector3D", "Vector", "",0,0,0 + P: "RotationMinX", "bool", "", "",0 + P: "RotationMinY", "bool", "", "",0 + P: "RotationMinZ", "bool", "", "",0 + P: "RotationMaxX", "bool", "", "",0 + P: "RotationMaxY", "bool", "", "",0 + P: "RotationMaxZ", "bool", "", "",0 + P: "InheritType", "enum", "", "",0 + P: "ScalingActive", "bool", "", "",0 + P: "ScalingMin", "Vector3D", "Vector", "",0,0,0 + P: "ScalingMax", "Vector3D", "Vector", "",1,1,1 + P: "ScalingMinX", "bool", "", "",0 + P: "ScalingMinY", "bool", "", "",0 + P: "ScalingMinZ", "bool", "", "",0 + P: "ScalingMaxX", "bool", "", "",0 + P: "ScalingMaxY", "bool", "", "",0 + P: "ScalingMaxZ", "bool", "", "",0 + P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1 + P: "MinDampRangeX", "double", "Number", "",0 + P: "MinDampRangeY", "double", "Number", "",0 + P: "MinDampRangeZ", "double", "Number", "",0 + P: "MaxDampRangeX", "double", "Number", "",0 + P: "MaxDampRangeY", "double", "Number", "",0 + P: "MaxDampRangeZ", "double", "Number", "",0 + P: "MinDampStrengthX", "double", "Number", "",0 + P: "MinDampStrengthY", "double", "Number", "",0 + P: "MinDampStrengthZ", "double", "Number", "",0 + P: "MaxDampStrengthX", "double", "Number", "",0 + P: "MaxDampStrengthY", "double", "Number", "",0 + P: "MaxDampStrengthZ", "double", "Number", "",0 + P: "PreferedAngleX", "double", "Number", "",0 + P: "PreferedAngleY", "double", "Number", "",0 + P: "PreferedAngleZ", "double", "Number", "",0 + P: "LookAtProperty", "object", "", "" + P: "UpVectorProperty", "object", "", "" + P: "Show", "bool", "", "",1 + P: "NegativePercentShapeSupport", "bool", "", "",1 + P: "DefaultAttributeIndex", "int", "Integer", "",-1 + P: "Freeze", "bool", "", "",0 + P: "LODBox", "bool", "", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0 + P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1 + P: "Visibility", "Visibility", "", "A",1 + P: "Visibility Inheritance", "Visibility Inheritance", "", "",1 + } + } + } + ObjectType: "Geometry" { + Count: 2 + PropertyTemplate: "FbxMesh" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BBoxMin", "Vector3D", "Vector", "",0,0,0 + P: "BBoxMax", "Vector3D", "Vector", "",0,0,0 + P: "Primary Visibility", "bool", "", "",1 + P: "Casts Shadows", "bool", "", "",1 + P: "Receive Shadows", "bool", "", "",1 + } + } + } + ObjectType: "Material" { + Count: 1 + PropertyTemplate: "FbxSurfaceLambert" { + Properties70: { + P: "ShadingModel", "KString", "", "", "Lambert" + P: "MultiLayer", "bool", "", "",0 + P: "EmissiveColor", "Color", "", "A",0,0,0 + P: "EmissiveFactor", "Number", "", "A",1 + P: "AmbientColor", "Color", "", "A",0.2,0.2,0.2 + P: "AmbientFactor", "Number", "", "A",1 + P: "DiffuseColor", "Color", "", "A",0.8,0.8,0.8 + P: "DiffuseFactor", "Number", "", "A",1 + P: "Bump", "Vector3D", "Vector", "",0,0,0 + P: "NormalMap", "Vector3D", "Vector", "",0,0,0 + P: "BumpFactor", "double", "Number", "",1 + P: "TransparentColor", "Color", "", "A",0,0,0 + P: "TransparencyFactor", "Number", "", "A",0 + P: "DisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "DisplacementFactor", "double", "Number", "",1 + P: "VectorDisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "VectorDisplacementFactor", "double", "Number", "",1 + } + } + } + ObjectType: "Texture" { + Count: 1 + PropertyTemplate: "FbxFileTexture" { + Properties70: { + P: "TextureTypeUse", "enum", "", "",0 + P: "Texture alpha", "Number", "", "A",1 + P: "CurrentMappingType", "enum", "", "",0 + P: "WrapModeU", "enum", "", "",0 + P: "WrapModeV", "enum", "", "",0 + P: "UVSwap", "bool", "", "",0 + P: "PremultiplyAlpha", "bool", "", "",1 + P: "Translation", "Vector", "", "A",0,0,0 + P: "Rotation", "Vector", "", "A",0,0,0 + P: "Scaling", "Vector", "", "A",1,1,1 + P: "TextureRotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "TextureScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "CurrentTextureBlendMode", "enum", "", "",1 + P: "UVSet", "KString", "", "", "default" + P: "UseMaterial", "bool", "", "",0 + P: "UseMipMap", "bool", "", "",0 + } + } + } + ObjectType: "Video" { + Count: 1 + PropertyTemplate: "FbxVideo" { + Properties70: { + P: "ImageSequence", "bool", "", "",0 + P: "ImageSequenceOffset", "int", "Integer", "",0 + P: "FrameRate", "double", "Number", "",0 + P: "LastFrame", "int", "Integer", "",0 + P: "Width", "int", "Integer", "",0 + P: "Height", "int", "Integer", "",0 + P: "Path", "KString", "XRefUrl", "", "" + P: "StartFrame", "int", "Integer", "",0 + P: "StopFrame", "int", "Integer", "",0 + P: "PlaySpeed", "double", "Number", "",0 + P: "Offset", "KTime", "Time", "",0 + P: "InterlaceMode", "enum", "", "",0 + P: "FreeRunning", "bool", "", "",0 + P: "Loop", "bool", "", "",0 + P: "AccessMode", "enum", "", "",0 + } + } + } +} + +; Object properties +;------------------------------------------------------------------ + +Objects: { + Geometry: 1143713584, "Geometry::Scene", "Mesh" { + Vertices: *726 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-100,100,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-100,100,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-100,100,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-100,100,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-100,100,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-100,100,-900,-1000,100,-1000,-1000,0,-1000,-200,0,0,-200,0,-100,-200,100,0,-200,100,-200,-200,100,-100,-200,0,-200,-200,100,-300,-200,0,-300,-200,100,-400,-200,0,-400,-200,100,-500,-200,0,-500,-200,100,-600,-200,0,-600,-200,100,-700,-200,0,-700,-200,100,-800,-200,0,-800,-200,100,-900,-200,0,-900,-200,100,-1000,-200,0,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,100,-1000,-300,0,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800,-400,100,-900,-400,0,-900,-400,100,-1000,-400,0,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,0,-200,-500,100,-300,-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800,-500,100,-900,-500,0,-900,-500,100,-1000,-500,0,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,0,-200,-600,100,-300, +-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,100,-1000,-600,0,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,100,-1000,-700,0,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,100,-1000,-800,0,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,100,-1000,-900,0,-1000 + } + PolygonVertexIndex: *1440 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,28,-24,23,28,-30,24,30,-26,25,30,-32,23,29,-27,26,29,-33,26,32,-28,27,32,-34,28,34,-30,29,34,-36,30,36,-32,31,36,-38,29,35,-33,32,35,-39,32,38,-34,33,38,-40,34,40,-36,35,40,-42,36,42,-38,37,42,-44,35,41,-39,38,41,-45,38,44,-40,39,44,-46,40,46,-42,41,46,-48,42,48,-44,43,48,-50,41,47,-45,44,47,-51,44,50,-46,45,50,-52,46,52,-48,47,52,-54,48,54,-50,49,54,-56,47,53,-51,50,53,-57,50,56,-52,51,56,-58,52,58,-54,53,58,-60,54,60,-56,55,60,-62,53,59,-57,56,59,-63,56,62,-58,57,62,-64,58,8,-60,59,8,-10,60,64,-62,61,64,-66,59,9,-63,62,9,-12,62,11,-64,63,11,-11,1,66,-16,15,66,-68,3,68,-2,1,68,-67,21,69,-15,14,69,-71,14,70,-4,3,70,-69,15,67,-17,16,67,-72,27,72,-22,21,72,-70,16,71,-23,22,71,-74,33,74,-28,27,74,-73,22,73,-29,28,73,-76,39,76,-34,33,76,-75,28,75,-35,34,75,-78,45,78,-40,39,78,-77,34,77,-41,40,77,-80,51,80,-46,45,80,-79,40,79,-47,46,79,-82,57,82,-52,51,82,-81,46,81,-53,52,81,-84,63,84,-58,57,84,-83,52,83,-59,58,83,-86,10,86,-64,63,86,-85,58,85,-9,8,85,-88,8,87,-11,10,87,-87,66,88,-68,67,88,-90,68,90,-67,66,90,-89,69,91,-71,70,91,-93,70,92,-69,68,92,-91,67,89,-72,71,89,-94,72,94,-70,69,94,-92,71,93,-74,73,93,-96,74,96,-73,72,96,-95,73,95,-76,75,95,-98,76,98,-75,74,98,-97,75,97,-78,77,97,-100,78,100,-77,76,100,-99,77,99,-80,79,99,-102,80,102,-79,78,102,-101,79,101,-82,81,101,-104,82,104,-81,80,104,-103,81,103,-84,83,103,-106,84,106,-83,82,106,-105,83,105,-86,85,105,-108,86,108,-85,84,108,-107,85,107,-88,87,107,-110,87,109,-87,86,109,-109,88,110,-90,89,110,-112,90,112,-89,88,112,-111,91,113,-93,92,113,-115,92,114,-91,90,114,-113,89,111,-94,93,111,-116,94,116,-92,91,116,-114,93,115,-96,95,115,-118,96,118,-95,94,118,-117,95,117,-98,97,117,-120,98,120,-97,96,120,-119,97,119,-100,99,119,-122,100,122,-99,98,122,-121,99,121,-102,101,121,-124,102,124,-101,100, +124,-123,101,123,-104,103,123,-126,104,126,-103,102,126,-125,103,125,-106,105,125,-128,106,128,-105,104,128,-127,105,127,-108,107,127,-130,108,130,-107,106,130,-129,107,129,-110,109,129,-132,109,131,-109,108,131,-131,110,132,-112,111,132,-134,112,134,-111,110,134,-133,113,135,-115,114,135,-137,114,136,-113,112,136,-135,111,133,-116,115,133,-138,116,138,-114,113,138,-136,115,137,-118,117,137,-140,118,140,-117,116,140,-139,117,139,-120,119,139,-142,120,142,-119,118,142,-141,119,141,-122,121,141,-144,122,144,-121,120,144,-143,121,143,-124,123,143,-146,124,146,-123,122,146,-145,123,145,-126,125,145,-148,126,148,-125,124,148,-147,125,147,-128,127,147,-150,128,150,-127,126,150,-149,127,149,-130,129,149,-152,130,152,-129,128,152,-151,129,151,-132,131,151,-154,131,153,-131,130,153,-153,132,154,-134,133,154,-156,134,156,-133,132,156,-155,135,157,-137,136,157,-159,136,158,-135,134,158,-157,133,155,-138,137,155,-160,138,160,-136,135,160,-158,137,159,-140,139,159,-162,140,162,-139,138,162,-161,139,161,-142,141,161,-164,142,164,-141,140,164,-163,141,163,-144,143,163,-166,144,166,-143,142,166,-165,143,165,-146,145,165,-168,146,168,-145,144,168,-167,145,167,-148,147,167,-170,148,170,-147,146,170,-169,147,169,-150,149,169,-172,150,172,-149,148,172,-171,149,171,-152,151,171,-174,152,174,-151,150,174,-173,151,173,-154,153,173,-176,153,175,-153,152,175,-175,154,176,-156,155,176,-178,156,178,-155,154,178,-177,157,179,-159,158,179,-181,158,180,-157,156,180,-179,155,177,-160,159,177,-182,160,182,-158,157,182,-180,159,181,-162,161,181,-184,162,184,-161,160,184,-183,161,183,-164,163,183,-186,164,186,-163,162,186,-185,163,185,-166,165,185,-188,166,188,-165,164,188,-187,165,187,-168,167,187,-190,168,190,-167,166,190,-189,167,189,-170,169,189,-192,170,192,-169,168,192,-191,169,191,-172,171,191,-194,172,194,-171,170,194,-193,171,193,-174,173,193,-196,174,196,-173,172,196,-195,173,195,-176,175,195,-198,175,197,-175,174,197,-197,176,198,-178,177,198,-200,178,200,-177,176,200,-199,179,201,-181,180,201,-203,180,202,-179,178,202,-201,177,199,-182, +181,199,-204,182,204,-180,179,204,-202,181,203,-184,183,203,-206,184,206,-183,182,206,-205,183,205,-186,185,205,-208,186,208,-185,184,208,-207,185,207,-188,187,207,-210,188,210,-187,186,210,-209,187,209,-190,189,209,-212,190,212,-189,188,212,-211,189,211,-192,191,211,-214,192,214,-191,190,214,-213,191,213,-194,193,213,-216,194,216,-193,192,216,-215,193,215,-196,195,215,-218,196,218,-195,194,218,-217,195,217,-198,197,217,-220,197,219,-197,196,219,-219,198,220,-200,199,220,-222,200,222,-199,198,222,-221,201,223,-203,202,223,-225,202,224,-201,200,224,-223,199,221,-204,203,221,-226,204,226,-202,201,226,-224,203,225,-206,205,225,-228,206,228,-205,204,228,-227,205,227,-208,207,227,-230,208,230,-207,206,230,-229,207,229,-210,209,229,-232,210,232,-209,208,232,-231,209,231,-212,211,231,-234,212,234,-211,210,234,-233,211,233,-214,213,233,-236,214,236,-213,212,236,-235,213,235,-216,215,235,-238,216,238,-215,214,238,-237,215,237,-218,217,237,-240,218,240,-217,216,240,-239,217,239,-220,219,239,-242,219,241,-219,218,241,-241,220,4,-222,221,4,-6,222,6,-221,220,6,-5,223,18,-225,224,18,-8,224,7,-223,222,7,-7,221,5,-226,225,5,-20,226,24,-224,223,24,-19,225,19,-228,227,19,-26,228,30,-227,226,30,-25,227,25,-230,229,25,-32,230,36,-229,228,36,-31,229,31,-232,231,31,-38,232,42,-231,230,42,-37,231,37,-234,233,37,-44,234,48,-233,232,48,-43,233,43,-236,235,43,-50,236,54,-235,234,54,-49,235,49,-238,237,49,-56,238,60,-237,236,60,-55,237,55,-240,239,55,-62,240,64,-239,238,64,-61,239,61,-242,241,61,-66,241,65,-241,240,65,-65 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *4320 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + NormalsW: *1440 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *4320 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *1440 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *4320 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + TangentsW: *1440 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *1320 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *1440 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,282,308,283,283,308,309,283,309,284,284,309,310,279,305,285,285,305,311,286,312,282,282,312,308,285,311,287,287,311,313,288,314,286,286,314,312,287,313,289,289,313,315,290,316,288,288,316,314,289,315,291,291,315,317,292,318,290,290,318,316,291,317,293,293,317,319,294,320,292,292,320,318,293,319,295,295,319,321,296,322,294,294,322,320,295,321,297,297,321,323,298,324,296,296,324,322,297,323,299,299,323,325,300,326,298,298,326,324,299,325,301,301,325,327,302,328,303,303,328,329 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *660 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-2,0,-2,-2,1,-2,0,2,0,2,1,0,-2,1,-2,-1,-3,0,-3,-3,1,-3,0,3,0,3,1,0,-3,1,-3,-1,-4,0,-4,-4,1,-4,0,4,0,4,1,0,-4,1,-4,-1,-5,0,-5,-5,1,-5,0,5,0,5,1,0,-5,1,-5,-1,-6,0,-6,-6,1,-6,0,6,0,6,1,0,-6,1,-6,-1,-7,0,-7,-7,1,-7,0,7,0,7,1,0,-7,1,-7,-1,-8,0,-8,-8,1,-8,0,8,0,8,1,0,-8,1,-8,-1,-9,0,-9,-9,1,-9,0,9,0,9,1,0,-9,1,-9,-1,-10,0,-10,-10,1,-10,0,10,0,10,1,0,-10,1,-10,-2,0,-2,-1,-2,1,-2,0,2,-2,2,-1,2,0,-2,-2,2,-3,-2,-3,2,-4,-2,-4,2,-5,-2,-5,2,-6,-2,-6,2,-7,-2,-7,2,-8,-2,-8,2,-9,-2,-9,2,-10,-2,-10,2,0,2,1,-3,0,-3,-1,-3,1,-3,0,3,-2,3,-1,3,0,-3,-2,3,-3,-3,-3,3,-4,-3,-4,3,-5,-3,-5,3,-6,-3,-6,3,-7,-3,-7,3,-8,-3,-8,3,-9,-3,-9,3,-10,-3,-10,3,0,3,1,-4,0,-4,-1,-4,1,-4,0,4,-2,4,-1,4,0,-4,-2,4,-3,-4,-3,4,-4,-4,-4,4,-5,-4,-5,4,-6,-4,-6,4,-7,-4,-7,4,-8,-4,-8,4,-9,-4,-9,4,-10,-4,-10,4,0,4,1,-5,0,-5,-1,-5,1,-5,0,5,-2,5,-1,5,0,-5,-2,5,-3,-5,-3,5,-4,-5,-4,5,-5,-5,-5,5,-6,-5,-6,5,-7,-5,-7,5,-8,-5,-8,5,-9,-5,-9,5,-10,-5,-10,5,0,5,1,-6,0,-6,-1,-6,1,-6,0,6,-2,6,-1,6,0,-6,-2,6,-3,-6,-3,6,-4,-6,-4,6,-5,-6,-5,6,-6,-6,-6,6,-7,-6,-7,6,-8,-6,-8,6,-9,-6,-9,6,-10,-6,-10,6,0,6,1,-7,0,-7,-1,-7,1,-7,0,7,-2,7,-1,7,0,-7,-2,7,-3,-7,-3,7,-4,-7,-4,7,-5,-7,-5,7,-6,-7,-6,7,-7,-7,-7,7,-8,-7,-8,7,-9,-7,-9,7,-10,-7,-10,7,0,7,1,-8,0,-8,-1,-8,1,-8,0,8,-2,8,-1,8,0,-8,-2,8,-3,-8,-3,8,-4,-8,-4,8,-5,-8,-5,8,-6,-8,-6,8,-7,-8,-7,8,-8,-8,-8,8,-9,-8,-9,8,-10,-8,-10,8,0,8,1,-9,0,-9,-1,-9,1,-9,0,9,-2,9,-1,9,0,-9,-2,9,-3,-9,-3,9,-4,-9,-4,9,-5,-9,-5,9,-6,-9,-6,9,-7,-9,-7,9,-8,-9,-8,9,-9,-9,-9,9,-10,-9,-10,9,0,9,1,-10,0,-10,-1,-10,1,-10,0,10,-2,10,-1,10,0,-10,-2,10,-3,-10,-3,10,-4,-10,-4,10,-5,-10,-5,10,-6,-10,-6,10,-7,-10,-7,10,-8,-10,-8,10,-9,-10,-9,10,-10,-10,-10,10,0,10,1 + } + UVIndex: *1440 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,282,308,283,283,308,309,283,309,284,284,309,310,279,305,285,285,305,311,286,312,282,282,312,308,285,311,287,287,311,313,288,314,286,286,314,312,287,313,289,289,313,315,290,316,288,288,316,314,289,315,291,291,315,317,292,318,290,290,318,316,291,317,293,293,317,319,294,320,292,292,320,318,293,319,295,295,319,321,296,322,294,294,322,320,295,321,297,297,321,323,298,324,296,296,324,322,297,323,299,299,323,325,300,326,298,298,326,324,299,325,301,301,325,327,302,328,303,303,328,329 + } + } + LayerElementUV: 1 { + Version: 101 + Name: "UVSet1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *660 { + a: 0.00400000344961882,0.648957669734955,0.0523812398314476,0.648957669734955,0.00400000018998981,0.697338819503784,0.0523812361061573,0.697338819503784,0.00400000484660268,0.49181392788887,0.0523812435567379,0.49181392788887,0.00400000018998981,0.540195107460022,0.0523812398314476,0.540195107460022,0.439430415630341,0.544195175170898,0.487811654806137,0.544195175170898,0.439430415630341,0.592576324939728,0.487811654806137,0.592576324939728,0.439430415630341,0.596576392650604,0.487811654806137,0.596576392650604,0.439430415630341,0.644957542419434,0.487811654806137,0.644957542419434,0.00400000018998981,0.487810909748077,0.0523810498416424,0.487811148166656,0.00400024140253663,0.439429938793182,0.0523812286555767,0.439430147409439,0.491813182830811,0.0523819215595722,0.540194392204285,0.0523818284273148,0.491813063621521,0.00400071358308196,0.54019433259964,0.00400063395500183,0.540194511413574,0.100763022899628,0.4918133020401,0.100763097405434,0.100762404501438,0.540195107460022,0.100762404501438,0.491813957691193,0.391049236059189,0.596576392650604,0.391049236059189,0.644957542419434,0.00400042021647096,0.39104899764061,0.0523814037442207,0.391049146652222,0.540194571018219,0.149144142866135,0.49181342124939,0.149144217371941,0.149143576622009,0.540195107460022,0.149143576622009,0.49181392788887,0.342668086290359,0.596576392650604,0.342668086290359,0.644957542419434,0.00400054221972823,0.342668056488037,0.05238151922822,0.342668175697327,0.540194630622864,0.19752524793148,0.491813540458679,0.197525277733803,0.197524756193161,0.540195107460022,0.197524756193161,0.49181392788887,0.294286876916885,0.596576392650604,0.294286906719208,0.644957542419434,0.00400059763342142,0.294287145137787,0.0523815900087357,0.294287174940109,0.540194630622864,0.245906293392181,0.491813570261002,0.24590627849102,0.245905861258507,0.540195107460022,0.245905861258507,0.49181392788887,0.245905786752701,0.596576392650604,0.245905786752701,0.644957542419434,0.00400057295337319,0.245906218886375,0.0523816235363483,0.245906218886375, +0.540194630622864,0.294287294149399,0.491813570261002,0.294287234544754,0.294286996126175,0.540195107460022,0.294286966323853,0.49181392788887,0.197524651885033,0.596576392650604,0.197524666786194,0.644957602024078,0.00400050077587366,0.197525218129158,0.0523816011846066,0.197525173425674,0.540194511413574,0.342668294906616,0.491813510656357,0.342668205499649,0.342668116092682,0.540195107460022,0.342668116092682,0.491813898086548,0.149143517017365,0.596576392650604,0.149143531918526,0.644957602024078,0.00400039134547114,0.149144172668457,0.0523815341293812,0.149144098162651,0.540194392204285,0.391049295663834,0.49181342124939,0.391049146652222,0.391049265861511,0.540195107460022,0.391049265861511,0.491813898086548,0.100762382149696,0.596576392650604,0.100762397050858,0.644957602024078,0.00400026747956872,0.100763075053692,0.0523814558982849,0.100762993097305,0.540194272994995,0.439430326223373,0.491813272237778,0.439430147409439,0.439430505037308,0.540195107460022,0.439430475234985,0.491813868284225,0.0523811504244804,0.596576392650604,0.052381157875061,0.644957602024078,0.00400013709440827,0.0523819290101528,0.0523813553154469,0.0523818209767342,0.540194094181061,0.487811326980591,0.491813063621521,0.487811118364334,0.487811654806137,0.540195107460022,0.487811625003815,0.491813868284225,0.00400000018998981,0.596576392650604,0.00400001183152199,0.644957602024078,0.00400000018998981,0.00400078529492021,0.0523812435567379,0.00400068936869502,0.588575482368469,0.00400052685290575,0.588575541973114,0.0523817054927349,0.100762397050858,0.697338819503784,0.100762397050858,0.648957669734955,0.100762344896793,0.391049325466156,0.100762188434601,0.439430266618729,0.100762002170086,0.487811297178268,0.588575661182404,0.10076292604208,0.100762479007244,0.342668294906616,0.588575661182404,0.14914408326149,0.100762583315372,0.294287264347076,0.588575720787048,0.197525218129158,0.100762650370598,0.245906218886375,0.588575720787048,0.245906308293343,0.10076267272234,0.197525143623352,0.588575661182404,0.294287383556366,0.100762642920017, +0.149144008755684,0.588575541973114,0.342668414115906,0.100762583315372,0.100762903690338,0.588575422763824,0.391049414873123,0.100762508809566,0.0523816831409931,0.588575303554535,0.439430445432663,0.100762404501438,0.00400054967030883,0.588575124740601,0.48781144618988,0.391049236059189,0.544195175170898,0.391049236059189,0.592576384544373,0.636956632137299,0.00400042068213224,0.636956751346588,0.0523816235363483,0.149143561720848,0.697338819503784,0.149143561720848,0.64895761013031,0.14914333820343,0.391049474477768,0.149143144488335,0.439430475234985,0.149142935872078,0.487811475992203,0.636956751346588,0.100762851536274,0.149143487215042,0.342668414115906,0.636956810951233,0.149144038558006,0.149143621325493,0.294287353754044,0.636956810951233,0.197525203227997,0.14914371073246,0.245906263589859,0.636956751346588,0.245906338095665,0.149143770337105,0.197525143623352,0.636956691741943,0.294287443161011,0.149143770337105,0.149143978953362,0.636956632137299,0.342668503522873,0.149143725633621,0.100762829184532,0.636956453323364,0.391049563884735,0.149143680930138,0.0523815900087357,0.636956334114075,0.439430594444275,0.14914359152317,0.00400042906403542,0.63695615530014,0.487811595201492,0.342668056488037,0.544195175170898,0.342668056488037,0.592576384544373,0.685337841510773,0.00400030007585883,0.685337901115417,0.052381556481123,0.197524741292,0.697338819503784,0.197524741292,0.64895761013031,0.19752436876297,0.39104962348938,0.197524145245552,0.439430683851242,0.197523877024651,0.487811714410782,0.685337960720062,0.10076279938221,0.197524547576904,0.342668563127518,0.685337960720062,0.149144038558006,0.197524711489677,0.294287443161011,0.685337960720062,0.197525218129158,0.197524815797806,0.245906323194504,0.685337901115417,0.245906382799149,0.197524905204773,0.197525158524513,0.685337781906128,0.294287502765656,0.197524935007095,0.1491439640522,0.685337662696838,0.342668622732162,0.197524905204773,0.100762777030468,0.685337543487549,0.391049683094025,0.197524875402451,0.0523815117776394,0.685337364673615,0.439430773258209, +0.197524800896645,0.00400032056495547,0.685337126255035,0.487811774015427,0.294286876916885,0.544195175170898,0.294286876916885,0.592576384544373,0.733719050884247,0.00400019576773047,0.733719110488892,0.0523815043270588,0.245905861258507,0.697338819503784,0.245905861258507,0.64895761013031,0.245905429124832,0.391049832105637,0.245905160903931,0.439430922269821,0.245904862880707,0.487811982631683,0.733719110488892,0.100762769579887,0.24590565264225,0.34266871213913,0.733719170093536,0.149144023656845,0.245905831456184,0.2942875623703,0.733719110488892,0.19752524793148,0.245905965566635,0.24590639770031,0.733719050884247,0.245906442403793,0.245906069874763,0.197525203227997,0.733718931674957,0.294287592172623,0.245906114578247,0.149143993854523,0.733718812465668,0.342668741941452,0.245906129479408,0.100762732326984,0.733718633651733,0.391049861907959,0.245906099677086,0.0523814596235752,0.733718395233154,0.439430981874466,0.245906054973602,0.00400022091343999,0.733718156814575,0.487812012434006,0.245905786752701,0.544195175170898,0.245905786752701,0.592576384544373,0.78210037946701,0.0040001031011343,0.78210037946701,0.0523814596235752,0.294286966323853,0.697338819503784,0.294286966323853,0.64895761013031,0.294286519289017,0.391050070524216,0.294286251068115,0.439431220293045,0.294285893440247,0.48781231045723,0.78210037946701,0.100762754678726,0.294286787509918,0.342668920755386,0.78210037946701,0.149144038558006,0.294286966323853,0.294287711381912,0.782100319862366,0.197525292634964,0.294287145137787,0.245906516909599,0.782100200653076,0.245906516909599,0.294287264347076,0.197525277733803,0.782100081443787,0.294287711381912,0.294287353754044,0.149144023656845,0.782099962234497,0.342668890953064,0.294287383556366,0.100762732326984,0.782099723815918,0.391050040721893,0.294287383556366,0.0523814149200916,0.782099485397339,0.439431190490723,0.294287353754044,0.00400013010948896,0.78209924697876,0.487812280654907,0.197524666786194,0.544195175170898,0.197524651885033,0.592576384544373,0.830481708049774,0.00400003558024764, +0.830481708049774,0.0523814335465431,0.342668116092682,0.697338879108429,0.342668116092682,0.64895761013031,0.342667698860168,0.391050338745117,0.342667371034622,0.439431518316269,0.342666983604431,0.487812697887421,0.830481648445129,0.100762769579887,0.34266796708107,0.342669129371643,0.830481648445129,0.149144068360329,0.342668175697327,0.294287890195847,0.83048152923584,0.197525352239609,0.342668354511261,0.24590665102005,0.83048141002655,0.245906606316566,0.342668503522873,0.19752536714077,0.830481290817261,0.294287860393524,0.342668622732162,0.149144068360329,0.830481112003326,0.342669069766998,0.342668682336807,0.100762754678726,0.830480873584747,0.39105024933815,0.34266871213913,0.0523813962936401,0.830480635166168,0.439431458711624,0.34266871213913,0.00400005839765072,0.830480337142944,0.487812578678131,0.149143531918526,0.544195175170898,0.149143517017365,0.592576384544373,0.878863036632538,0.00400000018998981,0.878863036632538,0.0523814298212528,0.391049265861511,0.697338879108429,0.391049265861511,0.64895761013031,0.39104887843132,0.391050606966019,0.391048550605774,0.439431875944138,0.391048163175583,0.487813085317612,0.878862977027893,0.100762784481049,0.391049176454544,0.342669367790222,0.878862917423248,0.149144127964973,0.391049414873123,0.294288069009781,0.878862798213959,0.197525441646576,0.39104962348938,0.245906800031662,0.878862679004669,0.245906725525856,0.391049772500992,0.19752548635006,0.878862500190735,0.294288009405136,0.391049921512604,0.149144157767296,0.878862321376801,0.342669248580933,0.391050010919571,0.10076279938221,0.878862082958221,0.391050487756729,0.391050070524216,0.052381407469511,0.878861844539642,0.439431697130203,0.391050100326538,0.00400000018998981,0.878861546516418,0.487812876701355,0.100762389600277,0.544195115566254,0.100762382149696,0.592576384544373,0.927244424819946,0.00400000484660268,0.927244424819946,0.0523814521729946,0.439430475234985,0.697338879108429,0.439430505037308,0.64895761013031,0.439430147409439,0.391050904989243,0.43942978978157,0.439432233572006,0.439429432153702, +0.487813472747803,0.927244305610657,0.100762851536274,0.439430445432663,0.342669606208801,0.927244246006012,0.149144202470779,0.439430683851242,0.294288277626038,0.927244067192078,0.197525545954704,0.439430922269821,0.245906963944435,0.927243947982788,0.245906874537468,0.439431101083755,0.19752562046051,0.927243769168854,0.294288158416748,0.439431250095367,0.149144262075424,0.927243530750275,0.342669457197189,0.439431399106979,0.100762881338596,0.927243292331696,0.391050696372986,0.439431488513947,0.0523814484477043,0.927243053913116,0.439431965351105,0.439431548118591,0.00400000018998981,0.927242755889893,0.487813174724579,0.052381157875061,0.544195115566254,0.0523811466991901,0.592576384544373,0.975625872612,0.0040000625886023,0.97562575340271,0.0523815229535103,0.487811625003815,0.697338879108429,0.487811654806137,0.648957669734955,0.487811386585236,0.391051232814789,0.487811028957367,0.439432561397552,0.487810641527176,0.487813860177994,0.97562563419342,0.100762948393822,0.487811714410782,0.34266984462738,0.975625514984131,0.149144306778908,0.487811982631683,0.294288516044617,0.975625395774841,0.197525680065155,0.487812221050262,0.245907157659531,0.975625216960907,0.24590702354908,0.487812429666519,0.197525784373283,0.975625038146973,0.294288337230682,0.487812608480453,0.149144396185875,0.975624799728394,0.342669665813446,0.487812727689743,0.100763015449047,0.97562450170517,0.391050934791565,0.487812906503677,0.0523815639317036,0.975624203681946,0.439432263374329,0.487813055515289,0.00400007562711835,0.975623905658722,0.487813502550125,0.00400001229718328,0.544195115566254,0.00400000018998981,0.592576324939728 + } + UVIndex: *1440 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,282,308,283,283,308,309,283,309,284,284,309,310,279,305,285,285,305,311,286,312,282,282,312,308,285,311,287,287,311,313,288,314,286,286,314,312,287,313,289,289,313,315,290,316,288,288,316,314,289,315,291,291,315,317,292,318,290,290,318,316,291,317,293,293,317,319,294,320,292,292,320,318,293,319,295,295,319,321,296,322,294,294,322,320,295,321,297,297,321,323,298,324,296,296,324,322,297,323,299,299,323,325,300,326,298,298,326,324,299,325,301,301,325,327,302,328,303,303,328,329 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + Layer: 1 { + Version: 100 + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 1 + } + } + } + Geometry: 1143701296, "Geometry::Scene", "Mesh" { + Vertices: *726 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-100,100,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-100,100,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-100,100,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-100,100,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-100,100,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-100,100,-900,-1000,100,-1000,-1000,0,-1000,-200,0,0,-200,0,-100,-200,100,0,-200,100,-200,-200,100,-100,-200,0,-200,-200,100,-300,-200,0,-300,-200,100,-400,-200,0,-400,-200,100,-500,-200,0,-500,-200,100,-600,-200,0,-600,-200,100,-700,-200,0,-700,-200,100,-800,-200,0,-800,-200,100,-900,-200,0,-900,-200,100,-1000,-200,0,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,100,-1000,-300,0,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800,-400,100,-900,-400,0,-900,-400,100,-1000,-400,0,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,0,-200,-500,100,-300,-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800,-500,100,-900,-500,0,-900,-500,100,-1000,-500,0,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,0,-200,-600,100,-300, +-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,100,-1000,-600,0,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,100,-1000,-700,0,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,100,-1000,-800,0,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,100,-1000,-900,0,-1000 + } + PolygonVertexIndex: *1440 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,28,-24,23,28,-30,24,30,-26,25,30,-32,23,29,-27,26,29,-33,26,32,-28,27,32,-34,28,34,-30,29,34,-36,30,36,-32,31,36,-38,29,35,-33,32,35,-39,32,38,-34,33,38,-40,34,40,-36,35,40,-42,36,42,-38,37,42,-44,35,41,-39,38,41,-45,38,44,-40,39,44,-46,40,46,-42,41,46,-48,42,48,-44,43,48,-50,41,47,-45,44,47,-51,44,50,-46,45,50,-52,46,52,-48,47,52,-54,48,54,-50,49,54,-56,47,53,-51,50,53,-57,50,56,-52,51,56,-58,52,58,-54,53,58,-60,54,60,-56,55,60,-62,53,59,-57,56,59,-63,56,62,-58,57,62,-64,58,8,-60,59,8,-10,60,64,-62,61,64,-66,59,9,-63,62,9,-12,62,11,-64,63,11,-11,1,66,-16,15,66,-68,3,68,-2,1,68,-67,21,69,-15,14,69,-71,14,70,-4,3,70,-69,15,67,-17,16,67,-72,27,72,-22,21,72,-70,16,71,-23,22,71,-74,33,74,-28,27,74,-73,22,73,-29,28,73,-76,39,76,-34,33,76,-75,28,75,-35,34,75,-78,45,78,-40,39,78,-77,34,77,-41,40,77,-80,51,80,-46,45,80,-79,40,79,-47,46,79,-82,57,82,-52,51,82,-81,46,81,-53,52,81,-84,63,84,-58,57,84,-83,52,83,-59,58,83,-86,10,86,-64,63,86,-85,58,85,-9,8,85,-88,8,87,-11,10,87,-87,66,88,-68,67,88,-90,68,90,-67,66,90,-89,69,91,-71,70,91,-93,70,92,-69,68,92,-91,67,89,-72,71,89,-94,72,94,-70,69,94,-92,71,93,-74,73,93,-96,74,96,-73,72,96,-95,73,95,-76,75,95,-98,76,98,-75,74,98,-97,75,97,-78,77,97,-100,78,100,-77,76,100,-99,77,99,-80,79,99,-102,80,102,-79,78,102,-101,79,101,-82,81,101,-104,82,104,-81,80,104,-103,81,103,-84,83,103,-106,84,106,-83,82,106,-105,83,105,-86,85,105,-108,86,108,-85,84,108,-107,85,107,-88,87,107,-110,87,109,-87,86,109,-109,88,110,-90,89,110,-112,90,112,-89,88,112,-111,91,113,-93,92,113,-115,92,114,-91,90,114,-113,89,111,-94,93,111,-116,94,116,-92,91,116,-114,93,115,-96,95,115,-118,96,118,-95,94,118,-117,95,117,-98,97,117,-120,98,120,-97,96,120,-119,97,119,-100,99,119,-122,100,122,-99,98,122,-121,99,121,-102,101,121,-124,102,124,-101,100, +124,-123,101,123,-104,103,123,-126,104,126,-103,102,126,-125,103,125,-106,105,125,-128,106,128,-105,104,128,-127,105,127,-108,107,127,-130,108,130,-107,106,130,-129,107,129,-110,109,129,-132,109,131,-109,108,131,-131,110,132,-112,111,132,-134,112,134,-111,110,134,-133,113,135,-115,114,135,-137,114,136,-113,112,136,-135,111,133,-116,115,133,-138,116,138,-114,113,138,-136,115,137,-118,117,137,-140,118,140,-117,116,140,-139,117,139,-120,119,139,-142,120,142,-119,118,142,-141,119,141,-122,121,141,-144,122,144,-121,120,144,-143,121,143,-124,123,143,-146,124,146,-123,122,146,-145,123,145,-126,125,145,-148,126,148,-125,124,148,-147,125,147,-128,127,147,-150,128,150,-127,126,150,-149,127,149,-130,129,149,-152,130,152,-129,128,152,-151,129,151,-132,131,151,-154,131,153,-131,130,153,-153,132,154,-134,133,154,-156,134,156,-133,132,156,-155,135,157,-137,136,157,-159,136,158,-135,134,158,-157,133,155,-138,137,155,-160,138,160,-136,135,160,-158,137,159,-140,139,159,-162,140,162,-139,138,162,-161,139,161,-142,141,161,-164,142,164,-141,140,164,-163,141,163,-144,143,163,-166,144,166,-143,142,166,-165,143,165,-146,145,165,-168,146,168,-145,144,168,-167,145,167,-148,147,167,-170,148,170,-147,146,170,-169,147,169,-150,149,169,-172,150,172,-149,148,172,-171,149,171,-152,151,171,-174,152,174,-151,150,174,-173,151,173,-154,153,173,-176,153,175,-153,152,175,-175,154,176,-156,155,176,-178,156,178,-155,154,178,-177,157,179,-159,158,179,-181,158,180,-157,156,180,-179,155,177,-160,159,177,-182,160,182,-158,157,182,-180,159,181,-162,161,181,-184,162,184,-161,160,184,-183,161,183,-164,163,183,-186,164,186,-163,162,186,-185,163,185,-166,165,185,-188,166,188,-165,164,188,-187,165,187,-168,167,187,-190,168,190,-167,166,190,-189,167,189,-170,169,189,-192,170,192,-169,168,192,-191,169,191,-172,171,191,-194,172,194,-171,170,194,-193,171,193,-174,173,193,-196,174,196,-173,172,196,-195,173,195,-176,175,195,-198,175,197,-175,174,197,-197,176,198,-178,177,198,-200,178,200,-177,176,200,-199,179,201,-181,180,201,-203,180,202,-179,178,202,-201,177,199,-182, +181,199,-204,182,204,-180,179,204,-202,181,203,-184,183,203,-206,184,206,-183,182,206,-205,183,205,-186,185,205,-208,186,208,-185,184,208,-207,185,207,-188,187,207,-210,188,210,-187,186,210,-209,187,209,-190,189,209,-212,190,212,-189,188,212,-211,189,211,-192,191,211,-214,192,214,-191,190,214,-213,191,213,-194,193,213,-216,194,216,-193,192,216,-215,193,215,-196,195,215,-218,196,218,-195,194,218,-217,195,217,-198,197,217,-220,197,219,-197,196,219,-219,198,220,-200,199,220,-222,200,222,-199,198,222,-221,201,223,-203,202,223,-225,202,224,-201,200,224,-223,199,221,-204,203,221,-226,204,226,-202,201,226,-224,203,225,-206,205,225,-228,206,228,-205,204,228,-227,205,227,-208,207,227,-230,208,230,-207,206,230,-229,207,229,-210,209,229,-232,210,232,-209,208,232,-231,209,231,-212,211,231,-234,212,234,-211,210,234,-233,211,233,-214,213,233,-236,214,236,-213,212,236,-235,213,235,-216,215,235,-238,216,238,-215,214,238,-237,215,237,-218,217,237,-240,218,240,-217,216,240,-239,217,239,-220,219,239,-242,219,241,-219,218,241,-241,220,4,-222,221,4,-6,222,6,-221,220,6,-5,223,18,-225,224,18,-8,224,7,-223,222,7,-7,221,5,-226,225,5,-20,226,24,-224,223,24,-19,225,19,-228,227,19,-26,228,30,-227,226,30,-25,227,25,-230,229,25,-32,230,36,-229,228,36,-31,229,31,-232,231,31,-38,232,42,-231,230,42,-37,231,37,-234,233,37,-44,234,48,-233,232,48,-43,233,43,-236,235,43,-50,236,54,-235,234,54,-49,235,49,-238,237,49,-56,238,60,-237,236,60,-55,237,55,-240,239,55,-62,240,64,-239,238,64,-61,239,61,-242,241,61,-66,241,65,-241,240,65,-65 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *4320 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + NormalsW: *1440 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *4320 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *1440 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *4320 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + TangentsW: *1440 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *1320 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *1440 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,282,308,283,283,308,309,283,309,284,284,309,310,279,305,285,285,305,311,286,312,282,282,312,308,285,311,287,287,311,313,288,314,286,286,314,312,287,313,289,289,313,315,290,316,288,288,316,314,289,315,291,291,315,317,292,318,290,290,318,316,291,317,293,293,317,319,294,320,292,292,320,318,293,319,295,295,319,321,296,322,294,294,322,320,295,321,297,297,321,323,298,324,296,296,324,322,297,323,299,299,323,325,300,326,298,298,326,324,299,325,301,301,325,327,302,328,303,303,328,329 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *660 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-2,0,-2,-2,1,-2,0,2,0,2,1,0,-2,1,-2,-1,-3,0,-3,-3,1,-3,0,3,0,3,1,0,-3,1,-3,-1,-4,0,-4,-4,1,-4,0,4,0,4,1,0,-4,1,-4,-1,-5,0,-5,-5,1,-5,0,5,0,5,1,0,-5,1,-5,-1,-6,0,-6,-6,1,-6,0,6,0,6,1,0,-6,1,-6,-1,-7,0,-7,-7,1,-7,0,7,0,7,1,0,-7,1,-7,-1,-8,0,-8,-8,1,-8,0,8,0,8,1,0,-8,1,-8,-1,-9,0,-9,-9,1,-9,0,9,0,9,1,0,-9,1,-9,-1,-10,0,-10,-10,1,-10,0,10,0,10,1,0,-10,1,-10,-2,0,-2,-1,-2,1,-2,0,2,-2,2,-1,2,0,-2,-2,2,-3,-2,-3,2,-4,-2,-4,2,-5,-2,-5,2,-6,-2,-6,2,-7,-2,-7,2,-8,-2,-8,2,-9,-2,-9,2,-10,-2,-10,2,0,2,1,-3,0,-3,-1,-3,1,-3,0,3,-2,3,-1,3,0,-3,-2,3,-3,-3,-3,3,-4,-3,-4,3,-5,-3,-5,3,-6,-3,-6,3,-7,-3,-7,3,-8,-3,-8,3,-9,-3,-9,3,-10,-3,-10,3,0,3,1,-4,0,-4,-1,-4,1,-4,0,4,-2,4,-1,4,0,-4,-2,4,-3,-4,-3,4,-4,-4,-4,4,-5,-4,-5,4,-6,-4,-6,4,-7,-4,-7,4,-8,-4,-8,4,-9,-4,-9,4,-10,-4,-10,4,0,4,1,-5,0,-5,-1,-5,1,-5,0,5,-2,5,-1,5,0,-5,-2,5,-3,-5,-3,5,-4,-5,-4,5,-5,-5,-5,5,-6,-5,-6,5,-7,-5,-7,5,-8,-5,-8,5,-9,-5,-9,5,-10,-5,-10,5,0,5,1,-6,0,-6,-1,-6,1,-6,0,6,-2,6,-1,6,0,-6,-2,6,-3,-6,-3,6,-4,-6,-4,6,-5,-6,-5,6,-6,-6,-6,6,-7,-6,-7,6,-8,-6,-8,6,-9,-6,-9,6,-10,-6,-10,6,0,6,1,-7,0,-7,-1,-7,1,-7,0,7,-2,7,-1,7,0,-7,-2,7,-3,-7,-3,7,-4,-7,-4,7,-5,-7,-5,7,-6,-7,-6,7,-7,-7,-7,7,-8,-7,-8,7,-9,-7,-9,7,-10,-7,-10,7,0,7,1,-8,0,-8,-1,-8,1,-8,0,8,-2,8,-1,8,0,-8,-2,8,-3,-8,-3,8,-4,-8,-4,8,-5,-8,-5,8,-6,-8,-6,8,-7,-8,-7,8,-8,-8,-8,8,-9,-8,-9,8,-10,-8,-10,8,0,8,1,-9,0,-9,-1,-9,1,-9,0,9,-2,9,-1,9,0,-9,-2,9,-3,-9,-3,9,-4,-9,-4,9,-5,-9,-5,9,-6,-9,-6,9,-7,-9,-7,9,-8,-9,-8,9,-9,-9,-9,9,-10,-9,-10,9,0,9,1,-10,0,-10,-1,-10,1,-10,0,10,-2,10,-1,10,0,-10,-2,10,-3,-10,-3,10,-4,-10,-4,10,-5,-10,-5,10,-6,-10,-6,10,-7,-10,-7,10,-8,-10,-8,10,-9,-10,-9,10,-10,-10,-10,10,0,10,1 + } + UVIndex: *1440 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,282,308,283,283,308,309,283,309,284,284,309,310,279,305,285,285,305,311,286,312,282,282,312,308,285,311,287,287,311,313,288,314,286,286,314,312,287,313,289,289,313,315,290,316,288,288,316,314,289,315,291,291,315,317,292,318,290,290,318,316,291,317,293,293,317,319,294,320,292,292,320,318,293,319,295,295,319,321,296,322,294,294,322,320,295,321,297,297,321,323,298,324,296,296,324,322,297,323,299,299,323,325,300,326,298,298,326,324,299,325,301,301,325,327,302,328,303,303,328,329 + } + } + LayerElementUV: 1 { + Version: 101 + Name: "UVSet1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *660 { + a: 0.00400000344961882,0.648957669734955,0.0523812398314476,0.648957669734955,0.00400000018998981,0.697338819503784,0.0523812361061573,0.697338819503784,0.00400000484660268,0.49181392788887,0.0523812435567379,0.49181392788887,0.00400000018998981,0.540195107460022,0.0523812398314476,0.540195107460022,0.439430415630341,0.544195175170898,0.487811654806137,0.544195175170898,0.439430415630341,0.592576324939728,0.487811654806137,0.592576324939728,0.439430415630341,0.596576392650604,0.487811654806137,0.596576392650604,0.439430415630341,0.644957542419434,0.487811654806137,0.644957542419434,0.00400000018998981,0.487810909748077,0.0523810498416424,0.487811148166656,0.00400024140253663,0.439429938793182,0.0523812286555767,0.439430147409439,0.491813182830811,0.0523819215595722,0.540194392204285,0.0523818284273148,0.491813063621521,0.00400071358308196,0.54019433259964,0.00400063395500183,0.540194511413574,0.100763022899628,0.4918133020401,0.100763097405434,0.100762404501438,0.540195107460022,0.100762404501438,0.491813957691193,0.391049236059189,0.596576392650604,0.391049236059189,0.644957542419434,0.00400042021647096,0.39104899764061,0.0523814037442207,0.391049146652222,0.540194571018219,0.149144142866135,0.49181342124939,0.149144217371941,0.149143576622009,0.540195107460022,0.149143576622009,0.49181392788887,0.342668086290359,0.596576392650604,0.342668086290359,0.644957542419434,0.00400054221972823,0.342668056488037,0.05238151922822,0.342668175697327,0.540194630622864,0.19752524793148,0.491813540458679,0.197525277733803,0.197524756193161,0.540195107460022,0.197524756193161,0.49181392788887,0.294286876916885,0.596576392650604,0.294286906719208,0.644957542419434,0.00400059763342142,0.294287145137787,0.0523815900087357,0.294287174940109,0.540194630622864,0.245906293392181,0.491813570261002,0.24590627849102,0.245905861258507,0.540195107460022,0.245905861258507,0.49181392788887,0.245905786752701,0.596576392650604,0.245905786752701,0.644957542419434,0.00400057295337319,0.245906218886375,0.0523816235363483,0.245906218886375, +0.540194630622864,0.294287294149399,0.491813570261002,0.294287234544754,0.294286996126175,0.540195107460022,0.294286966323853,0.49181392788887,0.197524651885033,0.596576392650604,0.197524666786194,0.644957602024078,0.00400050077587366,0.197525218129158,0.0523816011846066,0.197525173425674,0.540194511413574,0.342668294906616,0.491813510656357,0.342668205499649,0.342668116092682,0.540195107460022,0.342668116092682,0.491813898086548,0.149143517017365,0.596576392650604,0.149143531918526,0.644957602024078,0.00400039134547114,0.149144172668457,0.0523815341293812,0.149144098162651,0.540194392204285,0.391049295663834,0.49181342124939,0.391049146652222,0.391049265861511,0.540195107460022,0.391049265861511,0.491813898086548,0.100762382149696,0.596576392650604,0.100762397050858,0.644957602024078,0.00400026747956872,0.100763075053692,0.0523814558982849,0.100762993097305,0.540194272994995,0.439430326223373,0.491813272237778,0.439430147409439,0.439430505037308,0.540195107460022,0.439430475234985,0.491813868284225,0.0523811504244804,0.596576392650604,0.052381157875061,0.644957602024078,0.00400013709440827,0.0523819290101528,0.0523813553154469,0.0523818209767342,0.540194094181061,0.487811326980591,0.491813063621521,0.487811118364334,0.487811654806137,0.540195107460022,0.487811625003815,0.491813868284225,0.00400000018998981,0.596576392650604,0.00400001183152199,0.644957602024078,0.00400000018998981,0.00400078529492021,0.0523812435567379,0.00400068936869502,0.588575482368469,0.00400052685290575,0.588575541973114,0.0523817054927349,0.100762397050858,0.697338819503784,0.100762397050858,0.648957669734955,0.100762344896793,0.391049325466156,0.100762188434601,0.439430266618729,0.100762002170086,0.487811297178268,0.588575661182404,0.10076292604208,0.100762479007244,0.342668294906616,0.588575661182404,0.14914408326149,0.100762583315372,0.294287264347076,0.588575720787048,0.197525218129158,0.100762650370598,0.245906218886375,0.588575720787048,0.245906308293343,0.10076267272234,0.197525143623352,0.588575661182404,0.294287383556366,0.100762642920017, +0.149144008755684,0.588575541973114,0.342668414115906,0.100762583315372,0.100762903690338,0.588575422763824,0.391049414873123,0.100762508809566,0.0523816831409931,0.588575303554535,0.439430445432663,0.100762404501438,0.00400054967030883,0.588575124740601,0.48781144618988,0.391049236059189,0.544195175170898,0.391049236059189,0.592576384544373,0.636956632137299,0.00400042068213224,0.636956751346588,0.0523816235363483,0.149143561720848,0.697338819503784,0.149143561720848,0.64895761013031,0.14914333820343,0.391049474477768,0.149143144488335,0.439430475234985,0.149142935872078,0.487811475992203,0.636956751346588,0.100762851536274,0.149143487215042,0.342668414115906,0.636956810951233,0.149144038558006,0.149143621325493,0.294287353754044,0.636956810951233,0.197525203227997,0.14914371073246,0.245906263589859,0.636956751346588,0.245906338095665,0.149143770337105,0.197525143623352,0.636956691741943,0.294287443161011,0.149143770337105,0.149143978953362,0.636956632137299,0.342668503522873,0.149143725633621,0.100762829184532,0.636956453323364,0.391049563884735,0.149143680930138,0.0523815900087357,0.636956334114075,0.439430594444275,0.14914359152317,0.00400042906403542,0.63695615530014,0.487811595201492,0.342668056488037,0.544195175170898,0.342668056488037,0.592576384544373,0.685337841510773,0.00400030007585883,0.685337901115417,0.052381556481123,0.197524741292,0.697338819503784,0.197524741292,0.64895761013031,0.19752436876297,0.39104962348938,0.197524145245552,0.439430683851242,0.197523877024651,0.487811714410782,0.685337960720062,0.10076279938221,0.197524547576904,0.342668563127518,0.685337960720062,0.149144038558006,0.197524711489677,0.294287443161011,0.685337960720062,0.197525218129158,0.197524815797806,0.245906323194504,0.685337901115417,0.245906382799149,0.197524905204773,0.197525158524513,0.685337781906128,0.294287502765656,0.197524935007095,0.1491439640522,0.685337662696838,0.342668622732162,0.197524905204773,0.100762777030468,0.685337543487549,0.391049683094025,0.197524875402451,0.0523815117776394,0.685337364673615,0.439430773258209, +0.197524800896645,0.00400032056495547,0.685337126255035,0.487811774015427,0.294286876916885,0.544195175170898,0.294286876916885,0.592576384544373,0.733719050884247,0.00400019576773047,0.733719110488892,0.0523815043270588,0.245905861258507,0.697338819503784,0.245905861258507,0.64895761013031,0.245905429124832,0.391049832105637,0.245905160903931,0.439430922269821,0.245904862880707,0.487811982631683,0.733719110488892,0.100762769579887,0.24590565264225,0.34266871213913,0.733719170093536,0.149144023656845,0.245905831456184,0.2942875623703,0.733719110488892,0.19752524793148,0.245905965566635,0.24590639770031,0.733719050884247,0.245906442403793,0.245906069874763,0.197525203227997,0.733718931674957,0.294287592172623,0.245906114578247,0.149143993854523,0.733718812465668,0.342668741941452,0.245906129479408,0.100762732326984,0.733718633651733,0.391049861907959,0.245906099677086,0.0523814596235752,0.733718395233154,0.439430981874466,0.245906054973602,0.00400022091343999,0.733718156814575,0.487812012434006,0.245905786752701,0.544195175170898,0.245905786752701,0.592576384544373,0.78210037946701,0.0040001031011343,0.78210037946701,0.0523814596235752,0.294286966323853,0.697338819503784,0.294286966323853,0.64895761013031,0.294286519289017,0.391050070524216,0.294286251068115,0.439431220293045,0.294285893440247,0.48781231045723,0.78210037946701,0.100762754678726,0.294286787509918,0.342668920755386,0.78210037946701,0.149144038558006,0.294286966323853,0.294287711381912,0.782100319862366,0.197525292634964,0.294287145137787,0.245906516909599,0.782100200653076,0.245906516909599,0.294287264347076,0.197525277733803,0.782100081443787,0.294287711381912,0.294287353754044,0.149144023656845,0.782099962234497,0.342668890953064,0.294287383556366,0.100762732326984,0.782099723815918,0.391050040721893,0.294287383556366,0.0523814149200916,0.782099485397339,0.439431190490723,0.294287353754044,0.00400013010948896,0.78209924697876,0.487812280654907,0.197524666786194,0.544195175170898,0.197524651885033,0.592576384544373,0.830481708049774,0.00400003558024764, +0.830481708049774,0.0523814335465431,0.342668116092682,0.697338879108429,0.342668116092682,0.64895761013031,0.342667698860168,0.391050338745117,0.342667371034622,0.439431518316269,0.342666983604431,0.487812697887421,0.830481648445129,0.100762769579887,0.34266796708107,0.342669129371643,0.830481648445129,0.149144068360329,0.342668175697327,0.294287890195847,0.83048152923584,0.197525352239609,0.342668354511261,0.24590665102005,0.83048141002655,0.245906606316566,0.342668503522873,0.19752536714077,0.830481290817261,0.294287860393524,0.342668622732162,0.149144068360329,0.830481112003326,0.342669069766998,0.342668682336807,0.100762754678726,0.830480873584747,0.39105024933815,0.34266871213913,0.0523813962936401,0.830480635166168,0.439431458711624,0.34266871213913,0.00400005839765072,0.830480337142944,0.487812578678131,0.149143531918526,0.544195175170898,0.149143517017365,0.592576384544373,0.878863036632538,0.00400000018998981,0.878863036632538,0.0523814298212528,0.391049265861511,0.697338879108429,0.391049265861511,0.64895761013031,0.39104887843132,0.391050606966019,0.391048550605774,0.439431875944138,0.391048163175583,0.487813085317612,0.878862977027893,0.100762784481049,0.391049176454544,0.342669367790222,0.878862917423248,0.149144127964973,0.391049414873123,0.294288069009781,0.878862798213959,0.197525441646576,0.39104962348938,0.245906800031662,0.878862679004669,0.245906725525856,0.391049772500992,0.19752548635006,0.878862500190735,0.294288009405136,0.391049921512604,0.149144157767296,0.878862321376801,0.342669248580933,0.391050010919571,0.10076279938221,0.878862082958221,0.391050487756729,0.391050070524216,0.052381407469511,0.878861844539642,0.439431697130203,0.391050100326538,0.00400000018998981,0.878861546516418,0.487812876701355,0.100762389600277,0.544195115566254,0.100762382149696,0.592576384544373,0.927244424819946,0.00400000484660268,0.927244424819946,0.0523814521729946,0.439430475234985,0.697338879108429,0.439430505037308,0.64895761013031,0.439430147409439,0.391050904989243,0.43942978978157,0.439432233572006,0.439429432153702, +0.487813472747803,0.927244305610657,0.100762851536274,0.439430445432663,0.342669606208801,0.927244246006012,0.149144202470779,0.439430683851242,0.294288277626038,0.927244067192078,0.197525545954704,0.439430922269821,0.245906963944435,0.927243947982788,0.245906874537468,0.439431101083755,0.19752562046051,0.927243769168854,0.294288158416748,0.439431250095367,0.149144262075424,0.927243530750275,0.342669457197189,0.439431399106979,0.100762881338596,0.927243292331696,0.391050696372986,0.439431488513947,0.0523814484477043,0.927243053913116,0.439431965351105,0.439431548118591,0.00400000018998981,0.927242755889893,0.487813174724579,0.052381157875061,0.544195115566254,0.0523811466991901,0.592576384544373,0.975625872612,0.0040000625886023,0.97562575340271,0.0523815229535103,0.487811625003815,0.697338879108429,0.487811654806137,0.648957669734955,0.487811386585236,0.391051232814789,0.487811028957367,0.439432561397552,0.487810641527176,0.487813860177994,0.97562563419342,0.100762948393822,0.487811714410782,0.34266984462738,0.975625514984131,0.149144306778908,0.487811982631683,0.294288516044617,0.975625395774841,0.197525680065155,0.487812221050262,0.245907157659531,0.975625216960907,0.24590702354908,0.487812429666519,0.197525784373283,0.975625038146973,0.294288337230682,0.487812608480453,0.149144396185875,0.975624799728394,0.342669665813446,0.487812727689743,0.100763015449047,0.97562450170517,0.391050934791565,0.487812906503677,0.0523815639317036,0.975624203681946,0.439432263374329,0.487813055515289,0.00400007562711835,0.975623905658722,0.487813502550125,0.00400001229718328,0.544195115566254,0.00400000018998981,0.592576324939728 + } + UVIndex: *1440 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,282,308,283,283,308,309,283,309,284,284,309,310,279,305,285,285,305,311,286,312,282,282,312,308,285,311,287,287,311,313,288,314,286,286,314,312,287,313,289,289,313,315,290,316,288,288,316,314,289,315,291,291,315,317,292,318,290,290,318,316,291,317,293,293,317,319,294,320,292,292,320,318,293,319,295,295,319,321,296,322,294,294,322,320,295,321,297,297,321,323,298,324,296,296,324,322,297,323,299,299,323,325,300,326,298,298,326,324,299,325,301,301,325,327,302,328,303,303,328,329 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "Material" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + Layer: 1 { + Version: 100 + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 1 + } + } + } + Model: 1145400560, "Model::ProB_Floor_10x10", "Mesh" { + Version: 232 + Properties70: { + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + } + Shading: W + Culling: "CullingOff" + } + Material: 1148826896, "Material::Default_Prototype", "" { + Version: 102 + ShadingModel: "lambert" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",1,1,1 + P: "BumpFactor", "double", "Number", "",0 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",1,1,1 + P: "Opacity", "double", "Number", "",1 + } + } + Video: 1148836096, "Video::DiffuseColor_Texture", "Clip" { + Type: "Clip" + Properties70: { + P: "Path", "KString", "XRefUrl", "", "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + UseMipMap: 0 + Filename: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + Texture: 294700000, "Texture::DiffuseColor_Texture", "" { + Type: "TextureVideoClip" + Version: 202 + TextureName: "Texture::DiffuseColor_Texture" + Media: "Video::DiffuseColor_Texture" + FileName: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + ModelUVTranslation: 0,0 + ModelUVScaling: 1,1 + Texture_Alpha_Source: "None" + Cropping: 0,0,0,0 + } +} + +; Object connections +;------------------------------------------------------------------ + +Connections: { + + ;Model::ProB_Floor_10x10, Model::RootNode + C: "OO",1145400560,0 + + ;Material::Default_Prototype, Model::ProB_Floor_10x10 + C: "OO",1148826896,1145400560 + + ;Material::Default_Prototype, Model::ProB_Floor_10x10 + C: "OO",1148826896,1145400560 + + ;Geometry::Scene, Model::ProB_Floor_10x10 + C: "OO",1143701296,1145400560 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OO",294700000,1148826896 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OP",294700000,1148826896, "DiffuseColor" + + ;Video::DiffuseColor_Texture, Texture::DiffuseColor_Texture + C: "OO",1148836096,294700000 +} +;Takes section +;---------------------------------------------------- + +Takes: { + Current: "" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10.fbx.meta new file mode 100644 index 00000000..bdf7e862 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10.fbx.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 47d4df8e0a6e85a4c8448ec117ba07df +timeCreated: 1508433760 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: Default_Prototype + 2300000: //RootNode + 3300000: //RootNode + 4300000: ProB_Floor_10x10 + externalObjects: {} + materials: + importMaterials: 1 + materialName: 1 + materialSearch: 2 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10_BluePedestal.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10_BluePedestal.fbx new file mode 100644 index 00000000..1cae69a9 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10_BluePedestal.fbx @@ -0,0 +1,504 @@ +; FBX 7.4.0 project file +; Copyright (C) 1997-2015 Autodesk Inc. and/or its licensors. +; All rights reserved. +; ---------------------------------------------------- + +FBXHeaderExtension: { + FBXHeaderVersion: 1003 + FBXVersion: 7400 + CreationTimeStamp: { + Version: 1000 + Year: 2017 + Month: 10 + Day: 19 + Hour: 14 + Minute: 25 + Second: 54 + Millisecond: 964 + } + Creator: "FBX SDK/FBX Plugins version 2017.1" + SceneInfo: "SceneInfo::GlobalInfo", "UserData" { + Type: "UserData" + Version: 100 + MetaData: { + Version: 100 + Title: "exports static meshes with materials and textures" + Subject: "" + Author: "Unity Technologies" + Keywords: "export mesh materials textures uvs" + Revision: "1.0" + Comment: "" + } + Properties70: { + P: "DocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp65a7bd06.tmp" + P: "SrcDocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp65a7bd06.tmp" + P: "Original", "Compound", "", "" + P: "Original|ApplicationVendor", "KString", "", "", "" + P: "Original|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "Original|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "Original|DateTime_GMT", "DateTime", "", "", "" + P: "Original|FileName", "KString", "", "", "" + P: "LastSaved", "Compound", "", "" + P: "LastSaved|ApplicationVendor", "KString", "", "", "" + P: "LastSaved|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "LastSaved|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "LastSaved|DateTime_GMT", "DateTime", "", "", "" + } + } +} +GlobalSettings: { + Version: 1000 + Properties70: { + P: "UpAxis", "int", "Integer", "",1 + P: "UpAxisSign", "int", "Integer", "",1 + P: "FrontAxis", "int", "Integer", "",2 + P: "FrontAxisSign", "int", "Integer", "",1 + P: "CoordAxis", "int", "Integer", "",0 + P: "CoordAxisSign", "int", "Integer", "",1 + P: "OriginalUpAxis", "int", "Integer", "",-1 + P: "OriginalUpAxisSign", "int", "Integer", "",1 + P: "UnitScaleFactor", "double", "Number", "",1 + P: "OriginalUnitScaleFactor", "double", "Number", "",1 + P: "AmbientColor", "ColorRGB", "Color", "",0,0,0 + P: "DefaultCamera", "KString", "", "", "Producer Perspective" + P: "TimeMode", "enum", "", "",0 + P: "TimeProtocol", "enum", "", "",2 + P: "SnapOnFrameMode", "enum", "", "",0 + P: "TimeSpanStart", "KTime", "Time", "",0 + P: "TimeSpanStop", "KTime", "Time", "",46186158000 + P: "CustomFrameRate", "double", "Number", "",-1 + P: "TimeMarker", "Compound", "", "" + P: "CurrentTimeMarker", "int", "Integer", "",-1 + } +} + +; Documents Description +;------------------------------------------------------------------ + +Documents: { + Count: 1 + Document: 1145914320, "Scene", "Scene" { + Properties70: { + P: "SourceObject", "object", "", "" + P: "ActiveAnimStackName", "KString", "", "", "" + } + RootNode: 0 + } +} + +; Document References +;------------------------------------------------------------------ + +References: { +} + +; Object definitions +;------------------------------------------------------------------ + +Definitions: { + Version: 100 + Count: 6 + ObjectType: "GlobalSettings" { + Count: 1 + } + ObjectType: "Model" { + Count: 1 + PropertyTemplate: "FbxNode" { + Properties70: { + P: "QuaternionInterpolate", "enum", "", "",0 + P: "RotationOffset", "Vector3D", "Vector", "",0,0,0 + P: "RotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0 + P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "TranslationActive", "bool", "", "",0 + P: "TranslationMin", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMax", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMinX", "bool", "", "",0 + P: "TranslationMinY", "bool", "", "",0 + P: "TranslationMinZ", "bool", "", "",0 + P: "TranslationMaxX", "bool", "", "",0 + P: "TranslationMaxY", "bool", "", "",0 + P: "TranslationMaxZ", "bool", "", "",0 + P: "RotationOrder", "enum", "", "",0 + P: "RotationSpaceForLimitOnly", "bool", "", "",0 + P: "RotationStiffnessX", "double", "Number", "",0 + P: "RotationStiffnessY", "double", "Number", "",0 + P: "RotationStiffnessZ", "double", "Number", "",0 + P: "AxisLen", "double", "Number", "",10 + P: "PreRotation", "Vector3D", "Vector", "",0,0,0 + P: "PostRotation", "Vector3D", "Vector", "",0,0,0 + P: "RotationActive", "bool", "", "",0 + P: "RotationMin", "Vector3D", "Vector", "",0,0,0 + P: "RotationMax", "Vector3D", "Vector", "",0,0,0 + P: "RotationMinX", "bool", "", "",0 + P: "RotationMinY", "bool", "", "",0 + P: "RotationMinZ", "bool", "", "",0 + P: "RotationMaxX", "bool", "", "",0 + P: "RotationMaxY", "bool", "", "",0 + P: "RotationMaxZ", "bool", "", "",0 + P: "InheritType", "enum", "", "",0 + P: "ScalingActive", "bool", "", "",0 + P: "ScalingMin", "Vector3D", "Vector", "",0,0,0 + P: "ScalingMax", "Vector3D", "Vector", "",1,1,1 + P: "ScalingMinX", "bool", "", "",0 + P: "ScalingMinY", "bool", "", "",0 + P: "ScalingMinZ", "bool", "", "",0 + P: "ScalingMaxX", "bool", "", "",0 + P: "ScalingMaxY", "bool", "", "",0 + P: "ScalingMaxZ", "bool", "", "",0 + P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1 + P: "MinDampRangeX", "double", "Number", "",0 + P: "MinDampRangeY", "double", "Number", "",0 + P: "MinDampRangeZ", "double", "Number", "",0 + P: "MaxDampRangeX", "double", "Number", "",0 + P: "MaxDampRangeY", "double", "Number", "",0 + P: "MaxDampRangeZ", "double", "Number", "",0 + P: "MinDampStrengthX", "double", "Number", "",0 + P: "MinDampStrengthY", "double", "Number", "",0 + P: "MinDampStrengthZ", "double", "Number", "",0 + P: "MaxDampStrengthX", "double", "Number", "",0 + P: "MaxDampStrengthY", "double", "Number", "",0 + P: "MaxDampStrengthZ", "double", "Number", "",0 + P: "PreferedAngleX", "double", "Number", "",0 + P: "PreferedAngleY", "double", "Number", "",0 + P: "PreferedAngleZ", "double", "Number", "",0 + P: "LookAtProperty", "object", "", "" + P: "UpVectorProperty", "object", "", "" + P: "Show", "bool", "", "",1 + P: "NegativePercentShapeSupport", "bool", "", "",1 + P: "DefaultAttributeIndex", "int", "Integer", "",-1 + P: "Freeze", "bool", "", "",0 + P: "LODBox", "bool", "", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0 + P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1 + P: "Visibility", "Visibility", "", "A",1 + P: "Visibility Inheritance", "Visibility Inheritance", "", "",1 + } + } + } + ObjectType: "Geometry" { + Count: 1 + PropertyTemplate: "FbxMesh" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BBoxMin", "Vector3D", "Vector", "",0,0,0 + P: "BBoxMax", "Vector3D", "Vector", "",0,0,0 + P: "Primary Visibility", "bool", "", "",1 + P: "Casts Shadows", "bool", "", "",1 + P: "Receive Shadows", "bool", "", "",1 + } + } + } + ObjectType: "Material" { + Count: 1 + PropertyTemplate: "FbxSurfaceLambert" { + Properties70: { + P: "ShadingModel", "KString", "", "", "Lambert" + P: "MultiLayer", "bool", "", "",0 + P: "EmissiveColor", "Color", "", "A",0,0,0 + P: "EmissiveFactor", "Number", "", "A",1 + P: "AmbientColor", "Color", "", "A",0.2,0.2,0.2 + P: "AmbientFactor", "Number", "", "A",1 + P: "DiffuseColor", "Color", "", "A",0.8,0.8,0.8 + P: "DiffuseFactor", "Number", "", "A",1 + P: "Bump", "Vector3D", "Vector", "",0,0,0 + P: "NormalMap", "Vector3D", "Vector", "",0,0,0 + P: "BumpFactor", "double", "Number", "",1 + P: "TransparentColor", "Color", "", "A",0,0,0 + P: "TransparencyFactor", "Number", "", "A",0 + P: "DisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "DisplacementFactor", "double", "Number", "",1 + P: "VectorDisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "VectorDisplacementFactor", "double", "Number", "",1 + } + } + } + ObjectType: "Texture" { + Count: 1 + PropertyTemplate: "FbxFileTexture" { + Properties70: { + P: "TextureTypeUse", "enum", "", "",0 + P: "Texture alpha", "Number", "", "A",1 + P: "CurrentMappingType", "enum", "", "",0 + P: "WrapModeU", "enum", "", "",0 + P: "WrapModeV", "enum", "", "",0 + P: "UVSwap", "bool", "", "",0 + P: "PremultiplyAlpha", "bool", "", "",1 + P: "Translation", "Vector", "", "A",0,0,0 + P: "Rotation", "Vector", "", "A",0,0,0 + P: "Scaling", "Vector", "", "A",1,1,1 + P: "TextureRotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "TextureScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "CurrentTextureBlendMode", "enum", "", "",1 + P: "UVSet", "KString", "", "", "default" + P: "UseMaterial", "bool", "", "",0 + P: "UseMipMap", "bool", "", "",0 + } + } + } + ObjectType: "Video" { + Count: 1 + PropertyTemplate: "FbxVideo" { + Properties70: { + P: "ImageSequence", "bool", "", "",0 + P: "ImageSequenceOffset", "int", "Integer", "",0 + P: "FrameRate", "double", "Number", "",0 + P: "LastFrame", "int", "Integer", "",0 + P: "Width", "int", "Integer", "",0 + P: "Height", "int", "Integer", "",0 + P: "Path", "KString", "XRefUrl", "", "" + P: "StartFrame", "int", "Integer", "",0 + P: "StopFrame", "int", "Integer", "",0 + P: "PlaySpeed", "double", "Number", "",0 + P: "Offset", "KTime", "Time", "",0 + P: "InterlaceMode", "enum", "", "",0 + P: "FreeRunning", "bool", "", "",0 + P: "Loop", "bool", "", "",0 + P: "AccessMode", "enum", "", "",0 + } + } + } +} + +; Object properties +;------------------------------------------------------------------ + +Objects: { + Geometry: 1143820080, "Geometry::Scene", "Mesh" { + Vertices: *774 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-100,100,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-100,100,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-100,100,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-100,100,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-100,100,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-100,100,-900,-1000,100,-1000,-1000,0,-1000,-200,0,0,-200,0,-100,-200,100,0,-200,100,-200,-200,100,-100,-200,0,-200,-200,100,-300,-200,0,-300,-200,100,-400,-200,0,-400,-200,100,-500,-200,0,-500,-200,100,-600,-200,0,-600,-200,100,-700,-200,0,-700,-200,100,-800,-200,0,-800,-200,100,-900,-200,0,-900,-200,100,-1000,-200,0,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,100,-1000,-300,0,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800,-400,100,-900,-400,0,-900,-400,100,-1000,-400,0,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,0,-200,-500,100,-300,-500,0,-300,-500,100,-400,-500,0,-400,-457.172870635986,300,-500,-457.172870635986,300,-457.172822952271,-500,300,-500,-500,300,-457.172822952271,-500,0,-500,-457.172870635986,300,-542.827177047729,-500,300,-542.827177047729,-500,0,-600,-500,100,-700,-500,100,-600,-500,0,-700, +-500,100,-800,-500,0,-800,-500,100,-900,-500,0,-900,-500,100,-1000,-500,0,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,0,-200,-600,100,-300,-600,0,-300,-600,100,-400,-600,0,-400,-542.827129364014,300,-500,-542.827129364014,300,-457.172822952271,-600,0,-500,-542.827129364014,300,-542.827177047729,-600,0,-600,-600,100,-700,-600,100,-600,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,100,-1000,-600,0,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-600,100,-500,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,100,-1000,-700,0,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,100,-1000,-800,0,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,100,-1000,-900,0,-1000,-400,200,-600,-400,200,-500,-600,200,-500,-600,200,-600,-500,200,-400,-600,200,-400,-400,200,-400,-500,200,-600 + } + PolygonVertexIndex: *1536 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,28,-24,23,28,-30,24,30,-26,25,30,-32,23,29,-27,26,29,-33,26,32,-28,27,32,-34,28,34,-30,29,34,-36,30,36,-32,31,36,-38,29,35,-33,32,35,-39,32,38,-34,33,38,-40,34,40,-36,35,40,-42,36,42,-38,37,42,-44,35,41,-39,38,41,-45,38,44,-40,39,44,-46,40,46,-42,41,46,-48,42,48,-44,43,48,-50,41,47,-45,44,47,-51,44,50,-46,45,50,-52,46,52,-48,47,52,-54,48,54,-50,49,54,-56,47,53,-51,50,53,-57,50,56,-52,51,56,-58,52,58,-54,53,58,-60,54,60,-56,55,60,-62,53,59,-57,56,59,-63,56,62,-58,57,62,-64,58,8,-60,59,8,-10,60,64,-62,61,64,-66,59,9,-63,62,9,-12,62,11,-64,63,11,-11,1,66,-16,15,66,-68,3,68,-2,1,68,-67,21,69,-15,14,69,-71,14,70,-4,3,70,-69,15,67,-17,16,67,-72,27,72,-22,21,72,-70,16,71,-23,22,71,-74,33,74,-28,27,74,-73,22,73,-29,28,73,-76,39,76,-34,33,76,-75,28,75,-35,34,75,-78,45,78,-40,39,78,-77,34,77,-41,40,77,-80,51,80,-46,45,80,-79,40,79,-47,46,79,-82,57,82,-52,51,82,-81,46,81,-53,52,81,-84,63,84,-58,57,84,-83,52,83,-59,58,83,-86,10,86,-64,63,86,-85,58,85,-9,8,85,-88,8,87,-11,10,87,-87,66,88,-68,67,88,-90,68,90,-67,66,90,-89,69,91,-71,70,91,-93,70,92,-69,68,92,-91,67,89,-72,71,89,-94,72,94,-70,69,94,-92,71,93,-74,73,93,-96,74,96,-73,72,96,-95,73,95,-76,75,95,-98,76,98,-75,74,98,-97,75,97,-78,77,97,-100,78,100,-77,76,100,-99,77,99,-80,79,99,-102,80,102,-79,78,102,-101,79,101,-82,81,101,-104,82,104,-81,80,104,-103,81,103,-84,83,103,-106,84,106,-83,82,106,-105,83,105,-86,85,105,-108,86,108,-85,84,108,-107,85,107,-88,87,107,-110,87,109,-87,86,109,-109,88,110,-90,89,110,-112,90,112,-89,88,112,-111,91,113,-93,92,113,-115,92,114,-91,90,114,-113,89,111,-94,93,111,-116,94,116,-92,91,116,-114,93,115,-96,95,115,-118,96,118,-95,94,118,-117,95,117,-98,97,117,-120,98,120,-97,96,120,-119,97,119,-100,99,119,-122,100,122,-99,98,122,-121,99,121,-102,101,121,-124,102,124,-101,100, +124,-123,101,123,-104,103,123,-126,104,126,-103,102,126,-125,103,125,-106,105,125,-128,106,128,-105,104,128,-127,105,127,-108,107,127,-130,108,130,-107,106,130,-129,107,129,-110,109,129,-132,109,131,-109,108,131,-131,110,132,-112,111,132,-134,112,134,-111,110,134,-133,113,135,-115,114,135,-137,114,136,-113,112,136,-135,111,133,-116,115,133,-138,116,138,-114,113,138,-136,115,137,-118,117,137,-140,118,140,-117,116,140,-139,117,139,-120,119,139,-142,142,144,-144,143,144,-146,119,141,-122,121,141,-147,147,148,-143,142,148,-145,121,146,-124,123,146,-150,124,150,-123,122,150,-152,123,149,-126,125,149,-153,126,153,-125,124,153,-151,125,152,-128,127,152,-155,128,155,-127,126,155,-154,127,154,-130,129,154,-157,130,157,-129,128,157,-156,129,156,-132,131,156,-159,131,158,-131,130,158,-158,132,159,-134,133,159,-161,134,161,-133,132,161,-160,135,162,-137,136,162,-164,136,163,-135,134,163,-162,133,160,-138,137,160,-165,138,165,-136,135,165,-163,137,164,-140,139,164,-167,140,167,-139,138,167,-166,139,166,-142,141,166,-169,144,169,-146,145,169,-171,141,168,-147,146,168,-172,148,172,-145,144,172,-170,146,171,-150,149,171,-174,150,174,-152,151,174,-176,149,173,-153,152,173,-177,153,177,-151,150,177,-175,152,176,-155,154,176,-179,155,179,-154,153,179,-178,154,178,-157,156,178,-181,157,181,-156,155,181,-180,156,180,-159,158,180,-183,158,182,-158,157,182,-182,159,183,-161,160,183,-185,161,185,-160,159,185,-184,162,186,-164,163,186,-188,163,187,-162,161,187,-186,160,184,-165,164,184,-189,165,189,-163,162,189,-187,164,188,-167,166,188,-191,167,191,-166,165,191,-190,166,190,-169,168,190,-193,193,194,-168,167,194,-192,168,192,-172,171,192,-196,175,196,-194,193,196,-195,171,195,-174,173,195,-198,174,198,-176,175,198,-197,173,197,-177,176,197,-200,177,200,-175,174,200,-199,176,199,-179,178,199,-202,179,202,-178,177,202,-201,178,201,-181,180,201,-204,181,204,-180,179,204,-203,180,203,-183,182,203,-206,182,205,-182,181,205,-205,183,206,-185,184,206,-208,185,208,-184,183,208,-207,186,209,-188,187,209,-211,187,210,-186,185,210,-209,184,207,-189, +188,207,-212,189,212,-187,186,212,-210,188,211,-191,190,211,-214,191,214,-190,189,214,-213,190,213,-193,192,213,-216,194,216,-192,191,216,-215,192,215,-196,195,215,-218,196,218,-195,194,218,-217,195,217,-198,197,217,-220,198,220,-197,196,220,-219,197,219,-200,199,219,-222,200,222,-199,198,222,-221,199,221,-202,201,221,-224,202,224,-201,200,224,-223,201,223,-204,203,223,-226,204,226,-203,202,226,-225,203,225,-206,205,225,-228,205,227,-205,204,227,-227,206,228,-208,207,228,-230,208,230,-207,206,230,-229,209,231,-211,210,231,-233,210,232,-209,208,232,-231,207,229,-212,211,229,-234,212,234,-210,209,234,-232,211,233,-214,213,233,-236,214,236,-213,212,236,-235,213,235,-216,215,235,-238,216,238,-215,214,238,-237,215,237,-218,217,237,-240,218,240,-217,216,240,-239,217,239,-220,219,239,-242,220,242,-219,218,242,-241,219,241,-222,221,241,-244,222,244,-221,220,244,-243,221,243,-224,223,243,-246,224,246,-223,222,246,-245,223,245,-226,225,245,-248,226,248,-225,224,248,-247,225,247,-228,227,247,-250,227,249,-227,226,249,-249,228,4,-230,229,4,-6,230,6,-229,228,6,-5,231,18,-233,232,18,-8,232,7,-231,230,7,-7,229,5,-234,233,5,-20,234,24,-232,231,24,-19,233,19,-236,235,19,-26,236,30,-235,234,30,-25,235,25,-238,237,25,-32,238,36,-237,236,36,-31,237,31,-240,239,31,-38,240,42,-239,238,42,-37,239,37,-242,241,37,-44,242,48,-241,240,48,-43,241,43,-244,243,43,-50,244,54,-243,242,54,-49,243,49,-246,245,49,-56,246,60,-245,244,60,-55,245,55,-248,247,55,-62,248,64,-247,246,64,-61,247,61,-250,249,61,-66,249,65,-249,248,65,-65,122,250,-121,120,250,-252,193,252,-176,175,252,-254,140,254,-168,167,254,-256,167,255,-194,193,255,-253,120,251,-119,118,251,-257,175,253,-152,151,253,-258,118,256,-141,140,256,-255,151,257,-123,122,257,-251,250,147,-252,251,147,-143,252,169,-254,253,169,-173,254,145,-256,255,145,-171,255,170,-253,252,170,-170,251,142,-257,256,142,-144,253,172,-258,257,172,-149,256,143,-255,254,143,-146,257,148,-251,250,148,-148 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *4608 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,0.86813086271286,0.496335327625275,0,0.868130922317505,0.496335387229919,0,0.868130922317505,0.496335387229919,0,0.868130922317505,0.496335387229919,0,0.868130922317505,0.496335387229919,0,0.86813086271286,0.496335327625275,0,-0.86813086271286,0.496335327625275,0,-0.868130922317505,0.496335387229919,0,-0.868130922317505,0.496335387229919,0,-0.868130922317505,0.496335387229919,0,-0.868130922317505,0.496335387229919,0,-0.86813086271286,0.496335297822952,0,-0,0.496335029602051,0.868131041526794,-0,0.496334999799728,0.86813098192215,-0,0.496334999799728,0.86813098192215,-0,0.496334999799728,0.86813098192215,-0,0.496334999799728,0.86813098192215,-0,0.496334969997406,0.86813098192215,-0.86813086271286,0.496335327625275,0,-0.868130922317505,0.496335387229919,0,-0.86813086271286,0.496335327625275,0,-0.86813086271286,0.496335327625275,0,-0.868130922317505,0.496335387229919,0,-0.868130922317505,0.496335387229919,0,0.868130922317505,0.496335387229919,0,0.86813086271286,0.496335327625275,0,0.868130922317505,0.496335387229919,0,0.868130922317505,0.496335387229919,0,0.86813086271286,0.496335327625275,0,0.86813086271286,0.496335297822952,0,-0,0.496335029602051,-0.868131041526794,-0,0.496334999799728,-0.86813098192215,-0,0.496334999799728,-0.86813098192215,-0,0.496334999799728,-0.86813098192215, +-0,0.496334999799728,-0.86813098192215,-0,0.496334999799728,-0.86813098192215,-0,0.496335029602051,0.868131041526794,-0,0.496334999799728,0.86813098192215,-0,0.496335029602051,0.868131041526794,-0,0.496335029602051,0.868131041526794,-0,0.496334999799728,0.86813098192215,-0,0.496334999799728,0.86813098192215,-0,0.496334999799728,-0.86813098192215,-0,0.496334999799728,-0.86813098192215,-0,0.496334999799728,-0.86813098192215,-0,0.496334999799728,-0.86813098192215,-0,0.496334999799728,-0.86813098192215,-0,0.496334969997406,-0.86813098192215 + } + NormalsW: *1536 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *4608 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0.496335327625275,0.86813086271286,0,-0.496335387229919,0.868130922317505,0,-0.496335387229919,0.868130922317505,0,-0.496335387229919,0.868130922317505,0,-0.496335387229919,0.868130922317505,0,-0.496335327625275,0.86813086271286,0,0.496335327625275,0.86813086271286,-0,0.496335387229919,0.868130922317505,-0,0.496335387229919,0.868130922317505,-0,0.496335387229919,0.868130922317505,-0,0.496335387229919,0.868130922317505,-0,0.496335297822952,0.86813086271286,-0,0,0.868131041526794,-0.496335029602051,0,0.86813098192215,-0.496334999799728,0,0.86813098192215,-0.496334999799728,0,0.86813098192215,-0.496334999799728,0,0.86813098192215,-0.496334999799728,0,0.86813098192215,-0.496334969997406,0.496335327625275,0.86813086271286,-0,0.496335387229919,0.868130922317505,-0,0.496335327625275,0.86813086271286,-0,0.496335327625275,0.86813086271286,-0,0.496335387229919,0.868130922317505,-0,0.496335387229919,0.868130922317505,-0,-0.496335387229919,0.868130922317505,0,-0.496335327625275,0.86813086271286,0,-0.496335387229919,0.868130922317505,0,-0.496335387229919,0.868130922317505,0,-0.496335327625275,0.86813086271286,0,-0.496335297822952,0.86813086271286,0,0,0.868131041526794,0.496335029602051,0,0.86813098192215,0.496334999799728,0,0.86813098192215,0.496334999799728,0,0.86813098192215,0.496334999799728,0,0.86813098192215,0.496334999799728,0,0.86813098192215,0.496334999799728,0,0.868131041526794,-0.496335029602051,0,0.86813098192215,-0.496334999799728,0,0.868131041526794,-0.496335029602051,0,0.868131041526794,-0.496335029602051,0,0.86813098192215,-0.496334999799728,0,0.86813098192215,-0.496334999799728,0,0.86813098192215,0.496334999799728,0,0.86813098192215,0.496334999799728,0,0.86813098192215,0.496334999799728,0,0.86813098192215,0.496334999799728,0,0.86813098192215,0.496334999799728,0,0.86813098192215,0.496334969997406 + } + BinormalsW: *1536 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *4608 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + TangentsW: *1536 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *1544 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *1536 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,186,188,187,187,188,189,159,185,161,161,185,190,191,192,186,186,192,188,161,190,163,163,190,193,164,194,162,162,194,195,163,193,165,165,193,196,166,197,164,164,197,194,165,196,167,167,196,198,168,199,166,166,199,197,167,198,169,169,198,200,170,201,168,168,201,199,169,200,171,171,200,202,172,203,173,173,203,204,174,205,175,175,205,206,176,207,177,177,207,208,178,209,179,179,209,210,179,210,180,180,210,211,175,206,181,181,206,212,182,213,178,178,213,209,181,212,183,183,212,214,184,215,182,182,215,213,183,214,185,185,214,216,188,217,189,189,217,218,185,216,190,190,216,219,192,220,188,188,220,217,190,219,193,193,219,221,194,222,195,195,222,223,193,221,196,196,221,224,197,225,194,194,225,222,196,224,198,198,224,226,199,227,197,197,227,225,198,226,200,200,226,228,201,229,199,199,229,227,200,228,202,202,228,230,203,231,204,204,231,232,205,233,206,206,233,234,207,235,208,208,235,236,209,237,210,210,237,238,210,238,211,211,238,239,206,234,212,212,234,240,213,241,209,209,241,237,212,240,214,214,240,242,215,243,213,213,243,241,214,242,216,216,242,244,245,246,215,215,246,243,216,244,219,219,244,247,223,248,245,245,248,246,219,247,221,221,247,249,222,250,223,223,250,248,221,249,224,224,249,251,225,252,222,222,252,250,224,251,226,226,251,253,227,254,225,225,254,252,226,253,228,228,253,255,229,256,227,227,256,254,228,255,230,230,255,257,231,258,232,232,258,259,233,260,234,234,260,261,235,262,236,236,262,263,237,264,238,238,264,265,238,265,239,239,265,266,234,261,240,240,261,267,241,268,237,237,268,264,240,267,242,242,267,269,243,270,241,241,270,268,242,269,244,244,269,271,246,272,243,243,272,270,244,271,247,247, +271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,248,248,276,274,249,275,251,251,275,277,252,278,250,250,278,276,251,277,253,253,277,279,254,280,252,252,280,278,253,279,255,255,279,281,256,282,254,254,282,280,255,281,257,257,281,283,258,284,259,259,284,285,260,286,261,261,286,287,262,288,263,263,288,289,264,290,265,265,290,291,265,291,266,266,291,292,261,287,267,267,287,293,268,294,264,264,294,290,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,274,274,302,300,275,301,277,277,301,303,278,304,276,276,304,302,277,303,279,279,303,305,280,306,278,278,306,304,279,305,281,281,305,307,282,308,280,280,308,306,281,307,283,283,307,309,284,310,285,285,310,311,286,312,287,287,312,313,288,314,289,289,314,315,290,316,291,291,316,317,291,317,292,292,317,318,287,313,293,293,313,319,294,320,290,290,320,316,293,319,295,295,319,321,296,322,294,294,322,320,295,321,297,297,321,323,298,324,296,296,324,322,297,323,299,299,323,325,300,326,298,298,326,324,299,325,301,301,325,327,302,328,300,300,328,326,301,327,303,303,327,329,304,330,302,302,330,328,303,329,305,305,329,331,306,332,304,304,332,330,305,331,307,307,331,333,308,334,306,306,334,332,307,333,309,309,333,335,310,336,311,311,336,337,338,340,339,339,340,341,342,344,343,343,344,345,346,348,347,347,348,349,350,351,342,342,351,344,339,341,352,352,341,353,354,356,355,355,356,357,358,359,346,346,359,348,355,357,360,360,357,361,362,364,363,363,364,365,366,368,367,367,368,369,370,372,371,371,372,373,374,375,366,366,375,368,363,365,376,376,365,377,378,380,379,379,380,381,382,383,370,370,383,372,379,381,384,384,381,385 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *772 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-2,0,-2,-2,1,-2,0,2,0,2,1,0,-2,1,-2,-1,-3,0,-3,-3,1,-3,0,3,0,3,1,0,-3,1,-3,-1,-4,0,-4,-4,1,-4,0,4,0,4,1,0,-4,1,-4,-1,-5,0,-5,-5,1,-5,0,5,0,5,1,0,-5,1,-5,-1,-6,0,-6,-6,1,-6,0,6,0,6,1,0,-6,1,-6,-1,-7,0,-7,-7,1,-7,0,7,0,7,1,0,-7,1,-7,-1,-8,0,-8,-8,1,-8,0,8,0,8,1,0,-8,1,-8,-1,-9,0,-9,-9,1,-9,0,9,0,9,1,0,-9,1,-9,-1,-10,0,-10,-10,1,-10,0,10,0,10,1,0,-10,1,-10,-2,0,-2,-1,-2,1,-2,0,2,-2,2,-1,2,0,-2,-2,2,-3,-2,-3,2,-4,-2,-4,2,-5,-2,-5,2,-6,-2,-6,2,-7,-2,-7,2,-8,-2,-8,2,-9,-2,-9,2,-10,-2,-10,2,0,2,1,-3,0,-3,-1,-3,1,-3,0,3,-2,3,-1,3,0,-3,-2,3,-3,-3,-3,3,-4,-3,-4,3,-5,-3,-5,3,-6,-3,-6,3,-7,-3,-7,3,-8,-3,-8,3,-9,-3,-9,3,-10,-3,-10,3,0,3,1,-4,0,-4,-1,-4,1,-4,0,4,-2,4,-1,4,0,-4,-2,4,-3,-4,-3,4,-4,-4,-4,4,-5,-4,-5,4,-6,-4,-6,4,-7,-4,-7,4,-8,-4,-8,4,-9,-4,-9,4,-10,-4,-10,4,0,4,1,-5,0,-5,-1,-5,1,-5,0,5,-2,5,-1,5,0,-5,-2,5,-3,-5,-3,5,-4,-5,-4,4.57172870635986,-5,4.57172870635986,-4.57172822952271,5,-5,5,-4.57172822952271,-5,-5,4.57172870635986,-5.42827177047729,5,-5.42827177047729,-5,-6,5,-7,5,-6,-5,-7,5,-8,-5,-8,5,-9,-5,-9,5,-10,-5,-10,5,0,5,1,-6,0,-6,-1,-6,1,-6,0,6,-2,6,-1,6,0,-6,-2,6,-3,-6,-3,6,-4,-6,-4,5.42827129364014,-5,5.42827129364014,-4.57172822952271,-6,-5,5.42827129364014,-5.42827177047729,-6,-6,6,-7,6,-6,-6,-7,6,-8,-6,-8,6,-9,-6,-9,6,-10,-6,-10,6,0,6,1,-7,0,-7,-1,-7,1,-7,0,7,-2,7,-1,7,0,-7,-2,7,-3,-7,-3,7,-4,-7,-4,6,-5,7,-5,-7,-5,7,-6,-7,-6,7,-7,-7,-7,7,-8,-7,-8,7,-9,-7,-9,7,-10,-7,-10,7,0,7,1,-8,0,-8,-1,-8,1,-8,0,8,-2,8,-1,8,0,-8,-2,8,-3,-8,-3,8,-4,-8,-4,8,-5,-8,-5,8,-6,-8,-6,8,-7,-8,-7,8,-8,-8,-8,8,-9,-8,-9,8,-10,-8,-10,8,0,8,1,-9,0,-9,-1,-9,1,-9,0,9,-2,9,-1,9,0,-9,-2,9,-3,-9,-3,9,-4,-9,-4,9,-5,-9,-5,9,-6,-9,-6,9,-7,-9,-7,9,-8,-9,-8,9,-9,-9,-9,9,-10,-9,-10,9,0,9,1,-10,0,-10,-1,-10,1,-10,0,10,-2,10,-1,10,0,-10,-2,10,-3,-10,-3,10,-4,-10,-4,10,-5,-10,-5,10,-6,-10,-6,10,-7,-10,-7,10,-8,-10,-8,10,-9,-10,-9,10,-10,-10,-10,10,0,10,1,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,-5,1,-6,1,-5,2,-6,2,-4,1,-4, +2,4,1,4,2,6,1,5,1,6,2,5,2,-4,1,-4,2,4,1,4,2,6,3.72160339355469,5,3.72160339355469,5.42827177047729,4.8735032081604,5,4.8735032081604,-5,-1.24175024032593,-6,-1.24175024032593,-5,-0.0898502022027969,-5.42827177047729,-0.0898502022027969,-5,3.72160243988037,-6,3.72160243988037,-5,4.87350225448608,-5.42827129364014,4.87350225448608,-4,-1.24175024032593,-4.57172822952271,-0.0898502022027969,4,3.72160339355469,4.57172822952271,4.8735032081604,6,-1.24174809455872,5,-1.24174809455872,5.42827129364014,-0.0898482874035835,5,-0.0898482874035835,-4,3.72160243988037,-4.57172870635986,4.87350225448608,4,-1.24174809455872,4.57172870635986,-0.0898482874035835 + } + UVIndex: *1536 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,186,188,187,187,188,189,159,185,161,161,185,190,191,192,186,186,192,188,161,190,163,163,190,193,164,194,162,162,194,195,163,193,165,165,193,196,166,197,164,164,197,194,165,196,167,167,196,198,168,199,166,166,199,197,167,198,169,169,198,200,170,201,168,168,201,199,169,200,171,171,200,202,172,203,173,173,203,204,174,205,175,175,205,206,176,207,177,177,207,208,178,209,179,179,209,210,179,210,180,180,210,211,175,206,181,181,206,212,182,213,178,178,213,209,181,212,183,183,212,214,184,215,182,182,215,213,183,214,185,185,214,216,188,217,189,189,217,218,185,216,190,190,216,219,192,220,188,188,220,217,190,219,193,193,219,221,194,222,195,195,222,223,193,221,196,196,221,224,197,225,194,194,225,222,196,224,198,198,224,226,199,227,197,197,227,225,198,226,200,200,226,228,201,229,199,199,229,227,200,228,202,202,228,230,203,231,204,204,231,232,205,233,206,206,233,234,207,235,208,208,235,236,209,237,210,210,237,238,210,238,211,211,238,239,206,234,212,212,234,240,213,241,209,209,241,237,212,240,214,214,240,242,215,243,213,213,243,241,214,242,216,216,242,244,245,246,215,215,246,243,216,244,219,219,244,247,223,248,245,245,248,246,219,247,221,221,247,249,222,250,223,223,250,248,221,249,224,224,249,251,225,252,222,222,252,250,224,251,226,226,251,253,227,254,225,225,254,252,226,253,228,228,253,255,229,256,227,227,256,254,228,255,230,230,255,257,231,258,232,232,258,259,233,260,234,234,260,261,235,262,236,236,262,263,237,264,238,238,264,265,238,265,239,239,265,266,234,261,240,240,261,267,241,268,237,237,268,264,240,267,242,242,267,269,243,270,241,241,270,268,242,269,244,244,269,271,246,272,243,243,272,270,244,271,247,247, +271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,248,248,276,274,249,275,251,251,275,277,252,278,250,250,278,276,251,277,253,253,277,279,254,280,252,252,280,278,253,279,255,255,279,281,256,282,254,254,282,280,255,281,257,257,281,283,258,284,259,259,284,285,260,286,261,261,286,287,262,288,263,263,288,289,264,290,265,265,290,291,265,291,266,266,291,292,261,287,267,267,287,293,268,294,264,264,294,290,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,274,274,302,300,275,301,277,277,301,303,278,304,276,276,304,302,277,303,279,279,303,305,280,306,278,278,306,304,279,305,281,281,305,307,282,308,280,280,308,306,281,307,283,283,307,309,284,310,285,285,310,311,286,312,287,287,312,313,288,314,289,289,314,315,290,316,291,291,316,317,291,317,292,292,317,318,287,313,293,293,313,319,294,320,290,290,320,316,293,319,295,295,319,321,296,322,294,294,322,320,295,321,297,297,321,323,298,324,296,296,324,322,297,323,299,299,323,325,300,326,298,298,326,324,299,325,301,301,325,327,302,328,300,300,328,326,301,327,303,303,327,329,304,330,302,302,330,328,303,329,305,305,329,331,306,332,304,304,332,330,305,331,307,307,331,333,308,334,306,306,334,332,307,333,309,309,333,335,310,336,311,311,336,337,338,340,339,339,340,341,342,344,343,343,344,345,346,348,347,347,348,349,350,351,342,342,351,344,339,341,352,352,341,353,354,356,355,355,356,357,358,359,346,346,359,348,355,357,360,360,357,361,362,364,363,363,364,365,366,368,367,367,368,369,370,372,371,371,372,373,374,375,366,366,375,368,363,365,376,376,365,377,378,380,379,379,380,381,382,383,370,370,383,372,379,381,384,384,381,385 + } + } + LayerElementUV: 1 { + Version: 101 + Name: "UVSet1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *772 { + a: 0.00400000018998981,0.657420337200165,0.0530322641134262,0.657420337200165,0.00400000065565109,0.706452548503876,0.0530322641134262,0.706452548503876,0.00400000484660268,0.498323649168015,0.0530322529375553,0.498323649168015,0.00400000018998981,0.547355771064758,0.0530322454869747,0.547355771064758,0.445289462804794,0.604388117790222,0.494321703910828,0.604388117790222,0.445289462804794,0.653420329093933,0.494321703910828,0.653420329093933,0.445289462804794,0.551355838775635,0.494321703910828,0.551355838775635,0.445289462804794,0.600387990474701,0.494321703910828,0.600387990474701,0.988644897937775,0.00400011613965034,0.988644957542419,0.0530323833227158,0.939612746238708,0.0040001873858273,0.939612746238708,0.0530323870480061,0.00400011800229549,0.053032923489809,0.0530323684215546,0.0530328378081322,0.00400000018998981,0.00400071917101741,0.0530322901904583,0.00400064280256629,0.0530324541032314,0.102065026760101,0.00400024047121406,0.102065101265907,0.102064415812492,0.547355830669403,0.102064423263073,0.498323649168015,0.396257311105728,0.551355838775635,0.396257311105728,0.600387990474701,0.890580534934998,0.00400022324174643,0.890580594539642,0.0530324019491673,0.0530325323343277,0.151097163558006,0.00400035781785846,0.151097223162651,0.151096597313881,0.547355830669403,0.151096597313881,0.498323649168015,0.34722512960434,0.551355838775635,0.34722512960434,0.600387990474701,0.841548442840576,0.00400024140253663,0.841548442840576,0.0530324131250381,0.0530325807631016,0.200129270553589,0.00400044722482562,0.200129300355911,0.200128778815269,0.547355830669403,0.200128778815269,0.498323649168015,0.298192918300629,0.551355838775635,0.298192948102951,0.600387990474701,0.79251629114151,0.00400021811947227,0.79251629114151,0.0530324131250381,0.0530325919389725,0.249161347746849,0.00400049285963178,0.249161332845688,0.249160900712013,0.547355830669403,0.249160900712013,0.498323619365692,0.249160826206207,0.551355838775635,0.249160826206207,0.600388050079346,0.743484139442444,0.00400019064545631, +0.743484139442444,0.0530324019491673,0.0530325621366501,0.298193365335464,0.00400048727169633,0.29819330573082,0.298193037509918,0.547355830669403,0.298193007707596,0.498323619365692,0.200128689408302,0.551355838775635,0.200128689408302,0.600388050079346,0.694451987743378,0.00400017015635967,0.694451987743378,0.0530323721468449,0.0530324876308441,0.347225397825241,0.00400043511763215,0.347225308418274,0.347225159406662,0.547355830669403,0.347225159406662,0.498323619365692,0.151096537709236,0.551355838775635,0.151096552610397,0.600388050079346,0.645419836044312,0.00400011334568262,0.645419776439667,0.0530323535203934,0.0530323833227158,0.396257370710373,0.00400035176426172,0.396257251501083,0.396257311105728,0.547355830669403,0.396257311105728,0.49832358956337,0.102064400911331,0.551355838775635,0.102064408361912,0.600388050079346,0.596387624740601,0.00400006305426359,0.596387624740601,0.0530323274433613,0.0530322305858135,0.445289433002472,0.00400020787492394,0.445289254188538,0.445289552211761,0.547355830669403,0.445289552211761,0.49832358956337,0.0530321560800076,0.551355838775635,0.0530321672558784,0.600388050079346,0.54735541343689,0.00400002626702189,0.547355353832245,0.0530322939157486,0.053032074123621,0.494321435689926,0.00400000018998981,0.494321227073669,0.49432173371315,0.547355771064758,0.494321703910828,0.498323559761047,0.00400000018998981,0.551355838775635,0.00400001183152199,0.60038810968399,0.498323231935501,0.00400000018998981,0.498323231935501,0.053032286465168,0.102064438164234,0.00400053383782506,0.102064527571201,0.0530327148735523,0.102064453065395,0.706452548503876,0.102064445614815,0.657420337200165,0.890580594539642,0.102064549922943,0.939612746238708,0.102064542472363,0.988644957542419,0.102064535021782,0.102064594626427,0.102064929902554,0.841548442840576,0.102064549922943,0.102064654231071,0.1510970890522,0.79251629114151,0.102064549922943,0.102064676582813,0.200129240751266,0.743484139442444,0.102064542472363,0.102064654231071,0.249161347746849,0.694451928138733,0.102064527571201,0.102064594626427, +0.298193454742432,0.645419716835022,0.102064520120621,0.10206451267004,0.347225487232208,0.596387565135956,0.102064490318298,0.102064400911331,0.396257519721985,0.547355353832245,0.102064460515976,0.10206426680088,0.445289552211761,0.498323202133179,0.102064453065395,0.102064102888107,0.494321554899216,0.396257251501083,0.604388117790222,0.396257251501083,0.653420329093933,0.15109658241272,0.00400040997192264,0.151096656918526,0.0530326403677464,0.151096552610397,0.706452548503876,0.151096552610397,0.657420337200165,0.890580594539642,0.151096642017365,0.939612746238708,0.151096642017365,0.988644897937775,0.151096642017365,0.151096701622009,0.102064870297909,0.841548383235931,0.151096656918526,0.151096731424332,0.151097059249878,0.792516231536865,0.151096671819687,0.151096746325493,0.200129240751266,0.743484079837799,0.151096686720848,0.151096701622009,0.249161377549171,0.694451868534088,0.151096671819687,0.151096627116203,0.298193484544754,0.645419716835022,0.151096642017365,0.151096522808075,0.347225576639175,0.596387505531311,0.151096627116203,0.151096388697624,0.396257638931274,0.5473552942276,0.151096612215042,0.151096254587173,0.445289701223373,0.498323172330856,0.151096597313881,0.151096075773239,0.494321703910828,0.347225159406662,0.604388117790222,0.347225159406662,0.653420329093933,0.200128778815269,0.00400029914453626,0.200128853321075,0.0530325695872307,0.200128749012947,0.706452548503876,0.200128749012947,0.657420337200165,0.890580594539642,0.200128778815269,0.939612746238708,0.200128749012947,0.988644897937775,0.200128719210625,0.200128883123398,0.102064825594425,0.841548442840576,0.200128793716431,0.200128898024559,0.151097044348717,0.792516231536865,0.200128823518753,0.200128883123398,0.200129255652428,0.743484079837799,0.200128853321075,0.200128823518753,0.249161422252655,0.694451868534088,0.200128853321075,0.200128734111786,0.298193573951721,0.645419657230377,0.200128823518753,0.200128614902496,0.347225695848465,0.596387505531311,0.200128823518753,0.200128465890884,0.396257787942886,0.5473552942276, +0.200128793716431,0.200128301978111,0.445289880037308,0.498323142528534,0.200128763914108,0.200128093361855,0.494321882724762,0.298192948102951,0.604388117790222,0.298192948102951,0.653420329093933,0.249161019921303,0.00400020042434335,0.249161064624786,0.0530325099825859,0.249160870909691,0.706452548503876,0.249160870909691,0.657420337200165,0.890580594539642,0.249160870909691,0.939612746238708,0.249160826206207,0.988644897937775,0.249160781502724,0.249161094427109,0.102064795792103,0.841548442840576,0.249160900712013,0.249161094427109,0.151097059249878,0.792516231536865,0.249160945415497,0.249161049723625,0.200129270553589,0.0249991193413734,0.914581418037415,0.0459982380270958,0.914581418037415,0.0249991193413734,0.935580492019653,0.0459982380270958,0.935580492019653,0.24916099011898,0.2491614818573,0.00400000112131238,0.914581418037415,0.00400000065565109,0.935580492019653,0.249160885810852,0.298193663358688,0.645419657230377,0.249161019921303,0.694451808929443,0.249161005020142,0.24916073679924,0.347225815057755,0.596387445926666,0.24916099011898,0.249160587787628,0.396257936954498,0.547355234622955,0.249160960316658,0.24916036427021,0.445290058851242,0.498323082923889,0.249160930514336,0.249160125851631,0.494322091341019,0.249160841107368,0.604388117790222,0.249160841107368,0.653420329093933,0.298193275928497,0.0040001142770052,0.29819330573082,0.0530324690043926,0.298192977905273,0.706452548503876,0.298192977905273,0.657420337200165,0.890580654144287,0.298193007707596,0.939612805843353,0.298192948102951,0.988644957542419,0.298192828893661,0.298193335533142,0.102064773440361,0.841548442840576,0.298193067312241,0.29819330573082,0.151097059249878,0.792516231536865,0.298193097114563,0.298193246126175,0.200129315257072,0.0249991193413734,0.956579566001892,0.0459982380270958,0.956579566001892,0.298193156719208,0.249161556363106,0.00400000018998981,0.956579566001892,0.298193037509918,0.298193752765656,0.645419597625732,0.29819318652153,0.694451808929443,0.298193156719208,0.298192888498306,0.347225964069366,0.596387386322021, +0.29819318652153,0.298192709684372,0.396258115768433,0.547355175018311,0.298193156719208,0.298192471265793,0.445290267467499,0.498322993516922,0.298193126916885,0.298192203044891,0.49432235956192,0.200128719210625,0.604388117790222,0.200128719210625,0.653420329093933,0.347225606441498,0.00400004349648952,0.34722563624382,0.0530324429273605,0.34722512960434,0.706452548503876,0.34722512960434,0.657420337200165,0.890580713748932,0.347225159406662,0.939612865447998,0.347225069999695,0.988645017147064,0.347224950790405,0.347225606441498,0.102064780890942,0.841548502445221,0.347225219011307,0.347225576639175,0.1510970890522,0.79251629114151,0.347225278615952,0.347225487232208,0.200129374861717,0.743484020233154,0.298193126916885,0.743484079837799,0.347225308418274,0.347225368022919,0.249161645770073,0.694451868534088,0.347225338220596,0.347225248813629,0.298193901777267,0.645419597625732,0.347225397825241,0.347225069999695,0.347226113080978,0.596387386322021,0.347225397825241,0.347224861383438,0.396258324384689,0.547355115413666,0.347225397825241,0.347224622964859,0.445290505886078,0.498322933912277,0.347225338220596,0.347224324941635,0.494322657585144,0.15109658241272,0.604388117790222,0.15109658241272,0.653420329093933,0.396257996559143,0.00400000158697367,0.396257966756821,0.0530324354767799,0.396257340908051,0.706452548503876,0.396257340908051,0.657420337200165,0.890580773353577,0.396257340908051,0.939612984657288,0.396257251501083,0.988645136356354,0.396257132291794,0.396257936954498,0.102064795792103,0.841548502445221,0.396257400512695,0.396257877349854,0.151097148656845,0.79251629114151,0.39625746011734,0.396257758140564,0.200129464268684,0.743484079837799,0.396257519721985,0.396257638931274,0.249161764979362,0.694451868534088,0.39625757932663,0.39625746011734,0.298194020986557,0.645419657230377,0.396257609128952,0.396257281303406,0.347226291894913,0.596387386322021,0.396257638931274,0.396257072687149,0.396258533000946,0.547355115413666,0.396257638931274,0.396256804466248,0.445290774106979,0.498322874307632,0.396257638931274, +0.396256506443024,0.494322955608368,0.102064363658428,0.604388117790222,0.102064363658428,0.653420329093933,0.445290416479111,0.00400000018998981,0.445290356874466,0.0530324503779411,0.445289582014084,0.706452548503876,0.445289582014084,0.657420337200165,0.890580832958221,0.445289552211761,0.939613044261932,0.445289462804794,0.988645255565643,0.445289373397827,0.445290297269821,0.102064855396748,0.841548562049866,0.445289611816406,0.445290178060532,0.151097223162651,0.792516350746155,0.445289671421051,0.445290058851242,0.200129568576813,0.743484079837799,0.445289731025696,0.44528990983963,0.249161899089813,0.694451868534088,0.445289790630341,0.445289731025696,0.298194199800491,0.645419657230377,0.445289820432663,0.445289522409439,0.347226500511169,0.596387386322021,0.445289880037308,0.44528928399086,0.396258771419525,0.547355115413666,0.44528990983963,0.445289045572281,0.445291042327881,0.498322814702988,0.445289939641953,0.445288747549057,0.494323253631592,0.0530321411788464,0.604388117790222,0.0530321337282658,0.653420329093933,0.494322806596756,0.00400005141273141,0.494322717189789,0.0530325174331665,0.494321703910828,0.706452548503876,0.494321703910828,0.657420337200165,0.890580832958221,0.49432173371315,0.939613103866577,0.49432161450386,0.988645374774933,0.494321525096893,0.494322627782822,0.102064952254295,0.84154862165451,0.494321823120117,0.494322508573532,0.151097312569618,0.792516350746155,0.494321882724762,0.494322389364243,0.200129687786102,0.743484139442444,0.494321912527084,0.494322210550308,0.249162048101425,0.694451928138733,0.494321972131729,0.494322001934052,0.298194378614426,0.645419716835022,0.494322031736374,0.494321793317795,0.347226679325104,0.596387445926666,0.494322091341019,0.494321525096893,0.396258980035782,0.547355175018311,0.494322180747986,0.494321227073669,0.445291310548782,0.49832284450531,0.494322270154953,0.494320929050446,0.494323551654816,0.00400000810623169,0.604388058185577,0.00400000018998981,0.653420329093933,0.113512396812439,0.710452556610107,0.11351240426302,0.759484827518463, +0.162544548511505,0.710452556610107,0.162544548511505,0.759484767913818,0.00400000903755426,0.861549258232117,0.00400000018998981,0.910581350326538,0.0530321523547173,0.861549198627472,0.0530321225523949,0.910581409931183,0.109512336552143,0.759484887123108,0.10951229929924,0.808516979217529,0.0604801960289478,0.759484767913818,0.0604801811277866,0.808516979217529,0.00400000018998981,0.812516987323761,0.053032148629427,0.812516987323761,0.113512396812439,0.808516919612885,0.162544518709183,0.808516979217529,0.113512396812439,0.910581409931183,0.11351240426302,0.861549139022827,0.162544548511505,0.910581409931183,0.162544548511505,0.861549198627472,0.109512396156788,0.710452616214752,0.060480248183012,0.710452556610107,0.113512396812439,0.812517046928406,0.162544518709183,0.812516987323761,0.162544548511505,0.710452556610107,0.162544548511505,0.759484767913818,0.219024762511253,0.73848569393158,0.219024747610092,0.759484827518463,0.0530321523547173,0.861549198627472,0.0530321225523949,0.910581409931183,0.109512351453304,0.861549198627472,0.109512336552143,0.882548332214355,0.0604801960289478,0.759484767913818,0.0604801811277866,0.808516979217529,0.00400001090019941,0.759484767913818,0.00400000018998981,0.780483841896057,0.053032148629427,0.812516987323761,0.109512366354465,0.840550124645233,0.162544518709183,0.808516979217529,0.219024732708931,0.780483901500702,0.162544548511505,0.910581409931183,0.162544548511505,0.861549198627472,0.219024747610092,0.882548272609711,0.219024732708931,0.861549198627472,0.060480248183012,0.710452556610107,0.00400001183152199,0.738485634326935,0.162544518709183,0.812516987323761,0.219024732708931,0.840550065040588 + } + UVIndex: *1536 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,186,188,187,187,188,189,159,185,161,161,185,190,191,192,186,186,192,188,161,190,163,163,190,193,164,194,162,162,194,195,163,193,165,165,193,196,166,197,164,164,197,194,165,196,167,167,196,198,168,199,166,166,199,197,167,198,169,169,198,200,170,201,168,168,201,199,169,200,171,171,200,202,172,203,173,173,203,204,174,205,175,175,205,206,176,207,177,177,207,208,178,209,179,179,209,210,179,210,180,180,210,211,175,206,181,181,206,212,182,213,178,178,213,209,181,212,183,183,212,214,184,215,182,182,215,213,183,214,185,185,214,216,188,217,189,189,217,218,185,216,190,190,216,219,192,220,188,188,220,217,190,219,193,193,219,221,194,222,195,195,222,223,193,221,196,196,221,224,197,225,194,194,225,222,196,224,198,198,224,226,199,227,197,197,227,225,198,226,200,200,226,228,201,229,199,199,229,227,200,228,202,202,228,230,203,231,204,204,231,232,205,233,206,206,233,234,207,235,208,208,235,236,209,237,210,210,237,238,210,238,211,211,238,239,206,234,212,212,234,240,213,241,209,209,241,237,212,240,214,214,240,242,215,243,213,213,243,241,214,242,216,216,242,244,245,246,215,215,246,243,216,244,219,219,244,247,223,248,245,245,248,246,219,247,221,221,247,249,222,250,223,223,250,248,221,249,224,224,249,251,225,252,222,222,252,250,224,251,226,226,251,253,227,254,225,225,254,252,226,253,228,228,253,255,229,256,227,227,256,254,228,255,230,230,255,257,231,258,232,232,258,259,233,260,234,234,260,261,235,262,236,236,262,263,237,264,238,238,264,265,238,265,239,239,265,266,234,261,240,240,261,267,241,268,237,237,268,264,240,267,242,242,267,269,243,270,241,241,270,268,242,269,244,244,269,271,246,272,243,243,272,270,244,271,247,247, +271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,248,248,276,274,249,275,251,251,275,277,252,278,250,250,278,276,251,277,253,253,277,279,254,280,252,252,280,278,253,279,255,255,279,281,256,282,254,254,282,280,255,281,257,257,281,283,258,284,259,259,284,285,260,286,261,261,286,287,262,288,263,263,288,289,264,290,265,265,290,291,265,291,266,266,291,292,261,287,267,267,287,293,268,294,264,264,294,290,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,274,274,302,300,275,301,277,277,301,303,278,304,276,276,304,302,277,303,279,279,303,305,280,306,278,278,306,304,279,305,281,281,305,307,282,308,280,280,308,306,281,307,283,283,307,309,284,310,285,285,310,311,286,312,287,287,312,313,288,314,289,289,314,315,290,316,291,291,316,317,291,317,292,292,317,318,287,313,293,293,313,319,294,320,290,290,320,316,293,319,295,295,319,321,296,322,294,294,322,320,295,321,297,297,321,323,298,324,296,296,324,322,297,323,299,299,323,325,300,326,298,298,326,324,299,325,301,301,325,327,302,328,300,300,328,326,301,327,303,303,327,329,304,330,302,302,330,328,303,329,305,305,329,331,306,332,304,304,332,330,305,331,307,307,331,333,308,334,306,306,334,332,307,333,309,309,333,335,310,336,311,311,336,337,338,340,339,339,340,341,342,344,343,343,344,345,346,348,347,347,348,349,350,351,342,342,351,344,339,341,352,352,341,353,354,356,355,355,356,357,358,359,346,346,359,348,355,357,360,360,357,361,362,364,363,363,364,365,366,368,367,367,368,369,370,372,371,371,372,373,374,375,366,366,375,368,363,365,376,376,365,377,378,380,379,379,380,381,382,383,370,370,383,372,379,381,384,384,381,385 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "Material" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + Layer: 1 { + Version: 100 + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 1 + } + } + } + Model: 1145317840, "Model::ProB_Floor_10x10", "Mesh" { + Version: 232 + Properties70: { + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + } + Shading: W + Culling: "CullingOff" + } + Material: 1145451712, "Material::Default_Prototype_Blue", "" { + Version: 102 + ShadingModel: "lambert" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",1,1,1 + P: "BumpFactor", "double", "Number", "",0 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",1,1,1 + P: "Opacity", "double", "Number", "",1 + } + } + Video: 1145452512, "Video::DiffuseColor_Texture", "Clip" { + Type: "Clip" + Properties70: { + P: "Path", "KString", "XRefUrl", "", "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_blue.png" + } + UseMipMap: 0 + Filename: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_blue.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_blue.png" + } + Texture: 294702400, "Texture::DiffuseColor_Texture", "" { + Type: "TextureVideoClip" + Version: 202 + TextureName: "Texture::DiffuseColor_Texture" + Media: "Video::DiffuseColor_Texture" + FileName: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_blue.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_blue.png" + ModelUVTranslation: 0,0 + ModelUVScaling: 1,1 + Texture_Alpha_Source: "None" + Cropping: 0,0,0,0 + } +} + +; Object connections +;------------------------------------------------------------------ + +Connections: { + + ;Model::ProB_Floor_10x10, Model::RootNode + C: "OO",1145317840,0 + + ;Material::Default_Prototype_Blue, Model::ProB_Floor_10x10 + C: "OO",1145451712,1145317840 + + ;Geometry::Scene, Model::ProB_Floor_10x10 + C: "OO",1143820080,1145317840 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype_Blue + C: "OO",294702400,1145451712 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype_Blue + C: "OP",294702400,1145451712, "DiffuseColor" + + ;Video::DiffuseColor_Texture, Texture::DiffuseColor_Texture + C: "OO",1145452512,294702400 +} +;Takes section +;---------------------------------------------------- + +Takes: { + Current: "" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10_BluePedestal.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10_BluePedestal.fbx.meta new file mode 100644 index 00000000..ab49592d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x10_BluePedestal.fbx.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: fb8b35ae430517a4989c461955168bec +timeCreated: 1508437555 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: Default_Prototype_Blue + 2300000: //RootNode + 3300000: //RootNode + 4300000: ProB_Floor_10x10 + externalObjects: {} + materials: + importMaterials: 1 + materialName: 1 + materialSearch: 2 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x4.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x4.fbx new file mode 100644 index 00000000..8988f955 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x4.fbx @@ -0,0 +1,568 @@ +; FBX 7.4.0 project file +; Copyright (C) 1997-2015 Autodesk Inc. and/or its licensors. +; All rights reserved. +; ---------------------------------------------------- + +FBXHeaderExtension: { + FBXHeaderVersion: 1003 + FBXVersion: 7400 + CreationTimeStamp: { + Version: 1000 + Year: 2017 + Month: 10 + Day: 19 + Hour: 13 + Minute: 25 + Second: 32 + Millisecond: 787 + } + Creator: "FBX SDK/FBX Plugins version 2017.1" + SceneInfo: "SceneInfo::GlobalInfo", "UserData" { + Type: "UserData" + Version: 100 + MetaData: { + Version: 100 + Title: "exports static meshes with materials and textures" + Subject: "" + Author: "Unity Technologies" + Keywords: "export mesh materials textures uvs" + Revision: "1.0" + Comment: "" + } + Properties70: { + P: "DocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp1690411c.tmp" + P: "SrcDocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp1690411c.tmp" + P: "Original", "Compound", "", "" + P: "Original|ApplicationVendor", "KString", "", "", "" + P: "Original|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "Original|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "Original|DateTime_GMT", "DateTime", "", "", "" + P: "Original|FileName", "KString", "", "", "" + P: "LastSaved", "Compound", "", "" + P: "LastSaved|ApplicationVendor", "KString", "", "", "" + P: "LastSaved|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "LastSaved|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "LastSaved|DateTime_GMT", "DateTime", "", "", "" + } + } +} +GlobalSettings: { + Version: 1000 + Properties70: { + P: "UpAxis", "int", "Integer", "",1 + P: "UpAxisSign", "int", "Integer", "",1 + P: "FrontAxis", "int", "Integer", "",2 + P: "FrontAxisSign", "int", "Integer", "",1 + P: "CoordAxis", "int", "Integer", "",0 + P: "CoordAxisSign", "int", "Integer", "",1 + P: "OriginalUpAxis", "int", "Integer", "",-1 + P: "OriginalUpAxisSign", "int", "Integer", "",1 + P: "UnitScaleFactor", "double", "Number", "",1 + P: "OriginalUnitScaleFactor", "double", "Number", "",1 + P: "AmbientColor", "ColorRGB", "Color", "",0,0,0 + P: "DefaultCamera", "KString", "", "", "Producer Perspective" + P: "TimeMode", "enum", "", "",0 + P: "TimeProtocol", "enum", "", "",2 + P: "SnapOnFrameMode", "enum", "", "",0 + P: "TimeSpanStart", "KTime", "Time", "",0 + P: "TimeSpanStop", "KTime", "Time", "",46186158000 + P: "CustomFrameRate", "double", "Number", "",-1 + P: "TimeMarker", "Compound", "", "" + P: "CurrentTimeMarker", "int", "Integer", "",-1 + } +} + +; Documents Description +;------------------------------------------------------------------ + +Documents: { + Count: 1 + Document: 1579411376, "Scene", "Scene" { + Properties70: { + P: "SourceObject", "object", "", "" + P: "ActiveAnimStackName", "KString", "", "", "" + } + RootNode: 0 + } +} + +; Document References +;------------------------------------------------------------------ + +References: { +} + +; Object definitions +;------------------------------------------------------------------ + +Definitions: { + Version: 100 + Count: 7 + ObjectType: "GlobalSettings" { + Count: 1 + } + ObjectType: "Model" { + Count: 1 + PropertyTemplate: "FbxNode" { + Properties70: { + P: "QuaternionInterpolate", "enum", "", "",0 + P: "RotationOffset", "Vector3D", "Vector", "",0,0,0 + P: "RotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0 + P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "TranslationActive", "bool", "", "",0 + P: "TranslationMin", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMax", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMinX", "bool", "", "",0 + P: "TranslationMinY", "bool", "", "",0 + P: "TranslationMinZ", "bool", "", "",0 + P: "TranslationMaxX", "bool", "", "",0 + P: "TranslationMaxY", "bool", "", "",0 + P: "TranslationMaxZ", "bool", "", "",0 + P: "RotationOrder", "enum", "", "",0 + P: "RotationSpaceForLimitOnly", "bool", "", "",0 + P: "RotationStiffnessX", "double", "Number", "",0 + P: "RotationStiffnessY", "double", "Number", "",0 + P: "RotationStiffnessZ", "double", "Number", "",0 + P: "AxisLen", "double", "Number", "",10 + P: "PreRotation", "Vector3D", "Vector", "",0,0,0 + P: "PostRotation", "Vector3D", "Vector", "",0,0,0 + P: "RotationActive", "bool", "", "",0 + P: "RotationMin", "Vector3D", "Vector", "",0,0,0 + P: "RotationMax", "Vector3D", "Vector", "",0,0,0 + P: "RotationMinX", "bool", "", "",0 + P: "RotationMinY", "bool", "", "",0 + P: "RotationMinZ", "bool", "", "",0 + P: "RotationMaxX", "bool", "", "",0 + P: "RotationMaxY", "bool", "", "",0 + P: "RotationMaxZ", "bool", "", "",0 + P: "InheritType", "enum", "", "",0 + P: "ScalingActive", "bool", "", "",0 + P: "ScalingMin", "Vector3D", "Vector", "",0,0,0 + P: "ScalingMax", "Vector3D", "Vector", "",1,1,1 + P: "ScalingMinX", "bool", "", "",0 + P: "ScalingMinY", "bool", "", "",0 + P: "ScalingMinZ", "bool", "", "",0 + P: "ScalingMaxX", "bool", "", "",0 + P: "ScalingMaxY", "bool", "", "",0 + P: "ScalingMaxZ", "bool", "", "",0 + P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1 + P: "MinDampRangeX", "double", "Number", "",0 + P: "MinDampRangeY", "double", "Number", "",0 + P: "MinDampRangeZ", "double", "Number", "",0 + P: "MaxDampRangeX", "double", "Number", "",0 + P: "MaxDampRangeY", "double", "Number", "",0 + P: "MaxDampRangeZ", "double", "Number", "",0 + P: "MinDampStrengthX", "double", "Number", "",0 + P: "MinDampStrengthY", "double", "Number", "",0 + P: "MinDampStrengthZ", "double", "Number", "",0 + P: "MaxDampStrengthX", "double", "Number", "",0 + P: "MaxDampStrengthY", "double", "Number", "",0 + P: "MaxDampStrengthZ", "double", "Number", "",0 + P: "PreferedAngleX", "double", "Number", "",0 + P: "PreferedAngleY", "double", "Number", "",0 + P: "PreferedAngleZ", "double", "Number", "",0 + P: "LookAtProperty", "object", "", "" + P: "UpVectorProperty", "object", "", "" + P: "Show", "bool", "", "",1 + P: "NegativePercentShapeSupport", "bool", "", "",1 + P: "DefaultAttributeIndex", "int", "Integer", "",-1 + P: "Freeze", "bool", "", "",0 + P: "LODBox", "bool", "", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0 + P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1 + P: "Visibility", "Visibility", "", "A",1 + P: "Visibility Inheritance", "Visibility Inheritance", "", "",1 + } + } + } + ObjectType: "Geometry" { + Count: 2 + PropertyTemplate: "FbxMesh" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BBoxMin", "Vector3D", "Vector", "",0,0,0 + P: "BBoxMax", "Vector3D", "Vector", "",0,0,0 + P: "Primary Visibility", "bool", "", "",1 + P: "Casts Shadows", "bool", "", "",1 + P: "Receive Shadows", "bool", "", "",1 + } + } + } + ObjectType: "Material" { + Count: 1 + PropertyTemplate: "FbxSurfaceLambert" { + Properties70: { + P: "ShadingModel", "KString", "", "", "Lambert" + P: "MultiLayer", "bool", "", "",0 + P: "EmissiveColor", "Color", "", "A",0,0,0 + P: "EmissiveFactor", "Number", "", "A",1 + P: "AmbientColor", "Color", "", "A",0.2,0.2,0.2 + P: "AmbientFactor", "Number", "", "A",1 + P: "DiffuseColor", "Color", "", "A",0.8,0.8,0.8 + P: "DiffuseFactor", "Number", "", "A",1 + P: "Bump", "Vector3D", "Vector", "",0,0,0 + P: "NormalMap", "Vector3D", "Vector", "",0,0,0 + P: "BumpFactor", "double", "Number", "",1 + P: "TransparentColor", "Color", "", "A",0,0,0 + P: "TransparencyFactor", "Number", "", "A",0 + P: "DisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "DisplacementFactor", "double", "Number", "",1 + P: "VectorDisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "VectorDisplacementFactor", "double", "Number", "",1 + } + } + } + ObjectType: "Texture" { + Count: 1 + PropertyTemplate: "FbxFileTexture" { + Properties70: { + P: "TextureTypeUse", "enum", "", "",0 + P: "Texture alpha", "Number", "", "A",1 + P: "CurrentMappingType", "enum", "", "",0 + P: "WrapModeU", "enum", "", "",0 + P: "WrapModeV", "enum", "", "",0 + P: "UVSwap", "bool", "", "",0 + P: "PremultiplyAlpha", "bool", "", "",1 + P: "Translation", "Vector", "", "A",0,0,0 + P: "Rotation", "Vector", "", "A",0,0,0 + P: "Scaling", "Vector", "", "A",1,1,1 + P: "TextureRotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "TextureScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "CurrentTextureBlendMode", "enum", "", "",1 + P: "UVSet", "KString", "", "", "default" + P: "UseMaterial", "bool", "", "",0 + P: "UseMipMap", "bool", "", "",0 + } + } + } + ObjectType: "Video" { + Count: 1 + PropertyTemplate: "FbxVideo" { + Properties70: { + P: "ImageSequence", "bool", "", "",0 + P: "ImageSequenceOffset", "int", "Integer", "",0 + P: "FrameRate", "double", "Number", "",0 + P: "LastFrame", "int", "Integer", "",0 + P: "Width", "int", "Integer", "",0 + P: "Height", "int", "Integer", "",0 + P: "Path", "KString", "XRefUrl", "", "" + P: "StartFrame", "int", "Integer", "",0 + P: "StopFrame", "int", "Integer", "",0 + P: "PlaySpeed", "double", "Number", "",0 + P: "Offset", "KTime", "Time", "",0 + P: "InterlaceMode", "enum", "", "",0 + P: "FreeRunning", "bool", "", "",0 + P: "Loop", "bool", "", "",0 + P: "AccessMode", "enum", "", "",0 + } + } + } +} + +; Object properties +;------------------------------------------------------------------ + +Objects: { + Geometry: 1143699248, "Geometry::Scene", "Mesh" { + Vertices: *330 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-400,-0,0,-400,-100,100,-400,-0,100,-400,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-1000,100,-400,-1000,0,-400,-200,0,0,-200,0,-100,-200,100,-300,-200,100,-200,-200,0,-200,-200,0,-300,-200,100,-400,-200,100,-100,-200,100,0,-200,0,-400,-300,0,0,-300,0,-100,-300,100,-300,-300,100,-200,-300,0,-200,-300,0,-300,-300,100,-400,-300,100,-100,-300,100,0,-300,0,-400,-400,0,0,-400,0,-100,-400,100,-300,-400,100,-200,-400,0,-200,-400,0,-300,-400,100,-400,-400,100,-100,-400,100,0,-400,0,-400,-500,0,0,-500,0,-100,-500,100,-300,-500,100,-200,-500,0,-200,-500,0,-300,-500,100,-400,-500,100,-100,-500,100,0,-500,0,-400,-600,0,0,-600,0,-100,-600,100,-300,-600,100,-200,-600,0,-200,-600,0,-300,-600,100,-400,-600,100,-100,-600,100,0,-600,0,-400,-700,0,0,-700,0,-100,-700,100,-300,-700,100,-200,-700,0,-200,-700,0,-300,-700,100,-400,-700,100,-100,-700,100,0,-700,0,-400,-800,0,0,-800,0,-100,-800,100,-300,-800,100,-200,-800,0,-200,-800,0,-300,-800,100,-400,-800,100,-100,-800,100,0,-800,0,-400,-900,0,0,-900,0,-100,-900,100,-300,-900,100,-200,-900,0,-200,-900,0,-300,-900,100,-400,-900,100,-100,-900,100,0,-900,0,-400 + } + PolygonVertexIndex: *648 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,8,-24,23,8,-10,24,28,-26,25,28,-30,23,9,-27,26,9,-12,26,11,-28,27,11,-11,1,30,-16,15,30,-32,27,32,-22,21,32,-34,16,34,-23,22,34,-36,10,36,-28,27,36,-33,14,37,-4,3,37,-39,21,33,-15,14,33,-38,15,31,-17,16,31,-35,3,38,-2,1,38,-31,22,35,-9,8,35,-40,8,39,-11,10,39,-37,30,40,-32,31,40,-42,32,42,-34,33,42,-44,34,44,-36,35,44,-46,36,46,-33,32,46,-43,37,47,-39,38,47,-49,33,43,-38,37,43,-48,31,41,-35,34,41,-45,38,48,-31,30,48,-41,35,45,-40,39,45,-50,39,49,-37,36,49,-47,40,50,-42,41,50,-52,42,52,-44,43,52,-54,44,54,-46,45,54,-56,46,56,-43,42,56,-53,47,57,-49,48,57,-59,43,53,-48,47,53,-58,41,51,-45,44,51,-55,48,58,-41,40,58,-51,45,55,-50,49,55,-60,49,59,-47,46,59,-57,50,60,-52,51,60,-62,52,62,-54,53,62,-64,54,64,-56,55,64,-66,56,66,-53,52,66,-63,57,67,-59,58,67,-69,53,63,-58,57,63,-68,51,61,-55,54,61,-65,58,68,-51,50,68,-61,55,65,-60,59,65,-70,59,69,-57,56,69,-67,60,70,-62,61,70,-72,62,72,-64,63,72,-74,64,74,-66,65,74,-76,66,76,-63,62,76,-73,67,77,-69,68,77,-79,63,73,-68,67,73,-78,61,71,-65,64,71,-75,68,78,-61,60,78,-71,65,75,-70,69,75,-80,69,79,-67,66,79,-77,70,80,-72,71,80,-82,72,82,-74,73,82,-84,74,84,-76,75,84,-86,76,86,-73,72,86,-83,77,87,-79,78,87,-89,73,83,-78,77,83,-88,71,81,-75,74,81,-85,78,88,-71,70,88,-81,75,85,-80,79,85,-90,79,89,-77,76,89,-87,80,90,-82,81,90,-92,82,92,-84,83,92,-94,84,94,-86,85,94,-96,86,96,-83,82,96,-93,87,97,-89,88,97,-99,83,93,-88,87,93,-98,81,91,-85,84,91,-95,88,98,-81,80,98,-91,85,95,-90,89,95,-100,89,99,-87,86,99,-97,90,100,-92,91,100,-102,92,102,-94,93,102,-104,94,104,-96,95,104,-106,96,106,-93,92,106,-103,97,107,-99,98,107,-109,93,103,-98,97,103,-108,91,101,-95,94,101,-105,98,108,-91,90,108,-101,95,105,-100,99,105,-110,99,109,-97,96,109,-107,100,4,-102,101,4,-6,102,24,-104,103,24,-19,104,19,-106,105,19,-26,106,28,-103, +102,28,-25,107,7,-109,108,7,-7,103,18,-108,107,18,-8,101,5,-105,104,5,-20,108,6,-101,100,6,-5,105,25,-110,109,25,-30,109,29,-107,106,29,-29 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *1944 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + NormalsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *1944 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *1944 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + TangentsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *1728 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *864 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-1,0,-1,-1,-2,0,-2,-1,1,-1,0,-2,1,-2,0,1,0,1,1,2,0,2,1,0,-1,1,-1,0,-2,1,-2,-1,-2,0,-2,-1,-3,0,-3,-2,1,-2,0,-3,1,-3,0,2,0,2,1,3,0,3,1,0,-2,1,-2,0,-3,1,-3,-1,-3,0,-3,-1,-4,0,-4,-3,1,-3,0,-4,1,-4,0,3,0,3,1,4,0,4,1,0,-3,1,-3,0,-4,1,-4,-1,0,-1,-1,-2,0,-2,-1,1,-3,1,-2,2,-3,2,-2,-1,-2,-1,-3,-2,-2,-2,-3,1,-4,1,-3,2,-4,2,-3,1,-1,1,0,2,-1,2,0,1,-2,1,-1,2,-2,2,-1,-1,-1,-1,-2,-2,-1,-2,-2,-1,1,-1,0,-2,1,-2,0,-1,-3,-1,-4,-2,-3,-2,-4,1,0,1,1,2,0,2,1,-2,0,-2,-1,-3,0,-3,-1,2,-3,2,-2,3,-3,3,-2,-2,-2,-2,-3,-3,-2,-3,-3,2,-4,2,-3,3,-4,3,-3,2,-1,2,0,3,-1,3,0,2,-2,2,-1,3,-2,3,-1,-2,-1,-2,-2,-3,-1,-3,-2,-2,1,-2,0,-3,1,-3,0,-2,-3,-2,-4,-3,-3,-3,-4,2,0,2,1,3,0,3,1,-3,0,-3,-1,-4,0,-4,-1,3,-3,3,-2,4,-3,4,-2,-3,-2,-3,-3,-4,-2,-4,-3,3,-4,3,-3,4,-4,4,-3,3,-1,3,0,4,-1,4,0,3,-2,3,-1,4,-2,4,-1,-3,-1,-3,-2,-4,-1,-4,-2,-3,1,-3,0,-4,1,-4,0,-3,-3,-3,-4,-4,-3,-4,-4,3,0,3,1,4,0,4,1,-4,0,-4,-1,-5,0,-5,-1,4,-3,4,-2,5,-3,5,-2,-4,-2,-4,-3,-5,-2,-5,-3,4,-4,4,-3,5,-4,5,-3,4,-1,4,0,5,-1,5,0,4,-2,4,-1,5,-2,5,-1,-4,-1,-4,-2,-5,-1,-5,-2,-4,1,-4,0,-5,1,-5,0,-4,-3,-4,-4,-5,-3,-5,-4,4,0,4,1,5,0,5,1,-5,0,-5,-1,-6,0,-6,-1,5,-3,5,-2,6,-3,6,-2,-5,-2,-5,-3,-6,-2,-6,-3,5,-4,5,-3,6,-4,6,-3,5,-1,5,0,6,-1,6,0,5,-2,5,-1,6,-2,6,-1,-5,-1,-5,-2,-6,-1,-6,-2,-5,1,-5,0,-6,1,-6,0,-5,-3,-5,-4,-6,-3,-6,-4,5,0,5,1,6,0,6,1,-6,0,-6,-1,-7,0,-7,-1,6,-3,6,-2,7,-3,7,-2,-6,-2,-6,-3,-7,-2,-7,-3,6,-4,6,-3,7,-4,7,-3,6,-1,6,0,7,-1,7,0,6,-2,6,-1,7,-2,7,-1,-6,-1,-6,-2,-7,-1,-7,-2,-6,1,-6,0,-7,1,-7,0,-6,-3,-6,-4,-7,-3,-7,-4,6,0,6,1,7,0,7,1,-7,0,-7,-1,-8,0,-8,-1,7,-3,7,-2,8,-3,8,-2,-7,-2,-7,-3,-8,-2,-8,-3,7,-4,7,-3,8,-4,8,-3,7,-1,7,0,8,-1,8,0,7,-2,7,-1,8,-2,8,-1,-7,-1,-7,-2,-8,-1,-8,-2,-7,1,-7,0,-8,1,-8,0,-7,-3,-7,-4,-8,-3,-8,-4,7,0,7,1,8,0,8,1,-8,0,-8,-1,-9,0,-9,-1,8,-3,8,-2,9,-3,9,-2,-8,-2,-8,-3,-9,-2,-9,-3,8,-4,8,-3,9,-4,9,-3,8,-1,8,0,9,-1,9,0,8,-2,8,-1,9,-2,9,-1,-8,-1,-8,-2,-9,-1,-9,-2,-8,1,-8,0,-9,1,-9,0,-8,-3,-8,-4,-9,-3,-9,-4,8,0,8,1,9,0,9,1,-9,0,-9,-1,-10,0,-10,-1, +9,-3,9,-2,10,-3,10,-2,-9,-2,-9,-3,-10,-2,-10,-3,9,-4,9,-3,10,-4,10,-3,9,-1,9,0,10,-1,10,0,9,-2,9,-1,10,-2,10,-1,-9,-1,-9,-2,-10,-1,-10,-2,-9,1,-9,0,-10,1,-10,0,-9,-3,-9,-4,-10,-3,-10,-4,9,0,9,1,10,0,10,1 + } + UVIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Geometry: 1143716656, "Geometry::Scene", "Mesh" { + Vertices: *330 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-400,-0,0,-400,-100,100,-400,-0,100,-400,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-1000,100,-400,-1000,0,-400,-200,0,0,-200,0,-100,-200,100,-300,-200,100,-200,-200,0,-200,-200,0,-300,-200,100,-400,-200,100,-100,-200,100,0,-200,0,-400,-300,0,0,-300,0,-100,-300,100,-300,-300,100,-200,-300,0,-200,-300,0,-300,-300,100,-400,-300,100,-100,-300,100,0,-300,0,-400,-400,0,0,-400,0,-100,-400,100,-300,-400,100,-200,-400,0,-200,-400,0,-300,-400,100,-400,-400,100,-100,-400,100,0,-400,0,-400,-500,0,0,-500,0,-100,-500,100,-300,-500,100,-200,-500,0,-200,-500,0,-300,-500,100,-400,-500,100,-100,-500,100,0,-500,0,-400,-600,0,0,-600,0,-100,-600,100,-300,-600,100,-200,-600,0,-200,-600,0,-300,-600,100,-400,-600,100,-100,-600,100,0,-600,0,-400,-700,0,0,-700,0,-100,-700,100,-300,-700,100,-200,-700,0,-200,-700,0,-300,-700,100,-400,-700,100,-100,-700,100,0,-700,0,-400,-800,0,0,-800,0,-100,-800,100,-300,-800,100,-200,-800,0,-200,-800,0,-300,-800,100,-400,-800,100,-100,-800,100,0,-800,0,-400,-900,0,0,-900,0,-100,-900,100,-300,-900,100,-200,-900,0,-200,-900,0,-300,-900,100,-400,-900,100,-100,-900,100,0,-900,0,-400 + } + PolygonVertexIndex: *648 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,8,-24,23,8,-10,24,28,-26,25,28,-30,23,9,-27,26,9,-12,26,11,-28,27,11,-11,1,30,-16,15,30,-32,27,32,-22,21,32,-34,16,34,-23,22,34,-36,10,36,-28,27,36,-33,14,37,-4,3,37,-39,21,33,-15,14,33,-38,15,31,-17,16,31,-35,3,38,-2,1,38,-31,22,35,-9,8,35,-40,8,39,-11,10,39,-37,30,40,-32,31,40,-42,32,42,-34,33,42,-44,34,44,-36,35,44,-46,36,46,-33,32,46,-43,37,47,-39,38,47,-49,33,43,-38,37,43,-48,31,41,-35,34,41,-45,38,48,-31,30,48,-41,35,45,-40,39,45,-50,39,49,-37,36,49,-47,40,50,-42,41,50,-52,42,52,-44,43,52,-54,44,54,-46,45,54,-56,46,56,-43,42,56,-53,47,57,-49,48,57,-59,43,53,-48,47,53,-58,41,51,-45,44,51,-55,48,58,-41,40,58,-51,45,55,-50,49,55,-60,49,59,-47,46,59,-57,50,60,-52,51,60,-62,52,62,-54,53,62,-64,54,64,-56,55,64,-66,56,66,-53,52,66,-63,57,67,-59,58,67,-69,53,63,-58,57,63,-68,51,61,-55,54,61,-65,58,68,-51,50,68,-61,55,65,-60,59,65,-70,59,69,-57,56,69,-67,60,70,-62,61,70,-72,62,72,-64,63,72,-74,64,74,-66,65,74,-76,66,76,-63,62,76,-73,67,77,-69,68,77,-79,63,73,-68,67,73,-78,61,71,-65,64,71,-75,68,78,-61,60,78,-71,65,75,-70,69,75,-80,69,79,-67,66,79,-77,70,80,-72,71,80,-82,72,82,-74,73,82,-84,74,84,-76,75,84,-86,76,86,-73,72,86,-83,77,87,-79,78,87,-89,73,83,-78,77,83,-88,71,81,-75,74,81,-85,78,88,-71,70,88,-81,75,85,-80,79,85,-90,79,89,-77,76,89,-87,80,90,-82,81,90,-92,82,92,-84,83,92,-94,84,94,-86,85,94,-96,86,96,-83,82,96,-93,87,97,-89,88,97,-99,83,93,-88,87,93,-98,81,91,-85,84,91,-95,88,98,-81,80,98,-91,85,95,-90,89,95,-100,89,99,-87,86,99,-97,90,100,-92,91,100,-102,92,102,-94,93,102,-104,94,104,-96,95,104,-106,96,106,-93,92,106,-103,97,107,-99,98,107,-109,93,103,-98,97,103,-108,91,101,-95,94,101,-105,98,108,-91,90,108,-101,95,105,-100,99,105,-110,99,109,-97,96,109,-107,100,4,-102,101,4,-6,102,24,-104,103,24,-19,104,19,-106,105,19,-26,106,28,-103, +102,28,-25,107,7,-109,108,7,-7,103,18,-108,107,18,-8,101,5,-105,104,5,-20,108,6,-101,100,6,-5,105,25,-110,109,25,-30,109,29,-107,106,29,-29 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *1944 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + NormalsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *1944 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *1944 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + TangentsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *1728 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *864 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-1,0,-1,-1,-2,0,-2,-1,1,-1,0,-2,1,-2,0,1,0,1,1,2,0,2,1,0,-1,1,-1,0,-2,1,-2,-1,-2,0,-2,-1,-3,0,-3,-2,1,-2,0,-3,1,-3,0,2,0,2,1,3,0,3,1,0,-2,1,-2,0,-3,1,-3,-1,-3,0,-3,-1,-4,0,-4,-3,1,-3,0,-4,1,-4,0,3,0,3,1,4,0,4,1,0,-3,1,-3,0,-4,1,-4,-1,0,-1,-1,-2,0,-2,-1,1,-3,1,-2,2,-3,2,-2,-1,-2,-1,-3,-2,-2,-2,-3,1,-4,1,-3,2,-4,2,-3,1,-1,1,0,2,-1,2,0,1,-2,1,-1,2,-2,2,-1,-1,-1,-1,-2,-2,-1,-2,-2,-1,1,-1,0,-2,1,-2,0,-1,-3,-1,-4,-2,-3,-2,-4,1,0,1,1,2,0,2,1,-2,0,-2,-1,-3,0,-3,-1,2,-3,2,-2,3,-3,3,-2,-2,-2,-2,-3,-3,-2,-3,-3,2,-4,2,-3,3,-4,3,-3,2,-1,2,0,3,-1,3,0,2,-2,2,-1,3,-2,3,-1,-2,-1,-2,-2,-3,-1,-3,-2,-2,1,-2,0,-3,1,-3,0,-2,-3,-2,-4,-3,-3,-3,-4,2,0,2,1,3,0,3,1,-3,0,-3,-1,-4,0,-4,-1,3,-3,3,-2,4,-3,4,-2,-3,-2,-3,-3,-4,-2,-4,-3,3,-4,3,-3,4,-4,4,-3,3,-1,3,0,4,-1,4,0,3,-2,3,-1,4,-2,4,-1,-3,-1,-3,-2,-4,-1,-4,-2,-3,1,-3,0,-4,1,-4,0,-3,-3,-3,-4,-4,-3,-4,-4,3,0,3,1,4,0,4,1,-4,0,-4,-1,-5,0,-5,-1,4,-3,4,-2,5,-3,5,-2,-4,-2,-4,-3,-5,-2,-5,-3,4,-4,4,-3,5,-4,5,-3,4,-1,4,0,5,-1,5,0,4,-2,4,-1,5,-2,5,-1,-4,-1,-4,-2,-5,-1,-5,-2,-4,1,-4,0,-5,1,-5,0,-4,-3,-4,-4,-5,-3,-5,-4,4,0,4,1,5,0,5,1,-5,0,-5,-1,-6,0,-6,-1,5,-3,5,-2,6,-3,6,-2,-5,-2,-5,-3,-6,-2,-6,-3,5,-4,5,-3,6,-4,6,-3,5,-1,5,0,6,-1,6,0,5,-2,5,-1,6,-2,6,-1,-5,-1,-5,-2,-6,-1,-6,-2,-5,1,-5,0,-6,1,-6,0,-5,-3,-5,-4,-6,-3,-6,-4,5,0,5,1,6,0,6,1,-6,0,-6,-1,-7,0,-7,-1,6,-3,6,-2,7,-3,7,-2,-6,-2,-6,-3,-7,-2,-7,-3,6,-4,6,-3,7,-4,7,-3,6,-1,6,0,7,-1,7,0,6,-2,6,-1,7,-2,7,-1,-6,-1,-6,-2,-7,-1,-7,-2,-6,1,-6,0,-7,1,-7,0,-6,-3,-6,-4,-7,-3,-7,-4,6,0,6,1,7,0,7,1,-7,0,-7,-1,-8,0,-8,-1,7,-3,7,-2,8,-3,8,-2,-7,-2,-7,-3,-8,-2,-8,-3,7,-4,7,-3,8,-4,8,-3,7,-1,7,0,8,-1,8,0,7,-2,7,-1,8,-2,8,-1,-7,-1,-7,-2,-8,-1,-8,-2,-7,1,-7,0,-8,1,-8,0,-7,-3,-7,-4,-8,-3,-8,-4,7,0,7,1,8,0,8,1,-8,0,-8,-1,-9,0,-9,-1,8,-3,8,-2,9,-3,9,-2,-8,-2,-8,-3,-9,-2,-9,-3,8,-4,8,-3,9,-4,9,-3,8,-1,8,0,9,-1,9,0,8,-2,8,-1,9,-2,9,-1,-8,-1,-8,-2,-9,-1,-9,-2,-8,1,-8,0,-9,1,-9,0,-8,-3,-8,-4,-9,-3,-9,-4,8,0,8,1,9,0,9,1,-9,0,-9,-1,-10,0,-10,-1, +9,-3,9,-2,10,-3,10,-2,-9,-2,-9,-3,-10,-2,-10,-3,9,-4,9,-3,10,-4,10,-3,9,-1,9,0,10,-1,10,0,9,-2,9,-1,10,-2,10,-1,-9,-1,-9,-2,-10,-1,-10,-2,-9,1,-9,0,-10,1,-10,0,-9,-3,-9,-4,-10,-3,-10,-4,9,0,9,1,10,0,10,1 + } + UVIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "Material" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Model: 1578531232, "Model::ProB_Floor_10x4", "Mesh" { + Version: 232 + Properties70: { + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + } + Shading: W + Culling: "CullingOff" + } + Material: 1148833296, "Material::Default_Prototype", "" { + Version: 102 + ShadingModel: "lambert" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",1,1,1 + P: "BumpFactor", "double", "Number", "",0 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",1,1,1 + P: "Opacity", "double", "Number", "",1 + } + } + Video: 1148831296, "Video::DiffuseColor_Texture", "Clip" { + Type: "Clip" + Properties70: { + P: "Path", "KString", "XRefUrl", "", "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + UseMipMap: 0 + Filename: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + Texture: 294700000, "Texture::DiffuseColor_Texture", "" { + Type: "TextureVideoClip" + Version: 202 + TextureName: "Texture::DiffuseColor_Texture" + Media: "Video::DiffuseColor_Texture" + FileName: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + ModelUVTranslation: 0,0 + ModelUVScaling: 1,1 + Texture_Alpha_Source: "None" + Cropping: 0,0,0,0 + } +} + +; Object connections +;------------------------------------------------------------------ + +Connections: { + + ;Model::ProB_Floor_10x4, Model::RootNode + C: "OO",1578531232,0 + + ;Material::Default_Prototype, Model::ProB_Floor_10x4 + C: "OO",1148833296,1578531232 + + ;Material::Default_Prototype, Model::ProB_Floor_10x4 + C: "OO",1148833296,1578531232 + + ;Geometry::Scene, Model::ProB_Floor_10x4 + C: "OO",1143716656,1578531232 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OO",294700000,1148833296 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OP",294700000,1148833296, "DiffuseColor" + + ;Video::DiffuseColor_Texture, Texture::DiffuseColor_Texture + C: "OO",1148831296,294700000 +} +;Takes section +;---------------------------------------------------- + +Takes: { + Current: "" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x4.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x4.fbx.meta new file mode 100644 index 00000000..4b73b176 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_10x4.fbx.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 52ec9a50889c9784f920590c3e0d8c68 +timeCreated: 1508433932 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: Default_Prototype + 2300000: //RootNode + 3300000: //RootNode + 4300000: ProB_Floor_10x4 + externalObjects: {} + materials: + importMaterials: 1 + materialName: 1 + materialSearch: 2 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_1Wall_10x10.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_1Wall_10x10.fbx new file mode 100644 index 00000000..85c7c754 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_1Wall_10x10.fbx @@ -0,0 +1,670 @@ +; FBX 7.4.0 project file +; Copyright (C) 1997-2015 Autodesk Inc. and/or its licensors. +; All rights reserved. +; ---------------------------------------------------- + +FBXHeaderExtension: { + FBXHeaderVersion: 1003 + FBXVersion: 7400 + CreationTimeStamp: { + Version: 1000 + Year: 2017 + Month: 10 + Day: 19 + Hour: 13 + Minute: 22 + Second: 40 + Millisecond: 673 + } + Creator: "FBX SDK/FBX Plugins version 2017.1" + SceneInfo: "SceneInfo::GlobalInfo", "UserData" { + Type: "UserData" + Version: 100 + MetaData: { + Version: 100 + Title: "exports static meshes with materials and textures" + Subject: "" + Author: "Unity Technologies" + Keywords: "export mesh materials textures uvs" + Revision: "1.0" + Comment: "" + } + Properties70: { + P: "DocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp173d6e19.tmp" + P: "SrcDocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp173d6e19.tmp" + P: "Original", "Compound", "", "" + P: "Original|ApplicationVendor", "KString", "", "", "" + P: "Original|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "Original|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "Original|DateTime_GMT", "DateTime", "", "", "" + P: "Original|FileName", "KString", "", "", "" + P: "LastSaved", "Compound", "", "" + P: "LastSaved|ApplicationVendor", "KString", "", "", "" + P: "LastSaved|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "LastSaved|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "LastSaved|DateTime_GMT", "DateTime", "", "", "" + } + } +} +GlobalSettings: { + Version: 1000 + Properties70: { + P: "UpAxis", "int", "Integer", "",1 + P: "UpAxisSign", "int", "Integer", "",1 + P: "FrontAxis", "int", "Integer", "",2 + P: "FrontAxisSign", "int", "Integer", "",1 + P: "CoordAxis", "int", "Integer", "",0 + P: "CoordAxisSign", "int", "Integer", "",1 + P: "OriginalUpAxis", "int", "Integer", "",-1 + P: "OriginalUpAxisSign", "int", "Integer", "",1 + P: "UnitScaleFactor", "double", "Number", "",1 + P: "OriginalUnitScaleFactor", "double", "Number", "",1 + P: "AmbientColor", "ColorRGB", "Color", "",0,0,0 + P: "DefaultCamera", "KString", "", "", "Producer Perspective" + P: "TimeMode", "enum", "", "",0 + P: "TimeProtocol", "enum", "", "",2 + P: "SnapOnFrameMode", "enum", "", "",0 + P: "TimeSpanStart", "KTime", "Time", "",0 + P: "TimeSpanStop", "KTime", "Time", "",46186158000 + P: "CustomFrameRate", "double", "Number", "",-1 + P: "TimeMarker", "Compound", "", "" + P: "CurrentTimeMarker", "int", "Integer", "",-1 + } +} + +; Documents Description +;------------------------------------------------------------------ + +Documents: { + Count: 1 + Document: 1147066688, "Scene", "Scene" { + Properties70: { + P: "SourceObject", "object", "", "" + P: "ActiveAnimStackName", "KString", "", "", "" + } + RootNode: 0 + } +} + +; Document References +;------------------------------------------------------------------ + +References: { +} + +; Object definitions +;------------------------------------------------------------------ + +Definitions: { + Version: 100 + Count: 7 + ObjectType: "GlobalSettings" { + Count: 1 + } + ObjectType: "Model" { + Count: 1 + PropertyTemplate: "FbxNode" { + Properties70: { + P: "QuaternionInterpolate", "enum", "", "",0 + P: "RotationOffset", "Vector3D", "Vector", "",0,0,0 + P: "RotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0 + P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "TranslationActive", "bool", "", "",0 + P: "TranslationMin", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMax", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMinX", "bool", "", "",0 + P: "TranslationMinY", "bool", "", "",0 + P: "TranslationMinZ", "bool", "", "",0 + P: "TranslationMaxX", "bool", "", "",0 + P: "TranslationMaxY", "bool", "", "",0 + P: "TranslationMaxZ", "bool", "", "",0 + P: "RotationOrder", "enum", "", "",0 + P: "RotationSpaceForLimitOnly", "bool", "", "",0 + P: "RotationStiffnessX", "double", "Number", "",0 + P: "RotationStiffnessY", "double", "Number", "",0 + P: "RotationStiffnessZ", "double", "Number", "",0 + P: "AxisLen", "double", "Number", "",10 + P: "PreRotation", "Vector3D", "Vector", "",0,0,0 + P: "PostRotation", "Vector3D", "Vector", "",0,0,0 + P: "RotationActive", "bool", "", "",0 + P: "RotationMin", "Vector3D", "Vector", "",0,0,0 + P: "RotationMax", "Vector3D", "Vector", "",0,0,0 + P: "RotationMinX", "bool", "", "",0 + P: "RotationMinY", "bool", "", "",0 + P: "RotationMinZ", "bool", "", "",0 + P: "RotationMaxX", "bool", "", "",0 + P: "RotationMaxY", "bool", "", "",0 + P: "RotationMaxZ", "bool", "", "",0 + P: "InheritType", "enum", "", "",0 + P: "ScalingActive", "bool", "", "",0 + P: "ScalingMin", "Vector3D", "Vector", "",0,0,0 + P: "ScalingMax", "Vector3D", "Vector", "",1,1,1 + P: "ScalingMinX", "bool", "", "",0 + P: "ScalingMinY", "bool", "", "",0 + P: "ScalingMinZ", "bool", "", "",0 + P: "ScalingMaxX", "bool", "", "",0 + P: "ScalingMaxY", "bool", "", "",0 + P: "ScalingMaxZ", "bool", "", "",0 + P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1 + P: "MinDampRangeX", "double", "Number", "",0 + P: "MinDampRangeY", "double", "Number", "",0 + P: "MinDampRangeZ", "double", "Number", "",0 + P: "MaxDampRangeX", "double", "Number", "",0 + P: "MaxDampRangeY", "double", "Number", "",0 + P: "MaxDampRangeZ", "double", "Number", "",0 + P: "MinDampStrengthX", "double", "Number", "",0 + P: "MinDampStrengthY", "double", "Number", "",0 + P: "MinDampStrengthZ", "double", "Number", "",0 + P: "MaxDampStrengthX", "double", "Number", "",0 + P: "MaxDampStrengthY", "double", "Number", "",0 + P: "MaxDampStrengthZ", "double", "Number", "",0 + P: "PreferedAngleX", "double", "Number", "",0 + P: "PreferedAngleY", "double", "Number", "",0 + P: "PreferedAngleZ", "double", "Number", "",0 + P: "LookAtProperty", "object", "", "" + P: "UpVectorProperty", "object", "", "" + P: "Show", "bool", "", "",1 + P: "NegativePercentShapeSupport", "bool", "", "",1 + P: "DefaultAttributeIndex", "int", "Integer", "",-1 + P: "Freeze", "bool", "", "",0 + P: "LODBox", "bool", "", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0 + P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1 + P: "Visibility", "Visibility", "", "A",1 + P: "Visibility Inheritance", "Visibility Inheritance", "", "",1 + } + } + } + ObjectType: "Geometry" { + Count: 2 + PropertyTemplate: "FbxMesh" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BBoxMin", "Vector3D", "Vector", "",0,0,0 + P: "BBoxMax", "Vector3D", "Vector", "",0,0,0 + P: "Primary Visibility", "bool", "", "",1 + P: "Casts Shadows", "bool", "", "",1 + P: "Receive Shadows", "bool", "", "",1 + } + } + } + ObjectType: "Material" { + Count: 1 + PropertyTemplate: "FbxSurfaceLambert" { + Properties70: { + P: "ShadingModel", "KString", "", "", "Lambert" + P: "MultiLayer", "bool", "", "",0 + P: "EmissiveColor", "Color", "", "A",0,0,0 + P: "EmissiveFactor", "Number", "", "A",1 + P: "AmbientColor", "Color", "", "A",0.2,0.2,0.2 + P: "AmbientFactor", "Number", "", "A",1 + P: "DiffuseColor", "Color", "", "A",0.8,0.8,0.8 + P: "DiffuseFactor", "Number", "", "A",1 + P: "Bump", "Vector3D", "Vector", "",0,0,0 + P: "NormalMap", "Vector3D", "Vector", "",0,0,0 + P: "BumpFactor", "double", "Number", "",1 + P: "TransparentColor", "Color", "", "A",0,0,0 + P: "TransparencyFactor", "Number", "", "A",0 + P: "DisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "DisplacementFactor", "double", "Number", "",1 + P: "VectorDisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "VectorDisplacementFactor", "double", "Number", "",1 + } + } + } + ObjectType: "Texture" { + Count: 1 + PropertyTemplate: "FbxFileTexture" { + Properties70: { + P: "TextureTypeUse", "enum", "", "",0 + P: "Texture alpha", "Number", "", "A",1 + P: "CurrentMappingType", "enum", "", "",0 + P: "WrapModeU", "enum", "", "",0 + P: "WrapModeV", "enum", "", "",0 + P: "UVSwap", "bool", "", "",0 + P: "PremultiplyAlpha", "bool", "", "",1 + P: "Translation", "Vector", "", "A",0,0,0 + P: "Rotation", "Vector", "", "A",0,0,0 + P: "Scaling", "Vector", "", "A",1,1,1 + P: "TextureRotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "TextureScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "CurrentTextureBlendMode", "enum", "", "",1 + P: "UVSet", "KString", "", "", "default" + P: "UseMaterial", "bool", "", "",0 + P: "UseMipMap", "bool", "", "",0 + } + } + } + ObjectType: "Video" { + Count: 1 + PropertyTemplate: "FbxVideo" { + Properties70: { + P: "ImageSequence", "bool", "", "",0 + P: "ImageSequenceOffset", "int", "Integer", "",0 + P: "FrameRate", "double", "Number", "",0 + P: "LastFrame", "int", "Integer", "",0 + P: "Width", "int", "Integer", "",0 + P: "Height", "int", "Integer", "",0 + P: "Path", "KString", "XRefUrl", "", "" + P: "StartFrame", "int", "Integer", "",0 + P: "StopFrame", "int", "Integer", "",0 + P: "PlaySpeed", "double", "Number", "",0 + P: "Offset", "KTime", "Time", "",0 + P: "InterlaceMode", "enum", "", "",0 + P: "FreeRunning", "bool", "", "",0 + P: "Loop", "bool", "", "",0 + P: "AccessMode", "enum", "", "",0 + } + } + } +} + +; Object properties +;------------------------------------------------------------------ + +Objects: { + Geometry: 1143716144, "Geometry::Scene", "Mesh" { + Vertices: *924 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-100,100,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-100,100,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-100,100,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-100,100,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-100,100,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-100,100,-900,-1000,100,-1000,-1000,0,-1000,-200,0,0,-200,0,-100,-200,100,0,-200,100,-200,-200,100,-100,-200,0,-200,-200,100,-300,-200,0,-300,-200,100,-400,-200,0,-400,-200,100,-500,-200,0,-500,-200,100,-600,-200,0,-600,-200,100,-700,-200,0,-700,-200,100,-800,-200,0,-800,-200,100,-900,-200,0,-900,-200,100,-1000,-200,0,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,100,-1000,-300,0,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800,-400,100,-900,-400,0,-900,-400,100,-1000,-400,0,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,0,-200,-500,100,-300,-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800,-500,100,-900,-500,0,-900,-500,100,-1000,-500,0,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,0,-200,-600,100,-300, +-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,100,-1000,-600,0,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,100,-1000,-700,0,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,100,-1000,-800,0,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,100,-1000,-900,0,-1000,-900,400,-200,-900,400,-100,-1000,400,-200,-1000,400,-100,-900,400,0,-1000,400,0,-900,400,-300,-1000,400,-300,-900,400,-400,-1000,400,-400,-900,400,-500,-1000,400,-500,-900,400,-600,-1000,400,-600,-900,400,-700,-1000,400,-700,-900,400,-800,-1000,400,-800,-900,400,-900,-1000,400,-900,-900,400,-1000,-1000,400,-1000,-900,200,-100,-900,200,0,-1000,200,-100,-1000,200,-200,-1000,200,0,-900,200,-200,-1000,200,-300,-900,200,-300,-1000,200,-400,-900,200,-400,-1000,200,-500,-900,200,-500,-1000,200,-600,-900,200,-600,-1000,200,-700,-900,200,-700,-1000,200,-800,-900,200,-800,-1000,200,-900,-900,200,-900,-1000,200,-1000,-900,200,-1000,-900,300,-100,-900,300,0,-1000,300,-100,-1000,300,-200,-1000,300,0,-900,300,-200,-1000,300,-300,-900,300,-300,-1000,300,-400,-900,300,-400,-1000,300,-500,-900,300,-500,-1000,300,-600,-900,300,-600,-1000,300,-700,-900,300,-700,-1000,300,-800,-900,300,-800,-1000,300,-900,-900,300,-900,-1000,300,-1000,-900,300,-1000 + } + PolygonVertexIndex: *1836 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,28,-24,23,28,-30,24,30,-26,25,30,-32,23,29,-27,26,29,-33,26,32,-28,27,32,-34,28,34,-30,29,34,-36,30,36,-32,31,36,-38,29,35,-33,32,35,-39,32,38,-34,33,38,-40,34,40,-36,35,40,-42,36,42,-38,37,42,-44,35,41,-39,38,41,-45,38,44,-40,39,44,-46,40,46,-42,41,46,-48,42,48,-44,43,48,-50,41,47,-45,44,47,-51,44,50,-46,45,50,-52,46,52,-48,47,52,-54,48,54,-50,49,54,-56,47,53,-51,50,53,-57,50,56,-52,51,56,-58,52,58,-54,53,58,-60,54,60,-56,55,60,-62,53,59,-57,56,59,-63,56,62,-58,57,62,-64,58,8,-60,59,8,-10,60,64,-62,61,64,-66,59,9,-63,62,9,-12,62,11,-64,63,11,-11,1,66,-16,15,66,-68,3,68,-2,1,68,-67,21,69,-15,14,69,-71,14,70,-4,3,70,-69,15,67,-17,16,67,-72,27,72,-22,21,72,-70,16,71,-23,22,71,-74,33,74,-28,27,74,-73,22,73,-29,28,73,-76,39,76,-34,33,76,-75,28,75,-35,34,75,-78,45,78,-40,39,78,-77,34,77,-41,40,77,-80,51,80,-46,45,80,-79,40,79,-47,46,79,-82,57,82,-52,51,82,-81,46,81,-53,52,81,-84,63,84,-58,57,84,-83,52,83,-59,58,83,-86,10,86,-64,63,86,-85,58,85,-9,8,85,-88,8,87,-11,10,87,-87,66,88,-68,67,88,-90,68,90,-67,66,90,-89,69,91,-71,70,91,-93,70,92,-69,68,92,-91,67,89,-72,71,89,-94,72,94,-70,69,94,-92,71,93,-74,73,93,-96,74,96,-73,72,96,-95,73,95,-76,75,95,-98,76,98,-75,74,98,-97,75,97,-78,77,97,-100,78,100,-77,76,100,-99,77,99,-80,79,99,-102,80,102,-79,78,102,-101,79,101,-82,81,101,-104,82,104,-81,80,104,-103,81,103,-84,83,103,-106,84,106,-83,82,106,-105,83,105,-86,85,105,-108,86,108,-85,84,108,-107,85,107,-88,87,107,-110,87,109,-87,86,109,-109,88,110,-90,89,110,-112,90,112,-89,88,112,-111,91,113,-93,92,113,-115,92,114,-91,90,114,-113,89,111,-94,93,111,-116,94,116,-92,91,116,-114,93,115,-96,95,115,-118,96,118,-95,94,118,-117,95,117,-98,97,117,-120,98,120,-97,96,120,-119,97,119,-100,99,119,-122,100,122,-99,98,122,-121,99,121,-102,101,121,-124,102,124,-101,100, +124,-123,101,123,-104,103,123,-126,104,126,-103,102,126,-125,103,125,-106,105,125,-128,106,128,-105,104,128,-127,105,127,-108,107,127,-130,108,130,-107,106,130,-129,107,129,-110,109,129,-132,109,131,-109,108,131,-131,110,132,-112,111,132,-134,112,134,-111,110,134,-133,113,135,-115,114,135,-137,114,136,-113,112,136,-135,111,133,-116,115,133,-138,116,138,-114,113,138,-136,115,137,-118,117,137,-140,118,140,-117,116,140,-139,117,139,-120,119,139,-142,120,142,-119,118,142,-141,119,141,-122,121,141,-144,122,144,-121,120,144,-143,121,143,-124,123,143,-146,124,146,-123,122,146,-145,123,145,-126,125,145,-148,126,148,-125,124,148,-147,125,147,-128,127,147,-150,128,150,-127,126,150,-149,127,149,-130,129,149,-152,130,152,-129,128,152,-151,129,151,-132,131,151,-154,131,153,-131,130,153,-153,132,154,-134,133,154,-156,134,156,-133,132,156,-155,135,157,-137,136,157,-159,136,158,-135,134,158,-157,133,155,-138,137,155,-160,138,160,-136,135,160,-158,137,159,-140,139,159,-162,140,162,-139,138,162,-161,139,161,-142,141,161,-164,142,164,-141,140,164,-163,141,163,-144,143,163,-166,144,166,-143,142,166,-165,143,165,-146,145,165,-168,146,168,-145,144,168,-167,145,167,-148,147,167,-170,148,170,-147,146,170,-169,147,169,-150,149,169,-172,150,172,-149,148,172,-171,149,171,-152,151,171,-174,152,174,-151,150,174,-173,151,173,-154,153,173,-176,153,175,-153,152,175,-175,154,176,-156,155,176,-178,156,178,-155,154,178,-177,157,179,-159,158,179,-181,158,180,-157,156,180,-179,155,177,-160,159,177,-182,160,182,-158,157,182,-180,159,181,-162,161,181,-184,162,184,-161,160,184,-183,161,183,-164,163,183,-186,164,186,-163,162,186,-185,163,185,-166,165,185,-188,166,188,-165,164,188,-187,165,187,-168,167,187,-190,168,190,-167,166,190,-189,167,189,-170,169,189,-192,170,192,-169,168,192,-191,169,191,-172,171,191,-194,172,194,-171,170,194,-193,171,193,-174,173,193,-196,174,196,-173,172,196,-195,173,195,-176,175,195,-198,175,197,-175,174,197,-197,176,198,-178,177,198,-200,178,200,-177,176,200,-199,179,201,-181,180,201,-203,180,202,-179,178,202,-201,177,199,-182, +181,199,-204,182,204,-180,179,204,-202,181,203,-184,183,203,-206,184,206,-183,182,206,-205,183,205,-186,185,205,-208,186,208,-185,184,208,-207,185,207,-188,187,207,-210,188,210,-187,186,210,-209,187,209,-190,189,209,-212,190,212,-189,188,212,-211,189,211,-192,191,211,-214,192,214,-191,190,214,-213,191,213,-194,193,213,-216,194,216,-193,192,216,-215,193,215,-196,195,215,-218,196,218,-195,194,218,-217,195,217,-198,197,217,-220,197,219,-197,196,219,-219,198,220,-200,199,220,-222,200,222,-199,198,222,-221,201,223,-203,202,223,-225,202,224,-201,200,224,-223,199,221,-204,203,221,-226,204,226,-202,201,226,-224,203,225,-206,205,225,-228,206,228,-205,204,228,-227,205,227,-208,207,227,-230,208,230,-207,206,230,-229,207,229,-210,209,229,-232,210,232,-209,208,232,-231,209,231,-212,211,231,-234,212,234,-211,210,234,-233,211,233,-214,213,233,-236,214,236,-213,212,236,-235,213,235,-216,215,235,-238,216,238,-215,214,238,-237,215,237,-218,217,237,-240,218,240,-217,216,240,-239,217,239,-220,219,239,-242,219,241,-219,218,241,-241,220,4,-222,221,4,-6,222,6,-221,220,6,-5,242,244,-244,243,244,-246,243,245,-247,246,245,-248,221,5,-226,225,5,-20,248,249,-243,242,249,-245,225,19,-228,227,19,-26,250,251,-249,248,251,-250,227,25,-230,229,25,-32,252,253,-251,250,253,-252,229,31,-232,231,31,-38,254,255,-253,252,255,-254,231,37,-234,233,37,-44,256,257,-255,254,257,-256,233,43,-236,235,43,-50,258,259,-257,256,259,-258,235,49,-238,237,49,-56,260,261,-259,258,261,-260,237,55,-240,239,55,-62,262,263,-261,260,263,-262,239,61,-242,241,61,-66,241,65,-241,240,65,-65,224,264,-223,222,264,-266,7,266,-19,18,266,-268,222,265,-7,6,265,-269,6,268,-8,7,268,-267,223,269,-225,224,269,-265,18,267,-25,24,267,-271,226,271,-224,223,271,-270,24,270,-31,30,270,-273,228,273,-227,226,273,-272,30,272,-37,36,272,-275,230,275,-229,228,275,-274,36,274,-43,42,274,-277,232,277,-231,230,277,-276,42,276,-49,48,276,-279,234,279,-233,232,279,-278,48,278,-55,54,278,-281,236,281,-235,234,281,-280,54,280,-61,60,280,-283,238,283,-237,236,283,-282,60,282,-65,64,282,-285,240,285,-239, +238,285,-284,64,284,-241,240,284,-286,264,286,-266,265,286,-288,266,288,-268,267,288,-290,265,287,-269,268,287,-291,268,290,-267,266,290,-289,269,291,-265,264,291,-287,267,289,-271,270,289,-293,271,293,-270,269,293,-292,270,292,-273,272,292,-295,273,295,-272,271,295,-294,272,294,-275,274,294,-297,275,297,-274,273,297,-296,274,296,-277,276,296,-299,277,299,-276,275,299,-298,276,298,-279,278,298,-301,279,301,-278,277,301,-300,278,300,-281,280,300,-303,281,303,-280,279,303,-302,280,302,-283,282,302,-305,283,305,-282,281,305,-304,282,304,-285,284,304,-307,285,307,-284,283,307,-306,284,306,-286,285,306,-308,286,243,-288,287,243,-247,288,245,-290,289,245,-245,287,246,-291,290,246,-248,290,247,-289,288,247,-246,291,242,-287,286,242,-244,289,244,-293,292,244,-250,293,248,-292,291,248,-243,292,249,-295,294,249,-252,295,250,-294,293,250,-249,294,251,-297,296,251,-254,297,252,-296,295,252,-251,296,253,-299,298,253,-256,299,254,-298,297,254,-253,298,255,-301,300,255,-258,301,256,-300,299,256,-255,300,257,-303,302,257,-260,303,258,-302,301,258,-257,302,259,-305,304,259,-262,305,260,-304,303,260,-259,304,261,-307,306,261,-264,307,262,-306,305,262,-261,306,263,-308,307,263,-263 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *5508 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + NormalsW: *1836 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *5508 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *1836 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *5508 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1, +-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + TangentsW: *1836 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *1720 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *1836 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,308,310,309,309,310,311,309,311,312,312,311,313,279,305,285,285,305,314,315,316,308,308,316,310,285,314,287,287,314,317,318,319,315,315,319,316,287,317,289,289,317,320,321,322,318,318,322,319,289,320,291,291,320,323,324,325,321,321,325,322,291,323,293,293,323,326,327,328,324,324,328,325,293,326,295,295,326,329,330,331,327,327,331,328,295,329,297,297,329,332,333,334,330,330,334,331,297,332,299,299,332,335,336,337,333,333,337,334,299,335,301,301,335,338,302,339,303,303,339,340,341,343,342,342,343,344,7,345,26,26,345,346,280,347,306,306,347,348,6,349,7,7,349,345,350,351,341,341,351,343,26,346,34,34,346,352,353,354,350,350,354,351,34,352,42,42,352,355,356,357,353,353,357,354,42,355,50,50,355,358,359,360,356,356,360,357,50,358,58,58,358,361,362,363,359,359,363,360,58,361,66,66,361,364,365,366,362,362,366,363,66,364,74,74,364,367,368,369,365,365,369,366,74,367,82,82,367,370,371,372,368,368,372,369,82,370,90,90,370,373,374,375,371,371,375,372,340,376,303,303,376,377,343,378,344,344,378,379,345,380,346,346,380,381,347,382,348,348,382,383,349,384,345,345,384,380,351,385,343,343,385,378,346,381,352,352,381,386,354,387,351,351,387,385,352,386,355,355,386,388,357,389,354,354,389,387,355,388,358, +358,388,390,360,391,357,357,391,389,358,390,361,361,390,392,363,393,360,360,393,391,361,392,364,364,392,394,366,395,363,363,395,393,364,394,367,367,394,396,369,397,366,366,397,395,367,396,370,370,396,398,372,399,369,369,399,397,370,398,373,373,398,400,375,401,372,372,401,399,376,402,377,377,402,403,378,404,379,379,404,405,380,406,381,381,406,407,382,408,383,383,408,409,384,410,380,380,410,406,385,411,378,378,411,404,381,407,386,386,407,412,387,413,385,385,413,411,386,412,388,388,412,414,389,415,387,387,415,413,388,414,390,390,414,416,391,417,389,389,417,415,390,416,392,392,416,418,393,419,391,391,419,417,392,418,394,394,418,420,395,421,393,393,421,419,394,420,396,396,420,422,397,423,395,395,423,421,396,422,398,398,422,424,399,425,397,397,425,423,398,424,400,400,424,426,401,427,399,399,427,425,402,428,403,403,428,429 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *860 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-2,0,-2,-2,1,-2,0,2,0,2,1,0,-2,1,-2,-1,-3,0,-3,-3,1,-3,0,3,0,3,1,0,-3,1,-3,-1,-4,0,-4,-4,1,-4,0,4,0,4,1,0,-4,1,-4,-1,-5,0,-5,-5,1,-5,0,5,0,5,1,0,-5,1,-5,-1,-6,0,-6,-6,1,-6,0,6,0,6,1,0,-6,1,-6,-1,-7,0,-7,-7,1,-7,0,7,0,7,1,0,-7,1,-7,-1,-8,0,-8,-8,1,-8,0,8,0,8,1,0,-8,1,-8,-1,-9,0,-9,-9,1,-9,0,9,0,9,1,0,-9,1,-9,-1,-10,0,-10,-10,1,-10,0,10,0,10,1,0,-10,1,-10,-2,0,-2,-1,-2,1,-2,0,2,-2,2,-1,2,0,-2,-2,2,-3,-2,-3,2,-4,-2,-4,2,-5,-2,-5,2,-6,-2,-6,2,-7,-2,-7,2,-8,-2,-8,2,-9,-2,-9,2,-10,-2,-10,2,0,2,1,-3,0,-3,-1,-3,1,-3,0,3,-2,3,-1,3,0,-3,-2,3,-3,-3,-3,3,-4,-3,-4,3,-5,-3,-5,3,-6,-3,-6,3,-7,-3,-7,3,-8,-3,-8,3,-9,-3,-9,3,-10,-3,-10,3,0,3,1,-4,0,-4,-1,-4,1,-4,0,4,-2,4,-1,4,0,-4,-2,4,-3,-4,-3,4,-4,-4,-4,4,-5,-4,-5,4,-6,-4,-6,4,-7,-4,-7,4,-8,-4,-8,4,-9,-4,-9,4,-10,-4,-10,4,0,4,1,-5,0,-5,-1,-5,1,-5,0,5,-2,5,-1,5,0,-5,-2,5,-3,-5,-3,5,-4,-5,-4,5,-5,-5,-5,5,-6,-5,-6,5,-7,-5,-7,5,-8,-5,-8,5,-9,-5,-9,5,-10,-5,-10,5,0,5,1,-6,0,-6,-1,-6,1,-6,0,6,-2,6,-1,6,0,-6,-2,6,-3,-6,-3,6,-4,-6,-4,6,-5,-6,-5,6,-6,-6,-6,6,-7,-6,-7,6,-8,-6,-8,6,-9,-6,-9,6,-10,-6,-10,6,0,6,1,-7,0,-7,-1,-7,1,-7,0,7,-2,7,-1,7,0,-7,-2,7,-3,-7,-3,7,-4,-7,-4,7,-5,-7,-5,7,-6,-7,-6,7,-7,-7,-7,7,-8,-7,-8,7,-9,-7,-9,7,-10,-7,-10,7,0,7,1,-8,0,-8,-1,-8,1,-8,0,8,-2,8,-1,8,0,-8,-2,8,-3,-8,-3,8,-4,-8,-4,8,-5,-8,-5,8,-6,-8,-6,8,-7,-8,-7,8,-8,-8,-8,8,-9,-8,-9,8,-10,-8,-10,8,0,8,1,-9,0,-9,-1,-9,1,-9,0,9,-2,9,-1,9,0,-9,-2,9,-3,-9,-3,9,-4,-9,-4,9,-5,-9,-5,9,-6,-9,-6,9,-7,-9,-7,9,-8,-9,-8,9,-9,-9,-9,9,-10,-9,-10,9,0,9,1,-10,0,-10,-1,-10,1,-10,0,9,-2,9,-1,10,-2,10,-1,9,0,10,0,-10,-2,9,-3,10,-3,-10,-3,9,-4,10,-4,-10,-4,9,-5,10,-5,-10,-5,9,-6,10,-6,-10,-6,9,-7,10,-7,-10,-7,9,-8,10,-8,-10,-8,9,-9,10,-9,-10,-9,9,-10,10,-10,-10,-10,10,0,10,1,1,1,0,1,1,2,0,2,-1,2,-2,2,-9,2,-10,2,0,2,2,1,2,2,-3,2,3,1,3,2,-4,2,4,1,4,2,-5,2,5,1,5,2,-6,2,6,1,6,2,-7,2,7,1,7,2,-8,2,8,1,8,2,-9,2,9,1,9,2,-10,2,10,1,10,2,10,2,9,2,1,3,0,3,-1,3,-2,3,-9,3,-10,3,0,3,2,3,-3,3,3,3,-4,3,4,3,-5,3,5,3, +-6,3,6,3,-7,3,7,3,-8,3,8,3,-9,3,9,3,-10,3,10,3,10,3,9,3,1,4,0,4,-1,4,-2,4,-9,4,-10,4,0,4,2,4,-3,4,3,4,-4,4,4,4,-5,4,5,4,-6,4,6,4,-7,4,7,4,-8,4,8,4,-9,4,9,4,-10,4,10,4,10,4,9,4 + } + UVIndex: *1836 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,308,310,309,309,310,311,309,311,312,312,311,313,279,305,285,285,305,314,315,316,308,308,316,310,285,314,287,287,314,317,318,319,315,315,319,316,287,317,289,289,317,320,321,322,318,318,322,319,289,320,291,291,320,323,324,325,321,321,325,322,291,323,293,293,323,326,327,328,324,324,328,325,293,326,295,295,326,329,330,331,327,327,331,328,295,329,297,297,329,332,333,334,330,330,334,331,297,332,299,299,332,335,336,337,333,333,337,334,299,335,301,301,335,338,302,339,303,303,339,340,341,343,342,342,343,344,7,345,26,26,345,346,280,347,306,306,347,348,6,349,7,7,349,345,350,351,341,341,351,343,26,346,34,34,346,352,353,354,350,350,354,351,34,352,42,42,352,355,356,357,353,353,357,354,42,355,50,50,355,358,359,360,356,356,360,357,50,358,58,58,358,361,362,363,359,359,363,360,58,361,66,66,361,364,365,366,362,362,366,363,66,364,74,74,364,367,368,369,365,365,369,366,74,367,82,82,367,370,371,372,368,368,372,369,82,370,90,90,370,373,374,375,371,371,375,372,340,376,303,303,376,377,343,378,344,344,378,379,345,380,346,346,380,381,347,382,348,348,382,383,349,384,345,345,384,380,351,385,343,343,385,378,346,381,352,352,381,386,354,387,351,351,387,385,352,386,355,355,386,388,357,389,354,354,389,387,355,388,358, +358,388,390,360,391,357,357,391,389,358,390,361,361,390,392,363,393,360,360,393,391,361,392,364,364,392,394,366,395,363,363,395,393,364,394,367,367,394,396,369,397,366,366,397,395,367,396,370,370,396,398,372,399,369,369,399,397,370,398,373,373,398,400,375,401,372,372,401,399,376,402,377,377,402,403,378,404,379,379,404,405,380,406,381,381,406,407,382,408,383,383,408,409,384,410,380,380,410,406,385,411,378,378,411,404,381,407,386,386,407,412,387,413,385,385,413,411,386,412,388,388,412,414,389,415,387,387,415,413,388,414,390,390,414,416,391,417,389,389,417,415,390,416,392,392,416,418,393,419,391,391,419,417,392,418,394,394,418,420,395,421,393,393,421,419,394,420,396,396,420,422,397,423,395,395,423,421,396,422,398,398,422,424,399,425,397,397,425,423,398,424,400,400,424,426,401,427,399,399,427,425,402,428,403,403,428,429 + } + } + LayerElementUV: 1 { + Version: 101 + Name: "UVSet1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *860 { + a: 0.497125208377838,0.647862315177917,0.54603773355484,0.647862315177917,0.497125238180161,0.69677472114563,0.54603773355484,0.69677472114563,0.497126281261444,0.00400003185495734,0.546038806438446,0.00400008028373122,0.497126221656799,0.0529124960303307,0.546038687229156,0.052912600338459,0.937336683273315,0.448212832212448,0.986249148845673,0.448212832212448,0.937336683273315,0.497125238180161,0.986249148845673,0.497125238180161,0.444211333990097,0.941338896751404,0.493123829364777,0.941338896751404,0.444211304187775,0.990251302719116,0.493123829364777,0.990251302719116,0.493123412132263,0.00400000018998981,0.493123680353165,0.0529123060405254,0.444211184978485,0.00400023907423019,0.444211393594742,0.0529124811291695,0.0040001105517149,0.497125834226608,0.0529125928878784,0.497125744819641,0.00400000018998981,0.448213398456573,0.052912525832653,0.448213338851929,0.0529126711189747,0.546038150787354,0.00400023115798831,0.546038210391998,0.594951152801514,0.0529126897454262,0.594951212406158,0.00400020135566592,0.395298987627029,0.941338896751404,0.395298957824707,0.990251302719116,0.395299017429352,0.00400040531530976,0.395299166440964,0.0529126338660717,0.0529127418994904,0.594950497150421,0.0040003526955843,0.594950556755066,0.643863558769226,0.0529127605259418,0.643863618373871,0.00400030985474586,0.346386641263962,0.941338837146759,0.346386641263962,0.990251302719116,0.346386849880219,0.00400051148608327,0.346386939287186,0.0529127717018127,0.0529128089547157,0.643862843513489,0.00400046491995454,0.643862903118134,0.692775964736938,0.0529128015041351,0.692776024341583,0.0040003964677453,0.297474265098572,0.941338837146759,0.297474265098572,0.990251302719116,0.297474652528763,0.00400057109072804,0.29747474193573,0.0529128536581993,0.0529128313064575,0.692775130271912,0.00400054175406694,0.692775130271912,0.741688370704651,0.0529128275811672,0.741688370704651,0.0040004258044064,0.248561918735504,0.941338837146759,0.248561918735504,0.990251302719116,0.248562470078468,0.00400057435035706,0.24856248497963, +0.0529128834605217,0.0529128052294254,0.74168735742569,0.00400057202205062,0.741687297821045,0.790600717067719,0.0529128089547157,0.790600657463074,0.00400044629350305,0.199649542570114,0.941338837146759,0.199649557471275,0.990251302719116,0.199650213122368,0.00400052685290575,0.199650198221207,0.0529128722846508,0.0529127381742001,0.790599584579468,0.00400052266195416,0.790599465370178,0.839513063430786,0.0529127605259418,0.839513003826141,0.00400041323155165,0.150737166404724,0.941338837146759,0.150737181305885,0.990251302719116,0.150737926363945,0.00400044582784176,0.150737851858139,0.052912812680006,0.0529126301407814,0.839511752128601,0.00400040810927749,0.839511632919312,0.888425409793854,0.0529126822948456,0.888425290584564,0.00400033360347152,0.101824782788754,0.941338837146759,0.101824797689915,0.990251302719116,0.101825594902039,0.00400029588490725,0.101825498044491,0.0529127307236195,0.052912462502718,0.888423979282379,0.0040002353489399,0.888423800468445,0.937337756156921,0.0529125705361366,0.937337577342987,0.00400020834058523,0.0529123917222023,0.941338896751404,0.0529124066233635,0.990251362323761,0.0529131852090359,0.00400014314800501,0.0529130734503269,0.0529126264154911,0.0529122911393642,0.937336266040802,0.00400000018998981,0.937336027622223,0.986250162124634,0.0529124215245247,0.986249923706055,0.00400000018998981,0.00400000018998981,0.941338896751404,0.004000015091151,0.990251362323761,0.00400074105709791,0.00400000018998981,0.00400064047425985,0.0529125295579433,0.101824909448624,0.448213219642639,0.10182498395443,0.497125655412674,0.594950079917908,0.69677472114563,0.594950079917908,0.647862255573273,0.395299315452576,0.10182486474514,0.444211542606354,0.101824708282948,0.493123799562454,0.101824522018433,0.101825043559074,0.546038091182709,0.346387058496475,0.101824998855591,0.101825095713139,0.594950437545776,0.297474771738052,0.101825103163719,0.10182511806488,0.643862783908844,0.24856248497963,0.101825162768364,0.101825095713139,0.692775130271912,0.199650153517723,0.101825177669525,0.101825028657913, +0.741687417030334,0.150737792253494,0.101825162768364,0.101824939250946,0.790599644184113,0.101825393736362,0.101825103163719,0.101824812591076,0.839511930942535,0.0529129356145859,0.101825021207333,0.101824663579464,0.888424158096313,0.00400051008909941,0.101824924349785,0.10182448476553,0.937336385250092,0.888424277305603,0.448212802410126,0.888424277305603,0.497125238180161,0.150737315416336,0.448213130235672,0.150737389922142,0.497125566005707,0.643862426280975,0.69677472114563,0.643862426280975,0.647862255573273,0.395299464464188,0.150737121701241,0.444211721420288,0.150736942887306,0.493123978376389,0.150736719369888,0.150737419724464,0.546038031578064,0.346387177705765,0.150737285614014,0.150737449526787,0.594950377941132,0.29747486114502,0.150737404823303,0.150737449526787,0.643862783908844,0.248562514781952,0.150737479329109,0.150737389922142,0.692775130271912,0.199650138616562,0.150737524032593,0.150737315416336,0.741687476634979,0.150737747550011,0.150737538933754,0.150737181305885,0.790599763393402,0.101825311779976,0.15073749423027,0.150737047195435,0.839512050151825,0.0529128462076187,0.150737434625626,0.1507368683815,0.888424336910248,0.00400038156658411,0.150737345218658,0.150736659765244,0.937336564064026,0.839511930942535,0.448212802410126,0.839511930942535,0.497125238180161,0.199649721384048,0.448213011026382,0.199649795889854,0.497125506401062,0.692774772644043,0.69677472114563,0.692774772644043,0.647862255573273,0.3952996134758,0.199649423360825,0.444211930036545,0.199649214744568,0.493124216794968,0.199648946523666,0.199649825692177,0.546037971973419,0.346387296915054,0.199649602174759,0.199649840593338,0.594950377941132,0.297474950551987,0.19964973628521,0.199649810791016,0.643862843513489,0.248562559485435,0.199649840593338,0.19964973628521,0.692775189876556,0.199650153517723,0.199649900197983,0.199649631977081,0.741687536239624,0.150737732648849,0.199649944901466,0.199649482965469,0.790599882602692,0.101825259625912,0.199649915099144,0.199649319052696,0.839512228965759,0.0529127642512321,0.199649885296822, +0.19964911043644,0.888424515724182,0.00400023953989148,0.199649810791016,0.199648857116699,0.937336802482605,0.790599584579468,0.448212802410126,0.790599584579468,0.497125238180161,0.248562186956406,0.448212921619415,0.248562231659889,0.497125446796417,0.741687178611755,0.69677472114563,0.741687178611755,0.647862255573273,0.395299822092056,0.24856173992157,0.444212168455124,0.24856148660183,0.493124485015869,0.248561203479767,0.24856224656105,0.546037971973419,0.346387445926666,0.248561948537827,0.24856224656105,0.594950437545776,0.297475039958954,0.2485621124506,0.248562201857567,0.643862843513489,0.248562633991241,0.248562231659889,0.248562097549438,0.692775249481201,0.199650198221207,0.248562321066856,0.248561978340149,0.741687655448914,0.150737732648849,0.248562380671501,0.248561799526215,0.790600061416626,0.101825222373009,0.248562380671501,0.248561590909958,0.839512407779694,0.0529127083718777,0.248562350869179,0.248561352491379,0.888424754142761,0.00400013057515025,0.248562306165695,0.248561069369316,0.937337040901184,0.7416872382164,0.448212802410126,0.7416872382164,0.497125238180161,0.297474682331085,0.448212832212448,0.297474712133408,0.497125416994095,0.790599524974823,0.69677472114563,0.790599584579468,0.647862255573273,0.395300030708313,0.297474086284637,0.444212436676025,0.297473818063736,0.493124812841415,0.29747349023819,0.297474712133408,0.546037912368774,0.346387624740601,0.297474324703217,0.297474682331085,0.594950437545776,0.297475188970566,0.297474503517151,0.29747462272644,0.643862903118134,0.24856273829937,0.297474652528763,0.297474503517151,0.692775368690491,0.199650257825851,0.297474771738052,0.297474354505539,0.741687834262848,0.150737747550011,0.297474831342697,0.297474175691605,0.79060024023056,0.101825222373009,0.29747486114502,0.297473937273026,0.839512646198273,0.0529126673936844,0.297474890947342,0.297473669052124,0.88842499256134,0.00400004768744111,0.29747486114502,0.297473341226578,0.937337338924408,0.692774891853333,0.448212772607803,0.692774832248688,0.497125238180161,0.34638723731041, +0.448212742805481,0.34638723731041,0.497125387191772,0.839511930942535,0.696774780750275,0.839511930942535,0.647862255573273,0.395300269126892,0.346386522054672,0.444212734699249,0.346386224031448,0.493125170469284,0.34638586640358,0.34638723731041,0.546037971973419,0.346387803554535,0.346386760473251,0.346387177705765,0.594950497150421,0.297475337982178,0.346386939287186,0.346387088298798,0.643863022327423,0.248562842607498,0.34638711810112,0.346386939287186,0.69277548789978,0.199650332331657,0.34638723731041,0.346386790275574,0.741687953472137,0.150737792253494,0.346387356519699,0.346386581659317,0.790600419044495,0.101825229823589,0.346387416124344,0.346386313438416,0.839512884616852,0.0529126524925232,0.346387445926666,0.346386015415192,0.888425290584564,0.00400000065565109,0.346387445926666,0.346385657787323,0.937337696552277,0.64386248588562,0.448212772607803,0.64386248588562,0.497125238180161,0.395299851894379,0.448212713003159,0.395299822092056,0.497125387191772,0.888424336910248,0.696774780750275,0.888424336910248,0.647862315177917,0.395300507545471,0.395298957824707,0.444213032722473,0.395298689603806,0.49312549829483,0.395298361778259,0.395299792289734,0.546037971973419,0.346388012170792,0.395299226045609,0.395299702882767,0.594950556755066,0.297475516796112,0.395299434661865,0.395299583673477,0.643863081932068,0.248562976717949,0.3952996134758,0.395299434661865,0.69277560710907,0.199650436639786,0.395299762487411,0.395299255847931,0.741688132286072,0.1507378667593,0.395299881696701,0.395299017429352,0.790600657463074,0.101825274527073,0.395299971103668,0.39529874920845,0.839513123035431,0.0529126673936844,0.395300030708313,0.395298451185226,0.888425648212433,0.00400000018998981,0.395300090312958,0.395298063755035,0.937338054180145,0.594950079917908,0.448212742805481,0.594950079917908,0.497125238180161,0.444212466478348,0.448212713003159,0.444212436676025,0.497125416994095,0.93733674287796,0.696774780750275,0.93733674287796,0.647862315177917,0.39530074596405,0.444211453199387,0.444213330745697,0.44421112537384, +0.493125855922699,0.444210797548294,0.444212347269058,0.546038031578064,0.346388250589371,0.444211721420288,0.444212257862091,0.594950616359711,0.297475695610046,0.444211959838867,0.444212108850479,0.643863201141357,0.248563140630722,0.444212168455124,0.444211959838867,0.692775785923004,0.199650555849075,0.444212317466736,0.44421175122261,0.741688370704651,0.150737941265106,0.444212436676025,0.444211512804031,0.790600895881653,0.101825341582298,0.444212555885315,0.444211214780807,0.839513421058655,0.0529127381742001,0.44421261548996,0.444210916757584,0.888425946235657,0.00400005746632814,0.444212704896927,0.444210529327393,0.937338471412659,0.546037673950195,0.448212742805481,0.546037673950195,0.497125238180161,0.493125230073929,0.448212772607803,0.493125081062317,0.497125506401062,0.986249148845673,0.696774780750275,0.986249148845673,0.647862315177917,0.888425290584564,0.203650057315826,0.937337756156921,0.203650057315826,0.888425290584564,0.252562463283539,0.937337756156921,0.252562433481216,0.986250281333923,0.203650042414665,0.986250281333923,0.252562433481216,0.493124961853027,0.546038091182709,0.839512884616852,0.203650072216988,0.839512884616852,0.252562463283539,0.493124842643738,0.594950735569,0.790600538253784,0.203650072216988,0.790600538253784,0.252562463283539,0.493124693632126,0.643863379955292,0.741688072681427,0.203650072216988,0.741688072681427,0.252562463283539,0.493124514818192,0.692775964736938,0.692775666713715,0.203650072216988,0.692775666713715,0.252562463283539,0.493124306201935,0.741688549518585,0.643863201141357,0.203650072216988,0.643863201141357,0.252562433481216,0.493124037981033,0.790601134300232,0.594950735569,0.203650072216988,0.594950735569,0.252562433481216,0.493123739957809,0.839513659477234,0.546038269996643,0.203650057315826,0.546038269996643,0.252562433481216,0.493123382329941,0.888426303863525,0.497125864028931,0.203650042414665,0.497125834226608,0.252562403678894,0.49312299489975,0.937338829040527,0.497125297784805,0.448212713003159,0.497125267982483,0.497125208377838,0.937337636947632, +0.256562530994415,0.986250102519989,0.256562471389771,0.937337636947632,0.305474936962128,0.986250162124634,0.305474936962128,0.546038568019867,0.101825028657913,0.594951033592224,0.1018251106143,0.93733674287796,0.745687127113342,0.986249148845673,0.745687127113342,0.497126072645187,0.101824939250946,0.888425230979919,0.256562560796738,0.888425230979919,0.305474936962128,0.643863499164581,0.101825155317783,0.839512825012207,0.256562560796738,0.839512825012207,0.305474936962128,0.692775905132294,0.101825185120106,0.790600419044495,0.256562530994415,0.790600419044495,0.305474907159805,0.741688311100006,0.101825185120106,0.741688013076782,0.256562530994415,0.741688013076782,0.305474907159805,0.790600717067719,0.101825155317783,0.69277560710907,0.256562530994415,0.69277560710907,0.305474907159805,0.839513123035431,0.101825103163719,0.643863201141357,0.256562501192093,0.643863201141357,0.305474907159805,0.888425469398499,0.101825013756752,0.594950795173645,0.256562501192093,0.594950735569,0.305474907159805,0.937337875366211,0.101824894547462,0.546038389205933,0.256562471389771,0.546038329601288,0.305474907159805,0.986250281333923,0.101824752986431,0.497125864028931,0.256562471389771,0.497125834226608,0.305474907159805,0.497125238180161,0.546037554740906,0.546037673950195,0.546037554740906,0.937337636947632,0.354387402534485,0.986250102519989,0.354387432336807,0.546038508415222,0.150737509131432,0.594950973987579,0.150737553834915,0.93733674287796,0.79459947347641,0.986249148845673,0.79459947347641,0.497125953435898,0.150737434625626,0.888425171375275,0.354387372732162,0.643863439559937,0.150737583637238,0.839512765407562,0.35438734292984,0.692775905132294,0.150737583637238,0.79060035943985,0.354387313127518,0.741688311100006,0.150737568736076,0.741687953472137,0.354387283325195,0.790600776672363,0.150737538933754,0.692775547504425,0.354387283325195,0.839513182640076,0.150737479329109,0.643863141536713,0.354387283325195,0.888425588607788,0.150737389922142,0.594950735569,0.354387313127518,0.9373379945755,0.150737285614014, +0.546038329601288,0.35438734292984,0.986250400543213,0.150737166404724,0.497125864028931,0.354387402534485,0.497125238180161,0.594949901103973,0.546037673950195,0.594949901103973,0.937337517738342,0.40329983830452,0.986250042915344,0.403299897909164,0.546038448810577,0.199650049209595,0.594950973987579,0.199650034308434,0.93733674287796,0.843511760234833,0.986249148845673,0.843511760234833,0.497125834226608,0.199650019407272,0.88842511177063,0.403299778699875,0.643863439559937,0.199650034308434,0.839512705802917,0.403299748897552,0.692775905132294,0.199650019407272,0.790600299835205,0.403299689292908,0.741688370704651,0.19964998960495,0.741687893867493,0.403299659490585,0.790600776672363,0.199649944901466,0.692775547504425,0.403299659490585,0.83951324224472,0.19964987039566,0.643863141536713,0.403299659490585,0.888425648212433,0.199649780988693,0.594950795173645,0.403299689292908,0.93733811378479,0.199649661779404,0.546038389205933,0.403299748897552,0.986250519752502,0.199649512767792,0.49712598323822,0.403299868106842,0.497125208377838,0.643862247467041,0.546037614345551,0.643862247467041 + } + UVIndex: *1836 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,308,310,309,309,310,311,309,311,312,312,311,313,279,305,285,285,305,314,315,316,308,308,316,310,285,314,287,287,314,317,318,319,315,315,319,316,287,317,289,289,317,320,321,322,318,318,322,319,289,320,291,291,320,323,324,325,321,321,325,322,291,323,293,293,323,326,327,328,324,324,328,325,293,326,295,295,326,329,330,331,327,327,331,328,295,329,297,297,329,332,333,334,330,330,334,331,297,332,299,299,332,335,336,337,333,333,337,334,299,335,301,301,335,338,302,339,303,303,339,340,341,343,342,342,343,344,7,345,26,26,345,346,280,347,306,306,347,348,6,349,7,7,349,345,350,351,341,341,351,343,26,346,34,34,346,352,353,354,350,350,354,351,34,352,42,42,352,355,356,357,353,353,357,354,42,355,50,50,355,358,359,360,356,356,360,357,50,358,58,58,358,361,362,363,359,359,363,360,58,361,66,66,361,364,365,366,362,362,366,363,66,364,74,74,364,367,368,369,365,365,369,366,74,367,82,82,367,370,371,372,368,368,372,369,82,370,90,90,370,373,374,375,371,371,375,372,340,376,303,303,376,377,343,378,344,344,378,379,345,380,346,346,380,381,347,382,348,348,382,383,349,384,345,345,384,380,351,385,343,343,385,378,346,381,352,352,381,386,354,387,351,351,387,385,352,386,355,355,386,388,357,389,354,354,389,387,355,388,358, +358,388,390,360,391,357,357,391,389,358,390,361,361,390,392,363,393,360,360,393,391,361,392,364,364,392,394,366,395,363,363,395,393,364,394,367,367,394,396,369,397,366,366,397,395,367,396,370,370,396,398,372,399,369,369,399,397,370,398,373,373,398,400,375,401,372,372,401,399,376,402,377,377,402,403,378,404,379,379,404,405,380,406,381,381,406,407,382,408,383,383,408,409,384,410,380,380,410,406,385,411,378,378,411,404,381,407,386,386,407,412,387,413,385,385,413,411,386,412,388,388,412,414,389,415,387,387,415,413,388,414,390,390,414,416,391,417,389,389,417,415,390,416,392,392,416,418,393,419,391,391,419,417,392,418,394,394,418,420,395,421,393,393,421,419,394,420,396,396,420,422,397,423,395,395,423,421,396,422,398,398,422,424,399,425,397,397,425,423,398,424,400,400,424,426,401,427,399,399,427,425,402,428,403,403,428,429 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + Layer: 1 { + Version: 100 + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 1 + } + } + } + Geometry: 1143716656, "Geometry::Scene", "Mesh" { + Vertices: *924 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-100,100,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-100,100,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-100,100,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-100,100,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-100,100,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-100,100,-900,-1000,100,-1000,-1000,0,-1000,-200,0,0,-200,0,-100,-200,100,0,-200,100,-200,-200,100,-100,-200,0,-200,-200,100,-300,-200,0,-300,-200,100,-400,-200,0,-400,-200,100,-500,-200,0,-500,-200,100,-600,-200,0,-600,-200,100,-700,-200,0,-700,-200,100,-800,-200,0,-800,-200,100,-900,-200,0,-900,-200,100,-1000,-200,0,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,100,-1000,-300,0,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800,-400,100,-900,-400,0,-900,-400,100,-1000,-400,0,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,0,-200,-500,100,-300,-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800,-500,100,-900,-500,0,-900,-500,100,-1000,-500,0,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,0,-200,-600,100,-300, +-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,100,-1000,-600,0,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,100,-1000,-700,0,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,100,-1000,-800,0,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,100,-1000,-900,0,-1000,-900,400,-200,-900,400,-100,-1000,400,-200,-1000,400,-100,-900,400,0,-1000,400,0,-900,400,-300,-1000,400,-300,-900,400,-400,-1000,400,-400,-900,400,-500,-1000,400,-500,-900,400,-600,-1000,400,-600,-900,400,-700,-1000,400,-700,-900,400,-800,-1000,400,-800,-900,400,-900,-1000,400,-900,-900,400,-1000,-1000,400,-1000,-900,200,-100,-900,200,0,-1000,200,-100,-1000,200,-200,-1000,200,0,-900,200,-200,-1000,200,-300,-900,200,-300,-1000,200,-400,-900,200,-400,-1000,200,-500,-900,200,-500,-1000,200,-600,-900,200,-600,-1000,200,-700,-900,200,-700,-1000,200,-800,-900,200,-800,-1000,200,-900,-900,200,-900,-1000,200,-1000,-900,200,-1000,-900,300,-100,-900,300,0,-1000,300,-100,-1000,300,-200,-1000,300,0,-900,300,-200,-1000,300,-300,-900,300,-300,-1000,300,-400,-900,300,-400,-1000,300,-500,-900,300,-500,-1000,300,-600,-900,300,-600,-1000,300,-700,-900,300,-700,-1000,300,-800,-900,300,-800,-1000,300,-900,-900,300,-900,-1000,300,-1000,-900,300,-1000 + } + PolygonVertexIndex: *1836 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,28,-24,23,28,-30,24,30,-26,25,30,-32,23,29,-27,26,29,-33,26,32,-28,27,32,-34,28,34,-30,29,34,-36,30,36,-32,31,36,-38,29,35,-33,32,35,-39,32,38,-34,33,38,-40,34,40,-36,35,40,-42,36,42,-38,37,42,-44,35,41,-39,38,41,-45,38,44,-40,39,44,-46,40,46,-42,41,46,-48,42,48,-44,43,48,-50,41,47,-45,44,47,-51,44,50,-46,45,50,-52,46,52,-48,47,52,-54,48,54,-50,49,54,-56,47,53,-51,50,53,-57,50,56,-52,51,56,-58,52,58,-54,53,58,-60,54,60,-56,55,60,-62,53,59,-57,56,59,-63,56,62,-58,57,62,-64,58,8,-60,59,8,-10,60,64,-62,61,64,-66,59,9,-63,62,9,-12,62,11,-64,63,11,-11,1,66,-16,15,66,-68,3,68,-2,1,68,-67,21,69,-15,14,69,-71,14,70,-4,3,70,-69,15,67,-17,16,67,-72,27,72,-22,21,72,-70,16,71,-23,22,71,-74,33,74,-28,27,74,-73,22,73,-29,28,73,-76,39,76,-34,33,76,-75,28,75,-35,34,75,-78,45,78,-40,39,78,-77,34,77,-41,40,77,-80,51,80,-46,45,80,-79,40,79,-47,46,79,-82,57,82,-52,51,82,-81,46,81,-53,52,81,-84,63,84,-58,57,84,-83,52,83,-59,58,83,-86,10,86,-64,63,86,-85,58,85,-9,8,85,-88,8,87,-11,10,87,-87,66,88,-68,67,88,-90,68,90,-67,66,90,-89,69,91,-71,70,91,-93,70,92,-69,68,92,-91,67,89,-72,71,89,-94,72,94,-70,69,94,-92,71,93,-74,73,93,-96,74,96,-73,72,96,-95,73,95,-76,75,95,-98,76,98,-75,74,98,-97,75,97,-78,77,97,-100,78,100,-77,76,100,-99,77,99,-80,79,99,-102,80,102,-79,78,102,-101,79,101,-82,81,101,-104,82,104,-81,80,104,-103,81,103,-84,83,103,-106,84,106,-83,82,106,-105,83,105,-86,85,105,-108,86,108,-85,84,108,-107,85,107,-88,87,107,-110,87,109,-87,86,109,-109,88,110,-90,89,110,-112,90,112,-89,88,112,-111,91,113,-93,92,113,-115,92,114,-91,90,114,-113,89,111,-94,93,111,-116,94,116,-92,91,116,-114,93,115,-96,95,115,-118,96,118,-95,94,118,-117,95,117,-98,97,117,-120,98,120,-97,96,120,-119,97,119,-100,99,119,-122,100,122,-99,98,122,-121,99,121,-102,101,121,-124,102,124,-101,100, +124,-123,101,123,-104,103,123,-126,104,126,-103,102,126,-125,103,125,-106,105,125,-128,106,128,-105,104,128,-127,105,127,-108,107,127,-130,108,130,-107,106,130,-129,107,129,-110,109,129,-132,109,131,-109,108,131,-131,110,132,-112,111,132,-134,112,134,-111,110,134,-133,113,135,-115,114,135,-137,114,136,-113,112,136,-135,111,133,-116,115,133,-138,116,138,-114,113,138,-136,115,137,-118,117,137,-140,118,140,-117,116,140,-139,117,139,-120,119,139,-142,120,142,-119,118,142,-141,119,141,-122,121,141,-144,122,144,-121,120,144,-143,121,143,-124,123,143,-146,124,146,-123,122,146,-145,123,145,-126,125,145,-148,126,148,-125,124,148,-147,125,147,-128,127,147,-150,128,150,-127,126,150,-149,127,149,-130,129,149,-152,130,152,-129,128,152,-151,129,151,-132,131,151,-154,131,153,-131,130,153,-153,132,154,-134,133,154,-156,134,156,-133,132,156,-155,135,157,-137,136,157,-159,136,158,-135,134,158,-157,133,155,-138,137,155,-160,138,160,-136,135,160,-158,137,159,-140,139,159,-162,140,162,-139,138,162,-161,139,161,-142,141,161,-164,142,164,-141,140,164,-163,141,163,-144,143,163,-166,144,166,-143,142,166,-165,143,165,-146,145,165,-168,146,168,-145,144,168,-167,145,167,-148,147,167,-170,148,170,-147,146,170,-169,147,169,-150,149,169,-172,150,172,-149,148,172,-171,149,171,-152,151,171,-174,152,174,-151,150,174,-173,151,173,-154,153,173,-176,153,175,-153,152,175,-175,154,176,-156,155,176,-178,156,178,-155,154,178,-177,157,179,-159,158,179,-181,158,180,-157,156,180,-179,155,177,-160,159,177,-182,160,182,-158,157,182,-180,159,181,-162,161,181,-184,162,184,-161,160,184,-183,161,183,-164,163,183,-186,164,186,-163,162,186,-185,163,185,-166,165,185,-188,166,188,-165,164,188,-187,165,187,-168,167,187,-190,168,190,-167,166,190,-189,167,189,-170,169,189,-192,170,192,-169,168,192,-191,169,191,-172,171,191,-194,172,194,-171,170,194,-193,171,193,-174,173,193,-196,174,196,-173,172,196,-195,173,195,-176,175,195,-198,175,197,-175,174,197,-197,176,198,-178,177,198,-200,178,200,-177,176,200,-199,179,201,-181,180,201,-203,180,202,-179,178,202,-201,177,199,-182, +181,199,-204,182,204,-180,179,204,-202,181,203,-184,183,203,-206,184,206,-183,182,206,-205,183,205,-186,185,205,-208,186,208,-185,184,208,-207,185,207,-188,187,207,-210,188,210,-187,186,210,-209,187,209,-190,189,209,-212,190,212,-189,188,212,-211,189,211,-192,191,211,-214,192,214,-191,190,214,-213,191,213,-194,193,213,-216,194,216,-193,192,216,-215,193,215,-196,195,215,-218,196,218,-195,194,218,-217,195,217,-198,197,217,-220,197,219,-197,196,219,-219,198,220,-200,199,220,-222,200,222,-199,198,222,-221,201,223,-203,202,223,-225,202,224,-201,200,224,-223,199,221,-204,203,221,-226,204,226,-202,201,226,-224,203,225,-206,205,225,-228,206,228,-205,204,228,-227,205,227,-208,207,227,-230,208,230,-207,206,230,-229,207,229,-210,209,229,-232,210,232,-209,208,232,-231,209,231,-212,211,231,-234,212,234,-211,210,234,-233,211,233,-214,213,233,-236,214,236,-213,212,236,-235,213,235,-216,215,235,-238,216,238,-215,214,238,-237,215,237,-218,217,237,-240,218,240,-217,216,240,-239,217,239,-220,219,239,-242,219,241,-219,218,241,-241,220,4,-222,221,4,-6,222,6,-221,220,6,-5,242,244,-244,243,244,-246,243,245,-247,246,245,-248,221,5,-226,225,5,-20,248,249,-243,242,249,-245,225,19,-228,227,19,-26,250,251,-249,248,251,-250,227,25,-230,229,25,-32,252,253,-251,250,253,-252,229,31,-232,231,31,-38,254,255,-253,252,255,-254,231,37,-234,233,37,-44,256,257,-255,254,257,-256,233,43,-236,235,43,-50,258,259,-257,256,259,-258,235,49,-238,237,49,-56,260,261,-259,258,261,-260,237,55,-240,239,55,-62,262,263,-261,260,263,-262,239,61,-242,241,61,-66,241,65,-241,240,65,-65,224,264,-223,222,264,-266,7,266,-19,18,266,-268,222,265,-7,6,265,-269,6,268,-8,7,268,-267,223,269,-225,224,269,-265,18,267,-25,24,267,-271,226,271,-224,223,271,-270,24,270,-31,30,270,-273,228,273,-227,226,273,-272,30,272,-37,36,272,-275,230,275,-229,228,275,-274,36,274,-43,42,274,-277,232,277,-231,230,277,-276,42,276,-49,48,276,-279,234,279,-233,232,279,-278,48,278,-55,54,278,-281,236,281,-235,234,281,-280,54,280,-61,60,280,-283,238,283,-237,236,283,-282,60,282,-65,64,282,-285,240,285,-239, +238,285,-284,64,284,-241,240,284,-286,264,286,-266,265,286,-288,266,288,-268,267,288,-290,265,287,-269,268,287,-291,268,290,-267,266,290,-289,269,291,-265,264,291,-287,267,289,-271,270,289,-293,271,293,-270,269,293,-292,270,292,-273,272,292,-295,273,295,-272,271,295,-294,272,294,-275,274,294,-297,275,297,-274,273,297,-296,274,296,-277,276,296,-299,277,299,-276,275,299,-298,276,298,-279,278,298,-301,279,301,-278,277,301,-300,278,300,-281,280,300,-303,281,303,-280,279,303,-302,280,302,-283,282,302,-305,283,305,-282,281,305,-304,282,304,-285,284,304,-307,285,307,-284,283,307,-306,284,306,-286,285,306,-308,286,243,-288,287,243,-247,288,245,-290,289,245,-245,287,246,-291,290,246,-248,290,247,-289,288,247,-246,291,242,-287,286,242,-244,289,244,-293,292,244,-250,293,248,-292,291,248,-243,292,249,-295,294,249,-252,295,250,-294,293,250,-249,294,251,-297,296,251,-254,297,252,-296,295,252,-251,296,253,-299,298,253,-256,299,254,-298,297,254,-253,298,255,-301,300,255,-258,301,256,-300,299,256,-255,300,257,-303,302,257,-260,303,258,-302,301,258,-257,302,259,-305,304,259,-262,305,260,-304,303,260,-259,304,261,-307,306,261,-264,307,262,-306,305,262,-261,306,263,-308,307,263,-263 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *5508 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + NormalsW: *1836 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *5508 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *1836 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *5508 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1, +-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + TangentsW: *1836 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *1720 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *1836 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,308,310,309,309,310,311,309,311,312,312,311,313,279,305,285,285,305,314,315,316,308,308,316,310,285,314,287,287,314,317,318,319,315,315,319,316,287,317,289,289,317,320,321,322,318,318,322,319,289,320,291,291,320,323,324,325,321,321,325,322,291,323,293,293,323,326,327,328,324,324,328,325,293,326,295,295,326,329,330,331,327,327,331,328,295,329,297,297,329,332,333,334,330,330,334,331,297,332,299,299,332,335,336,337,333,333,337,334,299,335,301,301,335,338,302,339,303,303,339,340,341,343,342,342,343,344,7,345,26,26,345,346,280,347,306,306,347,348,6,349,7,7,349,345,350,351,341,341,351,343,26,346,34,34,346,352,353,354,350,350,354,351,34,352,42,42,352,355,356,357,353,353,357,354,42,355,50,50,355,358,359,360,356,356,360,357,50,358,58,58,358,361,362,363,359,359,363,360,58,361,66,66,361,364,365,366,362,362,366,363,66,364,74,74,364,367,368,369,365,365,369,366,74,367,82,82,367,370,371,372,368,368,372,369,82,370,90,90,370,373,374,375,371,371,375,372,340,376,303,303,376,377,343,378,344,344,378,379,345,380,346,346,380,381,347,382,348,348,382,383,349,384,345,345,384,380,351,385,343,343,385,378,346,381,352,352,381,386,354,387,351,351,387,385,352,386,355,355,386,388,357,389,354,354,389,387,355,388,358, +358,388,390,360,391,357,357,391,389,358,390,361,361,390,392,363,393,360,360,393,391,361,392,364,364,392,394,366,395,363,363,395,393,364,394,367,367,394,396,369,397,366,366,397,395,367,396,370,370,396,398,372,399,369,369,399,397,370,398,373,373,398,400,375,401,372,372,401,399,376,402,377,377,402,403,378,404,379,379,404,405,380,406,381,381,406,407,382,408,383,383,408,409,384,410,380,380,410,406,385,411,378,378,411,404,381,407,386,386,407,412,387,413,385,385,413,411,386,412,388,388,412,414,389,415,387,387,415,413,388,414,390,390,414,416,391,417,389,389,417,415,390,416,392,392,416,418,393,419,391,391,419,417,392,418,394,394,418,420,395,421,393,393,421,419,394,420,396,396,420,422,397,423,395,395,423,421,396,422,398,398,422,424,399,425,397,397,425,423,398,424,400,400,424,426,401,427,399,399,427,425,402,428,403,403,428,429 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *860 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-2,0,-2,-2,1,-2,0,2,0,2,1,0,-2,1,-2,-1,-3,0,-3,-3,1,-3,0,3,0,3,1,0,-3,1,-3,-1,-4,0,-4,-4,1,-4,0,4,0,4,1,0,-4,1,-4,-1,-5,0,-5,-5,1,-5,0,5,0,5,1,0,-5,1,-5,-1,-6,0,-6,-6,1,-6,0,6,0,6,1,0,-6,1,-6,-1,-7,0,-7,-7,1,-7,0,7,0,7,1,0,-7,1,-7,-1,-8,0,-8,-8,1,-8,0,8,0,8,1,0,-8,1,-8,-1,-9,0,-9,-9,1,-9,0,9,0,9,1,0,-9,1,-9,-1,-10,0,-10,-10,1,-10,0,10,0,10,1,0,-10,1,-10,-2,0,-2,-1,-2,1,-2,0,2,-2,2,-1,2,0,-2,-2,2,-3,-2,-3,2,-4,-2,-4,2,-5,-2,-5,2,-6,-2,-6,2,-7,-2,-7,2,-8,-2,-8,2,-9,-2,-9,2,-10,-2,-10,2,0,2,1,-3,0,-3,-1,-3,1,-3,0,3,-2,3,-1,3,0,-3,-2,3,-3,-3,-3,3,-4,-3,-4,3,-5,-3,-5,3,-6,-3,-6,3,-7,-3,-7,3,-8,-3,-8,3,-9,-3,-9,3,-10,-3,-10,3,0,3,1,-4,0,-4,-1,-4,1,-4,0,4,-2,4,-1,4,0,-4,-2,4,-3,-4,-3,4,-4,-4,-4,4,-5,-4,-5,4,-6,-4,-6,4,-7,-4,-7,4,-8,-4,-8,4,-9,-4,-9,4,-10,-4,-10,4,0,4,1,-5,0,-5,-1,-5,1,-5,0,5,-2,5,-1,5,0,-5,-2,5,-3,-5,-3,5,-4,-5,-4,5,-5,-5,-5,5,-6,-5,-6,5,-7,-5,-7,5,-8,-5,-8,5,-9,-5,-9,5,-10,-5,-10,5,0,5,1,-6,0,-6,-1,-6,1,-6,0,6,-2,6,-1,6,0,-6,-2,6,-3,-6,-3,6,-4,-6,-4,6,-5,-6,-5,6,-6,-6,-6,6,-7,-6,-7,6,-8,-6,-8,6,-9,-6,-9,6,-10,-6,-10,6,0,6,1,-7,0,-7,-1,-7,1,-7,0,7,-2,7,-1,7,0,-7,-2,7,-3,-7,-3,7,-4,-7,-4,7,-5,-7,-5,7,-6,-7,-6,7,-7,-7,-7,7,-8,-7,-8,7,-9,-7,-9,7,-10,-7,-10,7,0,7,1,-8,0,-8,-1,-8,1,-8,0,8,-2,8,-1,8,0,-8,-2,8,-3,-8,-3,8,-4,-8,-4,8,-5,-8,-5,8,-6,-8,-6,8,-7,-8,-7,8,-8,-8,-8,8,-9,-8,-9,8,-10,-8,-10,8,0,8,1,-9,0,-9,-1,-9,1,-9,0,9,-2,9,-1,9,0,-9,-2,9,-3,-9,-3,9,-4,-9,-4,9,-5,-9,-5,9,-6,-9,-6,9,-7,-9,-7,9,-8,-9,-8,9,-9,-9,-9,9,-10,-9,-10,9,0,9,1,-10,0,-10,-1,-10,1,-10,0,9,-2,9,-1,10,-2,10,-1,9,0,10,0,-10,-2,9,-3,10,-3,-10,-3,9,-4,10,-4,-10,-4,9,-5,10,-5,-10,-5,9,-6,10,-6,-10,-6,9,-7,10,-7,-10,-7,9,-8,10,-8,-10,-8,9,-9,10,-9,-10,-9,9,-10,10,-10,-10,-10,10,0,10,1,1,1,0,1,1,2,0,2,-1,2,-2,2,-9,2,-10,2,0,2,2,1,2,2,-3,2,3,1,3,2,-4,2,4,1,4,2,-5,2,5,1,5,2,-6,2,6,1,6,2,-7,2,7,1,7,2,-8,2,8,1,8,2,-9,2,9,1,9,2,-10,2,10,1,10,2,10,2,9,2,1,3,0,3,-1,3,-2,3,-9,3,-10,3,0,3,2,3,-3,3,3,3,-4,3,4,3,-5,3,5,3, +-6,3,6,3,-7,3,7,3,-8,3,8,3,-9,3,9,3,-10,3,10,3,10,3,9,3,1,4,0,4,-1,4,-2,4,-9,4,-10,4,0,4,2,4,-3,4,3,4,-4,4,4,4,-5,4,5,4,-6,4,6,4,-7,4,7,4,-8,4,8,4,-9,4,9,4,-10,4,10,4,10,4,9,4 + } + UVIndex: *1836 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,308,310,309,309,310,311,309,311,312,312,311,313,279,305,285,285,305,314,315,316,308,308,316,310,285,314,287,287,314,317,318,319,315,315,319,316,287,317,289,289,317,320,321,322,318,318,322,319,289,320,291,291,320,323,324,325,321,321,325,322,291,323,293,293,323,326,327,328,324,324,328,325,293,326,295,295,326,329,330,331,327,327,331,328,295,329,297,297,329,332,333,334,330,330,334,331,297,332,299,299,332,335,336,337,333,333,337,334,299,335,301,301,335,338,302,339,303,303,339,340,341,343,342,342,343,344,7,345,26,26,345,346,280,347,306,306,347,348,6,349,7,7,349,345,350,351,341,341,351,343,26,346,34,34,346,352,353,354,350,350,354,351,34,352,42,42,352,355,356,357,353,353,357,354,42,355,50,50,355,358,359,360,356,356,360,357,50,358,58,58,358,361,362,363,359,359,363,360,58,361,66,66,361,364,365,366,362,362,366,363,66,364,74,74,364,367,368,369,365,365,369,366,74,367,82,82,367,370,371,372,368,368,372,369,82,370,90,90,370,373,374,375,371,371,375,372,340,376,303,303,376,377,343,378,344,344,378,379,345,380,346,346,380,381,347,382,348,348,382,383,349,384,345,345,384,380,351,385,343,343,385,378,346,381,352,352,381,386,354,387,351,351,387,385,352,386,355,355,386,388,357,389,354,354,389,387,355,388,358, +358,388,390,360,391,357,357,391,389,358,390,361,361,390,392,363,393,360,360,393,391,361,392,364,364,392,394,366,395,363,363,395,393,364,394,367,367,394,396,369,397,366,366,397,395,367,396,370,370,396,398,372,399,369,369,399,397,370,398,373,373,398,400,375,401,372,372,401,399,376,402,377,377,402,403,378,404,379,379,404,405,380,406,381,381,406,407,382,408,383,383,408,409,384,410,380,380,410,406,385,411,378,378,411,404,381,407,386,386,407,412,387,413,385,385,413,411,386,412,388,388,412,414,389,415,387,387,415,413,388,414,390,390,414,416,391,417,389,389,417,415,390,416,392,392,416,418,393,419,391,391,419,417,392,418,394,394,418,420,395,421,393,393,421,419,394,420,396,396,420,422,397,423,395,395,423,421,396,422,398,398,422,424,399,425,397,397,425,423,398,424,400,400,424,426,401,427,399,399,427,425,402,428,403,403,428,429 + } + } + LayerElementUV: 1 { + Version: 101 + Name: "UVSet1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *860 { + a: 0.497125208377838,0.647862315177917,0.54603773355484,0.647862315177917,0.497125238180161,0.69677472114563,0.54603773355484,0.69677472114563,0.497126281261444,0.00400003185495734,0.546038806438446,0.00400008028373122,0.497126221656799,0.0529124960303307,0.546038687229156,0.052912600338459,0.937336683273315,0.448212832212448,0.986249148845673,0.448212832212448,0.937336683273315,0.497125238180161,0.986249148845673,0.497125238180161,0.444211333990097,0.941338896751404,0.493123829364777,0.941338896751404,0.444211304187775,0.990251302719116,0.493123829364777,0.990251302719116,0.493123412132263,0.00400000018998981,0.493123680353165,0.0529123060405254,0.444211184978485,0.00400023907423019,0.444211393594742,0.0529124811291695,0.0040001105517149,0.497125834226608,0.0529125928878784,0.497125744819641,0.00400000018998981,0.448213398456573,0.052912525832653,0.448213338851929,0.0529126711189747,0.546038150787354,0.00400023115798831,0.546038210391998,0.594951152801514,0.0529126897454262,0.594951212406158,0.00400020135566592,0.395298987627029,0.941338896751404,0.395298957824707,0.990251302719116,0.395299017429352,0.00400040531530976,0.395299166440964,0.0529126338660717,0.0529127418994904,0.594950497150421,0.0040003526955843,0.594950556755066,0.643863558769226,0.0529127605259418,0.643863618373871,0.00400030985474586,0.346386641263962,0.941338837146759,0.346386641263962,0.990251302719116,0.346386849880219,0.00400051148608327,0.346386939287186,0.0529127717018127,0.0529128089547157,0.643862843513489,0.00400046491995454,0.643862903118134,0.692775964736938,0.0529128015041351,0.692776024341583,0.0040003964677453,0.297474265098572,0.941338837146759,0.297474265098572,0.990251302719116,0.297474652528763,0.00400057109072804,0.29747474193573,0.0529128536581993,0.0529128313064575,0.692775130271912,0.00400054175406694,0.692775130271912,0.741688370704651,0.0529128275811672,0.741688370704651,0.0040004258044064,0.248561918735504,0.941338837146759,0.248561918735504,0.990251302719116,0.248562470078468,0.00400057435035706,0.24856248497963, +0.0529128834605217,0.0529128052294254,0.74168735742569,0.00400057202205062,0.741687297821045,0.790600717067719,0.0529128089547157,0.790600657463074,0.00400044629350305,0.199649542570114,0.941338837146759,0.199649557471275,0.990251302719116,0.199650213122368,0.00400052685290575,0.199650198221207,0.0529128722846508,0.0529127381742001,0.790599584579468,0.00400052266195416,0.790599465370178,0.839513063430786,0.0529127605259418,0.839513003826141,0.00400041323155165,0.150737166404724,0.941338837146759,0.150737181305885,0.990251302719116,0.150737926363945,0.00400044582784176,0.150737851858139,0.052912812680006,0.0529126301407814,0.839511752128601,0.00400040810927749,0.839511632919312,0.888425409793854,0.0529126822948456,0.888425290584564,0.00400033360347152,0.101824782788754,0.941338837146759,0.101824797689915,0.990251302719116,0.101825594902039,0.00400029588490725,0.101825498044491,0.0529127307236195,0.052912462502718,0.888423979282379,0.0040002353489399,0.888423800468445,0.937337756156921,0.0529125705361366,0.937337577342987,0.00400020834058523,0.0529123917222023,0.941338896751404,0.0529124066233635,0.990251362323761,0.0529131852090359,0.00400014314800501,0.0529130734503269,0.0529126264154911,0.0529122911393642,0.937336266040802,0.00400000018998981,0.937336027622223,0.986250162124634,0.0529124215245247,0.986249923706055,0.00400000018998981,0.00400000018998981,0.941338896751404,0.004000015091151,0.990251362323761,0.00400074105709791,0.00400000018998981,0.00400064047425985,0.0529125295579433,0.101824909448624,0.448213219642639,0.10182498395443,0.497125655412674,0.594950079917908,0.69677472114563,0.594950079917908,0.647862255573273,0.395299315452576,0.10182486474514,0.444211542606354,0.101824708282948,0.493123799562454,0.101824522018433,0.101825043559074,0.546038091182709,0.346387058496475,0.101824998855591,0.101825095713139,0.594950437545776,0.297474771738052,0.101825103163719,0.10182511806488,0.643862783908844,0.24856248497963,0.101825162768364,0.101825095713139,0.692775130271912,0.199650153517723,0.101825177669525,0.101825028657913, +0.741687417030334,0.150737792253494,0.101825162768364,0.101824939250946,0.790599644184113,0.101825393736362,0.101825103163719,0.101824812591076,0.839511930942535,0.0529129356145859,0.101825021207333,0.101824663579464,0.888424158096313,0.00400051008909941,0.101824924349785,0.10182448476553,0.937336385250092,0.888424277305603,0.448212802410126,0.888424277305603,0.497125238180161,0.150737315416336,0.448213130235672,0.150737389922142,0.497125566005707,0.643862426280975,0.69677472114563,0.643862426280975,0.647862255573273,0.395299464464188,0.150737121701241,0.444211721420288,0.150736942887306,0.493123978376389,0.150736719369888,0.150737419724464,0.546038031578064,0.346387177705765,0.150737285614014,0.150737449526787,0.594950377941132,0.29747486114502,0.150737404823303,0.150737449526787,0.643862783908844,0.248562514781952,0.150737479329109,0.150737389922142,0.692775130271912,0.199650138616562,0.150737524032593,0.150737315416336,0.741687476634979,0.150737747550011,0.150737538933754,0.150737181305885,0.790599763393402,0.101825311779976,0.15073749423027,0.150737047195435,0.839512050151825,0.0529128462076187,0.150737434625626,0.1507368683815,0.888424336910248,0.00400038156658411,0.150737345218658,0.150736659765244,0.937336564064026,0.839511930942535,0.448212802410126,0.839511930942535,0.497125238180161,0.199649721384048,0.448213011026382,0.199649795889854,0.497125506401062,0.692774772644043,0.69677472114563,0.692774772644043,0.647862255573273,0.3952996134758,0.199649423360825,0.444211930036545,0.199649214744568,0.493124216794968,0.199648946523666,0.199649825692177,0.546037971973419,0.346387296915054,0.199649602174759,0.199649840593338,0.594950377941132,0.297474950551987,0.19964973628521,0.199649810791016,0.643862843513489,0.248562559485435,0.199649840593338,0.19964973628521,0.692775189876556,0.199650153517723,0.199649900197983,0.199649631977081,0.741687536239624,0.150737732648849,0.199649944901466,0.199649482965469,0.790599882602692,0.101825259625912,0.199649915099144,0.199649319052696,0.839512228965759,0.0529127642512321,0.199649885296822, +0.19964911043644,0.888424515724182,0.00400023953989148,0.199649810791016,0.199648857116699,0.937336802482605,0.790599584579468,0.448212802410126,0.790599584579468,0.497125238180161,0.248562186956406,0.448212921619415,0.248562231659889,0.497125446796417,0.741687178611755,0.69677472114563,0.741687178611755,0.647862255573273,0.395299822092056,0.24856173992157,0.444212168455124,0.24856148660183,0.493124485015869,0.248561203479767,0.24856224656105,0.546037971973419,0.346387445926666,0.248561948537827,0.24856224656105,0.594950437545776,0.297475039958954,0.2485621124506,0.248562201857567,0.643862843513489,0.248562633991241,0.248562231659889,0.248562097549438,0.692775249481201,0.199650198221207,0.248562321066856,0.248561978340149,0.741687655448914,0.150737732648849,0.248562380671501,0.248561799526215,0.790600061416626,0.101825222373009,0.248562380671501,0.248561590909958,0.839512407779694,0.0529127083718777,0.248562350869179,0.248561352491379,0.888424754142761,0.00400013057515025,0.248562306165695,0.248561069369316,0.937337040901184,0.7416872382164,0.448212802410126,0.7416872382164,0.497125238180161,0.297474682331085,0.448212832212448,0.297474712133408,0.497125416994095,0.790599524974823,0.69677472114563,0.790599584579468,0.647862255573273,0.395300030708313,0.297474086284637,0.444212436676025,0.297473818063736,0.493124812841415,0.29747349023819,0.297474712133408,0.546037912368774,0.346387624740601,0.297474324703217,0.297474682331085,0.594950437545776,0.297475188970566,0.297474503517151,0.29747462272644,0.643862903118134,0.24856273829937,0.297474652528763,0.297474503517151,0.692775368690491,0.199650257825851,0.297474771738052,0.297474354505539,0.741687834262848,0.150737747550011,0.297474831342697,0.297474175691605,0.79060024023056,0.101825222373009,0.29747486114502,0.297473937273026,0.839512646198273,0.0529126673936844,0.297474890947342,0.297473669052124,0.88842499256134,0.00400004768744111,0.29747486114502,0.297473341226578,0.937337338924408,0.692774891853333,0.448212772607803,0.692774832248688,0.497125238180161,0.34638723731041, +0.448212742805481,0.34638723731041,0.497125387191772,0.839511930942535,0.696774780750275,0.839511930942535,0.647862255573273,0.395300269126892,0.346386522054672,0.444212734699249,0.346386224031448,0.493125170469284,0.34638586640358,0.34638723731041,0.546037971973419,0.346387803554535,0.346386760473251,0.346387177705765,0.594950497150421,0.297475337982178,0.346386939287186,0.346387088298798,0.643863022327423,0.248562842607498,0.34638711810112,0.346386939287186,0.69277548789978,0.199650332331657,0.34638723731041,0.346386790275574,0.741687953472137,0.150737792253494,0.346387356519699,0.346386581659317,0.790600419044495,0.101825229823589,0.346387416124344,0.346386313438416,0.839512884616852,0.0529126524925232,0.346387445926666,0.346386015415192,0.888425290584564,0.00400000065565109,0.346387445926666,0.346385657787323,0.937337696552277,0.64386248588562,0.448212772607803,0.64386248588562,0.497125238180161,0.395299851894379,0.448212713003159,0.395299822092056,0.497125387191772,0.888424336910248,0.696774780750275,0.888424336910248,0.647862315177917,0.395300507545471,0.395298957824707,0.444213032722473,0.395298689603806,0.49312549829483,0.395298361778259,0.395299792289734,0.546037971973419,0.346388012170792,0.395299226045609,0.395299702882767,0.594950556755066,0.297475516796112,0.395299434661865,0.395299583673477,0.643863081932068,0.248562976717949,0.3952996134758,0.395299434661865,0.69277560710907,0.199650436639786,0.395299762487411,0.395299255847931,0.741688132286072,0.1507378667593,0.395299881696701,0.395299017429352,0.790600657463074,0.101825274527073,0.395299971103668,0.39529874920845,0.839513123035431,0.0529126673936844,0.395300030708313,0.395298451185226,0.888425648212433,0.00400000018998981,0.395300090312958,0.395298063755035,0.937338054180145,0.594950079917908,0.448212742805481,0.594950079917908,0.497125238180161,0.444212466478348,0.448212713003159,0.444212436676025,0.497125416994095,0.93733674287796,0.696774780750275,0.93733674287796,0.647862315177917,0.39530074596405,0.444211453199387,0.444213330745697,0.44421112537384, +0.493125855922699,0.444210797548294,0.444212347269058,0.546038031578064,0.346388250589371,0.444211721420288,0.444212257862091,0.594950616359711,0.297475695610046,0.444211959838867,0.444212108850479,0.643863201141357,0.248563140630722,0.444212168455124,0.444211959838867,0.692775785923004,0.199650555849075,0.444212317466736,0.44421175122261,0.741688370704651,0.150737941265106,0.444212436676025,0.444211512804031,0.790600895881653,0.101825341582298,0.444212555885315,0.444211214780807,0.839513421058655,0.0529127381742001,0.44421261548996,0.444210916757584,0.888425946235657,0.00400005746632814,0.444212704896927,0.444210529327393,0.937338471412659,0.546037673950195,0.448212742805481,0.546037673950195,0.497125238180161,0.493125230073929,0.448212772607803,0.493125081062317,0.497125506401062,0.986249148845673,0.696774780750275,0.986249148845673,0.647862315177917,0.888425290584564,0.203650057315826,0.937337756156921,0.203650057315826,0.888425290584564,0.252562463283539,0.937337756156921,0.252562433481216,0.986250281333923,0.203650042414665,0.986250281333923,0.252562433481216,0.493124961853027,0.546038091182709,0.839512884616852,0.203650072216988,0.839512884616852,0.252562463283539,0.493124842643738,0.594950735569,0.790600538253784,0.203650072216988,0.790600538253784,0.252562463283539,0.493124693632126,0.643863379955292,0.741688072681427,0.203650072216988,0.741688072681427,0.252562463283539,0.493124514818192,0.692775964736938,0.692775666713715,0.203650072216988,0.692775666713715,0.252562463283539,0.493124306201935,0.741688549518585,0.643863201141357,0.203650072216988,0.643863201141357,0.252562433481216,0.493124037981033,0.790601134300232,0.594950735569,0.203650072216988,0.594950735569,0.252562433481216,0.493123739957809,0.839513659477234,0.546038269996643,0.203650057315826,0.546038269996643,0.252562433481216,0.493123382329941,0.888426303863525,0.497125864028931,0.203650042414665,0.497125834226608,0.252562403678894,0.49312299489975,0.937338829040527,0.497125297784805,0.448212713003159,0.497125267982483,0.497125208377838,0.937337636947632, +0.256562530994415,0.986250102519989,0.256562471389771,0.937337636947632,0.305474936962128,0.986250162124634,0.305474936962128,0.546038568019867,0.101825028657913,0.594951033592224,0.1018251106143,0.93733674287796,0.745687127113342,0.986249148845673,0.745687127113342,0.497126072645187,0.101824939250946,0.888425230979919,0.256562560796738,0.888425230979919,0.305474936962128,0.643863499164581,0.101825155317783,0.839512825012207,0.256562560796738,0.839512825012207,0.305474936962128,0.692775905132294,0.101825185120106,0.790600419044495,0.256562530994415,0.790600419044495,0.305474907159805,0.741688311100006,0.101825185120106,0.741688013076782,0.256562530994415,0.741688013076782,0.305474907159805,0.790600717067719,0.101825155317783,0.69277560710907,0.256562530994415,0.69277560710907,0.305474907159805,0.839513123035431,0.101825103163719,0.643863201141357,0.256562501192093,0.643863201141357,0.305474907159805,0.888425469398499,0.101825013756752,0.594950795173645,0.256562501192093,0.594950735569,0.305474907159805,0.937337875366211,0.101824894547462,0.546038389205933,0.256562471389771,0.546038329601288,0.305474907159805,0.986250281333923,0.101824752986431,0.497125864028931,0.256562471389771,0.497125834226608,0.305474907159805,0.497125238180161,0.546037554740906,0.546037673950195,0.546037554740906,0.937337636947632,0.354387402534485,0.986250102519989,0.354387432336807,0.546038508415222,0.150737509131432,0.594950973987579,0.150737553834915,0.93733674287796,0.79459947347641,0.986249148845673,0.79459947347641,0.497125953435898,0.150737434625626,0.888425171375275,0.354387372732162,0.643863439559937,0.150737583637238,0.839512765407562,0.35438734292984,0.692775905132294,0.150737583637238,0.79060035943985,0.354387313127518,0.741688311100006,0.150737568736076,0.741687953472137,0.354387283325195,0.790600776672363,0.150737538933754,0.692775547504425,0.354387283325195,0.839513182640076,0.150737479329109,0.643863141536713,0.354387283325195,0.888425588607788,0.150737389922142,0.594950735569,0.354387313127518,0.9373379945755,0.150737285614014, +0.546038329601288,0.35438734292984,0.986250400543213,0.150737166404724,0.497125864028931,0.354387402534485,0.497125238180161,0.594949901103973,0.546037673950195,0.594949901103973,0.937337517738342,0.40329983830452,0.986250042915344,0.403299897909164,0.546038448810577,0.199650049209595,0.594950973987579,0.199650034308434,0.93733674287796,0.843511760234833,0.986249148845673,0.843511760234833,0.497125834226608,0.199650019407272,0.88842511177063,0.403299778699875,0.643863439559937,0.199650034308434,0.839512705802917,0.403299748897552,0.692775905132294,0.199650019407272,0.790600299835205,0.403299689292908,0.741688370704651,0.19964998960495,0.741687893867493,0.403299659490585,0.790600776672363,0.199649944901466,0.692775547504425,0.403299659490585,0.83951324224472,0.19964987039566,0.643863141536713,0.403299659490585,0.888425648212433,0.199649780988693,0.594950795173645,0.403299689292908,0.93733811378479,0.199649661779404,0.546038389205933,0.403299748897552,0.986250519752502,0.199649512767792,0.49712598323822,0.403299868106842,0.497125208377838,0.643862247467041,0.546037614345551,0.643862247467041 + } + UVIndex: *1836 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,86,94,87,87,94,95,23,96,21,21,96,97,3,98,1,1,98,99,31,100,19,19,100,101,19,101,17,17,101,102,21,97,24,24,97,103,39,104,31,31,104,100,24,103,32,32,103,105,47,106,39,39,106,104,32,105,40,40,105,107,55,108,47,47,108,106,40,107,48,48,107,109,63,110,55,55,110,108,48,109,56,56,109,111,71,112,63,63,112,110,56,111,64,64,111,113,79,114,71,71,114,112,64,113,72,72,113,115,87,116,79,79,116,114,72,115,80,80,115,117,95,118,87,87,118,116,80,117,88,88,117,119,8,120,10,10,120,121,96,122,97,97,122,123,98,124,99,99,124,125,100,126,101,101,126,127,101,127,102,102,127,128,97,123,103,103,123,129,104,130,100,100,130,126,103,129,105,105,129,131,106,132,104,104,132,130,105,131,107,107,131,133,108,134,106,106,134,132,107,133,109,109,133,135,110,136,108,108,136,134,109,135,111,111,135,137,112,138,110,110,138,136,111,137,113,113,137,139,114,140,112,112,140,138,113,139,115,115,139,141,116,142,114,114,142,140,115,141,117,117,141,143,118,144,116,116,144,142,117,143,119,119,143,145,120,146,121,121,146,147,122,148,123,123,148,149,124,150,125,125,150,151,126,152,127,127,152,153,127,153,128,128,153,154,123,149,129,129,149,155,130,156,126,126,156,152,129,155,131,131,155,157,132,158,130,130,158,156,131,157,133,133,157,159,134,160,132,132,160,158,133,159,135,135,159,161,136,162,134,134,162,160,135,161,137,137,161,163,138, +164,136,136,164,162,137,163,139,139,163,165,140,166,138,138,166,164,139,165,141,141,165,167,142,168,140,140,168,166,141,167,143,143,167,169,144,170,142,142,170,168,143,169,145,145,169,171,146,172,147,147,172,173,148,174,149,149,174,175,150,176,151,151,176,177,152,178,153,153,178,179,153,179,154,154,179,180,149,175,155,155,175,181,156,182,152,152,182,178,155,181,157,157,181,183,158,184,156,156,184,182,157,183,159,159,183,185,160,186,158,158,186,184,159,185,161,161,185,187,162,188,160,160,188,186,161,187,163,163,187,189,164,190,162,162,190,188,163,189,165,165,189,191,166,192,164,164,192,190,165,191,167,167,191,193,168,194,166,166,194,192,167,193,169,169,193,195,170,196,168,168,196,194,169,195,171,171,195,197,172,198,173,173,198,199,174,200,175,175,200,201,176,202,177,177,202,203,178,204,179,179,204,205,179,205,180,180,205,206,175,201,181,181,201,207,182,208,178,178,208,204,181,207,183,183,207,209,184,210,182,182,210,208,183,209,185,185,209,211,186,212,184,184,212,210,185,211,187,187,211,213,188,214,186,186,214,212,187,213,189,189,213,215,190,216,188,188,216,214,189,215,191,191,215,217,192,218,190,190,218,216,191,217,193,193,217,219,194,220,192,192,220,218,193,219,195,195,219,221,196,222,194,194,222,220,195,221,197,197,221,223,198,224,199,199,224,225,200,226,201,201,226,227,202,228,203,203,228,229,204,230,205,205,230,231,205,231,206,206,231,232,201,227,207,207,227,233,208,234,204,204,234,230,207,233,209,209,233,235,210,236,208,208,236,234,209,235,211,211,235,237,212,238,210,210,238,236,211,237,213,213,237,239,214,240,212,212,240,238,213,239,215,215,239,241,216,242,214,214,242,240,215,241,217,217,241,243,218,244,216,216,244,242,217,243,219,219,243,245,220,246,218,218,246,244,219,245,221,221,245,247,222,248,220,220,248,246,221,247,223,223,247,249,224,250,225,225,250,251,226,252,227,227,252,253,228,254,229,229,254,255,230,256,231,231,256,257,231,257,232,232,257,258,227,253,233,233,253,259,234,260,230,230,260,256,233,259,235,235,259,261,236,262,234,234,262,260,235,261,237,237,261,263,238,264,236,236,264,262,237,263,239,239, +263,265,240,266,238,238,266,264,239,265,241,241,265,267,242,268,240,240,268,266,241,267,243,243,267,269,244,270,242,242,270,268,243,269,245,245,269,271,246,272,244,244,272,270,245,271,247,247,271,273,248,274,246,246,274,272,247,273,249,249,273,275,250,276,251,251,276,277,252,278,253,253,278,279,254,280,255,255,280,281,256,282,257,257,282,283,257,283,258,258,283,284,253,279,259,259,279,285,260,286,256,256,286,282,259,285,261,261,285,287,262,288,260,260,288,286,261,287,263,263,287,289,264,290,262,262,290,288,263,289,265,265,289,291,266,292,264,264,292,290,265,291,267,267,291,293,268,294,266,266,294,292,267,293,269,269,293,295,270,296,268,268,296,294,269,295,271,271,295,297,272,298,270,270,298,296,271,297,273,273,297,299,274,300,272,272,300,298,273,299,275,275,299,301,276,302,277,277,302,303,278,304,279,279,304,305,280,306,281,281,306,307,308,310,309,309,310,311,309,311,312,312,311,313,279,305,285,285,305,314,315,316,308,308,316,310,285,314,287,287,314,317,318,319,315,315,319,316,287,317,289,289,317,320,321,322,318,318,322,319,289,320,291,291,320,323,324,325,321,321,325,322,291,323,293,293,323,326,327,328,324,324,328,325,293,326,295,295,326,329,330,331,327,327,331,328,295,329,297,297,329,332,333,334,330,330,334,331,297,332,299,299,332,335,336,337,333,333,337,334,299,335,301,301,335,338,302,339,303,303,339,340,341,343,342,342,343,344,7,345,26,26,345,346,280,347,306,306,347,348,6,349,7,7,349,345,350,351,341,341,351,343,26,346,34,34,346,352,353,354,350,350,354,351,34,352,42,42,352,355,356,357,353,353,357,354,42,355,50,50,355,358,359,360,356,356,360,357,50,358,58,58,358,361,362,363,359,359,363,360,58,361,66,66,361,364,365,366,362,362,366,363,66,364,74,74,364,367,368,369,365,365,369,366,74,367,82,82,367,370,371,372,368,368,372,369,82,370,90,90,370,373,374,375,371,371,375,372,340,376,303,303,376,377,343,378,344,344,378,379,345,380,346,346,380,381,347,382,348,348,382,383,349,384,345,345,384,380,351,385,343,343,385,378,346,381,352,352,381,386,354,387,351,351,387,385,352,386,355,355,386,388,357,389,354,354,389,387,355,388,358, +358,388,390,360,391,357,357,391,389,358,390,361,361,390,392,363,393,360,360,393,391,361,392,364,364,392,394,366,395,363,363,395,393,364,394,367,367,394,396,369,397,366,366,397,395,367,396,370,370,396,398,372,399,369,369,399,397,370,398,373,373,398,400,375,401,372,372,401,399,376,402,377,377,402,403,378,404,379,379,404,405,380,406,381,381,406,407,382,408,383,383,408,409,384,410,380,380,410,406,385,411,378,378,411,404,381,407,386,386,407,412,387,413,385,385,413,411,386,412,388,388,412,414,389,415,387,387,415,413,388,414,390,390,414,416,391,417,389,389,417,415,390,416,392,392,416,418,393,419,391,391,419,417,392,418,394,394,418,420,395,421,393,393,421,419,394,420,396,396,420,422,397,423,395,395,423,421,396,422,398,398,422,424,399,425,397,397,425,423,398,424,400,400,424,426,401,427,399,399,427,425,402,428,403,403,428,429 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "Material" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + Layer: 1 { + Version: 100 + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 1 + } + } + } + Model: 1146439632, "Model::ProB_Floor_1Wall_10x10", "Mesh" { + Version: 232 + Properties70: { + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + } + Shading: W + Culling: "CullingOff" + } + Material: 1148829296, "Material::Default_Prototype", "" { + Version: 102 + ShadingModel: "lambert" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",1,1,1 + P: "BumpFactor", "double", "Number", "",0 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",1,1,1 + P: "Opacity", "double", "Number", "",1 + } + } + Video: 1148837296, "Video::DiffuseColor_Texture", "Clip" { + Type: "Clip" + Properties70: { + P: "Path", "KString", "XRefUrl", "", "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + UseMipMap: 0 + Filename: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + Texture: 294697600, "Texture::DiffuseColor_Texture", "" { + Type: "TextureVideoClip" + Version: 202 + TextureName: "Texture::DiffuseColor_Texture" + Media: "Video::DiffuseColor_Texture" + FileName: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + ModelUVTranslation: 0,0 + ModelUVScaling: 1,1 + Texture_Alpha_Source: "None" + Cropping: 0,0,0,0 + } +} + +; Object connections +;------------------------------------------------------------------ + +Connections: { + + ;Model::ProB_Floor_1Wall_10x10, Model::RootNode + C: "OO",1146439632,0 + + ;Material::Default_Prototype, Model::ProB_Floor_1Wall_10x10 + C: "OO",1148829296,1146439632 + + ;Material::Default_Prototype, Model::ProB_Floor_1Wall_10x10 + C: "OO",1148829296,1146439632 + + ;Geometry::Scene, Model::ProB_Floor_1Wall_10x10 + C: "OO",1143716656,1146439632 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OO",294697600,1148829296 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OP",294697600,1148829296, "DiffuseColor" + + ;Video::DiffuseColor_Texture, Texture::DiffuseColor_Texture + C: "OO",1148837296,294697600 +} +;Takes section +;---------------------------------------------------- + +Takes: { + Current: "" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_1Wall_10x10.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_1Wall_10x10.fbx.meta new file mode 100644 index 00000000..5edc040f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_1Wall_10x10.fbx.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: f4737444c0dcc1a42804e080a539da5f +timeCreated: 1508433760 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: Default_Prototype + 2300000: //RootNode + 3300000: //RootNode + 4300000: ProB_Floor_1Wall_10x10 + externalObjects: + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: Default_Prototype + second: {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + materials: + importMaterials: 1 + materialName: 1 + materialSearch: 2 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_2Walls_10x10.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_2Walls_10x10.fbx new file mode 100644 index 00000000..0f8214cd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_2Walls_10x10.fbx @@ -0,0 +1,646 @@ +; FBX 7.4.0 project file +; Copyright (C) 1997-2015 Autodesk Inc. and/or its licensors. +; All rights reserved. +; ---------------------------------------------------- + +FBXHeaderExtension: { + FBXHeaderVersion: 1003 + FBXVersion: 7400 + CreationTimeStamp: { + Version: 1000 + Year: 2017 + Month: 10 + Day: 19 + Hour: 13 + Minute: 25 + Second: 34 + Millisecond: 359 + } + Creator: "FBX SDK/FBX Plugins version 2017.1" + SceneInfo: "SceneInfo::GlobalInfo", "UserData" { + Type: "UserData" + Version: 100 + MetaData: { + Version: 100 + Title: "exports static meshes with materials and textures" + Subject: "" + Author: "Unity Technologies" + Keywords: "export mesh materials textures uvs" + Revision: "1.0" + Comment: "" + } + Properties70: { + P: "DocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp714469f5.tmp" + P: "SrcDocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp714469f5.tmp" + P: "Original", "Compound", "", "" + P: "Original|ApplicationVendor", "KString", "", "", "" + P: "Original|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "Original|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "Original|DateTime_GMT", "DateTime", "", "", "" + P: "Original|FileName", "KString", "", "", "" + P: "LastSaved", "Compound", "", "" + P: "LastSaved|ApplicationVendor", "KString", "", "", "" + P: "LastSaved|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "LastSaved|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "LastSaved|DateTime_GMT", "DateTime", "", "", "" + } + } +} +GlobalSettings: { + Version: 1000 + Properties70: { + P: "UpAxis", "int", "Integer", "",1 + P: "UpAxisSign", "int", "Integer", "",1 + P: "FrontAxis", "int", "Integer", "",2 + P: "FrontAxisSign", "int", "Integer", "",1 + P: "CoordAxis", "int", "Integer", "",0 + P: "CoordAxisSign", "int", "Integer", "",1 + P: "OriginalUpAxis", "int", "Integer", "",-1 + P: "OriginalUpAxisSign", "int", "Integer", "",1 + P: "UnitScaleFactor", "double", "Number", "",1 + P: "OriginalUnitScaleFactor", "double", "Number", "",1 + P: "AmbientColor", "ColorRGB", "Color", "",0,0,0 + P: "DefaultCamera", "KString", "", "", "Producer Perspective" + P: "TimeMode", "enum", "", "",0 + P: "TimeProtocol", "enum", "", "",2 + P: "SnapOnFrameMode", "enum", "", "",0 + P: "TimeSpanStart", "KTime", "Time", "",0 + P: "TimeSpanStop", "KTime", "Time", "",46186158000 + P: "CustomFrameRate", "double", "Number", "",-1 + P: "TimeMarker", "Compound", "", "" + P: "CurrentTimeMarker", "int", "Integer", "",-1 + } +} + +; Documents Description +;------------------------------------------------------------------ + +Documents: { + Count: 1 + Document: 1146072128, "Scene", "Scene" { + Properties70: { + P: "SourceObject", "object", "", "" + P: "ActiveAnimStackName", "KString", "", "", "" + } + RootNode: 0 + } +} + +; Document References +;------------------------------------------------------------------ + +References: { +} + +; Object definitions +;------------------------------------------------------------------ + +Definitions: { + Version: 100 + Count: 7 + ObjectType: "GlobalSettings" { + Count: 1 + } + ObjectType: "Model" { + Count: 1 + PropertyTemplate: "FbxNode" { + Properties70: { + P: "QuaternionInterpolate", "enum", "", "",0 + P: "RotationOffset", "Vector3D", "Vector", "",0,0,0 + P: "RotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0 + P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "TranslationActive", "bool", "", "",0 + P: "TranslationMin", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMax", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMinX", "bool", "", "",0 + P: "TranslationMinY", "bool", "", "",0 + P: "TranslationMinZ", "bool", "", "",0 + P: "TranslationMaxX", "bool", "", "",0 + P: "TranslationMaxY", "bool", "", "",0 + P: "TranslationMaxZ", "bool", "", "",0 + P: "RotationOrder", "enum", "", "",0 + P: "RotationSpaceForLimitOnly", "bool", "", "",0 + P: "RotationStiffnessX", "double", "Number", "",0 + P: "RotationStiffnessY", "double", "Number", "",0 + P: "RotationStiffnessZ", "double", "Number", "",0 + P: "AxisLen", "double", "Number", "",10 + P: "PreRotation", "Vector3D", "Vector", "",0,0,0 + P: "PostRotation", "Vector3D", "Vector", "",0,0,0 + P: "RotationActive", "bool", "", "",0 + P: "RotationMin", "Vector3D", "Vector", "",0,0,0 + P: "RotationMax", "Vector3D", "Vector", "",0,0,0 + P: "RotationMinX", "bool", "", "",0 + P: "RotationMinY", "bool", "", "",0 + P: "RotationMinZ", "bool", "", "",0 + P: "RotationMaxX", "bool", "", "",0 + P: "RotationMaxY", "bool", "", "",0 + P: "RotationMaxZ", "bool", "", "",0 + P: "InheritType", "enum", "", "",0 + P: "ScalingActive", "bool", "", "",0 + P: "ScalingMin", "Vector3D", "Vector", "",0,0,0 + P: "ScalingMax", "Vector3D", "Vector", "",1,1,1 + P: "ScalingMinX", "bool", "", "",0 + P: "ScalingMinY", "bool", "", "",0 + P: "ScalingMinZ", "bool", "", "",0 + P: "ScalingMaxX", "bool", "", "",0 + P: "ScalingMaxY", "bool", "", "",0 + P: "ScalingMaxZ", "bool", "", "",0 + P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1 + P: "MinDampRangeX", "double", "Number", "",0 + P: "MinDampRangeY", "double", "Number", "",0 + P: "MinDampRangeZ", "double", "Number", "",0 + P: "MaxDampRangeX", "double", "Number", "",0 + P: "MaxDampRangeY", "double", "Number", "",0 + P: "MaxDampRangeZ", "double", "Number", "",0 + P: "MinDampStrengthX", "double", "Number", "",0 + P: "MinDampStrengthY", "double", "Number", "",0 + P: "MinDampStrengthZ", "double", "Number", "",0 + P: "MaxDampStrengthX", "double", "Number", "",0 + P: "MaxDampStrengthY", "double", "Number", "",0 + P: "MaxDampStrengthZ", "double", "Number", "",0 + P: "PreferedAngleX", "double", "Number", "",0 + P: "PreferedAngleY", "double", "Number", "",0 + P: "PreferedAngleZ", "double", "Number", "",0 + P: "LookAtProperty", "object", "", "" + P: "UpVectorProperty", "object", "", "" + P: "Show", "bool", "", "",1 + P: "NegativePercentShapeSupport", "bool", "", "",1 + P: "DefaultAttributeIndex", "int", "Integer", "",-1 + P: "Freeze", "bool", "", "",0 + P: "LODBox", "bool", "", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0 + P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1 + P: "Visibility", "Visibility", "", "A",1 + P: "Visibility Inheritance", "Visibility Inheritance", "", "",1 + } + } + } + ObjectType: "Geometry" { + Count: 2 + PropertyTemplate: "FbxMesh" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BBoxMin", "Vector3D", "Vector", "",0,0,0 + P: "BBoxMax", "Vector3D", "Vector", "",0,0,0 + P: "Primary Visibility", "bool", "", "",1 + P: "Casts Shadows", "bool", "", "",1 + P: "Receive Shadows", "bool", "", "",1 + } + } + } + ObjectType: "Material" { + Count: 1 + PropertyTemplate: "FbxSurfaceLambert" { + Properties70: { + P: "ShadingModel", "KString", "", "", "Lambert" + P: "MultiLayer", "bool", "", "",0 + P: "EmissiveColor", "Color", "", "A",0,0,0 + P: "EmissiveFactor", "Number", "", "A",1 + P: "AmbientColor", "Color", "", "A",0.2,0.2,0.2 + P: "AmbientFactor", "Number", "", "A",1 + P: "DiffuseColor", "Color", "", "A",0.8,0.8,0.8 + P: "DiffuseFactor", "Number", "", "A",1 + P: "Bump", "Vector3D", "Vector", "",0,0,0 + P: "NormalMap", "Vector3D", "Vector", "",0,0,0 + P: "BumpFactor", "double", "Number", "",1 + P: "TransparentColor", "Color", "", "A",0,0,0 + P: "TransparencyFactor", "Number", "", "A",0 + P: "DisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "DisplacementFactor", "double", "Number", "",1 + P: "VectorDisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "VectorDisplacementFactor", "double", "Number", "",1 + } + } + } + ObjectType: "Texture" { + Count: 1 + PropertyTemplate: "FbxFileTexture" { + Properties70: { + P: "TextureTypeUse", "enum", "", "",0 + P: "Texture alpha", "Number", "", "A",1 + P: "CurrentMappingType", "enum", "", "",0 + P: "WrapModeU", "enum", "", "",0 + P: "WrapModeV", "enum", "", "",0 + P: "UVSwap", "bool", "", "",0 + P: "PremultiplyAlpha", "bool", "", "",1 + P: "Translation", "Vector", "", "A",0,0,0 + P: "Rotation", "Vector", "", "A",0,0,0 + P: "Scaling", "Vector", "", "A",1,1,1 + P: "TextureRotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "TextureScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "CurrentTextureBlendMode", "enum", "", "",1 + P: "UVSet", "KString", "", "", "default" + P: "UseMaterial", "bool", "", "",0 + P: "UseMipMap", "bool", "", "",0 + } + } + } + ObjectType: "Video" { + Count: 1 + PropertyTemplate: "FbxVideo" { + Properties70: { + P: "ImageSequence", "bool", "", "",0 + P: "ImageSequenceOffset", "int", "Integer", "",0 + P: "FrameRate", "double", "Number", "",0 + P: "LastFrame", "int", "Integer", "",0 + P: "Width", "int", "Integer", "",0 + P: "Height", "int", "Integer", "",0 + P: "Path", "KString", "XRefUrl", "", "" + P: "StartFrame", "int", "Integer", "",0 + P: "StopFrame", "int", "Integer", "",0 + P: "PlaySpeed", "double", "Number", "",0 + P: "Offset", "KTime", "Time", "",0 + P: "InterlaceMode", "enum", "", "",0 + P: "FreeRunning", "bool", "", "",0 + P: "Loop", "bool", "", "",0 + P: "AccessMode", "enum", "", "",0 + } + } + } +} + +; Object properties +;------------------------------------------------------------------ + +Objects: { + Geometry: 1143713584, "Geometry::Scene", "Mesh" { + Vertices: *1122 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-0,400,0,-100,400,0,-0,400,-100,-100,400,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-100,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-100,100,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-100,100,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-100,100,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-100,100,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-100,100,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-100,100,-900,-1000,100,-1000,-1000,0,-1000,-0,400,-900,-100,400,-900,-0,400,-1000,-100,400,-1000,-200,0,0,-200,0,-100,-200,100,0,-200,100,-200,-200,100,-100,-200,400,-100,-200,400,0,-200,0,-200,-200,100,-300,-200,0,-300,-200,100,-400,-200,0,-400,-200,100,-500,-200,0,-500,-200,100,-600,-200,0,-600,-200,100,-700,-200,0,-700,-200,100,-800,-200,0,-800,-200,100,-900,-200,0,-900,-200,400,-1000,-200,400,-900,-200,0,-1000,-200,100,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,400,-100,-300,400,0,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,400,-1000,-300,400,-900,-300,0,-1000,-300,100,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,400,-100,-400,400,0,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800,-400,100,-900,-400,0,-900,-400,400,-1000,-400,400,-900,-400,0,-1000,-400,100,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,400,-100,-500,400,0,-500,0,-200,-500,100,-300, +-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800,-500,100,-900,-500,0,-900,-500,400,-1000,-500,400,-900,-500,0,-1000,-500,100,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,400,-100,-600,400,0,-600,0,-200,-600,100,-300,-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,400,-1000,-600,400,-900,-600,0,-1000,-600,100,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,400,-100,-700,400,0,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,400,-1000,-700,400,-900,-700,0,-1000,-700,100,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,400,-100,-800,400,0,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,400,-1000,-800,400,-900,-800,0,-1000,-800,100,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,400,-100,-900,400,0,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,400,-1000,-900,400,-900,-900,0,-1000,-900,100,-1000,-1000,400,-100,-1000,400,0,-1000,400,-1000,-1000,400,-900,-100,200,-100,-0,200,-100,-1000,200,-100,-900,200,-100,-900,200,0,-1000,200,0,-0,200,0,-100,200,0,-800,200,-100,-800,200,0,-700,200,-100,-700,200,0,-600,200,-100,-600,200,0,-500,200,-100,-500,200,0,-400,200,-100,-400,200,0,-300,200,-100,-300,200,0,-200,200,-100,-200,200,0,-0,200,-900,-100,200,-900,-0,200,-1000,-200,200,-1000,-100,200,-1000,-200,200,-900,-300,200,-1000,-300,200,-900,-400,200,-1000,-400,200,-900,-500,200,-1000, +-500,200,-900,-600,200,-1000,-600,200,-900,-700,200,-1000,-700,200,-900,-800,200,-1000,-800,200,-900,-900,200,-1000,-900,200,-900,-1000,200,-1000,-1000,200,-900,-100,300,-100,-0,300,-100,-1000,300,-100,-900,300,-100,-900,300,0,-1000,300,0,-0,300,0,-100,300,0,-800,300,-100,-800,300,0,-700,300,-100,-700,300,0,-600,300,-100,-600,300,0,-500,300,-100,-500,300,0,-400,300,-100,-400,300,0,-300,300,-100,-300,300,0,-200,300,-100,-200,300,0,-0,300,-900,-100,300,-900,-0,300,-1000,-200,300,-1000,-100,300,-1000,-200,300,-900,-300,300,-1000,-300,300,-900,-400,300,-1000,-400,300,-900,-500,300,-1000,-500,300,-900,-600,300,-1000,-600,300,-900,-700,300,-1000,-700,300,-900,-800,300,-1000,-800,300,-900,-900,300,-1000,-900,300,-900,-1000,300,-1000,-1000,300,-900 + } + PolygonVertexIndex: *2232 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,14,16,-16,15,16,-18,12,0,-19,18,0,-2,18,19,-13,12,19,-21,7,21,-6,5,21,-23,12,20,-14,13,20,-24,13,23,-25,24,23,-26,19,26,-21,20,26,-28,21,28,-23,22,28,-30,20,27,-24,23,27,-31,23,30,-26,25,30,-32,26,32,-28,27,32,-34,28,34,-30,29,34,-36,27,33,-31,30,33,-37,30,36,-32,31,36,-38,32,38,-34,33,38,-40,34,40,-36,35,40,-42,33,39,-37,36,39,-43,36,42,-38,37,42,-44,38,44,-40,39,44,-46,40,46,-42,41,46,-48,39,45,-43,42,45,-49,42,48,-44,43,48,-50,44,50,-46,45,50,-52,46,52,-48,47,52,-54,45,51,-49,48,51,-55,48,54,-50,49,54,-56,50,56,-52,51,56,-58,52,58,-54,53,58,-60,51,57,-55,54,57,-61,54,60,-56,55,60,-62,56,62,-58,57,62,-64,58,64,-60,59,64,-66,57,63,-61,60,63,-67,60,66,-62,61,66,-68,62,8,-64,63,8,-10,64,68,-66,65,68,-70,63,9,-67,66,9,-12,70,72,-72,71,72,-74,1,74,-19,18,74,-76,3,76,-2,1,76,-75,25,77,-25,24,77,-79,17,79,-16,15,79,-81,18,75,-20,19,75,-82,31,82,-26,25,82,-78,19,81,-27,26,81,-84,37,84,-32,31,84,-83,26,83,-33,32,83,-86,43,86,-38,37,86,-85,32,85,-39,38,85,-88,49,88,-44,43,88,-87,38,87,-45,44,87,-90,55,90,-50,49,90,-89,44,89,-51,50,89,-92,61,92,-56,55,92,-91,50,91,-57,56,91,-94,67,94,-62,61,94,-93,56,93,-63,62,93,-96,73,96,-72,71,96,-98,62,95,-9,8,95,-99,8,98,-11,10,98,-100,74,100,-76,75,100,-102,76,102,-75,74,102,-101,77,103,-79,78,103,-105,79,105,-81,80,105,-107,75,101,-82,81,101,-108,82,108,-78,77,108,-104,81,107,-84,83,107,-110,84,110,-83,82,110,-109,83,109,-86,85,109,-112,86,112,-85,84,112,-111,85,111,-88,87,111,-114,88,114,-87,86,114,-113,87,113,-90,89,113,-116,90,116,-89,88,116,-115,89,115,-92,91,115,-118,92,118,-91,90,118,-117,91,117,-94,93,117,-120,94,120,-93,92,120,-119,93,119,-96,95,119,-122,96,122,-98,97,122,-124,95,121,-99,98,121,-125,98,124,-100,99,124,-126,100,126,-102,101,126,-128,102,128,-101,100,128,-127,103,129,-105,104,129,-131,105,131,-107,106,131,-133,101,127,-108,107,127,-134,108,134,-104,103,134,-130,107,133,-110,109,133,-136,110,136,-109,108,136,-135,109,135,-112,111,135,-138,112,138,-111,110,138,-137,111,137,-114,113, +137,-140,114,140,-113,112,140,-139,113,139,-116,115,139,-142,116,142,-115,114,142,-141,115,141,-118,117,141,-144,118,144,-117,116,144,-143,117,143,-120,119,143,-146,120,146,-119,118,146,-145,119,145,-122,121,145,-148,122,148,-124,123,148,-150,121,147,-125,124,147,-151,124,150,-126,125,150,-152,126,152,-128,127,152,-154,128,154,-127,126,154,-153,129,155,-131,130,155,-157,131,157,-133,132,157,-159,127,153,-134,133,153,-160,134,160,-130,129,160,-156,133,159,-136,135,159,-162,136,162,-135,134,162,-161,135,161,-138,137,161,-164,138,164,-137,136,164,-163,137,163,-140,139,163,-166,140,166,-139,138,166,-165,139,165,-142,141,165,-168,142,168,-141,140,168,-167,141,167,-144,143,167,-170,144,170,-143,142,170,-169,143,169,-146,145,169,-172,146,172,-145,144,172,-171,145,171,-148,147,171,-174,148,174,-150,149,174,-176,147,173,-151,150,173,-177,150,176,-152,151,176,-178,152,178,-154,153,178,-180,154,180,-153,152,180,-179,155,181,-157,156,181,-183,157,183,-159,158,183,-185,153,179,-160,159,179,-186,160,186,-156,155,186,-182,159,185,-162,161,185,-188,162,188,-161,160,188,-187,161,187,-164,163,187,-190,164,190,-163,162,190,-189,163,189,-166,165,189,-192,166,192,-165,164,192,-191,165,191,-168,167,191,-194,168,194,-167,166,194,-193,167,193,-170,169,193,-196,170,196,-169,168,196,-195,169,195,-172,171,195,-198,172,198,-171,170,198,-197,171,197,-174,173,197,-200,174,200,-176,175,200,-202,173,199,-177,176,199,-203,176,202,-178,177,202,-204,178,204,-180,179,204,-206,180,206,-179,178,206,-205,181,207,-183,182,207,-209,183,209,-185,184,209,-211,179,205,-186,185,205,-212,186,212,-182,181,212,-208,185,211,-188,187,211,-214,188,214,-187,186,214,-213,187,213,-190,189,213,-216,190,216,-189,188,216,-215,189,215,-192,191,215,-218,192,218,-191,190,218,-217,191,217,-194,193,217,-220,194,220,-193,192,220,-219,193,219,-196,195,219,-222,196,222,-195,194,222,-221,195,221,-198,197,221,-224,198,224,-197,196,224,-223,197,223,-200,199,223,-226,200,226,-202,201,226,-228,199,225,-203,202,225,-229,202,228,-204,203,228,-230,204,230,-206,205,230,-232,206,232,-205, +204,232,-231,207,233,-209,208,233,-235,209,235,-211,210,235,-237,205,231,-212,211,231,-238,212,238,-208,207,238,-234,211,237,-214,213,237,-240,214,240,-213,212,240,-239,213,239,-216,215,239,-242,216,242,-215,214,242,-241,215,241,-218,217,241,-244,218,244,-217,216,244,-243,217,243,-220,219,243,-246,220,246,-219,218,246,-245,219,245,-222,221,245,-248,222,248,-221,220,248,-247,221,247,-224,223,247,-250,224,250,-223,222,250,-249,223,249,-226,225,249,-252,226,252,-228,227,252,-254,225,251,-229,228,251,-255,228,254,-230,229,254,-256,230,256,-232,231,256,-258,232,258,-231,230,258,-257,233,259,-235,234,259,-261,235,261,-237,236,261,-263,231,257,-238,237,257,-264,238,264,-234,233,264,-260,237,263,-240,239,263,-266,240,266,-239,238,266,-265,239,265,-242,241,265,-268,242,268,-241,240,268,-267,241,267,-244,243,267,-270,244,270,-243,242,270,-269,243,269,-246,245,269,-272,246,272,-245,244,272,-271,245,271,-248,247,271,-274,248,274,-247,246,274,-273,247,273,-250,249,273,-276,250,276,-249,248,276,-275,249,275,-252,251,275,-278,252,278,-254,253,278,-280,251,277,-255,254,277,-281,254,280,-256,255,280,-282,256,4,-258,257,4,-6,258,6,-257,256,6,-5,259,21,-261,260,21,-8,261,282,-263,262,282,-284,257,5,-264,263,5,-23,264,28,-260,259,28,-22,263,22,-266,265,22,-30,266,34,-265,264,34,-29,265,29,-268,267,29,-36,268,40,-267,266,40,-35,267,35,-270,269,35,-42,270,46,-269,268,46,-41,269,41,-272,271,41,-48,272,52,-271,270,52,-47,271,47,-274,273,47,-54,274,58,-273,272,58,-53,273,53,-276,275,53,-60,276,64,-275,274,64,-59,275,59,-278,277,59,-66,278,284,-280,279,284,-286,277,65,-281,280,65,-70,280,69,-282,281,69,-69,24,286,-14,13,286,-288,7,288,-261,260,288,-290,258,290,-7,6,290,-292,6,291,-8,7,291,-289,2,292,-4,3,292,-294,260,289,-235,234,289,-295,232,295,-259,258,295,-291,234,294,-209,208,294,-297,206,297,-233,232,297,-296,208,296,-183,182,296,-299,180,299,-207,206,299,-298,182,298,-157,156,298,-301,154,301,-181,180,301,-300,156,300,-131,130,300,-303,128,303,-155,154,303,-302,130,302,-105,104,302,-305,102,305,-129,128,305,-304,104,304,-79,78,304,-307, +76,307,-103,102,307,-306,78,306,-25,24,306,-287,3,293,-77,76,293,-308,13,287,-3,2,287,-293,66,308,-68,67,308,-310,11,310,-67,66,310,-309,99,311,-11,10,311,-313,10,312,-12,11,312,-311,67,309,-95,94,309,-314,125,314,-100,99,314,-312,94,313,-121,120,313,-316,151,316,-126,125,316,-315,120,315,-147,146,315,-318,177,318,-152,151,318,-317,146,317,-173,172,317,-320,203,320,-178,177,320,-319,172,319,-199,198,319,-322,229,322,-204,203,322,-321,198,321,-225,224,321,-324,255,324,-230,229,324,-323,224,323,-251,250,323,-326,281,326,-256,255,326,-325,250,325,-277,276,325,-328,68,328,-282,281,328,-327,276,327,-65,64,327,-330,64,329,-69,68,329,-329,286,330,-288,287,330,-332,288,332,-290,289,332,-334,290,334,-292,291,334,-336,291,335,-289,288,335,-333,292,336,-294,293,336,-338,289,333,-295,294,333,-339,295,339,-291,290,339,-335,294,338,-297,296,338,-341,297,341,-296,295,341,-340,296,340,-299,298,340,-343,299,343,-298,297,343,-342,298,342,-301,300,342,-345,301,345,-300,299,345,-344,300,344,-303,302,344,-347,303,347,-302,301,347,-346,302,346,-305,304,346,-349,305,349,-304,303,349,-348,304,348,-307,306,348,-351,307,351,-306,305,351,-350,306,350,-287,286,350,-331,293,337,-308,307,337,-352,287,331,-293,292,331,-337,308,352,-310,309,352,-354,310,354,-309,308,354,-353,311,355,-313,312,355,-357,312,356,-311,310,356,-355,309,353,-314,313,353,-358,314,358,-312,311,358,-356,313,357,-316,315,357,-360,316,360,-315,314,360,-359,315,359,-318,317,359,-362,318,362,-317,316,362,-361,317,361,-320,319,361,-364,320,364,-319,318,364,-363,319,363,-322,321,363,-366,322,366,-321,320,366,-365,321,365,-324,323,365,-368,324,368,-323,322,368,-367,323,367,-326,325,367,-370,326,370,-325,324,370,-369,325,369,-328,327,369,-372,328,372,-327,326,372,-371,327,371,-330,329,371,-374,329,373,-329,328,373,-373,330,17,-332,331,17,-17,332,282,-334,333,282,-262,334,262,-336,335,262,-284,335,283,-333,332,283,-283,336,14,-338,337,14,-16,333,261,-339,338,261,-236,339,236,-335,334,236,-263,338,235,-341,340,235,-210,341,210,-340,339,210,-237,340,209,-343,342,209,-184,343,184,-342, +341,184,-211,342,183,-345,344,183,-158,345,158,-344,343,158,-185,344,157,-347,346,157,-132,347,132,-346,345,132,-159,346,131,-349,348,131,-106,349,106,-348,347,106,-133,348,105,-351,350,105,-80,351,80,-350,349,80,-107,350,79,-331,330,79,-18,337,15,-352,351,15,-81,331,16,-337,336,16,-15,352,70,-354,353,70,-72,354,72,-353,352,72,-71,355,96,-357,356,96,-74,356,73,-355,354,73,-73,353,71,-358,357,71,-98,358,122,-356,355,122,-97,357,97,-360,359,97,-124,360,148,-359,358,148,-123,359,123,-362,361,123,-150,362,174,-361,360,174,-149,361,149,-364,363,149,-176,364,200,-363,362,200,-175,363,175,-366,365,175,-202,366,226,-365,364,226,-201,365,201,-368,367,201,-228,368,252,-367,366,252,-227,367,227,-370,369,227,-254,370,278,-369,368,278,-253,369,253,-372,371,253,-280,372,284,-371,370,284,-279,371,279,-374,373,279,-286,373,285,-373,372,285,-285 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *6696 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + NormalsW: *2232 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *6696 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *2232 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *6696 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1 + } + TangentsW: *2232 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *5952 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *2232 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431,432,434,433,433,434,435,436,438,437,437,438,439,440,442,441,441,442,443,444,446,445,445,446,447,448,450,449,449,450,451,452,454,453,453,454,455,456,458,457,457,458,459,460,462,461,461,462,463,464,466,465,465,466,467,468,470,469,469,470,471,472,474,473,473,474,475,476,478,477,477,478,479,480,482,481,481,482,483,484,486,485,485,486,487,488,490,489,489,490,491,492,494,493,493,494,495,496,498,497,497,498,499,500,502,501,501,502,503,504,506,505,505,506,507,508,510,509,509,510,511,512,514,513,513,514,515,516,518,517,517,518,519,520,522,521,521,522,523,524,526,525,525,526,527,528,530,529,529,530,531,532,534,533,533,534,535,536,538,537,537,538,539,540,542,541,541,542,543,544,546,545,545,546,547,548,550,549,549,550,551,552,554,553,553,554,555,556,558,557,557,558,559,560,562,561,561,562,563,564,566,565,565,566,567,568,570,569,569,570,571,572,574,573,573,574,575,576,578,577,577,578,579,580,582,581,581,582,583,584,586,585,585,586,587,588,590,589,589,590,591,592,594,593,593,594,595,596,598,597,597,598,599,600,602,601,601,602,603,604,606,605,605,606,607,608,610,609,609,610,611,612,614,613,613,614,615,616,618,617,617,618,619,620,622,621,621,622,623,624,626,625,625,626,627,628,630,629,629,630,631,632,634,633,633,634,635,636,638,637,637,638,639,640,642,641,641,642,643,644,646,645,645,646,647,648,650,649,649,650,651,652,654,653,653,654,655,656,658,657,657,658,659,660,662,661,661,662,663,664,666,665,665,666,667,668,670,669,669,670,671,672,674,673,673,674,675,676,678,677,677,678,679,680,682,681,681,682,683,684,686,685,685,686,687,688,690,689,689,690,691,692,694,693,693,694,695,696,698,697,697,698,699,700,702,701,701,702,703,704,706,705,705,706, +707,708,710,709,709,710,711,712,714,713,713,714,715,716,718,717,717,718,719,720,722,721,721,722,723,724,726,725,725,726,727,728,730,729,729,730,731,732,734,733,733,734,735,736,738,737,737,738,739,740,742,741,741,742,743,744,746,745,745,746,747,748,750,749,749,750,751,752,754,753,753,754,755,756,758,757,757,758,759,760,762,761,761,762,763,764,766,765,765,766,767,768,770,769,769,770,771,772,774,773,773,774,775,776,778,777,777,778,779,780,782,781,781,782,783,784,786,785,785,786,787,788,790,789,789,790,791,792,794,793,793,794,795,796,798,797,797,798,799,800,802,801,801,802,803,804,806,805,805,806,807,808,810,809,809,810,811,812,814,813,813,814,815,816,818,817,817,818,819,820,822,821,821,822,823,824,826,825,825,826,827,828,830,829,829,830,831,832,834,833,833,834,835,836,838,837,837,838,839,840,842,841,841,842,843,844,846,845,845,846,847,848,850,849,849,850,851,852,854,853,853,854,855,856,858,857,857,858,859,860,862,861,861,862,863,864,866,865,865,866,867,868,870,869,869,870,871,872,874,873,873,874,875,876,878,877,877,878,879,880,882,881,881,882,883,884,886,885,885,886,887,888,890,889,889,890,891,892,894,893,893,894,895,896,898,897,897,898,899,900,902,901,901,902,903,904,906,905,905,906,907,908,910,909,909,910,911,912,914,913,913,914,915,916,918,917,917,918,919,920,922,921,921,922,923,924,926,925,925,926,927,928,930,929,929,930,931,932,934,933,933,934,935,936,938,937,937,938,939,940,942,941,941,942,943,944,946,945,945,946,947,948,950,949,949,950,951,952,954,953,953,954,955,956,958,957,957,958,959,960,962,961,961,962,963,964,966,965,965,966,967,968,970,969,969,970,971,972,974,973,973,974,975,976,978,977,977,978,979,980,982,981,981,982,983,984,986,985,985,986,987,988,990,989,989,990,991,992,994,993,993,994,995,996,998,997,997,998,999,1000,1002,1001,1001,1002,1003,1004,1006,1005,1005,1006,1007,1008,1010,1009,1009,1010,1011,1012,1014,1013,1013,1014,1015,1016,1018,1017,1017,1018,1019,1020,1022,1021,1021,1022,1023,1024,1026,1025,1025,1026,1027,1028,1030,1029,1029,1030,1031,1032,1034,1033,1033,1034,1035,1036,1038,1037,1037,1038, +1039,1040,1042,1041,1041,1042,1043,1044,1046,1045,1045,1046,1047,1048,1050,1049,1049,1050,1051,1052,1054,1053,1053,1054,1055,1056,1058,1057,1057,1058,1059,1060,1062,1061,1061,1062,1063,1064,1066,1065,1065,1066,1067,1068,1070,1069,1069,1070,1071,1072,1074,1073,1073,1074,1075,1076,1078,1077,1077,1078,1079,1080,1082,1081,1081,1082,1083,1084,1086,1085,1085,1086,1087,1088,1090,1089,1089,1090,1091,1092,1094,1093,1093,1094,1095,1096,1098,1097,1097,1098,1099,1100,1102,1101,1101,1102,1103,1104,1106,1105,1105,1106,1107,1108,1110,1109,1109,1110,1111,1112,1114,1113,1113,1114,1115,1116,1118,1117,1117,1118,1119,1120,1122,1121,1121,1122,1123,1124,1126,1125,1125,1126,1127,1128,1130,1129,1129,1130,1131,1132,1134,1133,1133,1134,1135,1136,1138,1137,1137,1138,1139,1140,1142,1141,1141,1142,1143,1144,1146,1145,1145,1146,1147,1148,1150,1149,1149,1150,1151,1152,1154,1153,1153,1154,1155,1156,1158,1157,1157,1158,1159,1160,1162,1161,1161,1162,1163,1164,1166,1165,1165,1166,1167,1168,1170,1169,1169,1170,1171,1172,1174,1173,1173,1174,1175,1176,1178,1177,1177,1178,1179,1180,1182,1181,1181,1182,1183,1184,1186,1185,1185,1186,1187,1188,1190,1189,1189,1190,1191,1192,1194,1193,1193,1194,1195,1196,1198,1197,1197,1198,1199,1200,1202,1201,1201,1202,1203,1204,1206,1205,1205,1206,1207,1208,1210,1209,1209,1210,1211,1212,1214,1213,1213,1214,1215,1216,1218,1217,1217,1218,1219,1220,1222,1221,1221,1222,1223,1224,1226,1225,1225,1226,1227,1228,1230,1229,1229,1230,1231,1232,1234,1233,1233,1234,1235,1236,1238,1237,1237,1238,1239,1240,1242,1241,1241,1242,1243,1244,1246,1245,1245,1246,1247,1248,1250,1249,1249,1250,1251,1252,1254,1253,1253,1254,1255,1256,1258,1257,1257,1258,1259,1260,1262,1261,1261,1262,1263,1264,1266,1265,1265,1266,1267,1268,1270,1269,1269,1270,1271,1272,1274,1273,1273,1274,1275,1276,1278,1277,1277,1278,1279,1280,1282,1281,1281,1282,1283,1284,1286,1285,1285,1286,1287,1288,1290,1289,1289,1290,1291,1292,1294,1293,1293,1294,1295,1296,1298,1297,1297,1298,1299,1300,1302,1301,1301,1302,1303,1304,1306,1305,1305,1306,1307,1308,1310,1309,1309,1310,1311,1312, +1314,1313,1313,1314,1315,1316,1318,1317,1317,1318,1319,1320,1322,1321,1321,1322,1323,1324,1326,1325,1325,1326,1327,1328,1330,1329,1329,1330,1331,1332,1334,1333,1333,1334,1335,1336,1338,1337,1337,1338,1339,1340,1342,1341,1341,1342,1343,1344,1346,1345,1345,1346,1347,1348,1350,1349,1349,1350,1351,1352,1354,1353,1353,1354,1355,1356,1358,1357,1357,1358,1359,1360,1362,1361,1361,1362,1363,1364,1366,1365,1365,1366,1367,1368,1370,1369,1369,1370,1371,1372,1374,1373,1373,1374,1375,1376,1378,1377,1377,1378,1379,1380,1382,1381,1381,1382,1383,1384,1386,1385,1385,1386,1387,1388,1390,1389,1389,1390,1391,1392,1394,1393,1393,1394,1395,1396,1398,1397,1397,1398,1399,1400,1402,1401,1401,1402,1403,1404,1406,1405,1405,1406,1407,1408,1410,1409,1409,1410,1411,1412,1414,1413,1413,1414,1415,1416,1418,1417,1417,1418,1419,1420,1422,1421,1421,1422,1423,1424,1426,1425,1425,1426,1427,1428,1430,1429,1429,1430,1431,1432,1434,1433,1433,1434,1435,1436,1438,1437,1437,1438,1439,1440,1442,1441,1441,1442,1443,1444,1446,1445,1445,1446,1447,1448,1450,1449,1449,1450,1451,1452,1454,1453,1453,1454,1455,1456,1458,1457,1457,1458,1459,1460,1462,1461,1461,1462,1463,1464,1466,1465,1465,1466,1467,1468,1470,1469,1469,1470,1471,1472,1474,1473,1473,1474,1475,1476,1478,1477,1477,1478,1479,1480,1482,1481,1481,1482,1483,1484,1486,1485,1485,1486,1487 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *2976 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-1,0,-1,-1,-2,0,-2,-1,1,-1,0,-2,1,-2,0,1,0,1,1,2,0,2,1,0,-1,1,-1,0,-2,1,-2,-1,-2,0,-2,-1,-3,0,-3,-2,1,-2,0,-3,1,-3,0,2,0,2,1,3,0,3,1,0,-2,1,-2,0,-3,1,-3,-1,-3,0,-3,-1,-4,0,-4,-3,1,-3,0,-4,1,-4,0,3,0,3,1,4,0,4,1,0,-3,1,-3,0,-4,1,-4,-1,-4,0,-4,-1,-5,0,-5,-4,1,-4,0,-5,1,-5,0,4,0,4,1,5,0,5,1,0,-4,1,-4,0,-5,1,-5,-1,-5,0,-5,-1,-6,0,-6,-5,1,-5,0,-6,1,-6,0,5,0,5,1,6,0,6,1,0,-5,1,-5,0,-6,1,-6,-1,-6,0,-6,-1,-7,0,-7,-6,1,-6,0,-7,1,-7,0,6,0,6,1,7,0,7,1,0,-6,1,-6,0,-7,1,-7,-1,-7,0,-7,-1,-8,0,-8,-7,1,-7,0,-8,1,-8,0,7,0,7,1,8,0,8,1,0,-7,1,-7,0,-8,1,-8,-1,-8,0,-8,-1,-9,0,-9,-8,1,-8,0,-9,1,-9,0,8,0,8,1,9,0,9,1,0,-8,1,-8,0,-9,1,-9,-1,-9,0,-9,-1,-10,0,-10,-9,1,-9,0,-10,1,-10,0,9,0,9,1,10,0,10,1,0,-9,1,-9,0,-10,1,-10,-1,0,-1,-1,-2,0,-2,-1,-1,1,-1,0,-2,1,-2,0,1,-2,1,-1,2,-2,2,-1,1,-1,1,0,2,-1,2,0,-1,-1,-1,-2,-2,-1,-2,-2,1,-3,1,-2,2,-3,2,-2,-1,-2,-1,-3,-2,-2,-2,-3,1,-4,1,-3,2,-4,2,-3,-1,-3,-1,-4,-2,-3,-2,-4,1,-5,1,-4,2,-5,2,-4,-1,-4,-1,-5,-2,-4,-2,-5,1,-6,1,-5,2,-6,2,-5,-1,-5,-1,-6,-2,-5,-2,-6,1,-7,1,-6,2,-7,2,-6,-1,-6,-1,-7,-2,-6,-2,-7,1,-8,1,-7,2,-8,2,-7,-1,-7,-1,-8,-2,-7,-2,-8,1,-9,1,-8,2,-9,2,-8,-1,-8,-1,-9,-2,-8,-2,-9,1,-10,1,-9,2,-10,2,-9,-1,-9,-1,-10,-2,-9,-2,-10,1,0,1,1,2,0,2,1,-2,0,-2,-1,-3,0,-3,-1,-2,1,-2,0,-3,1,-3,0,2,-2,2,-1,3,-2,3,-1,2,-1,2,0,3,-1,3,0,-2,-1,-2,-2,-3,-1,-3,-2,2,-3,2,-2,3,-3,3,-2,-2,-2,-2,-3,-3,-2,-3,-3,2,-4,2,-3,3,-4,3,-3,-2,-3,-2,-4,-3,-3,-3,-4,2,-5,2,-4,3,-5,3,-4,-2,-4,-2,-5,-3,-4,-3,-5,2,-6,2,-5,3,-6,3,-5,-2,-5,-2,-6,-3,-5,-3,-6,2,-7,2,-6,3,-7,3,-6,-2,-6,-2,-7,-3,-6,-3,-7,2,-8,2,-7,3,-8,3,-7,-2,-7,-2,-8,-3,-7,-3,-8,2,-9,2,-8,3,-9,3,-8,-2,-8,-2,-9,-3,-8,-3,-9,2,-10,2,-9,3,-10,3,-9,-2,-9,-2,-10,-3,-9,-3,-10,2,0,2,1,3,0,3,1,-3,0,-3,-1,-4,0,-4,-1,-3,1,-3,0,-4,1,-4,0,3,-2,3,-1,4,-2,4,-1,3,-1,3,0,4,-1,4,0,-3,-1,-3,-2,-4,-1,-4,-2,3,-3,3,-2,4,-3,4,-2,-3,-2,-3,-3,-4,-2,-4,-3,3,-4,3,-3,4,-4,4,-3,-3,-3,-3,-4,-4,-3,-4,-4,3,-5,3,-4,4,-5,4,-4,-3,-4,-3,-5,-4,-4,-4,-5,3,-6,3,-5,4,-6,4,-5,-3, +-5,-3,-6,-4,-5,-4,-6,3,-7,3,-6,4,-7,4,-6,-3,-6,-3,-7,-4,-6,-4,-7,3,-8,3,-7,4,-8,4,-7,-3,-7,-3,-8,-4,-7,-4,-8,3,-9,3,-8,4,-9,4,-8,-3,-8,-3,-9,-4,-8,-4,-9,3,-10,3,-9,4,-10,4,-9,-3,-9,-3,-10,-4,-9,-4,-10,3,0,3,1,4,0,4,1,-4,0,-4,-1,-5,0,-5,-1,-4,1,-4,0,-5,1,-5,0,4,-2,4,-1,5,-2,5,-1,4,-1,4,0,5,-1,5,0,-4,-1,-4,-2,-5,-1,-5,-2,4,-3,4,-2,5,-3,5,-2,-4,-2,-4,-3,-5,-2,-5,-3,4,-4,4,-3,5,-4,5,-3,-4,-3,-4,-4,-5,-3,-5,-4,4,-5,4,-4,5,-5,5,-4,-4,-4,-4,-5,-5,-4,-5,-5,4,-6,4,-5,5,-6,5,-5,-4,-5,-4,-6,-5,-5,-5,-6,4,-7,4,-6,5,-7,5,-6,-4,-6,-4,-7,-5,-6,-5,-7,4,-8,4,-7,5,-8,5,-7,-4,-7,-4,-8,-5,-7,-5,-8,4,-9,4,-8,5,-9,5,-8,-4,-8,-4,-9,-5,-8,-5,-9,4,-10,4,-9,5,-10,5,-9,-4,-9,-4,-10,-5,-9,-5,-10,4,0,4,1,5,0,5,1,-5,0,-5,-1,-6,0,-6,-1,-5,1,-5,0,-6,1,-6,0,5,-2,5,-1,6,-2,6,-1,5,-1,5,0,6,-1,6,0,-5,-1,-5,-2,-6,-1,-6,-2,5,-3,5,-2,6,-3,6,-2,-5,-2,-5,-3,-6,-2,-6,-3,5,-4,5,-3,6,-4,6,-3,-5,-3,-5,-4,-6,-3,-6,-4,5,-5,5,-4,6,-5,6,-4,-5,-4,-5,-5,-6,-4,-6,-5,5,-6,5,-5,6,-6,6,-5,-5,-5,-5,-6,-6,-5,-6,-6,5,-7,5,-6,6,-7,6,-6,-5,-6,-5,-7,-6,-6,-6,-7,5,-8,5,-7,6,-8,6,-7,-5,-7,-5,-8,-6,-7,-6,-8,5,-9,5,-8,6,-9,6,-8,-5,-8,-5,-9,-6,-8,-6,-9,5,-10,5,-9,6,-10,6,-9,-5,-9,-5,-10,-6,-9,-6,-10,5,0,5,1,6,0,6,1,-6,0,-6,-1,-7,0,-7,-1,-6,1,-6,0,-7,1,-7,0,6,-2,6,-1,7,-2,7,-1,6,-1,6,0,7,-1,7,0,-6,-1,-6,-2,-7,-1,-7,-2,6,-3,6,-2,7,-3,7,-2,-6,-2,-6,-3,-7,-2,-7,-3,6,-4,6,-3,7,-4,7,-3,-6,-3,-6,-4,-7,-3,-7,-4,6,-5,6,-4,7,-5,7,-4,-6,-4,-6,-5,-7,-4,-7,-5,6,-6,6,-5,7,-6,7,-5,-6,-5,-6,-6,-7,-5,-7,-6,6,-7,6,-6,7,-7,7,-6,-6,-6,-6,-7,-7,-6,-7,-7,6,-8,6,-7,7,-8,7,-7,-6,-7,-6,-8,-7,-7,-7,-8,6,-9,6,-8,7,-9,7,-8,-6,-8,-6,-9,-7,-8,-7,-9,6,-10,6,-9,7,-10,7,-9,-6,-9,-6,-10,-7,-9,-7,-10,6,0,6,1,7,0,7,1,-7,0,-7,-1,-8,0,-8,-1,-7,1,-7,0,-8,1,-8,0,7,-2,7,-1,8,-2,8,-1,7,-1,7,0,8,-1,8,0,-7,-1,-7,-2,-8,-1,-8,-2,7,-3,7,-2,8,-3,8,-2,-7,-2,-7,-3,-8,-2,-8,-3,7,-4,7,-3,8,-4,8,-3,-7,-3,-7,-4,-8,-3,-8,-4,7,-5,7,-4,8,-5,8,-4,-7,-4,-7,-5,-8,-4,-8,-5,7,-6,7,-5,8,-6,8,-5,-7,-5,-7,-6,-8,-5,-8,-6,7,-7,7,-6,8,-7,8,-6,-7,-6,-7,-7,-8,-6,-8,-7,7,-8,7,-7,8,-8,8,-7,-7,-7,-7,-8,-8,-7,-8,-8,7,-9,7,-8,8,-9,8,-8,-7,-8,-7,-9,-8,-8, +-8,-9,7,-10,7,-9,8,-10,8,-9,-7,-9,-7,-10,-8,-9,-8,-10,7,0,7,1,8,0,8,1,-8,0,-8,-1,-9,0,-9,-1,-8,1,-8,0,-9,1,-9,0,8,-2,8,-1,9,-2,9,-1,8,-1,8,0,9,-1,9,0,-8,-1,-8,-2,-9,-1,-9,-2,8,-3,8,-2,9,-3,9,-2,-8,-2,-8,-3,-9,-2,-9,-3,8,-4,8,-3,9,-4,9,-3,-8,-3,-8,-4,-9,-3,-9,-4,8,-5,8,-4,9,-5,9,-4,-8,-4,-8,-5,-9,-4,-9,-5,8,-6,8,-5,9,-6,9,-5,-8,-5,-8,-6,-9,-5,-9,-6,8,-7,8,-6,9,-7,9,-6,-8,-6,-8,-7,-9,-6,-9,-7,8,-8,8,-7,9,-8,9,-7,-8,-7,-8,-8,-9,-7,-9,-8,8,-9,8,-8,9,-9,9,-8,-8,-8,-8,-9,-9,-8,-9,-9,8,-10,8,-9,9,-10,9,-9,-8,-9,-8,-10,-9,-9,-9,-10,8,0,8,1,9,0,9,1,-9,0,-9,-1,-10,0,-10,-1,-9,1,-9,0,-10,1,-10,0,9,-2,9,-1,10,-2,10,-1,9,-1,9,0,10,-1,10,0,-9,-1,-9,-2,-10,-1,-10,-2,9,-3,9,-2,10,-3,10,-2,-9,-2,-9,-3,-10,-2,-10,-3,9,-4,9,-3,10,-4,10,-3,-9,-3,-9,-4,-10,-3,-10,-4,9,-5,9,-4,10,-5,10,-4,-9,-4,-9,-5,-10,-4,-10,-5,9,-6,9,-5,10,-6,10,-5,-9,-5,-9,-6,-10,-5,-10,-6,9,-7,9,-6,10,-7,10,-6,-9,-6,-9,-7,-10,-6,-10,-7,9,-8,9,-7,10,-8,10,-7,-9,-7,-9,-8,-10,-7,-10,-8,9,-9,9,-8,10,-9,10,-8,-9,-8,-9,-9,-10,-8,-10,-9,9,-10,9,-9,10,-10,10,-9,-9,-9,-9,-10,-10,-9,-10,-10,9,0,9,1,10,0,10,1,1,1,0,1,1,2,0,2,10,1,9,1,10,2,9,2,-9,1,-10,1,-9,2,-10,2,0,1,-1,1,0,2,-1,2,0,1,-1,1,0,2,-1,2,9,1,8,1,9,2,8,2,-8,1,-9,1,-8,2,-9,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,2,1,1,1,2,2,1,2,-1,1,-2,1,-1,2,-2,2,1,1,0,1,1,2,0,2,0,1,-1,1,0,2,-1,2,10,1,9,1,10,2,9,2,2,1,1,1,2,2,1,2,1,1,0,1,1,2,0,2,-1,1,-2,1,-1,2,-2,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,9,1,8,1,9,2,8,2,-8,1,-9,1,-8,2,-9,2,10,1,9,1,10,2,9,2,-9,1,-10,1,-9,2,-10,2,-9,1,-10,1,-9,2,-10,2,1,2,0,2,1,3,0,3,10,2,9,2,10,3,9,3,-9,2,-10,2,-9,3,-10,3,0,2,-1,2,0,3,-1,3,0,2,-1,2,0,3,-1,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,7,2,6,2,7,3,6,3,-6,2, +-7,2,-6,3,-7,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,2,2,1,2,2,3,1,3,-1,2,-2,2,-1,3,-2,3,1,2,0,2,1,3,0,3,0,2,-1,2,0,3,-1,3,10,2,9,2,10,3,9,3,2,2,1,2,2,3,1,3,1,2,0,2,1,3,0,3,-1,2,-2,2,-1,3,-2,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,7,2,6,2,7,3,6,3,-6,2,-7,2,-6,3,-7,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,10,2,9,2,10,3,9,3,-9,2,-10,2,-9,3,-10,3,-9,2,-10,2,-9,3,-10,3,1,3,0,3,1,4,0,4,10,3,9,3,10,4,9,4,-9,3,-10,3,-9,4,-10,4,0,3,-1,3,0,4,-1,4,0,3,-1,3,0,4,-1,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,8,3,7,3,8,4,7,4,-7,3,-8,3,-7,4,-8,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,2,3,1,3,2,4,1,4,-1,3,-2,3,-1,4,-2,4,1,3,0,3,1,4,0,4,0,3,-1,3,0,4,-1,4,10,3,9,3,10,4,9,4,2,3,1,3,2,4,1,4,1,3,0,3,1,4,0,4,-1,3,-2,3,-1,4,-2,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,8,3,7,3,8,4,7,4,-7,3,-8,3,-7,4,-8,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,10,3,9,3,10,4,9,4,-9,3,-10,3,-9,4,-10,4,-9,3,-10,3,-9,4,-10,4 + } + UVIndex: *2232 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431,432,434,433,433,434,435,436,438,437,437,438,439,440,442,441,441,442,443,444,446,445,445,446,447,448,450,449,449,450,451,452,454,453,453,454,455,456,458,457,457,458,459,460,462,461,461,462,463,464,466,465,465,466,467,468,470,469,469,470,471,472,474,473,473,474,475,476,478,477,477,478,479,480,482,481,481,482,483,484,486,485,485,486,487,488,490,489,489,490,491,492,494,493,493,494,495,496,498,497,497,498,499,500,502,501,501,502,503,504,506,505,505,506,507,508,510,509,509,510,511,512,514,513,513,514,515,516,518,517,517,518,519,520,522,521,521,522,523,524,526,525,525,526,527,528,530,529,529,530,531,532,534,533,533,534,535,536,538,537,537,538,539,540,542,541,541,542,543,544,546,545,545,546,547,548,550,549,549,550,551,552,554,553,553,554,555,556,558,557,557,558,559,560,562,561,561,562,563,564,566,565,565,566,567,568,570,569,569,570,571,572,574,573,573,574,575,576,578,577,577,578,579,580,582,581,581,582,583,584,586,585,585,586,587,588,590,589,589,590,591,592,594,593,593,594,595,596,598,597,597,598,599,600,602,601,601,602,603,604,606,605,605,606,607,608,610,609,609,610,611,612,614,613,613,614,615,616,618,617,617,618,619,620,622,621,621,622,623,624,626,625,625,626,627,628,630,629,629,630,631,632,634,633,633,634,635,636,638,637,637,638,639,640,642,641,641,642,643,644,646,645,645,646,647,648,650,649,649,650,651,652,654,653,653,654,655,656,658,657,657,658,659,660,662,661,661,662,663,664,666,665,665,666,667,668,670,669,669,670,671,672,674,673,673,674,675,676,678,677,677,678,679,680,682,681,681,682,683,684,686,685,685,686,687,688,690,689,689,690,691,692,694,693,693,694,695,696,698,697,697,698,699,700,702,701,701,702,703,704,706,705,705,706, +707,708,710,709,709,710,711,712,714,713,713,714,715,716,718,717,717,718,719,720,722,721,721,722,723,724,726,725,725,726,727,728,730,729,729,730,731,732,734,733,733,734,735,736,738,737,737,738,739,740,742,741,741,742,743,744,746,745,745,746,747,748,750,749,749,750,751,752,754,753,753,754,755,756,758,757,757,758,759,760,762,761,761,762,763,764,766,765,765,766,767,768,770,769,769,770,771,772,774,773,773,774,775,776,778,777,777,778,779,780,782,781,781,782,783,784,786,785,785,786,787,788,790,789,789,790,791,792,794,793,793,794,795,796,798,797,797,798,799,800,802,801,801,802,803,804,806,805,805,806,807,808,810,809,809,810,811,812,814,813,813,814,815,816,818,817,817,818,819,820,822,821,821,822,823,824,826,825,825,826,827,828,830,829,829,830,831,832,834,833,833,834,835,836,838,837,837,838,839,840,842,841,841,842,843,844,846,845,845,846,847,848,850,849,849,850,851,852,854,853,853,854,855,856,858,857,857,858,859,860,862,861,861,862,863,864,866,865,865,866,867,868,870,869,869,870,871,872,874,873,873,874,875,876,878,877,877,878,879,880,882,881,881,882,883,884,886,885,885,886,887,888,890,889,889,890,891,892,894,893,893,894,895,896,898,897,897,898,899,900,902,901,901,902,903,904,906,905,905,906,907,908,910,909,909,910,911,912,914,913,913,914,915,916,918,917,917,918,919,920,922,921,921,922,923,924,926,925,925,926,927,928,930,929,929,930,931,932,934,933,933,934,935,936,938,937,937,938,939,940,942,941,941,942,943,944,946,945,945,946,947,948,950,949,949,950,951,952,954,953,953,954,955,956,958,957,957,958,959,960,962,961,961,962,963,964,966,965,965,966,967,968,970,969,969,970,971,972,974,973,973,974,975,976,978,977,977,978,979,980,982,981,981,982,983,984,986,985,985,986,987,988,990,989,989,990,991,992,994,993,993,994,995,996,998,997,997,998,999,1000,1002,1001,1001,1002,1003,1004,1006,1005,1005,1006,1007,1008,1010,1009,1009,1010,1011,1012,1014,1013,1013,1014,1015,1016,1018,1017,1017,1018,1019,1020,1022,1021,1021,1022,1023,1024,1026,1025,1025,1026,1027,1028,1030,1029,1029,1030,1031,1032,1034,1033,1033,1034,1035,1036,1038,1037,1037,1038, +1039,1040,1042,1041,1041,1042,1043,1044,1046,1045,1045,1046,1047,1048,1050,1049,1049,1050,1051,1052,1054,1053,1053,1054,1055,1056,1058,1057,1057,1058,1059,1060,1062,1061,1061,1062,1063,1064,1066,1065,1065,1066,1067,1068,1070,1069,1069,1070,1071,1072,1074,1073,1073,1074,1075,1076,1078,1077,1077,1078,1079,1080,1082,1081,1081,1082,1083,1084,1086,1085,1085,1086,1087,1088,1090,1089,1089,1090,1091,1092,1094,1093,1093,1094,1095,1096,1098,1097,1097,1098,1099,1100,1102,1101,1101,1102,1103,1104,1106,1105,1105,1106,1107,1108,1110,1109,1109,1110,1111,1112,1114,1113,1113,1114,1115,1116,1118,1117,1117,1118,1119,1120,1122,1121,1121,1122,1123,1124,1126,1125,1125,1126,1127,1128,1130,1129,1129,1130,1131,1132,1134,1133,1133,1134,1135,1136,1138,1137,1137,1138,1139,1140,1142,1141,1141,1142,1143,1144,1146,1145,1145,1146,1147,1148,1150,1149,1149,1150,1151,1152,1154,1153,1153,1154,1155,1156,1158,1157,1157,1158,1159,1160,1162,1161,1161,1162,1163,1164,1166,1165,1165,1166,1167,1168,1170,1169,1169,1170,1171,1172,1174,1173,1173,1174,1175,1176,1178,1177,1177,1178,1179,1180,1182,1181,1181,1182,1183,1184,1186,1185,1185,1186,1187,1188,1190,1189,1189,1190,1191,1192,1194,1193,1193,1194,1195,1196,1198,1197,1197,1198,1199,1200,1202,1201,1201,1202,1203,1204,1206,1205,1205,1206,1207,1208,1210,1209,1209,1210,1211,1212,1214,1213,1213,1214,1215,1216,1218,1217,1217,1218,1219,1220,1222,1221,1221,1222,1223,1224,1226,1225,1225,1226,1227,1228,1230,1229,1229,1230,1231,1232,1234,1233,1233,1234,1235,1236,1238,1237,1237,1238,1239,1240,1242,1241,1241,1242,1243,1244,1246,1245,1245,1246,1247,1248,1250,1249,1249,1250,1251,1252,1254,1253,1253,1254,1255,1256,1258,1257,1257,1258,1259,1260,1262,1261,1261,1262,1263,1264,1266,1265,1265,1266,1267,1268,1270,1269,1269,1270,1271,1272,1274,1273,1273,1274,1275,1276,1278,1277,1277,1278,1279,1280,1282,1281,1281,1282,1283,1284,1286,1285,1285,1286,1287,1288,1290,1289,1289,1290,1291,1292,1294,1293,1293,1294,1295,1296,1298,1297,1297,1298,1299,1300,1302,1301,1301,1302,1303,1304,1306,1305,1305,1306,1307,1308,1310,1309,1309,1310,1311,1312, +1314,1313,1313,1314,1315,1316,1318,1317,1317,1318,1319,1320,1322,1321,1321,1322,1323,1324,1326,1325,1325,1326,1327,1328,1330,1329,1329,1330,1331,1332,1334,1333,1333,1334,1335,1336,1338,1337,1337,1338,1339,1340,1342,1341,1341,1342,1343,1344,1346,1345,1345,1346,1347,1348,1350,1349,1349,1350,1351,1352,1354,1353,1353,1354,1355,1356,1358,1357,1357,1358,1359,1360,1362,1361,1361,1362,1363,1364,1366,1365,1365,1366,1367,1368,1370,1369,1369,1370,1371,1372,1374,1373,1373,1374,1375,1376,1378,1377,1377,1378,1379,1380,1382,1381,1381,1382,1383,1384,1386,1385,1385,1386,1387,1388,1390,1389,1389,1390,1391,1392,1394,1393,1393,1394,1395,1396,1398,1397,1397,1398,1399,1400,1402,1401,1401,1402,1403,1404,1406,1405,1405,1406,1407,1408,1410,1409,1409,1410,1411,1412,1414,1413,1413,1414,1415,1416,1418,1417,1417,1418,1419,1420,1422,1421,1421,1422,1423,1424,1426,1425,1425,1426,1427,1428,1430,1429,1429,1430,1431,1432,1434,1433,1433,1434,1435,1436,1438,1437,1437,1438,1439,1440,1442,1441,1441,1442,1443,1444,1446,1445,1445,1446,1447,1448,1450,1449,1449,1450,1451,1452,1454,1453,1453,1454,1455,1456,1458,1457,1457,1458,1459,1460,1462,1461,1461,1462,1463,1464,1466,1465,1465,1466,1467,1468,1470,1469,1469,1470,1471,1472,1474,1473,1473,1474,1475,1476,1478,1477,1477,1478,1479,1480,1482,1481,1481,1482,1483,1484,1486,1485,1485,1486,1487 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Geometry: 1143714096, "Geometry::Scene", "Mesh" { + Vertices: *1122 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-0,400,0,-100,400,0,-0,400,-100,-100,400,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-100,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-100,100,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-100,100,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-100,100,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-100,100,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-100,100,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-100,100,-900,-1000,100,-1000,-1000,0,-1000,-0,400,-900,-100,400,-900,-0,400,-1000,-100,400,-1000,-200,0,0,-200,0,-100,-200,100,0,-200,100,-200,-200,100,-100,-200,400,-100,-200,400,0,-200,0,-200,-200,100,-300,-200,0,-300,-200,100,-400,-200,0,-400,-200,100,-500,-200,0,-500,-200,100,-600,-200,0,-600,-200,100,-700,-200,0,-700,-200,100,-800,-200,0,-800,-200,100,-900,-200,0,-900,-200,400,-1000,-200,400,-900,-200,0,-1000,-200,100,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,400,-100,-300,400,0,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,400,-1000,-300,400,-900,-300,0,-1000,-300,100,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,400,-100,-400,400,0,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800,-400,100,-900,-400,0,-900,-400,400,-1000,-400,400,-900,-400,0,-1000,-400,100,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,400,-100,-500,400,0,-500,0,-200,-500,100,-300, +-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800,-500,100,-900,-500,0,-900,-500,400,-1000,-500,400,-900,-500,0,-1000,-500,100,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,400,-100,-600,400,0,-600,0,-200,-600,100,-300,-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,400,-1000,-600,400,-900,-600,0,-1000,-600,100,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,400,-100,-700,400,0,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,400,-1000,-700,400,-900,-700,0,-1000,-700,100,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,400,-100,-800,400,0,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,400,-1000,-800,400,-900,-800,0,-1000,-800,100,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,400,-100,-900,400,0,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,400,-1000,-900,400,-900,-900,0,-1000,-900,100,-1000,-1000,400,-100,-1000,400,0,-1000,400,-1000,-1000,400,-900,-100,200,-100,-0,200,-100,-1000,200,-100,-900,200,-100,-900,200,0,-1000,200,0,-0,200,0,-100,200,0,-800,200,-100,-800,200,0,-700,200,-100,-700,200,0,-600,200,-100,-600,200,0,-500,200,-100,-500,200,0,-400,200,-100,-400,200,0,-300,200,-100,-300,200,0,-200,200,-100,-200,200,0,-0,200,-900,-100,200,-900,-0,200,-1000,-200,200,-1000,-100,200,-1000,-200,200,-900,-300,200,-1000,-300,200,-900,-400,200,-1000,-400,200,-900,-500,200,-1000, +-500,200,-900,-600,200,-1000,-600,200,-900,-700,200,-1000,-700,200,-900,-800,200,-1000,-800,200,-900,-900,200,-1000,-900,200,-900,-1000,200,-1000,-1000,200,-900,-100,300,-100,-0,300,-100,-1000,300,-100,-900,300,-100,-900,300,0,-1000,300,0,-0,300,0,-100,300,0,-800,300,-100,-800,300,0,-700,300,-100,-700,300,0,-600,300,-100,-600,300,0,-500,300,-100,-500,300,0,-400,300,-100,-400,300,0,-300,300,-100,-300,300,0,-200,300,-100,-200,300,0,-0,300,-900,-100,300,-900,-0,300,-1000,-200,300,-1000,-100,300,-1000,-200,300,-900,-300,300,-1000,-300,300,-900,-400,300,-1000,-400,300,-900,-500,300,-1000,-500,300,-900,-600,300,-1000,-600,300,-900,-700,300,-1000,-700,300,-900,-800,300,-1000,-800,300,-900,-900,300,-1000,-900,300,-900,-1000,300,-1000,-1000,300,-900 + } + PolygonVertexIndex: *2232 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,14,16,-16,15,16,-18,12,0,-19,18,0,-2,18,19,-13,12,19,-21,7,21,-6,5,21,-23,12,20,-14,13,20,-24,13,23,-25,24,23,-26,19,26,-21,20,26,-28,21,28,-23,22,28,-30,20,27,-24,23,27,-31,23,30,-26,25,30,-32,26,32,-28,27,32,-34,28,34,-30,29,34,-36,27,33,-31,30,33,-37,30,36,-32,31,36,-38,32,38,-34,33,38,-40,34,40,-36,35,40,-42,33,39,-37,36,39,-43,36,42,-38,37,42,-44,38,44,-40,39,44,-46,40,46,-42,41,46,-48,39,45,-43,42,45,-49,42,48,-44,43,48,-50,44,50,-46,45,50,-52,46,52,-48,47,52,-54,45,51,-49,48,51,-55,48,54,-50,49,54,-56,50,56,-52,51,56,-58,52,58,-54,53,58,-60,51,57,-55,54,57,-61,54,60,-56,55,60,-62,56,62,-58,57,62,-64,58,64,-60,59,64,-66,57,63,-61,60,63,-67,60,66,-62,61,66,-68,62,8,-64,63,8,-10,64,68,-66,65,68,-70,63,9,-67,66,9,-12,70,72,-72,71,72,-74,1,74,-19,18,74,-76,3,76,-2,1,76,-75,25,77,-25,24,77,-79,17,79,-16,15,79,-81,18,75,-20,19,75,-82,31,82,-26,25,82,-78,19,81,-27,26,81,-84,37,84,-32,31,84,-83,26,83,-33,32,83,-86,43,86,-38,37,86,-85,32,85,-39,38,85,-88,49,88,-44,43,88,-87,38,87,-45,44,87,-90,55,90,-50,49,90,-89,44,89,-51,50,89,-92,61,92,-56,55,92,-91,50,91,-57,56,91,-94,67,94,-62,61,94,-93,56,93,-63,62,93,-96,73,96,-72,71,96,-98,62,95,-9,8,95,-99,8,98,-11,10,98,-100,74,100,-76,75,100,-102,76,102,-75,74,102,-101,77,103,-79,78,103,-105,79,105,-81,80,105,-107,75,101,-82,81,101,-108,82,108,-78,77,108,-104,81,107,-84,83,107,-110,84,110,-83,82,110,-109,83,109,-86,85,109,-112,86,112,-85,84,112,-111,85,111,-88,87,111,-114,88,114,-87,86,114,-113,87,113,-90,89,113,-116,90,116,-89,88,116,-115,89,115,-92,91,115,-118,92,118,-91,90,118,-117,91,117,-94,93,117,-120,94,120,-93,92,120,-119,93,119,-96,95,119,-122,96,122,-98,97,122,-124,95,121,-99,98,121,-125,98,124,-100,99,124,-126,100,126,-102,101,126,-128,102,128,-101,100,128,-127,103,129,-105,104,129,-131,105,131,-107,106,131,-133,101,127,-108,107,127,-134,108,134,-104,103,134,-130,107,133,-110,109,133,-136,110,136,-109,108,136,-135,109,135,-112,111,135,-138,112,138,-111,110,138,-137,111,137,-114,113, +137,-140,114,140,-113,112,140,-139,113,139,-116,115,139,-142,116,142,-115,114,142,-141,115,141,-118,117,141,-144,118,144,-117,116,144,-143,117,143,-120,119,143,-146,120,146,-119,118,146,-145,119,145,-122,121,145,-148,122,148,-124,123,148,-150,121,147,-125,124,147,-151,124,150,-126,125,150,-152,126,152,-128,127,152,-154,128,154,-127,126,154,-153,129,155,-131,130,155,-157,131,157,-133,132,157,-159,127,153,-134,133,153,-160,134,160,-130,129,160,-156,133,159,-136,135,159,-162,136,162,-135,134,162,-161,135,161,-138,137,161,-164,138,164,-137,136,164,-163,137,163,-140,139,163,-166,140,166,-139,138,166,-165,139,165,-142,141,165,-168,142,168,-141,140,168,-167,141,167,-144,143,167,-170,144,170,-143,142,170,-169,143,169,-146,145,169,-172,146,172,-145,144,172,-171,145,171,-148,147,171,-174,148,174,-150,149,174,-176,147,173,-151,150,173,-177,150,176,-152,151,176,-178,152,178,-154,153,178,-180,154,180,-153,152,180,-179,155,181,-157,156,181,-183,157,183,-159,158,183,-185,153,179,-160,159,179,-186,160,186,-156,155,186,-182,159,185,-162,161,185,-188,162,188,-161,160,188,-187,161,187,-164,163,187,-190,164,190,-163,162,190,-189,163,189,-166,165,189,-192,166,192,-165,164,192,-191,165,191,-168,167,191,-194,168,194,-167,166,194,-193,167,193,-170,169,193,-196,170,196,-169,168,196,-195,169,195,-172,171,195,-198,172,198,-171,170,198,-197,171,197,-174,173,197,-200,174,200,-176,175,200,-202,173,199,-177,176,199,-203,176,202,-178,177,202,-204,178,204,-180,179,204,-206,180,206,-179,178,206,-205,181,207,-183,182,207,-209,183,209,-185,184,209,-211,179,205,-186,185,205,-212,186,212,-182,181,212,-208,185,211,-188,187,211,-214,188,214,-187,186,214,-213,187,213,-190,189,213,-216,190,216,-189,188,216,-215,189,215,-192,191,215,-218,192,218,-191,190,218,-217,191,217,-194,193,217,-220,194,220,-193,192,220,-219,193,219,-196,195,219,-222,196,222,-195,194,222,-221,195,221,-198,197,221,-224,198,224,-197,196,224,-223,197,223,-200,199,223,-226,200,226,-202,201,226,-228,199,225,-203,202,225,-229,202,228,-204,203,228,-230,204,230,-206,205,230,-232,206,232,-205, +204,232,-231,207,233,-209,208,233,-235,209,235,-211,210,235,-237,205,231,-212,211,231,-238,212,238,-208,207,238,-234,211,237,-214,213,237,-240,214,240,-213,212,240,-239,213,239,-216,215,239,-242,216,242,-215,214,242,-241,215,241,-218,217,241,-244,218,244,-217,216,244,-243,217,243,-220,219,243,-246,220,246,-219,218,246,-245,219,245,-222,221,245,-248,222,248,-221,220,248,-247,221,247,-224,223,247,-250,224,250,-223,222,250,-249,223,249,-226,225,249,-252,226,252,-228,227,252,-254,225,251,-229,228,251,-255,228,254,-230,229,254,-256,230,256,-232,231,256,-258,232,258,-231,230,258,-257,233,259,-235,234,259,-261,235,261,-237,236,261,-263,231,257,-238,237,257,-264,238,264,-234,233,264,-260,237,263,-240,239,263,-266,240,266,-239,238,266,-265,239,265,-242,241,265,-268,242,268,-241,240,268,-267,241,267,-244,243,267,-270,244,270,-243,242,270,-269,243,269,-246,245,269,-272,246,272,-245,244,272,-271,245,271,-248,247,271,-274,248,274,-247,246,274,-273,247,273,-250,249,273,-276,250,276,-249,248,276,-275,249,275,-252,251,275,-278,252,278,-254,253,278,-280,251,277,-255,254,277,-281,254,280,-256,255,280,-282,256,4,-258,257,4,-6,258,6,-257,256,6,-5,259,21,-261,260,21,-8,261,282,-263,262,282,-284,257,5,-264,263,5,-23,264,28,-260,259,28,-22,263,22,-266,265,22,-30,266,34,-265,264,34,-29,265,29,-268,267,29,-36,268,40,-267,266,40,-35,267,35,-270,269,35,-42,270,46,-269,268,46,-41,269,41,-272,271,41,-48,272,52,-271,270,52,-47,271,47,-274,273,47,-54,274,58,-273,272,58,-53,273,53,-276,275,53,-60,276,64,-275,274,64,-59,275,59,-278,277,59,-66,278,284,-280,279,284,-286,277,65,-281,280,65,-70,280,69,-282,281,69,-69,24,286,-14,13,286,-288,7,288,-261,260,288,-290,258,290,-7,6,290,-292,6,291,-8,7,291,-289,2,292,-4,3,292,-294,260,289,-235,234,289,-295,232,295,-259,258,295,-291,234,294,-209,208,294,-297,206,297,-233,232,297,-296,208,296,-183,182,296,-299,180,299,-207,206,299,-298,182,298,-157,156,298,-301,154,301,-181,180,301,-300,156,300,-131,130,300,-303,128,303,-155,154,303,-302,130,302,-105,104,302,-305,102,305,-129,128,305,-304,104,304,-79,78,304,-307, +76,307,-103,102,307,-306,78,306,-25,24,306,-287,3,293,-77,76,293,-308,13,287,-3,2,287,-293,66,308,-68,67,308,-310,11,310,-67,66,310,-309,99,311,-11,10,311,-313,10,312,-12,11,312,-311,67,309,-95,94,309,-314,125,314,-100,99,314,-312,94,313,-121,120,313,-316,151,316,-126,125,316,-315,120,315,-147,146,315,-318,177,318,-152,151,318,-317,146,317,-173,172,317,-320,203,320,-178,177,320,-319,172,319,-199,198,319,-322,229,322,-204,203,322,-321,198,321,-225,224,321,-324,255,324,-230,229,324,-323,224,323,-251,250,323,-326,281,326,-256,255,326,-325,250,325,-277,276,325,-328,68,328,-282,281,328,-327,276,327,-65,64,327,-330,64,329,-69,68,329,-329,286,330,-288,287,330,-332,288,332,-290,289,332,-334,290,334,-292,291,334,-336,291,335,-289,288,335,-333,292,336,-294,293,336,-338,289,333,-295,294,333,-339,295,339,-291,290,339,-335,294,338,-297,296,338,-341,297,341,-296,295,341,-340,296,340,-299,298,340,-343,299,343,-298,297,343,-342,298,342,-301,300,342,-345,301,345,-300,299,345,-344,300,344,-303,302,344,-347,303,347,-302,301,347,-346,302,346,-305,304,346,-349,305,349,-304,303,349,-348,304,348,-307,306,348,-351,307,351,-306,305,351,-350,306,350,-287,286,350,-331,293,337,-308,307,337,-352,287,331,-293,292,331,-337,308,352,-310,309,352,-354,310,354,-309,308,354,-353,311,355,-313,312,355,-357,312,356,-311,310,356,-355,309,353,-314,313,353,-358,314,358,-312,311,358,-356,313,357,-316,315,357,-360,316,360,-315,314,360,-359,315,359,-318,317,359,-362,318,362,-317,316,362,-361,317,361,-320,319,361,-364,320,364,-319,318,364,-363,319,363,-322,321,363,-366,322,366,-321,320,366,-365,321,365,-324,323,365,-368,324,368,-323,322,368,-367,323,367,-326,325,367,-370,326,370,-325,324,370,-369,325,369,-328,327,369,-372,328,372,-327,326,372,-371,327,371,-330,329,371,-374,329,373,-329,328,373,-373,330,17,-332,331,17,-17,332,282,-334,333,282,-262,334,262,-336,335,262,-284,335,283,-333,332,283,-283,336,14,-338,337,14,-16,333,261,-339,338,261,-236,339,236,-335,334,236,-263,338,235,-341,340,235,-210,341,210,-340,339,210,-237,340,209,-343,342,209,-184,343,184,-342, +341,184,-211,342,183,-345,344,183,-158,345,158,-344,343,158,-185,344,157,-347,346,157,-132,347,132,-346,345,132,-159,346,131,-349,348,131,-106,349,106,-348,347,106,-133,348,105,-351,350,105,-80,351,80,-350,349,80,-107,350,79,-331,330,79,-18,337,15,-352,351,15,-81,331,16,-337,336,16,-15,352,70,-354,353,70,-72,354,72,-353,352,72,-71,355,96,-357,356,96,-74,356,73,-355,354,73,-73,353,71,-358,357,71,-98,358,122,-356,355,122,-97,357,97,-360,359,97,-124,360,148,-359,358,148,-123,359,123,-362,361,123,-150,362,174,-361,360,174,-149,361,149,-364,363,149,-176,364,200,-363,362,200,-175,363,175,-366,365,175,-202,366,226,-365,364,226,-201,365,201,-368,367,201,-228,368,252,-367,366,252,-227,367,227,-370,369,227,-254,370,278,-369,368,278,-253,369,253,-372,371,253,-280,372,284,-371,370,284,-279,371,279,-374,373,279,-286,373,285,-373,372,285,-285 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *6696 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + NormalsW: *2232 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *6696 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *2232 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *6696 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1 + } + TangentsW: *2232 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *5952 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *2232 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431,432,434,433,433,434,435,436,438,437,437,438,439,440,442,441,441,442,443,444,446,445,445,446,447,448,450,449,449,450,451,452,454,453,453,454,455,456,458,457,457,458,459,460,462,461,461,462,463,464,466,465,465,466,467,468,470,469,469,470,471,472,474,473,473,474,475,476,478,477,477,478,479,480,482,481,481,482,483,484,486,485,485,486,487,488,490,489,489,490,491,492,494,493,493,494,495,496,498,497,497,498,499,500,502,501,501,502,503,504,506,505,505,506,507,508,510,509,509,510,511,512,514,513,513,514,515,516,518,517,517,518,519,520,522,521,521,522,523,524,526,525,525,526,527,528,530,529,529,530,531,532,534,533,533,534,535,536,538,537,537,538,539,540,542,541,541,542,543,544,546,545,545,546,547,548,550,549,549,550,551,552,554,553,553,554,555,556,558,557,557,558,559,560,562,561,561,562,563,564,566,565,565,566,567,568,570,569,569,570,571,572,574,573,573,574,575,576,578,577,577,578,579,580,582,581,581,582,583,584,586,585,585,586,587,588,590,589,589,590,591,592,594,593,593,594,595,596,598,597,597,598,599,600,602,601,601,602,603,604,606,605,605,606,607,608,610,609,609,610,611,612,614,613,613,614,615,616,618,617,617,618,619,620,622,621,621,622,623,624,626,625,625,626,627,628,630,629,629,630,631,632,634,633,633,634,635,636,638,637,637,638,639,640,642,641,641,642,643,644,646,645,645,646,647,648,650,649,649,650,651,652,654,653,653,654,655,656,658,657,657,658,659,660,662,661,661,662,663,664,666,665,665,666,667,668,670,669,669,670,671,672,674,673,673,674,675,676,678,677,677,678,679,680,682,681,681,682,683,684,686,685,685,686,687,688,690,689,689,690,691,692,694,693,693,694,695,696,698,697,697,698,699,700,702,701,701,702,703,704,706,705,705,706, +707,708,710,709,709,710,711,712,714,713,713,714,715,716,718,717,717,718,719,720,722,721,721,722,723,724,726,725,725,726,727,728,730,729,729,730,731,732,734,733,733,734,735,736,738,737,737,738,739,740,742,741,741,742,743,744,746,745,745,746,747,748,750,749,749,750,751,752,754,753,753,754,755,756,758,757,757,758,759,760,762,761,761,762,763,764,766,765,765,766,767,768,770,769,769,770,771,772,774,773,773,774,775,776,778,777,777,778,779,780,782,781,781,782,783,784,786,785,785,786,787,788,790,789,789,790,791,792,794,793,793,794,795,796,798,797,797,798,799,800,802,801,801,802,803,804,806,805,805,806,807,808,810,809,809,810,811,812,814,813,813,814,815,816,818,817,817,818,819,820,822,821,821,822,823,824,826,825,825,826,827,828,830,829,829,830,831,832,834,833,833,834,835,836,838,837,837,838,839,840,842,841,841,842,843,844,846,845,845,846,847,848,850,849,849,850,851,852,854,853,853,854,855,856,858,857,857,858,859,860,862,861,861,862,863,864,866,865,865,866,867,868,870,869,869,870,871,872,874,873,873,874,875,876,878,877,877,878,879,880,882,881,881,882,883,884,886,885,885,886,887,888,890,889,889,890,891,892,894,893,893,894,895,896,898,897,897,898,899,900,902,901,901,902,903,904,906,905,905,906,907,908,910,909,909,910,911,912,914,913,913,914,915,916,918,917,917,918,919,920,922,921,921,922,923,924,926,925,925,926,927,928,930,929,929,930,931,932,934,933,933,934,935,936,938,937,937,938,939,940,942,941,941,942,943,944,946,945,945,946,947,948,950,949,949,950,951,952,954,953,953,954,955,956,958,957,957,958,959,960,962,961,961,962,963,964,966,965,965,966,967,968,970,969,969,970,971,972,974,973,973,974,975,976,978,977,977,978,979,980,982,981,981,982,983,984,986,985,985,986,987,988,990,989,989,990,991,992,994,993,993,994,995,996,998,997,997,998,999,1000,1002,1001,1001,1002,1003,1004,1006,1005,1005,1006,1007,1008,1010,1009,1009,1010,1011,1012,1014,1013,1013,1014,1015,1016,1018,1017,1017,1018,1019,1020,1022,1021,1021,1022,1023,1024,1026,1025,1025,1026,1027,1028,1030,1029,1029,1030,1031,1032,1034,1033,1033,1034,1035,1036,1038,1037,1037,1038, +1039,1040,1042,1041,1041,1042,1043,1044,1046,1045,1045,1046,1047,1048,1050,1049,1049,1050,1051,1052,1054,1053,1053,1054,1055,1056,1058,1057,1057,1058,1059,1060,1062,1061,1061,1062,1063,1064,1066,1065,1065,1066,1067,1068,1070,1069,1069,1070,1071,1072,1074,1073,1073,1074,1075,1076,1078,1077,1077,1078,1079,1080,1082,1081,1081,1082,1083,1084,1086,1085,1085,1086,1087,1088,1090,1089,1089,1090,1091,1092,1094,1093,1093,1094,1095,1096,1098,1097,1097,1098,1099,1100,1102,1101,1101,1102,1103,1104,1106,1105,1105,1106,1107,1108,1110,1109,1109,1110,1111,1112,1114,1113,1113,1114,1115,1116,1118,1117,1117,1118,1119,1120,1122,1121,1121,1122,1123,1124,1126,1125,1125,1126,1127,1128,1130,1129,1129,1130,1131,1132,1134,1133,1133,1134,1135,1136,1138,1137,1137,1138,1139,1140,1142,1141,1141,1142,1143,1144,1146,1145,1145,1146,1147,1148,1150,1149,1149,1150,1151,1152,1154,1153,1153,1154,1155,1156,1158,1157,1157,1158,1159,1160,1162,1161,1161,1162,1163,1164,1166,1165,1165,1166,1167,1168,1170,1169,1169,1170,1171,1172,1174,1173,1173,1174,1175,1176,1178,1177,1177,1178,1179,1180,1182,1181,1181,1182,1183,1184,1186,1185,1185,1186,1187,1188,1190,1189,1189,1190,1191,1192,1194,1193,1193,1194,1195,1196,1198,1197,1197,1198,1199,1200,1202,1201,1201,1202,1203,1204,1206,1205,1205,1206,1207,1208,1210,1209,1209,1210,1211,1212,1214,1213,1213,1214,1215,1216,1218,1217,1217,1218,1219,1220,1222,1221,1221,1222,1223,1224,1226,1225,1225,1226,1227,1228,1230,1229,1229,1230,1231,1232,1234,1233,1233,1234,1235,1236,1238,1237,1237,1238,1239,1240,1242,1241,1241,1242,1243,1244,1246,1245,1245,1246,1247,1248,1250,1249,1249,1250,1251,1252,1254,1253,1253,1254,1255,1256,1258,1257,1257,1258,1259,1260,1262,1261,1261,1262,1263,1264,1266,1265,1265,1266,1267,1268,1270,1269,1269,1270,1271,1272,1274,1273,1273,1274,1275,1276,1278,1277,1277,1278,1279,1280,1282,1281,1281,1282,1283,1284,1286,1285,1285,1286,1287,1288,1290,1289,1289,1290,1291,1292,1294,1293,1293,1294,1295,1296,1298,1297,1297,1298,1299,1300,1302,1301,1301,1302,1303,1304,1306,1305,1305,1306,1307,1308,1310,1309,1309,1310,1311,1312, +1314,1313,1313,1314,1315,1316,1318,1317,1317,1318,1319,1320,1322,1321,1321,1322,1323,1324,1326,1325,1325,1326,1327,1328,1330,1329,1329,1330,1331,1332,1334,1333,1333,1334,1335,1336,1338,1337,1337,1338,1339,1340,1342,1341,1341,1342,1343,1344,1346,1345,1345,1346,1347,1348,1350,1349,1349,1350,1351,1352,1354,1353,1353,1354,1355,1356,1358,1357,1357,1358,1359,1360,1362,1361,1361,1362,1363,1364,1366,1365,1365,1366,1367,1368,1370,1369,1369,1370,1371,1372,1374,1373,1373,1374,1375,1376,1378,1377,1377,1378,1379,1380,1382,1381,1381,1382,1383,1384,1386,1385,1385,1386,1387,1388,1390,1389,1389,1390,1391,1392,1394,1393,1393,1394,1395,1396,1398,1397,1397,1398,1399,1400,1402,1401,1401,1402,1403,1404,1406,1405,1405,1406,1407,1408,1410,1409,1409,1410,1411,1412,1414,1413,1413,1414,1415,1416,1418,1417,1417,1418,1419,1420,1422,1421,1421,1422,1423,1424,1426,1425,1425,1426,1427,1428,1430,1429,1429,1430,1431,1432,1434,1433,1433,1434,1435,1436,1438,1437,1437,1438,1439,1440,1442,1441,1441,1442,1443,1444,1446,1445,1445,1446,1447,1448,1450,1449,1449,1450,1451,1452,1454,1453,1453,1454,1455,1456,1458,1457,1457,1458,1459,1460,1462,1461,1461,1462,1463,1464,1466,1465,1465,1466,1467,1468,1470,1469,1469,1470,1471,1472,1474,1473,1473,1474,1475,1476,1478,1477,1477,1478,1479,1480,1482,1481,1481,1482,1483,1484,1486,1485,1485,1486,1487 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *2976 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-1,0,-1,-1,-2,0,-2,-1,1,-1,0,-2,1,-2,0,1,0,1,1,2,0,2,1,0,-1,1,-1,0,-2,1,-2,-1,-2,0,-2,-1,-3,0,-3,-2,1,-2,0,-3,1,-3,0,2,0,2,1,3,0,3,1,0,-2,1,-2,0,-3,1,-3,-1,-3,0,-3,-1,-4,0,-4,-3,1,-3,0,-4,1,-4,0,3,0,3,1,4,0,4,1,0,-3,1,-3,0,-4,1,-4,-1,-4,0,-4,-1,-5,0,-5,-4,1,-4,0,-5,1,-5,0,4,0,4,1,5,0,5,1,0,-4,1,-4,0,-5,1,-5,-1,-5,0,-5,-1,-6,0,-6,-5,1,-5,0,-6,1,-6,0,5,0,5,1,6,0,6,1,0,-5,1,-5,0,-6,1,-6,-1,-6,0,-6,-1,-7,0,-7,-6,1,-6,0,-7,1,-7,0,6,0,6,1,7,0,7,1,0,-6,1,-6,0,-7,1,-7,-1,-7,0,-7,-1,-8,0,-8,-7,1,-7,0,-8,1,-8,0,7,0,7,1,8,0,8,1,0,-7,1,-7,0,-8,1,-8,-1,-8,0,-8,-1,-9,0,-9,-8,1,-8,0,-9,1,-9,0,8,0,8,1,9,0,9,1,0,-8,1,-8,0,-9,1,-9,-1,-9,0,-9,-1,-10,0,-10,-9,1,-9,0,-10,1,-10,0,9,0,9,1,10,0,10,1,0,-9,1,-9,0,-10,1,-10,-1,0,-1,-1,-2,0,-2,-1,-1,1,-1,0,-2,1,-2,0,1,-2,1,-1,2,-2,2,-1,1,-1,1,0,2,-1,2,0,-1,-1,-1,-2,-2,-1,-2,-2,1,-3,1,-2,2,-3,2,-2,-1,-2,-1,-3,-2,-2,-2,-3,1,-4,1,-3,2,-4,2,-3,-1,-3,-1,-4,-2,-3,-2,-4,1,-5,1,-4,2,-5,2,-4,-1,-4,-1,-5,-2,-4,-2,-5,1,-6,1,-5,2,-6,2,-5,-1,-5,-1,-6,-2,-5,-2,-6,1,-7,1,-6,2,-7,2,-6,-1,-6,-1,-7,-2,-6,-2,-7,1,-8,1,-7,2,-8,2,-7,-1,-7,-1,-8,-2,-7,-2,-8,1,-9,1,-8,2,-9,2,-8,-1,-8,-1,-9,-2,-8,-2,-9,1,-10,1,-9,2,-10,2,-9,-1,-9,-1,-10,-2,-9,-2,-10,1,0,1,1,2,0,2,1,-2,0,-2,-1,-3,0,-3,-1,-2,1,-2,0,-3,1,-3,0,2,-2,2,-1,3,-2,3,-1,2,-1,2,0,3,-1,3,0,-2,-1,-2,-2,-3,-1,-3,-2,2,-3,2,-2,3,-3,3,-2,-2,-2,-2,-3,-3,-2,-3,-3,2,-4,2,-3,3,-4,3,-3,-2,-3,-2,-4,-3,-3,-3,-4,2,-5,2,-4,3,-5,3,-4,-2,-4,-2,-5,-3,-4,-3,-5,2,-6,2,-5,3,-6,3,-5,-2,-5,-2,-6,-3,-5,-3,-6,2,-7,2,-6,3,-7,3,-6,-2,-6,-2,-7,-3,-6,-3,-7,2,-8,2,-7,3,-8,3,-7,-2,-7,-2,-8,-3,-7,-3,-8,2,-9,2,-8,3,-9,3,-8,-2,-8,-2,-9,-3,-8,-3,-9,2,-10,2,-9,3,-10,3,-9,-2,-9,-2,-10,-3,-9,-3,-10,2,0,2,1,3,0,3,1,-3,0,-3,-1,-4,0,-4,-1,-3,1,-3,0,-4,1,-4,0,3,-2,3,-1,4,-2,4,-1,3,-1,3,0,4,-1,4,0,-3,-1,-3,-2,-4,-1,-4,-2,3,-3,3,-2,4,-3,4,-2,-3,-2,-3,-3,-4,-2,-4,-3,3,-4,3,-3,4,-4,4,-3,-3,-3,-3,-4,-4,-3,-4,-4,3,-5,3,-4,4,-5,4,-4,-3,-4,-3,-5,-4,-4,-4,-5,3,-6,3,-5,4,-6,4,-5,-3, +-5,-3,-6,-4,-5,-4,-6,3,-7,3,-6,4,-7,4,-6,-3,-6,-3,-7,-4,-6,-4,-7,3,-8,3,-7,4,-8,4,-7,-3,-7,-3,-8,-4,-7,-4,-8,3,-9,3,-8,4,-9,4,-8,-3,-8,-3,-9,-4,-8,-4,-9,3,-10,3,-9,4,-10,4,-9,-3,-9,-3,-10,-4,-9,-4,-10,3,0,3,1,4,0,4,1,-4,0,-4,-1,-5,0,-5,-1,-4,1,-4,0,-5,1,-5,0,4,-2,4,-1,5,-2,5,-1,4,-1,4,0,5,-1,5,0,-4,-1,-4,-2,-5,-1,-5,-2,4,-3,4,-2,5,-3,5,-2,-4,-2,-4,-3,-5,-2,-5,-3,4,-4,4,-3,5,-4,5,-3,-4,-3,-4,-4,-5,-3,-5,-4,4,-5,4,-4,5,-5,5,-4,-4,-4,-4,-5,-5,-4,-5,-5,4,-6,4,-5,5,-6,5,-5,-4,-5,-4,-6,-5,-5,-5,-6,4,-7,4,-6,5,-7,5,-6,-4,-6,-4,-7,-5,-6,-5,-7,4,-8,4,-7,5,-8,5,-7,-4,-7,-4,-8,-5,-7,-5,-8,4,-9,4,-8,5,-9,5,-8,-4,-8,-4,-9,-5,-8,-5,-9,4,-10,4,-9,5,-10,5,-9,-4,-9,-4,-10,-5,-9,-5,-10,4,0,4,1,5,0,5,1,-5,0,-5,-1,-6,0,-6,-1,-5,1,-5,0,-6,1,-6,0,5,-2,5,-1,6,-2,6,-1,5,-1,5,0,6,-1,6,0,-5,-1,-5,-2,-6,-1,-6,-2,5,-3,5,-2,6,-3,6,-2,-5,-2,-5,-3,-6,-2,-6,-3,5,-4,5,-3,6,-4,6,-3,-5,-3,-5,-4,-6,-3,-6,-4,5,-5,5,-4,6,-5,6,-4,-5,-4,-5,-5,-6,-4,-6,-5,5,-6,5,-5,6,-6,6,-5,-5,-5,-5,-6,-6,-5,-6,-6,5,-7,5,-6,6,-7,6,-6,-5,-6,-5,-7,-6,-6,-6,-7,5,-8,5,-7,6,-8,6,-7,-5,-7,-5,-8,-6,-7,-6,-8,5,-9,5,-8,6,-9,6,-8,-5,-8,-5,-9,-6,-8,-6,-9,5,-10,5,-9,6,-10,6,-9,-5,-9,-5,-10,-6,-9,-6,-10,5,0,5,1,6,0,6,1,-6,0,-6,-1,-7,0,-7,-1,-6,1,-6,0,-7,1,-7,0,6,-2,6,-1,7,-2,7,-1,6,-1,6,0,7,-1,7,0,-6,-1,-6,-2,-7,-1,-7,-2,6,-3,6,-2,7,-3,7,-2,-6,-2,-6,-3,-7,-2,-7,-3,6,-4,6,-3,7,-4,7,-3,-6,-3,-6,-4,-7,-3,-7,-4,6,-5,6,-4,7,-5,7,-4,-6,-4,-6,-5,-7,-4,-7,-5,6,-6,6,-5,7,-6,7,-5,-6,-5,-6,-6,-7,-5,-7,-6,6,-7,6,-6,7,-7,7,-6,-6,-6,-6,-7,-7,-6,-7,-7,6,-8,6,-7,7,-8,7,-7,-6,-7,-6,-8,-7,-7,-7,-8,6,-9,6,-8,7,-9,7,-8,-6,-8,-6,-9,-7,-8,-7,-9,6,-10,6,-9,7,-10,7,-9,-6,-9,-6,-10,-7,-9,-7,-10,6,0,6,1,7,0,7,1,-7,0,-7,-1,-8,0,-8,-1,-7,1,-7,0,-8,1,-8,0,7,-2,7,-1,8,-2,8,-1,7,-1,7,0,8,-1,8,0,-7,-1,-7,-2,-8,-1,-8,-2,7,-3,7,-2,8,-3,8,-2,-7,-2,-7,-3,-8,-2,-8,-3,7,-4,7,-3,8,-4,8,-3,-7,-3,-7,-4,-8,-3,-8,-4,7,-5,7,-4,8,-5,8,-4,-7,-4,-7,-5,-8,-4,-8,-5,7,-6,7,-5,8,-6,8,-5,-7,-5,-7,-6,-8,-5,-8,-6,7,-7,7,-6,8,-7,8,-6,-7,-6,-7,-7,-8,-6,-8,-7,7,-8,7,-7,8,-8,8,-7,-7,-7,-7,-8,-8,-7,-8,-8,7,-9,7,-8,8,-9,8,-8,-7,-8,-7,-9,-8,-8, +-8,-9,7,-10,7,-9,8,-10,8,-9,-7,-9,-7,-10,-8,-9,-8,-10,7,0,7,1,8,0,8,1,-8,0,-8,-1,-9,0,-9,-1,-8,1,-8,0,-9,1,-9,0,8,-2,8,-1,9,-2,9,-1,8,-1,8,0,9,-1,9,0,-8,-1,-8,-2,-9,-1,-9,-2,8,-3,8,-2,9,-3,9,-2,-8,-2,-8,-3,-9,-2,-9,-3,8,-4,8,-3,9,-4,9,-3,-8,-3,-8,-4,-9,-3,-9,-4,8,-5,8,-4,9,-5,9,-4,-8,-4,-8,-5,-9,-4,-9,-5,8,-6,8,-5,9,-6,9,-5,-8,-5,-8,-6,-9,-5,-9,-6,8,-7,8,-6,9,-7,9,-6,-8,-6,-8,-7,-9,-6,-9,-7,8,-8,8,-7,9,-8,9,-7,-8,-7,-8,-8,-9,-7,-9,-8,8,-9,8,-8,9,-9,9,-8,-8,-8,-8,-9,-9,-8,-9,-9,8,-10,8,-9,9,-10,9,-9,-8,-9,-8,-10,-9,-9,-9,-10,8,0,8,1,9,0,9,1,-9,0,-9,-1,-10,0,-10,-1,-9,1,-9,0,-10,1,-10,0,9,-2,9,-1,10,-2,10,-1,9,-1,9,0,10,-1,10,0,-9,-1,-9,-2,-10,-1,-10,-2,9,-3,9,-2,10,-3,10,-2,-9,-2,-9,-3,-10,-2,-10,-3,9,-4,9,-3,10,-4,10,-3,-9,-3,-9,-4,-10,-3,-10,-4,9,-5,9,-4,10,-5,10,-4,-9,-4,-9,-5,-10,-4,-10,-5,9,-6,9,-5,10,-6,10,-5,-9,-5,-9,-6,-10,-5,-10,-6,9,-7,9,-6,10,-7,10,-6,-9,-6,-9,-7,-10,-6,-10,-7,9,-8,9,-7,10,-8,10,-7,-9,-7,-9,-8,-10,-7,-10,-8,9,-9,9,-8,10,-9,10,-8,-9,-8,-9,-9,-10,-8,-10,-9,9,-10,9,-9,10,-10,10,-9,-9,-9,-9,-10,-10,-9,-10,-10,9,0,9,1,10,0,10,1,1,1,0,1,1,2,0,2,10,1,9,1,10,2,9,2,-9,1,-10,1,-9,2,-10,2,0,1,-1,1,0,2,-1,2,0,1,-1,1,0,2,-1,2,9,1,8,1,9,2,8,2,-8,1,-9,1,-8,2,-9,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,2,1,1,1,2,2,1,2,-1,1,-2,1,-1,2,-2,2,1,1,0,1,1,2,0,2,0,1,-1,1,0,2,-1,2,10,1,9,1,10,2,9,2,2,1,1,1,2,2,1,2,1,1,0,1,1,2,0,2,-1,1,-2,1,-1,2,-2,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,9,1,8,1,9,2,8,2,-8,1,-9,1,-8,2,-9,2,10,1,9,1,10,2,9,2,-9,1,-10,1,-9,2,-10,2,-9,1,-10,1,-9,2,-10,2,1,2,0,2,1,3,0,3,10,2,9,2,10,3,9,3,-9,2,-10,2,-9,3,-10,3,0,2,-1,2,0,3,-1,3,0,2,-1,2,0,3,-1,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,7,2,6,2,7,3,6,3,-6,2, +-7,2,-6,3,-7,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,2,2,1,2,2,3,1,3,-1,2,-2,2,-1,3,-2,3,1,2,0,2,1,3,0,3,0,2,-1,2,0,3,-1,3,10,2,9,2,10,3,9,3,2,2,1,2,2,3,1,3,1,2,0,2,1,3,0,3,-1,2,-2,2,-1,3,-2,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,7,2,6,2,7,3,6,3,-6,2,-7,2,-6,3,-7,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,10,2,9,2,10,3,9,3,-9,2,-10,2,-9,3,-10,3,-9,2,-10,2,-9,3,-10,3,1,3,0,3,1,4,0,4,10,3,9,3,10,4,9,4,-9,3,-10,3,-9,4,-10,4,0,3,-1,3,0,4,-1,4,0,3,-1,3,0,4,-1,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,8,3,7,3,8,4,7,4,-7,3,-8,3,-7,4,-8,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,2,3,1,3,2,4,1,4,-1,3,-2,3,-1,4,-2,4,1,3,0,3,1,4,0,4,0,3,-1,3,0,4,-1,4,10,3,9,3,10,4,9,4,2,3,1,3,2,4,1,4,1,3,0,3,1,4,0,4,-1,3,-2,3,-1,4,-2,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,8,3,7,3,8,4,7,4,-7,3,-8,3,-7,4,-8,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,10,3,9,3,10,4,9,4,-9,3,-10,3,-9,4,-10,4,-9,3,-10,3,-9,4,-10,4 + } + UVIndex: *2232 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431,432,434,433,433,434,435,436,438,437,437,438,439,440,442,441,441,442,443,444,446,445,445,446,447,448,450,449,449,450,451,452,454,453,453,454,455,456,458,457,457,458,459,460,462,461,461,462,463,464,466,465,465,466,467,468,470,469,469,470,471,472,474,473,473,474,475,476,478,477,477,478,479,480,482,481,481,482,483,484,486,485,485,486,487,488,490,489,489,490,491,492,494,493,493,494,495,496,498,497,497,498,499,500,502,501,501,502,503,504,506,505,505,506,507,508,510,509,509,510,511,512,514,513,513,514,515,516,518,517,517,518,519,520,522,521,521,522,523,524,526,525,525,526,527,528,530,529,529,530,531,532,534,533,533,534,535,536,538,537,537,538,539,540,542,541,541,542,543,544,546,545,545,546,547,548,550,549,549,550,551,552,554,553,553,554,555,556,558,557,557,558,559,560,562,561,561,562,563,564,566,565,565,566,567,568,570,569,569,570,571,572,574,573,573,574,575,576,578,577,577,578,579,580,582,581,581,582,583,584,586,585,585,586,587,588,590,589,589,590,591,592,594,593,593,594,595,596,598,597,597,598,599,600,602,601,601,602,603,604,606,605,605,606,607,608,610,609,609,610,611,612,614,613,613,614,615,616,618,617,617,618,619,620,622,621,621,622,623,624,626,625,625,626,627,628,630,629,629,630,631,632,634,633,633,634,635,636,638,637,637,638,639,640,642,641,641,642,643,644,646,645,645,646,647,648,650,649,649,650,651,652,654,653,653,654,655,656,658,657,657,658,659,660,662,661,661,662,663,664,666,665,665,666,667,668,670,669,669,670,671,672,674,673,673,674,675,676,678,677,677,678,679,680,682,681,681,682,683,684,686,685,685,686,687,688,690,689,689,690,691,692,694,693,693,694,695,696,698,697,697,698,699,700,702,701,701,702,703,704,706,705,705,706, +707,708,710,709,709,710,711,712,714,713,713,714,715,716,718,717,717,718,719,720,722,721,721,722,723,724,726,725,725,726,727,728,730,729,729,730,731,732,734,733,733,734,735,736,738,737,737,738,739,740,742,741,741,742,743,744,746,745,745,746,747,748,750,749,749,750,751,752,754,753,753,754,755,756,758,757,757,758,759,760,762,761,761,762,763,764,766,765,765,766,767,768,770,769,769,770,771,772,774,773,773,774,775,776,778,777,777,778,779,780,782,781,781,782,783,784,786,785,785,786,787,788,790,789,789,790,791,792,794,793,793,794,795,796,798,797,797,798,799,800,802,801,801,802,803,804,806,805,805,806,807,808,810,809,809,810,811,812,814,813,813,814,815,816,818,817,817,818,819,820,822,821,821,822,823,824,826,825,825,826,827,828,830,829,829,830,831,832,834,833,833,834,835,836,838,837,837,838,839,840,842,841,841,842,843,844,846,845,845,846,847,848,850,849,849,850,851,852,854,853,853,854,855,856,858,857,857,858,859,860,862,861,861,862,863,864,866,865,865,866,867,868,870,869,869,870,871,872,874,873,873,874,875,876,878,877,877,878,879,880,882,881,881,882,883,884,886,885,885,886,887,888,890,889,889,890,891,892,894,893,893,894,895,896,898,897,897,898,899,900,902,901,901,902,903,904,906,905,905,906,907,908,910,909,909,910,911,912,914,913,913,914,915,916,918,917,917,918,919,920,922,921,921,922,923,924,926,925,925,926,927,928,930,929,929,930,931,932,934,933,933,934,935,936,938,937,937,938,939,940,942,941,941,942,943,944,946,945,945,946,947,948,950,949,949,950,951,952,954,953,953,954,955,956,958,957,957,958,959,960,962,961,961,962,963,964,966,965,965,966,967,968,970,969,969,970,971,972,974,973,973,974,975,976,978,977,977,978,979,980,982,981,981,982,983,984,986,985,985,986,987,988,990,989,989,990,991,992,994,993,993,994,995,996,998,997,997,998,999,1000,1002,1001,1001,1002,1003,1004,1006,1005,1005,1006,1007,1008,1010,1009,1009,1010,1011,1012,1014,1013,1013,1014,1015,1016,1018,1017,1017,1018,1019,1020,1022,1021,1021,1022,1023,1024,1026,1025,1025,1026,1027,1028,1030,1029,1029,1030,1031,1032,1034,1033,1033,1034,1035,1036,1038,1037,1037,1038, +1039,1040,1042,1041,1041,1042,1043,1044,1046,1045,1045,1046,1047,1048,1050,1049,1049,1050,1051,1052,1054,1053,1053,1054,1055,1056,1058,1057,1057,1058,1059,1060,1062,1061,1061,1062,1063,1064,1066,1065,1065,1066,1067,1068,1070,1069,1069,1070,1071,1072,1074,1073,1073,1074,1075,1076,1078,1077,1077,1078,1079,1080,1082,1081,1081,1082,1083,1084,1086,1085,1085,1086,1087,1088,1090,1089,1089,1090,1091,1092,1094,1093,1093,1094,1095,1096,1098,1097,1097,1098,1099,1100,1102,1101,1101,1102,1103,1104,1106,1105,1105,1106,1107,1108,1110,1109,1109,1110,1111,1112,1114,1113,1113,1114,1115,1116,1118,1117,1117,1118,1119,1120,1122,1121,1121,1122,1123,1124,1126,1125,1125,1126,1127,1128,1130,1129,1129,1130,1131,1132,1134,1133,1133,1134,1135,1136,1138,1137,1137,1138,1139,1140,1142,1141,1141,1142,1143,1144,1146,1145,1145,1146,1147,1148,1150,1149,1149,1150,1151,1152,1154,1153,1153,1154,1155,1156,1158,1157,1157,1158,1159,1160,1162,1161,1161,1162,1163,1164,1166,1165,1165,1166,1167,1168,1170,1169,1169,1170,1171,1172,1174,1173,1173,1174,1175,1176,1178,1177,1177,1178,1179,1180,1182,1181,1181,1182,1183,1184,1186,1185,1185,1186,1187,1188,1190,1189,1189,1190,1191,1192,1194,1193,1193,1194,1195,1196,1198,1197,1197,1198,1199,1200,1202,1201,1201,1202,1203,1204,1206,1205,1205,1206,1207,1208,1210,1209,1209,1210,1211,1212,1214,1213,1213,1214,1215,1216,1218,1217,1217,1218,1219,1220,1222,1221,1221,1222,1223,1224,1226,1225,1225,1226,1227,1228,1230,1229,1229,1230,1231,1232,1234,1233,1233,1234,1235,1236,1238,1237,1237,1238,1239,1240,1242,1241,1241,1242,1243,1244,1246,1245,1245,1246,1247,1248,1250,1249,1249,1250,1251,1252,1254,1253,1253,1254,1255,1256,1258,1257,1257,1258,1259,1260,1262,1261,1261,1262,1263,1264,1266,1265,1265,1266,1267,1268,1270,1269,1269,1270,1271,1272,1274,1273,1273,1274,1275,1276,1278,1277,1277,1278,1279,1280,1282,1281,1281,1282,1283,1284,1286,1285,1285,1286,1287,1288,1290,1289,1289,1290,1291,1292,1294,1293,1293,1294,1295,1296,1298,1297,1297,1298,1299,1300,1302,1301,1301,1302,1303,1304,1306,1305,1305,1306,1307,1308,1310,1309,1309,1310,1311,1312, +1314,1313,1313,1314,1315,1316,1318,1317,1317,1318,1319,1320,1322,1321,1321,1322,1323,1324,1326,1325,1325,1326,1327,1328,1330,1329,1329,1330,1331,1332,1334,1333,1333,1334,1335,1336,1338,1337,1337,1338,1339,1340,1342,1341,1341,1342,1343,1344,1346,1345,1345,1346,1347,1348,1350,1349,1349,1350,1351,1352,1354,1353,1353,1354,1355,1356,1358,1357,1357,1358,1359,1360,1362,1361,1361,1362,1363,1364,1366,1365,1365,1366,1367,1368,1370,1369,1369,1370,1371,1372,1374,1373,1373,1374,1375,1376,1378,1377,1377,1378,1379,1380,1382,1381,1381,1382,1383,1384,1386,1385,1385,1386,1387,1388,1390,1389,1389,1390,1391,1392,1394,1393,1393,1394,1395,1396,1398,1397,1397,1398,1399,1400,1402,1401,1401,1402,1403,1404,1406,1405,1405,1406,1407,1408,1410,1409,1409,1410,1411,1412,1414,1413,1413,1414,1415,1416,1418,1417,1417,1418,1419,1420,1422,1421,1421,1422,1423,1424,1426,1425,1425,1426,1427,1428,1430,1429,1429,1430,1431,1432,1434,1433,1433,1434,1435,1436,1438,1437,1437,1438,1439,1440,1442,1441,1441,1442,1443,1444,1446,1445,1445,1446,1447,1448,1450,1449,1449,1450,1451,1452,1454,1453,1453,1454,1455,1456,1458,1457,1457,1458,1459,1460,1462,1461,1461,1462,1463,1464,1466,1465,1465,1466,1467,1468,1470,1469,1469,1470,1471,1472,1474,1473,1473,1474,1475,1476,1478,1477,1477,1478,1479,1480,1482,1481,1481,1482,1483,1484,1486,1485,1485,1486,1487 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "Material" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Model: 1578527120, "Model::ProB_Floor_2Walls_10x10", "Mesh" { + Version: 232 + Properties70: { + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + } + Shading: W + Culling: "CullingOff" + } + Material: 1148838496, "Material::Default_Prototype", "" { + Version: 102 + ShadingModel: "lambert" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",1,1,1 + P: "BumpFactor", "double", "Number", "",0 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",1,1,1 + P: "Opacity", "double", "Number", "",1 + } + } + Video: 1148834096, "Video::DiffuseColor_Texture", "Clip" { + Type: "Clip" + Properties70: { + P: "Path", "KString", "XRefUrl", "", "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + UseMipMap: 0 + Filename: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + Texture: 294700960, "Texture::DiffuseColor_Texture", "" { + Type: "TextureVideoClip" + Version: 202 + TextureName: "Texture::DiffuseColor_Texture" + Media: "Video::DiffuseColor_Texture" + FileName: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + ModelUVTranslation: 0,0 + ModelUVScaling: 1,1 + Texture_Alpha_Source: "None" + Cropping: 0,0,0,0 + } +} + +; Object connections +;------------------------------------------------------------------ + +Connections: { + + ;Model::ProB_Floor_2Walls_10x10, Model::RootNode + C: "OO",1578527120,0 + + ;Material::Default_Prototype, Model::ProB_Floor_2Walls_10x10 + C: "OO",1148838496,1578527120 + + ;Material::Default_Prototype, Model::ProB_Floor_2Walls_10x10 + C: "OO",1148838496,1578527120 + + ;Geometry::Scene, Model::ProB_Floor_2Walls_10x10 + C: "OO",1143714096,1578527120 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OO",294700960,1148838496 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OP",294700960,1148838496, "DiffuseColor" + + ;Video::DiffuseColor_Texture, Texture::DiffuseColor_Texture + C: "OO",1148834096,294700960 +} +;Takes section +;---------------------------------------------------- + +Takes: { + Current: "" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_2Walls_10x10.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_2Walls_10x10.fbx.meta new file mode 100644 index 00000000..7f940d61 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_2Walls_10x10.fbx.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: d0a29522a2fadfb4f8ca407cd2e8e1ca +timeCreated: 1508433934 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: Default_Prototype + 2300000: //RootNode + 3300000: //RootNode + 4300000: ProB_Floor_2Walls_10x10 + externalObjects: {} + materials: + importMaterials: 1 + materialName: 1 + materialSearch: 2 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_LWall_10x10.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_LWall_10x10.fbx new file mode 100644 index 00000000..2e7c3044 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_LWall_10x10.fbx @@ -0,0 +1,694 @@ +; FBX 7.4.0 project file +; Copyright (C) 1997-2015 Autodesk Inc. and/or its licensors. +; All rights reserved. +; ---------------------------------------------------- + +FBXHeaderExtension: { + FBXHeaderVersion: 1003 + FBXVersion: 7400 + CreationTimeStamp: { + Version: 1000 + Year: 2017 + Month: 10 + Day: 19 + Hour: 13 + Minute: 22 + Second: 41 + Millisecond: 456 + } + Creator: "FBX SDK/FBX Plugins version 2017.1" + SceneInfo: "SceneInfo::GlobalInfo", "UserData" { + Type: "UserData" + Version: 100 + MetaData: { + Version: 100 + Title: "exports static meshes with materials and textures" + Subject: "" + Author: "Unity Technologies" + Keywords: "export mesh materials textures uvs" + Revision: "1.0" + Comment: "" + } + Properties70: { + P: "DocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp7a3b1e5c.tmp" + P: "SrcDocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp7a3b1e5c.tmp" + P: "Original", "Compound", "", "" + P: "Original|ApplicationVendor", "KString", "", "", "" + P: "Original|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "Original|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "Original|DateTime_GMT", "DateTime", "", "", "" + P: "Original|FileName", "KString", "", "", "" + P: "LastSaved", "Compound", "", "" + P: "LastSaved|ApplicationVendor", "KString", "", "", "" + P: "LastSaved|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "LastSaved|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "LastSaved|DateTime_GMT", "DateTime", "", "", "" + } + } +} +GlobalSettings: { + Version: 1000 + Properties70: { + P: "UpAxis", "int", "Integer", "",1 + P: "UpAxisSign", "int", "Integer", "",1 + P: "FrontAxis", "int", "Integer", "",2 + P: "FrontAxisSign", "int", "Integer", "",1 + P: "CoordAxis", "int", "Integer", "",0 + P: "CoordAxisSign", "int", "Integer", "",1 + P: "OriginalUpAxis", "int", "Integer", "",-1 + P: "OriginalUpAxisSign", "int", "Integer", "",1 + P: "UnitScaleFactor", "double", "Number", "",1 + P: "OriginalUnitScaleFactor", "double", "Number", "",1 + P: "AmbientColor", "ColorRGB", "Color", "",0,0,0 + P: "DefaultCamera", "KString", "", "", "Producer Perspective" + P: "TimeMode", "enum", "", "",0 + P: "TimeProtocol", "enum", "", "",2 + P: "SnapOnFrameMode", "enum", "", "",0 + P: "TimeSpanStart", "KTime", "Time", "",0 + P: "TimeSpanStop", "KTime", "Time", "",46186158000 + P: "CustomFrameRate", "double", "Number", "",-1 + P: "TimeMarker", "Compound", "", "" + P: "CurrentTimeMarker", "int", "Integer", "",-1 + } +} + +; Documents Description +;------------------------------------------------------------------ + +Documents: { + Count: 1 + Document: 1147068480, "Scene", "Scene" { + Properties70: { + P: "SourceObject", "object", "", "" + P: "ActiveAnimStackName", "KString", "", "", "" + } + RootNode: 0 + } +} + +; Document References +;------------------------------------------------------------------ + +References: { +} + +; Object definitions +;------------------------------------------------------------------ + +Definitions: { + Version: 100 + Count: 7 + ObjectType: "GlobalSettings" { + Count: 1 + } + ObjectType: "Model" { + Count: 1 + PropertyTemplate: "FbxNode" { + Properties70: { + P: "QuaternionInterpolate", "enum", "", "",0 + P: "RotationOffset", "Vector3D", "Vector", "",0,0,0 + P: "RotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0 + P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "TranslationActive", "bool", "", "",0 + P: "TranslationMin", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMax", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMinX", "bool", "", "",0 + P: "TranslationMinY", "bool", "", "",0 + P: "TranslationMinZ", "bool", "", "",0 + P: "TranslationMaxX", "bool", "", "",0 + P: "TranslationMaxY", "bool", "", "",0 + P: "TranslationMaxZ", "bool", "", "",0 + P: "RotationOrder", "enum", "", "",0 + P: "RotationSpaceForLimitOnly", "bool", "", "",0 + P: "RotationStiffnessX", "double", "Number", "",0 + P: "RotationStiffnessY", "double", "Number", "",0 + P: "RotationStiffnessZ", "double", "Number", "",0 + P: "AxisLen", "double", "Number", "",10 + P: "PreRotation", "Vector3D", "Vector", "",0,0,0 + P: "PostRotation", "Vector3D", "Vector", "",0,0,0 + P: "RotationActive", "bool", "", "",0 + P: "RotationMin", "Vector3D", "Vector", "",0,0,0 + P: "RotationMax", "Vector3D", "Vector", "",0,0,0 + P: "RotationMinX", "bool", "", "",0 + P: "RotationMinY", "bool", "", "",0 + P: "RotationMinZ", "bool", "", "",0 + P: "RotationMaxX", "bool", "", "",0 + P: "RotationMaxY", "bool", "", "",0 + P: "RotationMaxZ", "bool", "", "",0 + P: "InheritType", "enum", "", "",0 + P: "ScalingActive", "bool", "", "",0 + P: "ScalingMin", "Vector3D", "Vector", "",0,0,0 + P: "ScalingMax", "Vector3D", "Vector", "",1,1,1 + P: "ScalingMinX", "bool", "", "",0 + P: "ScalingMinY", "bool", "", "",0 + P: "ScalingMinZ", "bool", "", "",0 + P: "ScalingMaxX", "bool", "", "",0 + P: "ScalingMaxY", "bool", "", "",0 + P: "ScalingMaxZ", "bool", "", "",0 + P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1 + P: "MinDampRangeX", "double", "Number", "",0 + P: "MinDampRangeY", "double", "Number", "",0 + P: "MinDampRangeZ", "double", "Number", "",0 + P: "MaxDampRangeX", "double", "Number", "",0 + P: "MaxDampRangeY", "double", "Number", "",0 + P: "MaxDampRangeZ", "double", "Number", "",0 + P: "MinDampStrengthX", "double", "Number", "",0 + P: "MinDampStrengthY", "double", "Number", "",0 + P: "MinDampStrengthZ", "double", "Number", "",0 + P: "MaxDampStrengthX", "double", "Number", "",0 + P: "MaxDampStrengthY", "double", "Number", "",0 + P: "MaxDampStrengthZ", "double", "Number", "",0 + P: "PreferedAngleX", "double", "Number", "",0 + P: "PreferedAngleY", "double", "Number", "",0 + P: "PreferedAngleZ", "double", "Number", "",0 + P: "LookAtProperty", "object", "", "" + P: "UpVectorProperty", "object", "", "" + P: "Show", "bool", "", "",1 + P: "NegativePercentShapeSupport", "bool", "", "",1 + P: "DefaultAttributeIndex", "int", "Integer", "",-1 + P: "Freeze", "bool", "", "",0 + P: "LODBox", "bool", "", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0 + P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1 + P: "Visibility", "Visibility", "", "A",1 + P: "Visibility Inheritance", "Visibility Inheritance", "", "",1 + } + } + } + ObjectType: "Geometry" { + Count: 2 + PropertyTemplate: "FbxMesh" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BBoxMin", "Vector3D", "Vector", "",0,0,0 + P: "BBoxMax", "Vector3D", "Vector", "",0,0,0 + P: "Primary Visibility", "bool", "", "",1 + P: "Casts Shadows", "bool", "", "",1 + P: "Receive Shadows", "bool", "", "",1 + } + } + } + ObjectType: "Material" { + Count: 1 + PropertyTemplate: "FbxSurfaceLambert" { + Properties70: { + P: "ShadingModel", "KString", "", "", "Lambert" + P: "MultiLayer", "bool", "", "",0 + P: "EmissiveColor", "Color", "", "A",0,0,0 + P: "EmissiveFactor", "Number", "", "A",1 + P: "AmbientColor", "Color", "", "A",0.2,0.2,0.2 + P: "AmbientFactor", "Number", "", "A",1 + P: "DiffuseColor", "Color", "", "A",0.8,0.8,0.8 + P: "DiffuseFactor", "Number", "", "A",1 + P: "Bump", "Vector3D", "Vector", "",0,0,0 + P: "NormalMap", "Vector3D", "Vector", "",0,0,0 + P: "BumpFactor", "double", "Number", "",1 + P: "TransparentColor", "Color", "", "A",0,0,0 + P: "TransparencyFactor", "Number", "", "A",0 + P: "DisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "DisplacementFactor", "double", "Number", "",1 + P: "VectorDisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "VectorDisplacementFactor", "double", "Number", "",1 + } + } + } + ObjectType: "Texture" { + Count: 1 + PropertyTemplate: "FbxFileTexture" { + Properties70: { + P: "TextureTypeUse", "enum", "", "",0 + P: "Texture alpha", "Number", "", "A",1 + P: "CurrentMappingType", "enum", "", "",0 + P: "WrapModeU", "enum", "", "",0 + P: "WrapModeV", "enum", "", "",0 + P: "UVSwap", "bool", "", "",0 + P: "PremultiplyAlpha", "bool", "", "",1 + P: "Translation", "Vector", "", "A",0,0,0 + P: "Rotation", "Vector", "", "A",0,0,0 + P: "Scaling", "Vector", "", "A",1,1,1 + P: "TextureRotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "TextureScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "CurrentTextureBlendMode", "enum", "", "",1 + P: "UVSet", "KString", "", "", "default" + P: "UseMaterial", "bool", "", "",0 + P: "UseMipMap", "bool", "", "",0 + } + } + } + ObjectType: "Video" { + Count: 1 + PropertyTemplate: "FbxVideo" { + Properties70: { + P: "ImageSequence", "bool", "", "",0 + P: "ImageSequenceOffset", "int", "Integer", "",0 + P: "FrameRate", "double", "Number", "",0 + P: "LastFrame", "int", "Integer", "",0 + P: "Width", "int", "Integer", "",0 + P: "Height", "int", "Integer", "",0 + P: "Path", "KString", "XRefUrl", "", "" + P: "StartFrame", "int", "Integer", "",0 + P: "StopFrame", "int", "Integer", "",0 + P: "PlaySpeed", "double", "Number", "",0 + P: "Offset", "KTime", "Time", "",0 + P: "InterlaceMode", "enum", "", "",0 + P: "FreeRunning", "bool", "", "",0 + P: "Loop", "bool", "", "",0 + P: "AccessMode", "enum", "", "",0 + } + } + } +} + +; Object properties +;------------------------------------------------------------------ + +Objects: { + Geometry: 1143691056, "Geometry::Scene", "Mesh" { + Vertices: *1086 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-100,100,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-100,100,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-100,100,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-100,100,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-100,100,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-100,100,-900,-1000,100,-1000,-1000,0,-1000,-0,400,-900,-100,400,-900,-0,400,-1000,-100,400,-1000,-200,0,0,-200,0,-100,-200,100,0,-200,100,-200,-200,100,-100,-200,0,-200,-200,100,-300,-200,0,-300,-200,100,-400,-200,0,-400,-200,100,-500,-200,0,-500,-200,100,-600,-200,0,-600,-200,100,-700,-200,0,-700,-200,100,-800,-200,0,-800,-200,100,-900,-200,0,-900,-200,400,-1000,-200,400,-900,-200,0,-1000,-200,100,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,400,-1000,-300,400,-900,-300,0,-1000,-300,100,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800,-400,100,-900,-400,0,-900,-400,400,-1000,-400,400,-900,-400,0,-1000,-400,100,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,0,-200,-500,100,-300,-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800, +-500,100,-900,-500,0,-900,-500,400,-1000,-500,400,-900,-500,0,-1000,-500,100,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,0,-200,-600,100,-300,-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,400,-1000,-600,400,-900,-600,0,-1000,-600,100,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,400,-1000,-700,400,-900,-700,0,-1000,-700,100,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,400,-1000,-800,400,-900,-800,0,-1000,-800,100,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,400,-1000,-900,400,-900,-900,0,-1000,-900,100,-1000,-900,400,-200,-900,400,-100,-1000,400,-200,-1000,400,-100,-900,400,0,-1000,400,0,-900,400,-300,-1000,400,-300,-900,400,-400,-1000,400,-400,-900,400,-500,-1000,400,-500,-900,400,-600,-1000,400,-600,-900,400,-700,-1000,400,-700,-900,400,-800,-1000,400,-800,-1000,400,-900,-1000,400,-1000,-900,200,-100,-900,200,0,-1000,200,-100,-1000,200,-200,-1000,200,0,-900,200,-200,-1000,200,-300,-900,200,-300,-1000,200,-400,-900,200,-400,-1000,200,-500,-900,200,-500,-1000,200,-600,-900,200,-600,-1000,200,-700,-900,200,-700,-1000,200,-800,-900,200,-800,-1000,200,-900,-900,200,-900,-1000,200,-1000,-100,200,-1000,-0,200,-1000,-900,200,-1000,-0,200,-900,-100,200,-900,-800,200,-1000,-800,200,-900,-700,200,-1000,-700,200,-900,-600,200,-1000, +-600,200,-900,-500,200,-1000,-500,200,-900,-400,200,-1000,-400,200,-900,-300,200,-1000,-300,200,-900,-200,200,-1000,-200,200,-900,-900,300,-100,-900,300,0,-1000,300,-100,-1000,300,-200,-1000,300,0,-900,300,-200,-1000,300,-300,-900,300,-300,-1000,300,-400,-900,300,-400,-1000,300,-500,-900,300,-500,-1000,300,-600,-900,300,-600,-1000,300,-700,-900,300,-700,-1000,300,-800,-900,300,-800,-1000,300,-900,-900,300,-900,-1000,300,-1000,-100,300,-1000,-0,300,-1000,-900,300,-1000,-0,300,-900,-100,300,-900,-800,300,-1000,-800,300,-900,-700,300,-1000,-700,300,-900,-600,300,-1000,-600,300,-900,-500,300,-1000,-500,300,-900,-400,300,-1000,-400,300,-900,-300,300,-1000,-300,300,-900,-200,300,-1000,-200,300,-900 + } + PolygonVertexIndex: *2160 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,28,-24,23,28,-30,24,30,-26,25,30,-32,23,29,-27,26,29,-33,26,32,-28,27,32,-34,28,34,-30,29,34,-36,30,36,-32,31,36,-38,29,35,-33,32,35,-39,32,38,-34,33,38,-40,34,40,-36,35,40,-42,36,42,-38,37,42,-44,35,41,-39,38,41,-45,38,44,-40,39,44,-46,40,46,-42,41,46,-48,42,48,-44,43,48,-50,41,47,-45,44,47,-51,44,50,-46,45,50,-52,46,52,-48,47,52,-54,48,54,-50,49,54,-56,47,53,-51,50,53,-57,50,56,-52,51,56,-58,52,58,-54,53,58,-60,54,60,-56,55,60,-62,53,59,-57,56,59,-63,56,62,-58,57,62,-64,58,8,-60,59,8,-10,60,64,-62,61,64,-66,59,9,-63,62,9,-12,66,68,-68,67,68,-70,1,70,-16,15,70,-72,3,72,-2,1,72,-71,21,73,-15,14,73,-75,14,74,-4,3,74,-73,15,71,-17,16,71,-76,27,76,-22,21,76,-74,16,75,-23,22,75,-78,33,78,-28,27,78,-77,22,77,-29,28,77,-80,39,80,-34,33,80,-79,28,79,-35,34,79,-82,45,82,-40,39,82,-81,34,81,-41,40,81,-84,51,84,-46,45,84,-83,40,83,-47,46,83,-86,57,86,-52,51,86,-85,46,85,-53,52,85,-88,63,88,-58,57,88,-87,52,87,-59,58,87,-90,69,90,-68,67,90,-92,58,89,-9,8,89,-93,8,92,-11,10,92,-94,70,94,-72,71,94,-96,72,96,-71,70,96,-95,73,97,-75,74,97,-99,74,98,-73,72,98,-97,71,95,-76,75,95,-100,76,100,-74,73,100,-98,75,99,-78,77,99,-102,78,102,-77,76,102,-101,77,101,-80,79,101,-104,80,104,-79,78,104,-103,79,103,-82,81,103,-106,82,106,-81,80,106,-105,81,105,-84,83,105,-108,84,108,-83,82,108,-107,83,107,-86,85,107,-110,86,110,-85,84,110,-109,85,109,-88,87,109,-112,88,112,-87,86,112,-111,87,111,-90,89,111,-114,90,114,-92,91,114,-116,89,113,-93,92,113,-117,92,116,-94,93,116,-118,94,118,-96,95,118,-120,96,120,-95,94,120,-119,97,121,-99,98,121,-123,98,122,-97,96,122,-121,95,119,-100,99,119,-124,100,124,-98,97,124,-122,99,123,-102,101,123,-126,102,126,-101,100,126,-125,101,125,-104,103,125,-128,104,128,-103,102,128,-127,103,127,-106,105,127,-130,106,130,-105,104,130,-129,105,129, +-108,107,129,-132,108,132,-107,106,132,-131,107,131,-110,109,131,-134,110,134,-109,108,134,-133,109,133,-112,111,133,-136,112,136,-111,110,136,-135,111,135,-114,113,135,-138,114,138,-116,115,138,-140,113,137,-117,116,137,-141,116,140,-118,117,140,-142,118,142,-120,119,142,-144,120,144,-119,118,144,-143,121,145,-123,122,145,-147,122,146,-121,120,146,-145,119,143,-124,123,143,-148,124,148,-122,121,148,-146,123,147,-126,125,147,-150,126,150,-125,124,150,-149,125,149,-128,127,149,-152,128,152,-127,126,152,-151,127,151,-130,129,151,-154,130,154,-129,128,154,-153,129,153,-132,131,153,-156,132,156,-131,130,156,-155,131,155,-134,133,155,-158,134,158,-133,132,158,-157,133,157,-136,135,157,-160,136,160,-135,134,160,-159,135,159,-138,137,159,-162,138,162,-140,139,162,-164,137,161,-141,140,161,-165,140,164,-142,141,164,-166,142,166,-144,143,166,-168,144,168,-143,142,168,-167,145,169,-147,146,169,-171,146,170,-145,144,170,-169,143,167,-148,147,167,-172,148,172,-146,145,172,-170,147,171,-150,149,171,-174,150,174,-149,148,174,-173,149,173,-152,151,173,-176,152,176,-151,150,176,-175,151,175,-154,153,175,-178,154,178,-153,152,178,-177,153,177,-156,155,177,-180,156,180,-155,154,180,-179,155,179,-158,157,179,-182,158,182,-157,156,182,-181,157,181,-160,159,181,-184,160,184,-159,158,184,-183,159,183,-162,161,183,-186,162,186,-164,163,186,-188,161,185,-165,164,185,-189,164,188,-166,165,188,-190,166,190,-168,167,190,-192,168,192,-167,166,192,-191,169,193,-171,170,193,-195,170,194,-169,168,194,-193,167,191,-172,171,191,-196,172,196,-170,169,196,-194,171,195,-174,173,195,-198,174,198,-173,172,198,-197,173,197,-176,175,197,-200,176,200,-175,174,200,-199,175,199,-178,177,199,-202,178,202,-177,176,202,-201,177,201,-180,179,201,-204,180,204,-179,178,204,-203,179,203,-182,181,203,-206,182,206,-181,180,206,-205,181,205,-184,183,205,-208,184,208,-183,182,208,-207,183,207,-186,185,207,-210,186,210,-188,187,210,-212,185,209,-189,188,209,-213,188,212,-190,189,212,-214,190,214,-192,191,214,-216,192,216,-191,190,216,-215,193,217,-195,194,217,-219,194, +218,-193,192,218,-217,191,215,-196,195,215,-220,196,220,-194,193,220,-218,195,219,-198,197,219,-222,198,222,-197,196,222,-221,197,221,-200,199,221,-224,200,224,-199,198,224,-223,199,223,-202,201,223,-226,202,226,-201,200,226,-225,201,225,-204,203,225,-228,204,228,-203,202,228,-227,203,227,-206,205,227,-230,206,230,-205,204,230,-229,205,229,-208,207,229,-232,208,232,-207,206,232,-231,207,231,-210,209,231,-234,210,234,-212,211,234,-236,209,233,-213,212,233,-237,212,236,-214,213,236,-238,214,238,-216,215,238,-240,216,240,-215,214,240,-239,217,241,-219,218,241,-243,218,242,-217,216,242,-241,215,239,-220,219,239,-244,220,244,-218,217,244,-242,219,243,-222,221,243,-246,222,246,-221,220,246,-245,221,245,-224,223,245,-248,224,248,-223,222,248,-247,223,247,-226,225,247,-250,226,250,-225,224,250,-249,225,249,-228,227,249,-252,228,252,-227,226,252,-251,227,251,-230,229,251,-254,230,254,-229,228,254,-253,229,253,-232,231,253,-256,232,256,-231,230,256,-255,231,255,-234,233,255,-258,234,258,-236,235,258,-260,233,257,-237,236,257,-261,236,260,-238,237,260,-262,238,4,-240,239,4,-6,240,6,-239,238,6,-5,262,264,-264,263,264,-266,263,265,-267,266,265,-268,239,5,-244,243,5,-20,268,269,-263,262,269,-265,243,19,-246,245,19,-26,270,271,-269,268,271,-270,245,25,-248,247,25,-32,272,273,-271,270,273,-272,247,31,-250,249,31,-38,274,275,-273,272,275,-274,249,37,-252,251,37,-44,276,277,-275,274,277,-276,251,43,-254,253,43,-50,278,279,-277,276,279,-278,253,49,-256,255,49,-56,259,280,-279,278,280,-280,255,55,-258,257,55,-62,258,281,-260,259,281,-281,257,61,-261,260,61,-66,260,65,-262,261,65,-65,242,282,-241,240,282,-284,7,284,-19,18,284,-286,240,283,-7,6,283,-287,6,286,-8,7,286,-285,241,287,-243,242,287,-283,18,285,-25,24,285,-289,244,289,-242,241,289,-288,24,288,-31,30,288,-291,246,291,-245,244,291,-290,30,290,-37,36,290,-293,248,293,-247,246,293,-292,36,292,-43,42,292,-295,250,295,-249,248,295,-294,42,294,-49,48,294,-297,252,297,-251,250,297,-296,48,296,-55,54,296,-299,254,299,-253,252,299,-298,54,298,-61,60,298,-301,256,301,-255,254,301,-300, +60,300,-65,64,300,-303,10,303,-12,11,303,-305,64,302,-262,261,302,-306,62,306,-64,63,306,-308,261,305,-238,237,305,-309,232,309,-257,256,309,-302,237,308,-214,213,308,-311,208,311,-233,232,311,-310,213,310,-190,189,310,-313,184,313,-209,208,313,-312,189,312,-166,165,312,-315,160,315,-185,184,315,-314,165,314,-142,141,314,-317,136,317,-161,160,317,-316,141,316,-118,117,316,-319,112,319,-137,136,319,-318,117,318,-94,93,318,-321,88,321,-113,112,321,-320,93,320,-11,10,320,-304,63,307,-89,88,307,-322,11,304,-63,62,304,-307,282,322,-284,283,322,-324,284,324,-286,285,324,-326,283,323,-287,286,323,-327,286,326,-285,284,326,-325,287,327,-283,282,327,-323,285,325,-289,288,325,-329,289,329,-288,287,329,-328,288,328,-291,290,328,-331,291,331,-290,289,331,-330,290,330,-293,292,330,-333,293,333,-292,291,333,-332,292,332,-295,294,332,-335,295,335,-294,293,335,-334,294,334,-297,296,334,-337,297,337,-296,295,337,-336,296,336,-299,298,336,-339,299,339,-298,297,339,-338,298,338,-301,300,338,-341,301,341,-300,299,341,-340,300,340,-303,302,340,-343,303,343,-305,304,343,-345,302,342,-306,305,342,-346,306,346,-308,307,346,-348,305,345,-309,308,345,-349,309,349,-302,301,349,-342,308,348,-311,310,348,-351,311,351,-310,309,351,-350,310,350,-313,312,350,-353,313,353,-312,311,353,-352,312,352,-315,314,352,-355,315,355,-314,313,355,-354,314,354,-317,316,354,-357,317,357,-316,315,357,-356,316,356,-319,318,356,-359,319,359,-318,317,359,-358,318,358,-321,320,358,-361,321,361,-320,319,361,-360,320,360,-304,303,360,-344,307,347,-322,321,347,-362,304,344,-307,306,344,-347,322,263,-324,323,263,-267,324,265,-326,325,265,-265,323,266,-327,326,266,-268,326,267,-325,324,267,-266,327,262,-323,322,262,-264,325,264,-329,328,264,-270,329,268,-328,327,268,-263,328,269,-331,330,269,-272,331,270,-330,329,270,-269,330,271,-333,332,271,-274,333,272,-332,331,272,-271,332,273,-335,334,273,-276,335,274,-334,333,274,-273,334,275,-337,336,275,-278,337,276,-336,335,276,-275,336,277,-339,338,277,-280,339,278,-338,337,278,-277,338,279,-341,340,279,-281,341,259,-340,339, +259,-279,340,280,-343,342,280,-282,343,69,-345,344,69,-69,342,281,-346,345,281,-259,346,66,-348,347,66,-68,345,258,-349,348,258,-235,349,235,-342,341,235,-260,348,234,-351,350,234,-211,351,211,-350,349,211,-236,350,210,-353,352,210,-187,353,187,-352,351,187,-212,352,186,-355,354,186,-163,355,163,-354,353,163,-188,354,162,-357,356,162,-139,357,139,-356,355,139,-164,356,138,-359,358,138,-115,359,115,-358,357,115,-140,358,114,-361,360,114,-91,361,91,-360,359,91,-116,360,90,-344,343,90,-70,347,67,-362,361,67,-92,344,68,-347,346,68,-67 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *6480 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0 + } + NormalsW: *2160 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *6480 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0 + } + BinormalsW: *2160 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *6480 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1, +-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + TangentsW: *2160 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *2028 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *2160 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,94,96,95,95,96,97,23,98,21,21,98,99,3,100,1,1,100,101,31,102,19,19,102,103,19,103,17,17,103,104,21,99,24,24,99,105,39,106,31,31,106,102,24,105,32,32,105,107,47,108,39,39,108,106,32,107,40,40,107,109,55,110,47,47,110,108,40,109,48,48,109,111,63,112,55,55,112,110,48,111,56,56,111,113,71,114,63,63,114,112,56,113,64,64,113,115,79,116,71,71,116,114,64,115,72,72,115,117,87,118,79,79,118,116,72,117,80,80,117,119,97,120,95,95,120,121,80,119,88,88,119,122,8,123,10,10,123,124,98,125,99,99,125,126,100,127,101,101,127,128,102,129,103,103,129,130,103,130,104,104,130,131,99,126,105,105,126,132,106,133,102,102,133,129,105,132,107,107,132,134,108,135,106,106,135,133,107,134,109,109,134,136,110,137,108,108,137,135,109,136,111,111,136,138,112,139,110,110,139,137,111,138,113,113,138,140,114,141,112,112,141,139,113,140,115,115,140,142,116,143,114,114,143,141,115,142,117,117,142,144,118,145,116,116,145,143,117,144,119,119,144,146,120,147,121,121,147,148,119,146,122,122,146,149,123,150,124,124,150,151,125,152,126,126,152,153,127,154,128,128,154,155,129,156,130,130,156,157,130,157,131,131,157,158,126,153,132,132,153,159,133,160,129,129,160,156,132,159,134,134,159,161,135,162,133,133,162,160,134,161,136,136,161,163,137,164,135,135,164,162,136,163,138,138,163,165,139,166,137,137,166,164,138,165,140,140,165,167, +141,168,139,139,168,166,140,167,142,142,167,169,143,170,141,141,170,168,142,169,144,144,169,171,145,172,143,143,172,170,144,171,146,146,171,173,147,174,148,148,174,175,146,173,149,149,173,176,150,177,151,151,177,178,152,179,153,153,179,180,154,181,155,155,181,182,156,183,157,157,183,184,157,184,158,158,184,185,153,180,159,159,180,186,160,187,156,156,187,183,159,186,161,161,186,188,162,189,160,160,189,187,161,188,163,163,188,190,164,191,162,162,191,189,163,190,165,165,190,192,166,193,164,164,193,191,165,192,167,167,192,194,168,195,166,166,195,193,167,194,169,169,194,196,170,197,168,168,197,195,169,196,171,171,196,198,172,199,170,170,199,197,171,198,173,173,198,200,174,201,175,175,201,202,173,200,176,176,200,203,177,204,178,178,204,205,179,206,180,180,206,207,181,208,182,182,208,209,183,210,184,184,210,211,184,211,185,185,211,212,180,207,186,186,207,213,187,214,183,183,214,210,186,213,188,188,213,215,189,216,187,187,216,214,188,215,190,190,215,217,191,218,189,189,218,216,190,217,192,192,217,219,193,220,191,191,220,218,192,219,194,194,219,221,195,222,193,193,222,220,194,221,196,196,221,223,197,224,195,195,224,222,196,223,198,198,223,225,199,226,197,197,226,224,198,225,200,200,225,227,201,228,202,202,228,229,200,227,203,203,227,230,204,231,205,205,231,232,206,233,207,207,233,234,208,235,209,209,235,236,210,237,211,211,237,238,211,238,212,212,238,239,207,234,213,213,234,240,214,241,210,210,241,237,213,240,215,215,240,242,216,243,214,214,243,241,215,242,217,217,242,244,218,245,216,216,245,243,217,244,219,219,244,246,220,247,218,218,247,245,219,246,221,221,246,248,222,249,220,220,249,247,221,248,223,223,248,250,224,251,222,222,251,249,223,250,225,225,250,252,226,253,224,224,253,251,225,252,227,227,252,254,228,255,229,229,255,256,227,254,230,230,254,257,231,258,232,232,258,259,233,260,234,234,260,261,235,262,236,236,262,263,237,264,238,238,264,265,238,265,239,239,265,266,234,261,240,240,261,267,241,268,237,237,268,264,240,267,242,242,267,269,243,270,241,241,270,268,242,269,244,244,269,271,245,272,243,243,272,270,244,271,246, +246,271,273,247,274,245,245,274,272,246,273,248,248,273,275,249,276,247,247,276,274,248,275,250,250,275,277,251,278,249,249,278,276,250,277,252,252,277,279,253,280,251,251,280,278,252,279,254,254,279,281,255,282,256,256,282,283,254,281,257,257,281,284,258,285,259,259,285,286,260,287,261,261,287,288,262,289,263,263,289,290,264,291,265,265,291,292,265,292,266,266,292,293,261,288,267,267,288,294,268,295,264,264,295,291,267,294,269,269,294,296,270,297,268,268,297,295,269,296,271,271,296,298,272,299,270,270,299,297,271,298,273,273,298,300,274,301,272,272,301,299,273,300,275,275,300,302,276,303,274,274,303,301,275,302,277,277,302,304,278,305,276,276,305,303,277,304,279,279,304,306,280,307,278,278,307,305,279,306,281,281,306,308,282,309,283,283,309,310,281,308,284,284,308,311,285,312,286,286,312,313,287,314,288,288,314,315,289,316,290,290,316,317,318,320,319,319,320,321,319,321,322,322,321,323,288,315,294,294,315,324,325,326,318,318,326,320,294,324,296,296,324,327,328,329,325,325,329,326,296,327,298,298,327,330,331,332,328,328,332,329,298,330,300,300,330,333,334,335,331,331,335,332,300,333,302,302,333,336,337,338,334,334,338,335,302,336,304,304,336,339,340,341,337,337,341,338,304,339,306,306,339,342,310,343,340,340,343,341,306,342,308,308,342,344,309,345,310,310,345,343,308,344,311,311,344,346,312,347,313,313,347,348,349,351,350,350,351,352,7,353,26,26,353,354,289,355,316,316,355,356,6,357,7,7,357,353,358,359,349,349,359,351,26,354,34,34,354,360,361,362,358,358,362,359,34,360,42,42,360,363,364,365,361,361,365,362,42,363,50,50,363,366,367,368,364,364,368,365,50,366,58,58,366,369,370,371,367,367,371,368,58,369,66,66,369,372,373,374,370,370,374,371,66,372,74,74,372,375,376,377,373,373,377,374,74,375,82,82,375,378,379,380,376,376,380,377,82,378,90,90,378,381,10,382,11,11,382,383,348,384,313,313,384,385,386,388,387,387,388,389,313,385,286,286,385,390,391,393,392,392,393,394,286,390,259,259,390,395,396,397,391,391,397,393,259,395,232,232,395,398,399,400,396,396,400,397,232,398,205,205,398,401,402,403,399,399,403,400,205,401,178, +178,401,404,405,406,402,402,406,403,178,404,151,151,404,407,408,409,405,405,409,406,151,407,124,124,407,410,411,412,408,408,412,409,124,410,10,10,410,382,387,389,411,411,389,412,93,413,85,85,413,414,351,415,352,352,415,416,353,417,354,354,417,418,355,419,356,356,419,420,357,421,353,353,421,417,359,422,351,351,422,415,354,418,360,360,418,423,362,424,359,359,424,422,360,423,363,363,423,425,365,426,362,362,426,424,363,425,366,366,425,427,368,428,365,365,428,426,366,427,369,369,427,429,371,430,368,368,430,428,369,429,372,372,429,431,374,432,371,371,432,430,372,431,375,375,431,433,377,434,374,374,434,432,375,433,378,378,433,435,380,436,377,377,436,434,378,435,381,381,435,437,382,438,383,383,438,439,384,440,385,385,440,441,388,442,389,389,442,443,385,441,390,390,441,444,393,445,394,394,445,446,390,444,395,395,444,447,397,448,393,393,448,445,395,447,398,398,447,449,400,450,397,397,450,448,398,449,401,401,449,451,403,452,400,400,452,450,401,451,404,404,451,453,406,454,403,403,454,452,404,453,407,407,453,455,409,456,406,406,456,454,407,455,410,410,455,457,412,458,409,409,458,456,410,457,382,382,457,438,389,443,412,412,443,458,413,459,414,414,459,460,415,461,416,416,461,462,417,463,418,418,463,464,419,465,420,420,465,466,421,467,417,417,467,463,422,468,415,415,468,461,418,464,423,423,464,469,424,470,422,422,470,468,423,469,425,425,469,471,426,472,424,424,472,470,425,471,427,427,471,473,428,474,426,426,474,472,427,473,429,429,473,475,430,476,428,428,476,474,429,475,431,431,475,477,432,478,430,430,478,476,431,477,433,433,477,479,434,480,432,432,480,478,433,479,435,435,479,481,436,482,434,434,482,480,435,481,437,437,481,483,438,484,439,439,484,485,440,486,441,441,486,487,442,488,443,443,488,489,441,487,444,444,487,490,445,491,446,446,491,492,444,490,447,447,490,493,448,494,445,445,494,491,447,493,449,449,493,495,450,496,448,448,496,494,449,495,451,451,495,497,452,498,450,450,498,496,451,497,453,453,497,499,454,500,452,452,500,498,453,499,455,455,499,501,456,502,454,454,502,500,455,501,457,457,501,503,458,504,456,456,504,502,457, +503,438,438,503,484,443,489,458,458,489,504,459,505,460,460,505,506 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *1014 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-2,0,-2,-2,1,-2,0,2,0,2,1,0,-2,1,-2,-1,-3,0,-3,-3,1,-3,0,3,0,3,1,0,-3,1,-3,-1,-4,0,-4,-4,1,-4,0,4,0,4,1,0,-4,1,-4,-1,-5,0,-5,-5,1,-5,0,5,0,5,1,0,-5,1,-5,-1,-6,0,-6,-6,1,-6,0,6,0,6,1,0,-6,1,-6,-1,-7,0,-7,-7,1,-7,0,7,0,7,1,0,-7,1,-7,-1,-8,0,-8,-8,1,-8,0,8,0,8,1,0,-8,1,-8,-1,-9,0,-9,-9,1,-9,0,9,0,9,1,0,-9,1,-9,-1,-10,0,-10,-10,1,-10,0,10,0,10,1,0,-9,1,-9,0,-10,1,-10,-2,0,-2,-1,-2,1,-2,0,2,-2,2,-1,2,0,-2,-2,2,-3,-2,-3,2,-4,-2,-4,2,-5,-2,-5,2,-6,-2,-6,2,-7,-2,-7,2,-8,-2,-8,2,-9,-2,-9,2,-10,2,-9,-2,-10,2,0,2,1,-3,0,-3,-1,-3,1,-3,0,3,-2,3,-1,3,0,-3,-2,3,-3,-3,-3,3,-4,-3,-4,3,-5,-3,-5,3,-6,-3,-6,3,-7,-3,-7,3,-8,-3,-8,3,-9,-3,-9,3,-10,3,-9,-3,-10,3,0,3,1,-4,0,-4,-1,-4,1,-4,0,4,-2,4,-1,4,0,-4,-2,4,-3,-4,-3,4,-4,-4,-4,4,-5,-4,-5,4,-6,-4,-6,4,-7,-4,-7,4,-8,-4,-8,4,-9,-4,-9,4,-10,4,-9,-4,-10,4,0,4,1,-5,0,-5,-1,-5,1,-5,0,5,-2,5,-1,5,0,-5,-2,5,-3,-5,-3,5,-4,-5,-4,5,-5,-5,-5,5,-6,-5,-6,5,-7,-5,-7,5,-8,-5,-8,5,-9,-5,-9,5,-10,5,-9,-5,-10,5,0,5,1,-6,0,-6,-1,-6,1,-6,0,6,-2,6,-1,6,0,-6,-2,6,-3,-6,-3,6,-4,-6,-4,6,-5,-6,-5,6,-6,-6,-6,6,-7,-6,-7,6,-8,-6,-8,6,-9,-6,-9,6,-10,6,-9,-6,-10,6,0,6,1,-7,0,-7,-1,-7,1,-7,0,7,-2,7,-1,7,0,-7,-2,7,-3,-7,-3,7,-4,-7,-4,7,-5,-7,-5,7,-6,-7,-6,7,-7,-7,-7,7,-8,-7,-8,7,-9,-7,-9,7,-10,7,-9,-7,-10,7,0,7,1,-8,0,-8,-1,-8,1,-8,0,8,-2,8,-1,8,0,-8,-2,8,-3,-8,-3,8,-4,-8,-4,8,-5,-8,-5,8,-6,-8,-6,8,-7,-8,-7,8,-8,-8,-8,8,-9,-8,-9,8,-10,8,-9,-8,-10,8,0,8,1,-9,0,-9,-1,-9,1,-9,0,9,-2,9,-1,9,0,-9,-2,9,-3,-9,-3,9,-4,-9,-4,9,-5,-9,-5,9,-6,-9,-6,9,-7,-9,-7,9,-8,-9,-8,9,-9,-9,-9,9,-10,9,-9,-9,-10,9,0,9,1,-10,0,-10,-1,-10,1,-10,0,9,-2,9,-1,10,-2,10,-1,9,0,10,0,-10,-2,9,-3,10,-3,-10,-3,9,-4,10,-4,-10,-4,9,-5,10,-5,-10,-5,9,-6,10,-6,-10,-6,9,-7,10,-7,-10,-7,9,-8,10,-8,-10,-8,10,-9,-10,-9,10,-10,-10,-10,10,0,10,1,1,1,0,1,1,2,0,2,-1,2,-2,2,-9,2,-10,2,0,2,2,1,2,2,-3,2,3,1,3,2,-4,2,4,1,4,2,-5,2,5,1,5,2,-6,2,6,1,6,2,-7,2,7,1,7,2,-8,2,8,1,8,2,-9,2,9,1,9,2,-10,2,1,2,0,2,10,2,9,2,0,1,-1,1,0,2,-1,2,8,2,-8,1, +-9,1,-8,2,-9,2,7,2,-7,1,-7,2,6,2,-6,1,-6,2,5,2,-5,1,-5,2,4,2,-4,1,-4,2,3,2,-3,1,-3,2,2,2,-2,1,-2,2,10,2,9,2,1,3,0,3,-1,3,-2,3,-9,3,-10,3,0,3,2,3,-3,3,3,3,-4,3,4,3,-5,3,5,3,-6,3,6,3,-7,3,7,3,-8,3,8,3,-9,3,9,3,-10,3,1,3,0,3,10,3,9,3,0,3,-1,3,8,3,-8,3,-9,3,7,3,-7,3,6,3,-6,3,5,3,-5,3,4,3,-4,3,3,3,-3,3,2,3,-2,3,10,3,9,3,1,4,0,4,-1,4,-2,4,-9,4,-10,4,0,4,2,4,-3,4,3,4,-4,4,4,4,-5,4,5,4,-6,4,6,4,-7,4,7,4,-8,4,8,4,-9,4,9,4,-10,4,1,4,0,4,10,4,9,4,0,4,-1,4,8,4,-8,4,-9,4,7,4,-7,4,6,4,-6,4,5,4,-5,4,4,4,-4,4,3,4,-3,4,2,4,-2,4,10,4,9,4 + } + UVIndex: *2160 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,94,96,95,95,96,97,23,98,21,21,98,99,3,100,1,1,100,101,31,102,19,19,102,103,19,103,17,17,103,104,21,99,24,24,99,105,39,106,31,31,106,102,24,105,32,32,105,107,47,108,39,39,108,106,32,107,40,40,107,109,55,110,47,47,110,108,40,109,48,48,109,111,63,112,55,55,112,110,48,111,56,56,111,113,71,114,63,63,114,112,56,113,64,64,113,115,79,116,71,71,116,114,64,115,72,72,115,117,87,118,79,79,118,116,72,117,80,80,117,119,97,120,95,95,120,121,80,119,88,88,119,122,8,123,10,10,123,124,98,125,99,99,125,126,100,127,101,101,127,128,102,129,103,103,129,130,103,130,104,104,130,131,99,126,105,105,126,132,106,133,102,102,133,129,105,132,107,107,132,134,108,135,106,106,135,133,107,134,109,109,134,136,110,137,108,108,137,135,109,136,111,111,136,138,112,139,110,110,139,137,111,138,113,113,138,140,114,141,112,112,141,139,113,140,115,115,140,142,116,143,114,114,143,141,115,142,117,117,142,144,118,145,116,116,145,143,117,144,119,119,144,146,120,147,121,121,147,148,119,146,122,122,146,149,123,150,124,124,150,151,125,152,126,126,152,153,127,154,128,128,154,155,129,156,130,130,156,157,130,157,131,131,157,158,126,153,132,132,153,159,133,160,129,129,160,156,132,159,134,134,159,161,135,162,133,133,162,160,134,161,136,136,161,163,137,164,135,135,164,162,136,163,138,138,163,165,139,166,137,137,166,164,138,165,140,140,165,167, +141,168,139,139,168,166,140,167,142,142,167,169,143,170,141,141,170,168,142,169,144,144,169,171,145,172,143,143,172,170,144,171,146,146,171,173,147,174,148,148,174,175,146,173,149,149,173,176,150,177,151,151,177,178,152,179,153,153,179,180,154,181,155,155,181,182,156,183,157,157,183,184,157,184,158,158,184,185,153,180,159,159,180,186,160,187,156,156,187,183,159,186,161,161,186,188,162,189,160,160,189,187,161,188,163,163,188,190,164,191,162,162,191,189,163,190,165,165,190,192,166,193,164,164,193,191,165,192,167,167,192,194,168,195,166,166,195,193,167,194,169,169,194,196,170,197,168,168,197,195,169,196,171,171,196,198,172,199,170,170,199,197,171,198,173,173,198,200,174,201,175,175,201,202,173,200,176,176,200,203,177,204,178,178,204,205,179,206,180,180,206,207,181,208,182,182,208,209,183,210,184,184,210,211,184,211,185,185,211,212,180,207,186,186,207,213,187,214,183,183,214,210,186,213,188,188,213,215,189,216,187,187,216,214,188,215,190,190,215,217,191,218,189,189,218,216,190,217,192,192,217,219,193,220,191,191,220,218,192,219,194,194,219,221,195,222,193,193,222,220,194,221,196,196,221,223,197,224,195,195,224,222,196,223,198,198,223,225,199,226,197,197,226,224,198,225,200,200,225,227,201,228,202,202,228,229,200,227,203,203,227,230,204,231,205,205,231,232,206,233,207,207,233,234,208,235,209,209,235,236,210,237,211,211,237,238,211,238,212,212,238,239,207,234,213,213,234,240,214,241,210,210,241,237,213,240,215,215,240,242,216,243,214,214,243,241,215,242,217,217,242,244,218,245,216,216,245,243,217,244,219,219,244,246,220,247,218,218,247,245,219,246,221,221,246,248,222,249,220,220,249,247,221,248,223,223,248,250,224,251,222,222,251,249,223,250,225,225,250,252,226,253,224,224,253,251,225,252,227,227,252,254,228,255,229,229,255,256,227,254,230,230,254,257,231,258,232,232,258,259,233,260,234,234,260,261,235,262,236,236,262,263,237,264,238,238,264,265,238,265,239,239,265,266,234,261,240,240,261,267,241,268,237,237,268,264,240,267,242,242,267,269,243,270,241,241,270,268,242,269,244,244,269,271,245,272,243,243,272,270,244,271,246, +246,271,273,247,274,245,245,274,272,246,273,248,248,273,275,249,276,247,247,276,274,248,275,250,250,275,277,251,278,249,249,278,276,250,277,252,252,277,279,253,280,251,251,280,278,252,279,254,254,279,281,255,282,256,256,282,283,254,281,257,257,281,284,258,285,259,259,285,286,260,287,261,261,287,288,262,289,263,263,289,290,264,291,265,265,291,292,265,292,266,266,292,293,261,288,267,267,288,294,268,295,264,264,295,291,267,294,269,269,294,296,270,297,268,268,297,295,269,296,271,271,296,298,272,299,270,270,299,297,271,298,273,273,298,300,274,301,272,272,301,299,273,300,275,275,300,302,276,303,274,274,303,301,275,302,277,277,302,304,278,305,276,276,305,303,277,304,279,279,304,306,280,307,278,278,307,305,279,306,281,281,306,308,282,309,283,283,309,310,281,308,284,284,308,311,285,312,286,286,312,313,287,314,288,288,314,315,289,316,290,290,316,317,318,320,319,319,320,321,319,321,322,322,321,323,288,315,294,294,315,324,325,326,318,318,326,320,294,324,296,296,324,327,328,329,325,325,329,326,296,327,298,298,327,330,331,332,328,328,332,329,298,330,300,300,330,333,334,335,331,331,335,332,300,333,302,302,333,336,337,338,334,334,338,335,302,336,304,304,336,339,340,341,337,337,341,338,304,339,306,306,339,342,310,343,340,340,343,341,306,342,308,308,342,344,309,345,310,310,345,343,308,344,311,311,344,346,312,347,313,313,347,348,349,351,350,350,351,352,7,353,26,26,353,354,289,355,316,316,355,356,6,357,7,7,357,353,358,359,349,349,359,351,26,354,34,34,354,360,361,362,358,358,362,359,34,360,42,42,360,363,364,365,361,361,365,362,42,363,50,50,363,366,367,368,364,364,368,365,50,366,58,58,366,369,370,371,367,367,371,368,58,369,66,66,369,372,373,374,370,370,374,371,66,372,74,74,372,375,376,377,373,373,377,374,74,375,82,82,375,378,379,380,376,376,380,377,82,378,90,90,378,381,10,382,11,11,382,383,348,384,313,313,384,385,386,388,387,387,388,389,313,385,286,286,385,390,391,393,392,392,393,394,286,390,259,259,390,395,396,397,391,391,397,393,259,395,232,232,395,398,399,400,396,396,400,397,232,398,205,205,398,401,402,403,399,399,403,400,205,401,178, +178,401,404,405,406,402,402,406,403,178,404,151,151,404,407,408,409,405,405,409,406,151,407,124,124,407,410,411,412,408,408,412,409,124,410,10,10,410,382,387,389,411,411,389,412,93,413,85,85,413,414,351,415,352,352,415,416,353,417,354,354,417,418,355,419,356,356,419,420,357,421,353,353,421,417,359,422,351,351,422,415,354,418,360,360,418,423,362,424,359,359,424,422,360,423,363,363,423,425,365,426,362,362,426,424,363,425,366,366,425,427,368,428,365,365,428,426,366,427,369,369,427,429,371,430,368,368,430,428,369,429,372,372,429,431,374,432,371,371,432,430,372,431,375,375,431,433,377,434,374,374,434,432,375,433,378,378,433,435,380,436,377,377,436,434,378,435,381,381,435,437,382,438,383,383,438,439,384,440,385,385,440,441,388,442,389,389,442,443,385,441,390,390,441,444,393,445,394,394,445,446,390,444,395,395,444,447,397,448,393,393,448,445,395,447,398,398,447,449,400,450,397,397,450,448,398,449,401,401,449,451,403,452,400,400,452,450,401,451,404,404,451,453,406,454,403,403,454,452,404,453,407,407,453,455,409,456,406,406,456,454,407,455,410,410,455,457,412,458,409,409,458,456,410,457,382,382,457,438,389,443,412,412,443,458,413,459,414,414,459,460,415,461,416,416,461,462,417,463,418,418,463,464,419,465,420,420,465,466,421,467,417,417,467,463,422,468,415,415,468,461,418,464,423,423,464,469,424,470,422,422,470,468,423,469,425,425,469,471,426,472,424,424,472,470,425,471,427,427,471,473,428,474,426,426,474,472,427,473,429,429,473,475,430,476,428,428,476,474,429,475,431,431,475,477,432,478,430,430,478,476,431,477,433,433,477,479,434,480,432,432,480,478,433,479,435,435,479,481,436,482,434,434,482,480,435,481,437,437,481,483,438,484,439,439,484,485,440,486,441,441,486,487,442,488,443,443,488,489,441,487,444,444,487,490,445,491,446,446,491,492,444,490,447,447,490,493,448,494,445,445,494,491,447,493,449,449,493,495,450,496,448,448,496,494,449,495,451,451,495,497,452,498,450,450,498,496,451,497,453,453,497,499,454,500,452,452,500,498,453,499,455,455,499,501,456,502,454,454,502,500,455,501,457,457,501,503,458,504,456,456,504,502,457, +503,438,438,503,484,443,489,458,458,489,504,459,505,460,460,505,506 + } + } + LayerElementUV: 1 { + Version: 101 + Name: "UVSet1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *1014 { + a: 0.363608628511429,0.363610059022903,0.399169474840164,0.363610059022903,0.363608628511429,0.399170935153961,0.399169474840164,0.399170935153961,0.363609701395035,0.00400000018998981,0.399170637130737,0.00400005048140883,0.36360964179039,0.0395608693361282,0.39917054772377,0.0395609475672245,0.683657228946686,0.150243893265724,0.719218075275421,0.150243788957596,0.683657288551331,0.185804694890976,0.719218134880066,0.185804605484009,0.324047684669495,0.723218619823456,0.359608620405197,0.723218619823456,0.324047684669495,0.758779466152191,0.359608620405197,0.758779466152191,0.683655917644501,0.509853422641754,0.68365603685379,0.5454141497612,0.648095190525055,0.509853541851044,0.648095309734344,0.54541426897049,0.00400007981806993,0.0395612344145775,0.0395609438419342,0.0395611859858036,0.00400000018998981,0.00400033313781023,0.0395609252154827,0.00400031264871359,0.0395609848201275,0.0751220658421516,0.0040001580491662,0.0751221030950546,0.43473145365715,0.0395610108971596,0.434731483459473,0.00400013104081154,0.288486838340759,0.723218619823456,0.288486838340759,0.758779466152191,0.612534463405609,0.509853601455688,0.612534523010254,0.545414328575134,0.0395610220730305,0.110682904720306,0.00400023208931088,0.110682934522629,0.470292299985886,0.0395610667765141,0.470292329788208,0.00400018831714988,0.252925962209702,0.723218619823456,0.252925962209702,0.758779466152191,0.576973736286163,0.509853661060333,0.576973795890808,0.545414388179779,0.039561040699482,0.146243691444397,0.00400028610602021,0.146243706345558,0.505853116512299,0.0395610928535461,0.505853176116943,0.0040002460591495,0.217365175485611,0.723218619823456,0.217365175485611,0.758779466152191,0.541413009166718,0.509853720664978,0.541413009166718,0.545414447784424,0.0395610481500626,0.181804478168488,0.0040003196336329,0.181804463267326,0.541413962841034,0.0395611003041267,0.541413962841034,0.00400026841089129,0.181804373860359,0.723218619823456,0.181804373860359,0.758779466152191,0.505852282047272,0.509853720664978,0.505852282047272, +0.545414447784424,0.0395610257983208,0.217365220189095,0.00400032009929419,0.217365175485611,0.576974809169769,0.0395610891282558,0.576974749565125,0.0040002609603107,0.146243512630463,0.723218619823456,0.146243512630463,0.758779466152191,0.470291495323181,0.509853661060333,0.470291495323181,0.545414447784424,0.0395609810948372,0.252925962209702,0.00400028750300407,0.252925872802734,0.612535655498505,0.0395610518753529,0.612535536289215,0.00400022370740771,0.110682643949986,0.723218619823456,0.110682643949986,0.758779466152191,0.434730678796768,0.509853601455688,0.434730648994446,0.545414388179779,0.0395609103143215,0.288486659526825,0.00400022091343999,0.288486570119858,0.648096442222595,0.0395609922707081,0.64809638261795,0.00400018086656928,0.0751217752695084,0.723218619823456,0.0751217752695084,0.758779466152191,0.399169832468033,0.509853541851044,0.399169772863388,0.545414388179779,0.0395608060061932,0.324047386646271,0.0040001249872148,0.324047297239304,0.683657288551331,0.039560928940773,0.683657228946686,0.00400012219324708,0.0395608991384506,0.723218619823456,0.0395608991384506,0.758779466152191,0.363608926534653,0.509853422641754,0.36360889673233,0.545414328575134,0.0395606979727745,0.359608113765717,0.00400000018998981,0.359607994556427,0.719218134880066,0.0395608432590961,0.719218015670776,0.00400002161040902,0.00400001974776387,0.723218619823456,0.004000015091151,0.758779466152191,0.0395609587430954,0.363610059022903,0.0395609550178051,0.399170964956284,0.00400006398558617,0.363610059022903,0.00400005979463458,0.399170964956284,0.0751217678189278,0.00400026328861713,0.0751217976212502,0.0395611263811588,0.4347303211689,0.399170935153961,0.4347303211689,0.363610059022903,0.612534582614899,0.58097505569458,0.648095369338989,0.580974996089935,0.683656096458435,0.580974876880646,0.0751218199729919,0.0751220211386681,0.576973855495453,0.58097517490387,0.0751218423247337,0.110682874917984,0.541413068771362,0.580975234508514,0.0751218423247337,0.146243676543236,0.505852282047272,0.580975234508514,0.0751218125224113, +0.181804478168488,0.470291465520859,0.580975294113159,0.0751217678189278,0.217365264892578,0.434730619192123,0.580975234508514,0.0751216933131218,0.252926021814346,0.399169713258743,0.580975234508514,0.0751216113567352,0.288486778736115,0.363608837127686,0.58097517490387,0.0751215070486069,0.324047476053238,0.00400005374103785,0.434731781482697,0.0395609550178051,0.434731781482697,0.0751213803887367,0.359608203172684,0.648096442222595,0.150243952870369,0.64809650182724,0.185804754495621,0.110682621598244,0.00400021066889167,0.110682658851147,0.0395610891282558,0.470291197299957,0.399170935153961,0.470291197299957,0.363610059022903,0.612534701824188,0.616535842418671,0.648095488548279,0.616535723209381,0.683656215667725,0.616535604000092,0.110682666301727,0.0751219913363457,0.576973915100098,0.61653596162796,0.110682666301727,0.110682867467403,0.541413128376007,0.616536021232605,0.110682658851147,0.146243691444397,0.505852282047272,0.61653608083725,0.110682606697083,0.18180450797081,0.470291465520859,0.61653608083725,0.110682539641857,0.217365324497223,0.434730559587479,0.61653608083725,0.110682442784309,0.252926111221313,0.399169683456421,0.61653608083725,0.110682338476181,0.288486868143082,0.363608777523041,0.616536021232605,0.110682211816311,0.324047595262527,0.0040000481531024,0.470292627811432,0.0395609512925148,0.470292627811432,0.110682055354118,0.359608322381973,0.61253559589386,0.150243997573853,0.612535655498505,0.185804814100266,0.14624348282814,0.00400014547631145,0.146243512630463,0.0395610630512238,0.505852043628693,0.399170935153961,0.505852043628693,0.363610059022903,0.612534821033478,0.652096629142761,0.648095607757568,0.652096509933472,0.683656394481659,0.652096331119537,0.146243527531624,0.0751219764351845,0.576973974704742,0.652096748352051,0.146243512630463,0.110682882368565,0.541413187980652,0.652096807956696,0.14624348282814,0.146243721246719,0.505852341651917,0.652096927165985,0.146243423223495,0.181804567575455,0.470291465520859,0.652096927165985,0.146243333816528,0.217365399003029,0.434730559587479, +0.65209698677063,0.146243214607239,0.252926200628281,0.399169653654099,0.65209698677063,0.146243095397949,0.288486987352371,0.363608717918396,0.652096927165985,0.146242931485176,0.324047744274139,0.00400004303082824,0.505853474140167,0.0395609512925148,0.505853474140167,0.146242752671242,0.359608501195908,0.576974749565125,0.150244012475014,0.576974809169769,0.185804843902588,0.181804373860359,0.0040000919252634,0.18180438876152,0.039561040699482,0.541412830352783,0.399170935153961,0.541412830352783,0.363610059022903,0.612534940242767,0.687657415866852,0.648095726966858,0.687657237052917,0.683656573295593,0.687657058238983,0.18180438876152,0.0751219764351845,0.576974093914032,0.687657594680786,0.181804373860359,0.110682897269726,0.541413247585297,0.687657654285431,0.181804329156876,0.146243765950203,0.505852341651917,0.68765777349472,0.18180425465107,0.181804627180099,0.470291495323181,0.687657833099365,0.181804150342941,0.217365488409996,0.434730559587479,0.687657833099365,0.181804016232491,0.25292631983757,0.399169623851776,0.687657833099365,0.181803852319717,0.288487136363983,0.363608658313751,0.687657833099365,0.181803673505783,0.324047923088074,0.0040000369772315,0.541414320468903,0.0395609475672245,0.541414320468903,0.181803464889526,0.359608709812164,0.541413962841034,0.150244042277336,0.541413962841034,0.18580487370491,0.217365294694901,0.00400004722177982,0.217365309596062,0.0395610295236111,0.576973736286163,0.399170935153961,0.576973736286163,0.363610059022903,0.612535059452057,0.723218262195587,0.648095905780792,0.723218083381653,0.683656752109528,0.723217844963074,0.217365294694901,0.0751219764351845,0.576974213123322,0.723218441009521,0.217365264892578,0.110682919621468,0.541413307189941,0.723218560218811,0.217365205287933,0.146243825554848,0.505852401256561,0.723218619823456,0.217365100979805,0.181804716587067,0.470291525125504,0.723218679428101,0.217364981770515,0.217365592718124,0.434730589389801,0.723218739032745,0.217364847660065,0.25292643904686,0.399169623851776,0.72321879863739,0.21736466884613, +0.288487315177917,0.363608628511429,0.72321879863739,0.217364460229874,0.32404813170433,0.00400002999231219,0.576975166797638,0.0395609401166439,0.576975166797638,0.217364221811295,0.359608948230743,0.505853176116943,0.150244027376175,0.505853176116943,0.185804858803749,0.252926260232925,0.00400001322850585,0.252926260232925,0.0395610295236111,0.612534582614899,0.399170935153961,0.612534582614899,0.363610088825226,0.612535238265991,0.758779108524323,0.648096144199371,0.758778929710388,0.683656990528107,0.758778691291809,0.252926230430603,0.0751220062375069,0.576974332332611,0.758779287338257,0.252926170825958,0.110682956874371,0.541413426399231,0.758779406547546,0.252926081418991,0.146243885159492,0.505852520465851,0.758779525756836,0.252925992012024,0.181804805994034,0.470291554927826,0.758779644966125,0.252925843000412,0.217365726828575,0.434730619192123,0.75877970457077,0.2529256939888,0.252926617860794,0.399169653654099,0.758779764175415,0.252925485372543,0.288487493991852,0.363608628511429,0.758779764175415,0.252925276756287,0.324048340320587,0.00400002207607031,0.612536013126373,0.0395609326660633,0.612536013126373,0.252925008535385,0.359609186649323,0.47029235959053,0.150243982672691,0.470292299985886,0.185804843902588,0.288487255573273,0.00400000018998981,0.28848722577095,0.039561040699482,0.648095488548279,0.399170964956284,0.648095488548279,0.363610088825226,0.612535417079926,0.794340014457703,0.648096323013306,0.794339835643768,0.683657228946686,0.794339597225189,0.288487195968628,0.0751220285892487,0.576974451541901,0.794340193271637,0.288487106561661,0.110683016479015,0.541413545608521,0.794340372085571,0.288487017154694,0.14624397456646,0.505852580070496,0.794340491294861,0.288486897945404,0.181804925203323,0.470291644334793,0.794340550899506,0.288486748933792,0.217365860939026,0.434730678796768,0.794340670108795,0.288486570119858,0.252926766872406,0.399169683456421,0.79434072971344,0.288486361503601,0.288487702608109,0.363608628511429,0.794340789318085,0.288486123085022,0.324048578739166,0.00400001415982842, +0.648096859455109,0.0395609214901924,0.648096919059753,0.28848585486412,0.359609484672546,0.434731513261795,0.150243908166885,0.43473145365715,0.185804784297943,0.324048280715942,0.00400001322850585,0.324048221111298,0.0395610742270947,0.683656275272369,0.399170964956284,0.683656275272369,0.363610088825226,0.612535536289215,0.829900920391083,0.648096561431885,0.829900741577148,0.683657467365265,0.829900503158569,0.324048161506653,0.0751220807433128,0.576974630355835,0.829901099205017,0.324048072099686,0.110683090984821,0.54141366481781,0.829901278018951,0.324047982692719,0.146244078874588,0.505852699279785,0.829901397228241,0.324047833681107,0.181805044412613,0.47029173374176,0.829901516437531,0.324047684669495,0.217366009950638,0.434730738401413,0.82990163564682,0.324047476053238,0.25292694568634,0.399169743061066,0.829901695251465,0.324047267436981,0.288487911224365,0.363608688116074,0.82990175485611,0.324047029018402,0.324048846960068,0.00400000670924783,0.683657705783844,0.0395609103143215,0.683657765388489,0.324046760797501,0.35960978269577,0.39917066693306,0.150243788957596,0.399170577526093,0.185804709792137,0.359609365463257,0.00400005653500557,0.35960927605629,0.0395611524581909,0.71921718120575,0.399170964956284,0.71921718120575,0.363610059022903,0.288486868143082,0.683657765388489,0.324047744274139,0.683657765388489,0.288486868143082,0.719218552112579,0.324047744274139,0.719218552112579,0.359608620405197,0.683657765388489,0.359608620405197,0.719218552112579,0.359609156847,0.07512217015028,0.252925992012024,0.683657765388489,0.252925992012024,0.719218611717224,0.359609067440033,0.110683187842369,0.217365175485611,0.683657765388489,0.217365175485611,0.719218611717224,0.359608948230743,0.146244183182716,0.181804358959198,0.683657765388489,0.181804358959198,0.719218611717224,0.359608799219131,0.181805193424225,0.146243527531624,0.683657765388489,0.146243527531624,0.719218611717224,0.359608620405197,0.217366173863411,0.11068270355463,0.683657765388489,0.11068269610405,0.719218611717224,0.359608441591263,0.252927154302597, +0.0751218050718307,0.683657765388489,0.0751217976212502,0.719218611717224,0.359608203172684,0.2884880900383,0.0395609028637409,0.719218552112579,0.359607934951782,0.324049115180969,0.00400000018998981,0.719218552112579,0.359607666730881,0.359610080718994,0.363609731197357,0.150243654847145,0.363609671592712,0.185804635286331,0.288486927747726,0.869462013244629,0.324047803878784,0.869461953639984,0.288486957550049,0.905022859573364,0.324047863483429,0.905022799968719,0.399170458316803,0.0751218125224113,0.434731364250183,0.0751218721270561,0.683656275272369,0.434731781482697,0.71921718120575,0.434731781482697,0.3636095225811,0.0751217380166054,0.252926081418991,0.869462013244629,0.252926051616669,0.905022859573364,0.470292240381241,0.0751219093799591,0.217365220189095,0.869462013244629,0.217365205287933,0.905022859573364,0.505853116512299,0.0751219317317009,0.181804373860359,0.869462013244629,0.181804344058037,0.905022859573364,0.541413962841034,0.0751219317317009,0.146243527531624,0.869462013244629,0.146243497729301,0.905022859573364,0.576974809169769,0.0751219093799591,0.110682681202888,0.869462013244629,0.110682658851147,0.905022859573364,0.612535655498505,0.0751218721270561,0.0751218274235725,0.869462013244629,0.0751217976212502,0.905022859573364,0.64809650182724,0.0751218125224113,0.0395609587430954,0.869461953639984,0.0395609177649021,0.905022859573364,0.683657348155975,0.0751217305660248,0.00400001695379615,0.869461953639984,0.00400000018998981,0.905022859573364,0.719218194484711,0.0751216411590576,0.68365740776062,0.221365511417389,0.719218194484711,0.221365422010422,0.363609552383423,0.221365511417389,0.399170488119125,0.221365600824356,0.363608658313751,0.833901762962341,0.399169534444809,0.833901822566986,0.363608628511429,0.869462668895721,0.399169504642487,0.869462668895721,0.434731364250183,0.22136564552784,0.648095548152924,0.833901822566986,0.683656454086304,0.833901762962341,0.648095607757568,0.869462668895721,0.683656454086304,0.869462668895721,0.470292270183563,0.221365690231323,0.612534701824188, +0.833901822566986,0.612534701824188,0.869462668895721,0.505853116512299,0.221365705132484,0.576973855495453,0.833901822566986,0.576973855495453,0.869462668895721,0.541413962841034,0.221365705132484,0.541412949562073,0.833901822566986,0.541412949562073,0.869462668895721,0.576974809169769,0.221365675330162,0.505852103233337,0.833901822566986,0.505852103233337,0.869462668895721,0.612535715103149,0.221365630626678,0.470291286706924,0.833901822566986,0.470291256904602,0.869462668895721,0.648096561431885,0.221365585923195,0.434730410575867,0.833901822566986,0.434730410575867,0.869462668895721,0.00400000903755426,0.794340312480927,0.0395608954131603,0.794340312480927,0.288486927747726,0.940583765506744,0.324047863483429,0.940583765506744,0.399170398712158,0.110682718455791,0.434731304645538,0.110682755708694,0.683656275272369,0.470292627811432,0.71921718120575,0.470292627811432,0.363609433174133,0.110682658851147,0.252926051616669,0.9405837059021,0.470292210578918,0.110682778060436,0.217365190386772,0.9405837059021,0.505853056907654,0.110682785511017,0.181804344058037,0.9405837059021,0.541413962841034,0.110682778060436,0.146243497729301,0.9405837059021,0.576974809169769,0.110682755708694,0.110682643949986,0.9405837059021,0.612535715103149,0.110682711005211,0.0751217901706696,0.9405837059021,0.648096561431885,0.110682658851147,0.0395609177649021,0.9405837059021,0.683657467365265,0.110682591795921,0.00400001695379615,0.940583765506744,0.719218313694,0.110682502388954,0.683657467365265,0.256926327943802,0.719218254089355,0.256926238536835,0.363609433174133,0.256926447153091,0.399170398712158,0.256926506757736,0.363608658313751,0.905023574829102,0.399169504642487,0.905023574829102,0.434731334447861,0.256926536560059,0.648095548152924,0.905023574829102,0.683656454086304,0.905023574829102,0.470292240381241,0.256926536560059,0.612534642219543,0.905023515224457,0.505853116512299,0.256926566362381,0.576973795890808,0.905023515224457,0.541413962841034,0.256926536560059,0.541412949562073,0.905023515224457,0.576974868774414,0.256926506757736, +0.505852103233337,0.905023515224457,0.612535715103149,0.256926476955414,0.470291256904602,0.905023515224457,0.648096561431885,0.256926417350769,0.434730380773544,0.905023515224457,0.0040000039152801,0.829901158809662,0.03956089168787,0.829901158809662,0.288486868143082,0.97614461183548,0.324047803878784,0.976144671440125,0.399170368909836,0.146243616938591,0.434731274843216,0.146243631839752,0.683656275272369,0.505853414535522,0.71921718120575,0.505853414535522,0.363609373569489,0.146243587136269,0.252925992012024,0.976144552230835,0.470292180776596,0.146243661642075,0.217365145683289,0.976144552230835,0.505853056907654,0.146243661642075,0.181804314255714,0.97614449262619,0.541413962841034,0.146243646740913,0.14624348282814,0.97614449262619,0.576974868774414,0.14624360203743,0.110682636499405,0.97614449262619,0.612535715103149,0.146243557333946,0.0751217976212502,0.976144552230835,0.64809662103653,0.146243497729301,0.0395609475672245,0.976144552230835,0.68365752696991,0.146243408322334,0.00400009891018271,0.97614461183548,0.719218373298645,0.146243318915367,0.68365752696991,0.292487174272537,0.719218373298645,0.29248708486557,0.363609373569489,0.292487382888794,0.399170398712158,0.292487412691116,0.363608747720718,0.940584480762482,0.399169564247131,0.940584421157837,0.434731304645538,0.292487412691116,0.648095488548279,0.940584421157837,0.683656454086304,0.940584480762482,0.470292210578918,0.292487442493439,0.612534642219543,0.940584361553192,0.505853116512299,0.292487442493439,0.576973736286163,0.940584361553192,0.541413962841034,0.292487412691116,0.541412949562073,0.940584301948547,0.576974868774414,0.292487382888794,0.505852103233337,0.940584301948547,0.612535774707794,0.292487323284149,0.470291256904602,0.940584301948547,0.64809662103653,0.292487263679504,0.434730410575867,0.940584361553192,0.00400000018998981,0.865461945533752,0.0395608879625797,0.865461945533752 + } + UVIndex: *2160 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,94,96,95,95,96,97,23,98,21,21,98,99,3,100,1,1,100,101,31,102,19,19,102,103,19,103,17,17,103,104,21,99,24,24,99,105,39,106,31,31,106,102,24,105,32,32,105,107,47,108,39,39,108,106,32,107,40,40,107,109,55,110,47,47,110,108,40,109,48,48,109,111,63,112,55,55,112,110,48,111,56,56,111,113,71,114,63,63,114,112,56,113,64,64,113,115,79,116,71,71,116,114,64,115,72,72,115,117,87,118,79,79,118,116,72,117,80,80,117,119,97,120,95,95,120,121,80,119,88,88,119,122,8,123,10,10,123,124,98,125,99,99,125,126,100,127,101,101,127,128,102,129,103,103,129,130,103,130,104,104,130,131,99,126,105,105,126,132,106,133,102,102,133,129,105,132,107,107,132,134,108,135,106,106,135,133,107,134,109,109,134,136,110,137,108,108,137,135,109,136,111,111,136,138,112,139,110,110,139,137,111,138,113,113,138,140,114,141,112,112,141,139,113,140,115,115,140,142,116,143,114,114,143,141,115,142,117,117,142,144,118,145,116,116,145,143,117,144,119,119,144,146,120,147,121,121,147,148,119,146,122,122,146,149,123,150,124,124,150,151,125,152,126,126,152,153,127,154,128,128,154,155,129,156,130,130,156,157,130,157,131,131,157,158,126,153,132,132,153,159,133,160,129,129,160,156,132,159,134,134,159,161,135,162,133,133,162,160,134,161,136,136,161,163,137,164,135,135,164,162,136,163,138,138,163,165,139,166,137,137,166,164,138,165,140,140,165,167, +141,168,139,139,168,166,140,167,142,142,167,169,143,170,141,141,170,168,142,169,144,144,169,171,145,172,143,143,172,170,144,171,146,146,171,173,147,174,148,148,174,175,146,173,149,149,173,176,150,177,151,151,177,178,152,179,153,153,179,180,154,181,155,155,181,182,156,183,157,157,183,184,157,184,158,158,184,185,153,180,159,159,180,186,160,187,156,156,187,183,159,186,161,161,186,188,162,189,160,160,189,187,161,188,163,163,188,190,164,191,162,162,191,189,163,190,165,165,190,192,166,193,164,164,193,191,165,192,167,167,192,194,168,195,166,166,195,193,167,194,169,169,194,196,170,197,168,168,197,195,169,196,171,171,196,198,172,199,170,170,199,197,171,198,173,173,198,200,174,201,175,175,201,202,173,200,176,176,200,203,177,204,178,178,204,205,179,206,180,180,206,207,181,208,182,182,208,209,183,210,184,184,210,211,184,211,185,185,211,212,180,207,186,186,207,213,187,214,183,183,214,210,186,213,188,188,213,215,189,216,187,187,216,214,188,215,190,190,215,217,191,218,189,189,218,216,190,217,192,192,217,219,193,220,191,191,220,218,192,219,194,194,219,221,195,222,193,193,222,220,194,221,196,196,221,223,197,224,195,195,224,222,196,223,198,198,223,225,199,226,197,197,226,224,198,225,200,200,225,227,201,228,202,202,228,229,200,227,203,203,227,230,204,231,205,205,231,232,206,233,207,207,233,234,208,235,209,209,235,236,210,237,211,211,237,238,211,238,212,212,238,239,207,234,213,213,234,240,214,241,210,210,241,237,213,240,215,215,240,242,216,243,214,214,243,241,215,242,217,217,242,244,218,245,216,216,245,243,217,244,219,219,244,246,220,247,218,218,247,245,219,246,221,221,246,248,222,249,220,220,249,247,221,248,223,223,248,250,224,251,222,222,251,249,223,250,225,225,250,252,226,253,224,224,253,251,225,252,227,227,252,254,228,255,229,229,255,256,227,254,230,230,254,257,231,258,232,232,258,259,233,260,234,234,260,261,235,262,236,236,262,263,237,264,238,238,264,265,238,265,239,239,265,266,234,261,240,240,261,267,241,268,237,237,268,264,240,267,242,242,267,269,243,270,241,241,270,268,242,269,244,244,269,271,245,272,243,243,272,270,244,271,246, +246,271,273,247,274,245,245,274,272,246,273,248,248,273,275,249,276,247,247,276,274,248,275,250,250,275,277,251,278,249,249,278,276,250,277,252,252,277,279,253,280,251,251,280,278,252,279,254,254,279,281,255,282,256,256,282,283,254,281,257,257,281,284,258,285,259,259,285,286,260,287,261,261,287,288,262,289,263,263,289,290,264,291,265,265,291,292,265,292,266,266,292,293,261,288,267,267,288,294,268,295,264,264,295,291,267,294,269,269,294,296,270,297,268,268,297,295,269,296,271,271,296,298,272,299,270,270,299,297,271,298,273,273,298,300,274,301,272,272,301,299,273,300,275,275,300,302,276,303,274,274,303,301,275,302,277,277,302,304,278,305,276,276,305,303,277,304,279,279,304,306,280,307,278,278,307,305,279,306,281,281,306,308,282,309,283,283,309,310,281,308,284,284,308,311,285,312,286,286,312,313,287,314,288,288,314,315,289,316,290,290,316,317,318,320,319,319,320,321,319,321,322,322,321,323,288,315,294,294,315,324,325,326,318,318,326,320,294,324,296,296,324,327,328,329,325,325,329,326,296,327,298,298,327,330,331,332,328,328,332,329,298,330,300,300,330,333,334,335,331,331,335,332,300,333,302,302,333,336,337,338,334,334,338,335,302,336,304,304,336,339,340,341,337,337,341,338,304,339,306,306,339,342,310,343,340,340,343,341,306,342,308,308,342,344,309,345,310,310,345,343,308,344,311,311,344,346,312,347,313,313,347,348,349,351,350,350,351,352,7,353,26,26,353,354,289,355,316,316,355,356,6,357,7,7,357,353,358,359,349,349,359,351,26,354,34,34,354,360,361,362,358,358,362,359,34,360,42,42,360,363,364,365,361,361,365,362,42,363,50,50,363,366,367,368,364,364,368,365,50,366,58,58,366,369,370,371,367,367,371,368,58,369,66,66,369,372,373,374,370,370,374,371,66,372,74,74,372,375,376,377,373,373,377,374,74,375,82,82,375,378,379,380,376,376,380,377,82,378,90,90,378,381,10,382,11,11,382,383,348,384,313,313,384,385,386,388,387,387,388,389,313,385,286,286,385,390,391,393,392,392,393,394,286,390,259,259,390,395,396,397,391,391,397,393,259,395,232,232,395,398,399,400,396,396,400,397,232,398,205,205,398,401,402,403,399,399,403,400,205,401,178, +178,401,404,405,406,402,402,406,403,178,404,151,151,404,407,408,409,405,405,409,406,151,407,124,124,407,410,411,412,408,408,412,409,124,410,10,10,410,382,387,389,411,411,389,412,93,413,85,85,413,414,351,415,352,352,415,416,353,417,354,354,417,418,355,419,356,356,419,420,357,421,353,353,421,417,359,422,351,351,422,415,354,418,360,360,418,423,362,424,359,359,424,422,360,423,363,363,423,425,365,426,362,362,426,424,363,425,366,366,425,427,368,428,365,365,428,426,366,427,369,369,427,429,371,430,368,368,430,428,369,429,372,372,429,431,374,432,371,371,432,430,372,431,375,375,431,433,377,434,374,374,434,432,375,433,378,378,433,435,380,436,377,377,436,434,378,435,381,381,435,437,382,438,383,383,438,439,384,440,385,385,440,441,388,442,389,389,442,443,385,441,390,390,441,444,393,445,394,394,445,446,390,444,395,395,444,447,397,448,393,393,448,445,395,447,398,398,447,449,400,450,397,397,450,448,398,449,401,401,449,451,403,452,400,400,452,450,401,451,404,404,451,453,406,454,403,403,454,452,404,453,407,407,453,455,409,456,406,406,456,454,407,455,410,410,455,457,412,458,409,409,458,456,410,457,382,382,457,438,389,443,412,412,443,458,413,459,414,414,459,460,415,461,416,416,461,462,417,463,418,418,463,464,419,465,420,420,465,466,421,467,417,417,467,463,422,468,415,415,468,461,418,464,423,423,464,469,424,470,422,422,470,468,423,469,425,425,469,471,426,472,424,424,472,470,425,471,427,427,471,473,428,474,426,426,474,472,427,473,429,429,473,475,430,476,428,428,476,474,429,475,431,431,475,477,432,478,430,430,478,476,431,477,433,433,477,479,434,480,432,432,480,478,433,479,435,435,479,481,436,482,434,434,482,480,435,481,437,437,481,483,438,484,439,439,484,485,440,486,441,441,486,487,442,488,443,443,488,489,441,487,444,444,487,490,445,491,446,446,491,492,444,490,447,447,490,493,448,494,445,445,494,491,447,493,449,449,493,495,450,496,448,448,496,494,449,495,451,451,495,497,452,498,450,450,498,496,451,497,453,453,497,499,454,500,452,452,500,498,453,499,455,455,499,501,456,502,454,454,502,500,455,501,457,457,501,503,458,504,456,456,504,502,457, +503,438,438,503,484,443,489,458,458,489,504,459,505,460,460,505,506 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + Layer: 1 { + Version: 100 + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 1 + } + } + } + Geometry: 1143700784, "Geometry::Scene", "Mesh" { + Vertices: *1086 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-100,100,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-100,100,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-100,100,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-100,100,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-100,100,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-100,100,-900,-1000,100,-1000,-1000,0,-1000,-0,400,-900,-100,400,-900,-0,400,-1000,-100,400,-1000,-200,0,0,-200,0,-100,-200,100,0,-200,100,-200,-200,100,-100,-200,0,-200,-200,100,-300,-200,0,-300,-200,100,-400,-200,0,-400,-200,100,-500,-200,0,-500,-200,100,-600,-200,0,-600,-200,100,-700,-200,0,-700,-200,100,-800,-200,0,-800,-200,100,-900,-200,0,-900,-200,400,-1000,-200,400,-900,-200,0,-1000,-200,100,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,400,-1000,-300,400,-900,-300,0,-1000,-300,100,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800,-400,100,-900,-400,0,-900,-400,400,-1000,-400,400,-900,-400,0,-1000,-400,100,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,0,-200,-500,100,-300,-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800, +-500,100,-900,-500,0,-900,-500,400,-1000,-500,400,-900,-500,0,-1000,-500,100,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,0,-200,-600,100,-300,-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,400,-1000,-600,400,-900,-600,0,-1000,-600,100,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,400,-1000,-700,400,-900,-700,0,-1000,-700,100,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,400,-1000,-800,400,-900,-800,0,-1000,-800,100,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,400,-1000,-900,400,-900,-900,0,-1000,-900,100,-1000,-900,400,-200,-900,400,-100,-1000,400,-200,-1000,400,-100,-900,400,0,-1000,400,0,-900,400,-300,-1000,400,-300,-900,400,-400,-1000,400,-400,-900,400,-500,-1000,400,-500,-900,400,-600,-1000,400,-600,-900,400,-700,-1000,400,-700,-900,400,-800,-1000,400,-800,-1000,400,-900,-1000,400,-1000,-900,200,-100,-900,200,0,-1000,200,-100,-1000,200,-200,-1000,200,0,-900,200,-200,-1000,200,-300,-900,200,-300,-1000,200,-400,-900,200,-400,-1000,200,-500,-900,200,-500,-1000,200,-600,-900,200,-600,-1000,200,-700,-900,200,-700,-1000,200,-800,-900,200,-800,-1000,200,-900,-900,200,-900,-1000,200,-1000,-100,200,-1000,-0,200,-1000,-900,200,-1000,-0,200,-900,-100,200,-900,-800,200,-1000,-800,200,-900,-700,200,-1000,-700,200,-900,-600,200,-1000, +-600,200,-900,-500,200,-1000,-500,200,-900,-400,200,-1000,-400,200,-900,-300,200,-1000,-300,200,-900,-200,200,-1000,-200,200,-900,-900,300,-100,-900,300,0,-1000,300,-100,-1000,300,-200,-1000,300,0,-900,300,-200,-1000,300,-300,-900,300,-300,-1000,300,-400,-900,300,-400,-1000,300,-500,-900,300,-500,-1000,300,-600,-900,300,-600,-1000,300,-700,-900,300,-700,-1000,300,-800,-900,300,-800,-1000,300,-900,-900,300,-900,-1000,300,-1000,-100,300,-1000,-0,300,-1000,-900,300,-1000,-0,300,-900,-100,300,-900,-800,300,-1000,-800,300,-900,-700,300,-1000,-700,300,-900,-600,300,-1000,-600,300,-900,-500,300,-1000,-500,300,-900,-400,300,-1000,-400,300,-900,-300,300,-1000,-300,300,-900,-200,300,-1000,-200,300,-900 + } + PolygonVertexIndex: *2160 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,28,-24,23,28,-30,24,30,-26,25,30,-32,23,29,-27,26,29,-33,26,32,-28,27,32,-34,28,34,-30,29,34,-36,30,36,-32,31,36,-38,29,35,-33,32,35,-39,32,38,-34,33,38,-40,34,40,-36,35,40,-42,36,42,-38,37,42,-44,35,41,-39,38,41,-45,38,44,-40,39,44,-46,40,46,-42,41,46,-48,42,48,-44,43,48,-50,41,47,-45,44,47,-51,44,50,-46,45,50,-52,46,52,-48,47,52,-54,48,54,-50,49,54,-56,47,53,-51,50,53,-57,50,56,-52,51,56,-58,52,58,-54,53,58,-60,54,60,-56,55,60,-62,53,59,-57,56,59,-63,56,62,-58,57,62,-64,58,8,-60,59,8,-10,60,64,-62,61,64,-66,59,9,-63,62,9,-12,66,68,-68,67,68,-70,1,70,-16,15,70,-72,3,72,-2,1,72,-71,21,73,-15,14,73,-75,14,74,-4,3,74,-73,15,71,-17,16,71,-76,27,76,-22,21,76,-74,16,75,-23,22,75,-78,33,78,-28,27,78,-77,22,77,-29,28,77,-80,39,80,-34,33,80,-79,28,79,-35,34,79,-82,45,82,-40,39,82,-81,34,81,-41,40,81,-84,51,84,-46,45,84,-83,40,83,-47,46,83,-86,57,86,-52,51,86,-85,46,85,-53,52,85,-88,63,88,-58,57,88,-87,52,87,-59,58,87,-90,69,90,-68,67,90,-92,58,89,-9,8,89,-93,8,92,-11,10,92,-94,70,94,-72,71,94,-96,72,96,-71,70,96,-95,73,97,-75,74,97,-99,74,98,-73,72,98,-97,71,95,-76,75,95,-100,76,100,-74,73,100,-98,75,99,-78,77,99,-102,78,102,-77,76,102,-101,77,101,-80,79,101,-104,80,104,-79,78,104,-103,79,103,-82,81,103,-106,82,106,-81,80,106,-105,81,105,-84,83,105,-108,84,108,-83,82,108,-107,83,107,-86,85,107,-110,86,110,-85,84,110,-109,85,109,-88,87,109,-112,88,112,-87,86,112,-111,87,111,-90,89,111,-114,90,114,-92,91,114,-116,89,113,-93,92,113,-117,92,116,-94,93,116,-118,94,118,-96,95,118,-120,96,120,-95,94,120,-119,97,121,-99,98,121,-123,98,122,-97,96,122,-121,95,119,-100,99,119,-124,100,124,-98,97,124,-122,99,123,-102,101,123,-126,102,126,-101,100,126,-125,101,125,-104,103,125,-128,104,128,-103,102,128,-127,103,127,-106,105,127,-130,106,130,-105,104,130,-129,105,129, +-108,107,129,-132,108,132,-107,106,132,-131,107,131,-110,109,131,-134,110,134,-109,108,134,-133,109,133,-112,111,133,-136,112,136,-111,110,136,-135,111,135,-114,113,135,-138,114,138,-116,115,138,-140,113,137,-117,116,137,-141,116,140,-118,117,140,-142,118,142,-120,119,142,-144,120,144,-119,118,144,-143,121,145,-123,122,145,-147,122,146,-121,120,146,-145,119,143,-124,123,143,-148,124,148,-122,121,148,-146,123,147,-126,125,147,-150,126,150,-125,124,150,-149,125,149,-128,127,149,-152,128,152,-127,126,152,-151,127,151,-130,129,151,-154,130,154,-129,128,154,-153,129,153,-132,131,153,-156,132,156,-131,130,156,-155,131,155,-134,133,155,-158,134,158,-133,132,158,-157,133,157,-136,135,157,-160,136,160,-135,134,160,-159,135,159,-138,137,159,-162,138,162,-140,139,162,-164,137,161,-141,140,161,-165,140,164,-142,141,164,-166,142,166,-144,143,166,-168,144,168,-143,142,168,-167,145,169,-147,146,169,-171,146,170,-145,144,170,-169,143,167,-148,147,167,-172,148,172,-146,145,172,-170,147,171,-150,149,171,-174,150,174,-149,148,174,-173,149,173,-152,151,173,-176,152,176,-151,150,176,-175,151,175,-154,153,175,-178,154,178,-153,152,178,-177,153,177,-156,155,177,-180,156,180,-155,154,180,-179,155,179,-158,157,179,-182,158,182,-157,156,182,-181,157,181,-160,159,181,-184,160,184,-159,158,184,-183,159,183,-162,161,183,-186,162,186,-164,163,186,-188,161,185,-165,164,185,-189,164,188,-166,165,188,-190,166,190,-168,167,190,-192,168,192,-167,166,192,-191,169,193,-171,170,193,-195,170,194,-169,168,194,-193,167,191,-172,171,191,-196,172,196,-170,169,196,-194,171,195,-174,173,195,-198,174,198,-173,172,198,-197,173,197,-176,175,197,-200,176,200,-175,174,200,-199,175,199,-178,177,199,-202,178,202,-177,176,202,-201,177,201,-180,179,201,-204,180,204,-179,178,204,-203,179,203,-182,181,203,-206,182,206,-181,180,206,-205,181,205,-184,183,205,-208,184,208,-183,182,208,-207,183,207,-186,185,207,-210,186,210,-188,187,210,-212,185,209,-189,188,209,-213,188,212,-190,189,212,-214,190,214,-192,191,214,-216,192,216,-191,190,216,-215,193,217,-195,194,217,-219,194, +218,-193,192,218,-217,191,215,-196,195,215,-220,196,220,-194,193,220,-218,195,219,-198,197,219,-222,198,222,-197,196,222,-221,197,221,-200,199,221,-224,200,224,-199,198,224,-223,199,223,-202,201,223,-226,202,226,-201,200,226,-225,201,225,-204,203,225,-228,204,228,-203,202,228,-227,203,227,-206,205,227,-230,206,230,-205,204,230,-229,205,229,-208,207,229,-232,208,232,-207,206,232,-231,207,231,-210,209,231,-234,210,234,-212,211,234,-236,209,233,-213,212,233,-237,212,236,-214,213,236,-238,214,238,-216,215,238,-240,216,240,-215,214,240,-239,217,241,-219,218,241,-243,218,242,-217,216,242,-241,215,239,-220,219,239,-244,220,244,-218,217,244,-242,219,243,-222,221,243,-246,222,246,-221,220,246,-245,221,245,-224,223,245,-248,224,248,-223,222,248,-247,223,247,-226,225,247,-250,226,250,-225,224,250,-249,225,249,-228,227,249,-252,228,252,-227,226,252,-251,227,251,-230,229,251,-254,230,254,-229,228,254,-253,229,253,-232,231,253,-256,232,256,-231,230,256,-255,231,255,-234,233,255,-258,234,258,-236,235,258,-260,233,257,-237,236,257,-261,236,260,-238,237,260,-262,238,4,-240,239,4,-6,240,6,-239,238,6,-5,262,264,-264,263,264,-266,263,265,-267,266,265,-268,239,5,-244,243,5,-20,268,269,-263,262,269,-265,243,19,-246,245,19,-26,270,271,-269,268,271,-270,245,25,-248,247,25,-32,272,273,-271,270,273,-272,247,31,-250,249,31,-38,274,275,-273,272,275,-274,249,37,-252,251,37,-44,276,277,-275,274,277,-276,251,43,-254,253,43,-50,278,279,-277,276,279,-278,253,49,-256,255,49,-56,259,280,-279,278,280,-280,255,55,-258,257,55,-62,258,281,-260,259,281,-281,257,61,-261,260,61,-66,260,65,-262,261,65,-65,242,282,-241,240,282,-284,7,284,-19,18,284,-286,240,283,-7,6,283,-287,6,286,-8,7,286,-285,241,287,-243,242,287,-283,18,285,-25,24,285,-289,244,289,-242,241,289,-288,24,288,-31,30,288,-291,246,291,-245,244,291,-290,30,290,-37,36,290,-293,248,293,-247,246,293,-292,36,292,-43,42,292,-295,250,295,-249,248,295,-294,42,294,-49,48,294,-297,252,297,-251,250,297,-296,48,296,-55,54,296,-299,254,299,-253,252,299,-298,54,298,-61,60,298,-301,256,301,-255,254,301,-300, +60,300,-65,64,300,-303,10,303,-12,11,303,-305,64,302,-262,261,302,-306,62,306,-64,63,306,-308,261,305,-238,237,305,-309,232,309,-257,256,309,-302,237,308,-214,213,308,-311,208,311,-233,232,311,-310,213,310,-190,189,310,-313,184,313,-209,208,313,-312,189,312,-166,165,312,-315,160,315,-185,184,315,-314,165,314,-142,141,314,-317,136,317,-161,160,317,-316,141,316,-118,117,316,-319,112,319,-137,136,319,-318,117,318,-94,93,318,-321,88,321,-113,112,321,-320,93,320,-11,10,320,-304,63,307,-89,88,307,-322,11,304,-63,62,304,-307,282,322,-284,283,322,-324,284,324,-286,285,324,-326,283,323,-287,286,323,-327,286,326,-285,284,326,-325,287,327,-283,282,327,-323,285,325,-289,288,325,-329,289,329,-288,287,329,-328,288,328,-291,290,328,-331,291,331,-290,289,331,-330,290,330,-293,292,330,-333,293,333,-292,291,333,-332,292,332,-295,294,332,-335,295,335,-294,293,335,-334,294,334,-297,296,334,-337,297,337,-296,295,337,-336,296,336,-299,298,336,-339,299,339,-298,297,339,-338,298,338,-301,300,338,-341,301,341,-300,299,341,-340,300,340,-303,302,340,-343,303,343,-305,304,343,-345,302,342,-306,305,342,-346,306,346,-308,307,346,-348,305,345,-309,308,345,-349,309,349,-302,301,349,-342,308,348,-311,310,348,-351,311,351,-310,309,351,-350,310,350,-313,312,350,-353,313,353,-312,311,353,-352,312,352,-315,314,352,-355,315,355,-314,313,355,-354,314,354,-317,316,354,-357,317,357,-316,315,357,-356,316,356,-319,318,356,-359,319,359,-318,317,359,-358,318,358,-321,320,358,-361,321,361,-320,319,361,-360,320,360,-304,303,360,-344,307,347,-322,321,347,-362,304,344,-307,306,344,-347,322,263,-324,323,263,-267,324,265,-326,325,265,-265,323,266,-327,326,266,-268,326,267,-325,324,267,-266,327,262,-323,322,262,-264,325,264,-329,328,264,-270,329,268,-328,327,268,-263,328,269,-331,330,269,-272,331,270,-330,329,270,-269,330,271,-333,332,271,-274,333,272,-332,331,272,-271,332,273,-335,334,273,-276,335,274,-334,333,274,-273,334,275,-337,336,275,-278,337,276,-336,335,276,-275,336,277,-339,338,277,-280,339,278,-338,337,278,-277,338,279,-341,340,279,-281,341,259,-340,339, +259,-279,340,280,-343,342,280,-282,343,69,-345,344,69,-69,342,281,-346,345,281,-259,346,66,-348,347,66,-68,345,258,-349,348,258,-235,349,235,-342,341,235,-260,348,234,-351,350,234,-211,351,211,-350,349,211,-236,350,210,-353,352,210,-187,353,187,-352,351,187,-212,352,186,-355,354,186,-163,355,163,-354,353,163,-188,354,162,-357,356,162,-139,357,139,-356,355,139,-164,356,138,-359,358,138,-115,359,115,-358,357,115,-140,358,114,-361,360,114,-91,361,91,-360,359,91,-116,360,90,-344,343,90,-70,347,67,-362,361,67,-92,344,68,-347,346,68,-67 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *6480 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0 + } + NormalsW: *2160 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *6480 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0 + } + BinormalsW: *2160 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *6480 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1, +-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + TangentsW: *2160 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *2028 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *2160 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,94,96,95,95,96,97,23,98,21,21,98,99,3,100,1,1,100,101,31,102,19,19,102,103,19,103,17,17,103,104,21,99,24,24,99,105,39,106,31,31,106,102,24,105,32,32,105,107,47,108,39,39,108,106,32,107,40,40,107,109,55,110,47,47,110,108,40,109,48,48,109,111,63,112,55,55,112,110,48,111,56,56,111,113,71,114,63,63,114,112,56,113,64,64,113,115,79,116,71,71,116,114,64,115,72,72,115,117,87,118,79,79,118,116,72,117,80,80,117,119,97,120,95,95,120,121,80,119,88,88,119,122,8,123,10,10,123,124,98,125,99,99,125,126,100,127,101,101,127,128,102,129,103,103,129,130,103,130,104,104,130,131,99,126,105,105,126,132,106,133,102,102,133,129,105,132,107,107,132,134,108,135,106,106,135,133,107,134,109,109,134,136,110,137,108,108,137,135,109,136,111,111,136,138,112,139,110,110,139,137,111,138,113,113,138,140,114,141,112,112,141,139,113,140,115,115,140,142,116,143,114,114,143,141,115,142,117,117,142,144,118,145,116,116,145,143,117,144,119,119,144,146,120,147,121,121,147,148,119,146,122,122,146,149,123,150,124,124,150,151,125,152,126,126,152,153,127,154,128,128,154,155,129,156,130,130,156,157,130,157,131,131,157,158,126,153,132,132,153,159,133,160,129,129,160,156,132,159,134,134,159,161,135,162,133,133,162,160,134,161,136,136,161,163,137,164,135,135,164,162,136,163,138,138,163,165,139,166,137,137,166,164,138,165,140,140,165,167, +141,168,139,139,168,166,140,167,142,142,167,169,143,170,141,141,170,168,142,169,144,144,169,171,145,172,143,143,172,170,144,171,146,146,171,173,147,174,148,148,174,175,146,173,149,149,173,176,150,177,151,151,177,178,152,179,153,153,179,180,154,181,155,155,181,182,156,183,157,157,183,184,157,184,158,158,184,185,153,180,159,159,180,186,160,187,156,156,187,183,159,186,161,161,186,188,162,189,160,160,189,187,161,188,163,163,188,190,164,191,162,162,191,189,163,190,165,165,190,192,166,193,164,164,193,191,165,192,167,167,192,194,168,195,166,166,195,193,167,194,169,169,194,196,170,197,168,168,197,195,169,196,171,171,196,198,172,199,170,170,199,197,171,198,173,173,198,200,174,201,175,175,201,202,173,200,176,176,200,203,177,204,178,178,204,205,179,206,180,180,206,207,181,208,182,182,208,209,183,210,184,184,210,211,184,211,185,185,211,212,180,207,186,186,207,213,187,214,183,183,214,210,186,213,188,188,213,215,189,216,187,187,216,214,188,215,190,190,215,217,191,218,189,189,218,216,190,217,192,192,217,219,193,220,191,191,220,218,192,219,194,194,219,221,195,222,193,193,222,220,194,221,196,196,221,223,197,224,195,195,224,222,196,223,198,198,223,225,199,226,197,197,226,224,198,225,200,200,225,227,201,228,202,202,228,229,200,227,203,203,227,230,204,231,205,205,231,232,206,233,207,207,233,234,208,235,209,209,235,236,210,237,211,211,237,238,211,238,212,212,238,239,207,234,213,213,234,240,214,241,210,210,241,237,213,240,215,215,240,242,216,243,214,214,243,241,215,242,217,217,242,244,218,245,216,216,245,243,217,244,219,219,244,246,220,247,218,218,247,245,219,246,221,221,246,248,222,249,220,220,249,247,221,248,223,223,248,250,224,251,222,222,251,249,223,250,225,225,250,252,226,253,224,224,253,251,225,252,227,227,252,254,228,255,229,229,255,256,227,254,230,230,254,257,231,258,232,232,258,259,233,260,234,234,260,261,235,262,236,236,262,263,237,264,238,238,264,265,238,265,239,239,265,266,234,261,240,240,261,267,241,268,237,237,268,264,240,267,242,242,267,269,243,270,241,241,270,268,242,269,244,244,269,271,245,272,243,243,272,270,244,271,246, +246,271,273,247,274,245,245,274,272,246,273,248,248,273,275,249,276,247,247,276,274,248,275,250,250,275,277,251,278,249,249,278,276,250,277,252,252,277,279,253,280,251,251,280,278,252,279,254,254,279,281,255,282,256,256,282,283,254,281,257,257,281,284,258,285,259,259,285,286,260,287,261,261,287,288,262,289,263,263,289,290,264,291,265,265,291,292,265,292,266,266,292,293,261,288,267,267,288,294,268,295,264,264,295,291,267,294,269,269,294,296,270,297,268,268,297,295,269,296,271,271,296,298,272,299,270,270,299,297,271,298,273,273,298,300,274,301,272,272,301,299,273,300,275,275,300,302,276,303,274,274,303,301,275,302,277,277,302,304,278,305,276,276,305,303,277,304,279,279,304,306,280,307,278,278,307,305,279,306,281,281,306,308,282,309,283,283,309,310,281,308,284,284,308,311,285,312,286,286,312,313,287,314,288,288,314,315,289,316,290,290,316,317,318,320,319,319,320,321,319,321,322,322,321,323,288,315,294,294,315,324,325,326,318,318,326,320,294,324,296,296,324,327,328,329,325,325,329,326,296,327,298,298,327,330,331,332,328,328,332,329,298,330,300,300,330,333,334,335,331,331,335,332,300,333,302,302,333,336,337,338,334,334,338,335,302,336,304,304,336,339,340,341,337,337,341,338,304,339,306,306,339,342,310,343,340,340,343,341,306,342,308,308,342,344,309,345,310,310,345,343,308,344,311,311,344,346,312,347,313,313,347,348,349,351,350,350,351,352,7,353,26,26,353,354,289,355,316,316,355,356,6,357,7,7,357,353,358,359,349,349,359,351,26,354,34,34,354,360,361,362,358,358,362,359,34,360,42,42,360,363,364,365,361,361,365,362,42,363,50,50,363,366,367,368,364,364,368,365,50,366,58,58,366,369,370,371,367,367,371,368,58,369,66,66,369,372,373,374,370,370,374,371,66,372,74,74,372,375,376,377,373,373,377,374,74,375,82,82,375,378,379,380,376,376,380,377,82,378,90,90,378,381,10,382,11,11,382,383,348,384,313,313,384,385,386,388,387,387,388,389,313,385,286,286,385,390,391,393,392,392,393,394,286,390,259,259,390,395,396,397,391,391,397,393,259,395,232,232,395,398,399,400,396,396,400,397,232,398,205,205,398,401,402,403,399,399,403,400,205,401,178, +178,401,404,405,406,402,402,406,403,178,404,151,151,404,407,408,409,405,405,409,406,151,407,124,124,407,410,411,412,408,408,412,409,124,410,10,10,410,382,387,389,411,411,389,412,93,413,85,85,413,414,351,415,352,352,415,416,353,417,354,354,417,418,355,419,356,356,419,420,357,421,353,353,421,417,359,422,351,351,422,415,354,418,360,360,418,423,362,424,359,359,424,422,360,423,363,363,423,425,365,426,362,362,426,424,363,425,366,366,425,427,368,428,365,365,428,426,366,427,369,369,427,429,371,430,368,368,430,428,369,429,372,372,429,431,374,432,371,371,432,430,372,431,375,375,431,433,377,434,374,374,434,432,375,433,378,378,433,435,380,436,377,377,436,434,378,435,381,381,435,437,382,438,383,383,438,439,384,440,385,385,440,441,388,442,389,389,442,443,385,441,390,390,441,444,393,445,394,394,445,446,390,444,395,395,444,447,397,448,393,393,448,445,395,447,398,398,447,449,400,450,397,397,450,448,398,449,401,401,449,451,403,452,400,400,452,450,401,451,404,404,451,453,406,454,403,403,454,452,404,453,407,407,453,455,409,456,406,406,456,454,407,455,410,410,455,457,412,458,409,409,458,456,410,457,382,382,457,438,389,443,412,412,443,458,413,459,414,414,459,460,415,461,416,416,461,462,417,463,418,418,463,464,419,465,420,420,465,466,421,467,417,417,467,463,422,468,415,415,468,461,418,464,423,423,464,469,424,470,422,422,470,468,423,469,425,425,469,471,426,472,424,424,472,470,425,471,427,427,471,473,428,474,426,426,474,472,427,473,429,429,473,475,430,476,428,428,476,474,429,475,431,431,475,477,432,478,430,430,478,476,431,477,433,433,477,479,434,480,432,432,480,478,433,479,435,435,479,481,436,482,434,434,482,480,435,481,437,437,481,483,438,484,439,439,484,485,440,486,441,441,486,487,442,488,443,443,488,489,441,487,444,444,487,490,445,491,446,446,491,492,444,490,447,447,490,493,448,494,445,445,494,491,447,493,449,449,493,495,450,496,448,448,496,494,449,495,451,451,495,497,452,498,450,450,498,496,451,497,453,453,497,499,454,500,452,452,500,498,453,499,455,455,499,501,456,502,454,454,502,500,455,501,457,457,501,503,458,504,456,456,504,502,457, +503,438,438,503,484,443,489,458,458,489,504,459,505,460,460,505,506 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *1014 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-2,0,-2,-2,1,-2,0,2,0,2,1,0,-2,1,-2,-1,-3,0,-3,-3,1,-3,0,3,0,3,1,0,-3,1,-3,-1,-4,0,-4,-4,1,-4,0,4,0,4,1,0,-4,1,-4,-1,-5,0,-5,-5,1,-5,0,5,0,5,1,0,-5,1,-5,-1,-6,0,-6,-6,1,-6,0,6,0,6,1,0,-6,1,-6,-1,-7,0,-7,-7,1,-7,0,7,0,7,1,0,-7,1,-7,-1,-8,0,-8,-8,1,-8,0,8,0,8,1,0,-8,1,-8,-1,-9,0,-9,-9,1,-9,0,9,0,9,1,0,-9,1,-9,-1,-10,0,-10,-10,1,-10,0,10,0,10,1,0,-9,1,-9,0,-10,1,-10,-2,0,-2,-1,-2,1,-2,0,2,-2,2,-1,2,0,-2,-2,2,-3,-2,-3,2,-4,-2,-4,2,-5,-2,-5,2,-6,-2,-6,2,-7,-2,-7,2,-8,-2,-8,2,-9,-2,-9,2,-10,2,-9,-2,-10,2,0,2,1,-3,0,-3,-1,-3,1,-3,0,3,-2,3,-1,3,0,-3,-2,3,-3,-3,-3,3,-4,-3,-4,3,-5,-3,-5,3,-6,-3,-6,3,-7,-3,-7,3,-8,-3,-8,3,-9,-3,-9,3,-10,3,-9,-3,-10,3,0,3,1,-4,0,-4,-1,-4,1,-4,0,4,-2,4,-1,4,0,-4,-2,4,-3,-4,-3,4,-4,-4,-4,4,-5,-4,-5,4,-6,-4,-6,4,-7,-4,-7,4,-8,-4,-8,4,-9,-4,-9,4,-10,4,-9,-4,-10,4,0,4,1,-5,0,-5,-1,-5,1,-5,0,5,-2,5,-1,5,0,-5,-2,5,-3,-5,-3,5,-4,-5,-4,5,-5,-5,-5,5,-6,-5,-6,5,-7,-5,-7,5,-8,-5,-8,5,-9,-5,-9,5,-10,5,-9,-5,-10,5,0,5,1,-6,0,-6,-1,-6,1,-6,0,6,-2,6,-1,6,0,-6,-2,6,-3,-6,-3,6,-4,-6,-4,6,-5,-6,-5,6,-6,-6,-6,6,-7,-6,-7,6,-8,-6,-8,6,-9,-6,-9,6,-10,6,-9,-6,-10,6,0,6,1,-7,0,-7,-1,-7,1,-7,0,7,-2,7,-1,7,0,-7,-2,7,-3,-7,-3,7,-4,-7,-4,7,-5,-7,-5,7,-6,-7,-6,7,-7,-7,-7,7,-8,-7,-8,7,-9,-7,-9,7,-10,7,-9,-7,-10,7,0,7,1,-8,0,-8,-1,-8,1,-8,0,8,-2,8,-1,8,0,-8,-2,8,-3,-8,-3,8,-4,-8,-4,8,-5,-8,-5,8,-6,-8,-6,8,-7,-8,-7,8,-8,-8,-8,8,-9,-8,-9,8,-10,8,-9,-8,-10,8,0,8,1,-9,0,-9,-1,-9,1,-9,0,9,-2,9,-1,9,0,-9,-2,9,-3,-9,-3,9,-4,-9,-4,9,-5,-9,-5,9,-6,-9,-6,9,-7,-9,-7,9,-8,-9,-8,9,-9,-9,-9,9,-10,9,-9,-9,-10,9,0,9,1,-10,0,-10,-1,-10,1,-10,0,9,-2,9,-1,10,-2,10,-1,9,0,10,0,-10,-2,9,-3,10,-3,-10,-3,9,-4,10,-4,-10,-4,9,-5,10,-5,-10,-5,9,-6,10,-6,-10,-6,9,-7,10,-7,-10,-7,9,-8,10,-8,-10,-8,10,-9,-10,-9,10,-10,-10,-10,10,0,10,1,1,1,0,1,1,2,0,2,-1,2,-2,2,-9,2,-10,2,0,2,2,1,2,2,-3,2,3,1,3,2,-4,2,4,1,4,2,-5,2,5,1,5,2,-6,2,6,1,6,2,-7,2,7,1,7,2,-8,2,8,1,8,2,-9,2,9,1,9,2,-10,2,1,2,0,2,10,2,9,2,0,1,-1,1,0,2,-1,2,8,2,-8,1, +-9,1,-8,2,-9,2,7,2,-7,1,-7,2,6,2,-6,1,-6,2,5,2,-5,1,-5,2,4,2,-4,1,-4,2,3,2,-3,1,-3,2,2,2,-2,1,-2,2,10,2,9,2,1,3,0,3,-1,3,-2,3,-9,3,-10,3,0,3,2,3,-3,3,3,3,-4,3,4,3,-5,3,5,3,-6,3,6,3,-7,3,7,3,-8,3,8,3,-9,3,9,3,-10,3,1,3,0,3,10,3,9,3,0,3,-1,3,8,3,-8,3,-9,3,7,3,-7,3,6,3,-6,3,5,3,-5,3,4,3,-4,3,3,3,-3,3,2,3,-2,3,10,3,9,3,1,4,0,4,-1,4,-2,4,-9,4,-10,4,0,4,2,4,-3,4,3,4,-4,4,4,4,-5,4,5,4,-6,4,6,4,-7,4,7,4,-8,4,8,4,-9,4,9,4,-10,4,1,4,0,4,10,4,9,4,0,4,-1,4,8,4,-8,4,-9,4,7,4,-7,4,6,4,-6,4,5,4,-5,4,4,4,-4,4,3,4,-3,4,2,4,-2,4,10,4,9,4 + } + UVIndex: *2160 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,94,96,95,95,96,97,23,98,21,21,98,99,3,100,1,1,100,101,31,102,19,19,102,103,19,103,17,17,103,104,21,99,24,24,99,105,39,106,31,31,106,102,24,105,32,32,105,107,47,108,39,39,108,106,32,107,40,40,107,109,55,110,47,47,110,108,40,109,48,48,109,111,63,112,55,55,112,110,48,111,56,56,111,113,71,114,63,63,114,112,56,113,64,64,113,115,79,116,71,71,116,114,64,115,72,72,115,117,87,118,79,79,118,116,72,117,80,80,117,119,97,120,95,95,120,121,80,119,88,88,119,122,8,123,10,10,123,124,98,125,99,99,125,126,100,127,101,101,127,128,102,129,103,103,129,130,103,130,104,104,130,131,99,126,105,105,126,132,106,133,102,102,133,129,105,132,107,107,132,134,108,135,106,106,135,133,107,134,109,109,134,136,110,137,108,108,137,135,109,136,111,111,136,138,112,139,110,110,139,137,111,138,113,113,138,140,114,141,112,112,141,139,113,140,115,115,140,142,116,143,114,114,143,141,115,142,117,117,142,144,118,145,116,116,145,143,117,144,119,119,144,146,120,147,121,121,147,148,119,146,122,122,146,149,123,150,124,124,150,151,125,152,126,126,152,153,127,154,128,128,154,155,129,156,130,130,156,157,130,157,131,131,157,158,126,153,132,132,153,159,133,160,129,129,160,156,132,159,134,134,159,161,135,162,133,133,162,160,134,161,136,136,161,163,137,164,135,135,164,162,136,163,138,138,163,165,139,166,137,137,166,164,138,165,140,140,165,167, +141,168,139,139,168,166,140,167,142,142,167,169,143,170,141,141,170,168,142,169,144,144,169,171,145,172,143,143,172,170,144,171,146,146,171,173,147,174,148,148,174,175,146,173,149,149,173,176,150,177,151,151,177,178,152,179,153,153,179,180,154,181,155,155,181,182,156,183,157,157,183,184,157,184,158,158,184,185,153,180,159,159,180,186,160,187,156,156,187,183,159,186,161,161,186,188,162,189,160,160,189,187,161,188,163,163,188,190,164,191,162,162,191,189,163,190,165,165,190,192,166,193,164,164,193,191,165,192,167,167,192,194,168,195,166,166,195,193,167,194,169,169,194,196,170,197,168,168,197,195,169,196,171,171,196,198,172,199,170,170,199,197,171,198,173,173,198,200,174,201,175,175,201,202,173,200,176,176,200,203,177,204,178,178,204,205,179,206,180,180,206,207,181,208,182,182,208,209,183,210,184,184,210,211,184,211,185,185,211,212,180,207,186,186,207,213,187,214,183,183,214,210,186,213,188,188,213,215,189,216,187,187,216,214,188,215,190,190,215,217,191,218,189,189,218,216,190,217,192,192,217,219,193,220,191,191,220,218,192,219,194,194,219,221,195,222,193,193,222,220,194,221,196,196,221,223,197,224,195,195,224,222,196,223,198,198,223,225,199,226,197,197,226,224,198,225,200,200,225,227,201,228,202,202,228,229,200,227,203,203,227,230,204,231,205,205,231,232,206,233,207,207,233,234,208,235,209,209,235,236,210,237,211,211,237,238,211,238,212,212,238,239,207,234,213,213,234,240,214,241,210,210,241,237,213,240,215,215,240,242,216,243,214,214,243,241,215,242,217,217,242,244,218,245,216,216,245,243,217,244,219,219,244,246,220,247,218,218,247,245,219,246,221,221,246,248,222,249,220,220,249,247,221,248,223,223,248,250,224,251,222,222,251,249,223,250,225,225,250,252,226,253,224,224,253,251,225,252,227,227,252,254,228,255,229,229,255,256,227,254,230,230,254,257,231,258,232,232,258,259,233,260,234,234,260,261,235,262,236,236,262,263,237,264,238,238,264,265,238,265,239,239,265,266,234,261,240,240,261,267,241,268,237,237,268,264,240,267,242,242,267,269,243,270,241,241,270,268,242,269,244,244,269,271,245,272,243,243,272,270,244,271,246, +246,271,273,247,274,245,245,274,272,246,273,248,248,273,275,249,276,247,247,276,274,248,275,250,250,275,277,251,278,249,249,278,276,250,277,252,252,277,279,253,280,251,251,280,278,252,279,254,254,279,281,255,282,256,256,282,283,254,281,257,257,281,284,258,285,259,259,285,286,260,287,261,261,287,288,262,289,263,263,289,290,264,291,265,265,291,292,265,292,266,266,292,293,261,288,267,267,288,294,268,295,264,264,295,291,267,294,269,269,294,296,270,297,268,268,297,295,269,296,271,271,296,298,272,299,270,270,299,297,271,298,273,273,298,300,274,301,272,272,301,299,273,300,275,275,300,302,276,303,274,274,303,301,275,302,277,277,302,304,278,305,276,276,305,303,277,304,279,279,304,306,280,307,278,278,307,305,279,306,281,281,306,308,282,309,283,283,309,310,281,308,284,284,308,311,285,312,286,286,312,313,287,314,288,288,314,315,289,316,290,290,316,317,318,320,319,319,320,321,319,321,322,322,321,323,288,315,294,294,315,324,325,326,318,318,326,320,294,324,296,296,324,327,328,329,325,325,329,326,296,327,298,298,327,330,331,332,328,328,332,329,298,330,300,300,330,333,334,335,331,331,335,332,300,333,302,302,333,336,337,338,334,334,338,335,302,336,304,304,336,339,340,341,337,337,341,338,304,339,306,306,339,342,310,343,340,340,343,341,306,342,308,308,342,344,309,345,310,310,345,343,308,344,311,311,344,346,312,347,313,313,347,348,349,351,350,350,351,352,7,353,26,26,353,354,289,355,316,316,355,356,6,357,7,7,357,353,358,359,349,349,359,351,26,354,34,34,354,360,361,362,358,358,362,359,34,360,42,42,360,363,364,365,361,361,365,362,42,363,50,50,363,366,367,368,364,364,368,365,50,366,58,58,366,369,370,371,367,367,371,368,58,369,66,66,369,372,373,374,370,370,374,371,66,372,74,74,372,375,376,377,373,373,377,374,74,375,82,82,375,378,379,380,376,376,380,377,82,378,90,90,378,381,10,382,11,11,382,383,348,384,313,313,384,385,386,388,387,387,388,389,313,385,286,286,385,390,391,393,392,392,393,394,286,390,259,259,390,395,396,397,391,391,397,393,259,395,232,232,395,398,399,400,396,396,400,397,232,398,205,205,398,401,402,403,399,399,403,400,205,401,178, +178,401,404,405,406,402,402,406,403,178,404,151,151,404,407,408,409,405,405,409,406,151,407,124,124,407,410,411,412,408,408,412,409,124,410,10,10,410,382,387,389,411,411,389,412,93,413,85,85,413,414,351,415,352,352,415,416,353,417,354,354,417,418,355,419,356,356,419,420,357,421,353,353,421,417,359,422,351,351,422,415,354,418,360,360,418,423,362,424,359,359,424,422,360,423,363,363,423,425,365,426,362,362,426,424,363,425,366,366,425,427,368,428,365,365,428,426,366,427,369,369,427,429,371,430,368,368,430,428,369,429,372,372,429,431,374,432,371,371,432,430,372,431,375,375,431,433,377,434,374,374,434,432,375,433,378,378,433,435,380,436,377,377,436,434,378,435,381,381,435,437,382,438,383,383,438,439,384,440,385,385,440,441,388,442,389,389,442,443,385,441,390,390,441,444,393,445,394,394,445,446,390,444,395,395,444,447,397,448,393,393,448,445,395,447,398,398,447,449,400,450,397,397,450,448,398,449,401,401,449,451,403,452,400,400,452,450,401,451,404,404,451,453,406,454,403,403,454,452,404,453,407,407,453,455,409,456,406,406,456,454,407,455,410,410,455,457,412,458,409,409,458,456,410,457,382,382,457,438,389,443,412,412,443,458,413,459,414,414,459,460,415,461,416,416,461,462,417,463,418,418,463,464,419,465,420,420,465,466,421,467,417,417,467,463,422,468,415,415,468,461,418,464,423,423,464,469,424,470,422,422,470,468,423,469,425,425,469,471,426,472,424,424,472,470,425,471,427,427,471,473,428,474,426,426,474,472,427,473,429,429,473,475,430,476,428,428,476,474,429,475,431,431,475,477,432,478,430,430,478,476,431,477,433,433,477,479,434,480,432,432,480,478,433,479,435,435,479,481,436,482,434,434,482,480,435,481,437,437,481,483,438,484,439,439,484,485,440,486,441,441,486,487,442,488,443,443,488,489,441,487,444,444,487,490,445,491,446,446,491,492,444,490,447,447,490,493,448,494,445,445,494,491,447,493,449,449,493,495,450,496,448,448,496,494,449,495,451,451,495,497,452,498,450,450,498,496,451,497,453,453,497,499,454,500,452,452,500,498,453,499,455,455,499,501,456,502,454,454,502,500,455,501,457,457,501,503,458,504,456,456,504,502,457, +503,438,438,503,484,443,489,458,458,489,504,459,505,460,460,505,506 + } + } + LayerElementUV: 1 { + Version: 101 + Name: "UVSet1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *1014 { + a: 0.363608628511429,0.363610059022903,0.399169474840164,0.363610059022903,0.363608628511429,0.399170935153961,0.399169474840164,0.399170935153961,0.363609701395035,0.00400000018998981,0.399170637130737,0.00400005048140883,0.36360964179039,0.0395608693361282,0.39917054772377,0.0395609475672245,0.683657228946686,0.150243893265724,0.719218075275421,0.150243788957596,0.683657288551331,0.185804694890976,0.719218134880066,0.185804605484009,0.324047684669495,0.723218619823456,0.359608620405197,0.723218619823456,0.324047684669495,0.758779466152191,0.359608620405197,0.758779466152191,0.683655917644501,0.509853422641754,0.68365603685379,0.5454141497612,0.648095190525055,0.509853541851044,0.648095309734344,0.54541426897049,0.00400007981806993,0.0395612344145775,0.0395609438419342,0.0395611859858036,0.00400000018998981,0.00400033313781023,0.0395609252154827,0.00400031264871359,0.0395609848201275,0.0751220658421516,0.0040001580491662,0.0751221030950546,0.43473145365715,0.0395610108971596,0.434731483459473,0.00400013104081154,0.288486838340759,0.723218619823456,0.288486838340759,0.758779466152191,0.612534463405609,0.509853601455688,0.612534523010254,0.545414328575134,0.0395610220730305,0.110682904720306,0.00400023208931088,0.110682934522629,0.470292299985886,0.0395610667765141,0.470292329788208,0.00400018831714988,0.252925962209702,0.723218619823456,0.252925962209702,0.758779466152191,0.576973736286163,0.509853661060333,0.576973795890808,0.545414388179779,0.039561040699482,0.146243691444397,0.00400028610602021,0.146243706345558,0.505853116512299,0.0395610928535461,0.505853176116943,0.0040002460591495,0.217365175485611,0.723218619823456,0.217365175485611,0.758779466152191,0.541413009166718,0.509853720664978,0.541413009166718,0.545414447784424,0.0395610481500626,0.181804478168488,0.0040003196336329,0.181804463267326,0.541413962841034,0.0395611003041267,0.541413962841034,0.00400026841089129,0.181804373860359,0.723218619823456,0.181804373860359,0.758779466152191,0.505852282047272,0.509853720664978,0.505852282047272, +0.545414447784424,0.0395610257983208,0.217365220189095,0.00400032009929419,0.217365175485611,0.576974809169769,0.0395610891282558,0.576974749565125,0.0040002609603107,0.146243512630463,0.723218619823456,0.146243512630463,0.758779466152191,0.470291495323181,0.509853661060333,0.470291495323181,0.545414447784424,0.0395609810948372,0.252925962209702,0.00400028750300407,0.252925872802734,0.612535655498505,0.0395610518753529,0.612535536289215,0.00400022370740771,0.110682643949986,0.723218619823456,0.110682643949986,0.758779466152191,0.434730678796768,0.509853601455688,0.434730648994446,0.545414388179779,0.0395609103143215,0.288486659526825,0.00400022091343999,0.288486570119858,0.648096442222595,0.0395609922707081,0.64809638261795,0.00400018086656928,0.0751217752695084,0.723218619823456,0.0751217752695084,0.758779466152191,0.399169832468033,0.509853541851044,0.399169772863388,0.545414388179779,0.0395608060061932,0.324047386646271,0.0040001249872148,0.324047297239304,0.683657288551331,0.039560928940773,0.683657228946686,0.00400012219324708,0.0395608991384506,0.723218619823456,0.0395608991384506,0.758779466152191,0.363608926534653,0.509853422641754,0.36360889673233,0.545414328575134,0.0395606979727745,0.359608113765717,0.00400000018998981,0.359607994556427,0.719218134880066,0.0395608432590961,0.719218015670776,0.00400002161040902,0.00400001974776387,0.723218619823456,0.004000015091151,0.758779466152191,0.0395609587430954,0.363610059022903,0.0395609550178051,0.399170964956284,0.00400006398558617,0.363610059022903,0.00400005979463458,0.399170964956284,0.0751217678189278,0.00400026328861713,0.0751217976212502,0.0395611263811588,0.4347303211689,0.399170935153961,0.4347303211689,0.363610059022903,0.612534582614899,0.58097505569458,0.648095369338989,0.580974996089935,0.683656096458435,0.580974876880646,0.0751218199729919,0.0751220211386681,0.576973855495453,0.58097517490387,0.0751218423247337,0.110682874917984,0.541413068771362,0.580975234508514,0.0751218423247337,0.146243676543236,0.505852282047272,0.580975234508514,0.0751218125224113, +0.181804478168488,0.470291465520859,0.580975294113159,0.0751217678189278,0.217365264892578,0.434730619192123,0.580975234508514,0.0751216933131218,0.252926021814346,0.399169713258743,0.580975234508514,0.0751216113567352,0.288486778736115,0.363608837127686,0.58097517490387,0.0751215070486069,0.324047476053238,0.00400005374103785,0.434731781482697,0.0395609550178051,0.434731781482697,0.0751213803887367,0.359608203172684,0.648096442222595,0.150243952870369,0.64809650182724,0.185804754495621,0.110682621598244,0.00400021066889167,0.110682658851147,0.0395610891282558,0.470291197299957,0.399170935153961,0.470291197299957,0.363610059022903,0.612534701824188,0.616535842418671,0.648095488548279,0.616535723209381,0.683656215667725,0.616535604000092,0.110682666301727,0.0751219913363457,0.576973915100098,0.61653596162796,0.110682666301727,0.110682867467403,0.541413128376007,0.616536021232605,0.110682658851147,0.146243691444397,0.505852282047272,0.61653608083725,0.110682606697083,0.18180450797081,0.470291465520859,0.61653608083725,0.110682539641857,0.217365324497223,0.434730559587479,0.61653608083725,0.110682442784309,0.252926111221313,0.399169683456421,0.61653608083725,0.110682338476181,0.288486868143082,0.363608777523041,0.616536021232605,0.110682211816311,0.324047595262527,0.0040000481531024,0.470292627811432,0.0395609512925148,0.470292627811432,0.110682055354118,0.359608322381973,0.61253559589386,0.150243997573853,0.612535655498505,0.185804814100266,0.14624348282814,0.00400014547631145,0.146243512630463,0.0395610630512238,0.505852043628693,0.399170935153961,0.505852043628693,0.363610059022903,0.612534821033478,0.652096629142761,0.648095607757568,0.652096509933472,0.683656394481659,0.652096331119537,0.146243527531624,0.0751219764351845,0.576973974704742,0.652096748352051,0.146243512630463,0.110682882368565,0.541413187980652,0.652096807956696,0.14624348282814,0.146243721246719,0.505852341651917,0.652096927165985,0.146243423223495,0.181804567575455,0.470291465520859,0.652096927165985,0.146243333816528,0.217365399003029,0.434730559587479, +0.65209698677063,0.146243214607239,0.252926200628281,0.399169653654099,0.65209698677063,0.146243095397949,0.288486987352371,0.363608717918396,0.652096927165985,0.146242931485176,0.324047744274139,0.00400004303082824,0.505853474140167,0.0395609512925148,0.505853474140167,0.146242752671242,0.359608501195908,0.576974749565125,0.150244012475014,0.576974809169769,0.185804843902588,0.181804373860359,0.0040000919252634,0.18180438876152,0.039561040699482,0.541412830352783,0.399170935153961,0.541412830352783,0.363610059022903,0.612534940242767,0.687657415866852,0.648095726966858,0.687657237052917,0.683656573295593,0.687657058238983,0.18180438876152,0.0751219764351845,0.576974093914032,0.687657594680786,0.181804373860359,0.110682897269726,0.541413247585297,0.687657654285431,0.181804329156876,0.146243765950203,0.505852341651917,0.68765777349472,0.18180425465107,0.181804627180099,0.470291495323181,0.687657833099365,0.181804150342941,0.217365488409996,0.434730559587479,0.687657833099365,0.181804016232491,0.25292631983757,0.399169623851776,0.687657833099365,0.181803852319717,0.288487136363983,0.363608658313751,0.687657833099365,0.181803673505783,0.324047923088074,0.0040000369772315,0.541414320468903,0.0395609475672245,0.541414320468903,0.181803464889526,0.359608709812164,0.541413962841034,0.150244042277336,0.541413962841034,0.18580487370491,0.217365294694901,0.00400004722177982,0.217365309596062,0.0395610295236111,0.576973736286163,0.399170935153961,0.576973736286163,0.363610059022903,0.612535059452057,0.723218262195587,0.648095905780792,0.723218083381653,0.683656752109528,0.723217844963074,0.217365294694901,0.0751219764351845,0.576974213123322,0.723218441009521,0.217365264892578,0.110682919621468,0.541413307189941,0.723218560218811,0.217365205287933,0.146243825554848,0.505852401256561,0.723218619823456,0.217365100979805,0.181804716587067,0.470291525125504,0.723218679428101,0.217364981770515,0.217365592718124,0.434730589389801,0.723218739032745,0.217364847660065,0.25292643904686,0.399169623851776,0.72321879863739,0.21736466884613, +0.288487315177917,0.363608628511429,0.72321879863739,0.217364460229874,0.32404813170433,0.00400002999231219,0.576975166797638,0.0395609401166439,0.576975166797638,0.217364221811295,0.359608948230743,0.505853176116943,0.150244027376175,0.505853176116943,0.185804858803749,0.252926260232925,0.00400001322850585,0.252926260232925,0.0395610295236111,0.612534582614899,0.399170935153961,0.612534582614899,0.363610088825226,0.612535238265991,0.758779108524323,0.648096144199371,0.758778929710388,0.683656990528107,0.758778691291809,0.252926230430603,0.0751220062375069,0.576974332332611,0.758779287338257,0.252926170825958,0.110682956874371,0.541413426399231,0.758779406547546,0.252926081418991,0.146243885159492,0.505852520465851,0.758779525756836,0.252925992012024,0.181804805994034,0.470291554927826,0.758779644966125,0.252925843000412,0.217365726828575,0.434730619192123,0.75877970457077,0.2529256939888,0.252926617860794,0.399169653654099,0.758779764175415,0.252925485372543,0.288487493991852,0.363608628511429,0.758779764175415,0.252925276756287,0.324048340320587,0.00400002207607031,0.612536013126373,0.0395609326660633,0.612536013126373,0.252925008535385,0.359609186649323,0.47029235959053,0.150243982672691,0.470292299985886,0.185804843902588,0.288487255573273,0.00400000018998981,0.28848722577095,0.039561040699482,0.648095488548279,0.399170964956284,0.648095488548279,0.363610088825226,0.612535417079926,0.794340014457703,0.648096323013306,0.794339835643768,0.683657228946686,0.794339597225189,0.288487195968628,0.0751220285892487,0.576974451541901,0.794340193271637,0.288487106561661,0.110683016479015,0.541413545608521,0.794340372085571,0.288487017154694,0.14624397456646,0.505852580070496,0.794340491294861,0.288486897945404,0.181804925203323,0.470291644334793,0.794340550899506,0.288486748933792,0.217365860939026,0.434730678796768,0.794340670108795,0.288486570119858,0.252926766872406,0.399169683456421,0.79434072971344,0.288486361503601,0.288487702608109,0.363608628511429,0.794340789318085,0.288486123085022,0.324048578739166,0.00400001415982842, +0.648096859455109,0.0395609214901924,0.648096919059753,0.28848585486412,0.359609484672546,0.434731513261795,0.150243908166885,0.43473145365715,0.185804784297943,0.324048280715942,0.00400001322850585,0.324048221111298,0.0395610742270947,0.683656275272369,0.399170964956284,0.683656275272369,0.363610088825226,0.612535536289215,0.829900920391083,0.648096561431885,0.829900741577148,0.683657467365265,0.829900503158569,0.324048161506653,0.0751220807433128,0.576974630355835,0.829901099205017,0.324048072099686,0.110683090984821,0.54141366481781,0.829901278018951,0.324047982692719,0.146244078874588,0.505852699279785,0.829901397228241,0.324047833681107,0.181805044412613,0.47029173374176,0.829901516437531,0.324047684669495,0.217366009950638,0.434730738401413,0.82990163564682,0.324047476053238,0.25292694568634,0.399169743061066,0.829901695251465,0.324047267436981,0.288487911224365,0.363608688116074,0.82990175485611,0.324047029018402,0.324048846960068,0.00400000670924783,0.683657705783844,0.0395609103143215,0.683657765388489,0.324046760797501,0.35960978269577,0.39917066693306,0.150243788957596,0.399170577526093,0.185804709792137,0.359609365463257,0.00400005653500557,0.35960927605629,0.0395611524581909,0.71921718120575,0.399170964956284,0.71921718120575,0.363610059022903,0.288486868143082,0.683657765388489,0.324047744274139,0.683657765388489,0.288486868143082,0.719218552112579,0.324047744274139,0.719218552112579,0.359608620405197,0.683657765388489,0.359608620405197,0.719218552112579,0.359609156847,0.07512217015028,0.252925992012024,0.683657765388489,0.252925992012024,0.719218611717224,0.359609067440033,0.110683187842369,0.217365175485611,0.683657765388489,0.217365175485611,0.719218611717224,0.359608948230743,0.146244183182716,0.181804358959198,0.683657765388489,0.181804358959198,0.719218611717224,0.359608799219131,0.181805193424225,0.146243527531624,0.683657765388489,0.146243527531624,0.719218611717224,0.359608620405197,0.217366173863411,0.11068270355463,0.683657765388489,0.11068269610405,0.719218611717224,0.359608441591263,0.252927154302597, +0.0751218050718307,0.683657765388489,0.0751217976212502,0.719218611717224,0.359608203172684,0.2884880900383,0.0395609028637409,0.719218552112579,0.359607934951782,0.324049115180969,0.00400000018998981,0.719218552112579,0.359607666730881,0.359610080718994,0.363609731197357,0.150243654847145,0.363609671592712,0.185804635286331,0.288486927747726,0.869462013244629,0.324047803878784,0.869461953639984,0.288486957550049,0.905022859573364,0.324047863483429,0.905022799968719,0.399170458316803,0.0751218125224113,0.434731364250183,0.0751218721270561,0.683656275272369,0.434731781482697,0.71921718120575,0.434731781482697,0.3636095225811,0.0751217380166054,0.252926081418991,0.869462013244629,0.252926051616669,0.905022859573364,0.470292240381241,0.0751219093799591,0.217365220189095,0.869462013244629,0.217365205287933,0.905022859573364,0.505853116512299,0.0751219317317009,0.181804373860359,0.869462013244629,0.181804344058037,0.905022859573364,0.541413962841034,0.0751219317317009,0.146243527531624,0.869462013244629,0.146243497729301,0.905022859573364,0.576974809169769,0.0751219093799591,0.110682681202888,0.869462013244629,0.110682658851147,0.905022859573364,0.612535655498505,0.0751218721270561,0.0751218274235725,0.869462013244629,0.0751217976212502,0.905022859573364,0.64809650182724,0.0751218125224113,0.0395609587430954,0.869461953639984,0.0395609177649021,0.905022859573364,0.683657348155975,0.0751217305660248,0.00400001695379615,0.869461953639984,0.00400000018998981,0.905022859573364,0.719218194484711,0.0751216411590576,0.68365740776062,0.221365511417389,0.719218194484711,0.221365422010422,0.363609552383423,0.221365511417389,0.399170488119125,0.221365600824356,0.363608658313751,0.833901762962341,0.399169534444809,0.833901822566986,0.363608628511429,0.869462668895721,0.399169504642487,0.869462668895721,0.434731364250183,0.22136564552784,0.648095548152924,0.833901822566986,0.683656454086304,0.833901762962341,0.648095607757568,0.869462668895721,0.683656454086304,0.869462668895721,0.470292270183563,0.221365690231323,0.612534701824188, +0.833901822566986,0.612534701824188,0.869462668895721,0.505853116512299,0.221365705132484,0.576973855495453,0.833901822566986,0.576973855495453,0.869462668895721,0.541413962841034,0.221365705132484,0.541412949562073,0.833901822566986,0.541412949562073,0.869462668895721,0.576974809169769,0.221365675330162,0.505852103233337,0.833901822566986,0.505852103233337,0.869462668895721,0.612535715103149,0.221365630626678,0.470291286706924,0.833901822566986,0.470291256904602,0.869462668895721,0.648096561431885,0.221365585923195,0.434730410575867,0.833901822566986,0.434730410575867,0.869462668895721,0.00400000903755426,0.794340312480927,0.0395608954131603,0.794340312480927,0.288486927747726,0.940583765506744,0.324047863483429,0.940583765506744,0.399170398712158,0.110682718455791,0.434731304645538,0.110682755708694,0.683656275272369,0.470292627811432,0.71921718120575,0.470292627811432,0.363609433174133,0.110682658851147,0.252926051616669,0.9405837059021,0.470292210578918,0.110682778060436,0.217365190386772,0.9405837059021,0.505853056907654,0.110682785511017,0.181804344058037,0.9405837059021,0.541413962841034,0.110682778060436,0.146243497729301,0.9405837059021,0.576974809169769,0.110682755708694,0.110682643949986,0.9405837059021,0.612535715103149,0.110682711005211,0.0751217901706696,0.9405837059021,0.648096561431885,0.110682658851147,0.0395609177649021,0.9405837059021,0.683657467365265,0.110682591795921,0.00400001695379615,0.940583765506744,0.719218313694,0.110682502388954,0.683657467365265,0.256926327943802,0.719218254089355,0.256926238536835,0.363609433174133,0.256926447153091,0.399170398712158,0.256926506757736,0.363608658313751,0.905023574829102,0.399169504642487,0.905023574829102,0.434731334447861,0.256926536560059,0.648095548152924,0.905023574829102,0.683656454086304,0.905023574829102,0.470292240381241,0.256926536560059,0.612534642219543,0.905023515224457,0.505853116512299,0.256926566362381,0.576973795890808,0.905023515224457,0.541413962841034,0.256926536560059,0.541412949562073,0.905023515224457,0.576974868774414,0.256926506757736, +0.505852103233337,0.905023515224457,0.612535715103149,0.256926476955414,0.470291256904602,0.905023515224457,0.648096561431885,0.256926417350769,0.434730380773544,0.905023515224457,0.0040000039152801,0.829901158809662,0.03956089168787,0.829901158809662,0.288486868143082,0.97614461183548,0.324047803878784,0.976144671440125,0.399170368909836,0.146243616938591,0.434731274843216,0.146243631839752,0.683656275272369,0.505853414535522,0.71921718120575,0.505853414535522,0.363609373569489,0.146243587136269,0.252925992012024,0.976144552230835,0.470292180776596,0.146243661642075,0.217365145683289,0.976144552230835,0.505853056907654,0.146243661642075,0.181804314255714,0.97614449262619,0.541413962841034,0.146243646740913,0.14624348282814,0.97614449262619,0.576974868774414,0.14624360203743,0.110682636499405,0.97614449262619,0.612535715103149,0.146243557333946,0.0751217976212502,0.976144552230835,0.64809662103653,0.146243497729301,0.0395609475672245,0.976144552230835,0.68365752696991,0.146243408322334,0.00400009891018271,0.97614461183548,0.719218373298645,0.146243318915367,0.68365752696991,0.292487174272537,0.719218373298645,0.29248708486557,0.363609373569489,0.292487382888794,0.399170398712158,0.292487412691116,0.363608747720718,0.940584480762482,0.399169564247131,0.940584421157837,0.434731304645538,0.292487412691116,0.648095488548279,0.940584421157837,0.683656454086304,0.940584480762482,0.470292210578918,0.292487442493439,0.612534642219543,0.940584361553192,0.505853116512299,0.292487442493439,0.576973736286163,0.940584361553192,0.541413962841034,0.292487412691116,0.541412949562073,0.940584301948547,0.576974868774414,0.292487382888794,0.505852103233337,0.940584301948547,0.612535774707794,0.292487323284149,0.470291256904602,0.940584301948547,0.64809662103653,0.292487263679504,0.434730410575867,0.940584361553192,0.00400000018998981,0.865461945533752,0.0395608879625797,0.865461945533752 + } + UVIndex: *2160 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,40,48,41,41,48,49,42,50,43,43,50,51,44,52,45,45,52,53,46,54,47,47,54,55,48,56,49,49,56,57,50,58,51,51,58,59,52,60,53,53,60,61,54,62,55,55,62,63,56,64,57,57,64,65,58,66,59,59,66,67,60,68,61,61,68,69,62,70,63,63,70,71,64,72,65,65,72,73,66,74,67,67,74,75,68,76,69,69,76,77,70,78,71,71,78,79,72,80,73,73,80,81,74,82,75,75,82,83,76,84,77,77,84,85,78,86,79,79,86,87,80,88,81,81,88,89,82,90,83,83,90,91,84,92,85,85,92,93,94,96,95,95,96,97,23,98,21,21,98,99,3,100,1,1,100,101,31,102,19,19,102,103,19,103,17,17,103,104,21,99,24,24,99,105,39,106,31,31,106,102,24,105,32,32,105,107,47,108,39,39,108,106,32,107,40,40,107,109,55,110,47,47,110,108,40,109,48,48,109,111,63,112,55,55,112,110,48,111,56,56,111,113,71,114,63,63,114,112,56,113,64,64,113,115,79,116,71,71,116,114,64,115,72,72,115,117,87,118,79,79,118,116,72,117,80,80,117,119,97,120,95,95,120,121,80,119,88,88,119,122,8,123,10,10,123,124,98,125,99,99,125,126,100,127,101,101,127,128,102,129,103,103,129,130,103,130,104,104,130,131,99,126,105,105,126,132,106,133,102,102,133,129,105,132,107,107,132,134,108,135,106,106,135,133,107,134,109,109,134,136,110,137,108,108,137,135,109,136,111,111,136,138,112,139,110,110,139,137,111,138,113,113,138,140,114,141,112,112,141,139,113,140,115,115,140,142,116,143,114,114,143,141,115,142,117,117,142,144,118,145,116,116,145,143,117,144,119,119,144,146,120,147,121,121,147,148,119,146,122,122,146,149,123,150,124,124,150,151,125,152,126,126,152,153,127,154,128,128,154,155,129,156,130,130,156,157,130,157,131,131,157,158,126,153,132,132,153,159,133,160,129,129,160,156,132,159,134,134,159,161,135,162,133,133,162,160,134,161,136,136,161,163,137,164,135,135,164,162,136,163,138,138,163,165,139,166,137,137,166,164,138,165,140,140,165,167, +141,168,139,139,168,166,140,167,142,142,167,169,143,170,141,141,170,168,142,169,144,144,169,171,145,172,143,143,172,170,144,171,146,146,171,173,147,174,148,148,174,175,146,173,149,149,173,176,150,177,151,151,177,178,152,179,153,153,179,180,154,181,155,155,181,182,156,183,157,157,183,184,157,184,158,158,184,185,153,180,159,159,180,186,160,187,156,156,187,183,159,186,161,161,186,188,162,189,160,160,189,187,161,188,163,163,188,190,164,191,162,162,191,189,163,190,165,165,190,192,166,193,164,164,193,191,165,192,167,167,192,194,168,195,166,166,195,193,167,194,169,169,194,196,170,197,168,168,197,195,169,196,171,171,196,198,172,199,170,170,199,197,171,198,173,173,198,200,174,201,175,175,201,202,173,200,176,176,200,203,177,204,178,178,204,205,179,206,180,180,206,207,181,208,182,182,208,209,183,210,184,184,210,211,184,211,185,185,211,212,180,207,186,186,207,213,187,214,183,183,214,210,186,213,188,188,213,215,189,216,187,187,216,214,188,215,190,190,215,217,191,218,189,189,218,216,190,217,192,192,217,219,193,220,191,191,220,218,192,219,194,194,219,221,195,222,193,193,222,220,194,221,196,196,221,223,197,224,195,195,224,222,196,223,198,198,223,225,199,226,197,197,226,224,198,225,200,200,225,227,201,228,202,202,228,229,200,227,203,203,227,230,204,231,205,205,231,232,206,233,207,207,233,234,208,235,209,209,235,236,210,237,211,211,237,238,211,238,212,212,238,239,207,234,213,213,234,240,214,241,210,210,241,237,213,240,215,215,240,242,216,243,214,214,243,241,215,242,217,217,242,244,218,245,216,216,245,243,217,244,219,219,244,246,220,247,218,218,247,245,219,246,221,221,246,248,222,249,220,220,249,247,221,248,223,223,248,250,224,251,222,222,251,249,223,250,225,225,250,252,226,253,224,224,253,251,225,252,227,227,252,254,228,255,229,229,255,256,227,254,230,230,254,257,231,258,232,232,258,259,233,260,234,234,260,261,235,262,236,236,262,263,237,264,238,238,264,265,238,265,239,239,265,266,234,261,240,240,261,267,241,268,237,237,268,264,240,267,242,242,267,269,243,270,241,241,270,268,242,269,244,244,269,271,245,272,243,243,272,270,244,271,246, +246,271,273,247,274,245,245,274,272,246,273,248,248,273,275,249,276,247,247,276,274,248,275,250,250,275,277,251,278,249,249,278,276,250,277,252,252,277,279,253,280,251,251,280,278,252,279,254,254,279,281,255,282,256,256,282,283,254,281,257,257,281,284,258,285,259,259,285,286,260,287,261,261,287,288,262,289,263,263,289,290,264,291,265,265,291,292,265,292,266,266,292,293,261,288,267,267,288,294,268,295,264,264,295,291,267,294,269,269,294,296,270,297,268,268,297,295,269,296,271,271,296,298,272,299,270,270,299,297,271,298,273,273,298,300,274,301,272,272,301,299,273,300,275,275,300,302,276,303,274,274,303,301,275,302,277,277,302,304,278,305,276,276,305,303,277,304,279,279,304,306,280,307,278,278,307,305,279,306,281,281,306,308,282,309,283,283,309,310,281,308,284,284,308,311,285,312,286,286,312,313,287,314,288,288,314,315,289,316,290,290,316,317,318,320,319,319,320,321,319,321,322,322,321,323,288,315,294,294,315,324,325,326,318,318,326,320,294,324,296,296,324,327,328,329,325,325,329,326,296,327,298,298,327,330,331,332,328,328,332,329,298,330,300,300,330,333,334,335,331,331,335,332,300,333,302,302,333,336,337,338,334,334,338,335,302,336,304,304,336,339,340,341,337,337,341,338,304,339,306,306,339,342,310,343,340,340,343,341,306,342,308,308,342,344,309,345,310,310,345,343,308,344,311,311,344,346,312,347,313,313,347,348,349,351,350,350,351,352,7,353,26,26,353,354,289,355,316,316,355,356,6,357,7,7,357,353,358,359,349,349,359,351,26,354,34,34,354,360,361,362,358,358,362,359,34,360,42,42,360,363,364,365,361,361,365,362,42,363,50,50,363,366,367,368,364,364,368,365,50,366,58,58,366,369,370,371,367,367,371,368,58,369,66,66,369,372,373,374,370,370,374,371,66,372,74,74,372,375,376,377,373,373,377,374,74,375,82,82,375,378,379,380,376,376,380,377,82,378,90,90,378,381,10,382,11,11,382,383,348,384,313,313,384,385,386,388,387,387,388,389,313,385,286,286,385,390,391,393,392,392,393,394,286,390,259,259,390,395,396,397,391,391,397,393,259,395,232,232,395,398,399,400,396,396,400,397,232,398,205,205,398,401,402,403,399,399,403,400,205,401,178, +178,401,404,405,406,402,402,406,403,178,404,151,151,404,407,408,409,405,405,409,406,151,407,124,124,407,410,411,412,408,408,412,409,124,410,10,10,410,382,387,389,411,411,389,412,93,413,85,85,413,414,351,415,352,352,415,416,353,417,354,354,417,418,355,419,356,356,419,420,357,421,353,353,421,417,359,422,351,351,422,415,354,418,360,360,418,423,362,424,359,359,424,422,360,423,363,363,423,425,365,426,362,362,426,424,363,425,366,366,425,427,368,428,365,365,428,426,366,427,369,369,427,429,371,430,368,368,430,428,369,429,372,372,429,431,374,432,371,371,432,430,372,431,375,375,431,433,377,434,374,374,434,432,375,433,378,378,433,435,380,436,377,377,436,434,378,435,381,381,435,437,382,438,383,383,438,439,384,440,385,385,440,441,388,442,389,389,442,443,385,441,390,390,441,444,393,445,394,394,445,446,390,444,395,395,444,447,397,448,393,393,448,445,395,447,398,398,447,449,400,450,397,397,450,448,398,449,401,401,449,451,403,452,400,400,452,450,401,451,404,404,451,453,406,454,403,403,454,452,404,453,407,407,453,455,409,456,406,406,456,454,407,455,410,410,455,457,412,458,409,409,458,456,410,457,382,382,457,438,389,443,412,412,443,458,413,459,414,414,459,460,415,461,416,416,461,462,417,463,418,418,463,464,419,465,420,420,465,466,421,467,417,417,467,463,422,468,415,415,468,461,418,464,423,423,464,469,424,470,422,422,470,468,423,469,425,425,469,471,426,472,424,424,472,470,425,471,427,427,471,473,428,474,426,426,474,472,427,473,429,429,473,475,430,476,428,428,476,474,429,475,431,431,475,477,432,478,430,430,478,476,431,477,433,433,477,479,434,480,432,432,480,478,433,479,435,435,479,481,436,482,434,434,482,480,435,481,437,437,481,483,438,484,439,439,484,485,440,486,441,441,486,487,442,488,443,443,488,489,441,487,444,444,487,490,445,491,446,446,491,492,444,490,447,447,490,493,448,494,445,445,494,491,447,493,449,449,493,495,450,496,448,448,496,494,449,495,451,451,495,497,452,498,450,450,498,496,451,497,453,453,497,499,454,500,452,452,500,498,453,499,455,455,499,501,456,502,454,454,502,500,455,501,457,457,501,503,458,504,456,456,504,502,457, +503,438,438,503,484,443,489,458,458,489,504,459,505,460,460,505,506 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "Material" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + Layer: 1 { + Version: 100 + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 1 + } + } + } + Model: 1146771008, "Model::ProB_Floor_LWall_10x10", "Mesh" { + Version: 232 + Properties70: { + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + } + Shading: W + Culling: "CullingOff" + } + Material: 1148833296, "Material::Default_Prototype", "" { + Version: 102 + ShadingModel: "lambert" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",1,1,1 + P: "BumpFactor", "double", "Number", "",0 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",1,1,1 + P: "Opacity", "double", "Number", "",1 + } + } + Video: 1148831296, "Video::DiffuseColor_Texture", "Clip" { + Type: "Clip" + Properties70: { + P: "Path", "KString", "XRefUrl", "", "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + UseMipMap: 0 + Filename: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + Texture: 294699520, "Texture::DiffuseColor_Texture", "" { + Type: "TextureVideoClip" + Version: 202 + TextureName: "Texture::DiffuseColor_Texture" + Media: "Video::DiffuseColor_Texture" + FileName: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + ModelUVTranslation: 0,0 + ModelUVScaling: 1,1 + Texture_Alpha_Source: "None" + Cropping: 0,0,0,0 + } +} + +; Object connections +;------------------------------------------------------------------ + +Connections: { + + ;Model::ProB_Floor_LWall_10x10, Model::RootNode + C: "OO",1146771008,0 + + ;Material::Default_Prototype, Model::ProB_Floor_LWall_10x10 + C: "OO",1148833296,1146771008 + + ;Material::Default_Prototype, Model::ProB_Floor_LWall_10x10 + C: "OO",1148833296,1146771008 + + ;Geometry::Scene, Model::ProB_Floor_LWall_10x10 + C: "OO",1143700784,1146771008 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OO",294699520,1148833296 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OP",294699520,1148833296, "DiffuseColor" + + ;Video::DiffuseColor_Texture, Texture::DiffuseColor_Texture + C: "OO",1148831296,294699520 +} +;Takes section +;---------------------------------------------------- + +Takes: { + Current: "" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_LWall_10x10.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_LWall_10x10.fbx.meta new file mode 100644 index 00000000..4b34512e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_LWall_10x10.fbx.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: b6e2207db377b584bb472dd15da85dd3 +timeCreated: 1508433761 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: Default_Prototype + 2300000: //RootNode + 3300000: //RootNode + 4300000: ProB_Floor_LWall_10x10 + externalObjects: {} + materials: + importMaterials: 1 + materialName: 1 + materialSearch: 2 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_UWall_10x10.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_UWall_10x10.fbx new file mode 100644 index 00000000..5f3a5239 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_UWall_10x10.fbx @@ -0,0 +1,658 @@ +; FBX 7.4.0 project file +; Copyright (C) 1997-2015 Autodesk Inc. and/or its licensors. +; All rights reserved. +; ---------------------------------------------------- + +FBXHeaderExtension: { + FBXHeaderVersion: 1003 + FBXVersion: 7400 + CreationTimeStamp: { + Version: 1000 + Year: 2017 + Month: 10 + Day: 19 + Hour: 13 + Minute: 25 + Second: 33 + Millisecond: 479 + } + Creator: "FBX SDK/FBX Plugins version 2017.1" + SceneInfo: "SceneInfo::GlobalInfo", "UserData" { + Type: "UserData" + Version: 100 + MetaData: { + Version: 100 + Title: "exports static meshes with materials and textures" + Subject: "" + Author: "Unity Technologies" + Keywords: "export mesh materials textures uvs" + Revision: "1.0" + Comment: "" + } + Properties70: { + P: "DocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp2583044f.tmp" + P: "SrcDocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp2583044f.tmp" + P: "Original", "Compound", "", "" + P: "Original|ApplicationVendor", "KString", "", "", "" + P: "Original|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "Original|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "Original|DateTime_GMT", "DateTime", "", "", "" + P: "Original|FileName", "KString", "", "", "" + P: "LastSaved", "Compound", "", "" + P: "LastSaved|ApplicationVendor", "KString", "", "", "" + P: "LastSaved|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "LastSaved|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "LastSaved|DateTime_GMT", "DateTime", "", "", "" + } + } +} +GlobalSettings: { + Version: 1000 + Properties70: { + P: "UpAxis", "int", "Integer", "",1 + P: "UpAxisSign", "int", "Integer", "",1 + P: "FrontAxis", "int", "Integer", "",2 + P: "FrontAxisSign", "int", "Integer", "",1 + P: "CoordAxis", "int", "Integer", "",0 + P: "CoordAxisSign", "int", "Integer", "",1 + P: "OriginalUpAxis", "int", "Integer", "",-1 + P: "OriginalUpAxisSign", "int", "Integer", "",1 + P: "UnitScaleFactor", "double", "Number", "",1 + P: "OriginalUnitScaleFactor", "double", "Number", "",1 + P: "AmbientColor", "ColorRGB", "Color", "",0,0,0 + P: "DefaultCamera", "KString", "", "", "Producer Perspective" + P: "TimeMode", "enum", "", "",0 + P: "TimeProtocol", "enum", "", "",2 + P: "SnapOnFrameMode", "enum", "", "",0 + P: "TimeSpanStart", "KTime", "Time", "",0 + P: "TimeSpanStop", "KTime", "Time", "",46186158000 + P: "CustomFrameRate", "double", "Number", "",-1 + P: "TimeMarker", "Compound", "", "" + P: "CurrentTimeMarker", "int", "Integer", "",-1 + } +} + +; Documents Description +;------------------------------------------------------------------ + +Documents: { + Count: 1 + Document: 1578085040, "Scene", "Scene" { + Properties70: { + P: "SourceObject", "object", "", "" + P: "ActiveAnimStackName", "KString", "", "", "" + } + RootNode: 0 + } +} + +; Document References +;------------------------------------------------------------------ + +References: { +} + +; Object definitions +;------------------------------------------------------------------ + +Definitions: { + Version: 100 + Count: 7 + ObjectType: "GlobalSettings" { + Count: 1 + } + ObjectType: "Model" { + Count: 1 + PropertyTemplate: "FbxNode" { + Properties70: { + P: "QuaternionInterpolate", "enum", "", "",0 + P: "RotationOffset", "Vector3D", "Vector", "",0,0,0 + P: "RotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0 + P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "TranslationActive", "bool", "", "",0 + P: "TranslationMin", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMax", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMinX", "bool", "", "",0 + P: "TranslationMinY", "bool", "", "",0 + P: "TranslationMinZ", "bool", "", "",0 + P: "TranslationMaxX", "bool", "", "",0 + P: "TranslationMaxY", "bool", "", "",0 + P: "TranslationMaxZ", "bool", "", "",0 + P: "RotationOrder", "enum", "", "",0 + P: "RotationSpaceForLimitOnly", "bool", "", "",0 + P: "RotationStiffnessX", "double", "Number", "",0 + P: "RotationStiffnessY", "double", "Number", "",0 + P: "RotationStiffnessZ", "double", "Number", "",0 + P: "AxisLen", "double", "Number", "",10 + P: "PreRotation", "Vector3D", "Vector", "",0,0,0 + P: "PostRotation", "Vector3D", "Vector", "",0,0,0 + P: "RotationActive", "bool", "", "",0 + P: "RotationMin", "Vector3D", "Vector", "",0,0,0 + P: "RotationMax", "Vector3D", "Vector", "",0,0,0 + P: "RotationMinX", "bool", "", "",0 + P: "RotationMinY", "bool", "", "",0 + P: "RotationMinZ", "bool", "", "",0 + P: "RotationMaxX", "bool", "", "",0 + P: "RotationMaxY", "bool", "", "",0 + P: "RotationMaxZ", "bool", "", "",0 + P: "InheritType", "enum", "", "",0 + P: "ScalingActive", "bool", "", "",0 + P: "ScalingMin", "Vector3D", "Vector", "",0,0,0 + P: "ScalingMax", "Vector3D", "Vector", "",1,1,1 + P: "ScalingMinX", "bool", "", "",0 + P: "ScalingMinY", "bool", "", "",0 + P: "ScalingMinZ", "bool", "", "",0 + P: "ScalingMaxX", "bool", "", "",0 + P: "ScalingMaxY", "bool", "", "",0 + P: "ScalingMaxZ", "bool", "", "",0 + P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1 + P: "MinDampRangeX", "double", "Number", "",0 + P: "MinDampRangeY", "double", "Number", "",0 + P: "MinDampRangeZ", "double", "Number", "",0 + P: "MaxDampRangeX", "double", "Number", "",0 + P: "MaxDampRangeY", "double", "Number", "",0 + P: "MaxDampRangeZ", "double", "Number", "",0 + P: "MinDampStrengthX", "double", "Number", "",0 + P: "MinDampStrengthY", "double", "Number", "",0 + P: "MinDampStrengthZ", "double", "Number", "",0 + P: "MaxDampStrengthX", "double", "Number", "",0 + P: "MaxDampStrengthY", "double", "Number", "",0 + P: "MaxDampStrengthZ", "double", "Number", "",0 + P: "PreferedAngleX", "double", "Number", "",0 + P: "PreferedAngleY", "double", "Number", "",0 + P: "PreferedAngleZ", "double", "Number", "",0 + P: "LookAtProperty", "object", "", "" + P: "UpVectorProperty", "object", "", "" + P: "Show", "bool", "", "",1 + P: "NegativePercentShapeSupport", "bool", "", "",1 + P: "DefaultAttributeIndex", "int", "Integer", "",-1 + P: "Freeze", "bool", "", "",0 + P: "LODBox", "bool", "", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0 + P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1 + P: "Visibility", "Visibility", "", "A",1 + P: "Visibility Inheritance", "Visibility Inheritance", "", "",1 + } + } + } + ObjectType: "Geometry" { + Count: 2 + PropertyTemplate: "FbxMesh" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BBoxMin", "Vector3D", "Vector", "",0,0,0 + P: "BBoxMax", "Vector3D", "Vector", "",0,0,0 + P: "Primary Visibility", "bool", "", "",1 + P: "Casts Shadows", "bool", "", "",1 + P: "Receive Shadows", "bool", "", "",1 + } + } + } + ObjectType: "Material" { + Count: 1 + PropertyTemplate: "FbxSurfaceLambert" { + Properties70: { + P: "ShadingModel", "KString", "", "", "Lambert" + P: "MultiLayer", "bool", "", "",0 + P: "EmissiveColor", "Color", "", "A",0,0,0 + P: "EmissiveFactor", "Number", "", "A",1 + P: "AmbientColor", "Color", "", "A",0.2,0.2,0.2 + P: "AmbientFactor", "Number", "", "A",1 + P: "DiffuseColor", "Color", "", "A",0.8,0.8,0.8 + P: "DiffuseFactor", "Number", "", "A",1 + P: "Bump", "Vector3D", "Vector", "",0,0,0 + P: "NormalMap", "Vector3D", "Vector", "",0,0,0 + P: "BumpFactor", "double", "Number", "",1 + P: "TransparentColor", "Color", "", "A",0,0,0 + P: "TransparencyFactor", "Number", "", "A",0 + P: "DisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "DisplacementFactor", "double", "Number", "",1 + P: "VectorDisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "VectorDisplacementFactor", "double", "Number", "",1 + } + } + } + ObjectType: "Texture" { + Count: 1 + PropertyTemplate: "FbxFileTexture" { + Properties70: { + P: "TextureTypeUse", "enum", "", "",0 + P: "Texture alpha", "Number", "", "A",1 + P: "CurrentMappingType", "enum", "", "",0 + P: "WrapModeU", "enum", "", "",0 + P: "WrapModeV", "enum", "", "",0 + P: "UVSwap", "bool", "", "",0 + P: "PremultiplyAlpha", "bool", "", "",1 + P: "Translation", "Vector", "", "A",0,0,0 + P: "Rotation", "Vector", "", "A",0,0,0 + P: "Scaling", "Vector", "", "A",1,1,1 + P: "TextureRotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "TextureScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "CurrentTextureBlendMode", "enum", "", "",1 + P: "UVSet", "KString", "", "", "default" + P: "UseMaterial", "bool", "", "",0 + P: "UseMipMap", "bool", "", "",0 + } + } + } + ObjectType: "Video" { + Count: 1 + PropertyTemplate: "FbxVideo" { + Properties70: { + P: "ImageSequence", "bool", "", "",0 + P: "ImageSequenceOffset", "int", "Integer", "",0 + P: "FrameRate", "double", "Number", "",0 + P: "LastFrame", "int", "Integer", "",0 + P: "Width", "int", "Integer", "",0 + P: "Height", "int", "Integer", "",0 + P: "Path", "KString", "XRefUrl", "", "" + P: "StartFrame", "int", "Integer", "",0 + P: "StopFrame", "int", "Integer", "",0 + P: "PlaySpeed", "double", "Number", "",0 + P: "Offset", "KTime", "Time", "",0 + P: "InterlaceMode", "enum", "", "",0 + P: "FreeRunning", "bool", "", "",0 + P: "Loop", "bool", "", "",0 + P: "AccessMode", "enum", "", "",0 + } + } + } +} + +; Object properties +;------------------------------------------------------------------ + +Objects: { + Geometry: 1143702320, "Geometry::Scene", "Mesh" { + Vertices: *1248 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-0,400,0,-100,400,0,-0,400,-100,-100,400,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-0,400,-200,-100,400,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-0,400,-300,-100,400,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-0,400,-400,-100,400,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-0,400,-500,-100,400,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-0,400,-600,-100,400,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-0,400,-700,-100,400,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-0,400,-800,-100,400,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-0,400,-900,-100,400,-900,-1000,100,-1000,-1000,0,-1000,-0,400,-1000,-100,400,-1000,-200,0,0,-200,0,-100,-200,100,0,-100,100,-200,-100,100,-100,-200,100,-200,-200,100,-100,-200,400,-100,-200,400,0,-200,0,-200,-100,100,-300,-200,100,-300,-200,0,-300,-100,100,-400,-200,100,-400,-200,0,-400,-100,100,-500,-200,100,-500,-200,0,-500,-100,100,-600,-200,100,-600,-200,0,-600,-100,100,-700,-200,100,-700,-200,0,-700,-100,100,-800,-200,100,-800,-200,0,-800,-100,100,-900,-200,100,-900,-200,0,-900,-200,400,-1000,-200,400,-900,-200,0,-1000,-200,100,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,400,-100,-300,400,0,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,400,-1000,-300,400,-900,-300,0,-1000,-300,100,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,400,-100,-400,400,0,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800, +-400,100,-900,-400,0,-900,-400,400,-1000,-400,400,-900,-400,0,-1000,-400,100,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,400,-100,-500,400,0,-500,0,-200,-500,100,-300,-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800,-500,100,-900,-500,0,-900,-500,400,-1000,-500,400,-900,-500,0,-1000,-500,100,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,400,-100,-600,400,0,-600,0,-200,-600,100,-300,-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,400,-1000,-600,400,-900,-600,0,-1000,-600,100,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,400,-100,-700,400,0,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,400,-1000,-700,400,-900,-700,0,-1000,-700,100,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,400,-100,-800,400,0,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,400,-1000,-800,400,-900,-800,0,-1000,-800,100,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,400,-100,-900,400,0,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,400,-1000,-900,400,-900,-900,0,-1000,-900,100,-1000,-1000,400,-100,-1000,400,0,-1000,400,-1000,-1000,400,-900,-100,200,-1000,-0,200,-1000,-1000,200,-1000,-900,200,-1000,-900,200,-900,-1000,200,-900,-100,200,0,-200,200,0,-800,200,-1000,-800,200,-900,-700,200,-1000,-700,200,-900,-600,200,-1000,-600,200,-900,-500,200,-1000,-500,200,-900,-400,200,-1000, +-400,200,-900,-300,200,-1000,-300,200,-900,-200,200,-1000,-200,200,-900,-100,200,-900,-0,200,-900,-0,200,0,-0,200,-800,-100,200,-800,-0,200,-700,-100,200,-700,-0,200,-600,-100,200,-600,-0,200,-500,-100,200,-500,-0,200,-400,-100,200,-400,-0,200,-300,-100,200,-300,-0,200,-200,-100,200,-200,-0,200,-100,-100,200,-100,-200,200,-100,-300,200,-100,-300,200,0,-400,200,-100,-400,200,0,-500,200,-100,-500,200,0,-600,200,-100,-600,200,0,-700,200,-100,-700,200,0,-800,200,-100,-800,200,0,-900,200,-100,-900,200,0,-1000,200,-100,-1000,200,0,-100,300,-1000,-0,300,-1000,-1000,300,-1000,-900,300,-1000,-900,300,-900,-1000,300,-900,-100,300,0,-200,300,0,-800,300,-1000,-800,300,-900,-700,300,-1000,-700,300,-900,-600,300,-1000,-600,300,-900,-500,300,-1000,-500,300,-900,-400,300,-1000,-400,300,-900,-300,300,-1000,-300,300,-900,-200,300,-1000,-200,300,-900,-100,300,-900,-0,300,-900,-0,300,0,-0,300,-800,-100,300,-800,-0,300,-700,-100,300,-700,-0,300,-600,-100,300,-600,-0,300,-500,-100,300,-500,-0,300,-400,-100,300,-400,-0,300,-300,-100,300,-300,-0,300,-200,-100,300,-200,-0,300,-100,-100,300,-100,-200,300,-100,-300,300,-100,-300,300,0,-400,300,-100,-400,300,0,-500,300,-100,-500,300,0,-600,300,-100,-600,300,0,-700,300,-100,-700,300,0,-800,300,-100,-800,300,0,-900,300,-100,-900,300,0,-1000,300,-100,-1000,300,0 + } + PolygonVertexIndex: *2484 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,14,16,-16,15,16,-18,12,0,-19,18,0,-2,18,19,-13,12,19,-21,7,21,-6,5,21,-23,12,20,-14,13,20,-24,16,24,-18,17,24,-26,19,26,-21,20,26,-28,21,28,-23,22,28,-30,20,27,-24,23,27,-31,24,31,-26,25,31,-33,26,33,-28,27,33,-35,28,35,-30,29,35,-37,27,34,-31,30,34,-38,31,38,-33,32,38,-40,33,40,-35,34,40,-42,35,42,-37,36,42,-44,34,41,-38,37,41,-45,38,45,-40,39,45,-47,40,47,-42,41,47,-49,42,49,-44,43,49,-51,41,48,-45,44,48,-52,45,52,-47,46,52,-54,47,54,-49,48,54,-56,49,56,-51,50,56,-58,48,55,-52,51,55,-59,52,59,-54,53,59,-61,54,61,-56,55,61,-63,56,63,-58,57,63,-65,55,62,-59,58,62,-66,59,66,-61,60,66,-68,61,68,-63,62,68,-70,63,70,-65,64,70,-72,62,69,-66,65,69,-73,66,73,-68,67,73,-75,68,8,-70,69,8,-10,70,75,-72,71,75,-77,69,9,-73,72,9,-12,73,77,-75,74,77,-79,1,79,-19,18,79,-81,3,81,-2,1,81,-80,82,84,-84,83,84,-86,17,86,-16,15,86,-88,18,80,-20,19,80,-89,89,90,-83,82,90,-85,19,88,-27,26,88,-92,92,93,-90,89,93,-91,26,91,-34,33,91,-95,95,96,-93,92,96,-94,33,94,-41,40,94,-98,98,99,-96,95,99,-97,40,97,-48,47,97,-101,101,102,-99,98,102,-100,47,100,-55,54,100,-104,104,105,-102,101,105,-103,54,103,-62,61,103,-107,107,108,-105,104,108,-106,61,106,-69,68,106,-110,78,110,-75,74,110,-112,68,109,-9,8,109,-113,8,112,-11,10,112,-114,79,114,-81,80,114,-116,81,116,-80,79,116,-115,84,117,-86,85,117,-119,86,119,-88,87,119,-121,80,115,-89,88,115,-122,90,122,-85,84,122,-118,88,121,-92,91,121,-124,93,124,-91,90,124,-123,91,123,-95,94,123,-126,96,126,-94,93,126,-125,94,125,-98,97,125,-128,99,128,-97,96,128,-127,97,127,-101,100,127,-130,102,130,-100,99,130,-129,100,129,-104,103,129,-132,105,132,-103,102,132,-131,103,131,-107,106,131,-134,108,134,-106,105,134,-133,106,133,-110,109,133,-136,110,136,-112,111,136,-138,109,135,-113,112,135,-139,112,138,-114,113,138,-140,114,140,-116,115,140,-142,116,142,-115,114,142,-141,117,143,-119,118,143,-145,119,145,-121,120,145,-147,115,141,-122,121,141,-148,122,148,-118,117,148,-144,121,147,-124,123,147,-150,124,150,-123,122,150,-149,123,149, +-126,125,149,-152,126,152,-125,124,152,-151,125,151,-128,127,151,-154,128,154,-127,126,154,-153,127,153,-130,129,153,-156,130,156,-129,128,156,-155,129,155,-132,131,155,-158,132,158,-131,130,158,-157,131,157,-134,133,157,-160,134,160,-133,132,160,-159,133,159,-136,135,159,-162,136,162,-138,137,162,-164,135,161,-139,138,161,-165,138,164,-140,139,164,-166,140,166,-142,141,166,-168,142,168,-141,140,168,-167,143,169,-145,144,169,-171,145,171,-147,146,171,-173,141,167,-148,147,167,-174,148,174,-144,143,174,-170,147,173,-150,149,173,-176,150,176,-149,148,176,-175,149,175,-152,151,175,-178,152,178,-151,150,178,-177,151,177,-154,153,177,-180,154,180,-153,152,180,-179,153,179,-156,155,179,-182,156,182,-155,154,182,-181,155,181,-158,157,181,-184,158,184,-157,156,184,-183,157,183,-160,159,183,-186,160,186,-159,158,186,-185,159,185,-162,161,185,-188,162,188,-164,163,188,-190,161,187,-165,164,187,-191,164,190,-166,165,190,-192,166,192,-168,167,192,-194,168,194,-167,166,194,-193,169,195,-171,170,195,-197,171,197,-173,172,197,-199,167,193,-174,173,193,-200,174,200,-170,169,200,-196,173,199,-176,175,199,-202,176,202,-175,174,202,-201,175,201,-178,177,201,-204,178,204,-177,176,204,-203,177,203,-180,179,203,-206,180,206,-179,178,206,-205,179,205,-182,181,205,-208,182,208,-181,180,208,-207,181,207,-184,183,207,-210,184,210,-183,182,210,-209,183,209,-186,185,209,-212,186,212,-185,184,212,-211,185,211,-188,187,211,-214,188,214,-190,189,214,-216,187,213,-191,190,213,-217,190,216,-192,191,216,-218,192,218,-194,193,218,-220,194,220,-193,192,220,-219,195,221,-197,196,221,-223,197,223,-199,198,223,-225,193,219,-200,199,219,-226,200,226,-196,195,226,-222,199,225,-202,201,225,-228,202,228,-201,200,228,-227,201,227,-204,203,227,-230,204,230,-203,202,230,-229,203,229,-206,205,229,-232,206,232,-205,204,232,-231,205,231,-208,207,231,-234,208,234,-207,206,234,-233,207,233,-210,209,233,-236,210,236,-209,208,236,-235,209,235,-212,211,235,-238,212,238,-211,210,238,-237,211,237,-214,213,237,-240,214,240,-216,215,240,-242,213,239,-217,216,239,-243,216, +242,-218,217,242,-244,218,244,-220,219,244,-246,220,246,-219,218,246,-245,221,247,-223,222,247,-249,223,249,-225,224,249,-251,219,245,-226,225,245,-252,226,252,-222,221,252,-248,225,251,-228,227,251,-254,228,254,-227,226,254,-253,227,253,-230,229,253,-256,230,256,-229,228,256,-255,229,255,-232,231,255,-258,232,258,-231,230,258,-257,231,257,-234,233,257,-260,234,260,-233,232,260,-259,233,259,-236,235,259,-262,236,262,-235,234,262,-261,235,261,-238,237,261,-264,238,264,-237,236,264,-263,237,263,-240,239,263,-266,240,266,-242,241,266,-268,239,265,-243,242,265,-269,242,268,-244,243,268,-270,244,270,-246,245,270,-272,246,272,-245,244,272,-271,247,273,-249,248,273,-275,249,275,-251,250,275,-277,245,271,-252,251,271,-278,252,278,-248,247,278,-274,251,277,-254,253,277,-280,254,280,-253,252,280,-279,253,279,-256,255,279,-282,256,282,-255,254,282,-281,255,281,-258,257,281,-284,258,284,-257,256,284,-283,257,283,-260,259,283,-286,260,286,-259,258,286,-285,259,285,-262,261,285,-288,262,288,-261,260,288,-287,261,287,-264,263,287,-290,264,290,-263,262,290,-289,263,289,-266,265,289,-292,266,292,-268,267,292,-294,265,291,-269,268,291,-295,268,294,-270,269,294,-296,270,4,-272,271,4,-6,272,6,-271,270,6,-5,273,21,-275,274,21,-8,275,296,-277,276,296,-298,271,5,-278,277,5,-23,278,28,-274,273,28,-22,277,22,-280,279,22,-30,280,35,-279,278,35,-29,279,29,-282,281,29,-37,282,42,-281,280,42,-36,281,36,-284,283,36,-44,284,49,-283,282,49,-43,283,43,-286,285,43,-51,286,56,-285,284,56,-50,285,50,-288,287,50,-58,288,63,-287,286,63,-57,287,57,-290,289,57,-65,290,70,-289,288,70,-64,289,64,-292,291,64,-72,292,298,-294,293,298,-300,291,71,-295,294,71,-77,294,76,-296,295,76,-76,10,300,-12,11,300,-302,75,302,-296,295,302,-304,290,304,-71,70,304,-306,70,305,-76,75,305,-303,3,306,-82,81,306,-308,295,303,-270,269,303,-309,264,309,-291,290,309,-305,269,308,-244,243,308,-311,238,311,-265,264,311,-310,243,310,-218,217,310,-313,212,313,-239,238,313,-312,217,312,-192,191,312,-315,186,315,-213,212,315,-314,191,314,-166,165,314,-317,160,317,-187,186,317,-316,165, +316,-140,139,316,-319,134,319,-161,160,319,-318,139,318,-114,113,318,-321,108,321,-135,134,321,-320,113,320,-11,10,320,-301,107,322,-109,108,322,-322,11,301,-73,72,301,-324,2,324,-4,3,324,-307,72,323,-66,65,323,-326,104,326,-108,107,326,-323,65,325,-59,58,325,-328,101,328,-105,104,328,-327,58,327,-52,51,327,-330,98,330,-102,101,330,-329,51,329,-45,44,329,-332,95,332,-99,98,332,-331,44,331,-38,37,331,-334,92,334,-96,95,334,-333,37,333,-31,30,333,-336,89,336,-93,92,336,-335,30,335,-24,23,335,-338,82,338,-90,89,338,-337,23,337,-14,13,337,-340,83,340,-83,82,340,-339,13,339,-3,2,339,-325,85,341,-84,83,341,-341,118,342,-86,85,342,-342,81,307,-117,116,307,-344,144,344,-119,118,344,-343,116,343,-143,142,343,-346,170,346,-145,144,346,-345,142,345,-169,168,345,-348,196,348,-171,170,348,-347,168,347,-195,194,347,-350,222,350,-197,196,350,-349,194,349,-221,220,349,-352,248,352,-223,222,352,-351,220,351,-247,246,351,-354,274,354,-249,248,354,-353,246,353,-273,272,353,-356,7,356,-275,274,356,-355,272,355,-7,6,355,-358,6,357,-8,7,357,-357,300,358,-302,301,358,-360,302,360,-304,303,360,-362,304,362,-306,305,362,-364,305,363,-303,302,363,-361,306,364,-308,307,364,-366,303,361,-309,308,361,-367,309,367,-305,304,367,-363,308,366,-311,310,366,-369,311,369,-310,309,369,-368,310,368,-313,312,368,-371,313,371,-312,311,371,-370,312,370,-315,314,370,-373,315,373,-314,313,373,-372,314,372,-317,316,372,-375,317,375,-316,315,375,-374,316,374,-319,318,374,-377,319,377,-318,317,377,-376,318,376,-321,320,376,-379,321,379,-320,319,379,-378,320,378,-301,300,378,-359,322,380,-322,321,380,-380,301,359,-324,323,359,-382,324,382,-307,306,382,-365,323,381,-326,325,381,-384,326,384,-323,322,384,-381,325,383,-328,327,383,-386,328,386,-327,326,386,-385,327,385,-330,329,385,-388,330,388,-329,328,388,-387,329,387,-332,331,387,-390,332,390,-331,330,390,-389,331,389,-334,333,389,-392,334,392,-333,332,392,-391,333,391,-336,335,391,-394,336,394,-335,334,394,-393,335,393,-338,337,393,-396,338,396,-337,336,396,-395,337,395,-340,339,395,-398,340,398,-339,338,398, +-397,339,397,-325,324,397,-383,341,399,-341,340,399,-399,342,400,-342,341,400,-400,307,365,-344,343,365,-402,344,402,-343,342,402,-401,343,401,-346,345,401,-404,346,404,-345,344,404,-403,345,403,-348,347,403,-406,348,406,-347,346,406,-405,347,405,-350,349,405,-408,350,408,-349,348,408,-407,349,407,-352,351,407,-410,352,410,-351,350,410,-409,351,409,-354,353,409,-412,354,412,-353,352,412,-411,353,411,-356,355,411,-414,356,414,-355,354,414,-413,355,413,-358,357,413,-416,357,415,-357,356,415,-415,358,78,-360,359,78,-78,360,298,-362,361,298,-293,362,293,-364,363,293,-300,363,299,-361,360,299,-299,364,15,-366,365,15,-88,361,292,-367,366,292,-267,367,267,-363,362,267,-294,366,266,-369,368,266,-241,369,241,-368,367,241,-268,368,240,-371,370,240,-215,371,215,-370,369,215,-242,370,214,-373,372,214,-189,373,189,-372,371,189,-216,372,188,-375,374,188,-163,375,163,-374,373,163,-190,374,162,-377,376,162,-137,377,137,-376,375,137,-164,376,136,-379,378,136,-111,379,111,-378,377,111,-138,378,110,-359,358,110,-79,380,74,-380,379,74,-112,359,77,-382,381,77,-74,382,14,-365,364,14,-16,381,73,-384,383,73,-67,384,67,-381,380,67,-75,383,66,-386,385,66,-60,386,60,-385,384,60,-68,385,59,-388,387,59,-53,388,53,-387,386,53,-61,387,52,-390,389,52,-46,390,46,-389,388,46,-54,389,45,-392,391,45,-39,392,39,-391,390,39,-47,391,38,-394,393,38,-32,394,32,-393,392,32,-40,393,31,-396,395,31,-25,396,25,-395,394,25,-33,395,24,-398,397,24,-17,398,17,-397,396,17,-26,397,16,-383,382,16,-15,399,86,-399,398,86,-18,400,119,-400,399,119,-87,365,87,-402,401,87,-121,402,145,-401,400,145,-120,401,120,-404,403,120,-147,404,171,-403,402,171,-146,403,146,-406,405,146,-173,406,197,-405,404,197,-172,405,172,-408,407,172,-199,408,223,-407,406,223,-198,407,198,-410,409,198,-225,410,249,-409,408,249,-224,409,224,-412,411,224,-251,412,275,-411,410,275,-250,411,250,-414,413,250,-277,414,296,-413,412,296,-276,413,276,-416,415,276,-298,415,297,-415,414,297,-297 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *7452 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + NormalsW: *2484 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *7452 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *2484 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *7452 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0, +1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1 + } + TangentsW: *2484 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *6624 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *2484 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431,432,434,433,433,434,435,436,438,437,437,438,439,440,442,441,441,442,443,444,446,445,445,446,447,448,450,449,449,450,451,452,454,453,453,454,455,456,458,457,457,458,459,460,462,461,461,462,463,464,466,465,465,466,467,468,470,469,469,470,471,472,474,473,473,474,475,476,478,477,477,478,479,480,482,481,481,482,483,484,486,485,485,486,487,488,490,489,489,490,491,492,494,493,493,494,495,496,498,497,497,498,499,500,502,501,501,502,503,504,506,505,505,506,507,508,510,509,509,510,511,512,514,513,513,514,515,516,518,517,517,518,519,520,522,521,521,522,523,524,526,525,525,526,527,528,530,529,529,530,531,532,534,533,533,534,535,536,538,537,537,538,539,540,542,541,541,542,543,544,546,545,545,546,547,548,550,549,549,550,551,552,554,553,553,554,555,556,558,557,557,558,559,560,562,561,561,562,563,564,566,565,565,566,567,568,570,569,569,570,571,572,574,573,573,574,575,576,578,577,577,578,579,580,582,581,581,582,583,584,586,585,585,586,587,588,590,589,589,590,591,592,594,593,593,594,595,596,598,597,597,598,599,600,602,601,601,602,603,604,606,605,605,606,607,608,610,609,609,610,611,612,614,613,613,614,615,616,618,617,617,618,619,620,622,621,621,622,623,624,626,625,625,626,627,628,630,629,629,630,631,632,634,633,633,634,635,636,638,637,637,638,639,640,642,641,641,642,643,644,646,645,645,646,647,648,650,649,649,650,651,652,654,653,653,654,655,656,658,657,657,658,659,660,662,661,661,662,663,664,666,665,665,666,667,668,670,669,669,670,671,672,674,673,673,674,675,676,678,677,677,678,679,680,682,681,681,682,683,684,686,685,685,686,687,688,690,689,689,690,691,692,694,693,693,694,695,696,698,697,697,698,699,700,702,701,701,702,703,704,706,705,705,706, +707,708,710,709,709,710,711,712,714,713,713,714,715,716,718,717,717,718,719,720,722,721,721,722,723,724,726,725,725,726,727,728,730,729,729,730,731,732,734,733,733,734,735,736,738,737,737,738,739,740,742,741,741,742,743,744,746,745,745,746,747,748,750,749,749,750,751,752,754,753,753,754,755,756,758,757,757,758,759,760,762,761,761,762,763,764,766,765,765,766,767,768,770,769,769,770,771,772,774,773,773,774,775,776,778,777,777,778,779,780,782,781,781,782,783,784,786,785,785,786,787,788,790,789,789,790,791,792,794,793,793,794,795,796,798,797,797,798,799,800,802,801,801,802,803,804,806,805,805,806,807,808,810,809,809,810,811,812,814,813,813,814,815,816,818,817,817,818,819,820,822,821,821,822,823,824,826,825,825,826,827,828,830,829,829,830,831,832,834,833,833,834,835,836,838,837,837,838,839,840,842,841,841,842,843,844,846,845,845,846,847,848,850,849,849,850,851,852,854,853,853,854,855,856,858,857,857,858,859,860,862,861,861,862,863,864,866,865,865,866,867,868,870,869,869,870,871,872,874,873,873,874,875,876,878,877,877,878,879,880,882,881,881,882,883,884,886,885,885,886,887,888,890,889,889,890,891,892,894,893,893,894,895,896,898,897,897,898,899,900,902,901,901,902,903,904,906,905,905,906,907,908,910,909,909,910,911,912,914,913,913,914,915,916,918,917,917,918,919,920,922,921,921,922,923,924,926,925,925,926,927,928,930,929,929,930,931,932,934,933,933,934,935,936,938,937,937,938,939,940,942,941,941,942,943,944,946,945,945,946,947,948,950,949,949,950,951,952,954,953,953,954,955,956,958,957,957,958,959,960,962,961,961,962,963,964,966,965,965,966,967,968,970,969,969,970,971,972,974,973,973,974,975,976,978,977,977,978,979,980,982,981,981,982,983,984,986,985,985,986,987,988,990,989,989,990,991,992,994,993,993,994,995,996,998,997,997,998,999,1000,1002,1001,1001,1002,1003,1004,1006,1005,1005,1006,1007,1008,1010,1009,1009,1010,1011,1012,1014,1013,1013,1014,1015,1016,1018,1017,1017,1018,1019,1020,1022,1021,1021,1022,1023,1024,1026,1025,1025,1026,1027,1028,1030,1029,1029,1030,1031,1032,1034,1033,1033,1034,1035,1036,1038,1037,1037,1038, +1039,1040,1042,1041,1041,1042,1043,1044,1046,1045,1045,1046,1047,1048,1050,1049,1049,1050,1051,1052,1054,1053,1053,1054,1055,1056,1058,1057,1057,1058,1059,1060,1062,1061,1061,1062,1063,1064,1066,1065,1065,1066,1067,1068,1070,1069,1069,1070,1071,1072,1074,1073,1073,1074,1075,1076,1078,1077,1077,1078,1079,1080,1082,1081,1081,1082,1083,1084,1086,1085,1085,1086,1087,1088,1090,1089,1089,1090,1091,1092,1094,1093,1093,1094,1095,1096,1098,1097,1097,1098,1099,1100,1102,1101,1101,1102,1103,1104,1106,1105,1105,1106,1107,1108,1110,1109,1109,1110,1111,1112,1114,1113,1113,1114,1115,1116,1118,1117,1117,1118,1119,1120,1122,1121,1121,1122,1123,1124,1126,1125,1125,1126,1127,1128,1130,1129,1129,1130,1131,1132,1134,1133,1133,1134,1135,1136,1138,1137,1137,1138,1139,1140,1142,1141,1141,1142,1143,1144,1146,1145,1145,1146,1147,1148,1150,1149,1149,1150,1151,1152,1154,1153,1153,1154,1155,1156,1158,1157,1157,1158,1159,1160,1162,1161,1161,1162,1163,1164,1166,1165,1165,1166,1167,1168,1170,1169,1169,1170,1171,1172,1174,1173,1173,1174,1175,1176,1178,1177,1177,1178,1179,1180,1182,1181,1181,1182,1183,1184,1186,1185,1185,1186,1187,1188,1190,1189,1189,1190,1191,1192,1194,1193,1193,1194,1195,1196,1198,1197,1197,1198,1199,1200,1202,1201,1201,1202,1203,1204,1206,1205,1205,1206,1207,1208,1210,1209,1209,1210,1211,1212,1214,1213,1213,1214,1215,1216,1218,1217,1217,1218,1219,1220,1222,1221,1221,1222,1223,1224,1226,1225,1225,1226,1227,1228,1230,1229,1229,1230,1231,1232,1234,1233,1233,1234,1235,1236,1238,1237,1237,1238,1239,1240,1242,1241,1241,1242,1243,1244,1246,1245,1245,1246,1247,1248,1250,1249,1249,1250,1251,1252,1254,1253,1253,1254,1255,1256,1258,1257,1257,1258,1259,1260,1262,1261,1261,1262,1263,1264,1266,1265,1265,1266,1267,1268,1270,1269,1269,1270,1271,1272,1274,1273,1273,1274,1275,1276,1278,1277,1277,1278,1279,1280,1282,1281,1281,1282,1283,1284,1286,1285,1285,1286,1287,1288,1290,1289,1289,1290,1291,1292,1294,1293,1293,1294,1295,1296,1298,1297,1297,1298,1299,1300,1302,1301,1301,1302,1303,1304,1306,1305,1305,1306,1307,1308,1310,1309,1309,1310,1311,1312, +1314,1313,1313,1314,1315,1316,1318,1317,1317,1318,1319,1320,1322,1321,1321,1322,1323,1324,1326,1325,1325,1326,1327,1328,1330,1329,1329,1330,1331,1332,1334,1333,1333,1334,1335,1336,1338,1337,1337,1338,1339,1340,1342,1341,1341,1342,1343,1344,1346,1345,1345,1346,1347,1348,1350,1349,1349,1350,1351,1352,1354,1353,1353,1354,1355,1356,1358,1357,1357,1358,1359,1360,1362,1361,1361,1362,1363,1364,1366,1365,1365,1366,1367,1368,1370,1369,1369,1370,1371,1372,1374,1373,1373,1374,1375,1376,1378,1377,1377,1378,1379,1380,1382,1381,1381,1382,1383,1384,1386,1385,1385,1386,1387,1388,1390,1389,1389,1390,1391,1392,1394,1393,1393,1394,1395,1396,1398,1397,1397,1398,1399,1400,1402,1401,1401,1402,1403,1404,1406,1405,1405,1406,1407,1408,1410,1409,1409,1410,1411,1412,1414,1413,1413,1414,1415,1416,1418,1417,1417,1418,1419,1420,1422,1421,1421,1422,1423,1424,1426,1425,1425,1426,1427,1428,1430,1429,1429,1430,1431,1432,1434,1433,1433,1434,1435,1436,1438,1437,1437,1438,1439,1440,1442,1441,1441,1442,1443,1444,1446,1445,1445,1446,1447,1448,1450,1449,1449,1450,1451,1452,1454,1453,1453,1454,1455,1456,1458,1457,1457,1458,1459,1460,1462,1461,1461,1462,1463,1464,1466,1465,1465,1466,1467,1468,1470,1469,1469,1470,1471,1472,1474,1473,1473,1474,1475,1476,1478,1477,1477,1478,1479,1480,1482,1481,1481,1482,1483,1484,1486,1485,1485,1486,1487,1488,1490,1489,1489,1490,1491,1492,1494,1493,1493,1494,1495,1496,1498,1497,1497,1498,1499,1500,1502,1501,1501,1502,1503,1504,1506,1505,1505,1506,1507,1508,1510,1509,1509,1510,1511,1512,1514,1513,1513,1514,1515,1516,1518,1517,1517,1518,1519,1520,1522,1521,1521,1522,1523,1524,1526,1525,1525,1526,1527,1528,1530,1529,1529,1530,1531,1532,1534,1533,1533,1534,1535,1536,1538,1537,1537,1538,1539,1540,1542,1541,1541,1542,1543,1544,1546,1545,1545,1546,1547,1548,1550,1549,1549,1550,1551,1552,1554,1553,1553,1554,1555,1556,1558,1557,1557,1558,1559,1560,1562,1561,1561,1562,1563,1564,1566,1565,1565,1566,1567,1568,1570,1569,1569,1570,1571,1572,1574,1573,1573,1574,1575,1576,1578,1577,1577,1578,1579,1580,1582,1581,1581,1582,1583,1584,1586,1585, +1585,1586,1587,1588,1590,1589,1589,1590,1591,1592,1594,1593,1593,1594,1595,1596,1598,1597,1597,1598,1599,1600,1602,1601,1601,1602,1603,1604,1606,1605,1605,1606,1607,1608,1610,1609,1609,1610,1611,1612,1614,1613,1613,1614,1615,1616,1618,1617,1617,1618,1619,1620,1622,1621,1621,1622,1623,1624,1626,1625,1625,1626,1627,1628,1630,1629,1629,1630,1631,1632,1634,1633,1633,1634,1635,1636,1638,1637,1637,1638,1639,1640,1642,1641,1641,1642,1643,1644,1646,1645,1645,1646,1647,1648,1650,1649,1649,1650,1651,1652,1654,1653,1653,1654,1655 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *3312 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-1,0,-1,-1,-2,0,-2,-1,1,-1,0,-2,1,-2,0,1,0,1,1,2,0,2,1,0,-1,1,-1,0,-2,1,-2,-1,-2,0,-2,-1,-3,0,-3,-2,1,-2,0,-3,1,-3,0,2,0,2,1,3,0,3,1,0,-2,1,-2,0,-3,1,-3,-1,-3,0,-3,-1,-4,0,-4,-3,1,-3,0,-4,1,-4,0,3,0,3,1,4,0,4,1,0,-3,1,-3,0,-4,1,-4,-1,-4,0,-4,-1,-5,0,-5,-4,1,-4,0,-5,1,-5,0,4,0,4,1,5,0,5,1,0,-4,1,-4,0,-5,1,-5,-1,-5,0,-5,-1,-6,0,-6,-5,1,-5,0,-6,1,-6,0,5,0,5,1,6,0,6,1,0,-5,1,-5,0,-6,1,-6,-1,-6,0,-6,-1,-7,0,-7,-6,1,-6,0,-7,1,-7,0,6,0,6,1,7,0,7,1,0,-6,1,-6,0,-7,1,-7,-1,-7,0,-7,-1,-8,0,-8,-7,1,-7,0,-8,1,-8,0,7,0,7,1,8,0,8,1,0,-7,1,-7,0,-8,1,-8,-1,-8,0,-8,-1,-9,0,-9,-8,1,-8,0,-9,1,-9,0,8,0,8,1,9,0,9,1,0,-8,1,-8,0,-9,1,-9,-1,-9,0,-9,-1,-10,0,-10,-9,1,-9,0,-10,1,-10,0,9,0,9,1,10,0,10,1,0,-9,1,-9,0,-10,1,-10,-1,0,-1,-1,-2,0,-2,-1,-1,1,-1,0,-2,1,-2,0,1,-2,1,-1,2,-2,2,-1,1,-1,1,0,2,-1,2,0,-1,-1,-1,-2,-2,-1,-2,-2,1,-3,1,-2,2,-3,2,-2,-1,-2,-1,-3,-2,-2,-2,-3,1,-4,1,-3,2,-4,2,-3,-1,-3,-1,-4,-2,-3,-2,-4,1,-5,1,-4,2,-5,2,-4,-1,-4,-1,-5,-2,-4,-2,-5,1,-6,1,-5,2,-6,2,-5,-1,-5,-1,-6,-2,-5,-2,-6,1,-7,1,-6,2,-7,2,-6,-1,-6,-1,-7,-2,-6,-2,-7,1,-8,1,-7,2,-8,2,-7,-1,-7,-1,-8,-2,-7,-2,-8,1,-9,1,-8,2,-9,2,-8,-1,-8,-1,-9,-2,-8,-2,-9,1,-10,1,-9,2,-10,2,-9,-1,-9,-1,-10,-2,-9,-2,-10,1,0,1,1,2,0,2,1,-2,0,-2,-1,-3,0,-3,-1,-2,1,-2,0,-3,1,-3,0,2,-2,2,-1,3,-2,3,-1,2,-1,2,0,3,-1,3,0,-2,-1,-2,-2,-3,-1,-3,-2,2,-3,2,-2,3,-3,3,-2,-2,-2,-2,-3,-3,-2,-3,-3,2,-4,2,-3,3,-4,3,-3,-2,-3,-2,-4,-3,-3,-3,-4,2,-5,2,-4,3,-5,3,-4,-2,-4,-2,-5,-3,-4,-3,-5,2,-6,2,-5,3,-6,3,-5,-2,-5,-2,-6,-3,-5,-3,-6,2,-7,2,-6,3,-7,3,-6,-2,-6,-2,-7,-3,-6,-3,-7,2,-8,2,-7,3,-8,3,-7,-2,-7,-2,-8,-3,-7,-3,-8,2,-9,2,-8,3,-9,3,-8,-2,-8,-2,-9,-3,-8,-3,-9,2,-10,2,-9,3,-10,3,-9,-2,-9,-2,-10,-3,-9,-3,-10,2,0,2,1,3,0,3,1,-3,0,-3,-1,-4,0,-4,-1,-3,1,-3,0,-4,1,-4,0,3,-2,3,-1,4,-2,4,-1,3,-1,3,0,4,-1,4,0,-3,-1,-3,-2,-4,-1,-4,-2,3,-3,3,-2,4,-3,4,-2,-3,-2,-3,-3,-4,-2,-4,-3,3,-4,3,-3,4,-4,4,-3,-3,-3,-3,-4,-4,-3,-4,-4,3,-5,3,-4,4,-5,4,-4,-3,-4,-3,-5,-4,-4,-4,-5,3,-6,3,-5,4,-6,4,-5,-3, +-5,-3,-6,-4,-5,-4,-6,3,-7,3,-6,4,-7,4,-6,-3,-6,-3,-7,-4,-6,-4,-7,3,-8,3,-7,4,-8,4,-7,-3,-7,-3,-8,-4,-7,-4,-8,3,-9,3,-8,4,-9,4,-8,-3,-8,-3,-9,-4,-8,-4,-9,3,-10,3,-9,4,-10,4,-9,-3,-9,-3,-10,-4,-9,-4,-10,3,0,3,1,4,0,4,1,-4,0,-4,-1,-5,0,-5,-1,-4,1,-4,0,-5,1,-5,0,4,-2,4,-1,5,-2,5,-1,4,-1,4,0,5,-1,5,0,-4,-1,-4,-2,-5,-1,-5,-2,4,-3,4,-2,5,-3,5,-2,-4,-2,-4,-3,-5,-2,-5,-3,4,-4,4,-3,5,-4,5,-3,-4,-3,-4,-4,-5,-3,-5,-4,4,-5,4,-4,5,-5,5,-4,-4,-4,-4,-5,-5,-4,-5,-5,4,-6,4,-5,5,-6,5,-5,-4,-5,-4,-6,-5,-5,-5,-6,4,-7,4,-6,5,-7,5,-6,-4,-6,-4,-7,-5,-6,-5,-7,4,-8,4,-7,5,-8,5,-7,-4,-7,-4,-8,-5,-7,-5,-8,4,-9,4,-8,5,-9,5,-8,-4,-8,-4,-9,-5,-8,-5,-9,4,-10,4,-9,5,-10,5,-9,-4,-9,-4,-10,-5,-9,-5,-10,4,0,4,1,5,0,5,1,-5,0,-5,-1,-6,0,-6,-1,-5,1,-5,0,-6,1,-6,0,5,-2,5,-1,6,-2,6,-1,5,-1,5,0,6,-1,6,0,-5,-1,-5,-2,-6,-1,-6,-2,5,-3,5,-2,6,-3,6,-2,-5,-2,-5,-3,-6,-2,-6,-3,5,-4,5,-3,6,-4,6,-3,-5,-3,-5,-4,-6,-3,-6,-4,5,-5,5,-4,6,-5,6,-4,-5,-4,-5,-5,-6,-4,-6,-5,5,-6,5,-5,6,-6,6,-5,-5,-5,-5,-6,-6,-5,-6,-6,5,-7,5,-6,6,-7,6,-6,-5,-6,-5,-7,-6,-6,-6,-7,5,-8,5,-7,6,-8,6,-7,-5,-7,-5,-8,-6,-7,-6,-8,5,-9,5,-8,6,-9,6,-8,-5,-8,-5,-9,-6,-8,-6,-9,5,-10,5,-9,6,-10,6,-9,-5,-9,-5,-10,-6,-9,-6,-10,5,0,5,1,6,0,6,1,-6,0,-6,-1,-7,0,-7,-1,-6,1,-6,0,-7,1,-7,0,6,-2,6,-1,7,-2,7,-1,6,-1,6,0,7,-1,7,0,-6,-1,-6,-2,-7,-1,-7,-2,6,-3,6,-2,7,-3,7,-2,-6,-2,-6,-3,-7,-2,-7,-3,6,-4,6,-3,7,-4,7,-3,-6,-3,-6,-4,-7,-3,-7,-4,6,-5,6,-4,7,-5,7,-4,-6,-4,-6,-5,-7,-4,-7,-5,6,-6,6,-5,7,-6,7,-5,-6,-5,-6,-6,-7,-5,-7,-6,6,-7,6,-6,7,-7,7,-6,-6,-6,-6,-7,-7,-6,-7,-7,6,-8,6,-7,7,-8,7,-7,-6,-7,-6,-8,-7,-7,-7,-8,6,-9,6,-8,7,-9,7,-8,-6,-8,-6,-9,-7,-8,-7,-9,6,-10,6,-9,7,-10,7,-9,-6,-9,-6,-10,-7,-9,-7,-10,6,0,6,1,7,0,7,1,-7,0,-7,-1,-8,0,-8,-1,-7,1,-7,0,-8,1,-8,0,7,-2,7,-1,8,-2,8,-1,7,-1,7,0,8,-1,8,0,-7,-1,-7,-2,-8,-1,-8,-2,7,-3,7,-2,8,-3,8,-2,-7,-2,-7,-3,-8,-2,-8,-3,7,-4,7,-3,8,-4,8,-3,-7,-3,-7,-4,-8,-3,-8,-4,7,-5,7,-4,8,-5,8,-4,-7,-4,-7,-5,-8,-4,-8,-5,7,-6,7,-5,8,-6,8,-5,-7,-5,-7,-6,-8,-5,-8,-6,7,-7,7,-6,8,-7,8,-6,-7,-6,-7,-7,-8,-6,-8,-7,7,-8,7,-7,8,-8,8,-7,-7,-7,-7,-8,-8,-7,-8,-8,7,-9,7,-8,8,-9,8,-8,-7,-8,-7,-9,-8,-8, +-8,-9,7,-10,7,-9,8,-10,8,-9,-7,-9,-7,-10,-8,-9,-8,-10,7,0,7,1,8,0,8,1,-8,0,-8,-1,-9,0,-9,-1,-8,1,-8,0,-9,1,-9,0,8,-2,8,-1,9,-2,9,-1,8,-1,8,0,9,-1,9,0,-8,-1,-8,-2,-9,-1,-9,-2,8,-3,8,-2,9,-3,9,-2,-8,-2,-8,-3,-9,-2,-9,-3,8,-4,8,-3,9,-4,9,-3,-8,-3,-8,-4,-9,-3,-9,-4,8,-5,8,-4,9,-5,9,-4,-8,-4,-8,-5,-9,-4,-9,-5,8,-6,8,-5,9,-6,9,-5,-8,-5,-8,-6,-9,-5,-9,-6,8,-7,8,-6,9,-7,9,-6,-8,-6,-8,-7,-9,-6,-9,-7,8,-8,8,-7,9,-8,9,-7,-8,-7,-8,-8,-9,-7,-9,-8,8,-9,8,-8,9,-9,9,-8,-8,-8,-8,-9,-9,-8,-9,-9,8,-10,8,-9,9,-10,9,-9,-8,-9,-8,-10,-9,-9,-9,-10,8,0,8,1,9,0,9,1,-9,0,-9,-1,-10,0,-10,-1,-9,1,-9,0,-10,1,-10,0,9,-2,9,-1,10,-2,10,-1,9,-1,9,0,10,-1,10,0,-9,-1,-9,-2,-10,-1,-10,-2,9,-3,9,-2,10,-3,10,-2,-9,-2,-9,-3,-10,-2,-10,-3,9,-4,9,-3,10,-4,10,-3,-9,-3,-9,-4,-10,-3,-10,-4,9,-5,9,-4,10,-5,10,-4,-9,-4,-9,-5,-10,-4,-10,-5,9,-6,9,-5,10,-6,10,-5,-9,-5,-9,-6,-10,-5,-10,-6,9,-7,9,-6,10,-7,10,-6,-9,-6,-9,-7,-10,-6,-10,-7,9,-8,9,-7,10,-8,10,-7,-9,-7,-9,-8,-10,-7,-10,-8,9,-9,9,-8,10,-9,10,-8,-9,-8,-9,-9,-10,-8,-10,-9,9,-10,9,-9,10,-10,10,-9,-9,-9,-9,-10,-10,-9,-10,-10,9,0,9,1,10,0,10,1,1,1,0,1,1,2,0,2,10,1,9,1,10,2,9,2,-9,1,-10,1,-9,2,-10,2,-9,1,-10,1,-9,2,-10,2,-1,1,-2,1,-1,2,-2,2,9,1,8,1,9,2,8,2,-8,1,-9,1,-8,2,-9,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,2,1,1,1,2,2,1,2,-1,1,-2,1,-1,2,-2,2,10,1,9,1,10,2,9,2,0,1,-1,1,0,2,-1,2,9,1,8,1,9,2,8,2,-8,1,-9,1,-8,2,-9,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,2,1,1,1,2,2,1,2,-1,1,-2,1,-1,2,-2,2,1,1,0,1,1,2,0,2,2,1,1,1,2,2,1,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,9,1,8,1,9,2,8,2,-8,1,-9,1, +-8,2,-9,2,10,1,9,1,10,2,9,2,-9,1,-10,1,-9,2,-10,2,0,1,-1,1,0,2,-1,2,1,2,0,2,1,3,0,3,10,2,9,2,10,3,9,3,-9,2,-10,2,-9,3,-10,3,-9,2,-10,2,-9,3,-10,3,-1,2,-2,2,-1,3,-2,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,7,2,6,2,7,3,6,3,-6,2,-7,2,-6,3,-7,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,2,2,1,2,2,3,1,3,-1,2,-2,2,-1,3,-2,3,10,2,9,2,10,3,9,3,0,2,-1,2,0,3,-1,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,7,2,6,2,7,3,6,3,-6,2,-7,2,-6,3,-7,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,2,2,1,2,2,3,1,3,-1,2,-2,2,-1,3,-2,3,1,2,0,2,1,3,0,3,2,2,1,2,2,3,1,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,7,2,6,2,7,3,6,3,-6,2,-7,2,-6,3,-7,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,10,2,9,2,10,3,9,3,-9,2,-10,2,-9,3,-10,3,0,2,-1,2,0,3,-1,3,1,3,0,3,1,4,0,4,10,3,9,3,10,4,9,4,-9,3,-10,3,-9,4,-10,4,-9,3,-10,3,-9,4,-10,4,-1,3,-2,3,-1,4,-2,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,8,3,7,3,8,4,7,4,-7,3,-8,3,-7,4,-8,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,2,3,1,3,2,4,1,4,-1,3,-2,3,-1,4,-2,4,10,3,9,3,10,4,9,4,0,3,-1,3,0,4,-1,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,8,3,7,3,8,4,7,4,-7,3,-8,3,-7,4,-8,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,2,3,1,3,2,4,1,4,-1,3,-2,3,-1,4,-2,4,1,3,0,3,1,4,0,4,2,3,1,3,2,4,1,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,8,3,7,3, +8,4,7,4,-7,3,-8,3,-7,4,-8,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,10,3,9,3,10,4,9,4,-9,3,-10,3,-9,4,-10,4,0,3,-1,3,0,4,-1,4 + } + UVIndex: *2484 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431,432,434,433,433,434,435,436,438,437,437,438,439,440,442,441,441,442,443,444,446,445,445,446,447,448,450,449,449,450,451,452,454,453,453,454,455,456,458,457,457,458,459,460,462,461,461,462,463,464,466,465,465,466,467,468,470,469,469,470,471,472,474,473,473,474,475,476,478,477,477,478,479,480,482,481,481,482,483,484,486,485,485,486,487,488,490,489,489,490,491,492,494,493,493,494,495,496,498,497,497,498,499,500,502,501,501,502,503,504,506,505,505,506,507,508,510,509,509,510,511,512,514,513,513,514,515,516,518,517,517,518,519,520,522,521,521,522,523,524,526,525,525,526,527,528,530,529,529,530,531,532,534,533,533,534,535,536,538,537,537,538,539,540,542,541,541,542,543,544,546,545,545,546,547,548,550,549,549,550,551,552,554,553,553,554,555,556,558,557,557,558,559,560,562,561,561,562,563,564,566,565,565,566,567,568,570,569,569,570,571,572,574,573,573,574,575,576,578,577,577,578,579,580,582,581,581,582,583,584,586,585,585,586,587,588,590,589,589,590,591,592,594,593,593,594,595,596,598,597,597,598,599,600,602,601,601,602,603,604,606,605,605,606,607,608,610,609,609,610,611,612,614,613,613,614,615,616,618,617,617,618,619,620,622,621,621,622,623,624,626,625,625,626,627,628,630,629,629,630,631,632,634,633,633,634,635,636,638,637,637,638,639,640,642,641,641,642,643,644,646,645,645,646,647,648,650,649,649,650,651,652,654,653,653,654,655,656,658,657,657,658,659,660,662,661,661,662,663,664,666,665,665,666,667,668,670,669,669,670,671,672,674,673,673,674,675,676,678,677,677,678,679,680,682,681,681,682,683,684,686,685,685,686,687,688,690,689,689,690,691,692,694,693,693,694,695,696,698,697,697,698,699,700,702,701,701,702,703,704,706,705,705,706, +707,708,710,709,709,710,711,712,714,713,713,714,715,716,718,717,717,718,719,720,722,721,721,722,723,724,726,725,725,726,727,728,730,729,729,730,731,732,734,733,733,734,735,736,738,737,737,738,739,740,742,741,741,742,743,744,746,745,745,746,747,748,750,749,749,750,751,752,754,753,753,754,755,756,758,757,757,758,759,760,762,761,761,762,763,764,766,765,765,766,767,768,770,769,769,770,771,772,774,773,773,774,775,776,778,777,777,778,779,780,782,781,781,782,783,784,786,785,785,786,787,788,790,789,789,790,791,792,794,793,793,794,795,796,798,797,797,798,799,800,802,801,801,802,803,804,806,805,805,806,807,808,810,809,809,810,811,812,814,813,813,814,815,816,818,817,817,818,819,820,822,821,821,822,823,824,826,825,825,826,827,828,830,829,829,830,831,832,834,833,833,834,835,836,838,837,837,838,839,840,842,841,841,842,843,844,846,845,845,846,847,848,850,849,849,850,851,852,854,853,853,854,855,856,858,857,857,858,859,860,862,861,861,862,863,864,866,865,865,866,867,868,870,869,869,870,871,872,874,873,873,874,875,876,878,877,877,878,879,880,882,881,881,882,883,884,886,885,885,886,887,888,890,889,889,890,891,892,894,893,893,894,895,896,898,897,897,898,899,900,902,901,901,902,903,904,906,905,905,906,907,908,910,909,909,910,911,912,914,913,913,914,915,916,918,917,917,918,919,920,922,921,921,922,923,924,926,925,925,926,927,928,930,929,929,930,931,932,934,933,933,934,935,936,938,937,937,938,939,940,942,941,941,942,943,944,946,945,945,946,947,948,950,949,949,950,951,952,954,953,953,954,955,956,958,957,957,958,959,960,962,961,961,962,963,964,966,965,965,966,967,968,970,969,969,970,971,972,974,973,973,974,975,976,978,977,977,978,979,980,982,981,981,982,983,984,986,985,985,986,987,988,990,989,989,990,991,992,994,993,993,994,995,996,998,997,997,998,999,1000,1002,1001,1001,1002,1003,1004,1006,1005,1005,1006,1007,1008,1010,1009,1009,1010,1011,1012,1014,1013,1013,1014,1015,1016,1018,1017,1017,1018,1019,1020,1022,1021,1021,1022,1023,1024,1026,1025,1025,1026,1027,1028,1030,1029,1029,1030,1031,1032,1034,1033,1033,1034,1035,1036,1038,1037,1037,1038, +1039,1040,1042,1041,1041,1042,1043,1044,1046,1045,1045,1046,1047,1048,1050,1049,1049,1050,1051,1052,1054,1053,1053,1054,1055,1056,1058,1057,1057,1058,1059,1060,1062,1061,1061,1062,1063,1064,1066,1065,1065,1066,1067,1068,1070,1069,1069,1070,1071,1072,1074,1073,1073,1074,1075,1076,1078,1077,1077,1078,1079,1080,1082,1081,1081,1082,1083,1084,1086,1085,1085,1086,1087,1088,1090,1089,1089,1090,1091,1092,1094,1093,1093,1094,1095,1096,1098,1097,1097,1098,1099,1100,1102,1101,1101,1102,1103,1104,1106,1105,1105,1106,1107,1108,1110,1109,1109,1110,1111,1112,1114,1113,1113,1114,1115,1116,1118,1117,1117,1118,1119,1120,1122,1121,1121,1122,1123,1124,1126,1125,1125,1126,1127,1128,1130,1129,1129,1130,1131,1132,1134,1133,1133,1134,1135,1136,1138,1137,1137,1138,1139,1140,1142,1141,1141,1142,1143,1144,1146,1145,1145,1146,1147,1148,1150,1149,1149,1150,1151,1152,1154,1153,1153,1154,1155,1156,1158,1157,1157,1158,1159,1160,1162,1161,1161,1162,1163,1164,1166,1165,1165,1166,1167,1168,1170,1169,1169,1170,1171,1172,1174,1173,1173,1174,1175,1176,1178,1177,1177,1178,1179,1180,1182,1181,1181,1182,1183,1184,1186,1185,1185,1186,1187,1188,1190,1189,1189,1190,1191,1192,1194,1193,1193,1194,1195,1196,1198,1197,1197,1198,1199,1200,1202,1201,1201,1202,1203,1204,1206,1205,1205,1206,1207,1208,1210,1209,1209,1210,1211,1212,1214,1213,1213,1214,1215,1216,1218,1217,1217,1218,1219,1220,1222,1221,1221,1222,1223,1224,1226,1225,1225,1226,1227,1228,1230,1229,1229,1230,1231,1232,1234,1233,1233,1234,1235,1236,1238,1237,1237,1238,1239,1240,1242,1241,1241,1242,1243,1244,1246,1245,1245,1246,1247,1248,1250,1249,1249,1250,1251,1252,1254,1253,1253,1254,1255,1256,1258,1257,1257,1258,1259,1260,1262,1261,1261,1262,1263,1264,1266,1265,1265,1266,1267,1268,1270,1269,1269,1270,1271,1272,1274,1273,1273,1274,1275,1276,1278,1277,1277,1278,1279,1280,1282,1281,1281,1282,1283,1284,1286,1285,1285,1286,1287,1288,1290,1289,1289,1290,1291,1292,1294,1293,1293,1294,1295,1296,1298,1297,1297,1298,1299,1300,1302,1301,1301,1302,1303,1304,1306,1305,1305,1306,1307,1308,1310,1309,1309,1310,1311,1312, +1314,1313,1313,1314,1315,1316,1318,1317,1317,1318,1319,1320,1322,1321,1321,1322,1323,1324,1326,1325,1325,1326,1327,1328,1330,1329,1329,1330,1331,1332,1334,1333,1333,1334,1335,1336,1338,1337,1337,1338,1339,1340,1342,1341,1341,1342,1343,1344,1346,1345,1345,1346,1347,1348,1350,1349,1349,1350,1351,1352,1354,1353,1353,1354,1355,1356,1358,1357,1357,1358,1359,1360,1362,1361,1361,1362,1363,1364,1366,1365,1365,1366,1367,1368,1370,1369,1369,1370,1371,1372,1374,1373,1373,1374,1375,1376,1378,1377,1377,1378,1379,1380,1382,1381,1381,1382,1383,1384,1386,1385,1385,1386,1387,1388,1390,1389,1389,1390,1391,1392,1394,1393,1393,1394,1395,1396,1398,1397,1397,1398,1399,1400,1402,1401,1401,1402,1403,1404,1406,1405,1405,1406,1407,1408,1410,1409,1409,1410,1411,1412,1414,1413,1413,1414,1415,1416,1418,1417,1417,1418,1419,1420,1422,1421,1421,1422,1423,1424,1426,1425,1425,1426,1427,1428,1430,1429,1429,1430,1431,1432,1434,1433,1433,1434,1435,1436,1438,1437,1437,1438,1439,1440,1442,1441,1441,1442,1443,1444,1446,1445,1445,1446,1447,1448,1450,1449,1449,1450,1451,1452,1454,1453,1453,1454,1455,1456,1458,1457,1457,1458,1459,1460,1462,1461,1461,1462,1463,1464,1466,1465,1465,1466,1467,1468,1470,1469,1469,1470,1471,1472,1474,1473,1473,1474,1475,1476,1478,1477,1477,1478,1479,1480,1482,1481,1481,1482,1483,1484,1486,1485,1485,1486,1487,1488,1490,1489,1489,1490,1491,1492,1494,1493,1493,1494,1495,1496,1498,1497,1497,1498,1499,1500,1502,1501,1501,1502,1503,1504,1506,1505,1505,1506,1507,1508,1510,1509,1509,1510,1511,1512,1514,1513,1513,1514,1515,1516,1518,1517,1517,1518,1519,1520,1522,1521,1521,1522,1523,1524,1526,1525,1525,1526,1527,1528,1530,1529,1529,1530,1531,1532,1534,1533,1533,1534,1535,1536,1538,1537,1537,1538,1539,1540,1542,1541,1541,1542,1543,1544,1546,1545,1545,1546,1547,1548,1550,1549,1549,1550,1551,1552,1554,1553,1553,1554,1555,1556,1558,1557,1557,1558,1559,1560,1562,1561,1561,1562,1563,1564,1566,1565,1565,1566,1567,1568,1570,1569,1569,1570,1571,1572,1574,1573,1573,1574,1575,1576,1578,1577,1577,1578,1579,1580,1582,1581,1581,1582,1583,1584,1586,1585, +1585,1586,1587,1588,1590,1589,1589,1590,1591,1592,1594,1593,1593,1594,1595,1596,1598,1597,1597,1598,1599,1600,1602,1601,1601,1602,1603,1604,1606,1605,1605,1606,1607,1608,1610,1609,1609,1610,1611,1612,1614,1613,1613,1614,1615,1616,1618,1617,1617,1618,1619,1620,1622,1621,1621,1622,1623,1624,1626,1625,1625,1626,1627,1628,1630,1629,1629,1630,1631,1632,1634,1633,1633,1634,1635,1636,1638,1637,1637,1638,1639,1640,1642,1641,1641,1642,1643,1644,1646,1645,1645,1646,1647,1648,1650,1649,1649,1650,1651,1652,1654,1653,1653,1654,1655 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Geometry: 1143692080, "Geometry::Scene", "Mesh" { + Vertices: *1248 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-1000,-0,0,-1000,-100,100,-1000,-0,100,-1000,-0,0,-100,-0,100,-100,-0,400,0,-100,400,0,-0,400,-100,-100,400,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-0,400,-200,-100,400,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-0,400,-300,-100,400,-300,-100,0,-400,-0,0,-400,-1000,100,-400,-1000,0,-400,-0,100,-400,-0,400,-400,-100,400,-400,-100,0,-500,-0,0,-500,-1000,100,-500,-1000,0,-500,-0,100,-500,-0,400,-500,-100,400,-500,-100,0,-600,-0,0,-600,-1000,100,-600,-1000,0,-600,-0,100,-600,-0,400,-600,-100,400,-600,-100,0,-700,-0,0,-700,-1000,100,-700,-1000,0,-700,-0,100,-700,-0,400,-700,-100,400,-700,-100,0,-800,-0,0,-800,-1000,100,-800,-1000,0,-800,-0,100,-800,-0,400,-800,-100,400,-800,-100,0,-900,-0,0,-900,-1000,100,-900,-1000,0,-900,-0,100,-900,-0,400,-900,-100,400,-900,-1000,100,-1000,-1000,0,-1000,-0,400,-1000,-100,400,-1000,-200,0,0,-200,0,-100,-200,100,0,-100,100,-200,-100,100,-100,-200,100,-200,-200,100,-100,-200,400,-100,-200,400,0,-200,0,-200,-100,100,-300,-200,100,-300,-200,0,-300,-100,100,-400,-200,100,-400,-200,0,-400,-100,100,-500,-200,100,-500,-200,0,-500,-100,100,-600,-200,100,-600,-200,0,-600,-100,100,-700,-200,100,-700,-200,0,-700,-100,100,-800,-200,100,-800,-200,0,-800,-100,100,-900,-200,100,-900,-200,0,-900,-200,400,-1000,-200,400,-900,-200,0,-1000,-200,100,-1000,-300,0,0,-300,0,-100,-300,100,0,-300,100,-200,-300,100,-100,-300,400,-100,-300,400,0,-300,0,-200,-300,100,-300,-300,0,-300,-300,100,-400,-300,0,-400,-300,100,-500,-300,0,-500,-300,100,-600,-300,0,-600,-300,100,-700,-300,0,-700,-300,100,-800,-300,0,-800,-300,100,-900,-300,0,-900,-300,400,-1000,-300,400,-900,-300,0,-1000,-300,100,-1000,-400,0,0,-400,0,-100,-400,100,0,-400,100,-200,-400,100,-100,-400,400,-100,-400,400,0,-400,0,-200,-400,100,-300,-400,0,-300,-400,100,-400,-400,0,-400,-400,100,-500,-400,0,-500,-400,100,-600,-400,0,-600,-400,100,-700,-400,0,-700,-400,100,-800,-400,0,-800, +-400,100,-900,-400,0,-900,-400,400,-1000,-400,400,-900,-400,0,-1000,-400,100,-1000,-500,0,0,-500,0,-100,-500,100,0,-500,100,-200,-500,100,-100,-500,400,-100,-500,400,0,-500,0,-200,-500,100,-300,-500,0,-300,-500,100,-400,-500,0,-400,-500,100,-500,-500,0,-500,-500,100,-600,-500,0,-600,-500,100,-700,-500,0,-700,-500,100,-800,-500,0,-800,-500,100,-900,-500,0,-900,-500,400,-1000,-500,400,-900,-500,0,-1000,-500,100,-1000,-600,0,0,-600,0,-100,-600,100,0,-600,100,-200,-600,100,-100,-600,400,-100,-600,400,0,-600,0,-200,-600,100,-300,-600,0,-300,-600,100,-400,-600,0,-400,-600,100,-500,-600,0,-500,-600,100,-600,-600,0,-600,-600,100,-700,-600,0,-700,-600,100,-800,-600,0,-800,-600,100,-900,-600,0,-900,-600,400,-1000,-600,400,-900,-600,0,-1000,-600,100,-1000,-700,0,0,-700,0,-100,-700,100,0,-700,100,-200,-700,100,-100,-700,400,-100,-700,400,0,-700,0,-200,-700,100,-300,-700,0,-300,-700,100,-400,-700,0,-400,-700,100,-500,-700,0,-500,-700,100,-600,-700,0,-600,-700,100,-700,-700,0,-700,-700,100,-800,-700,0,-800,-700,100,-900,-700,0,-900,-700,400,-1000,-700,400,-900,-700,0,-1000,-700,100,-1000,-800,0,0,-800,0,-100,-800,100,0,-800,100,-200,-800,100,-100,-800,400,-100,-800,400,0,-800,0,-200,-800,100,-300,-800,0,-300,-800,100,-400,-800,0,-400,-800,100,-500,-800,0,-500,-800,100,-600,-800,0,-600,-800,100,-700,-800,0,-700,-800,100,-800,-800,0,-800,-800,100,-900,-800,0,-900,-800,400,-1000,-800,400,-900,-800,0,-1000,-800,100,-1000,-900,0,0,-900,0,-100,-900,100,0,-900,100,-200,-900,100,-100,-900,400,-100,-900,400,0,-900,0,-200,-900,100,-300,-900,0,-300,-900,100,-400,-900,0,-400,-900,100,-500,-900,0,-500,-900,100,-600,-900,0,-600,-900,100,-700,-900,0,-700,-900,100,-800,-900,0,-800,-900,100,-900,-900,0,-900,-900,400,-1000,-900,400,-900,-900,0,-1000,-900,100,-1000,-1000,400,-100,-1000,400,0,-1000,400,-1000,-1000,400,-900,-100,200,-1000,-0,200,-1000,-1000,200,-1000,-900,200,-1000,-900,200,-900,-1000,200,-900,-100,200,0,-200,200,0,-800,200,-1000,-800,200,-900,-700,200,-1000,-700,200,-900,-600,200,-1000,-600,200,-900,-500,200,-1000,-500,200,-900,-400,200,-1000, +-400,200,-900,-300,200,-1000,-300,200,-900,-200,200,-1000,-200,200,-900,-100,200,-900,-0,200,-900,-0,200,0,-0,200,-800,-100,200,-800,-0,200,-700,-100,200,-700,-0,200,-600,-100,200,-600,-0,200,-500,-100,200,-500,-0,200,-400,-100,200,-400,-0,200,-300,-100,200,-300,-0,200,-200,-100,200,-200,-0,200,-100,-100,200,-100,-200,200,-100,-300,200,-100,-300,200,0,-400,200,-100,-400,200,0,-500,200,-100,-500,200,0,-600,200,-100,-600,200,0,-700,200,-100,-700,200,0,-800,200,-100,-800,200,0,-900,200,-100,-900,200,0,-1000,200,-100,-1000,200,0,-100,300,-1000,-0,300,-1000,-1000,300,-1000,-900,300,-1000,-900,300,-900,-1000,300,-900,-100,300,0,-200,300,0,-800,300,-1000,-800,300,-900,-700,300,-1000,-700,300,-900,-600,300,-1000,-600,300,-900,-500,300,-1000,-500,300,-900,-400,300,-1000,-400,300,-900,-300,300,-1000,-300,300,-900,-200,300,-1000,-200,300,-900,-100,300,-900,-0,300,-900,-0,300,0,-0,300,-800,-100,300,-800,-0,300,-700,-100,300,-700,-0,300,-600,-100,300,-600,-0,300,-500,-100,300,-500,-0,300,-400,-100,300,-400,-0,300,-300,-100,300,-300,-0,300,-200,-100,300,-200,-0,300,-100,-100,300,-100,-200,300,-100,-300,300,-100,-300,300,0,-400,300,-100,-400,300,0,-500,300,-100,-500,300,0,-600,300,-100,-600,300,0,-700,300,-100,-700,300,0,-800,300,-100,-800,300,0,-900,300,-100,-900,300,0,-1000,300,-100,-1000,300,0 + } + PolygonVertexIndex: *2484 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,14,16,-16,15,16,-18,12,0,-19,18,0,-2,18,19,-13,12,19,-21,7,21,-6,5,21,-23,12,20,-14,13,20,-24,16,24,-18,17,24,-26,19,26,-21,20,26,-28,21,28,-23,22,28,-30,20,27,-24,23,27,-31,24,31,-26,25,31,-33,26,33,-28,27,33,-35,28,35,-30,29,35,-37,27,34,-31,30,34,-38,31,38,-33,32,38,-40,33,40,-35,34,40,-42,35,42,-37,36,42,-44,34,41,-38,37,41,-45,38,45,-40,39,45,-47,40,47,-42,41,47,-49,42,49,-44,43,49,-51,41,48,-45,44,48,-52,45,52,-47,46,52,-54,47,54,-49,48,54,-56,49,56,-51,50,56,-58,48,55,-52,51,55,-59,52,59,-54,53,59,-61,54,61,-56,55,61,-63,56,63,-58,57,63,-65,55,62,-59,58,62,-66,59,66,-61,60,66,-68,61,68,-63,62,68,-70,63,70,-65,64,70,-72,62,69,-66,65,69,-73,66,73,-68,67,73,-75,68,8,-70,69,8,-10,70,75,-72,71,75,-77,69,9,-73,72,9,-12,73,77,-75,74,77,-79,1,79,-19,18,79,-81,3,81,-2,1,81,-80,82,84,-84,83,84,-86,17,86,-16,15,86,-88,18,80,-20,19,80,-89,89,90,-83,82,90,-85,19,88,-27,26,88,-92,92,93,-90,89,93,-91,26,91,-34,33,91,-95,95,96,-93,92,96,-94,33,94,-41,40,94,-98,98,99,-96,95,99,-97,40,97,-48,47,97,-101,101,102,-99,98,102,-100,47,100,-55,54,100,-104,104,105,-102,101,105,-103,54,103,-62,61,103,-107,107,108,-105,104,108,-106,61,106,-69,68,106,-110,78,110,-75,74,110,-112,68,109,-9,8,109,-113,8,112,-11,10,112,-114,79,114,-81,80,114,-116,81,116,-80,79,116,-115,84,117,-86,85,117,-119,86,119,-88,87,119,-121,80,115,-89,88,115,-122,90,122,-85,84,122,-118,88,121,-92,91,121,-124,93,124,-91,90,124,-123,91,123,-95,94,123,-126,96,126,-94,93,126,-125,94,125,-98,97,125,-128,99,128,-97,96,128,-127,97,127,-101,100,127,-130,102,130,-100,99,130,-129,100,129,-104,103,129,-132,105,132,-103,102,132,-131,103,131,-107,106,131,-134,108,134,-106,105,134,-133,106,133,-110,109,133,-136,110,136,-112,111,136,-138,109,135,-113,112,135,-139,112,138,-114,113,138,-140,114,140,-116,115,140,-142,116,142,-115,114,142,-141,117,143,-119,118,143,-145,119,145,-121,120,145,-147,115,141,-122,121,141,-148,122,148,-118,117,148,-144,121,147,-124,123,147,-150,124,150,-123,122,150,-149,123,149, +-126,125,149,-152,126,152,-125,124,152,-151,125,151,-128,127,151,-154,128,154,-127,126,154,-153,127,153,-130,129,153,-156,130,156,-129,128,156,-155,129,155,-132,131,155,-158,132,158,-131,130,158,-157,131,157,-134,133,157,-160,134,160,-133,132,160,-159,133,159,-136,135,159,-162,136,162,-138,137,162,-164,135,161,-139,138,161,-165,138,164,-140,139,164,-166,140,166,-142,141,166,-168,142,168,-141,140,168,-167,143,169,-145,144,169,-171,145,171,-147,146,171,-173,141,167,-148,147,167,-174,148,174,-144,143,174,-170,147,173,-150,149,173,-176,150,176,-149,148,176,-175,149,175,-152,151,175,-178,152,178,-151,150,178,-177,151,177,-154,153,177,-180,154,180,-153,152,180,-179,153,179,-156,155,179,-182,156,182,-155,154,182,-181,155,181,-158,157,181,-184,158,184,-157,156,184,-183,157,183,-160,159,183,-186,160,186,-159,158,186,-185,159,185,-162,161,185,-188,162,188,-164,163,188,-190,161,187,-165,164,187,-191,164,190,-166,165,190,-192,166,192,-168,167,192,-194,168,194,-167,166,194,-193,169,195,-171,170,195,-197,171,197,-173,172,197,-199,167,193,-174,173,193,-200,174,200,-170,169,200,-196,173,199,-176,175,199,-202,176,202,-175,174,202,-201,175,201,-178,177,201,-204,178,204,-177,176,204,-203,177,203,-180,179,203,-206,180,206,-179,178,206,-205,179,205,-182,181,205,-208,182,208,-181,180,208,-207,181,207,-184,183,207,-210,184,210,-183,182,210,-209,183,209,-186,185,209,-212,186,212,-185,184,212,-211,185,211,-188,187,211,-214,188,214,-190,189,214,-216,187,213,-191,190,213,-217,190,216,-192,191,216,-218,192,218,-194,193,218,-220,194,220,-193,192,220,-219,195,221,-197,196,221,-223,197,223,-199,198,223,-225,193,219,-200,199,219,-226,200,226,-196,195,226,-222,199,225,-202,201,225,-228,202,228,-201,200,228,-227,201,227,-204,203,227,-230,204,230,-203,202,230,-229,203,229,-206,205,229,-232,206,232,-205,204,232,-231,205,231,-208,207,231,-234,208,234,-207,206,234,-233,207,233,-210,209,233,-236,210,236,-209,208,236,-235,209,235,-212,211,235,-238,212,238,-211,210,238,-237,211,237,-214,213,237,-240,214,240,-216,215,240,-242,213,239,-217,216,239,-243,216, +242,-218,217,242,-244,218,244,-220,219,244,-246,220,246,-219,218,246,-245,221,247,-223,222,247,-249,223,249,-225,224,249,-251,219,245,-226,225,245,-252,226,252,-222,221,252,-248,225,251,-228,227,251,-254,228,254,-227,226,254,-253,227,253,-230,229,253,-256,230,256,-229,228,256,-255,229,255,-232,231,255,-258,232,258,-231,230,258,-257,231,257,-234,233,257,-260,234,260,-233,232,260,-259,233,259,-236,235,259,-262,236,262,-235,234,262,-261,235,261,-238,237,261,-264,238,264,-237,236,264,-263,237,263,-240,239,263,-266,240,266,-242,241,266,-268,239,265,-243,242,265,-269,242,268,-244,243,268,-270,244,270,-246,245,270,-272,246,272,-245,244,272,-271,247,273,-249,248,273,-275,249,275,-251,250,275,-277,245,271,-252,251,271,-278,252,278,-248,247,278,-274,251,277,-254,253,277,-280,254,280,-253,252,280,-279,253,279,-256,255,279,-282,256,282,-255,254,282,-281,255,281,-258,257,281,-284,258,284,-257,256,284,-283,257,283,-260,259,283,-286,260,286,-259,258,286,-285,259,285,-262,261,285,-288,262,288,-261,260,288,-287,261,287,-264,263,287,-290,264,290,-263,262,290,-289,263,289,-266,265,289,-292,266,292,-268,267,292,-294,265,291,-269,268,291,-295,268,294,-270,269,294,-296,270,4,-272,271,4,-6,272,6,-271,270,6,-5,273,21,-275,274,21,-8,275,296,-277,276,296,-298,271,5,-278,277,5,-23,278,28,-274,273,28,-22,277,22,-280,279,22,-30,280,35,-279,278,35,-29,279,29,-282,281,29,-37,282,42,-281,280,42,-36,281,36,-284,283,36,-44,284,49,-283,282,49,-43,283,43,-286,285,43,-51,286,56,-285,284,56,-50,285,50,-288,287,50,-58,288,63,-287,286,63,-57,287,57,-290,289,57,-65,290,70,-289,288,70,-64,289,64,-292,291,64,-72,292,298,-294,293,298,-300,291,71,-295,294,71,-77,294,76,-296,295,76,-76,10,300,-12,11,300,-302,75,302,-296,295,302,-304,290,304,-71,70,304,-306,70,305,-76,75,305,-303,3,306,-82,81,306,-308,295,303,-270,269,303,-309,264,309,-291,290,309,-305,269,308,-244,243,308,-311,238,311,-265,264,311,-310,243,310,-218,217,310,-313,212,313,-239,238,313,-312,217,312,-192,191,312,-315,186,315,-213,212,315,-314,191,314,-166,165,314,-317,160,317,-187,186,317,-316,165, +316,-140,139,316,-319,134,319,-161,160,319,-318,139,318,-114,113,318,-321,108,321,-135,134,321,-320,113,320,-11,10,320,-301,107,322,-109,108,322,-322,11,301,-73,72,301,-324,2,324,-4,3,324,-307,72,323,-66,65,323,-326,104,326,-108,107,326,-323,65,325,-59,58,325,-328,101,328,-105,104,328,-327,58,327,-52,51,327,-330,98,330,-102,101,330,-329,51,329,-45,44,329,-332,95,332,-99,98,332,-331,44,331,-38,37,331,-334,92,334,-96,95,334,-333,37,333,-31,30,333,-336,89,336,-93,92,336,-335,30,335,-24,23,335,-338,82,338,-90,89,338,-337,23,337,-14,13,337,-340,83,340,-83,82,340,-339,13,339,-3,2,339,-325,85,341,-84,83,341,-341,118,342,-86,85,342,-342,81,307,-117,116,307,-344,144,344,-119,118,344,-343,116,343,-143,142,343,-346,170,346,-145,144,346,-345,142,345,-169,168,345,-348,196,348,-171,170,348,-347,168,347,-195,194,347,-350,222,350,-197,196,350,-349,194,349,-221,220,349,-352,248,352,-223,222,352,-351,220,351,-247,246,351,-354,274,354,-249,248,354,-353,246,353,-273,272,353,-356,7,356,-275,274,356,-355,272,355,-7,6,355,-358,6,357,-8,7,357,-357,300,358,-302,301,358,-360,302,360,-304,303,360,-362,304,362,-306,305,362,-364,305,363,-303,302,363,-361,306,364,-308,307,364,-366,303,361,-309,308,361,-367,309,367,-305,304,367,-363,308,366,-311,310,366,-369,311,369,-310,309,369,-368,310,368,-313,312,368,-371,313,371,-312,311,371,-370,312,370,-315,314,370,-373,315,373,-314,313,373,-372,314,372,-317,316,372,-375,317,375,-316,315,375,-374,316,374,-319,318,374,-377,319,377,-318,317,377,-376,318,376,-321,320,376,-379,321,379,-320,319,379,-378,320,378,-301,300,378,-359,322,380,-322,321,380,-380,301,359,-324,323,359,-382,324,382,-307,306,382,-365,323,381,-326,325,381,-384,326,384,-323,322,384,-381,325,383,-328,327,383,-386,328,386,-327,326,386,-385,327,385,-330,329,385,-388,330,388,-329,328,388,-387,329,387,-332,331,387,-390,332,390,-331,330,390,-389,331,389,-334,333,389,-392,334,392,-333,332,392,-391,333,391,-336,335,391,-394,336,394,-335,334,394,-393,335,393,-338,337,393,-396,338,396,-337,336,396,-395,337,395,-340,339,395,-398,340,398,-339,338,398, +-397,339,397,-325,324,397,-383,341,399,-341,340,399,-399,342,400,-342,341,400,-400,307,365,-344,343,365,-402,344,402,-343,342,402,-401,343,401,-346,345,401,-404,346,404,-345,344,404,-403,345,403,-348,347,403,-406,348,406,-347,346,406,-405,347,405,-350,349,405,-408,350,408,-349,348,408,-407,349,407,-352,351,407,-410,352,410,-351,350,410,-409,351,409,-354,353,409,-412,354,412,-353,352,412,-411,353,411,-356,355,411,-414,356,414,-355,354,414,-413,355,413,-358,357,413,-416,357,415,-357,356,415,-415,358,78,-360,359,78,-78,360,298,-362,361,298,-293,362,293,-364,363,293,-300,363,299,-361,360,299,-299,364,15,-366,365,15,-88,361,292,-367,366,292,-267,367,267,-363,362,267,-294,366,266,-369,368,266,-241,369,241,-368,367,241,-268,368,240,-371,370,240,-215,371,215,-370,369,215,-242,370,214,-373,372,214,-189,373,189,-372,371,189,-216,372,188,-375,374,188,-163,375,163,-374,373,163,-190,374,162,-377,376,162,-137,377,137,-376,375,137,-164,376,136,-379,378,136,-111,379,111,-378,377,111,-138,378,110,-359,358,110,-79,380,74,-380,379,74,-112,359,77,-382,381,77,-74,382,14,-365,364,14,-16,381,73,-384,383,73,-67,384,67,-381,380,67,-75,383,66,-386,385,66,-60,386,60,-385,384,60,-68,385,59,-388,387,59,-53,388,53,-387,386,53,-61,387,52,-390,389,52,-46,390,46,-389,388,46,-54,389,45,-392,391,45,-39,392,39,-391,390,39,-47,391,38,-394,393,38,-32,394,32,-393,392,32,-40,393,31,-396,395,31,-25,396,25,-395,394,25,-33,395,24,-398,397,24,-17,398,17,-397,396,17,-26,397,16,-383,382,16,-15,399,86,-399,398,86,-18,400,119,-400,399,119,-87,365,87,-402,401,87,-121,402,145,-401,400,145,-120,401,120,-404,403,120,-147,404,171,-403,402,171,-146,403,146,-406,405,146,-173,406,197,-405,404,197,-172,405,172,-408,407,172,-199,408,223,-407,406,223,-198,407,198,-410,409,198,-225,410,249,-409,408,249,-224,409,224,-412,411,224,-251,412,275,-411,410,275,-250,411,250,-414,413,250,-277,414,296,-413,412,296,-276,413,276,-416,415,276,-298,415,297,-415,414,297,-297 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *7452 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + NormalsW: *2484 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *7452 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1, +0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1, +-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *2484 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *7452 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0, +1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1 + } + TangentsW: *2484 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *6624 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *2484 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431,432,434,433,433,434,435,436,438,437,437,438,439,440,442,441,441,442,443,444,446,445,445,446,447,448,450,449,449,450,451,452,454,453,453,454,455,456,458,457,457,458,459,460,462,461,461,462,463,464,466,465,465,466,467,468,470,469,469,470,471,472,474,473,473,474,475,476,478,477,477,478,479,480,482,481,481,482,483,484,486,485,485,486,487,488,490,489,489,490,491,492,494,493,493,494,495,496,498,497,497,498,499,500,502,501,501,502,503,504,506,505,505,506,507,508,510,509,509,510,511,512,514,513,513,514,515,516,518,517,517,518,519,520,522,521,521,522,523,524,526,525,525,526,527,528,530,529,529,530,531,532,534,533,533,534,535,536,538,537,537,538,539,540,542,541,541,542,543,544,546,545,545,546,547,548,550,549,549,550,551,552,554,553,553,554,555,556,558,557,557,558,559,560,562,561,561,562,563,564,566,565,565,566,567,568,570,569,569,570,571,572,574,573,573,574,575,576,578,577,577,578,579,580,582,581,581,582,583,584,586,585,585,586,587,588,590,589,589,590,591,592,594,593,593,594,595,596,598,597,597,598,599,600,602,601,601,602,603,604,606,605,605,606,607,608,610,609,609,610,611,612,614,613,613,614,615,616,618,617,617,618,619,620,622,621,621,622,623,624,626,625,625,626,627,628,630,629,629,630,631,632,634,633,633,634,635,636,638,637,637,638,639,640,642,641,641,642,643,644,646,645,645,646,647,648,650,649,649,650,651,652,654,653,653,654,655,656,658,657,657,658,659,660,662,661,661,662,663,664,666,665,665,666,667,668,670,669,669,670,671,672,674,673,673,674,675,676,678,677,677,678,679,680,682,681,681,682,683,684,686,685,685,686,687,688,690,689,689,690,691,692,694,693,693,694,695,696,698,697,697,698,699,700,702,701,701,702,703,704,706,705,705,706, +707,708,710,709,709,710,711,712,714,713,713,714,715,716,718,717,717,718,719,720,722,721,721,722,723,724,726,725,725,726,727,728,730,729,729,730,731,732,734,733,733,734,735,736,738,737,737,738,739,740,742,741,741,742,743,744,746,745,745,746,747,748,750,749,749,750,751,752,754,753,753,754,755,756,758,757,757,758,759,760,762,761,761,762,763,764,766,765,765,766,767,768,770,769,769,770,771,772,774,773,773,774,775,776,778,777,777,778,779,780,782,781,781,782,783,784,786,785,785,786,787,788,790,789,789,790,791,792,794,793,793,794,795,796,798,797,797,798,799,800,802,801,801,802,803,804,806,805,805,806,807,808,810,809,809,810,811,812,814,813,813,814,815,816,818,817,817,818,819,820,822,821,821,822,823,824,826,825,825,826,827,828,830,829,829,830,831,832,834,833,833,834,835,836,838,837,837,838,839,840,842,841,841,842,843,844,846,845,845,846,847,848,850,849,849,850,851,852,854,853,853,854,855,856,858,857,857,858,859,860,862,861,861,862,863,864,866,865,865,866,867,868,870,869,869,870,871,872,874,873,873,874,875,876,878,877,877,878,879,880,882,881,881,882,883,884,886,885,885,886,887,888,890,889,889,890,891,892,894,893,893,894,895,896,898,897,897,898,899,900,902,901,901,902,903,904,906,905,905,906,907,908,910,909,909,910,911,912,914,913,913,914,915,916,918,917,917,918,919,920,922,921,921,922,923,924,926,925,925,926,927,928,930,929,929,930,931,932,934,933,933,934,935,936,938,937,937,938,939,940,942,941,941,942,943,944,946,945,945,946,947,948,950,949,949,950,951,952,954,953,953,954,955,956,958,957,957,958,959,960,962,961,961,962,963,964,966,965,965,966,967,968,970,969,969,970,971,972,974,973,973,974,975,976,978,977,977,978,979,980,982,981,981,982,983,984,986,985,985,986,987,988,990,989,989,990,991,992,994,993,993,994,995,996,998,997,997,998,999,1000,1002,1001,1001,1002,1003,1004,1006,1005,1005,1006,1007,1008,1010,1009,1009,1010,1011,1012,1014,1013,1013,1014,1015,1016,1018,1017,1017,1018,1019,1020,1022,1021,1021,1022,1023,1024,1026,1025,1025,1026,1027,1028,1030,1029,1029,1030,1031,1032,1034,1033,1033,1034,1035,1036,1038,1037,1037,1038, +1039,1040,1042,1041,1041,1042,1043,1044,1046,1045,1045,1046,1047,1048,1050,1049,1049,1050,1051,1052,1054,1053,1053,1054,1055,1056,1058,1057,1057,1058,1059,1060,1062,1061,1061,1062,1063,1064,1066,1065,1065,1066,1067,1068,1070,1069,1069,1070,1071,1072,1074,1073,1073,1074,1075,1076,1078,1077,1077,1078,1079,1080,1082,1081,1081,1082,1083,1084,1086,1085,1085,1086,1087,1088,1090,1089,1089,1090,1091,1092,1094,1093,1093,1094,1095,1096,1098,1097,1097,1098,1099,1100,1102,1101,1101,1102,1103,1104,1106,1105,1105,1106,1107,1108,1110,1109,1109,1110,1111,1112,1114,1113,1113,1114,1115,1116,1118,1117,1117,1118,1119,1120,1122,1121,1121,1122,1123,1124,1126,1125,1125,1126,1127,1128,1130,1129,1129,1130,1131,1132,1134,1133,1133,1134,1135,1136,1138,1137,1137,1138,1139,1140,1142,1141,1141,1142,1143,1144,1146,1145,1145,1146,1147,1148,1150,1149,1149,1150,1151,1152,1154,1153,1153,1154,1155,1156,1158,1157,1157,1158,1159,1160,1162,1161,1161,1162,1163,1164,1166,1165,1165,1166,1167,1168,1170,1169,1169,1170,1171,1172,1174,1173,1173,1174,1175,1176,1178,1177,1177,1178,1179,1180,1182,1181,1181,1182,1183,1184,1186,1185,1185,1186,1187,1188,1190,1189,1189,1190,1191,1192,1194,1193,1193,1194,1195,1196,1198,1197,1197,1198,1199,1200,1202,1201,1201,1202,1203,1204,1206,1205,1205,1206,1207,1208,1210,1209,1209,1210,1211,1212,1214,1213,1213,1214,1215,1216,1218,1217,1217,1218,1219,1220,1222,1221,1221,1222,1223,1224,1226,1225,1225,1226,1227,1228,1230,1229,1229,1230,1231,1232,1234,1233,1233,1234,1235,1236,1238,1237,1237,1238,1239,1240,1242,1241,1241,1242,1243,1244,1246,1245,1245,1246,1247,1248,1250,1249,1249,1250,1251,1252,1254,1253,1253,1254,1255,1256,1258,1257,1257,1258,1259,1260,1262,1261,1261,1262,1263,1264,1266,1265,1265,1266,1267,1268,1270,1269,1269,1270,1271,1272,1274,1273,1273,1274,1275,1276,1278,1277,1277,1278,1279,1280,1282,1281,1281,1282,1283,1284,1286,1285,1285,1286,1287,1288,1290,1289,1289,1290,1291,1292,1294,1293,1293,1294,1295,1296,1298,1297,1297,1298,1299,1300,1302,1301,1301,1302,1303,1304,1306,1305,1305,1306,1307,1308,1310,1309,1309,1310,1311,1312, +1314,1313,1313,1314,1315,1316,1318,1317,1317,1318,1319,1320,1322,1321,1321,1322,1323,1324,1326,1325,1325,1326,1327,1328,1330,1329,1329,1330,1331,1332,1334,1333,1333,1334,1335,1336,1338,1337,1337,1338,1339,1340,1342,1341,1341,1342,1343,1344,1346,1345,1345,1346,1347,1348,1350,1349,1349,1350,1351,1352,1354,1353,1353,1354,1355,1356,1358,1357,1357,1358,1359,1360,1362,1361,1361,1362,1363,1364,1366,1365,1365,1366,1367,1368,1370,1369,1369,1370,1371,1372,1374,1373,1373,1374,1375,1376,1378,1377,1377,1378,1379,1380,1382,1381,1381,1382,1383,1384,1386,1385,1385,1386,1387,1388,1390,1389,1389,1390,1391,1392,1394,1393,1393,1394,1395,1396,1398,1397,1397,1398,1399,1400,1402,1401,1401,1402,1403,1404,1406,1405,1405,1406,1407,1408,1410,1409,1409,1410,1411,1412,1414,1413,1413,1414,1415,1416,1418,1417,1417,1418,1419,1420,1422,1421,1421,1422,1423,1424,1426,1425,1425,1426,1427,1428,1430,1429,1429,1430,1431,1432,1434,1433,1433,1434,1435,1436,1438,1437,1437,1438,1439,1440,1442,1441,1441,1442,1443,1444,1446,1445,1445,1446,1447,1448,1450,1449,1449,1450,1451,1452,1454,1453,1453,1454,1455,1456,1458,1457,1457,1458,1459,1460,1462,1461,1461,1462,1463,1464,1466,1465,1465,1466,1467,1468,1470,1469,1469,1470,1471,1472,1474,1473,1473,1474,1475,1476,1478,1477,1477,1478,1479,1480,1482,1481,1481,1482,1483,1484,1486,1485,1485,1486,1487,1488,1490,1489,1489,1490,1491,1492,1494,1493,1493,1494,1495,1496,1498,1497,1497,1498,1499,1500,1502,1501,1501,1502,1503,1504,1506,1505,1505,1506,1507,1508,1510,1509,1509,1510,1511,1512,1514,1513,1513,1514,1515,1516,1518,1517,1517,1518,1519,1520,1522,1521,1521,1522,1523,1524,1526,1525,1525,1526,1527,1528,1530,1529,1529,1530,1531,1532,1534,1533,1533,1534,1535,1536,1538,1537,1537,1538,1539,1540,1542,1541,1541,1542,1543,1544,1546,1545,1545,1546,1547,1548,1550,1549,1549,1550,1551,1552,1554,1553,1553,1554,1555,1556,1558,1557,1557,1558,1559,1560,1562,1561,1561,1562,1563,1564,1566,1565,1565,1566,1567,1568,1570,1569,1569,1570,1571,1572,1574,1573,1573,1574,1575,1576,1578,1577,1577,1578,1579,1580,1582,1581,1581,1582,1583,1584,1586,1585, +1585,1586,1587,1588,1590,1589,1589,1590,1591,1592,1594,1593,1593,1594,1595,1596,1598,1597,1597,1598,1599,1600,1602,1601,1601,1602,1603,1604,1606,1605,1605,1606,1607,1608,1610,1609,1609,1610,1611,1612,1614,1613,1613,1614,1615,1616,1618,1617,1617,1618,1619,1620,1622,1621,1621,1622,1623,1624,1626,1625,1625,1626,1627,1628,1630,1629,1629,1630,1631,1632,1634,1633,1633,1634,1635,1636,1638,1637,1637,1638,1639,1640,1642,1641,1641,1642,1643,1644,1646,1645,1645,1646,1647,1648,1650,1649,1649,1650,1651,1652,1654,1653,1653,1654,1655 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *3312 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-1,0,-1,-1,-2,0,-2,-1,1,-1,0,-2,1,-2,0,1,0,1,1,2,0,2,1,0,-1,1,-1,0,-2,1,-2,-1,-2,0,-2,-1,-3,0,-3,-2,1,-2,0,-3,1,-3,0,2,0,2,1,3,0,3,1,0,-2,1,-2,0,-3,1,-3,-1,-3,0,-3,-1,-4,0,-4,-3,1,-3,0,-4,1,-4,0,3,0,3,1,4,0,4,1,0,-3,1,-3,0,-4,1,-4,-1,-4,0,-4,-1,-5,0,-5,-4,1,-4,0,-5,1,-5,0,4,0,4,1,5,0,5,1,0,-4,1,-4,0,-5,1,-5,-1,-5,0,-5,-1,-6,0,-6,-5,1,-5,0,-6,1,-6,0,5,0,5,1,6,0,6,1,0,-5,1,-5,0,-6,1,-6,-1,-6,0,-6,-1,-7,0,-7,-6,1,-6,0,-7,1,-7,0,6,0,6,1,7,0,7,1,0,-6,1,-6,0,-7,1,-7,-1,-7,0,-7,-1,-8,0,-8,-7,1,-7,0,-8,1,-8,0,7,0,7,1,8,0,8,1,0,-7,1,-7,0,-8,1,-8,-1,-8,0,-8,-1,-9,0,-9,-8,1,-8,0,-9,1,-9,0,8,0,8,1,9,0,9,1,0,-8,1,-8,0,-9,1,-9,-1,-9,0,-9,-1,-10,0,-10,-9,1,-9,0,-10,1,-10,0,9,0,9,1,10,0,10,1,0,-9,1,-9,0,-10,1,-10,-1,0,-1,-1,-2,0,-2,-1,-1,1,-1,0,-2,1,-2,0,1,-2,1,-1,2,-2,2,-1,1,-1,1,0,2,-1,2,0,-1,-1,-1,-2,-2,-1,-2,-2,1,-3,1,-2,2,-3,2,-2,-1,-2,-1,-3,-2,-2,-2,-3,1,-4,1,-3,2,-4,2,-3,-1,-3,-1,-4,-2,-3,-2,-4,1,-5,1,-4,2,-5,2,-4,-1,-4,-1,-5,-2,-4,-2,-5,1,-6,1,-5,2,-6,2,-5,-1,-5,-1,-6,-2,-5,-2,-6,1,-7,1,-6,2,-7,2,-6,-1,-6,-1,-7,-2,-6,-2,-7,1,-8,1,-7,2,-8,2,-7,-1,-7,-1,-8,-2,-7,-2,-8,1,-9,1,-8,2,-9,2,-8,-1,-8,-1,-9,-2,-8,-2,-9,1,-10,1,-9,2,-10,2,-9,-1,-9,-1,-10,-2,-9,-2,-10,1,0,1,1,2,0,2,1,-2,0,-2,-1,-3,0,-3,-1,-2,1,-2,0,-3,1,-3,0,2,-2,2,-1,3,-2,3,-1,2,-1,2,0,3,-1,3,0,-2,-1,-2,-2,-3,-1,-3,-2,2,-3,2,-2,3,-3,3,-2,-2,-2,-2,-3,-3,-2,-3,-3,2,-4,2,-3,3,-4,3,-3,-2,-3,-2,-4,-3,-3,-3,-4,2,-5,2,-4,3,-5,3,-4,-2,-4,-2,-5,-3,-4,-3,-5,2,-6,2,-5,3,-6,3,-5,-2,-5,-2,-6,-3,-5,-3,-6,2,-7,2,-6,3,-7,3,-6,-2,-6,-2,-7,-3,-6,-3,-7,2,-8,2,-7,3,-8,3,-7,-2,-7,-2,-8,-3,-7,-3,-8,2,-9,2,-8,3,-9,3,-8,-2,-8,-2,-9,-3,-8,-3,-9,2,-10,2,-9,3,-10,3,-9,-2,-9,-2,-10,-3,-9,-3,-10,2,0,2,1,3,0,3,1,-3,0,-3,-1,-4,0,-4,-1,-3,1,-3,0,-4,1,-4,0,3,-2,3,-1,4,-2,4,-1,3,-1,3,0,4,-1,4,0,-3,-1,-3,-2,-4,-1,-4,-2,3,-3,3,-2,4,-3,4,-2,-3,-2,-3,-3,-4,-2,-4,-3,3,-4,3,-3,4,-4,4,-3,-3,-3,-3,-4,-4,-3,-4,-4,3,-5,3,-4,4,-5,4,-4,-3,-4,-3,-5,-4,-4,-4,-5,3,-6,3,-5,4,-6,4,-5,-3, +-5,-3,-6,-4,-5,-4,-6,3,-7,3,-6,4,-7,4,-6,-3,-6,-3,-7,-4,-6,-4,-7,3,-8,3,-7,4,-8,4,-7,-3,-7,-3,-8,-4,-7,-4,-8,3,-9,3,-8,4,-9,4,-8,-3,-8,-3,-9,-4,-8,-4,-9,3,-10,3,-9,4,-10,4,-9,-3,-9,-3,-10,-4,-9,-4,-10,3,0,3,1,4,0,4,1,-4,0,-4,-1,-5,0,-5,-1,-4,1,-4,0,-5,1,-5,0,4,-2,4,-1,5,-2,5,-1,4,-1,4,0,5,-1,5,0,-4,-1,-4,-2,-5,-1,-5,-2,4,-3,4,-2,5,-3,5,-2,-4,-2,-4,-3,-5,-2,-5,-3,4,-4,4,-3,5,-4,5,-3,-4,-3,-4,-4,-5,-3,-5,-4,4,-5,4,-4,5,-5,5,-4,-4,-4,-4,-5,-5,-4,-5,-5,4,-6,4,-5,5,-6,5,-5,-4,-5,-4,-6,-5,-5,-5,-6,4,-7,4,-6,5,-7,5,-6,-4,-6,-4,-7,-5,-6,-5,-7,4,-8,4,-7,5,-8,5,-7,-4,-7,-4,-8,-5,-7,-5,-8,4,-9,4,-8,5,-9,5,-8,-4,-8,-4,-9,-5,-8,-5,-9,4,-10,4,-9,5,-10,5,-9,-4,-9,-4,-10,-5,-9,-5,-10,4,0,4,1,5,0,5,1,-5,0,-5,-1,-6,0,-6,-1,-5,1,-5,0,-6,1,-6,0,5,-2,5,-1,6,-2,6,-1,5,-1,5,0,6,-1,6,0,-5,-1,-5,-2,-6,-1,-6,-2,5,-3,5,-2,6,-3,6,-2,-5,-2,-5,-3,-6,-2,-6,-3,5,-4,5,-3,6,-4,6,-3,-5,-3,-5,-4,-6,-3,-6,-4,5,-5,5,-4,6,-5,6,-4,-5,-4,-5,-5,-6,-4,-6,-5,5,-6,5,-5,6,-6,6,-5,-5,-5,-5,-6,-6,-5,-6,-6,5,-7,5,-6,6,-7,6,-6,-5,-6,-5,-7,-6,-6,-6,-7,5,-8,5,-7,6,-8,6,-7,-5,-7,-5,-8,-6,-7,-6,-8,5,-9,5,-8,6,-9,6,-8,-5,-8,-5,-9,-6,-8,-6,-9,5,-10,5,-9,6,-10,6,-9,-5,-9,-5,-10,-6,-9,-6,-10,5,0,5,1,6,0,6,1,-6,0,-6,-1,-7,0,-7,-1,-6,1,-6,0,-7,1,-7,0,6,-2,6,-1,7,-2,7,-1,6,-1,6,0,7,-1,7,0,-6,-1,-6,-2,-7,-1,-7,-2,6,-3,6,-2,7,-3,7,-2,-6,-2,-6,-3,-7,-2,-7,-3,6,-4,6,-3,7,-4,7,-3,-6,-3,-6,-4,-7,-3,-7,-4,6,-5,6,-4,7,-5,7,-4,-6,-4,-6,-5,-7,-4,-7,-5,6,-6,6,-5,7,-6,7,-5,-6,-5,-6,-6,-7,-5,-7,-6,6,-7,6,-6,7,-7,7,-6,-6,-6,-6,-7,-7,-6,-7,-7,6,-8,6,-7,7,-8,7,-7,-6,-7,-6,-8,-7,-7,-7,-8,6,-9,6,-8,7,-9,7,-8,-6,-8,-6,-9,-7,-8,-7,-9,6,-10,6,-9,7,-10,7,-9,-6,-9,-6,-10,-7,-9,-7,-10,6,0,6,1,7,0,7,1,-7,0,-7,-1,-8,0,-8,-1,-7,1,-7,0,-8,1,-8,0,7,-2,7,-1,8,-2,8,-1,7,-1,7,0,8,-1,8,0,-7,-1,-7,-2,-8,-1,-8,-2,7,-3,7,-2,8,-3,8,-2,-7,-2,-7,-3,-8,-2,-8,-3,7,-4,7,-3,8,-4,8,-3,-7,-3,-7,-4,-8,-3,-8,-4,7,-5,7,-4,8,-5,8,-4,-7,-4,-7,-5,-8,-4,-8,-5,7,-6,7,-5,8,-6,8,-5,-7,-5,-7,-6,-8,-5,-8,-6,7,-7,7,-6,8,-7,8,-6,-7,-6,-7,-7,-8,-6,-8,-7,7,-8,7,-7,8,-8,8,-7,-7,-7,-7,-8,-8,-7,-8,-8,7,-9,7,-8,8,-9,8,-8,-7,-8,-7,-9,-8,-8, +-8,-9,7,-10,7,-9,8,-10,8,-9,-7,-9,-7,-10,-8,-9,-8,-10,7,0,7,1,8,0,8,1,-8,0,-8,-1,-9,0,-9,-1,-8,1,-8,0,-9,1,-9,0,8,-2,8,-1,9,-2,9,-1,8,-1,8,0,9,-1,9,0,-8,-1,-8,-2,-9,-1,-9,-2,8,-3,8,-2,9,-3,9,-2,-8,-2,-8,-3,-9,-2,-9,-3,8,-4,8,-3,9,-4,9,-3,-8,-3,-8,-4,-9,-3,-9,-4,8,-5,8,-4,9,-5,9,-4,-8,-4,-8,-5,-9,-4,-9,-5,8,-6,8,-5,9,-6,9,-5,-8,-5,-8,-6,-9,-5,-9,-6,8,-7,8,-6,9,-7,9,-6,-8,-6,-8,-7,-9,-6,-9,-7,8,-8,8,-7,9,-8,9,-7,-8,-7,-8,-8,-9,-7,-9,-8,8,-9,8,-8,9,-9,9,-8,-8,-8,-8,-9,-9,-8,-9,-9,8,-10,8,-9,9,-10,9,-9,-8,-9,-8,-10,-9,-9,-9,-10,8,0,8,1,9,0,9,1,-9,0,-9,-1,-10,0,-10,-1,-9,1,-9,0,-10,1,-10,0,9,-2,9,-1,10,-2,10,-1,9,-1,9,0,10,-1,10,0,-9,-1,-9,-2,-10,-1,-10,-2,9,-3,9,-2,10,-3,10,-2,-9,-2,-9,-3,-10,-2,-10,-3,9,-4,9,-3,10,-4,10,-3,-9,-3,-9,-4,-10,-3,-10,-4,9,-5,9,-4,10,-5,10,-4,-9,-4,-9,-5,-10,-4,-10,-5,9,-6,9,-5,10,-6,10,-5,-9,-5,-9,-6,-10,-5,-10,-6,9,-7,9,-6,10,-7,10,-6,-9,-6,-9,-7,-10,-6,-10,-7,9,-8,9,-7,10,-8,10,-7,-9,-7,-9,-8,-10,-7,-10,-8,9,-9,9,-8,10,-9,10,-8,-9,-8,-9,-9,-10,-8,-10,-9,9,-10,9,-9,10,-10,10,-9,-9,-9,-9,-10,-10,-9,-10,-10,9,0,9,1,10,0,10,1,1,1,0,1,1,2,0,2,10,1,9,1,10,2,9,2,-9,1,-10,1,-9,2,-10,2,-9,1,-10,1,-9,2,-10,2,-1,1,-2,1,-1,2,-2,2,9,1,8,1,9,2,8,2,-8,1,-9,1,-8,2,-9,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,2,1,1,1,2,2,1,2,-1,1,-2,1,-1,2,-2,2,10,1,9,1,10,2,9,2,0,1,-1,1,0,2,-1,2,9,1,8,1,9,2,8,2,-8,1,-9,1,-8,2,-9,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,2,1,1,1,2,2,1,2,-1,1,-2,1,-1,2,-2,2,1,1,0,1,1,2,0,2,2,1,1,1,2,2,1,2,3,1,2,1,3,2,2,2,-2,1,-3,1,-2,2,-3,2,4,1,3,1,4,2,3,2,-3,1,-4,1,-3,2,-4,2,5,1,4,1,5,2,4,2,-4,1,-5,1,-4,2,-5,2,6,1,5,1,6,2,5,2,-5,1,-6,1,-5,2,-6,2,7,1,6,1,7,2,6,2,-6,1,-7,1,-6,2,-7,2,8,1,7,1,8,2,7,2,-7,1,-8,1,-7,2,-8,2,9,1,8,1,9,2,8,2,-8,1,-9,1, +-8,2,-9,2,10,1,9,1,10,2,9,2,-9,1,-10,1,-9,2,-10,2,0,1,-1,1,0,2,-1,2,1,2,0,2,1,3,0,3,10,2,9,2,10,3,9,3,-9,2,-10,2,-9,3,-10,3,-9,2,-10,2,-9,3,-10,3,-1,2,-2,2,-1,3,-2,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,7,2,6,2,7,3,6,3,-6,2,-7,2,-6,3,-7,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,2,2,1,2,2,3,1,3,-1,2,-2,2,-1,3,-2,3,10,2,9,2,10,3,9,3,0,2,-1,2,0,3,-1,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,7,2,6,2,7,3,6,3,-6,2,-7,2,-6,3,-7,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,2,2,1,2,2,3,1,3,-1,2,-2,2,-1,3,-2,3,1,2,0,2,1,3,0,3,2,2,1,2,2,3,1,3,3,2,2,2,3,3,2,3,-2,2,-3,2,-2,3,-3,3,4,2,3,2,4,3,3,3,-3,2,-4,2,-3,3,-4,3,5,2,4,2,5,3,4,3,-4,2,-5,2,-4,3,-5,3,6,2,5,2,6,3,5,3,-5,2,-6,2,-5,3,-6,3,7,2,6,2,7,3,6,3,-6,2,-7,2,-6,3,-7,3,8,2,7,2,8,3,7,3,-7,2,-8,2,-7,3,-8,3,9,2,8,2,9,3,8,3,-8,2,-9,2,-8,3,-9,3,10,2,9,2,10,3,9,3,-9,2,-10,2,-9,3,-10,3,0,2,-1,2,0,3,-1,3,1,3,0,3,1,4,0,4,10,3,9,3,10,4,9,4,-9,3,-10,3,-9,4,-10,4,-9,3,-10,3,-9,4,-10,4,-1,3,-2,3,-1,4,-2,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,8,3,7,3,8,4,7,4,-7,3,-8,3,-7,4,-8,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,2,3,1,3,2,4,1,4,-1,3,-2,3,-1,4,-2,4,10,3,9,3,10,4,9,4,0,3,-1,3,0,4,-1,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,8,3,7,3,8,4,7,4,-7,3,-8,3,-7,4,-8,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,2,3,1,3,2,4,1,4,-1,3,-2,3,-1,4,-2,4,1,3,0,3,1,4,0,4,2,3,1,3,2,4,1,4,3,3,2,3,3,4,2,4,-2,3,-3,3,-2,4,-3,4,4,3,3,3,4,4,3,4,-3,3,-4,3,-3,4,-4,4,5,3,4,3,5,4,4,4,-4,3,-5,3,-4,4,-5,4,6,3,5,3,6,4,5,4,-5,3,-6,3,-5,4,-6,4,7,3,6,3,7,4,6,4,-6,3,-7,3,-6,4,-7,4,8,3,7,3, +8,4,7,4,-7,3,-8,3,-7,4,-8,4,9,3,8,3,9,4,8,4,-8,3,-9,3,-8,4,-9,4,10,3,9,3,10,4,9,4,-9,3,-10,3,-9,4,-10,4,0,3,-1,3,0,4,-1,4 + } + UVIndex: *2484 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,24,26,25,25,26,27,28,30,29,29,30,31,32,34,33,33,34,35,36,38,37,37,38,39,40,42,41,41,42,43,44,46,45,45,46,47,48,50,49,49,50,51,52,54,53,53,54,55,56,58,57,57,58,59,60,62,61,61,62,63,64,66,65,65,66,67,68,70,69,69,70,71,72,74,73,73,74,75,76,78,77,77,78,79,80,82,81,81,82,83,84,86,85,85,86,87,88,90,89,89,90,91,92,94,93,93,94,95,96,98,97,97,98,99,100,102,101,101,102,103,104,106,105,105,106,107,108,110,109,109,110,111,112,114,113,113,114,115,116,118,117,117,118,119,120,122,121,121,122,123,124,126,125,125,126,127,128,130,129,129,130,131,132,134,133,133,134,135,136,138,137,137,138,139,140,142,141,141,142,143,144,146,145,145,146,147,148,150,149,149,150,151,152,154,153,153,154,155,156,158,157,157,158,159,160,162,161,161,162,163,164,166,165,165,166,167,168,170,169,169,170,171,172,174,173,173,174,175,176,178,177,177,178,179,180,182,181,181,182,183,184,186,185,185,186,187,188,190,189,189,190,191,192,194,193,193,194,195,196,198,197,197,198,199,200,202,201,201,202,203,204,206,205,205,206,207,208,210,209,209,210,211,212,214,213,213,214,215,216,218,217,217,218,219,220,222,221,221,222,223,224,226,225,225,226,227,228,230,229,229,230,231,232,234,233,233,234,235,236,238,237,237,238,239,240,242,241,241,242,243,244,246,245,245,246,247,248,250,249,249,250,251,252,254,253,253,254,255,256,258,257,257,258,259,260,262,261,261,262,263,264,266,265,265,266,267,268,270,269,269,270,271,272,274,273,273,274,275,276,278,277,277,278,279,280,282,281,281,282,283,284,286,285,285,286,287,288,290,289,289,290,291,292,294,293,293,294,295,296,298,297,297,298,299,300,302,301,301,302,303,304,306,305,305,306,307,308,310,309,309,310,311,312,314,313,313,314,315,316,318,317,317,318,319,320,322,321,321,322,323,324,326,325,325,326,327,328,330,329,329,330,331,332,334,333,333,334,335,336,338,337,337,338,339,340,342,341,341,342,343,344,346,345,345,346,347,348,350,349,349,350,351,352,354,353,353,354,355,356,358,357,357,358,359,360,362,361,361,362,363,364,366, +365,365,366,367,368,370,369,369,370,371,372,374,373,373,374,375,376,378,377,377,378,379,380,382,381,381,382,383,384,386,385,385,386,387,388,390,389,389,390,391,392,394,393,393,394,395,396,398,397,397,398,399,400,402,401,401,402,403,404,406,405,405,406,407,408,410,409,409,410,411,412,414,413,413,414,415,416,418,417,417,418,419,420,422,421,421,422,423,424,426,425,425,426,427,428,430,429,429,430,431,432,434,433,433,434,435,436,438,437,437,438,439,440,442,441,441,442,443,444,446,445,445,446,447,448,450,449,449,450,451,452,454,453,453,454,455,456,458,457,457,458,459,460,462,461,461,462,463,464,466,465,465,466,467,468,470,469,469,470,471,472,474,473,473,474,475,476,478,477,477,478,479,480,482,481,481,482,483,484,486,485,485,486,487,488,490,489,489,490,491,492,494,493,493,494,495,496,498,497,497,498,499,500,502,501,501,502,503,504,506,505,505,506,507,508,510,509,509,510,511,512,514,513,513,514,515,516,518,517,517,518,519,520,522,521,521,522,523,524,526,525,525,526,527,528,530,529,529,530,531,532,534,533,533,534,535,536,538,537,537,538,539,540,542,541,541,542,543,544,546,545,545,546,547,548,550,549,549,550,551,552,554,553,553,554,555,556,558,557,557,558,559,560,562,561,561,562,563,564,566,565,565,566,567,568,570,569,569,570,571,572,574,573,573,574,575,576,578,577,577,578,579,580,582,581,581,582,583,584,586,585,585,586,587,588,590,589,589,590,591,592,594,593,593,594,595,596,598,597,597,598,599,600,602,601,601,602,603,604,606,605,605,606,607,608,610,609,609,610,611,612,614,613,613,614,615,616,618,617,617,618,619,620,622,621,621,622,623,624,626,625,625,626,627,628,630,629,629,630,631,632,634,633,633,634,635,636,638,637,637,638,639,640,642,641,641,642,643,644,646,645,645,646,647,648,650,649,649,650,651,652,654,653,653,654,655,656,658,657,657,658,659,660,662,661,661,662,663,664,666,665,665,666,667,668,670,669,669,670,671,672,674,673,673,674,675,676,678,677,677,678,679,680,682,681,681,682,683,684,686,685,685,686,687,688,690,689,689,690,691,692,694,693,693,694,695,696,698,697,697,698,699,700,702,701,701,702,703,704,706,705,705,706, +707,708,710,709,709,710,711,712,714,713,713,714,715,716,718,717,717,718,719,720,722,721,721,722,723,724,726,725,725,726,727,728,730,729,729,730,731,732,734,733,733,734,735,736,738,737,737,738,739,740,742,741,741,742,743,744,746,745,745,746,747,748,750,749,749,750,751,752,754,753,753,754,755,756,758,757,757,758,759,760,762,761,761,762,763,764,766,765,765,766,767,768,770,769,769,770,771,772,774,773,773,774,775,776,778,777,777,778,779,780,782,781,781,782,783,784,786,785,785,786,787,788,790,789,789,790,791,792,794,793,793,794,795,796,798,797,797,798,799,800,802,801,801,802,803,804,806,805,805,806,807,808,810,809,809,810,811,812,814,813,813,814,815,816,818,817,817,818,819,820,822,821,821,822,823,824,826,825,825,826,827,828,830,829,829,830,831,832,834,833,833,834,835,836,838,837,837,838,839,840,842,841,841,842,843,844,846,845,845,846,847,848,850,849,849,850,851,852,854,853,853,854,855,856,858,857,857,858,859,860,862,861,861,862,863,864,866,865,865,866,867,868,870,869,869,870,871,872,874,873,873,874,875,876,878,877,877,878,879,880,882,881,881,882,883,884,886,885,885,886,887,888,890,889,889,890,891,892,894,893,893,894,895,896,898,897,897,898,899,900,902,901,901,902,903,904,906,905,905,906,907,908,910,909,909,910,911,912,914,913,913,914,915,916,918,917,917,918,919,920,922,921,921,922,923,924,926,925,925,926,927,928,930,929,929,930,931,932,934,933,933,934,935,936,938,937,937,938,939,940,942,941,941,942,943,944,946,945,945,946,947,948,950,949,949,950,951,952,954,953,953,954,955,956,958,957,957,958,959,960,962,961,961,962,963,964,966,965,965,966,967,968,970,969,969,970,971,972,974,973,973,974,975,976,978,977,977,978,979,980,982,981,981,982,983,984,986,985,985,986,987,988,990,989,989,990,991,992,994,993,993,994,995,996,998,997,997,998,999,1000,1002,1001,1001,1002,1003,1004,1006,1005,1005,1006,1007,1008,1010,1009,1009,1010,1011,1012,1014,1013,1013,1014,1015,1016,1018,1017,1017,1018,1019,1020,1022,1021,1021,1022,1023,1024,1026,1025,1025,1026,1027,1028,1030,1029,1029,1030,1031,1032,1034,1033,1033,1034,1035,1036,1038,1037,1037,1038, +1039,1040,1042,1041,1041,1042,1043,1044,1046,1045,1045,1046,1047,1048,1050,1049,1049,1050,1051,1052,1054,1053,1053,1054,1055,1056,1058,1057,1057,1058,1059,1060,1062,1061,1061,1062,1063,1064,1066,1065,1065,1066,1067,1068,1070,1069,1069,1070,1071,1072,1074,1073,1073,1074,1075,1076,1078,1077,1077,1078,1079,1080,1082,1081,1081,1082,1083,1084,1086,1085,1085,1086,1087,1088,1090,1089,1089,1090,1091,1092,1094,1093,1093,1094,1095,1096,1098,1097,1097,1098,1099,1100,1102,1101,1101,1102,1103,1104,1106,1105,1105,1106,1107,1108,1110,1109,1109,1110,1111,1112,1114,1113,1113,1114,1115,1116,1118,1117,1117,1118,1119,1120,1122,1121,1121,1122,1123,1124,1126,1125,1125,1126,1127,1128,1130,1129,1129,1130,1131,1132,1134,1133,1133,1134,1135,1136,1138,1137,1137,1138,1139,1140,1142,1141,1141,1142,1143,1144,1146,1145,1145,1146,1147,1148,1150,1149,1149,1150,1151,1152,1154,1153,1153,1154,1155,1156,1158,1157,1157,1158,1159,1160,1162,1161,1161,1162,1163,1164,1166,1165,1165,1166,1167,1168,1170,1169,1169,1170,1171,1172,1174,1173,1173,1174,1175,1176,1178,1177,1177,1178,1179,1180,1182,1181,1181,1182,1183,1184,1186,1185,1185,1186,1187,1188,1190,1189,1189,1190,1191,1192,1194,1193,1193,1194,1195,1196,1198,1197,1197,1198,1199,1200,1202,1201,1201,1202,1203,1204,1206,1205,1205,1206,1207,1208,1210,1209,1209,1210,1211,1212,1214,1213,1213,1214,1215,1216,1218,1217,1217,1218,1219,1220,1222,1221,1221,1222,1223,1224,1226,1225,1225,1226,1227,1228,1230,1229,1229,1230,1231,1232,1234,1233,1233,1234,1235,1236,1238,1237,1237,1238,1239,1240,1242,1241,1241,1242,1243,1244,1246,1245,1245,1246,1247,1248,1250,1249,1249,1250,1251,1252,1254,1253,1253,1254,1255,1256,1258,1257,1257,1258,1259,1260,1262,1261,1261,1262,1263,1264,1266,1265,1265,1266,1267,1268,1270,1269,1269,1270,1271,1272,1274,1273,1273,1274,1275,1276,1278,1277,1277,1278,1279,1280,1282,1281,1281,1282,1283,1284,1286,1285,1285,1286,1287,1288,1290,1289,1289,1290,1291,1292,1294,1293,1293,1294,1295,1296,1298,1297,1297,1298,1299,1300,1302,1301,1301,1302,1303,1304,1306,1305,1305,1306,1307,1308,1310,1309,1309,1310,1311,1312, +1314,1313,1313,1314,1315,1316,1318,1317,1317,1318,1319,1320,1322,1321,1321,1322,1323,1324,1326,1325,1325,1326,1327,1328,1330,1329,1329,1330,1331,1332,1334,1333,1333,1334,1335,1336,1338,1337,1337,1338,1339,1340,1342,1341,1341,1342,1343,1344,1346,1345,1345,1346,1347,1348,1350,1349,1349,1350,1351,1352,1354,1353,1353,1354,1355,1356,1358,1357,1357,1358,1359,1360,1362,1361,1361,1362,1363,1364,1366,1365,1365,1366,1367,1368,1370,1369,1369,1370,1371,1372,1374,1373,1373,1374,1375,1376,1378,1377,1377,1378,1379,1380,1382,1381,1381,1382,1383,1384,1386,1385,1385,1386,1387,1388,1390,1389,1389,1390,1391,1392,1394,1393,1393,1394,1395,1396,1398,1397,1397,1398,1399,1400,1402,1401,1401,1402,1403,1404,1406,1405,1405,1406,1407,1408,1410,1409,1409,1410,1411,1412,1414,1413,1413,1414,1415,1416,1418,1417,1417,1418,1419,1420,1422,1421,1421,1422,1423,1424,1426,1425,1425,1426,1427,1428,1430,1429,1429,1430,1431,1432,1434,1433,1433,1434,1435,1436,1438,1437,1437,1438,1439,1440,1442,1441,1441,1442,1443,1444,1446,1445,1445,1446,1447,1448,1450,1449,1449,1450,1451,1452,1454,1453,1453,1454,1455,1456,1458,1457,1457,1458,1459,1460,1462,1461,1461,1462,1463,1464,1466,1465,1465,1466,1467,1468,1470,1469,1469,1470,1471,1472,1474,1473,1473,1474,1475,1476,1478,1477,1477,1478,1479,1480,1482,1481,1481,1482,1483,1484,1486,1485,1485,1486,1487,1488,1490,1489,1489,1490,1491,1492,1494,1493,1493,1494,1495,1496,1498,1497,1497,1498,1499,1500,1502,1501,1501,1502,1503,1504,1506,1505,1505,1506,1507,1508,1510,1509,1509,1510,1511,1512,1514,1513,1513,1514,1515,1516,1518,1517,1517,1518,1519,1520,1522,1521,1521,1522,1523,1524,1526,1525,1525,1526,1527,1528,1530,1529,1529,1530,1531,1532,1534,1533,1533,1534,1535,1536,1538,1537,1537,1538,1539,1540,1542,1541,1541,1542,1543,1544,1546,1545,1545,1546,1547,1548,1550,1549,1549,1550,1551,1552,1554,1553,1553,1554,1555,1556,1558,1557,1557,1558,1559,1560,1562,1561,1561,1562,1563,1564,1566,1565,1565,1566,1567,1568,1570,1569,1569,1570,1571,1572,1574,1573,1573,1574,1575,1576,1578,1577,1577,1578,1579,1580,1582,1581,1581,1582,1583,1584,1586,1585, +1585,1586,1587,1588,1590,1589,1589,1590,1591,1592,1594,1593,1593,1594,1595,1596,1598,1597,1597,1598,1599,1600,1602,1601,1601,1602,1603,1604,1606,1605,1605,1606,1607,1608,1610,1609,1609,1610,1611,1612,1614,1613,1613,1614,1615,1616,1618,1617,1617,1618,1619,1620,1622,1621,1621,1622,1623,1624,1626,1625,1625,1626,1627,1628,1630,1629,1629,1630,1631,1632,1634,1633,1633,1634,1635,1636,1638,1637,1637,1638,1639,1640,1642,1641,1641,1642,1643,1644,1646,1645,1645,1646,1647,1648,1650,1649,1649,1650,1651,1652,1654,1653,1653,1654,1655 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "Material" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + } + Model: 1146002192, "Model::ProB_Floor_UWall_10x10", "Mesh" { + Version: 232 + Properties70: { + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + } + Shading: W + Culling: "CullingOff" + } + Material: 1148830096, "Material::Default_Prototype", "" { + Version: 102 + ShadingModel: "lambert" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",1,1,1 + P: "BumpFactor", "double", "Number", "",0 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",1,1,1 + P: "Opacity", "double", "Number", "",1 + } + } + Video: 1148832896, "Video::DiffuseColor_Texture", "Clip" { + Type: "Clip" + Properties70: { + P: "Path", "KString", "XRefUrl", "", "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + UseMipMap: 0 + Filename: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + Texture: 294697600, "Texture::DiffuseColor_Texture", "" { + Type: "TextureVideoClip" + Version: 202 + TextureName: "Texture::DiffuseColor_Texture" + Media: "Video::DiffuseColor_Texture" + FileName: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + ModelUVTranslation: 0,0 + ModelUVScaling: 1,1 + Texture_Alpha_Source: "None" + Cropping: 0,0,0,0 + } +} + +; Object connections +;------------------------------------------------------------------ + +Connections: { + + ;Model::ProB_Floor_UWall_10x10, Model::RootNode + C: "OO",1146002192,0 + + ;Material::Default_Prototype, Model::ProB_Floor_UWall_10x10 + C: "OO",1148830096,1146002192 + + ;Material::Default_Prototype, Model::ProB_Floor_UWall_10x10 + C: "OO",1148830096,1146002192 + + ;Geometry::Scene, Model::ProB_Floor_UWall_10x10 + C: "OO",1143692080,1146002192 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OO",294697600,1148830096 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OP",294697600,1148830096, "DiffuseColor" + + ;Video::DiffuseColor_Texture, Texture::DiffuseColor_Texture + C: "OO",1148832896,294697600 +} +;Takes section +;---------------------------------------------------- + +Takes: { + Current: "" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_UWall_10x10.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_UWall_10x10.fbx.meta new file mode 100644 index 00000000..3e94404e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Floor_UWall_10x10.fbx.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 07bcacf203be81246a39038d917a137e +timeCreated: 1508433933 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: Default_Prototype + 2300000: //RootNode + 3300000: //RootNode + 4300000: ProB_Floor_UWall_10x10 + externalObjects: {} + materials: + importMaterials: 1 + materialName: 1 + materialSearch: 2 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Wall_10x4.fbx b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Wall_10x4.fbx new file mode 100644 index 00000000..cc7f9f10 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Wall_10x4.fbx @@ -0,0 +1,610 @@ +; FBX 7.4.0 project file +; Copyright (C) 1997-2015 Autodesk Inc. and/or its licensors. +; All rights reserved. +; ---------------------------------------------------- + +FBXHeaderExtension: { + FBXHeaderVersion: 1003 + FBXVersion: 7400 + CreationTimeStamp: { + Version: 1000 + Year: 2017 + Month: 10 + Day: 19 + Hour: 13 + Minute: 22 + Second: 39 + Millisecond: 264 + } + Creator: "FBX SDK/FBX Plugins version 2017.1" + SceneInfo: "SceneInfo::GlobalInfo", "UserData" { + Type: "UserData" + Version: 100 + MetaData: { + Version: 100 + Title: "exports static meshes with materials and textures" + Subject: "" + Author: "Unity Technologies" + Keywords: "export mesh materials textures uvs" + Revision: "1.0" + Comment: "" + } + Properties70: { + P: "DocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp5becccb7.tmp" + P: "SrcDocumentUrl", "KString", "Url", "", "C:\Users\joelf\AppData\Local\Temp\tmp5becccb7.tmp" + P: "Original", "Compound", "", "" + P: "Original|ApplicationVendor", "KString", "", "", "" + P: "Original|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "Original|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "Original|DateTime_GMT", "DateTime", "", "", "" + P: "Original|FileName", "KString", "", "", "" + P: "LastSaved", "Compound", "", "" + P: "LastSaved|ApplicationVendor", "KString", "", "", "" + P: "LastSaved|ApplicationName", "KString", "", "", "Unity FBX Exporter" + P: "LastSaved|ApplicationVersion", "KString", "", "", "1.0.0f1" + P: "LastSaved|DateTime_GMT", "DateTime", "", "", "" + } + } +} +GlobalSettings: { + Version: 1000 + Properties70: { + P: "UpAxis", "int", "Integer", "",1 + P: "UpAxisSign", "int", "Integer", "",1 + P: "FrontAxis", "int", "Integer", "",2 + P: "FrontAxisSign", "int", "Integer", "",1 + P: "CoordAxis", "int", "Integer", "",0 + P: "CoordAxisSign", "int", "Integer", "",1 + P: "OriginalUpAxis", "int", "Integer", "",-1 + P: "OriginalUpAxisSign", "int", "Integer", "",1 + P: "UnitScaleFactor", "double", "Number", "",1 + P: "OriginalUnitScaleFactor", "double", "Number", "",1 + P: "AmbientColor", "ColorRGB", "Color", "",0,0,0 + P: "DefaultCamera", "KString", "", "", "Producer Perspective" + P: "TimeMode", "enum", "", "",0 + P: "TimeProtocol", "enum", "", "",2 + P: "SnapOnFrameMode", "enum", "", "",0 + P: "TimeSpanStart", "KTime", "Time", "",0 + P: "TimeSpanStop", "KTime", "Time", "",46186158000 + P: "CustomFrameRate", "double", "Number", "",-1 + P: "TimeMarker", "Compound", "", "" + P: "CurrentTimeMarker", "int", "Integer", "",-1 + } +} + +; Documents Description +;------------------------------------------------------------------ + +Documents: { + Count: 1 + Document: 1147071552, "Scene", "Scene" { + Properties70: { + P: "SourceObject", "object", "", "" + P: "ActiveAnimStackName", "KString", "", "", "" + } + RootNode: 0 + } +} + +; Document References +;------------------------------------------------------------------ + +References: { +} + +; Object definitions +;------------------------------------------------------------------ + +Definitions: { + Version: 100 + Count: 7 + ObjectType: "GlobalSettings" { + Count: 1 + } + ObjectType: "Model" { + Count: 1 + PropertyTemplate: "FbxNode" { + Properties70: { + P: "QuaternionInterpolate", "enum", "", "",0 + P: "RotationOffset", "Vector3D", "Vector", "",0,0,0 + P: "RotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0 + P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "TranslationActive", "bool", "", "",0 + P: "TranslationMin", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMax", "Vector3D", "Vector", "",0,0,0 + P: "TranslationMinX", "bool", "", "",0 + P: "TranslationMinY", "bool", "", "",0 + P: "TranslationMinZ", "bool", "", "",0 + P: "TranslationMaxX", "bool", "", "",0 + P: "TranslationMaxY", "bool", "", "",0 + P: "TranslationMaxZ", "bool", "", "",0 + P: "RotationOrder", "enum", "", "",0 + P: "RotationSpaceForLimitOnly", "bool", "", "",0 + P: "RotationStiffnessX", "double", "Number", "",0 + P: "RotationStiffnessY", "double", "Number", "",0 + P: "RotationStiffnessZ", "double", "Number", "",0 + P: "AxisLen", "double", "Number", "",10 + P: "PreRotation", "Vector3D", "Vector", "",0,0,0 + P: "PostRotation", "Vector3D", "Vector", "",0,0,0 + P: "RotationActive", "bool", "", "",0 + P: "RotationMin", "Vector3D", "Vector", "",0,0,0 + P: "RotationMax", "Vector3D", "Vector", "",0,0,0 + P: "RotationMinX", "bool", "", "",0 + P: "RotationMinY", "bool", "", "",0 + P: "RotationMinZ", "bool", "", "",0 + P: "RotationMaxX", "bool", "", "",0 + P: "RotationMaxY", "bool", "", "",0 + P: "RotationMaxZ", "bool", "", "",0 + P: "InheritType", "enum", "", "",0 + P: "ScalingActive", "bool", "", "",0 + P: "ScalingMin", "Vector3D", "Vector", "",0,0,0 + P: "ScalingMax", "Vector3D", "Vector", "",1,1,1 + P: "ScalingMinX", "bool", "", "",0 + P: "ScalingMinY", "bool", "", "",0 + P: "ScalingMinZ", "bool", "", "",0 + P: "ScalingMaxX", "bool", "", "",0 + P: "ScalingMaxY", "bool", "", "",0 + P: "ScalingMaxZ", "bool", "", "",0 + P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0 + P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1 + P: "MinDampRangeX", "double", "Number", "",0 + P: "MinDampRangeY", "double", "Number", "",0 + P: "MinDampRangeZ", "double", "Number", "",0 + P: "MaxDampRangeX", "double", "Number", "",0 + P: "MaxDampRangeY", "double", "Number", "",0 + P: "MaxDampRangeZ", "double", "Number", "",0 + P: "MinDampStrengthX", "double", "Number", "",0 + P: "MinDampStrengthY", "double", "Number", "",0 + P: "MinDampStrengthZ", "double", "Number", "",0 + P: "MaxDampStrengthX", "double", "Number", "",0 + P: "MaxDampStrengthY", "double", "Number", "",0 + P: "MaxDampStrengthZ", "double", "Number", "",0 + P: "PreferedAngleX", "double", "Number", "",0 + P: "PreferedAngleY", "double", "Number", "",0 + P: "PreferedAngleZ", "double", "Number", "",0 + P: "LookAtProperty", "object", "", "" + P: "UpVectorProperty", "object", "", "" + P: "Show", "bool", "", "",1 + P: "NegativePercentShapeSupport", "bool", "", "",1 + P: "DefaultAttributeIndex", "int", "Integer", "",-1 + P: "Freeze", "bool", "", "",0 + P: "LODBox", "bool", "", "",0 + P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0 + P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0 + P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1 + P: "Visibility", "Visibility", "", "A",1 + P: "Visibility Inheritance", "Visibility Inheritance", "", "",1 + } + } + } + ObjectType: "Geometry" { + Count: 2 + PropertyTemplate: "FbxMesh" { + Properties70: { + P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8 + P: "BBoxMin", "Vector3D", "Vector", "",0,0,0 + P: "BBoxMax", "Vector3D", "Vector", "",0,0,0 + P: "Primary Visibility", "bool", "", "",1 + P: "Casts Shadows", "bool", "", "",1 + P: "Receive Shadows", "bool", "", "",1 + } + } + } + ObjectType: "Material" { + Count: 1 + PropertyTemplate: "FbxSurfaceLambert" { + Properties70: { + P: "ShadingModel", "KString", "", "", "Lambert" + P: "MultiLayer", "bool", "", "",0 + P: "EmissiveColor", "Color", "", "A",0,0,0 + P: "EmissiveFactor", "Number", "", "A",1 + P: "AmbientColor", "Color", "", "A",0.2,0.2,0.2 + P: "AmbientFactor", "Number", "", "A",1 + P: "DiffuseColor", "Color", "", "A",0.8,0.8,0.8 + P: "DiffuseFactor", "Number", "", "A",1 + P: "Bump", "Vector3D", "Vector", "",0,0,0 + P: "NormalMap", "Vector3D", "Vector", "",0,0,0 + P: "BumpFactor", "double", "Number", "",1 + P: "TransparentColor", "Color", "", "A",0,0,0 + P: "TransparencyFactor", "Number", "", "A",0 + P: "DisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "DisplacementFactor", "double", "Number", "",1 + P: "VectorDisplacementColor", "ColorRGB", "Color", "",0,0,0 + P: "VectorDisplacementFactor", "double", "Number", "",1 + } + } + } + ObjectType: "Texture" { + Count: 1 + PropertyTemplate: "FbxFileTexture" { + Properties70: { + P: "TextureTypeUse", "enum", "", "",0 + P: "Texture alpha", "Number", "", "A",1 + P: "CurrentMappingType", "enum", "", "",0 + P: "WrapModeU", "enum", "", "",0 + P: "WrapModeV", "enum", "", "",0 + P: "UVSwap", "bool", "", "",0 + P: "PremultiplyAlpha", "bool", "", "",1 + P: "Translation", "Vector", "", "A",0,0,0 + P: "Rotation", "Vector", "", "A",0,0,0 + P: "Scaling", "Vector", "", "A",1,1,1 + P: "TextureRotationPivot", "Vector3D", "Vector", "",0,0,0 + P: "TextureScalingPivot", "Vector3D", "Vector", "",0,0,0 + P: "CurrentTextureBlendMode", "enum", "", "",1 + P: "UVSet", "KString", "", "", "default" + P: "UseMaterial", "bool", "", "",0 + P: "UseMipMap", "bool", "", "",0 + } + } + } + ObjectType: "Video" { + Count: 1 + PropertyTemplate: "FbxVideo" { + Properties70: { + P: "ImageSequence", "bool", "", "",0 + P: "ImageSequenceOffset", "int", "Integer", "",0 + P: "FrameRate", "double", "Number", "",0 + P: "LastFrame", "int", "Integer", "",0 + P: "Width", "int", "Integer", "",0 + P: "Height", "int", "Integer", "",0 + P: "Path", "KString", "XRefUrl", "", "" + P: "StartFrame", "int", "Integer", "",0 + P: "StopFrame", "int", "Integer", "",0 + P: "PlaySpeed", "double", "Number", "",0 + P: "Offset", "KTime", "Time", "",0 + P: "InterlaceMode", "enum", "", "",0 + P: "FreeRunning", "bool", "", "",0 + P: "Loop", "bool", "", "",0 + P: "AccessMode", "enum", "", "",0 + } + } + } +} + +; Object properties +;------------------------------------------------------------------ + +Objects: { + Geometry: 1143714608, "Geometry::Scene", "Mesh" { + Vertices: *330 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-400,-0,0,-400,-100,100,-400,-0,100,-400,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-1000,100,-400,-1000,0,-400,-200,0,0,-200,0,-100,-200,100,-300,-200,100,-200,-200,0,-200,-200,0,-300,-200,100,-400,-200,100,-100,-200,100,0,-200,0,-400,-300,0,0,-300,0,-100,-300,100,-300,-300,100,-200,-300,0,-200,-300,0,-300,-300,100,-400,-300,100,-100,-300,100,0,-300,0,-400,-400,0,0,-400,0,-100,-400,100,-300,-400,100,-200,-400,0,-200,-400,0,-300,-400,100,-400,-400,100,-100,-400,100,0,-400,0,-400,-500,0,0,-500,0,-100,-500,100,-300,-500,100,-200,-500,0,-200,-500,0,-300,-500,100,-400,-500,100,-100,-500,100,0,-500,0,-400,-600,0,0,-600,0,-100,-600,100,-300,-600,100,-200,-600,0,-200,-600,0,-300,-600,100,-400,-600,100,-100,-600,100,0,-600,0,-400,-700,0,0,-700,0,-100,-700,100,-300,-700,100,-200,-700,0,-200,-700,0,-300,-700,100,-400,-700,100,-100,-700,100,0,-700,0,-400,-800,0,0,-800,0,-100,-800,100,-300,-800,100,-200,-800,0,-200,-800,0,-300,-800,100,-400,-800,100,-100,-800,100,0,-800,0,-400,-900,0,0,-900,0,-100,-900,100,-300,-900,100,-200,-900,0,-200,-900,0,-300,-900,100,-400,-900,100,-100,-900,100,0,-900,0,-400 + } + PolygonVertexIndex: *648 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,8,-24,23,8,-10,24,28,-26,25,28,-30,23,9,-27,26,9,-12,26,11,-28,27,11,-11,1,30,-16,15,30,-32,27,32,-22,21,32,-34,16,34,-23,22,34,-36,10,36,-28,27,36,-33,14,37,-4,3,37,-39,21,33,-15,14,33,-38,15,31,-17,16,31,-35,3,38,-2,1,38,-31,22,35,-9,8,35,-40,8,39,-11,10,39,-37,30,40,-32,31,40,-42,32,42,-34,33,42,-44,34,44,-36,35,44,-46,36,46,-33,32,46,-43,37,47,-39,38,47,-49,33,43,-38,37,43,-48,31,41,-35,34,41,-45,38,48,-31,30,48,-41,35,45,-40,39,45,-50,39,49,-37,36,49,-47,40,50,-42,41,50,-52,42,52,-44,43,52,-54,44,54,-46,45,54,-56,46,56,-43,42,56,-53,47,57,-49,48,57,-59,43,53,-48,47,53,-58,41,51,-45,44,51,-55,48,58,-41,40,58,-51,45,55,-50,49,55,-60,49,59,-47,46,59,-57,50,60,-52,51,60,-62,52,62,-54,53,62,-64,54,64,-56,55,64,-66,56,66,-53,52,66,-63,57,67,-59,58,67,-69,53,63,-58,57,63,-68,51,61,-55,54,61,-65,58,68,-51,50,68,-61,55,65,-60,59,65,-70,59,69,-57,56,69,-67,60,70,-62,61,70,-72,62,72,-64,63,72,-74,64,74,-66,65,74,-76,66,76,-63,62,76,-73,67,77,-69,68,77,-79,63,73,-68,67,73,-78,61,71,-65,64,71,-75,68,78,-61,60,78,-71,65,75,-70,69,75,-80,69,79,-67,66,79,-77,70,80,-72,71,80,-82,72,82,-74,73,82,-84,74,84,-76,75,84,-86,76,86,-73,72,86,-83,77,87,-79,78,87,-89,73,83,-78,77,83,-88,71,81,-75,74,81,-85,78,88,-71,70,88,-81,75,85,-80,79,85,-90,79,89,-77,76,89,-87,80,90,-82,81,90,-92,82,92,-84,83,92,-94,84,94,-86,85,94,-96,86,96,-83,82,96,-93,87,97,-89,88,97,-99,83,93,-88,87,93,-98,81,91,-85,84,91,-95,88,98,-81,80,98,-91,85,95,-90,89,95,-100,89,99,-87,86,99,-97,90,100,-92,91,100,-102,92,102,-94,93,102,-104,94,104,-96,95,104,-106,96,106,-93,92,106,-103,97,107,-99,98,107,-109,93,103,-98,97,103,-108,91,101,-95,94,101,-105,98,108,-91,90,108,-101,95,105,-100,99,105,-110,99,109,-97,96,109,-107,100,4,-102,101,4,-6,102,24,-104,103,24,-19,104,19,-106,105,19,-26,106,28,-103, +102,28,-25,107,7,-109,108,7,-7,103,18,-108,107,18,-8,101,5,-105,104,5,-20,108,6,-101,100,6,-5,105,25,-110,109,25,-30,109,29,-107,106,29,-29 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *1944 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + NormalsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *1944 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *1944 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + TangentsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *696 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,23,48,21,21,48,49,39,50,31,31,50,51,24,52,32,32,52,53,47,54,39,39,54,50,19,55,17,17,55,56,31,51,19,19,51,55,21,49,24,24,49,52,3,57,1,1,57,58,32,53,40,40,53,59,8,60,10,10,60,61,48,62,49,49,62,63,50,64,51,51,64,65,52,66,53,53,66,67,54,68,50,50,68,64,55,69,56,56,69,70,51,65,55,55,65,69,49,63,52,52,63,66,57,71,58,58,71,72,53,67,59,59,67,73,60,74,61,61,74,75,62,76,63,63,76,77,64,78,65,65,78,79,66,80,67,67,80,81,68,82,64,64,82,78,69,83,70,70,83,84,65,79,69,69,79,83,63,77,66,66,77,80,71,85,72,72,85,86,67,81,73,73,81,87,74,88,75,75,88,89,76,90,77,77,90,91,78,92,79,79,92,93,80,94,81,81,94,95,82,96,78,78,96,92,83,97,84,84,97,98,79,93,83,83,93,97,77,91,80,80,91,94,85,99,86,86,99,100,81,95,87,87,95,101,88,102,89,89,102,103,90,104,91,91,104,105,92,106,93,93,106,107,94,108,95,95,108,109,96,110,92,92,110,106,97,111,98,98,111,112,93,107,97,97,107,111,91,105,94,94,105,108,99,113,100,100,113,114,95,109,101,101,109,115,102,116,103,103,116,117,104,118,105,105,118,119,106,120,107,107,120,121,108,122,109,109,122,123,110,124,106,106,124,120,111,125,112,112,125,126,107,121,111,111,121,125,105,119,108,108,119,122,113,127,114,114,127,128,109,123,115,115,123,129,116,130,117,117,130,131,118,132,119,119,132,133,120,134,121,121,134,135,122,136,123,123,136,137,124,138,120,120,138,134,125,139,126,126,139,140,121,135,125,125,135,139,119,133,122,122,133,136,127,141,128,128,141,142,123,137,129,129,137,143,130,144,131,131,144,145,132,146,133,133,146,147,134,148,135,135,148,149,136,150,137,137,150,151,138,152,134,134,152,148,139,153,140,140,153,154,135,149,139,139,149,153,133,147,136,136,147,150,141,155,142,142,155,156,137,151,143,143,151,157,144,158,145,145,158,159,146,160,147,147,160,161,148,162,149,149,162,163,150,164,151,151, +164,165,152,166,148,148,166,162,153,167,154,154,167,168,149,163,153,153,163,167,147,161,150,150,161,164,155,169,156,156,169,170,151,165,157,157,165,171,158,172,159,159,172,173 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *348 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-2,0,-2,-2,1,-2,0,2,0,2,1,0,-2,1,-2,-1,-3,0,-3,-3,1,-3,0,3,0,3,1,0,-3,1,-3,-1,-4,0,-4,-4,1,-4,0,4,0,4,1,0,-4,1,-4,-2,0,-2,-1,2,-3,2,-2,-2,-2,-2,-3,2,-4,2,-1,2,0,-2,1,-2,0,-2,-4,2,0,2,1,-3,0,-3,-1,3,-3,3,-2,-3,-2,-3,-3,3,-4,3,-1,3,0,-3,1,-3,0,-3,-4,3,0,3,1,-4,0,-4,-1,4,-3,4,-2,-4,-2,-4,-3,4,-4,4,-1,4,0,-4,1,-4,0,-4,-4,4,0,4,1,-5,0,-5,-1,5,-3,5,-2,-5,-2,-5,-3,5,-4,5,-1,5,0,-5,1,-5,0,-5,-4,5,0,5,1,-6,0,-6,-1,6,-3,6,-2,-6,-2,-6,-3,6,-4,6,-1,6,0,-6,1,-6,0,-6,-4,6,0,6,1,-7,0,-7,-1,7,-3,7,-2,-7,-2,-7,-3,7,-4,7,-1,7,0,-7,1,-7,0,-7,-4,7,0,7,1,-8,0,-8,-1,8,-3,8,-2,-8,-2,-8,-3,8,-4,8,-1,8,0,-8,1,-8,0,-8,-4,8,0,8,1,-9,0,-9,-1,9,-3,9,-2,-9,-2,-9,-3,9,-4,9,-1,9,0,-9,1,-9,0,-9,-4,9,0,9,1,-10,0,-10,-1,10,-3,10,-2,-10,-2,-10,-3,10,-4,10,-1,10,0,-10,1,-10,0,-10,-4,10,0,10,1 + } + UVIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,23,48,21,21,48,49,39,50,31,31,50,51,24,52,32,32,52,53,47,54,39,39,54,50,19,55,17,17,55,56,31,51,19,19,51,55,21,49,24,24,49,52,3,57,1,1,57,58,32,53,40,40,53,59,8,60,10,10,60,61,48,62,49,49,62,63,50,64,51,51,64,65,52,66,53,53,66,67,54,68,50,50,68,64,55,69,56,56,69,70,51,65,55,55,65,69,49,63,52,52,63,66,57,71,58,58,71,72,53,67,59,59,67,73,60,74,61,61,74,75,62,76,63,63,76,77,64,78,65,65,78,79,66,80,67,67,80,81,68,82,64,64,82,78,69,83,70,70,83,84,65,79,69,69,79,83,63,77,66,66,77,80,71,85,72,72,85,86,67,81,73,73,81,87,74,88,75,75,88,89,76,90,77,77,90,91,78,92,79,79,92,93,80,94,81,81,94,95,82,96,78,78,96,92,83,97,84,84,97,98,79,93,83,83,93,97,77,91,80,80,91,94,85,99,86,86,99,100,81,95,87,87,95,101,88,102,89,89,102,103,90,104,91,91,104,105,92,106,93,93,106,107,94,108,95,95,108,109,96,110,92,92,110,106,97,111,98,98,111,112,93,107,97,97,107,111,91,105,94,94,105,108,99,113,100,100,113,114,95,109,101,101,109,115,102,116,103,103,116,117,104,118,105,105,118,119,106,120,107,107,120,121,108,122,109,109,122,123,110,124,106,106,124,120,111,125,112,112,125,126,107,121,111,111,121,125,105,119,108,108,119,122,113,127,114,114,127,128,109,123,115,115,123,129,116,130,117,117,130,131,118,132,119,119,132,133,120,134,121,121,134,135,122,136,123,123,136,137,124,138,120,120,138,134,125,139,126,126,139,140,121,135,125,125,135,139,119,133,122,122,133,136,127,141,128,128,141,142,123,137,129,129,137,143,130,144,131,131,144,145,132,146,133,133,146,147,134,148,135,135,148,149,136,150,137,137,150,151,138,152,134,134,152,148,139,153,140,140,153,154,135,149,139,139,149,153,133,147,136,136,147,150,141,155,142,142,155,156,137,151,143,143,151,157,144,158,145,145,158,159,146,160,147,147,160,161,148,162,149,149,162,163,150,164,151,151, +164,165,152,166,148,148,166,162,153,167,154,154,167,168,149,163,153,153,163,167,147,161,150,150,161,164,155,169,156,156,169,170,151,165,157,157,165,171,158,172,159,159,172,173 + } + } + LayerElementUV: 1 { + Version: 101 + Name: "UVSet1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *348 { + a: 0.00400000484660268,0.81242048740387,0.0924910679459572,0.81242048740387,0.00400000018998981,0.900911450386047,0.0924910679459572,0.900911450386047,0.00400000018998981,0.904911518096924,0.0924911051988602,0.904911518096924,0.00400000298395753,0.993402481079102,0.0924911051988602,0.993402481079102,0.800418376922607,0.71992951631546,0.888909459114075,0.71992951631546,0.800418376922607,0.808420479297638,0.888909459114075,0.808420479297638,0.627436518669128,0.904911518096924,0.71592766046524,0.904911518096924,0.627436518669128,0.993402481079102,0.71592766046524,0.993402481079102,0.888909697532654,0.715929388999939,0.800418555736542,0.715929448604584,0.888909637928009,0.627438366413116,0.800418615341187,0.627438366413116,0.00400039833039045,0.269473522901535,0.0924915075302124,0.269473373889923,0.00400054221972823,0.357964545488358,0.0924917161464691,0.357964336872101,0.0924913510680199,0.180982381105423,0.00400029169395566,0.180982515215874,0.180982068181038,0.993402481079102,0.180982068181038,0.904911518096924,0.538945555686951,0.904911518096924,0.538945555686951,0.993402481079102,0.888909697532654,0.538947403430939,0.800418674945831,0.538947403430939,0.0924912393093109,0.0924913361668587,0.00400018086656928,0.0924914926290512,0.269473016262054,0.993402481079102,0.269473016262054,0.904911518096924,0.450454622507095,0.904911518096924,0.450454622507095,0.993402481079102,0.888909757137299,0.450456500053406,0.800418734550476,0.450456470251083,0.0924911648035049,0.00400031032040715,0.00400000018998981,0.00400049332529306,0.35796383023262,0.993402481079102,0.35796383023262,0.904911518096924,0.36196380853653,0.904911518096924,0.361963838338852,0.993402481079102,0.888909757137299,0.361965626478195,0.800418734550476,0.361965656280518,0.18098258972168,0.357964158058167,0.180982425808907,0.269473254680634,0.711927831172943,0.450456440448761,0.711927771568298,0.538947343826294,0.180982306599617,0.180982291698456,0.180982261896133,0.0924913138151169,0.711927890777588,0.361965626478195,0.711927711963654,0.627438247203827, +0.711927592754364,0.715929269790649,0.180981993675232,0.900911450386047,0.180981993675232,0.81242048740387,0.180982232093811,0.00400036107748747,0.711927473545074,0.71992951631546,0.711927473545074,0.808420479297638,0.269473403692245,0.357964038848877,0.269473284482956,0.269473165273666,0.623436987400055,0.450456380844116,0.62343692779541,0.538947224617004,0.269473224878311,0.180982246994972,0.269473195075989,0.0924913212656975,0.6234370470047,0.36196556687355,0.623436808586121,0.627438127994537,0.623436748981476,0.715929090976715,0.269472926855087,0.900911450386047,0.269472926855087,0.81242048740387,0.269473195075989,0.00400043232366443,0.623436510562897,0.71992951631546,0.623436510562897,0.808420479297638,0.357964158058167,0.357963979244232,0.357964128255844,0.269473105669022,0.534946143627167,0.450456261634827,0.534946024417877,0.53894716501236,0.357964128255844,0.18098221719265,0.357964128255844,0.0924913287162781,0.534946203231812,0.361965477466583,0.534945964813232,0.627438008785248,0.534945905208588,0.715928912162781,0.357963889837265,0.900911450386047,0.357963889837265,0.81242048740387,0.357964098453522,0.00400049472227693,0.534945547580719,0.71992951631546,0.534945547580719,0.808420479297638,0.446454972028732,0.357964068651199,0.446455001831055,0.269473135471344,0.446455240249634,0.450456142425537,0.446455150842667,0.53894704580307,0.446455031633377,0.180982187390327,0.446455001831055,0.0924913361668587,0.446455359458923,0.361965328454971,0.446455091238022,0.627437949180603,0.446455091238022,0.715928852558136,0.446454852819443,0.900911450386047,0.446454852819443,0.81242048740387,0.446454972028732,0.00400053197517991,0.446454614400864,0.71992951631546,0.446454614400864,0.808420479297638,0.534945785999298,0.357964158058167,0.534945845603943,0.269473165273666,0.357964396476746,0.450456023216248,0.357964307069778,0.538946986198425,0.534945845603943,0.18098221719265,0.534945845603943,0.0924913138151169,0.357964485883713,0.361965149641037,0.357964307069778,0.627437889575958,0.357964307069778,0.715928792953491,0.534945666790009, +0.900911509990692,0.534945666790009,0.81242048740387,0.534945785999298,0.00400051707401872,0.357963770627975,0.71992951631546,0.357963770627975,0.808420479297638,0.623436689376831,0.357964277267456,0.623436748981476,0.269473224878311,0.269473403692245,0.45045593380928,0.269473373889923,0.538946926593781,0.623436748981476,0.180982232093811,0.623436689376831,0.0924912840127945,0.269473552703857,0.36196494102478,0.269473403692245,0.627437949180603,0.269473493099213,0.715928852558136,0.623436510562897,0.900911509990692,0.623436510562897,0.81242048740387,0.623436629772186,0.00400045048445463,0.269472926855087,0.71992951631546,0.269472926855087,0.808420479297638,0.711927711963654,0.357964396476746,0.711927711963654,0.269473284482956,0.180982396006584,0.450455844402313,0.180982396006584,0.538946926593781,0.711927711963654,0.180982232093811,0.711927652359009,0.0924912169575691,0.180982485413551,0.361964732408524,0.18098247051239,0.627438008785248,0.180982649326324,0.715928971767426,0.71192741394043,0.900911509990692,0.71192741394043,0.81242048740387,0.711927473545074,0.00400033965706825,0.180982068181038,0.719929456710815,0.180982053279877,0.808420479297638,0.800418794155121,0.357964515686035,0.800418794155121,0.269473314285278,0.0924912840127945,0.450455784797668,0.0924913212656975,0.538946926593781,0.800418734550476,0.180982202291489,0.800418615341187,0.0924910977482796,0.0924912914633751,0.361964583396912,0.0924914330244064,0.627438127994537,0.0924915969371796,0.71592915058136,0.800418436527252,0.900911509990692,0.800418436527252,0.81242048740387,0.800418436527252,0.00400020182132721,0.0924910455942154,0.719929456710815,0.0924910306930542,0.808420479297638,0.888910055160522,0.357964545488358,0.888909935951233,0.269473224878311,0.00400005467236042,0.450455844402313,0.00400016875937581,0.538946986198425,0.888909816741943,0.180982157588005,0.888909637928009,0.0924909487366676,0.00400000018998981,0.361964553594589,0.00400034198537469,0.627438247203827,0.00400060880929232,0.715929388999939,0.888909459114075,0.900911509990692, +0.888909459114075,0.81242048740387,0.88890939950943,0.00400000018998981,0.00400001322850585,0.719929456710815,0.00400000018998981,0.808420479297638 + } + UVIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,23,48,21,21,48,49,39,50,31,31,50,51,24,52,32,32,52,53,47,54,39,39,54,50,19,55,17,17,55,56,31,51,19,19,51,55,21,49,24,24,49,52,3,57,1,1,57,58,32,53,40,40,53,59,8,60,10,10,60,61,48,62,49,49,62,63,50,64,51,51,64,65,52,66,53,53,66,67,54,68,50,50,68,64,55,69,56,56,69,70,51,65,55,55,65,69,49,63,52,52,63,66,57,71,58,58,71,72,53,67,59,59,67,73,60,74,61,61,74,75,62,76,63,63,76,77,64,78,65,65,78,79,66,80,67,67,80,81,68,82,64,64,82,78,69,83,70,70,83,84,65,79,69,69,79,83,63,77,66,66,77,80,71,85,72,72,85,86,67,81,73,73,81,87,74,88,75,75,88,89,76,90,77,77,90,91,78,92,79,79,92,93,80,94,81,81,94,95,82,96,78,78,96,92,83,97,84,84,97,98,79,93,83,83,93,97,77,91,80,80,91,94,85,99,86,86,99,100,81,95,87,87,95,101,88,102,89,89,102,103,90,104,91,91,104,105,92,106,93,93,106,107,94,108,95,95,108,109,96,110,92,92,110,106,97,111,98,98,111,112,93,107,97,97,107,111,91,105,94,94,105,108,99,113,100,100,113,114,95,109,101,101,109,115,102,116,103,103,116,117,104,118,105,105,118,119,106,120,107,107,120,121,108,122,109,109,122,123,110,124,106,106,124,120,111,125,112,112,125,126,107,121,111,111,121,125,105,119,108,108,119,122,113,127,114,114,127,128,109,123,115,115,123,129,116,130,117,117,130,131,118,132,119,119,132,133,120,134,121,121,134,135,122,136,123,123,136,137,124,138,120,120,138,134,125,139,126,126,139,140,121,135,125,125,135,139,119,133,122,122,133,136,127,141,128,128,141,142,123,137,129,129,137,143,130,144,131,131,144,145,132,146,133,133,146,147,134,148,135,135,148,149,136,150,137,137,150,151,138,152,134,134,152,148,139,153,140,140,153,154,135,149,139,139,149,153,133,147,136,136,147,150,141,155,142,142,155,156,137,151,143,143,151,157,144,158,145,145,158,159,146,160,147,147,160,161,148,162,149,149,162,163,150,164,151,151, +164,165,152,166,148,148,166,162,153,167,154,154,167,168,149,163,153,153,163,167,147,161,150,150,161,164,155,169,156,156,169,170,151,165,157,157,165,171,158,172,159,159,172,173 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + Layer: 1 { + Version: 100 + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 1 + } + } + } + Geometry: 1143696176, "Geometry::Scene", "Mesh" { + Vertices: *330 { + a: -0,0,0,-100,0,0,-0,100,0,-100,100,0,-1000,0,0,-1000,0,-100,-1000,100,0,-1000,100,-100,-100,0,-400,-0,0,-400,-100,100,-400,-0,100,-400,-0,0,-100,-0,100,-100,-100,100,-100,-100,0,-100,-100,0,-200,-0,0,-200,-1000,100,-200,-1000,0,-200,-0,100,-200,-100,100,-200,-100,0,-300,-0,0,-300,-1000,100,-300,-1000,0,-300,-0,100,-300,-100,100,-300,-1000,100,-400,-1000,0,-400,-200,0,0,-200,0,-100,-200,100,-300,-200,100,-200,-200,0,-200,-200,0,-300,-200,100,-400,-200,100,-100,-200,100,0,-200,0,-400,-300,0,0,-300,0,-100,-300,100,-300,-300,100,-200,-300,0,-200,-300,0,-300,-300,100,-400,-300,100,-100,-300,100,0,-300,0,-400,-400,0,0,-400,0,-100,-400,100,-300,-400,100,-200,-400,0,-200,-400,0,-300,-400,100,-400,-400,100,-100,-400,100,0,-400,0,-400,-500,0,0,-500,0,-100,-500,100,-300,-500,100,-200,-500,0,-200,-500,0,-300,-500,100,-400,-500,100,-100,-500,100,0,-500,0,-400,-600,0,0,-600,0,-100,-600,100,-300,-600,100,-200,-600,0,-200,-600,0,-300,-600,100,-400,-600,100,-100,-600,100,0,-600,0,-400,-700,0,0,-700,0,-100,-700,100,-300,-700,100,-200,-700,0,-200,-700,0,-300,-700,100,-400,-700,100,-100,-700,100,0,-700,0,-400,-800,0,0,-800,0,-100,-800,100,-300,-800,100,-200,-800,0,-200,-800,0,-300,-800,100,-400,-800,100,-100,-800,100,0,-800,0,-400,-900,0,0,-900,0,-100,-900,100,-300,-900,100,-200,-900,0,-200,-900,0,-300,-900,100,-400,-900,100,-100,-900,100,0,-900,0,-400 + } + PolygonVertexIndex: *648 { + a: 0,2,-2,1,2,-4,4,6,-6,5,6,-8,8,10,-10,9,10,-12,12,13,-1,0,13,-3,2,13,-4,3,13,-15,12,0,-16,15,0,-2,15,16,-13,12,16,-18,7,18,-6,5,18,-20,12,17,-14,13,17,-21,13,20,-15,14,20,-22,16,22,-18,17,22,-24,18,24,-20,19,24,-26,17,23,-21,20,23,-27,20,26,-22,21,26,-28,22,8,-24,23,8,-10,24,28,-26,25,28,-30,23,9,-27,26,9,-12,26,11,-28,27,11,-11,1,30,-16,15,30,-32,27,32,-22,21,32,-34,16,34,-23,22,34,-36,10,36,-28,27,36,-33,14,37,-4,3,37,-39,21,33,-15,14,33,-38,15,31,-17,16,31,-35,3,38,-2,1,38,-31,22,35,-9,8,35,-40,8,39,-11,10,39,-37,30,40,-32,31,40,-42,32,42,-34,33,42,-44,34,44,-36,35,44,-46,36,46,-33,32,46,-43,37,47,-39,38,47,-49,33,43,-38,37,43,-48,31,41,-35,34,41,-45,38,48,-31,30,48,-41,35,45,-40,39,45,-50,39,49,-37,36,49,-47,40,50,-42,41,50,-52,42,52,-44,43,52,-54,44,54,-46,45,54,-56,46,56,-43,42,56,-53,47,57,-49,48,57,-59,43,53,-48,47,53,-58,41,51,-45,44,51,-55,48,58,-41,40,58,-51,45,55,-50,49,55,-60,49,59,-47,46,59,-57,50,60,-52,51,60,-62,52,62,-54,53,62,-64,54,64,-56,55,64,-66,56,66,-53,52,66,-63,57,67,-59,58,67,-69,53,63,-58,57,63,-68,51,61,-55,54,61,-65,58,68,-51,50,68,-61,55,65,-60,59,65,-70,59,69,-57,56,69,-67,60,70,-62,61,70,-72,62,72,-64,63,72,-74,64,74,-66,65,74,-76,66,76,-63,62,76,-73,67,77,-69,68,77,-79,63,73,-68,67,73,-78,61,71,-65,64,71,-75,68,78,-61,60,78,-71,65,75,-70,69,75,-80,69,79,-67,66,79,-77,70,80,-72,71,80,-82,72,82,-74,73,82,-84,74,84,-76,75,84,-86,76,86,-73,72,86,-83,77,87,-79,78,87,-89,73,83,-78,77,83,-88,71,81,-75,74,81,-85,78,88,-71,70,88,-81,75,85,-80,79,85,-90,79,89,-77,76,89,-87,80,90,-82,81,90,-92,82,92,-84,83,92,-94,84,94,-86,85,94,-96,86,96,-83,82,96,-93,87,97,-89,88,97,-99,83,93,-88,87,93,-98,81,91,-85,84,91,-95,88,98,-81,80,98,-91,85,95,-90,89,95,-100,89,99,-87,86,99,-97,90,100,-92,91,100,-102,92,102,-94,93,102,-104,94,104,-96,95,104,-106,96,106,-93,92,106,-103,97,107,-99,98,107,-109,93,103,-98,97,103,-108,91,101,-95,94,101,-105,98,108,-91,90,108,-101,95,105,-100,99,105,-110,99,109,-97,96,109,-107,100,4,-102,101,4,-6,102,24,-104,103,24,-19,104,19,-106,105,19,-26,106,28,-103, +102,28,-25,107,7,-109,108,7,-7,103,18,-108,107,18,-8,101,5,-105,104,5,-20,108,6,-101,100,6,-5,105,25,-110,109,25,-30,109,29,-107,106,29,-29 + } + GeometryVersion: 124 + LayerElementNormal: 0 { + Version: 102 + Name: "Normals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Normals: *1944 { + a: -0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0, +-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0, +-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,-1,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1 + } + NormalsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementBinormal: 0 { + Version: 102 + Name: "Binormals" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Binormals: *1944 { + a: 0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1, +-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0, +0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,0,-0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0 + } + BinormalsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + + } + LayerElementTangent: 0 { + Version: 102 + Name: "Tangents" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "Direct" + Tangents: *1944 { + a: 1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-0,0,-1,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0, +1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0, +-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0 + } + TangentsW: *648 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + } + LayerElementColor: 0 { + Version: 101 + Name: "VertexColors" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + Colors: *696 { + a: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + } + ColorIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,23,48,21,21,48,49,39,50,31,31,50,51,24,52,32,32,52,53,47,54,39,39,54,50,19,55,17,17,55,56,31,51,19,19,51,55,21,49,24,24,49,52,3,57,1,1,57,58,32,53,40,40,53,59,8,60,10,10,60,61,48,62,49,49,62,63,50,64,51,51,64,65,52,66,53,53,66,67,54,68,50,50,68,64,55,69,56,56,69,70,51,65,55,55,65,69,49,63,52,52,63,66,57,71,58,58,71,72,53,67,59,59,67,73,60,74,61,61,74,75,62,76,63,63,76,77,64,78,65,65,78,79,66,80,67,67,80,81,68,82,64,64,82,78,69,83,70,70,83,84,65,79,69,69,79,83,63,77,66,66,77,80,71,85,72,72,85,86,67,81,73,73,81,87,74,88,75,75,88,89,76,90,77,77,90,91,78,92,79,79,92,93,80,94,81,81,94,95,82,96,78,78,96,92,83,97,84,84,97,98,79,93,83,83,93,97,77,91,80,80,91,94,85,99,86,86,99,100,81,95,87,87,95,101,88,102,89,89,102,103,90,104,91,91,104,105,92,106,93,93,106,107,94,108,95,95,108,109,96,110,92,92,110,106,97,111,98,98,111,112,93,107,97,97,107,111,91,105,94,94,105,108,99,113,100,100,113,114,95,109,101,101,109,115,102,116,103,103,116,117,104,118,105,105,118,119,106,120,107,107,120,121,108,122,109,109,122,123,110,124,106,106,124,120,111,125,112,112,125,126,107,121,111,111,121,125,105,119,108,108,119,122,113,127,114,114,127,128,109,123,115,115,123,129,116,130,117,117,130,131,118,132,119,119,132,133,120,134,121,121,134,135,122,136,123,123,136,137,124,138,120,120,138,134,125,139,126,126,139,140,121,135,125,125,135,139,119,133,122,122,133,136,127,141,128,128,141,142,123,137,129,129,137,143,130,144,131,131,144,145,132,146,133,133,146,147,134,148,135,135,148,149,136,150,137,137,150,151,138,152,134,134,152,148,139,153,140,140,153,154,135,149,139,139,149,153,133,147,136,136,147,150,141,155,142,142,155,156,137,151,143,143,151,157,144,158,145,145,158,159,146,160,147,147,160,161,148,162,149,149,162,163,150,164,151,151, +164,165,152,166,148,148,166,162,153,167,154,154,167,168,149,163,153,153,163,167,147,161,150,150,161,164,155,169,156,156,169,170,151,165,157,157,165,171,158,172,159,159,172,173 + } + } + LayerElementUV: 0 { + Version: 101 + Name: "UVSet0" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *348 { + a: 0,0,-1,0,0,1,-1,1,0,0,-1,0,0,1,-1,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,0,1,0,0,-1,1,-1,0,-1,-1,-1,0,0,-1,0,-1,-2,0,-2,-2,1,-2,0,2,0,2,1,0,-2,1,-2,-1,-3,0,-3,-3,1,-3,0,3,0,3,1,0,-3,1,-3,-1,-4,0,-4,-4,1,-4,0,4,0,4,1,0,-4,1,-4,-2,0,-2,-1,2,-3,2,-2,-2,-2,-2,-3,2,-4,2,-1,2,0,-2,1,-2,0,-2,-4,2,0,2,1,-3,0,-3,-1,3,-3,3,-2,-3,-2,-3,-3,3,-4,3,-1,3,0,-3,1,-3,0,-3,-4,3,0,3,1,-4,0,-4,-1,4,-3,4,-2,-4,-2,-4,-3,4,-4,4,-1,4,0,-4,1,-4,0,-4,-4,4,0,4,1,-5,0,-5,-1,5,-3,5,-2,-5,-2,-5,-3,5,-4,5,-1,5,0,-5,1,-5,0,-5,-4,5,0,5,1,-6,0,-6,-1,6,-3,6,-2,-6,-2,-6,-3,6,-4,6,-1,6,0,-6,1,-6,0,-6,-4,6,0,6,1,-7,0,-7,-1,7,-3,7,-2,-7,-2,-7,-3,7,-4,7,-1,7,0,-7,1,-7,0,-7,-4,7,0,7,1,-8,0,-8,-1,8,-3,8,-2,-8,-2,-8,-3,8,-4,8,-1,8,0,-8,1,-8,0,-8,-4,8,0,8,1,-9,0,-9,-1,9,-3,9,-2,-9,-2,-9,-3,9,-4,9,-1,9,0,-9,1,-9,0,-9,-4,9,0,9,1,-10,0,-10,-1,10,-3,10,-2,-10,-2,-10,-3,10,-4,10,-1,10,0,-10,1,-10,0,-10,-4,10,0,10,1 + } + UVIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,23,48,21,21,48,49,39,50,31,31,50,51,24,52,32,32,52,53,47,54,39,39,54,50,19,55,17,17,55,56,31,51,19,19,51,55,21,49,24,24,49,52,3,57,1,1,57,58,32,53,40,40,53,59,8,60,10,10,60,61,48,62,49,49,62,63,50,64,51,51,64,65,52,66,53,53,66,67,54,68,50,50,68,64,55,69,56,56,69,70,51,65,55,55,65,69,49,63,52,52,63,66,57,71,58,58,71,72,53,67,59,59,67,73,60,74,61,61,74,75,62,76,63,63,76,77,64,78,65,65,78,79,66,80,67,67,80,81,68,82,64,64,82,78,69,83,70,70,83,84,65,79,69,69,79,83,63,77,66,66,77,80,71,85,72,72,85,86,67,81,73,73,81,87,74,88,75,75,88,89,76,90,77,77,90,91,78,92,79,79,92,93,80,94,81,81,94,95,82,96,78,78,96,92,83,97,84,84,97,98,79,93,83,83,93,97,77,91,80,80,91,94,85,99,86,86,99,100,81,95,87,87,95,101,88,102,89,89,102,103,90,104,91,91,104,105,92,106,93,93,106,107,94,108,95,95,108,109,96,110,92,92,110,106,97,111,98,98,111,112,93,107,97,97,107,111,91,105,94,94,105,108,99,113,100,100,113,114,95,109,101,101,109,115,102,116,103,103,116,117,104,118,105,105,118,119,106,120,107,107,120,121,108,122,109,109,122,123,110,124,106,106,124,120,111,125,112,112,125,126,107,121,111,111,121,125,105,119,108,108,119,122,113,127,114,114,127,128,109,123,115,115,123,129,116,130,117,117,130,131,118,132,119,119,132,133,120,134,121,121,134,135,122,136,123,123,136,137,124,138,120,120,138,134,125,139,126,126,139,140,121,135,125,125,135,139,119,133,122,122,133,136,127,141,128,128,141,142,123,137,129,129,137,143,130,144,131,131,144,145,132,146,133,133,146,147,134,148,135,135,148,149,136,150,137,137,150,151,138,152,134,134,152,148,139,153,140,140,153,154,135,149,139,139,149,153,133,147,136,136,147,150,141,155,142,142,155,156,137,151,143,143,151,157,144,158,145,145,158,159,146,160,147,147,160,161,148,162,149,149,162,163,150,164,151,151, +164,165,152,166,148,148,166,162,153,167,154,154,167,168,149,163,153,153,163,167,147,161,150,150,161,164,155,169,156,156,169,170,151,165,157,157,165,171,158,172,159,159,172,173 + } + } + LayerElementUV: 1 { + Version: 101 + Name: "UVSet1" + MappingInformationType: "ByPolygonVertex" + ReferenceInformationType: "IndexToDirect" + UV: *348 { + a: 0.00400000484660268,0.81242048740387,0.0924910679459572,0.81242048740387,0.00400000018998981,0.900911450386047,0.0924910679459572,0.900911450386047,0.00400000018998981,0.904911518096924,0.0924911051988602,0.904911518096924,0.00400000298395753,0.993402481079102,0.0924911051988602,0.993402481079102,0.800418376922607,0.71992951631546,0.888909459114075,0.71992951631546,0.800418376922607,0.808420479297638,0.888909459114075,0.808420479297638,0.627436518669128,0.904911518096924,0.71592766046524,0.904911518096924,0.627436518669128,0.993402481079102,0.71592766046524,0.993402481079102,0.888909697532654,0.715929388999939,0.800418555736542,0.715929448604584,0.888909637928009,0.627438366413116,0.800418615341187,0.627438366413116,0.00400039833039045,0.269473522901535,0.0924915075302124,0.269473373889923,0.00400054221972823,0.357964545488358,0.0924917161464691,0.357964336872101,0.0924913510680199,0.180982381105423,0.00400029169395566,0.180982515215874,0.180982068181038,0.993402481079102,0.180982068181038,0.904911518096924,0.538945555686951,0.904911518096924,0.538945555686951,0.993402481079102,0.888909697532654,0.538947403430939,0.800418674945831,0.538947403430939,0.0924912393093109,0.0924913361668587,0.00400018086656928,0.0924914926290512,0.269473016262054,0.993402481079102,0.269473016262054,0.904911518096924,0.450454622507095,0.904911518096924,0.450454622507095,0.993402481079102,0.888909757137299,0.450456500053406,0.800418734550476,0.450456470251083,0.0924911648035049,0.00400031032040715,0.00400000018998981,0.00400049332529306,0.35796383023262,0.993402481079102,0.35796383023262,0.904911518096924,0.36196380853653,0.904911518096924,0.361963838338852,0.993402481079102,0.888909757137299,0.361965626478195,0.800418734550476,0.361965656280518,0.18098258972168,0.357964158058167,0.180982425808907,0.269473254680634,0.711927831172943,0.450456440448761,0.711927771568298,0.538947343826294,0.180982306599617,0.180982291698456,0.180982261896133,0.0924913138151169,0.711927890777588,0.361965626478195,0.711927711963654,0.627438247203827, +0.711927592754364,0.715929269790649,0.180981993675232,0.900911450386047,0.180981993675232,0.81242048740387,0.180982232093811,0.00400036107748747,0.711927473545074,0.71992951631546,0.711927473545074,0.808420479297638,0.269473403692245,0.357964038848877,0.269473284482956,0.269473165273666,0.623436987400055,0.450456380844116,0.62343692779541,0.538947224617004,0.269473224878311,0.180982246994972,0.269473195075989,0.0924913212656975,0.6234370470047,0.36196556687355,0.623436808586121,0.627438127994537,0.623436748981476,0.715929090976715,0.269472926855087,0.900911450386047,0.269472926855087,0.81242048740387,0.269473195075989,0.00400043232366443,0.623436510562897,0.71992951631546,0.623436510562897,0.808420479297638,0.357964158058167,0.357963979244232,0.357964128255844,0.269473105669022,0.534946143627167,0.450456261634827,0.534946024417877,0.53894716501236,0.357964128255844,0.18098221719265,0.357964128255844,0.0924913287162781,0.534946203231812,0.361965477466583,0.534945964813232,0.627438008785248,0.534945905208588,0.715928912162781,0.357963889837265,0.900911450386047,0.357963889837265,0.81242048740387,0.357964098453522,0.00400049472227693,0.534945547580719,0.71992951631546,0.534945547580719,0.808420479297638,0.446454972028732,0.357964068651199,0.446455001831055,0.269473135471344,0.446455240249634,0.450456142425537,0.446455150842667,0.53894704580307,0.446455031633377,0.180982187390327,0.446455001831055,0.0924913361668587,0.446455359458923,0.361965328454971,0.446455091238022,0.627437949180603,0.446455091238022,0.715928852558136,0.446454852819443,0.900911450386047,0.446454852819443,0.81242048740387,0.446454972028732,0.00400053197517991,0.446454614400864,0.71992951631546,0.446454614400864,0.808420479297638,0.534945785999298,0.357964158058167,0.534945845603943,0.269473165273666,0.357964396476746,0.450456023216248,0.357964307069778,0.538946986198425,0.534945845603943,0.18098221719265,0.534945845603943,0.0924913138151169,0.357964485883713,0.361965149641037,0.357964307069778,0.627437889575958,0.357964307069778,0.715928792953491,0.534945666790009, +0.900911509990692,0.534945666790009,0.81242048740387,0.534945785999298,0.00400051707401872,0.357963770627975,0.71992951631546,0.357963770627975,0.808420479297638,0.623436689376831,0.357964277267456,0.623436748981476,0.269473224878311,0.269473403692245,0.45045593380928,0.269473373889923,0.538946926593781,0.623436748981476,0.180982232093811,0.623436689376831,0.0924912840127945,0.269473552703857,0.36196494102478,0.269473403692245,0.627437949180603,0.269473493099213,0.715928852558136,0.623436510562897,0.900911509990692,0.623436510562897,0.81242048740387,0.623436629772186,0.00400045048445463,0.269472926855087,0.71992951631546,0.269472926855087,0.808420479297638,0.711927711963654,0.357964396476746,0.711927711963654,0.269473284482956,0.180982396006584,0.450455844402313,0.180982396006584,0.538946926593781,0.711927711963654,0.180982232093811,0.711927652359009,0.0924912169575691,0.180982485413551,0.361964732408524,0.18098247051239,0.627438008785248,0.180982649326324,0.715928971767426,0.71192741394043,0.900911509990692,0.71192741394043,0.81242048740387,0.711927473545074,0.00400033965706825,0.180982068181038,0.719929456710815,0.180982053279877,0.808420479297638,0.800418794155121,0.357964515686035,0.800418794155121,0.269473314285278,0.0924912840127945,0.450455784797668,0.0924913212656975,0.538946926593781,0.800418734550476,0.180982202291489,0.800418615341187,0.0924910977482796,0.0924912914633751,0.361964583396912,0.0924914330244064,0.627438127994537,0.0924915969371796,0.71592915058136,0.800418436527252,0.900911509990692,0.800418436527252,0.81242048740387,0.800418436527252,0.00400020182132721,0.0924910455942154,0.719929456710815,0.0924910306930542,0.808420479297638,0.888910055160522,0.357964545488358,0.888909935951233,0.269473224878311,0.00400005467236042,0.450455844402313,0.00400016875937581,0.538946986198425,0.888909816741943,0.180982157588005,0.888909637928009,0.0924909487366676,0.00400000018998981,0.361964553594589,0.00400034198537469,0.627438247203827,0.00400060880929232,0.715929388999939,0.888909459114075,0.900911509990692, +0.888909459114075,0.81242048740387,0.88890939950943,0.00400000018998981,0.00400001322850585,0.719929456710815,0.00400000018998981,0.808420479297638 + } + UVIndex: *648 { + a: 0,2,1,1,2,3,4,6,5,5,6,7,8,10,9,9,10,11,12,14,13,13,14,15,16,18,17,17,18,19,20,22,21,21,22,23,21,24,20,20,24,25,7,26,5,5,26,27,12,28,14,14,28,29,18,30,19,19,30,31,24,32,25,25,32,33,26,34,27,27,34,35,28,36,29,29,36,37,30,38,31,31,38,39,32,40,33,33,40,41,34,42,35,35,42,43,36,44,37,37,44,45,38,46,39,39,46,47,23,48,21,21,48,49,39,50,31,31,50,51,24,52,32,32,52,53,47,54,39,39,54,50,19,55,17,17,55,56,31,51,19,19,51,55,21,49,24,24,49,52,3,57,1,1,57,58,32,53,40,40,53,59,8,60,10,10,60,61,48,62,49,49,62,63,50,64,51,51,64,65,52,66,53,53,66,67,54,68,50,50,68,64,55,69,56,56,69,70,51,65,55,55,65,69,49,63,52,52,63,66,57,71,58,58,71,72,53,67,59,59,67,73,60,74,61,61,74,75,62,76,63,63,76,77,64,78,65,65,78,79,66,80,67,67,80,81,68,82,64,64,82,78,69,83,70,70,83,84,65,79,69,69,79,83,63,77,66,66,77,80,71,85,72,72,85,86,67,81,73,73,81,87,74,88,75,75,88,89,76,90,77,77,90,91,78,92,79,79,92,93,80,94,81,81,94,95,82,96,78,78,96,92,83,97,84,84,97,98,79,93,83,83,93,97,77,91,80,80,91,94,85,99,86,86,99,100,81,95,87,87,95,101,88,102,89,89,102,103,90,104,91,91,104,105,92,106,93,93,106,107,94,108,95,95,108,109,96,110,92,92,110,106,97,111,98,98,111,112,93,107,97,97,107,111,91,105,94,94,105,108,99,113,100,100,113,114,95,109,101,101,109,115,102,116,103,103,116,117,104,118,105,105,118,119,106,120,107,107,120,121,108,122,109,109,122,123,110,124,106,106,124,120,111,125,112,112,125,126,107,121,111,111,121,125,105,119,108,108,119,122,113,127,114,114,127,128,109,123,115,115,123,129,116,130,117,117,130,131,118,132,119,119,132,133,120,134,121,121,134,135,122,136,123,123,136,137,124,138,120,120,138,134,125,139,126,126,139,140,121,135,125,125,135,139,119,133,122,122,133,136,127,141,128,128,141,142,123,137,129,129,137,143,130,144,131,131,144,145,132,146,133,133,146,147,134,148,135,135,148,149,136,150,137,137,150,151,138,152,134,134,152,148,139,153,140,140,153,154,135,149,139,139,149,153,133,147,136,136,147,150,141,155,142,142,155,156,137,151,143,143,151,157,144,158,145,145,158,159,146,160,147,147,160,161,148,162,149,149,162,163,150,164,151,151, +164,165,152,166,148,148,166,162,153,167,154,154,167,168,149,163,153,153,163,167,147,161,150,150,161,164,155,169,156,156,169,170,151,165,157,157,165,171,158,172,159,159,172,173 + } + } + LayerElementMaterial: 0 { + Version: 101 + Name: "Material" + MappingInformationType: "AllSame" + ReferenceInformationType: "IndexToDirect" + Materials: *1 { + a: 0 + } + } + Layer: 0 { + Version: 100 + LayerElement: { + Type: "LayerElementNormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementBinormal" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementTangent" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementMaterial" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementColor" + TypedIndex: 0 + } + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 0 + } + } + Layer: 1 { + Version: 100 + LayerElement: { + Type: "LayerElementUV" + TypedIndex: 1 + } + } + } + Model: 1146785392, "Model::ProB_Wall_10x4", "Mesh" { + Version: 232 + Properties70: { + P: "ScalingMax", "Vector3D", "Vector", "",0,0,0 + P: "DefaultAttributeIndex", "int", "Integer", "",0 + } + Shading: W + Culling: "CullingOff" + } + Material: 1148826896, "Material::Default_Prototype", "" { + Version: 102 + ShadingModel: "lambert" + MultiLayer: 0 + Properties70: { + P: "AmbientColor", "Color", "", "A",0,0,0 + P: "DiffuseColor", "Color", "", "A",1,1,1 + P: "BumpFactor", "double", "Number", "",0 + P: "Emissive", "Vector3D", "Vector", "",0,0,0 + P: "Ambient", "Vector3D", "Vector", "",0,0,0 + P: "Diffuse", "Vector3D", "Vector", "",1,1,1 + P: "Opacity", "double", "Number", "",1 + } + } + Video: 1148837296, "Video::DiffuseColor_Texture", "Clip" { + Type: "Clip" + Properties70: { + P: "Path", "KString", "XRefUrl", "", "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + UseMipMap: 0 + Filename: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + } + Texture: 294698080, "Texture::DiffuseColor_Texture", "" { + Type: "TextureVideoClip" + Version: 202 + TextureName: "Texture::DiffuseColor_Texture" + Media: "Video::DiffuseColor_Texture" + FileName: "C:\Users\joelf\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + RelativeFilename: "..\..\..\Documents\Unity_Projects\use_cases_cinemachine\Assets\Plugins\ProCore\ProBuilder\Resources\Textures\GridBox_Default.png" + ModelUVTranslation: 0,0 + ModelUVScaling: 1,1 + Texture_Alpha_Source: "None" + Cropping: 0,0,0,0 + } +} + +; Object connections +;------------------------------------------------------------------ + +Connections: { + + ;Model::ProB_Wall_10x4, Model::RootNode + C: "OO",1146785392,0 + + ;Material::Default_Prototype, Model::ProB_Wall_10x4 + C: "OO",1148826896,1146785392 + + ;Material::Default_Prototype, Model::ProB_Wall_10x4 + C: "OO",1148826896,1146785392 + + ;Geometry::Scene, Model::ProB_Wall_10x4 + C: "OO",1143696176,1146785392 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OO",294698080,1148826896 + + ;Texture::DiffuseColor_Texture, Material::Default_Prototype + C: "OP",294698080,1148826896, "DiffuseColor" + + ;Video::DiffuseColor_Texture, Texture::DiffuseColor_Texture + C: "OO",1148837296,294698080 +} +;Takes section +;---------------------------------------------------- + +Takes: { + Current: "" +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Wall_10x4.fbx.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Wall_10x4.fbx.meta new file mode 100644 index 00000000..51a66729 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/FBX/ProB_Wall_10x4.fbx.meta @@ -0,0 +1,91 @@ +fileFormatVersion: 2 +guid: 8801006d6478aea478f9320df4476f30 +timeCreated: 1508433759 +licenseType: Pro +ModelImporter: + serializedVersion: 22 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2100000: Default_Prototype + 2300000: //RootNode + 3300000: //RootNode + 4300000: ProB_Wall_10x4 + externalObjects: {} + materials: + importMaterials: 1 + materialName: 1 + materialSearch: 2 + materialLocation: 0 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage1.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage1.prefab new file mode 100644 index 00000000..bc350dd3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage1.prefab @@ -0,0 +1,824 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1353548312259026} + m_IsPrefabParent: 1 +--- !u!1 &1011351892286762 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4503209883205956} + - component: {fileID: 33331938032494340} + - component: {fileID: 23956239117101484} + - component: {fileID: 64046170161529968} + m_Layer: 0 + m_Name: Floor_1Wall_10x10 (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1069540646779908 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4075294649429384} + - component: {fileID: 33508854371246758} + - component: {fileID: 23437780738149998} + - component: {fileID: 64765137987964746} + m_Layer: 0 + m_Name: Floor_1Wall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1244387259326952 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4769155114610936} + - component: {fileID: 33207686347832314} + - component: {fileID: 23746808193844642} + - component: {fileID: 64701236806963866} + m_Layer: 0 + m_Name: Floor_1Wall_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1353548312259026 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4753686679862902} + m_Layer: 0 + m_Name: Stage1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1460448521894754 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4346705469142044} + - component: {fileID: 33349008738201488} + - component: {fileID: 23640155672601112} + - component: {fileID: 64794050700455514} + m_Layer: 0 + m_Name: Floor_LWall_10x10 (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1508939754494012 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4428690039271208} + - component: {fileID: 33549248189910234} + - component: {fileID: 23000832059277976} + - component: {fileID: 64232303718121850} + m_Layer: 0 + m_Name: Floor_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1589051038764814 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4184873926793346} + - component: {fileID: 33314137599878734} + - component: {fileID: 23791095951903888} + - component: {fileID: 64058343729723294} + m_Layer: 0 + m_Name: Floor_1Wall_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1600866081170166 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4291176792551136} + - component: {fileID: 33460049686983920} + - component: {fileID: 23463183618734920} + - component: {fileID: 64300953768862422} + m_Layer: 0 + m_Name: Floor_LWall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1618907212989342 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4337820662698616} + - component: {fileID: 33875604847906404} + - component: {fileID: 23405287340030536} + - component: {fileID: 64417523783703692} + m_Layer: 0 + m_Name: Floor_LWall_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1969055732295604 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4588981910846876} + - component: {fileID: 33024722533798518} + - component: {fileID: 23612013576632290} + - component: {fileID: 64444221075859678} + m_Layer: 0 + m_Name: Floor_LWall_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4075294649429384 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069540646779908} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4753686679862902} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4184873926793346 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1589051038764814} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4753686679862902} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4291176792551136 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1600866081170166} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4753686679862902} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4337820662698616 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1618907212989342} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4753686679862902} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4346705469142044 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1460448521894754} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: -0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4753686679862902} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 270, z: 0} +--- !u!4 &4428690039271208 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1508939754494012} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4753686679862902} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4503209883205956 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1011351892286762} + m_LocalRotation: {x: 0, y: 0.7071068, z: -0, w: -0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.0000005, y: 1, z: 1.0000005} + m_Children: [] + m_Father: {fileID: 4753686679862902} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 270, z: 0} +--- !u!4 &4588981910846876 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1969055732295604} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4753686679862902} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4753686679862902 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1353548312259026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4428690039271208} + - {fileID: 4184873926793346} + - {fileID: 4075294649429384} + - {fileID: 4769155114610936} + - {fileID: 4588981910846876} + - {fileID: 4291176792551136} + - {fileID: 4337820662698616} + - {fileID: 4346705469142044} + - {fileID: 4503209883205956} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4769155114610936 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1244387259326952} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4753686679862902} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23000832059277976 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1508939754494012} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23405287340030536 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1618907212989342} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23437780738149998 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069540646779908} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23463183618734920 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1600866081170166} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23612013576632290 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1969055732295604} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23640155672601112 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1460448521894754} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23746808193844642 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1244387259326952} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23791095951903888 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1589051038764814} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23956239117101484 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1011351892286762} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33024722533798518 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1969055732295604} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33207686347832314 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1244387259326952} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33314137599878734 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1589051038764814} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33331938032494340 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1011351892286762} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33349008738201488 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1460448521894754} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33460049686983920 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1600866081170166} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33508854371246758 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069540646779908} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33549248189910234 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1508939754494012} + m_Mesh: {fileID: 4300000, guid: 47d4df8e0a6e85a4c8448ec117ba07df, type: 3} +--- !u!33 &33875604847906404 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1618907212989342} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64046170161529968 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1011351892286762} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64058343729723294 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1589051038764814} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64232303718121850 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1508939754494012} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 47d4df8e0a6e85a4c8448ec117ba07df, type: 3} +--- !u!64 &64300953768862422 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1600866081170166} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64417523783703692 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1618907212989342} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64444221075859678 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1969055732295604} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64701236806963866 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1244387259326952} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64765137987964746 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1069540646779908} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64794050700455514 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1460448521894754} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage1.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage1.prefab.meta new file mode 100644 index 00000000..4e590b4b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage1.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b6a68029251c6c54ea270e3724819861 +timeCreated: 1509457904 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage2.prefab b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage2.prefab new file mode 100644 index 00000000..513fbe2f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage2.prefab @@ -0,0 +1,924 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1486996113731544} + m_IsPrefabParent: 1 +--- !u!1 &1217309498475752 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4182384673937506} + - component: {fileID: 33612143785986996} + - component: {fileID: 23338018950217090} + - component: {fileID: 64302232470308388} + m_Layer: 0 + m_Name: ProB_Floor_LWall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1264870103388704 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4803697528107020} + - component: {fileID: 33146065319322112} + - component: {fileID: 23499756440749264} + - component: {fileID: 64363614913133198} + m_Layer: 0 + m_Name: ProB_Floor_LWall_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1281839119718024 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4860963660229980} + - component: {fileID: 33093694892303434} + - component: {fileID: 23844365614794372} + - component: {fileID: 64373050261556808} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1388700005464538 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4301666853609452} + - component: {fileID: 33277503805320654} + - component: {fileID: 23085967056685558} + - component: {fileID: 64658862701764284} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1486996113731544 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4316414389704344} + m_Layer: 0 + m_Name: Stage2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1494945141098542 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4143854178351394} + - component: {fileID: 33706452995194004} + - component: {fileID: 23858667097886194} + - component: {fileID: 64733938530784736} + m_Layer: 0 + m_Name: ProB_Floor_1Wall_10x10 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1585166253455578 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4223700947143948} + - component: {fileID: 33578018410408828} + - component: {fileID: 23445744922409048} + - component: {fileID: 64416799788819070} + m_Layer: 0 + m_Name: ProB_Floor_LWall_10x10 (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1630648462061352 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4591214220306036} + - component: {fileID: 33166305699488290} + - component: {fileID: 135637108148477068} + - component: {fileID: 23385806422467076} + - component: {fileID: 64997677191356096} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1636993102022024 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4704091380636004} + - component: {fileID: 33969989222905746} + - component: {fileID: 23807991642865924} + - component: {fileID: 64844890387380060} + m_Layer: 0 + m_Name: ProB_Floor_LWall_10x10 (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1781314085774452 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4144727850632420} + - component: {fileID: 33245771043883482} + - component: {fileID: 23239463249029736} + - component: {fileID: 64919464070552636} + m_Layer: 0 + m_Name: ProB_Floor_10x10 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1874817658909544 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4027872327583154} + - component: {fileID: 33993398619719978} + - component: {fileID: 23959660851560698} + - component: {fileID: 64543118600621834} + m_Layer: 0 + m_Name: ProB_Floor_10x10_BluePedestal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4027872327583154 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1874817658909544} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4143854178351394 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1494945141098542} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4144727850632420 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1781314085774452} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: -0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 270, z: 0} +--- !u!4 &4182384673937506 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1217309498475752} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4223700947143948 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1585166253455578} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: -0.7071068} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 270, z: 0} +--- !u!4 &4301666853609452 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1388700005464538} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4316414389704344 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1486996113731544} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -60, y: 0, z: 50} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4027872327583154} + - {fileID: 4144727850632420} + - {fileID: 4223700947143948} + - {fileID: 4704091380636004} + - {fileID: 4803697528107020} + - {fileID: 4182384673937506} + - {fileID: 4301666853609452} + - {fileID: 4860963660229980} + - {fileID: 4143854178351394} + - {fileID: 4591214220306036} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4591214220306036 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1630648462061352} + m_LocalRotation: {x: -0, y: -0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 5.0040026, y: 3.523, z: -5.002998} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4704091380636004 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1636993102022024} + m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!4 &4803697528107020 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1264870103388704} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!4 &4860963660229980 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1281839119718024} + m_LocalRotation: {x: -0, y: 0.7071068, z: -0, w: 0.7071068} + m_LocalPosition: {x: 10, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4316414389704344} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!23 &23085967056685558 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1388700005464538} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23239463249029736 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1781314085774452} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23338018950217090 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1217309498475752} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23385806422467076 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1630648462061352} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23445744922409048 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1585166253455578} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23499756440749264 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1264870103388704} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23807991642865924 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1636993102022024} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23844365614794372 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1281839119718024} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23858667097886194 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1494945141098542} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 55296d1b6ee54e14e8eb4648d4b448ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!23 &23959660851560698 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1874817658909544} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 89db8b11e2538314a89bde42040c3c94, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33093694892303434 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1281839119718024} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33146065319322112 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1264870103388704} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33166305699488290 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1630648462061352} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &33245771043883482 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1781314085774452} + m_Mesh: {fileID: 4300000, guid: 47d4df8e0a6e85a4c8448ec117ba07df, type: 3} +--- !u!33 &33277503805320654 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1388700005464538} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33578018410408828 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1585166253455578} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33612143785986996 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1217309498475752} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33706452995194004 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1494945141098542} + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!33 &33969989222905746 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1636993102022024} + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!33 &33993398619719978 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1874817658909544} + m_Mesh: {fileID: 4300000, guid: fb8b35ae430517a4989c461955168bec, type: 3} +--- !u!64 &64302232470308388 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1217309498475752} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64363614913133198 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1264870103388704} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64373050261556808 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1281839119718024} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64416799788819070 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1585166253455578} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64543118600621834 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1874817658909544} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: fb8b35ae430517a4989c461955168bec, type: 3} +--- !u!64 &64658862701764284 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1388700005464538} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64733938530784736 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1494945141098542} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: f4737444c0dcc1a42804e080a539da5f, type: 3} +--- !u!64 &64844890387380060 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1636993102022024} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: b6e2207db377b584bb472dd15da85dd3, type: 3} +--- !u!64 &64919464070552636 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1781314085774452} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 47d4df8e0a6e85a4c8448ec117ba07df, type: 3} +--- !u!64 &64997677191356096 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1630648462061352} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!135 &135637108148477068 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1630648462061352} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage2.prefab.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage2.prefab.meta new file mode 100644 index 00000000..915d6499 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Prefabs/Stage2.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: df69f5ef4222b65458627bdaf63f9039 +timeCreated: 1508438424 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts.meta new file mode 100644 index 00000000..dbf7bd7f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 85179c28112a0a1428025fa69bba545a +folderAsset: yes +timeCreated: 1464971210 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCamOnPlay.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCamOnPlay.cs new file mode 100644 index 00000000..9689e06b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCamOnPlay.cs @@ -0,0 +1,21 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + +[AddComponentMenu("")] // Don't display in add component menu +public class ActivateCamOnPlay : MonoBehaviour +{ + public CinemachineVirtualCameraBase vcam; + + // Use this for initialization + void Start () + { + if (vcam) + { + vcam.MoveToTopOfPrioritySubqueue(); + } + } +} + +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCamOnPlay.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCamOnPlay.cs.meta new file mode 100644 index 00000000..cf86ac39 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCamOnPlay.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 2cfb0b06d5a4af5429ea7f2b67fd8579 +timeCreated: 1509461617 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCameraWithDistance.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCameraWithDistance.cs new file mode 100644 index 00000000..772e52c1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCameraWithDistance.cs @@ -0,0 +1,47 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + +[AddComponentMenu("")] // Don't display in add component menu +public class ActivateCameraWithDistance : MonoBehaviour +{ + public GameObject objectToCheck; + public float distanceToObject = 15f; + public CinemachineVirtualCameraBase initialActiveCam; + public CinemachineVirtualCameraBase switchCameraTo; + + CinemachineBrain brain; + + void Start() + { + brain = Camera.main.GetComponent(); + SwitchCam(initialActiveCam); + } + + // Update is called once per frame + void Update() + { + if (objectToCheck && switchCameraTo) + { + if (Vector3.Distance(transform.position, objectToCheck.transform.position) < distanceToObject) + { + SwitchCam(switchCameraTo); + } + else + { + SwitchCam(initialActiveCam); + } + } + } + + public void SwitchCam(CinemachineVirtualCameraBase vcam) + { + if (brain == null || vcam == null) + return; + if (brain.ActiveVirtualCamera != (ICinemachineCamera)vcam) + vcam.MoveToTopOfPrioritySubqueue(); + } +} + +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCameraWithDistance.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCameraWithDistance.cs.meta new file mode 100644 index 00000000..9288f795 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ActivateCameraWithDistance.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 36562141f3e01c7499f91e66f806814c +timeCreated: 1508854172 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ExampleHelpWindow.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ExampleHelpWindow.cs new file mode 100644 index 00000000..ac9ed6ae --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ExampleHelpWindow.cs @@ -0,0 +1,44 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + +[AddComponentMenu("")] // Don't display in add component menu +public class ExampleHelpWindow : MonoBehaviour +{ + public string m_Title; + [TextArea(minLines: 10, maxLines: 50)] + public string m_Description; + + private bool mShowingHelpWindow = true; + private const float kPadding = 40f; + + private void OnGUI() + { + if (mShowingHelpWindow) + { + Vector2 size = GUI.skin.label.CalcSize(new GUIContent(m_Description)); + Vector2 halfSize = size * 0.5f; + + float maxWidth = Mathf.Min(Screen.width - kPadding, size.x); + float left = Screen.width * 0.5f - maxWidth * 0.5f; + float top = Screen.height * 0.4f - halfSize.y; + + Rect windowRect = new Rect(left, top, maxWidth, size.y); + GUILayout.Window(400, windowRect, (id) => DrawWindow(id, maxWidth), m_Title); + } + } + + private void DrawWindow(int id, float maxWidth) + { + GUILayout.BeginVertical(GUI.skin.box); + GUILayout.Label(m_Description); + GUILayout.EndVertical(); + if (GUILayout.Button("Got it!")) + { + mShowingHelpWindow = false; + } + } +} + +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ExampleHelpWindow.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ExampleHelpWindow.cs.meta new file mode 100644 index 00000000..94869271 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ExampleHelpWindow.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 803b00b1c55094e499a99684ddbd9b57 +timeCreated: 1464971222 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InputSystemHelper.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InputSystemHelper.cs new file mode 100644 index 00000000..7cbbaad0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InputSystemHelper.cs @@ -0,0 +1,23 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + public static class InputSystemHelper + { + static float s_LastMessageTime = -10; + // Logs warning every 5 seconds + public static void EnableBackendsWarningMessage() + { + if (Time.realtimeSinceStartup - s_LastMessageTime > 5) + { + Debug.Log( + "Old input backends are disabled. Cinemachine examples use Unity’s classic input system. " + + "To enable classic input: Edit > Project Settings > Player, " + + "set Active Input Handling to Both!\n" + + "Note: This is probably because the Input System Package has been added to the project. To use " + + "Cinemachine Virtual Cameras with the Input System Package, add CinemachineInputProvider component to them."); + s_LastMessageTime = Time.realtimeSinceStartup; + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InputSystemHelper.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InputSystemHelper.cs.meta new file mode 100644 index 00000000..6edcd814 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InputSystemHelper.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5204e51f84074d79a29384cce2de3747 +timeCreated: 1636397410 \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InvokeEventFromInspector.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InvokeEventFromInspector.cs new file mode 100644 index 00000000..cda56327 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InvokeEventFromInspector.cs @@ -0,0 +1,31 @@ +using UnityEngine; +using UnityEngine.Events; + +#if UNITY_EDITOR +using UnityEditor; +using Cinemachine.Editor; +#endif + +namespace Cinemachine.Examples +{ + public class InvokeEventFromInspector : MonoBehaviour + { + public UnityEvent Event = new UnityEvent(); + public void Invoke() { Event.Invoke(); } + } + + #if UNITY_EDITOR + [CustomEditor(typeof(InvokeEventFromInspector))] + public class GenerateEventEditor : BaseEditor + { + public override void OnInspectorGUI() + { + BeginInspector(); + Rect rect = EditorGUILayout.GetControlRect(true); + if (GUI.Button(rect, "Invoke", "Button")) + Target.Invoke(); + DrawRemainingPropertiesInInspector(); + } + } + #endif +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InvokeEventFromInspector.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InvokeEventFromInspector.cs.meta new file mode 100644 index 00000000..b74a8e65 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/InvokeEventFromInspector.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 38ed7ef6fdf27884498af1842cbb6799 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/MixingCameraBlend.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/MixingCameraBlend.cs new file mode 100644 index 00000000..de7041b0 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/MixingCameraBlend.cs @@ -0,0 +1,48 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + +[AddComponentMenu("")] // Don't display in add component menu +public class MixingCameraBlend : MonoBehaviour +{ + public enum AxisEnum {X,Z,XZ}; + + public Transform followTarget; + public float initialBottomWeight = 20f; + public AxisEnum axisToTrack; + + private CinemachineMixingCamera vcam; + + void Start() + { + if (followTarget) + { + vcam = GetComponent(); + vcam.m_Weight0 = initialBottomWeight; + } + } + + void Update() + { + if (followTarget) + { + switch (axisToTrack) + { + case (AxisEnum.X): + vcam.m_Weight1 = Mathf.Abs(followTarget.transform.position.x); + break; + case (AxisEnum.Z): + vcam.m_Weight1 = Mathf.Abs(followTarget.transform.position.z); + break; + case (AxisEnum.XZ): + vcam.m_Weight1 = + Mathf.Abs(Mathf.Abs(followTarget.transform.position.x) + + Mathf.Abs(followTarget.transform.position.z)); + break; + } + } + } +} + +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/MixingCameraBlend.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/MixingCameraBlend.cs.meta new file mode 100644 index 00000000..8bdeab36 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/MixingCameraBlend.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 23645a9e62f352c4aa1ddb8e55df7c3b +timeCreated: 1505843643 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMove.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMove.cs new file mode 100644 index 00000000..b4dfeda2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMove.cs @@ -0,0 +1,120 @@ +using System; +using Cinemachine.Utility; +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class PlayerMove : MonoBehaviour + { + public float Speed; + public float VelocityDamping; + public float JumpTime; + + public enum ForwardMode + { + Camera, + Player, + World + }; + + public ForwardMode InputForward; + + public bool RotatePlayer = true; + + public Action SpaceAction; + public Action EnterAction; + + Vector3 m_currentVleocity; + float m_currentJumpSpeed; + float m_restY; + + private void Reset() + { + Speed = 5; + InputForward = ForwardMode.Camera; + RotatePlayer = true; + VelocityDamping = 0.5f; + m_currentVleocity = Vector3.zero; + JumpTime = 1; + m_currentJumpSpeed = 0; + } + + private void OnEnable() + { + m_currentJumpSpeed = 0; + m_restY = transform.position.y; + SpaceAction -= Jump; + SpaceAction += Jump; + } + + void Update() + { +#if ENABLE_LEGACY_INPUT_MANAGER + Vector3 fwd; + switch (InputForward) + { + case ForwardMode.Camera: + fwd = Camera.main.transform.forward; + break; + case ForwardMode.Player: + fwd = transform.forward; + break; + case ForwardMode.World: + default: + fwd = Vector3.forward; + break; + } + + fwd.y = 0; + fwd = fwd.normalized; + if (fwd.sqrMagnitude < 0.01f) + return; + + Quaternion inputFrame = Quaternion.LookRotation(fwd, Vector3.up); + Vector3 input = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); + input = inputFrame * input; + + var dt = Time.deltaTime; + var desiredVelocity = input * Speed; + var deltaVel = desiredVelocity - m_currentVleocity; + m_currentVleocity += Damper.Damp(deltaVel, VelocityDamping, dt); + + transform.position += m_currentVleocity * dt; + if (RotatePlayer && m_currentVleocity.sqrMagnitude > 0.01f) + { + var qA = transform.rotation; + var qB = Quaternion.LookRotation( + (InputForward == ForwardMode.Player && Vector3.Dot(fwd, m_currentVleocity) < 0) + ? -m_currentVleocity + : m_currentVleocity); + transform.rotation = Quaternion.Slerp(qA, qB, Damper.Damp(1, VelocityDamping, dt)); + } + + // Process jump + if (m_currentJumpSpeed != 0) + m_currentJumpSpeed -= 10 * dt; + var p = transform.position; + p.y += m_currentJumpSpeed * dt; + if (p.y < m_restY) + { + p.y = m_restY; + m_currentJumpSpeed = 0; + } + + transform.position = p; + + if (Input.GetKeyDown(KeyCode.Space) && SpaceAction != null) + SpaceAction(); + if (Input.GetKeyDown(KeyCode.Return) && EnterAction != null) + EnterAction(); +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } + + public void Jump() + { + m_currentJumpSpeed += 10 * JumpTime * 0.5f; + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMove.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMove.cs.meta new file mode 100644 index 00000000..fd920b1b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMove.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fa14cc4c274b78b4c820064214bdbb60 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMoveOnSphere.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMoveOnSphere.cs new file mode 100644 index 00000000..85c5a2a2 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMoveOnSphere.cs @@ -0,0 +1,48 @@ +using Cinemachine.Utility; +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class PlayerMoveOnSphere : MonoBehaviour + { + public SphereCollider Sphere; + + public float speed = 5; + public bool rotatePlayer = true; + public float rotationDamping = 0.5f; + + // Update is called once per frame + void Update() + { +#if ENABLE_LEGACY_INPUT_MANAGER + Vector3 input = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); + if (input.magnitude > 0) + { + input = Camera.main.transform.rotation * input; + if (input.magnitude > 0.001f) + { + transform.position += input * (speed * Time.deltaTime); + if (rotatePlayer) + { + float t = Cinemachine.Utility.Damper.Damp(1, rotationDamping, Time.deltaTime); + Quaternion newRotation = Quaternion.LookRotation(input.normalized, transform.up); + transform.rotation = Quaternion.Slerp(transform.rotation, newRotation, t); + } + } + } + + // Stick to sphere surface + if (Sphere != null) + { + var up = transform.position - Sphere.transform.position; + up = up.normalized; + var fwd = transform.forward.ProjectOntoPlane(up); + transform.position = Sphere.transform.position + up * (Sphere.radius + transform.localScale.y / 2); + transform.rotation = Quaternion.LookRotation(fwd, up); + } +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMoveOnSphere.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMoveOnSphere.cs.meta new file mode 100644 index 00000000..af5ed141 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMoveOnSphere.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 85b757e40164bd3408008c7df6b949d5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMovePhysics.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMovePhysics.cs new file mode 100644 index 00000000..0ba26271 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMovePhysics.cs @@ -0,0 +1,63 @@ +using System; +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class PlayerMovePhysics : MonoBehaviour + { + public float speed = 5; + public bool worldDirection = true; + public bool rotatePlayer = true; + + public Action spaceAction; + public Action enterAction; + + Rigidbody rb; + + void Start() + { + rb = GetComponent(); + } + + private void OnEnable() + { + transform.position += new Vector3(10, 0, 0); + } + + void FixedUpdate() + { +#if ENABLE_LEGACY_INPUT_MANAGER + Vector3 input = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); + + //input = Vector3.forward; + if (input.magnitude > 0) + { + Vector3 fwd = worldDirection + ? Vector3.forward + : transform.position - Camera.main.transform.position; + fwd.y = 0; + fwd = fwd.normalized; + if (fwd.magnitude > 0.001f) + { + Quaternion inputFrame = Quaternion.LookRotation(fwd, Vector3.up); + input = inputFrame * input; + if (input.magnitude > 0.001f) + { + rb.AddForce(speed * input); + if (rotatePlayer) + transform.rotation = Quaternion.LookRotation(input.normalized, Vector3.up); + } + } + } + + if (Input.GetKeyDown(KeyCode.Space) && spaceAction != null) + spaceAction(); + if (Input.GetKeyDown(KeyCode.Return) && enterAction != null) + enterAction(); + +#else + InputSystemHelper.EnableBackendsWarningMessage(); +#endif + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMovePhysics.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMovePhysics.cs.meta new file mode 100644 index 00000000..ac040665 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/PlayerMovePhysics.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 73e68a7cb19ab0142b14f1d5b83e3bf0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SimpleElevator.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SimpleElevator.cs new file mode 100644 index 00000000..00cf6231 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SimpleElevator.cs @@ -0,0 +1,32 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + /// + /// Moves transform between minY and maxY with the specified speed. + /// + public class SimpleElevator : MonoBehaviour + { + public float minY, maxY; + public float speed; + public bool on; + + float m_Direction = 1; + + void FixedUpdate() + { + if (transform.position.y < minY) + { + m_Direction = 1f; + } + + if (transform.position.y > maxY) + { + m_Direction = -1f; + } + + var dir = new Vector3(0, m_Direction * speed * Time.fixedDeltaTime, 0); + transform.position += dir; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SimpleElevator.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SimpleElevator.cs.meta new file mode 100644 index 00000000..a4dbbb1d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SimpleElevator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fde54f5cdf0dd46bbadfe8535c25f217 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SpawnInCircle.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SpawnInCircle.cs new file mode 100644 index 00000000..84fb8a90 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SpawnInCircle.cs @@ -0,0 +1,30 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + public class SpawnInCircle : MonoBehaviour + { + public GameObject Prefab; + public float Radius = 1000; + public float Amount = 10000; + public bool DoIt; + + void Update() + { + if (DoIt && Prefab != null) + { + var rootPos = transform.position; + var rot = transform.rotation; + for (int i = 0; i < Amount; ++i) + { + var a = Random.Range(0, 360); + var pos = new Vector3(Mathf.Cos(a), 0, Mathf.Sin(a)); + pos = rootPos + pos * Mathf.Sqrt(Random.Range(0.0f, 1.0f)) * Radius; + Instantiate(Prefab, pos, rot, transform.parent); + } + } + + DoIt = false; + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SpawnInCircle.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SpawnInCircle.cs.meta new file mode 100644 index 00000000..c46a0abb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/SpawnInCircle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7e25d65cce934ce44a5f01658c52ee8b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ThirdPersonFollowDistanceModifier.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ThirdPersonFollowDistanceModifier.cs new file mode 100644 index 00000000..70b6c434 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ThirdPersonFollowDistanceModifier.cs @@ -0,0 +1,68 @@ +using UnityEngine; + +namespace Cinemachine.Examples +{ + /// + /// This is an add-on for Cinemachine virtual cameras containing the ThirdPersonFollow component. + /// It modifies the camera distance as a function of vertical angle. + /// + [SaveDuringPlay] + public class ThirdPersonFollowDistanceModifier : MonoBehaviour + { + [Tooltip("Camera angle that corresponds to the start of the distance graph")] + public float MinAngle; + + [Tooltip("Camera angle that corresponds to the end of the distance graph")] + public float MaxAngle; + + [Tooltip("Defines how the camera distance scales as a function of vertical camera angle. " + + "X axis of graph go from 0 to 1, Y axis is the multiplier that will be " + + "applied to the base distance.")] + public AnimationCurve DistanceScale; + + Cinemachine3rdPersonFollow TpsFollow; + Transform FollowTarget; + float BaseDistance; + + void Reset() + { + MinAngle = -90; + MaxAngle = 90; + DistanceScale = AnimationCurve.EaseInOut(0, 0.5f, 1, 2); + } + + void OnEnable() + { + var vcam = GetComponentInChildren(); + if (vcam != null) + { + TpsFollow = vcam.GetCinemachineComponent(); + FollowTarget = vcam.Follow; + } + + // Store the base camera distance, for consistent scaling + if (TpsFollow != null) + BaseDistance = TpsFollow.CameraDistance; + } + + void OnDisable() + { + // Restore the TPS base camera distance + if (TpsFollow != null) + TpsFollow.CameraDistance = BaseDistance; + } + + void Update() + { + // Scale the TPS camera distance + if (TpsFollow != null && FollowTarget != null) + { + var xRot = FollowTarget.rotation.eulerAngles.x; + if (xRot > 180) + xRot -= 360; + var t = (xRot - MinAngle) / (MaxAngle - MinAngle); + TpsFollow.CameraDistance = BaseDistance * DistanceScale.Evaluate(t); + } + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ThirdPersonFollowDistanceModifier.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ThirdPersonFollowDistanceModifier.cs.meta new file mode 100644 index 00000000..b2783ab6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Scripts/ThirdPersonFollowDistanceModifier.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 546027855273aed40809fd72c01c960a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures.meta new file mode 100644 index 00000000..a43556ec --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 28716b6ac10d39e4b92fd00f2db082cd +folderAsset: yes +timeCreated: 1455750634 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Default.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Default.png new file mode 100644 index 00000000..0061dfbc Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Default.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Default.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Default.png.meta new file mode 100644 index 00000000..ec281db6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Default.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 9470468fda72f4773a90a0306decbf0f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.png new file mode 100644 index 00000000..fc3acda0 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.png.meta new file mode 100644 index 00000000..7cef2f79 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.png.meta @@ -0,0 +1,76 @@ +fileFormatVersion: 2 +guid: a14ac3ec63e90e7419f00be590aed374 +timeCreated: 1510688265 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.tga b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.tga new file mode 100644 index 00000000..349255c1 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.tga differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.tga.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.tga.meta new file mode 100644 index 00000000..963167a6 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_Trigger.tga.meta @@ -0,0 +1,76 @@ +fileFormatVersion: 2 +guid: 1ba5e9ac4a1333240aade937f08bbcff +timeCreated: 1510157683 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_blue.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_blue.png new file mode 100644 index 00000000..47ba3a13 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_blue.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_blue.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_blue.png.meta new file mode 100644 index 00000000..101de4aa --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/GridBox_blue.png.meta @@ -0,0 +1,77 @@ +fileFormatVersion: 2 +guid: f63eea91ff30e6d48800caa1ebc457ef +timeCreated: 1505915870 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/checkerboard.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/checkerboard.png new file mode 100644 index 00000000..5624dfb2 Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/checkerboard.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/checkerboard.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/checkerboard.png.meta new file mode 100644 index 00000000..7dc0ec0c --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/checkerboard.png.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: 0b343b179d2251243a8bbed3fe8e2773 +timeCreated: 1455750634 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/crosshair.png b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/crosshair.png new file mode 100644 index 00000000..2b2078ac Binary files /dev/null and b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/crosshair.png differ diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/crosshair.png.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/crosshair.png.meta new file mode 100644 index 00000000..b8ed6833 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Samples~/Cinemachine Example Scenes/Shared/Textures/crosshair.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 1a1da36a104725048b8d2388fb8d321d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests.meta new file mode 100644 index 00000000..e50b2172 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 659db61207ebdb743af6e32de8d4c799 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor.meta new file mode 100644 index 00000000..411e2f8a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e777018b430d974e998e37835f8da69 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/AxisStateTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/AxisStateTests.cs new file mode 100644 index 00000000..de6c699e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/AxisStateTests.cs @@ -0,0 +1,86 @@ +using System.Collections; +using NUnit.Framework; +using Cinemachine; +using UnityEngine; + +namespace Tests.Editor +{ + public class AxisStateTests + { + struct TestAxisProvider : AxisState.IInputAxisProvider + { + public float value; + + public TestAxisProvider(float value) + { + this.value = value; + } + + public float GetAxisValue(int axis) + { + return value; + } + } + + static IEnumerable AxisStateTestCases + { + get + { + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, false, 0.1f).Returns(1.0f); + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, false, 0.5f).Returns(5.0f); + yield return new TestCaseData(-100f, 100f, false, 1f, 0.5f, 0.5f, false, 1.0f).Returns(1.0f); + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, false, 100.0f).Returns(10.0f); + yield return new TestCaseData(-13f, 5f, false, 10f, 0.5f, 0.5f, false, 100.0f).Returns(5.0f); + yield return new TestCaseData(-13f, 5f, true, 10f, 0.5f, 0.5f, false, 100.0f).Returns(-12.0f); + + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, true, 0.1f).Returns(-1.0f); + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, true, 0.5f).Returns(-5.0f); + yield return new TestCaseData(-100f, 100f, false, 1f, 0.5f, 0.5f, true, 1.0f).Returns(-1.0f); + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, true, 100.0f).Returns(-10.0f); + yield return new TestCaseData(-13f, 5f, false, 10f, 0.5f, 0.5f, true, 100.0f).Returns(-13.0f); + yield return new TestCaseData(-13f, 5f, true, 10f, 0.5f, 0.5f, true, 100.0f).Returns(4.0f); + } + } + + [Test, TestCaseSource(nameof(AxisStateTestCases))] + public float TestAxisState(float minValue, float maxValue, bool wrap, + float maxSpeed, float accelTime, float decelTime, + bool invert, float axisValue) + { + var axisState = new AxisState(minValue, maxValue, wrap, false, maxSpeed, accelTime, decelTime, null, invert); + axisState.SetInputAxisProvider(0, new TestAxisProvider(axisValue)); + axisState.Validate(); + + var success = axisState.Update(1.0f); + Assert.IsTrue(success, "Update had no effect"); + + return axisState.Value; + } + + static IEnumerable RecenteringTestCases + { + get + { + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, false, 0.1f, true, 0.01f, 0.0f); + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, false, 0.1f, true, 5f, 0.180375189f); + + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, false, 0.1f, false, 0.01f, 1.0f); + yield return new TestCaseData(-100f, 100f, false, 10f, 0.5f, 0.5f, false, 0.1f, false, 5f, 1.0f); + + } + } + + [Test, TestCaseSource(nameof(RecenteringTestCases))] + public void TestRecentering(float minValue, float maxValue, bool wrap, + float maxSpeed, float accelTime, float decelTime, bool invert, float axisValue, + bool enabled, float recenteringTime, float expectedValue) + { + var axisState = new AxisState(minValue, maxValue, wrap, false, maxSpeed, accelTime, decelTime, null, invert); + axisState.SetInputAxisProvider(0, new TestAxisProvider(axisValue)); + axisState.Validate(); + + var success = axisState.Update(1.0f); + Assert.IsTrue(success, "Update had no effect"); + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/AxisStateTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/AxisStateTests.cs.meta new file mode 100644 index 00000000..b91616ec --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/AxisStateTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: db5edec2468b14d10a01db48c2937431 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/Cinemachine.Editor.Tests.asmdef b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/Cinemachine.Editor.Tests.asmdef new file mode 100644 index 00000000..0f030ee5 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/Cinemachine.Editor.Tests.asmdef @@ -0,0 +1,19 @@ +{ + "name": "Cinemachine.Editor.Tests", + "references": [ + "Cinemachine", + "com.unity.cinemachine.editor" + ], + "optionalUnityReferences": [ + "TestAssemblies" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [] +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/Cinemachine.Editor.Tests.asmdef.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/Cinemachine.Editor.Tests.asmdef.meta new file mode 100644 index 00000000..d2556a62 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/Cinemachine.Editor.Tests.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d5ada0dcd11a06049936072bb3b3ed73 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/DampingTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/DampingTests.cs new file mode 100644 index 00000000..21d41b19 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/DampingTests.cs @@ -0,0 +1,38 @@ +using NUnit.Framework; + +namespace Tests.Editor +{ + [TestFixture] + public class DampingTests + { + [Test] + public void DampFloat() + { + const float dampTime = 10f; + const float initial = 100f; + float[] fixedFactor = new float[3] {0.79f, 0f, 1.07f}; + for (int f = 0; f < fixedFactor.Length; ++f) + { + float t = 0; + float r = Cinemachine.Utility.Damper.Damp(initial, dampTime, t); + Assert.That(r, Is.EqualTo(0f)); + Assert.That(r, Is.LessThan(initial)); + const int iterations = 10; + for (int i = 0; i < iterations; ++i) + { + t += dampTime / iterations; + float fdt = fixedFactor[f] * t; + string msg = $"i = {i}, t = {t}, fdt = {fdt}"; + if (i != iterations - 1) + Assert.That(t, Is.LessThan(dampTime), msg); + else + t = dampTime; + float r2 = Cinemachine.Utility.Damper.Damp(initial, dampTime, t); + Assert.That(r, Is.LessThan(r2), msg); + r = r2; + } + //Assert.AreEqual(initial * (1 - MathHelpers.kNegligibleResidual), r, "f = " + f); + } + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/DampingTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/DampingTests.cs.meta new file mode 100644 index 00000000..d498ca7f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/DampingTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5f3c3863a56212143af61f92a3644bb0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/ScriptableObjectUtilityTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/ScriptableObjectUtilityTests.cs new file mode 100644 index 00000000..dc6299a7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/ScriptableObjectUtilityTests.cs @@ -0,0 +1,25 @@ +using NUnit.Framework; +using Cinemachine.Editor; +using System.IO; + +namespace Tests.Editor +{ + [TestFixture] + public class ScriptableObjectUtilityTests + { + [Test] + public void CinemachineInstallPathIsValid() + { + var pathToCmLogo = Path.Combine(ScriptableObjectUtility.CinemachineInstallPath, "Editor/EditorResources/cm_logo_sm.png"); + Assert.That(File.Exists(pathToCmLogo)); + } + + [Test] + public void CinemachineInstallRelativePathIsValid() + { + var relativePathToCmLogo = Path.Combine(ScriptableObjectUtility.CinemachineRealativeInstallPath, "Editor/EditorResources/cm_logo_sm.png"); + var pathToCmLogo = Path.GetFullPath(relativePathToCmLogo); + Assert.That(File.Exists(pathToCmLogo)); + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/ScriptableObjectUtilityTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/ScriptableObjectUtilityTests.cs.meta new file mode 100644 index 00000000..6e72a982 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/ScriptableObjectUtilityTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ab4b083fcd6654652a9b8d3378e6e1b6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/UnityVectorExtensionTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/UnityVectorExtensionTests.cs new file mode 100644 index 00000000..47540d81 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/UnityVectorExtensionTests.cs @@ -0,0 +1,123 @@ +using System.Collections; +using System.Runtime.Serialization.Json; +using UnityEngine; +using NUnit.Framework; +using Cinemachine.Utility; +using UnityEditor; +using UnityEngine.TestTools.Utils; + +//using Assert = UnityEngine.Assertions.Assert; + +namespace Tests.Editor +{ + public class UnityVectorExtensionTests + { + public enum IntersectionResult + { + Zero, + Infinity, + l1_p1, + l1_p2, + l2_p1, + l2_p2 + } + + private static object[] IntersectionTestCases = + { + // l1_p1, l1_p2, l2_p1, l2_p2, expectedIntersectionType, expectedIntersectionResult + new object[] {new Vector2(0, 1), new Vector2(0, -1), new Vector2(-1, 0), new Vector2(1, 0), 2, IntersectionResult.Zero}, + new object[] {new Vector2(0, 1), new Vector2(0, 0), new Vector2(-1, 0), new Vector2(1, 0), 2, IntersectionResult.Zero}, + new object[] {new Vector2(0, 2), new Vector2(0, 1), new Vector2(-1, 0), new Vector2(1, 0), 1, IntersectionResult.Zero}, + new object[] {new Vector2(0, 2), new Vector2(0, 1), new Vector2(1, 2), new Vector2(1, 1), 0, IntersectionResult.Infinity}, + new object[] {new Vector2(1, 2), new Vector2(1, 1), new Vector2(1, -2), new Vector2(1, -1), 3, IntersectionResult.Infinity}, + new object[] {new Vector2(1, 2), new Vector2(1, -2), new Vector2(1, 3), new Vector2(1, 1), 4, IntersectionResult.Infinity}, + new object[] {new Vector2(1, 2), new Vector2(1, -2), new Vector2(1, 2), new Vector2(1, -2), 4, IntersectionResult.Infinity}, + new object[] {new Vector2(1, 2), new Vector2(1, -2), new Vector2(1, -2), new Vector2(1, 2), 4, IntersectionResult.Infinity}, + new object[] {new Vector2(0, 1), new Vector2(0, 1), new Vector2(1, 0), new Vector2(1, 0), 4, IntersectionResult.Infinity}, + new object[] {new Vector2(0, 0), new Vector2(2, 0), new Vector2(0, 1), new Vector2(1, 0), 2, IntersectionResult.l2_p2}, + new object[] {new Vector2(0, 0), new Vector2(2, 0), new Vector2(1, 0), new Vector2(0, 1), 2, IntersectionResult.l2_p1}, + // Parallel segments touching at one point + new object[] {new Vector2(0, 3), new Vector2(0, 5), new Vector2(0, 5), new Vector2(0, 9), 4, IntersectionResult.l2_p1}, + new object[] {new Vector2(0, 5), new Vector2(0, 3), new Vector2(0, 5), new Vector2(0, 9), 4, IntersectionResult.l2_p1}, + new object[] {new Vector2(0, 3), new Vector2(0, 5), new Vector2(0, 9), new Vector2(0, 5), 4, IntersectionResult.l2_p2}, + new object[] {new Vector2(0, 5), new Vector2(0, 3), new Vector2(0, 9), new Vector2(0, 5), 4, IntersectionResult.l2_p2} + }; + + [Test, TestCaseSource(nameof(IntersectionTestCases))] + public void FindIntersectionTest(Vector2 l1_p1, Vector2 l1_p2, Vector2 l2_p1, Vector2 l2_p2, + int expectedIntersectionType, IntersectionResult expectedIntersectionResult) + { + int intersectionType = UnityVectorExtensions.FindIntersection(l1_p1, l1_p2, l2_p1, l2_p2, + out Vector2 intersection); + Assert.That(intersectionType, Is.EqualTo(expectedIntersectionType)); + switch (expectedIntersectionResult) + { + case IntersectionResult.Zero: + Assert.That(intersection, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); + break; + case IntersectionResult.Infinity: + Assert.That(float.IsInfinity(intersection.x), Is.True); + Assert.That(float.IsInfinity(intersection.y), Is.True); + break; + case IntersectionResult.l1_p1: + Assert.That(intersection, Is.EqualTo(l1_p1).Using(Vector2EqualityComparer.Instance)); + break; + case IntersectionResult.l1_p2: + Assert.That(intersection, Is.EqualTo(l1_p2).Using(Vector2EqualityComparer.Instance)); + break; + case IntersectionResult.l2_p1: + Assert.That(intersection, Is.EqualTo(l2_p1).Using(Vector2EqualityComparer.Instance)); + break; + case IntersectionResult.l2_p2: + Assert.That(intersection, Is.EqualTo(l2_p2).Using(Vector2EqualityComparer.Instance)); + break; + } + } + + private static object[] AngleTestCases = + { + new object[] {Vector2.left, 90f, true}, + new object[] {Vector2.right, 90f, true}, + new object[] {new Vector2(-0.0001f, 1f), 0.00572958f, false}, + new object[] {new Vector2(0.0001f, 1f), 0.00572958f, false} + }; + + [Test, TestCaseSource(nameof(AngleTestCases))] + public void TestAngle(Vector2 v2, float expectedAngle, bool compareWithBuiltIn) + { + Vector3 v1 = Vector3.up; + float angle = UnityVectorExtensions.Angle(v1, v2); + Assert.That(angle, Is.EqualTo(expectedAngle).Within(UnityVectorExtensions.Epsilon)); + if (compareWithBuiltIn) + { + float angle2 = Vector2.Angle(v1, v2); + Assert.That(angle2, Is.EqualTo(angle).Within(UnityVectorExtensions.Epsilon)); + } + } + + private static object[] SignedAngleTestCases = + { + new object[] {Vector2.left, 90f, true}, + new object[] {Vector2.right, -90f, true}, + new object[] {new Vector2(-0.0001f, 1f), 0.00572958f, false}, + new object[] {new Vector2(0.0001f, 1f), -0.00572958f, false} + }; + + [Test, TestCaseSource(nameof(SignedAngleTestCases))] + public void TestSignedAngle(Vector2 v2, float expectedAngle, bool compareWithBuiltIn) + { + Vector3 v1 = Vector3.up; + float angle = UnityVectorExtensions.SignedAngle(v1, v2, Vector3.forward); + Assert.That(angle, Is.EqualTo(expectedAngle).Within(UnityVectorExtensions.Epsilon)); + + if (compareWithBuiltIn) + { + float angle2 = Vector2.SignedAngle(v1, v2); + Assert.That(angle2, Is.EqualTo(angle).Within(UnityVectorExtensions.Epsilon)); + } + + float angle3 = UnityVectorExtensions.SignedAngle(v1, v2, Vector3.back); + Assert.That(angle3, Is.EqualTo(-angle).Within(UnityVectorExtensions.Epsilon)); + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/UnityVectorExtensionTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/UnityVectorExtensionTests.cs.meta new file mode 100644 index 00000000..7aee552b --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Editor/UnityVectorExtensionTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 731fc2d2b40c248eda217891c849472d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime.meta new file mode 100644 index 00000000..04773a2d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8bc4fc3f7edf4174fa4f4877f6aa4e2f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/BrainTargetOverrideTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/BrainTargetOverrideTests.cs new file mode 100644 index 00000000..19584f19 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/BrainTargetOverrideTests.cs @@ -0,0 +1,135 @@ +using System.Collections; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; +using Cinemachine; + +namespace Tests.Runtime +{ + public class BrainTargetOverrideTests : CinemachineFixtureBase + { + GameObject m_CameraHolderWithBrain, m_CameraHolderWithoutBrain, m_GoWithBrain, m_GoWithoutBrain; + CinemachineVirtualCamera m_Vcam; + GameObject m_FollowObject; + CinemachineBrain m_BrainAlone, m_BrainAlone2; + + [SetUp] + public override void SetUp() + { + m_CameraHolderWithBrain = CreateGameObject("MainCamera 1", typeof(Camera), typeof(CinemachineBrain)); + + m_CameraHolderWithoutBrain = CreateGameObject("MainCamera 2", typeof(Camera)); + m_BrainAlone = CreateGameObject("BrainAlone for MainCamera 2", typeof(CinemachineBrain)).GetComponent(); + m_BrainAlone.ControlledObject = m_CameraHolderWithoutBrain; + + m_GoWithBrain = CreateGameObject("Empty 1", typeof(CinemachineBrain)); + + m_GoWithoutBrain = CreateGameObject("Empty 2"); + m_BrainAlone2 = CreateGameObject("BrainAlone for Empty 2", typeof(CinemachineBrain)).GetComponent(); + m_BrainAlone2.ControlledObject = m_GoWithoutBrain; + + m_Vcam = CreateGameObject("CM Vcam", typeof(CinemachineVirtualCamera)).GetComponent(); + m_Vcam.Priority = 100; + m_FollowObject = CreateGameObject("Follow Object"); + + base.SetUp(); + } + + Vector3 m_Delta = new Vector3(10, 0, 0); + IEnumerator CheckThatBrainsAreControllingTheirTargets() + { + m_FollowObject.transform.position += m_Delta; + yield return null; + AreBrainControlledTransformsTheSame(); + m_FollowObject.transform.position += m_Delta; + yield return null; + AreBrainControlledTransformsTheSame(); + + void AreBrainControlledTransformsTheSame() + { + Assert.That(m_CameraHolderWithBrain.GetComponent().fieldOfView == m_CameraHolderWithoutBrain.GetComponent().fieldOfView, Is.True); + Assert.That(EqualTransforms(m_CameraHolderWithBrain.transform, m_CameraHolderWithoutBrain.transform), Is.True); + Assert.That(EqualTransforms(m_CameraHolderWithBrain.transform, m_GoWithBrain.transform), Is.True); + Assert.That(EqualTransforms(m_CameraHolderWithBrain.transform, m_GoWithoutBrain.transform), Is.True); + + bool EqualTransforms(Transform a, Transform b) => a.position == b.position && a.rotation == b.rotation; + } + } + + IEnumerator CheckDisconnectedBrains() + { + m_BrainAlone.ControlledObject = null; + m_BrainAlone2.ControlledObject = null; + m_FollowObject.transform.position += m_Delta; + yield return null; + var position = m_CameraHolderWithBrain.transform.position; + Assert.That(position == m_CameraHolderWithoutBrain.transform.position, Is.False); + Assert.That(position == m_GoWithoutBrain.transform.position, Is.False); + } + + [UnityTest] + public IEnumerator DoNothing() + { + m_Vcam.m_Lens.FieldOfView = 50; + yield return CheckThatBrainsAreControllingTheirTargets(); + } + + [UnityTest] + public IEnumerator ThirdPerson() + { + m_Vcam.AddCinemachineComponent(); + m_Vcam.m_Lens.FieldOfView = 50; + m_Vcam.Follow = m_FollowObject.transform; + yield return CheckThatBrainsAreControllingTheirTargets(); + yield return CheckDisconnectedBrains(); + } + + [UnityTest] + public IEnumerator FramingTransposer() + { + var component = m_Vcam.AddCinemachineComponent(); + component.m_XDamping = 0; + component.m_YDamping = 0; + component.m_ZDamping = 0; + component.m_CameraDistance = 1f; + m_Vcam.Follow = m_FollowObject.transform; + yield return CheckThatBrainsAreControllingTheirTargets(); + yield return CheckDisconnectedBrains(); + } + + [UnityTest] + public IEnumerator HardLockToTarget() + { + m_Vcam.AddCinemachineComponent(); + m_Vcam.Follow = m_FollowObject.transform; + yield return CheckThatBrainsAreControllingTheirTargets(); + yield return CheckDisconnectedBrains(); + } + + [UnityTest] + public IEnumerator OrbTransposer() + { + var component = m_Vcam.AddCinemachineComponent(); + component.m_XDamping = 0; + component.m_YDamping = 0; + component.m_ZDamping = 0; + component.m_FollowOffset = new Vector3(0, 0, 0); + m_Vcam.Follow = m_FollowObject.transform; + yield return CheckThatBrainsAreControllingTheirTargets(); + yield return CheckDisconnectedBrains(); + } + + [UnityTest] + public IEnumerator Transposer() + { + var component = m_Vcam.AddCinemachineComponent(); + component.m_XDamping = 0; + component.m_YDamping = 0; + component.m_ZDamping = 0; + component.m_FollowOffset = new Vector3(0, 0, 0); + m_Vcam.Follow = m_FollowObject.transform; + yield return CheckThatBrainsAreControllingTheirTargets(); + yield return CheckDisconnectedBrains(); + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/BrainTargetOverrideTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/BrainTargetOverrideTests.cs.meta new file mode 100644 index 00000000..ad3facb7 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/BrainTargetOverrideTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 05a0e141febe431a9d24a358a0a4d929 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CameraPositionTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CameraPositionTests.cs new file mode 100644 index 00000000..f8d23c26 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CameraPositionTests.cs @@ -0,0 +1,109 @@ +using System.Collections; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; +using Cinemachine; +using UnityEngine.TestTools.Utils; + +namespace Tests.Runtime +{ + public class CameraPositionTests : CinemachineFixtureBase + { + CinemachineVirtualCamera m_Vcam; + GameObject m_FollowObject; + + [SetUp] + public override void SetUp() + { + CreateGameObject("MainCamera", typeof(Camera), typeof(CinemachineBrain)); + m_Vcam = CreateGameObject("CM Vcam", typeof(CinemachineVirtualCamera)).GetComponent(); + m_Vcam.Priority = 100; + m_FollowObject = CreateGameObject("Follow Object"); + + base.SetUp(); + } + + [UnityTest] + public IEnumerator DoNothing() + { + m_Vcam.Follow = m_FollowObject.transform; + var oldPos = m_Vcam.transform.position; + m_FollowObject.transform.position += new Vector3(2, 2, 2); + yield return null; + Assert.That(m_Vcam.State.FinalPosition, Is.EqualTo(oldPos).Using(Vector3EqualityComparer.Instance)); + } + + [UnityTest] + public IEnumerator ThirdPerson() + { + m_Vcam.AddCinemachineComponent(); + m_Vcam.Follow = m_FollowObject.transform; + m_FollowObject.transform.position += new Vector3(10, 0, 0); + yield return null; + Assert.That(m_Vcam.State.FinalPosition, Is.EqualTo(m_FollowObject.transform.position).Using(Vector3EqualityComparer.Instance)); + } + + [UnityTest] + public IEnumerator FramingTransposer() + { + var component = m_Vcam.AddCinemachineComponent(); + component.m_XDamping = 0; + component.m_YDamping = 0; + component.m_ZDamping = 0; + component.m_CameraDistance = 1f; + m_Vcam.Follow = m_FollowObject.transform; + m_FollowObject.transform.position += new Vector3(10, 0, 0); + yield return null; + Assert.That(m_Vcam.State.FinalPosition, Is.EqualTo(new Vector3(10, 0, -component.m_CameraDistance)).Using(Vector3EqualityComparer.Instance)); + } + + [UnityTest] + public IEnumerator HardLockToTarget() + { + m_Vcam.AddCinemachineComponent(); + m_Vcam.Follow = m_FollowObject.transform; + m_FollowObject.transform.position += new Vector3(10, 0, 0); + yield return null; + Assert.That(m_Vcam.State.FinalPosition, Is.EqualTo(m_FollowObject.transform.position).Using(Vector3EqualityComparer.Instance)); + } + + [UnityTest] + public IEnumerator OrbTransposer() + { + var component = m_Vcam.AddCinemachineComponent(); + component.m_XDamping = 0; + component.m_YDamping = 0; + component.m_ZDamping = 0; + component.m_FollowOffset = new Vector3(0, 0, 0); + m_Vcam.Follow = m_FollowObject.transform; + m_FollowObject.transform.position += new Vector3(10, 0, 0); + yield return null; + Assert.That(m_Vcam.State.FinalPosition, Is.EqualTo(m_FollowObject.transform.position).Using(Vector3EqualityComparer.Instance)); + } + + [UnityTest] + public IEnumerator TrackedDolly() + { + m_Vcam.AddCinemachineComponent(); + m_Vcam.Follow = m_FollowObject.transform; + var oldPos = m_Vcam.transform.position; + m_FollowObject.transform.position += new Vector3(2, 2, 2); + yield return null; + Assert.That(m_Vcam.State.FinalPosition, Is.EqualTo(oldPos).Using(Vector3EqualityComparer.Instance)); + } + + [UnityTest] + public IEnumerator Transposer() + { + var component = m_Vcam.AddCinemachineComponent(); + component.m_XDamping = 0; + component.m_YDamping = 0; + component.m_ZDamping = 0; + component.m_FollowOffset = new Vector3(0, 0, 0); + m_Vcam.Follow = m_FollowObject.transform; + m_FollowObject.transform.position += new Vector3(10, 0, 0); + yield return null; + Assert.That(m_Vcam.State.FinalPosition, Is.EqualTo(m_FollowObject.transform.position).Using(Vector3EqualityComparer.Instance)); + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CameraPositionTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CameraPositionTests.cs.meta new file mode 100644 index 00000000..8c8eb496 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CameraPositionTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e4a187608e05245eabbd161398c3d6fe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CamerasBlendingTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CamerasBlendingTests.cs new file mode 100644 index 00000000..3b9bd49d --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CamerasBlendingTests.cs @@ -0,0 +1,260 @@ +using System.Collections; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; +using Cinemachine; + +namespace Tests.Runtime +{ + [TestFixture] + public class CamerasBlendingTests : CinemachineFixtureBase + { + const float k_BlendingTime = 1; + + CinemachineBrain m_Brain; + CinemachineVirtualCameraBase m_Source, m_Target; + + [SetUp] + public override void SetUp() + { + // Camera + var cameraHolder = CreateGameObject("MainCamera", typeof(Camera), typeof(CinemachineBrain)); + m_Brain = cameraHolder.GetComponent(); + + // Blending + m_Brain.m_DefaultBlend = new CinemachineBlendDefinition( + CinemachineBlendDefinition.Style.Linear, + k_BlendingTime); + + m_Source = CreateGameObject("A", typeof(CinemachineVirtualCamera)).GetComponent(); + m_Target = CreateGameObject("B", typeof(CinemachineVirtualCamera)).GetComponent(); + + m_Source.Priority = 10; + m_Target.Priority = 15; + m_Source.enabled = true; + m_Target.enabled = false; + m_Source.transform.position = Vector3.zero; + m_Target.transform.position = new Vector3(10, 0, 0); + + base.SetUp(); + + m_Brain.m_UpdateMethod = CinemachineBrain.UpdateMethod.ManualUpdate; + } + + [UnityTest, ConditionalIgnore("IgnoreHDRPInstability", "This test is unstable on HDRP")] + public IEnumerator BlendFromSourceToTarget() + { + // Check that source vcam is active + m_Brain.ManualUpdate(); + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Source)); + yield return null; + + // Active target and blend from source to target completely + m_Target.enabled = true; + var timeElapsed = 0f; + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + while (timeElapsed < k_BlendingTime) + { + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Target)); + Assert.That(m_Brain.IsBlending, Is.True); + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + yield return null; + } + + Assert.That(m_Brain.IsBlending, Is.False); + } + + [UnityTest, ConditionalIgnore("IgnoreHDRPInstability", "This test is unstable on HDRP")] + public IEnumerator BlendBetweenSourceAndTarget() + { + // Check that source vcam is active + m_Brain.ManualUpdate(); + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Source)); + yield return null; + + // Activate Target vcam and blend 50% between source and target + m_Target.enabled = true; + var timeElapsed = 0f; + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + yield return null; + + CinemachineBlend activeBlend; + while (timeElapsed < k_BlendingTime * 0.5f) + { + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Target)); + Assert.That(m_Brain.IsBlending, Is.True); + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + activeBlend = m_Brain.ActiveBlend; + Assert.That(activeBlend, Is.Not.Null); + Assert.That(activeBlend.TimeInBlend, Is.EqualTo(timeElapsed)); + yield return null; + } + + // Blend back to source from 50% between source and target + m_Target.enabled = false; + timeElapsed = 0f; + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + yield return null; + while (timeElapsed < k_BlendingTime * 0.3f) + { + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Source)); + Assert.That(m_Brain.IsBlending, Is.True); + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + + activeBlend = m_Brain.ActiveBlend; + Assert.That(activeBlend, Is.Not.Null); + Assert.That(activeBlend.TimeInBlend, Is.EqualTo(timeElapsed)); + yield return null; + } + + activeBlend = m_Brain.ActiveBlend; + Assert.That(activeBlend, Is.Not.Null); + Assert.That(activeBlend.TimeInBlend, Is.EqualTo(timeElapsed)); + + // wait for blend to finish + var timeToFinish = activeBlend.Duration - activeBlend.TimeInBlend; + timeElapsed = 0f; + while (timeElapsed < timeToFinish) + { + Assert.That(m_Brain.IsBlending, Is.True); + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + yield return null; + } + Assert.That(m_Brain.IsBlending, Is.False); + } + + // [UnityTest, ConditionalIgnore("IgnoreHDRP2020", "Ignored on HDRP Unity 2020.")] + [UnityTest, ConditionalIgnore("IgnoreHDRPInstability", "This test is unstable on HDRP")] + public IEnumerator DoesInterruptedBlendingBetweenCamerasTakesDoubleTime() + { + // Check that source vcam is active + m_Brain.ManualUpdate(); + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Source)); + yield return null; + + // Start blending + m_Target.enabled = true; + var timeElapsed = 0f; + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + yield return null; + + CinemachineBlend activeBlend = null; + // Blend 90% between source and target + while (timeElapsed < k_BlendingTime * 0.9f) + { + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Target)); + Assert.That(m_Brain.IsBlending, Is.True); + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + activeBlend = m_Brain.ActiveBlend; + Assert.That(activeBlend, Is.Not.Null); + Assert.That(activeBlend.TimeInBlend, Is.EqualTo(timeElapsed)); + yield return null; + } + + m_Target.enabled = false; + timeElapsed = 0f; + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + yield return null; + + // Blend 10% backwards + while (timeElapsed < k_BlendingTime * 0.1f) + { + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Source)); + Assert.That(m_Brain.IsBlending, Is.True); + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + activeBlend = m_Brain.ActiveBlend; + Assert.That(activeBlend, Is.Not.Null); + Assert.That(activeBlend.TimeInBlend, Is.EqualTo(timeElapsed)); + yield return null; + } + + m_Target.enabled = true; + timeElapsed = 0f; + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + yield return null; + + // finish blend + while (timeElapsed < k_BlendingTime * 0.2f) + { + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Target)); + Assert.That(m_Brain.IsBlending, Is.True); + m_Brain.ManualUpdate(); + timeElapsed += CinemachineCore.UniformDeltaTimeOverride; + yield return null; + } + Assert.That(m_Brain.IsBlending, Is.False); + } + + [UnityTest, ConditionalIgnore("IgnoreHDRPInstability", "This test is unstable on HDRP")] + public IEnumerator SetActiveBlend() + { + // Check that source vcam is active + m_Brain.ManualUpdate(); + Assert.That(ReferenceEquals(m_Brain.ActiveVirtualCamera, m_Source)); + yield return null; + + // Active target vcam and wait for 5 frames + m_Target.enabled = true; + for (int i = 0; i < 5; ++i) + { + m_Brain.ManualUpdate(); + yield return null; + } + + var blend = m_Brain.ActiveBlend; + Assert.That(blend, Is.Not.Null); + // Save current blend progress + var percentComplete = blend.TimeInBlend / blend.Duration; + + // Step blend back a frame + blend.TimeInBlend -= CinemachineCore.UniformDeltaTimeOverride; + m_Brain.ActiveBlend = blend; + + // Wait a frame and check that blend progress is the same + m_Brain.ManualUpdate(); + yield return null; + blend = m_Brain.ActiveBlend; + Assert.That(percentComplete, Is.EqualTo(blend.TimeInBlend / blend.Duration)); + + // Force the blend to complete + blend.Duration = 0; + m_Brain.ActiveBlend = blend; + + // Wait a frame and check that blend is finished + m_Brain.ManualUpdate(); + yield return null; + Assert.That(m_Brain.ActiveBlend, Is.Null); + + // Disable target, blend back to source, wait 5 frames + m_Target.enabled = false; + for (int i = 0; i < 5; ++i) + { + m_Brain.ManualUpdate(); + yield return null; + } + blend = m_Brain.ActiveBlend; + Assert.That(blend, Is.Not.Null); + Assert.That(percentComplete, Is.EqualTo(blend.TimeInBlend / blend.Duration)); + + // Kill the blend + m_Brain.ActiveBlend = null; + + // Wait a frame and check that blend is finished + m_Brain.ManualUpdate(); + yield return null; + Assert.That(m_Brain.ActiveBlend == null); + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CamerasBlendingTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CamerasBlendingTests.cs.meta new file mode 100644 index 00000000..f3ee3f5e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CamerasBlendingTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6868af9e141204bb492578e43ffb69f1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Cinemachine.Runtime.Tests.asmdef b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Cinemachine.Runtime.Tests.asmdef new file mode 100644 index 00000000..cf644496 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Cinemachine.Runtime.Tests.asmdef @@ -0,0 +1,44 @@ +{ + "name": "Cinemachine.Runtime.Tests", + "rootNamespace": "", + "references": [ + "Cinemachine", + "UnityEngine.TestRunner", + "UnityEditor.TestRunner", + "Unity.RenderPipelines.HighDefinition.Runtime" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": true, + "precompiledReferences": [ + "nunit.framework.dll" + ], + "autoReferenced": false, + "defineConstraints": [ + "UNITY_INCLUDE_TESTS" + ], + "versionDefines": [ + { + "name": "com.unity.modules.physics2d", + "expression": "1.0.0", + "define": "CINEMACHINE_PHYSICS_2D" + }, + { + "name": "com.unity.modules.physics", + "expression": "1.0.0", + "define": "CINEMACHINE_PHYSICS" + }, + { + "name": "com.unity.modules.animation", + "expression": "1.0.0", + "define": "CINEMACHINE_UNITY_ANIMATION" + }, + { + "name": "com.unity.render-pipelines.high-definition-config", + "expression": "0", + "define": "CINEMACHINE_HDRP" + } + ], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Cinemachine.Runtime.Tests.asmdef.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Cinemachine.Runtime.Tests.asmdef.meta new file mode 100644 index 00000000..e51b5853 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Cinemachine.Runtime.Tests.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8ba1cf4afa640804e94ba034367104ab +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CinemachineFixtureBase.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CinemachineFixtureBase.cs new file mode 100644 index 00000000..56592c87 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CinemachineFixtureBase.cs @@ -0,0 +1,60 @@ +using System.Collections; +using System.Collections.Generic; +using Cinemachine; +using NUnit.Framework; +using UnityEngine; + +namespace Tests.Runtime +{ + public class CinemachineFixtureBase + { + readonly List m_GameObjectsToDestroy = new List(); + + internal GameObject CreateGameObject(string name, params System.Type[] components) + { + var go = new GameObject(); + m_GameObjectsToDestroy.Add(go); + go.name = name; + + foreach(var c in components) + if (c.IsSubclassOf(typeof(Component))) + go.AddComponent(c); + + return go; + } + + internal GameObject CreatePrimitive(PrimitiveType type) + { + var go = GameObject.CreatePrimitive(type); + m_GameObjectsToDestroy.Add(go); + + return go; + } + + [SetUp] + public virtual void SetUp() + { + // force a uniform deltaTime, otherwise tests will be unstable + CinemachineCore.UniformDeltaTimeOverride = 0.1f; + // disable delta time compensation for deterministic test results + CinemachineCore.FrameDeltaCompensationEnabled = false; + } + + [TearDown] + public virtual void TearDown() + { + foreach (var go in m_GameObjectsToDestroy) + Object.Destroy(go); + + m_GameObjectsToDestroy.Clear(); + + CinemachineCore.UniformDeltaTimeOverride = -1f; + } + + protected static IEnumerator WaitForOnePhysicsFrame() + { + yield return new WaitForFixedUpdate(); // this is needed to ensure physics system is up-to-date + yield return null; + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CinemachineFixtureBase.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CinemachineFixtureBase.cs.meta new file mode 100644 index 00000000..f78b7f33 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CinemachineFixtureBase.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d55eb8ce57dc4a73a25400be00c73dd9 +timeCreated: 1624656047 \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/ClearShotTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/ClearShotTests.cs new file mode 100644 index 00000000..97323ecd --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/ClearShotTests.cs @@ -0,0 +1,82 @@ +#if CINEMACHINE_PHYSICS +using System.Collections; +using NUnit.Framework; +using UnityEngine; +using Cinemachine; +using NUnit.Framework.Interfaces; +using UnityEngine.TestTools; + +namespace Tests.Runtime +{ + [TestFixture] + public class ClearShotTests : CinemachineFixtureBase + { + private GameObject m_Character; + private CinemachineClearShot m_ClearShot; + private CinemachineVirtualCamera m_Vcam1; + private CinemachineVirtualCamera m_Vcam2; + + [SetUp] + public override void SetUp() + { + // a basic "character" to use as a lookat + m_Character = CreateGameObject("Character"); + m_Character.transform.position = new Vector3(10, 0, 1); + + // main camera + CreateGameObject("Camera", typeof(Camera), typeof(CinemachineBrain)); + + // a ClearShot camera + var clearShotHolder = CreateGameObject("CM ClearShot", typeof(CinemachineClearShot), typeof(CinemachineCollider)); + m_ClearShot = clearShotHolder.GetComponent(); + m_ClearShot.LookAt = m_Character.transform; + var clearShotCollider = clearShotHolder.GetComponent(); + clearShotCollider.m_MinimumDistanceFromTarget = 0.1f; + + // a stationary vcam1 with a hard lookat + var vcam1Holder = CreateGameObject("CM Vcam1", typeof(CinemachineVirtualCamera)); + vcam1Holder.transform.SetParent(clearShotHolder.transform); + vcam1Holder.transform.position = new Vector3(0, 0, 8); + m_Vcam1 = vcam1Holder.GetComponent(); + m_Vcam1.AddCinemachineComponent(); + m_Vcam1.Priority = 20; + + // a completely locked vcam2 + var vcam2Holder = CreateGameObject("CM Vcam2", typeof(CinemachineVirtualCamera)); + vcam2Holder.transform.SetParent(clearShotHolder.transform); + vcam2Holder.transform.position = new Vector3(0, 0, -2); + m_Vcam2 = vcam2Holder.GetComponent(); + m_Vcam2.Priority = 10; + + // a "wall" composed of a single quad that partially obscures vcam1, but not vcam2 + var wall = CreatePrimitive(PrimitiveType.Quad); + wall.transform.SetPositionAndRotation(new Vector3(0, 0, 4), Quaternion.Euler(0, 180, 0)); + wall.transform.localScale = new Vector3(2, 2, 2); + + base.SetUp(); + } + + private static IEnumerable ClearShotTestCases + { + get + { + yield return new TestCaseData(new Vector3(100, 0, 1), "CM Vcam1").Returns(null); + yield return new TestCaseData(new Vector3(5, 0, 1), "CM Vcam1").Returns(null); + yield return new TestCaseData(new Vector3(0, 0, 1), "CM Vcam2").Returns(null); + yield return new TestCaseData(new Vector3(-5, 0, 1), "CM Vcam1").Returns(null); + yield return new TestCaseData(new Vector3(-100, 0, 1), "CM Vcam1").Returns(null); + } + } + + [UnityTest, TestCaseSource(nameof(ClearShotTestCases))] + public IEnumerator TestClearShotSwitchesCameras(Vector3 characterPosition, string expectedVcamName) + { + m_Character.transform.position = characterPosition; + + yield return new WaitForSeconds(0.5f); + + Assert.That(m_ClearShot.LiveChild.Name, Is.EqualTo(expectedVcamName)); + } + } +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/ClearShotTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/ClearShotTests.cs.meta new file mode 100644 index 00000000..294a0183 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/ClearShotTests.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: dc4f6be45bb140019008b7ceafec1edc +timeCreated: 1625505730 \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CmColliderTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CmColliderTests.cs new file mode 100644 index 00000000..506e8eeb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CmColliderTests.cs @@ -0,0 +1,167 @@ +#if CINEMACHINE_PHYSICS +using System; +using System.Collections; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; +using Cinemachine; +using UnityEngine.TestTools.Utils; + +namespace Tests.Runtime +{ + public class CmColliderTests : CinemachineFixtureBase + { + CinemachineBrain m_Brain; + CinemachineVirtualCamera m_Vcam; + CinemachineCollider m_Collider; + GameObject m_FollowObject; + + [SetUp] + public override void SetUp() + { + var camera = CreateGameObject("MainCamera", typeof(Camera), typeof(CinemachineBrain)); + m_Brain = camera.GetComponent(); + + m_Vcam = CreateGameObject("CM Vcam", typeof(CinemachineVirtualCamera), typeof(CinemachineCollider)).GetComponent(); + m_Vcam.Priority = 100; + m_Vcam.Follow = CreateGameObject("Follow Object").transform; + var framingTransposer = m_Vcam.AddCinemachineComponent(); + framingTransposer.m_CameraDistance = 5f; + m_Collider = m_Vcam.GetComponent(); + m_Collider.m_Strategy = CinemachineCollider.ResolutionStrategy.PullCameraForward; + m_Collider.m_CollideAgainst = 1; + m_Collider.m_AvoidObstacles = true; + m_Collider.m_SmoothingTime = 0; + m_Collider.m_Damping = 0; + m_Collider.m_DampingWhenOccluded = 0; + m_Vcam.AddExtension(m_Collider); + + base.SetUp(); + + // Manual update is needed because when waiting for physics frame, we may pass 1-3 frames. Without manual + // update the test won't be deterministic, because we would update 1-3 times, instead of just once. + m_Brain.m_UpdateMethod = CinemachineBrain.UpdateMethod.ManualUpdate; + } + + [UnityTest, ConditionalIgnore("IgnoreHDRPInstability", "This test is unstable on HDRP")] + public IEnumerator CheckSmoothingTime() + { + m_Collider.m_SmoothingTime = 1; + m_Collider.m_Damping = 0; + m_Collider.m_DampingWhenOccluded = 0; + var originalCamPosition = m_Vcam.State.FinalPosition; + + yield return null; + m_Brain.ManualUpdate(); + Assert.That(originalCamPosition, Is.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + + var obstacle = GameObject.CreatePrimitive(PrimitiveType.Cube); + obstacle.transform.position = originalCamPosition; // place obstacle so that camera needs to move + + yield return WaitForOnePhysicsFrame(); + m_Brain.ManualUpdate(); + + // Camera moved check + Assert.That(originalCamPosition, Is.Not.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + Assert.That(new Vector3(0, 0, -4.4f), Is.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + + UnityEngine.Object.Destroy(obstacle); + + // wait smoothing time and a frame so that camera move back to its original position + var timerStart = CinemachineCore.CurrentTime; + yield return WaitForOnePhysicsFrame(); + do + { + m_Brain.ManualUpdate(); + yield return null; + } while ((CinemachineCore.CurrentTime - timerStart) < m_Collider.m_SmoothingTime); + + m_Brain.ManualUpdate(); + Assert.That(originalCamPosition, Is.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + } + + [UnityTest, ConditionalIgnore("IgnoreHDRPInstability", "This test is unstable on HDRP")] + public IEnumerator CheckDampingWhenOccluded() + { + m_Collider.m_SmoothingTime = 0; + m_Collider.m_Damping = 0; + m_Collider.m_DampingWhenOccluded = 1; + var originalCamPosition = m_Vcam.State.FinalPosition; + + yield return null; + m_Brain.ManualUpdate(); + + Assert.That(originalCamPosition, Is.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + + var obstacle = GameObject.CreatePrimitive(PrimitiveType.Cube); + obstacle.transform.position = originalCamPosition; // place obstacle so that camera needs to move + + yield return WaitForOnePhysicsFrame(); + m_Brain.ManualUpdate(); + + // we are pulling away from obstacle + Assert.That(originalCamPosition, Is.Not.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + Assert.That(new Vector3(0,0,-4.778574f), Is.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + + var previousPosition = m_Vcam.State.FinalPosition; + var timerStart = CinemachineCore.CurrentTime; + do + { + m_Brain.ManualUpdate(); + yield return null; + } while ((CinemachineCore.CurrentTime - timerStart) < 0.5f); + m_Brain.ManualUpdate(); + + Assert.That(previousPosition, Is.Not.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + Assert.That(new Vector3(0,0,-4.4f), Is.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + + UnityEngine.Object.Destroy(obstacle); + + yield return WaitForOnePhysicsFrame(); + m_Brain.ManualUpdate(); + + Assert.That(originalCamPosition, Is.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + } + + [UnityTest, ConditionalIgnore("IgnoreHDRPInstability", "This test is unstable on HDRP")] + public IEnumerator CheckDamping() + { + m_Collider.m_SmoothingTime = 0; + m_Collider.m_Damping = 1; + m_Collider.m_DampingWhenOccluded = 0; + var originalCamPosition = m_Vcam.State.FinalPosition; + + yield return null; + m_Brain.ManualUpdate(); + + Assert.That(originalCamPosition, Is.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + + var obstacle = GameObject.CreatePrimitive(PrimitiveType.Cube); + obstacle.transform.position = originalCamPosition; // place obstacle so that camera needs to move + + yield return WaitForOnePhysicsFrame(); + m_Brain.ManualUpdate(); + + // camera moved check + var obstructedPosition = m_Vcam.State.FinalPosition; + Assert.That(originalCamPosition, Is.Not.EqualTo(obstructedPosition).Using(Vector3EqualityComparer.Instance)); + + // wait another frame to avoid snap - we need to have a previous damp time to avoid snap + yield return null; + m_Brain.ManualUpdate(); + Assert.That(obstructedPosition, Is.EqualTo(m_Vcam.State.FinalPosition).Using(Vector3EqualityComparer.Instance)); + + UnityEngine.Object.Destroy(obstacle); + + yield return WaitForOnePhysicsFrame(); + m_Brain.ManualUpdate(); + + // camera has moved and it is not yet back at its original position + var finalPosition = m_Vcam.State.FinalPosition; + Assert.That(obstructedPosition, Is.Not.EqualTo(finalPosition).Using(Vector3EqualityComparer.Instance)); + Assert.That(originalCamPosition, Is.Not.EqualTo(finalPosition).Using(Vector3EqualityComparer.Instance)); + Assert.That(new Vector3(0, 0, -4.71081734f), Is.EqualTo(finalPosition).Using(Vector3EqualityComparer.Instance)); + } + } +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CmColliderTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CmColliderTests.cs.meta new file mode 100644 index 00000000..28cb7aec --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/CmColliderTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2db7dd9c3def4ff3b77fbedd84cdac33 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Confiner2DUnitTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Confiner2DUnitTests.cs new file mode 100644 index 00000000..c991837f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Confiner2DUnitTests.cs @@ -0,0 +1,134 @@ +#if CINEMACHINE_PHYSICS_2D +using System.Collections; +using Cinemachine; +using Cinemachine.Utility; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; +using UnityEngine.TestTools.Utils; + +namespace Tests.Runtime +{ + public class Confiner2DUnitTests : CinemachineFixtureBase + { + Camera m_Cam; + CinemachineVirtualCamera m_Vcam; + CinemachineConfiner2D m_Confiner2D; + + [SetUp] + public override void SetUp() + { + m_Cam = CreateGameObject("MainCamera", typeof(Camera), typeof(CinemachineBrain)).GetComponent(); + var vcamHolder = CreateGameObject("CM Vcam", typeof(CinemachineVirtualCamera), typeof(CinemachineConfiner2D)); + m_Vcam = vcamHolder.GetComponent(); + m_Confiner2D = vcamHolder.GetComponent(); + m_Vcam.Priority = 100; + m_Cam.orthographic = true; + m_Vcam.AddExtension(m_Confiner2D); + + m_Vcam.m_Lens.OrthographicSize = UnityVectorExtensions.Epsilon; + + base.SetUp(); + } + + [TearDown] + public override void TearDown() + { + m_Vcam.m_Lens.OrthographicSize = 1; + + base.TearDown(); + } + + static IEnumerable ColliderTestCases + { + get + { + yield return new TestCaseData(new[] {Vector2.left, Vector2.up, Vector2.right, Vector2.down}).SetName("Clockwise").Returns(null); + yield return new TestCaseData(new[] {Vector2.left, Vector2.down, Vector2.right, Vector2.up}).SetName("Counter-Clockwise").Returns(null); + } + } + + [UnityTest, TestCaseSource(nameof(ColliderTestCases))] + public IEnumerator Test_SimpleSquareConfiner_OrderIndependent_PolygonCollider2D(Vector2[] testPoints) + { + var polygonCollider2D = CreateGameObject("PolygonCollider2DHolder", typeof(PolygonCollider2D)).GetComponent(); + m_Confiner2D.m_BoundingShape2D = polygonCollider2D; + m_Confiner2D.m_Damping = 0; + m_Confiner2D.m_MaxWindowSize = 0; + + // clockwise + polygonCollider2D.points = testPoints; + + m_Confiner2D.InvalidateCache(); + + m_Vcam.transform.position = Vector3.zero; + yield return null; // wait one frame + Assert.That(m_Vcam.State.CorrectedPosition, Is.EqualTo(Vector3.zero).Using(Vector3EqualityComparer.Instance)); + + m_Vcam.transform.position = Vector2.left * 2f; + yield return null; // wait one frame + Assert.That((m_Vcam.State.CorrectedPosition - Vector3.left).sqrMagnitude, Is.LessThan(UnityVectorExtensions.Epsilon)); + + m_Vcam.transform.position = Vector2.up * 2f; + yield return null; // wait one frame + Assert.That((m_Vcam.State.CorrectedPosition - Vector3.up).sqrMagnitude, Is.LessThan(UnityVectorExtensions.Epsilon)); + + m_Vcam.transform.position = Vector2.right * 2f; + yield return null; // wait one frame + Assert.That((m_Vcam.State.CorrectedPosition - Vector3.right).sqrMagnitude, Is.LessThan(UnityVectorExtensions.Epsilon)); + + m_Vcam.transform.position = Vector2.down * 2f; + yield return null; // wait one frame + Assert.That((m_Vcam.State.CorrectedPosition - Vector3.down).sqrMagnitude, Is.LessThan(UnityVectorExtensions.Epsilon)); + } + + [UnityTest, TestCaseSource(nameof(ColliderTestCases))] + public IEnumerator Test_SimpleSquareConfiner_OrderIndependent_CompositeCollider2D(Vector2[] testPoints) + { + var compositeHolder = CreateGameObject("CompositeCollider2DHolder", typeof(Rigidbody2D), typeof(CompositeCollider2D)); + var rigidbody2D = compositeHolder.GetComponent(); + rigidbody2D.bodyType = RigidbodyType2D.Kinematic; + rigidbody2D.isKinematic = true; + rigidbody2D.simulated = false; + var compositeCollider2D = compositeHolder.GetComponent(); + compositeCollider2D.geometryType = CompositeCollider2D.GeometryType.Polygons; + + var polyHolder = CreateGameObject("PolygonCollider2DHolder", typeof(PolygonCollider2D)); + polyHolder.transform.parent = compositeHolder.transform; + var polygonCollider2D = polyHolder.GetComponent(); +#if UNITY_2023_1_OR_NEWER + polygonCollider2D.compositeOperation = Collider2D.CompositeOperation.Merge; +#else + polygonCollider2D.usedByComposite = true; +#endif + m_Confiner2D.m_BoundingShape2D = compositeCollider2D; + m_Confiner2D.m_Damping = 0; + m_Confiner2D.m_MaxWindowSize = 0; + + // clockwise + polygonCollider2D.points = testPoints; + m_Confiner2D.InvalidateCache(); + + m_Vcam.transform.position = Vector3.zero; + yield return null; // wait one frame + Assert.That(m_Vcam.State.CorrectedPosition, Is.EqualTo(Vector3.zero).Using(Vector3EqualityComparer.Instance)); + + m_Vcam.transform.position = Vector2.left * 2f; + yield return null; // wait one frame + Assert.That((m_Vcam.State.CorrectedPosition - Vector3.left).sqrMagnitude, Is.LessThan(UnityVectorExtensions.Epsilon)); + + m_Vcam.transform.position = Vector2.up * 2f; + yield return null; // wait one frame + Assert.That((m_Vcam.State.CorrectedPosition - Vector3.up).sqrMagnitude, Is.LessThan(UnityVectorExtensions.Epsilon)); + + m_Vcam.transform.position = Vector2.right * 2f; + yield return null; // wait one frame + Assert.That((m_Vcam.State.CorrectedPosition - Vector3.right).sqrMagnitude, Is.LessThan(UnityVectorExtensions.Epsilon)); + + m_Vcam.transform.position = Vector2.down * 2f; + yield return null; // wait one frame + Assert.That((m_Vcam.State.CorrectedPosition - Vector3.down).sqrMagnitude, Is.LessThan(UnityVectorExtensions.Epsilon)); + } + } +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Confiner2DUnitTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Confiner2DUnitTests.cs.meta new file mode 100644 index 00000000..336366d3 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/Confiner2DUnitTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3651c851e01a04bc984d8892717ad164 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/FreelookForcePositionTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/FreelookForcePositionTests.cs new file mode 100644 index 00000000..2f7c1053 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/FreelookForcePositionTests.cs @@ -0,0 +1,90 @@ +using System.Collections; +using Cinemachine; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; +using UnityEngine.TestTools.Utils; + +namespace Tests.Runtime +{ + public class FreelookForcePositionTests : CinemachineFixtureBase + { + CinemachineFreeLook m_Freelook; + Vector3 m_OriginalPosition; + Quaternion m_OriginalOrientation; + + [SetUp] + public override void SetUp() + { + CreateGameObject("MainCamera", typeof(Camera), typeof(CinemachineBrain)).GetComponent(); + var vcamHolder = CreateGameObject("CM Freelook", typeof(CinemachineFreeLook)); + m_Freelook = vcamHolder.GetComponent(); + m_Freelook.Priority = 100; + + base.SetUp(); + } + + [TearDown] + public override void TearDown() + { + base.TearDown(); + } + + static IEnumerable RigSetups + { + get + { + yield return new TestCaseData(new[] + { + new CinemachineFreeLook.Orbit { m_Height = 0, m_Radius = 1 }, + new CinemachineFreeLook.Orbit { m_Height = 1, m_Radius = 2 }, + new CinemachineFreeLook.Orbit { m_Height = 2, m_Radius = 3 } + }).SetName("Rig1").Returns(null); + + yield return new TestCaseData(new[] + { + new CinemachineFreeLook.Orbit { m_Height = 5, m_Radius = 3 }, + new CinemachineFreeLook.Orbit { m_Height = 3, m_Radius = 1 }, + new CinemachineFreeLook.Orbit { m_Height = 1, m_Radius = 2 } + }).SetName("Rig2").Returns(null); + + yield return new TestCaseData(new[] + { + new CinemachineFreeLook.Orbit { m_Height = -1, m_Radius = 3 }, + new CinemachineFreeLook.Orbit { m_Height = -3, m_Radius = 8 }, + new CinemachineFreeLook.Orbit { m_Height = -5, m_Radius = 5 } + }).SetName("Rig3").Returns(null); + } + } + + [UnityTest, TestCaseSource(nameof(RigSetups)), ConditionalIgnore("IgnoreHDRPInstability", "This test is unstable on HDRP")] + public IEnumerator Test_Freelook_ForcePosition_Precision(CinemachineFreeLook.Orbit[] rigSetup) + { + for (var i = 0; i < m_Freelook.m_Orbits.Length; ++i) + m_Freelook.m_Orbits[i] = rigSetup[i]; + + const float steps = 20f; + for (var i = 0f; i <= steps; ++i) + { + var axisValue = i / steps; + m_Freelook.m_XAxis.Value = 180f * axisValue; // x axis range [0, 180] + m_Freelook.m_YAxis.Value = axisValue; // y axis range [0, 1] + + yield return null; + + // save camera current position and rotation + m_OriginalPosition = m_Freelook.State.CorrectedPosition; + m_OriginalOrientation = m_Freelook.State.CorrectedOrientation; + + yield return null; + + m_Freelook.ForceCameraPosition(m_OriginalPosition, m_OriginalOrientation); + + yield return null; + + Assert.That(m_Freelook.State.CorrectedPosition, Is.EqualTo(m_OriginalPosition).Using(new Vector3EqualityComparer(0.01f))); + Assert.That(m_Freelook.State.CorrectedOrientation, Is.EqualTo(m_OriginalOrientation).Using(new QuaternionEqualityComparer(0.001f))); + } + } + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/FreelookForcePositionTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/FreelookForcePositionTests.cs.meta new file mode 100644 index 00000000..15e05a5a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/FreelookForcePositionTests.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 91618bd9ae854bccb009be5799b14b49 +timeCreated: 1664223159 \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/LookaheadTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/LookaheadTests.cs new file mode 100644 index 00000000..514a2dfb --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/LookaheadTests.cs @@ -0,0 +1,89 @@ +using System.Collections; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; +using Cinemachine; + +namespace Tests.Runtime +{ + [TestFixture] + public class LookaheadTests : CinemachineFixtureBase + { + CinemachineVirtualCamera m_VCam; + CinemachineComposer m_Composer; + CinemachineFramingTransposer m_FramingTransposer; + Transform m_Target; + + [SetUp] + public override void SetUp() + { + // Camera + CreateGameObject("MainCamera", typeof(Camera), typeof(CinemachineBrain)); + m_Target = CreateGameObject("Target Object").transform; + + // Source vcam + m_VCam = CreateGameObject("Source CM Vcam", typeof(CinemachineVirtualCamera)).GetComponent(); + m_VCam.Follow = m_Target; + m_VCam.LookAt = m_Target; + m_FramingTransposer = m_VCam.AddCinemachineComponent(); + m_Composer = m_VCam.AddCinemachineComponent(); + m_FramingTransposer.m_LookaheadSmoothing = m_Composer.m_LookaheadSmoothing = 0.3f; + m_FramingTransposer.m_LookaheadTime = m_Composer.m_LookaheadTime = 10; + + base.SetUp(); + } + + [UnityTest] + public IEnumerator TargetsChanged() + { + Assert.That(m_VCam.FollowTargetChanged, Is.False); + Assert.That(m_VCam.LookAtTargetChanged, Is.False); + + yield return null; + Assert.That(m_VCam.FollowTargetChanged, Is.False); + Assert.That(m_VCam.LookAtTargetChanged, Is.False); + + var newTarget = CreateGameObject("Target Object 2").transform; + m_VCam.LookAt = newTarget; + + yield return null; + + Assert.That(m_VCam.FollowTargetChanged, Is.False); + Assert.That(m_VCam.LookAtTargetChanged, Is.True); + + m_VCam.Follow = newTarget; + + yield return null; + + Assert.That(m_VCam.FollowTargetChanged, Is.True); + Assert.That(m_VCam.LookAtTargetChanged, Is.False); + + m_VCam.Follow = m_Target; + m_VCam.LookAt = m_Target; + + yield return null; + + Assert.That(m_VCam.FollowTargetChanged, Is.True); + Assert.That(m_VCam.LookAtTargetChanged, Is.True); + } + + [UnityTest] + public IEnumerator LookaheadDelta() + { + var delta = m_Composer.m_Predictor.PredictPositionDelta(m_Composer.m_LookaheadTime); + Assert.That(delta.sqrMagnitude > 0, Is.False); + + delta = m_FramingTransposer.m_Predictor.PredictPositionDelta(m_FramingTransposer.m_LookaheadTime); + Assert.That(delta.sqrMagnitude > 0, Is.False); + + m_Target.Translate(10, 0, 0); + yield return null; + + delta = m_Composer.m_Predictor.PredictPositionDelta(m_Composer.m_LookaheadTime); + Assert.That(delta.sqrMagnitude > 0, Is.True); + + delta = m_FramingTransposer.m_Predictor.PredictPositionDelta(m_FramingTransposer.m_LookaheadTime); + Assert.That(delta.sqrMagnitude > 0, Is.True); + } + } +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/LookaheadTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/LookaheadTests.cs.meta new file mode 100644 index 00000000..ef848a97 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/LookaheadTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6f519ca69bd041a48f57459cc0388d67 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/StateDrivenCameraTests.cs b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/StateDrivenCameraTests.cs new file mode 100644 index 00000000..cfddc60e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/StateDrivenCameraTests.cs @@ -0,0 +1,74 @@ +#if CINEMACHINE_UNITY_ANIMATION +using System.Collections; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.TestTools; +using UnityEditor; +using UnityEditor.Animations; +using Cinemachine; + +namespace Tests.Runtime +{ + [TestFixture] + public class StateDrivenCameraTests : CinemachineFixtureBase + { + CinemachineStateDrivenCamera m_StateDrivenCamera; + Animator m_Animator; + CinemachineVirtualCamera m_Vcam1, m_Vcam2; + + [SetUp] + public override void SetUp() + { + CreateGameObject("Camera", typeof(Camera), typeof(CinemachineBrain)); + + // Create a minimal character controller + var character = CreateGameObject("Character", typeof(Animator)); + var controller = AssetDatabase.LoadMainAssetAtPath("Packages/com.unity.cinemachine/Tests/Runtime/TestController.controller") as AnimatorController; + character.GetComponent().runtimeAnimatorController = controller; + + // Create a state-driven camera with two vcams + var stateDrivenCamera = CreateGameObject("CM StateDrivenCamera", typeof(CinemachineStateDrivenCamera)).GetComponent(); + stateDrivenCamera.m_AnimatedTarget = character.GetComponent(); + + var vcam1 = CreateGameObject("Vcam1", typeof(CinemachineVirtualCamera)).GetComponent(); + var vcam2 = CreateGameObject("Vcam1", typeof(CinemachineVirtualCamera)).GetComponent(); + vcam1.gameObject.transform.SetParent(stateDrivenCamera.gameObject.transform); + vcam2.gameObject.transform.SetParent(stateDrivenCamera.gameObject.transform); + + // Map states to vcams + stateDrivenCamera.m_Instructions = new[] + { + new CinemachineStateDrivenCamera.Instruction() {m_FullHash = controller.layers[0].stateMachine.states[0].GetHashCode(), m_VirtualCamera = vcam1}, + new CinemachineStateDrivenCamera.Instruction() {m_FullHash = controller.layers[0].stateMachine.states[1].GetHashCode(), m_VirtualCamera = vcam2} + }; + + m_StateDrivenCamera = stateDrivenCamera; + m_Animator = character.GetComponent(); + m_Vcam1 = vcam1; + m_Vcam2 = vcam2; + + base.SetUp(); + } + + [UnityTest] + public IEnumerator Test_StateDrivenCamera_Follows_State() + { + yield return null; // wait one frame + + Assert.That(m_StateDrivenCamera.LiveChild.Name, Is.EqualTo(m_Vcam1.Name)); + + m_Animator.SetTrigger("DoTransitionToState2"); + + yield return null; // wait one frame + + Assert.That(m_StateDrivenCamera.LiveChild.Name, Is.EqualTo(m_Vcam2.Name)); + + m_Animator.SetTrigger("DoTransitionToState1"); + + yield return null; // wait one frame + + Assert.That(m_StateDrivenCamera.LiveChild.Name, Is.EqualTo(m_Vcam1.Name)); + } + } +} +#endif diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/StateDrivenCameraTests.cs.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/StateDrivenCameraTests.cs.meta new file mode 100644 index 00000000..0710dc4f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/StateDrivenCameraTests.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d3dc6006ce5a4d4b8d3db4b51c73d9a2 +timeCreated: 1624459896 \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/TestController.controller b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/TestController.controller new file mode 100644 index 00000000..c7aae02a --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/TestController.controller @@ -0,0 +1,212 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TestController + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: DoTransitionToState1 + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: DoTransitionToState2 + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 1107364442111729044} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!206 &206001114546337524 +BlendTree: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Locomotion + m_Childs: + - serializedVersion: 2 + m_Motion: {fileID: 7400000, guid: 13caa80bbe9b34403bda844d1694d394, type: 3} + m_Threshold: -0.1 + m_Position: {x: 0, y: -1} + m_TimeScale: -1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: 7400002, guid: 080945c46afd34f3ebc364c1696e6678, type: 3} + m_Threshold: 0 + m_Position: {x: 0, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: 7400000, guid: 13caa80bbe9b34403bda844d1694d394, type: 3} + m_Threshold: 0.5 + m_Position: {x: 0.2, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + - serializedVersion: 2 + m_Motion: {fileID: 7400000, guid: fdc39e3202ebc4d4a8a473fd95fcff55, type: 3} + m_Threshold: 1 + m_Position: {x: 1, y: 0} + m_TimeScale: 1 + m_CycleOffset: 0 + m_DirectBlendParameter: Speed + m_Mirror: 0 + m_BlendParameter: Speed + m_BlendParameterY: Direction + m_MinThreshold: -0.1 + m_MaxThreshold: 1 + m_UseAutomaticThresholds: 0 + m_NormalizedBlendValues: 0 + m_BlendType: 3 +--- !u!1101 &1101136524078688160 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: DoTransitionToState1 + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102585328901193938} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.7692308 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &1101726422157110222 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: DoTransitionToState2 + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1102620950695301922} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0.25922742 + m_ExitTime: 0.99313164 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1102 &1102585328901193938 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: State1 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1101726422157110222} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &1102620950695301922 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: State2 + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 1101136524078688160} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &1107364442111729044 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 1102585328901193938} + m_Position: {x: 280, y: 120, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1102620950695301922} + m_Position: {x: 280, y: 250, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 1102585328901193938} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/TestController.controller.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/TestController.controller.meta new file mode 100644 index 00000000..e3387b25 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Tests/Runtime/TestController.controller.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 713b772b1d0f74133a8ce94956352a48 +timeCreated: 1507742887 +licenseType: Pro +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Third Party Notices.md b/Library/PackageCache/com.unity.cinemachine@2.9.5/Third Party Notices.md new file mode 100644 index 00000000..ac47b91f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Third Party Notices.md @@ -0,0 +1,29 @@ +This package contains third-party software components governed by the license(s) indicated below: +--------- + +# [Clipper](http://www.angusj.com/delphi/clipper.php) + +Copyright © 2010-2014 Angus Johnson +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/Third Party Notices.md.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/Third Party Notices.md.meta new file mode 100644 index 00000000..dbcd716e --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/Third Party Notices.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2764ce5fee86e464f92b661bbaa7ed45 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/ValidationExceptions.json b/Library/PackageCache/com.unity.cinemachine@2.9.5/ValidationExceptions.json new file mode 100644 index 00000000..c8ef4be8 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/ValidationExceptions.json @@ -0,0 +1,35 @@ +{ + "ErrorExceptions": [ + { + "ValidationTest": "API Validation", + "ExceptionMessage": "Additions require a new minor or major version.", + "PackageVersion": "2.9.5" + }, + { + "ValidationTest": "API Validation", + "ExceptionMessage": "New assembly \"com.unity.cinemachine.Tests\" may only be added in a new minor or major version.", + "PackageVersion": "2.9.5" + }, + { + "ValidationTest": "API Validation", + "ExceptionMessage": "New assembly \"com.unity.cinemachine.EditorTests\" may only be added in a new minor or major version.", + "PackageVersion": "2.9.5" + }, + { + "ValidationTest": "API Validation", + "ExceptionMessage": "Breaking changes require a new major version.", + "PackageVersion": "2.9.5" + }, + { + "ValidationTest": "API Validation", + "ExceptionMessage": "New assembly \"Cinemachine.Runtime.Tests\" may only be added in a new minor or major version.", + "PackageVersion": "2.9.5" + }, + { + "ValidationTest": "API Validation", + "ExceptionMessage": "New assembly \"Cinemachine.Editor.Tests\" may only be added in a new minor or major version.", + "PackageVersion": "2.9.5" + } + ], + "WarningExceptions": [] +} \ No newline at end of file diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/ValidationExceptions.json.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/ValidationExceptions.json.meta new file mode 100644 index 00000000..ee41d7c1 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/ValidationExceptions.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 417c01280e31342a895bf075b2e3a7ae +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/license.txt b/Library/PackageCache/com.unity.cinemachine@2.9.5/license.txt new file mode 100644 index 00000000..1188a584 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/license.txt @@ -0,0 +1,30 @@ +Unity Companion Cinemachine Code License 1.0 (License) +Copyright 2020 Unity Technologies ApS (Unity) + +Unity hereby grants to you a worldwide, non-exclusive, no-charge, and royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute the software that is made available with this License (Software), subject to the following terms and conditions: + +1. Unity Companion Use Only. Exercise of the license granted herein is limited to exercise for the creation, use, and/or distribution of applications, software, or other content pursuant to a valid Unity development engine software license (Engine License). That means while use of the Software is not limited to use in the software licensed under the Engine License, the Software may not be used for any purpose other than the creation, use, and/or distribution of Engine License-dependent applications, software, or other content. No other exercise of the license granted herein is permitted. + +2. No Modification of Engine License. Neither this License nor any exercise of the license granted herein modifies the Engine License in any way. + +3. Ownership & Grant Back to You. + +3.1 You own your content. In this License, derivative works means derivatives of the Software itself--works derived only from the Software by you under this License (for example, modifying the code of the Software itself to improve its efficacy); derivative works of the Software do not include, for example, games, apps, or content that you create using the Software. You keep all right, title, and interest to your own content. + +3.2 Unity owns its content. While you keep all right, title, and interest to your own content per the above, as between Unity and you, Unity will own all right, title, and interest to all intellectual property rights (including patent, trademark, and copyright) in the Software and derivative works of the Software, and you hereby assign and agree to assign all such rights in those derivative works to Unity. + +3.3 You have a license to those derivative works. Subject to this License, Unity grants to you the same worldwide, non-exclusive, no-charge, and royalty-free copyright license to derivative works of the Software you create as is granted to you for the Software under this License. + +4. Trademarks. You are not granted any right or license under this License to use any trademarks, service marks, trade names, products names, or branding of Unity or its affiliates (Trademarks). Descriptive uses of Trademarks are permitted; see, for example, Unitys Branding Usage Guidelines at https://unity3d.com/public-relations/brand. + +5. Notices & Third-Party Rights. This License, including the copyright notice above, must be provided in all substantial portions of the Software and derivative works thereof (or, if that is impracticable, in any other location where such notices are customarily placed). Further, if the Software is accompanied by a Unity third-party notices or similar file, you acknowledge and agree that software identified in that file is governed by those separate license terms. + +6. DISCLAIMER, LIMITATION OF LIABILITY. THE SOFTWARE AND ANY DERIVATIVE WORKS THEREOF IS PROVIDED ON AN "AS IS" BASIS, AND IS PROVIDED WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND/OR NONINFRINGEMENT. IN NO EVENT SHALL ANY COPYRIGHT HOLDER OR AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES (WHETHER DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL, INCLUDING PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE, DATA, OR PROFITS, AND BUSINESS INTERRUPTION), OR OTHER LIABILITY WHATSOEVER, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM OR OUT OF, OR IN CONNECTION WITH, THE SOFTWARE OR ANY DERIVATIVE WORKS THEREOF OR THE USE OF OR OTHER DEALINGS IN SAME, EVEN WHERE ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +7. USE IS ACCEPTANCE and License Versions. Your receipt and use of the Software constitutes your acceptance of this License and its terms and conditions. Software released by Unity under this License may be modified or updated and the License with it; upon any such modification or update, you will comply with the terms of the updated License for any use of any of the Software under the updated License. + +8. Use in Compliance with Law and Termination. Your exercise of the license granted herein will at all times be in compliance with applicable law and will not infringe any proprietary rights (including intellectual property rights); this License will terminate immediately on any breach by you of this License. + +9. Severability. If any provision of this License is held to be unenforceable or invalid, that provision will be enforced to the maximum extent possible and the other provisions will remain in full force and effect. + +10. Governing Law and Venue. This License is governed by and construed in accordance with the laws of Denmark, except for its conflict of laws rules; the United Nations Convention on Contracts for the International Sale of Goods will not apply. If you reside (or your principal place of business is) within the United States, you and Unity agree to submit to the personal and exclusive jurisdiction of and venue in the state and federal courts located in San Francisco County, California concerning any dispute arising out of this License (Dispute). If you reside (or your principal place of business is) outside the United States, you and Unity agree to submit to the personal and exclusive jurisdiction of and venue in the courts located in Copenhagen, Denmark concerning any Dispute. diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/license.txt.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/license.txt.meta new file mode 100644 index 00000000..9cdf265f --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/license.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3958e97119b89b14893728476c991114 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/package.json b/Library/PackageCache/com.unity.cinemachine@2.9.5/package.json new file mode 100644 index 00000000..45609932 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/package.json @@ -0,0 +1,54 @@ +{ + "name": "com.unity.cinemachine", + "displayName": "Cinemachine", + "version": "2.9.5", + "unity": "2019.4", + "description": "Smart camera tools for passionate creators. \n\nNew starting from 2.7.1: Are you looking for the Cinemachine menu? It has moved to the GameObject menu.\n\nIMPORTANT NOTE: If you are upgrading from the legacy Asset Store version of Cinemachine, delete the Cinemachine asset from your project BEFORE installing this version from the Package Manager.", + "keywords": [ + "camera", + "follow", + "rig", + "fps", + "cinematography", + "aim", + "orbit", + "cutscene", + "cinematic", + "collision", + "freelook", + "cinemachine", + "compose", + "composition", + "dolly", + "track", + "clearshot", + "noise", + "framing", + "handheld", + "lens", + "impulse" + ], + "category": "cinematography", + "dependencies": { + "com.unity.test-framework": "1.1.31" + }, + "samples": [ + { + "displayName": "Cinemachine Example Scenes", + "description": "Sample scenes illustrating various ways to use Cinemachine", + "path": "Samples~/Cinemachine Example Scenes" + } + ], + "_upm": { + "changelog": "- Unity 2022.2 and up: FocusDistance added to lens settings and is pushed to the camera.\n- Optimized path gizmo drawing. Now 3-5 times faster.\n- TargetGroup now ignores members whose gameObjects are inactive.\n- Bugfix: CinemachinePathBase search radius fixed for not looped paths.\n- Regression fix: POV was not handling ReferenceUp correctly\n- Bugfix: priority ordering was wrong when the difference between any priority values were smaller than integer min or bigger than integer max values.\n- Bugfix: Extensions were not respecting execution order on domain reload." + }, + "upmCi": { + "footprint": "93a1ed6a456ff86b7e4a2ca57a3c8a9259ee525e" + }, + "documentationUrl": "https://docs.unity3d.com/Packages/com.unity.cinemachine@2.9/manual/index.html", + "repository": { + "url": "https://github.com/Unity-Technologies/com.unity.cinemachine.git", + "type": "git", + "revision": "4b4405b9505ecfa1cb2d2b03df8f3309c12f3b0d" + } +} diff --git a/Library/PackageCache/com.unity.cinemachine@2.9.5/package.json.meta b/Library/PackageCache/com.unity.cinemachine@2.9.5/package.json.meta new file mode 100644 index 00000000..fa1ac3f4 --- /dev/null +++ b/Library/PackageCache/com.unity.cinemachine@2.9.5/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7a97571b2775aab4e8bf63d9ceb96743 +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Library/ScriptAssemblies/Cinemachine.dll b/Library/ScriptAssemblies/Cinemachine.dll new file mode 100644 index 00000000..04fa2c33 Binary files /dev/null and b/Library/ScriptAssemblies/Cinemachine.dll differ diff --git a/Library/ScriptAssemblies/Cinemachine.pdb b/Library/ScriptAssemblies/Cinemachine.pdb new file mode 100644 index 00000000..aad1ca18 Binary files /dev/null and b/Library/ScriptAssemblies/Cinemachine.pdb differ diff --git a/Library/ScriptAssemblies/com.unity.cinemachine.editor.dll b/Library/ScriptAssemblies/com.unity.cinemachine.editor.dll new file mode 100644 index 00000000..27de302b Binary files /dev/null and b/Library/ScriptAssemblies/com.unity.cinemachine.editor.dll differ diff --git a/Library/ScriptAssemblies/com.unity.cinemachine.editor.pdb b/Library/ScriptAssemblies/com.unity.cinemachine.editor.pdb new file mode 100644 index 00000000..9cf18e58 Binary files /dev/null and b/Library/ScriptAssemblies/com.unity.cinemachine.editor.pdb differ diff --git a/Library/ShaderCache/compute/CMWaveform6dd3/00/2d89ce284759ab6d78e9581cc6fd649b.bin b/Library/ShaderCache/compute/CMWaveform6dd3/00/2d89ce284759ab6d78e9581cc6fd649b.bin new file mode 100644 index 00000000..1d2dfb0a Binary files /dev/null and b/Library/ShaderCache/compute/CMWaveform6dd3/00/2d89ce284759ab6d78e9581cc6fd649b.bin differ diff --git a/Library/ShaderCache/compute/CMWaveform6dd3/00/4cf9382f0cd8bb082fc95348edccae00.bin b/Library/ShaderCache/compute/CMWaveform6dd3/00/4cf9382f0cd8bb082fc95348edccae00.bin new file mode 100644 index 00000000..59f4e204 Binary files /dev/null and b/Library/ShaderCache/compute/CMWaveform6dd3/00/4cf9382f0cd8bb082fc95348edccae00.bin differ diff --git a/Library/ShaderCache/compute/CMWaveform6dd3/00/719303b634ec4eecc581c58bceb6d898.bin b/Library/ShaderCache/compute/CMWaveform6dd3/00/719303b634ec4eecc581c58bceb6d898.bin new file mode 100644 index 00000000..b6c92854 Binary files /dev/null and b/Library/ShaderCache/compute/CMWaveform6dd3/00/719303b634ec4eecc581c58bceb6d898.bin differ diff --git a/Library/ShaderCache/compute/CMWaveform6dd3/00/c4262eb5afca9277e5b64ccca4de3e40.bin b/Library/ShaderCache/compute/CMWaveform6dd3/00/c4262eb5afca9277e5b64ccca4de3e40.bin new file mode 100644 index 00000000..2582aae7 Binary files /dev/null and b/Library/ShaderCache/compute/CMWaveform6dd3/00/c4262eb5afca9277e5b64ccca4de3e40.bin differ diff --git a/Library/ShaderCache/shader/CMWaveforme4e5/00/a50b7d2301b605e7b68e1128bf0d7c43.bin b/Library/ShaderCache/shader/CMWaveforme4e5/00/a50b7d2301b605e7b68e1128bf0d7c43.bin new file mode 100644 index 00000000..d545886a Binary files /dev/null and b/Library/ShaderCache/shader/CMWaveforme4e5/00/a50b7d2301b605e7b68e1128bf0d7c43.bin differ diff --git a/Library/SourceAssetDB-lock b/Library/SourceAssetDB-lock index c8d98878..005db89e 100755 Binary files a/Library/SourceAssetDB-lock and b/Library/SourceAssetDB-lock differ diff --git a/Logs/shadercompiler-UnityShaderCompiler-1.log b/Logs/shadercompiler-UnityShaderCompiler-1.log new file mode 100644 index 00000000..789d3ab0 --- /dev/null +++ b/Logs/shadercompiler-UnityShaderCompiler-1.log @@ -0,0 +1,18 @@ +Base path: '/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data', plugins path '/home/sascha/Unity/Hub/Editor/2023.2.0a12/Editor/Data/PlaybackEngines' +Cmd: initializeCompiler + +Cmd: compileSnippet + insize=1616 file=Packages/com.unity.cinemachine/Editor/EditorResources/CMWaveform pass= ppOnly=0 stripLineD=0 buildPlatform=24 rsLen=0 pKW=UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR uKW= dKW=UNITY_NO_DXT5nm UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_COLORSPACE_GAMMA UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_VIRTUAL_TEXTURING UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_ASTC_NORMALMAP_ENCODING SHADER_API_GLES30 UNITY_UNIFIED_SHADER_PRECISION_MODEL flags=0 lang=3 type=Vertex platform=vulkan reqs=1101803 mask=2 start=49 ok=1 outsize=2068 + +Cmd: compileComputeKernel + insize=1893 file=Packages/com.unity.cinemachine/Editor/EditorResources/CMWaveform.compute kernel=KCMWaveformClear ppOnly=0 stripLineD=0 buildPlatform=24 km= pKW=UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR uKW=SHADER_STAGE_COMPUTE platform=vulkan flags=4096 reqs=16385 forceDXC=0 forceFXC=0 ok=1 outsize=2775 + +Cmd: compileComputeKernel + insize=1893 file=Packages/com.unity.cinemachine/Editor/EditorResources/CMWaveform.compute kernel=KCMWaveformGather ppOnly=0 stripLineD=0 buildPlatform=24 km= pKW=UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR uKW=SHADER_STAGE_COMPUTE platform=vulkan flags=4096 reqs=16385 forceDXC=0 forceFXC=0 ok=1 outsize=6647 + +Cmd: compileComputeKernel + insize=1893 file=Packages/com.unity.cinemachine/Editor/EditorResources/CMWaveform.compute kernel=KCMWaveformClear ppOnly=0 stripLineD=0 buildPlatform=24 km= pKW=UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR uKW=SHADER_STAGE_COMPUTE platform=glcore flags=4096 reqs=16385 forceDXC=0 forceFXC=0 ok=1 outsize=1750 + +Cmd: compileComputeKernel + insize=1893 file=Packages/com.unity.cinemachine/Editor/EditorResources/CMWaveform.compute kernel=KCMWaveformGather ppOnly=0 stripLineD=0 buildPlatform=24 km= pKW=UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR uKW=SHADER_STAGE_COMPUTE platform=glcore flags=4096 reqs=16385 forceDXC=0 forceFXC=0 ok=1 outsize=3538 +