├── .gitignore ├── .idea └── .idea.FlatShading │ ├── .idea │ ├── contentModel.xml │ └── modules.xml │ └── riderModule.iml ├── Assets ├── FlatShading Examples.meta ├── FlatShading Examples │ ├── Models.meta │ ├── Models │ │ ├── Materials.meta │ │ ├── Materials │ │ │ ├── ExampleMaterial.mat │ │ │ ├── ExampleMaterial.mat.meta │ │ │ ├── None.mat │ │ │ └── None.mat.meta │ │ ├── SphereFlat.mtl │ │ ├── SphereFlat.mtl.meta │ │ ├── SphereFlat.obj │ │ ├── SphereFlat.obj.meta │ │ ├── SphereSmooth.mtl │ │ ├── SphereSmooth.mtl.meta │ │ ├── SphereSmooth.obj │ │ └── SphereSmooth.obj.meta │ ├── Scenes.meta │ └── Scenes │ │ ├── FlatSphereToggle.unity │ │ ├── FlatSphereToggle.unity.meta │ │ ├── SphereComparison.unity │ │ └── SphereComparison.unity.meta ├── FlatShading.meta ├── FlatShading │ ├── Materials.meta │ ├── Materials │ │ ├── FlatShading.mat │ │ └── FlatShading.mat.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── FlatShading.cs │ │ └── FlatShading.cs.meta │ ├── Shaders.meta │ └── Shaders │ │ ├── FlatShading.shader │ │ ├── FlatShading.shader.meta │ │ ├── FlatShadingCore.cginc │ │ └── FlatShadingCore.cginc.meta ├── Plugins.meta └── Plugins │ ├── Editor.meta │ └── Editor │ ├── JetBrains.meta │ └── JetBrains │ ├── Unity3DRider.cs │ └── Unity3DRider.cs.meta ├── LICENSE ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset └── UnityConnectSettings.asset ├── README.md ├── readme1.gif ├── readme2.png └── readme3.png /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Visual Studio 2015 cache directory 9 | /.vs/ 10 | 11 | # Autogenerated VS/MD/Consulo solution and project files 12 | ExportedObj/ 13 | .consulo/ 14 | *.csproj 15 | *.unityproj 16 | *.sln 17 | *.suo 18 | *.tmp 19 | *.user 20 | *.userprefs 21 | *.pidb 22 | *.booproj 23 | *.svd 24 | *.pdb 25 | 26 | # Unity3D generated meta files 27 | *.pidb.meta 28 | 29 | # Unity3D Generated File On Crash Reports 30 | sysinfo.txt 31 | 32 | # Builds 33 | *.apk 34 | #*.unitypackage 35 | 36 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm 37 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 38 | 39 | # User-specific stuff: 40 | .idea/**/workspace.xml 41 | .idea/**/tasks.xml 42 | .idea/dictionaries 43 | 44 | # Sensitive or high-churn files: 45 | .idea/**/dataSources/ 46 | .idea/**/dataSources.ids 47 | .idea/**/dataSources.xml 48 | .idea/**/dataSources.local.xml 49 | .idea/**/sqlDataSources.xml 50 | .idea/**/dynamic.xml 51 | .idea/**/uiDesigner.xml 52 | 53 | # Gradle: 54 | .idea/**/gradle.xml 55 | .idea/**/libraries 56 | 57 | # CMake 58 | cmake-build-debug/ 59 | 60 | # Mongo Explorer plugin: 61 | .idea/**/mongoSettings.xml 62 | 63 | ## File-based project format: 64 | *.iws 65 | 66 | ## Plugin-specific files: 67 | 68 | # IntelliJ 69 | /out/ 70 | 71 | # mpeltonen/sbt-idea plugin 72 | .idea_modules/ 73 | 74 | # JIRA plugin 75 | atlassian-ide-plugin.xml 76 | 77 | # Cursive Clojure plugin 78 | .idea/replstate.xml 79 | 80 | # Crashlytics plugin (for Android Studio and IntelliJ) 81 | com_crashlytics_export_strings.xml 82 | crashlytics.properties 83 | crashlytics-build.properties 84 | fabric.properties -------------------------------------------------------------------------------- /.idea/.idea.FlatShading/.idea/contentModel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Temp 6 | Library 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/.idea.FlatShading/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/.idea.FlatShading/riderModule.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 055ac5e93d4a54475ae236984ff7868c 3 | folderAsset: yes 4 | timeCreated: 1499706830 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7af7f2c6b107744229c992eae2140731 3 | folderAsset: yes 4 | timeCreated: 1499706838 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 21fad3371038441128bf232bf2e8f385 3 | folderAsset: yes 4 | timeCreated: 1499706845 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/Materials/ExampleMaterial.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/Assets/FlatShading Examples/Models/Materials/ExampleMaterial.mat -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/Materials/ExampleMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d768cf35e52f14499bd645f836b8390e 3 | timeCreated: 1499707555 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/Materials/None.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/Assets/FlatShading Examples/Models/Materials/None.mat -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/Materials/None.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47eabde98d7354a42a38819057320a3c 3 | timeCreated: 1499706846 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/SphereFlat.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/SphereFlat.mtl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54d38fdbefc544ab18f2562178410159 3 | timeCreated: 1499706845 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/SphereFlat.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.78 (sub 0) OBJ File: '' 2 | # www.blender.org 3 | mtllib SphereFlat.mtl 4 | o Sphere_Sphere.001 5 | v 0.038060 0.980785 -0.191342 6 | v 0.074658 0.923880 -0.375330 7 | v 0.108386 0.831470 -0.544895 8 | v 0.137950 0.707107 -0.693520 9 | v 0.162212 0.555570 -0.815493 10 | v 0.180240 0.382683 -0.906127 11 | v 0.191342 0.195090 -0.961940 12 | v 0.195090 0.000000 -0.980785 13 | v 0.191342 -0.195090 -0.961940 14 | v 0.180240 -0.382683 -0.906127 15 | v 0.162212 -0.555570 -0.815493 16 | v 0.137950 -0.707107 -0.693520 17 | v 0.108386 -0.831470 -0.544895 18 | v 0.074658 -0.923880 -0.375330 19 | v 0.038060 -0.980785 -0.191341 20 | v 0.074658 0.980785 -0.180240 21 | v 0.146447 0.923880 -0.353553 22 | v 0.212608 0.831470 -0.513280 23 | v 0.270598 0.707107 -0.653281 24 | v 0.318190 0.555570 -0.768178 25 | v 0.353553 0.382683 -0.853553 26 | v 0.375330 0.195090 -0.906127 27 | v 0.382684 0.000000 -0.923879 28 | v 0.375330 -0.195090 -0.906127 29 | v 0.353554 -0.382683 -0.853553 30 | v 0.318190 -0.555570 -0.768178 31 | v 0.270598 -0.707107 -0.653281 32 | v 0.212608 -0.831470 -0.513280 33 | v 0.146447 -0.923880 -0.353553 34 | v 0.074658 -0.980785 -0.180240 35 | v 0.108387 0.980785 -0.162212 36 | v 0.212608 0.923880 -0.318190 37 | v 0.308658 0.831470 -0.461940 38 | v 0.392848 0.707107 -0.587938 39 | v 0.461940 0.555570 -0.691342 40 | v 0.513280 0.382683 -0.768178 41 | v 0.544895 0.195090 -0.815493 42 | v 0.555570 0.000000 -0.831469 43 | v 0.544895 -0.195090 -0.815493 44 | v 0.513280 -0.382683 -0.768178 45 | v 0.461940 -0.555570 -0.691342 46 | v 0.392848 -0.707107 -0.587938 47 | v 0.308658 -0.831470 -0.461940 48 | v 0.212608 -0.923880 -0.318189 49 | v 0.108386 -0.980785 -0.162211 50 | v 0.137950 0.980785 -0.137950 51 | v 0.270598 0.923880 -0.270598 52 | v 0.392848 0.831470 -0.392847 53 | v 0.500000 0.707107 -0.500000 54 | v 0.587938 0.555570 -0.587938 55 | v 0.653282 0.382683 -0.653281 56 | v 0.693520 0.195090 -0.693520 57 | v 0.707107 0.000000 -0.707107 58 | v 0.693520 -0.195090 -0.693520 59 | v 0.653282 -0.382683 -0.653281 60 | v 0.587938 -0.555570 -0.587938 61 | v 0.500000 -0.707107 -0.500000 62 | v 0.392848 -0.831470 -0.392847 63 | v 0.270598 -0.923880 -0.270598 64 | v 0.137950 -0.980785 -0.137949 65 | v 0.162212 0.980785 -0.108386 66 | v 0.318190 0.923880 -0.212607 67 | v 0.461940 0.831470 -0.308658 68 | v 0.587938 0.707107 -0.392847 69 | v 0.691342 0.555570 -0.461940 70 | v 0.768178 0.382683 -0.513280 71 | v 0.815493 0.195090 -0.544895 72 | v 0.831470 0.000000 -0.555570 73 | v 0.815493 -0.195090 -0.544895 74 | v 0.768178 -0.382683 -0.513280 75 | v 0.691342 -0.555570 -0.461940 76 | v 0.587938 -0.707107 -0.392847 77 | v 0.461940 -0.831470 -0.308658 78 | v 0.318190 -0.923880 -0.212607 79 | v 0.162212 -0.980785 -0.108386 80 | v 0.180240 0.980785 -0.074658 81 | v 0.353554 0.923880 -0.146446 82 | v 0.513280 0.831470 -0.212607 83 | v 0.653282 0.707107 -0.270598 84 | v 0.768178 0.555570 -0.318189 85 | v 0.853554 0.382683 -0.353553 86 | v 0.906128 0.195090 -0.375330 87 | v 0.923880 0.000000 -0.382683 88 | v 0.906128 -0.195090 -0.375330 89 | v 0.853554 -0.382683 -0.353553 90 | v 0.768178 -0.555570 -0.318189 91 | v 0.653282 -0.707107 -0.270598 92 | v 0.513280 -0.831470 -0.212607 93 | v 0.353554 -0.923880 -0.146446 94 | v 0.180240 -0.980785 -0.074658 95 | v 0.191342 0.980785 -0.038060 96 | v 0.375331 0.923880 -0.074658 97 | v 0.544895 0.831470 -0.108386 98 | v 0.693520 0.707107 -0.137949 99 | v 0.815493 0.555570 -0.162211 100 | v 0.906128 0.382683 -0.180240 101 | v 0.961940 0.195090 -0.191341 102 | v 0.980785 0.000000 -0.195090 103 | v 0.961940 -0.195090 -0.191341 104 | v 0.906128 -0.382683 -0.180240 105 | v 0.815493 -0.555570 -0.162211 106 | v 0.693520 -0.707107 -0.137949 107 | v 0.544895 -0.831470 -0.108386 108 | v 0.375330 -0.923880 -0.074658 109 | v 0.191342 -0.980785 -0.038060 110 | v 0.195091 0.980785 0.000000 111 | v 0.382684 0.923880 0.000000 112 | v 0.555570 0.831470 0.000000 113 | v 0.707107 0.707107 0.000000 114 | v 0.831470 0.555570 0.000000 115 | v 0.923880 0.382683 0.000000 116 | v 0.980785 0.195090 0.000000 117 | v 1.000000 0.000000 0.000000 118 | v 0.980785 -0.195090 0.000000 119 | v 0.923880 -0.382683 0.000000 120 | v 0.831470 -0.555570 0.000000 121 | v 0.707107 -0.707107 0.000000 122 | v 0.555570 -0.831470 0.000000 123 | v 0.382684 -0.923880 0.000000 124 | v 0.195090 -0.980785 0.000000 125 | v 0.191342 0.980785 0.038061 126 | v 0.375331 0.923880 0.074658 127 | v 0.544895 0.831470 0.108387 128 | v 0.693520 0.707107 0.137950 129 | v 0.815493 0.555570 0.162212 130 | v 0.906128 0.382683 0.180240 131 | v 0.961940 0.195090 0.191342 132 | v 0.980785 0.000000 0.195091 133 | v 0.961940 -0.195090 0.191342 134 | v 0.906128 -0.382683 0.180240 135 | v 0.815493 -0.555570 0.162212 136 | v 0.693520 -0.707107 0.137950 137 | v 0.544895 -0.831470 0.108387 138 | v 0.375330 -0.923880 0.074658 139 | v 0.191342 -0.980785 0.038061 140 | v 0.180240 0.980785 0.074658 141 | v 0.353554 0.923880 0.146447 142 | v 0.513280 0.831470 0.212608 143 | v 0.653282 0.707107 0.270598 144 | v 0.768178 0.555570 0.318190 145 | v 0.853554 0.382683 0.353554 146 | v 0.906127 0.195090 0.375331 147 | v 0.923880 0.000000 0.382684 148 | v 0.906127 -0.195090 0.375331 149 | v 0.853554 -0.382683 0.353554 150 | v 0.768178 -0.555570 0.318190 151 | v 0.653282 -0.707107 0.270598 152 | v 0.513280 -0.831470 0.212608 153 | v 0.353553 -0.923880 0.146447 154 | v 0.180240 -0.980785 0.074658 155 | v 0.162212 0.980785 0.108387 156 | v 0.318190 0.923880 0.212608 157 | v 0.461940 0.831470 0.308659 158 | v 0.587938 0.707107 0.392848 159 | v 0.691342 0.555570 0.461940 160 | v 0.768178 0.382683 0.513280 161 | v 0.815493 0.195090 0.544895 162 | v 0.831470 0.000000 0.555571 163 | v 0.815493 -0.195090 0.544895 164 | v 0.768178 -0.382683 0.513280 165 | v 0.691342 -0.555570 0.461940 166 | v 0.587938 -0.707107 0.392848 167 | v 0.461940 -0.831470 0.308659 168 | v 0.318190 -0.923880 0.212608 169 | v 0.162212 -0.980785 0.108387 170 | v 0.137950 0.980785 0.137950 171 | v 0.270598 0.923880 0.270599 172 | v 0.392848 0.831470 0.392848 173 | v 0.500000 0.707107 0.500000 174 | v 0.587938 0.555570 0.587938 175 | v 0.653282 0.382683 0.653282 176 | v 0.693520 0.195090 0.693520 177 | v 0.707107 0.000000 0.707107 178 | v 0.693520 -0.195090 0.693520 179 | v 0.653282 -0.382683 0.653282 180 | v 0.587938 -0.555570 0.587938 181 | v 0.500000 -0.707107 0.500000 182 | v 0.392848 -0.831470 0.392848 183 | v 0.270598 -0.923880 0.270598 184 | v 0.137950 -0.980785 0.137950 185 | v 0.108386 0.980785 0.162212 186 | v 0.212608 0.923880 0.318190 187 | v 0.308658 0.831470 0.461940 188 | v 0.392848 0.707107 0.587938 189 | v 0.461940 0.555570 0.691342 190 | v 0.513280 0.382683 0.768178 191 | v 0.544895 0.195090 0.815493 192 | v 0.555570 0.000000 0.831470 193 | v 0.544895 -0.195090 0.815493 194 | v 0.513280 -0.382683 0.768178 195 | v 0.461940 -0.555570 0.691342 196 | v 0.392848 -0.707107 0.587938 197 | v 0.308658 -0.831470 0.461940 198 | v 0.212608 -0.923880 0.318190 199 | v 0.108386 -0.980785 0.162212 200 | v 0.074658 0.980785 0.180240 201 | v 0.146447 0.923880 0.353554 202 | v 0.212608 0.831470 0.513280 203 | v 0.270598 0.707107 0.653282 204 | v 0.318190 0.555570 0.768178 205 | v 0.353553 0.382683 0.853554 206 | v 0.375330 0.195090 0.906128 207 | v 0.382683 0.000000 0.923880 208 | v 0.375330 -0.195090 0.906128 209 | v 0.353553 -0.382683 0.853554 210 | v 0.318190 -0.555570 0.768178 211 | v 0.270598 -0.707107 0.653282 212 | v 0.212608 -0.831470 0.513280 213 | v 0.146447 -0.923880 0.353554 214 | v 0.074658 -0.980785 0.180240 215 | v 0.038060 0.980785 0.191342 216 | v 0.074658 0.923880 0.375331 217 | v 0.108386 0.831470 0.544896 218 | v 0.137950 0.707107 0.693520 219 | v 0.162212 0.555570 0.815493 220 | v 0.180240 0.382683 0.906128 221 | v 0.191342 0.195090 0.961940 222 | v 0.195090 0.000000 0.980786 223 | v 0.191342 -0.195090 0.961940 224 | v 0.180240 -0.382683 0.906128 225 | v 0.162212 -0.555570 0.815493 226 | v 0.137950 -0.707107 0.693520 227 | v 0.108386 -0.831470 0.544895 228 | v 0.074658 -0.923880 0.375331 229 | v 0.038060 -0.980785 0.191342 230 | v -0.000000 0.980785 0.195091 231 | v 0.000000 0.923880 0.382684 232 | v 0.000000 0.831470 0.555571 233 | v -0.000000 0.707107 0.707107 234 | v -0.000000 0.555570 0.831470 235 | v 0.000000 0.382683 0.923880 236 | v -0.000000 0.195090 0.980785 237 | v -0.000000 0.000000 1.000000 238 | v -0.000000 -0.195090 0.980785 239 | v 0.000000 -0.382683 0.923880 240 | v -0.000000 -0.555570 0.831470 241 | v -0.000000 -0.707107 0.707107 242 | v -0.000000 -0.831470 0.555570 243 | v 0.000000 -0.923880 0.382684 244 | v 0.000000 -0.980785 0.195091 245 | v -0.038060 0.980785 0.191342 246 | v -0.074658 0.923880 0.375331 247 | v -0.108386 0.831470 0.544896 248 | v -0.137950 0.707107 0.693520 249 | v -0.162212 0.555570 0.815493 250 | v -0.180240 0.382683 0.906128 251 | v -0.191342 0.195090 0.961940 252 | v -0.195090 0.000000 0.980786 253 | v -0.191342 -0.195090 0.961940 254 | v -0.180240 -0.382683 0.906128 255 | v -0.162212 -0.555570 0.815493 256 | v -0.137950 -0.707107 0.693520 257 | v -0.108386 -0.831470 0.544895 258 | v -0.074658 -0.923880 0.375331 259 | v -0.038060 -0.980785 0.191342 260 | v -0.074658 0.980785 0.180240 261 | v -0.146447 0.923880 0.353554 262 | v -0.212608 0.831470 0.513280 263 | v -0.270598 0.707107 0.653282 264 | v -0.318190 0.555570 0.768178 265 | v -0.353553 0.382683 0.853554 266 | v -0.375330 0.195090 0.906127 267 | v -0.382684 0.000000 0.923880 268 | v -0.375330 -0.195090 0.906127 269 | v -0.353553 -0.382683 0.853554 270 | v -0.318190 -0.555570 0.768178 271 | v -0.270598 -0.707107 0.653282 272 | v -0.212608 -0.831470 0.513280 273 | v -0.146447 -0.923880 0.353554 274 | v -0.074658 -0.980785 0.180240 275 | v -0.108386 0.980785 0.162212 276 | v -0.212608 0.923880 0.318190 277 | v -0.308658 0.831470 0.461940 278 | v -0.392847 0.707107 0.587938 279 | v -0.461940 0.555570 0.691342 280 | v -0.513280 0.382683 0.768178 281 | v -0.544895 0.195090 0.815493 282 | v -0.555570 0.000000 0.831470 283 | v -0.544895 -0.195090 0.815493 284 | v -0.513280 -0.382683 0.768178 285 | v -0.461940 -0.555570 0.691342 286 | v -0.392847 -0.707107 0.587938 287 | v -0.308658 -0.831470 0.461940 288 | v -0.212607 -0.923880 0.318190 289 | v -0.108386 -0.980785 0.162212 290 | v -0.137950 0.980785 0.137950 291 | v -0.270598 0.923880 0.270598 292 | v -0.392848 0.831470 0.392848 293 | v -0.500000 0.707107 0.500000 294 | v -0.587938 0.555570 0.587938 295 | v -0.653281 0.382683 0.653282 296 | v -0.693520 0.195090 0.693520 297 | v -0.707107 0.000000 0.707107 298 | v -0.693520 -0.195090 0.693520 299 | v -0.653281 -0.382683 0.653282 300 | v -0.587938 -0.555570 0.587938 301 | v -0.500000 -0.707107 0.500000 302 | v -0.392847 -0.831470 0.392848 303 | v -0.270598 -0.923880 0.270598 304 | v -0.137950 -0.980785 0.137950 305 | v -0.000000 1.000000 0.000001 306 | v -0.162212 0.980785 0.108387 307 | v -0.318190 0.923880 0.212608 308 | v -0.461940 0.831470 0.308659 309 | v -0.587938 0.707107 0.392848 310 | v -0.691342 0.555570 0.461940 311 | v -0.768178 0.382683 0.513280 312 | v -0.815493 0.195090 0.544895 313 | v -0.831470 0.000000 0.555570 314 | v -0.815493 -0.195090 0.544895 315 | v -0.768178 -0.382683 0.513280 316 | v -0.691342 -0.555570 0.461940 317 | v -0.587938 -0.707107 0.392848 318 | v -0.461940 -0.831470 0.308658 319 | v -0.318190 -0.923880 0.212608 320 | v -0.162212 -0.980785 0.108387 321 | v -0.180240 0.980785 0.074658 322 | v -0.353553 0.923880 0.146447 323 | v -0.513280 0.831470 0.212608 324 | v -0.653281 0.707107 0.270598 325 | v -0.768177 0.555570 0.318190 326 | v -0.853553 0.382683 0.353554 327 | v -0.906127 0.195090 0.375330 328 | v -0.923880 0.000000 0.382684 329 | v -0.906127 -0.195090 0.375330 330 | v -0.853553 -0.382683 0.353554 331 | v -0.768177 -0.555570 0.318190 332 | v -0.653281 -0.707107 0.270598 333 | v -0.513280 -0.831470 0.212608 334 | v -0.353553 -0.923880 0.146447 335 | v -0.180240 -0.980785 0.074658 336 | v -0.191342 0.980785 0.038061 337 | v -0.375330 0.923880 0.074658 338 | v -0.544895 0.831470 0.108387 339 | v -0.693520 0.707107 0.137950 340 | v -0.815493 0.555570 0.162212 341 | v -0.906127 0.382683 0.180240 342 | v -0.961939 0.195090 0.191342 343 | v -0.980785 0.000000 0.195090 344 | v -0.961939 -0.195090 0.191342 345 | v -0.906127 -0.382683 0.180240 346 | v -0.815493 -0.555570 0.162212 347 | v -0.693520 -0.707107 0.137950 348 | v -0.544895 -0.831470 0.108387 349 | v -0.375330 -0.923880 0.074658 350 | v -0.191342 -0.980785 0.038061 351 | v -0.195090 0.980785 0.000000 352 | v -0.382683 0.923880 0.000000 353 | v -0.555570 0.831470 0.000000 354 | v -0.707107 0.707107 0.000000 355 | v -0.831469 0.555570 0.000000 356 | v -0.923879 0.382683 0.000000 357 | v -0.980785 0.195090 0.000000 358 | v -1.000000 0.000000 0.000000 359 | v -0.980785 -0.195090 0.000000 360 | v -0.923879 -0.382683 0.000000 361 | v -0.831469 -0.555570 0.000000 362 | v -0.707107 -0.707107 0.000000 363 | v -0.555570 -0.831470 0.000000 364 | v -0.382683 -0.923880 0.000000 365 | v -0.195090 -0.980785 0.000000 366 | v -0.191342 0.980785 -0.038060 367 | v -0.375330 0.923880 -0.074658 368 | v -0.544895 0.831470 -0.108386 369 | v -0.693520 0.707107 -0.137949 370 | v -0.815493 0.555570 -0.162211 371 | v -0.906127 0.382683 -0.180240 372 | v -0.961939 0.195090 -0.191342 373 | v -0.980785 0.000000 -0.195090 374 | v -0.961939 -0.195090 -0.191342 375 | v -0.906127 -0.382683 -0.180240 376 | v -0.815493 -0.555570 -0.162211 377 | v -0.693520 -0.707107 -0.137949 378 | v -0.544895 -0.831470 -0.108386 379 | v -0.375330 -0.923880 -0.074658 380 | v -0.191342 -0.980785 -0.038060 381 | v -0.180240 0.980785 -0.074658 382 | v -0.353553 0.923880 -0.146446 383 | v -0.513280 0.831470 -0.212607 384 | v -0.653281 0.707107 -0.270598 385 | v -0.768177 0.555570 -0.318189 386 | v -0.853553 0.382683 -0.353553 387 | v -0.906127 0.195090 -0.375330 388 | v -0.923879 0.000000 -0.382683 389 | v -0.906127 -0.195090 -0.375330 390 | v -0.853553 -0.382683 -0.353553 391 | v -0.768177 -0.555570 -0.318189 392 | v -0.653281 -0.707107 -0.270598 393 | v -0.513280 -0.831470 -0.212607 394 | v -0.353553 -0.923880 -0.146446 395 | v -0.180240 -0.980785 -0.074657 396 | v -0.162212 0.980785 -0.108386 397 | v -0.318190 0.923880 -0.212607 398 | v -0.461940 0.831470 -0.308658 399 | v -0.587938 0.707107 -0.392847 400 | v -0.691341 0.555570 -0.461939 401 | v -0.768178 0.382683 -0.513280 402 | v -0.815493 0.195090 -0.544895 403 | v -0.831469 0.000000 -0.555570 404 | v -0.815493 -0.195090 -0.544895 405 | v -0.768178 -0.382683 -0.513280 406 | v -0.691341 -0.555570 -0.461939 407 | v -0.587938 -0.707107 -0.392847 408 | v -0.461940 -0.831470 -0.308658 409 | v -0.318189 -0.923880 -0.212607 410 | v -0.162212 -0.980785 -0.108386 411 | v -0.137950 0.980785 -0.137949 412 | v -0.270598 0.923880 -0.270598 413 | v -0.392847 0.831470 -0.392847 414 | v -0.500000 0.707107 -0.500000 415 | v -0.587937 0.555570 -0.587937 416 | v -0.653281 0.382683 -0.653281 417 | v -0.693519 0.195090 -0.693519 418 | v -0.707106 0.000000 -0.707106 419 | v -0.693519 -0.195090 -0.693519 420 | v -0.653281 -0.382683 -0.653281 421 | v -0.587937 -0.555570 -0.587937 422 | v -0.500000 -0.707107 -0.500000 423 | v -0.392847 -0.831470 -0.392847 424 | v -0.270598 -0.923880 -0.270598 425 | v -0.137950 -0.980785 -0.137949 426 | v -0.108386 0.980785 -0.162211 427 | v -0.212607 0.923880 -0.318189 428 | v -0.308658 0.831470 -0.461939 429 | v -0.392847 0.707107 -0.587937 430 | v -0.461939 0.555570 -0.691341 431 | v -0.513280 0.382683 -0.768177 432 | v -0.544895 0.195090 -0.815492 433 | v -0.555570 0.000000 -0.831469 434 | v -0.544895 -0.195090 -0.815492 435 | v -0.513280 -0.382683 -0.768177 436 | v -0.461939 -0.555570 -0.691341 437 | v -0.392847 -0.707107 -0.587937 438 | v -0.308658 -0.831470 -0.461939 439 | v -0.212607 -0.923880 -0.318189 440 | v -0.108386 -0.980785 -0.162211 441 | v -0.074658 0.980785 -0.180240 442 | v -0.146447 0.923880 -0.353553 443 | v -0.212607 0.831470 -0.513280 444 | v -0.270598 0.707107 -0.653281 445 | v -0.318189 0.555570 -0.768177 446 | v -0.353553 0.382683 -0.853553 447 | v -0.375330 0.195090 -0.906127 448 | v -0.382683 0.000000 -0.923879 449 | v -0.375330 -0.195090 -0.906127 450 | v -0.353553 -0.382683 -0.853553 451 | v -0.318189 -0.555570 -0.768177 452 | v -0.270598 -0.707107 -0.653281 453 | v -0.212607 -0.831470 -0.513279 454 | v -0.146446 -0.923880 -0.353553 455 | v -0.074658 -0.980785 -0.180240 456 | v -0.038060 0.980785 -0.191342 457 | v -0.074658 0.923880 -0.375330 458 | v -0.108386 0.831470 -0.544895 459 | v -0.137950 0.707107 -0.693520 460 | v -0.162211 0.555570 -0.815492 461 | v -0.180240 0.382683 -0.906127 462 | v -0.191341 0.195090 -0.961939 463 | v -0.195090 0.000000 -0.980785 464 | v -0.191341 -0.195090 -0.961939 465 | v -0.180240 -0.382683 -0.906127 466 | v -0.162211 -0.555570 -0.815492 467 | v -0.137950 -0.707107 -0.693520 468 | v -0.108386 -0.831470 -0.544895 469 | v -0.074658 -0.923880 -0.375330 470 | v -0.038060 -0.980785 -0.191341 471 | v 0.000000 0.980785 -0.195090 472 | v 0.000000 0.923880 -0.382683 473 | v 0.000000 0.831470 -0.555570 474 | v 0.000000 0.707107 -0.707106 475 | v 0.000000 0.555570 -0.831469 476 | v 0.000000 0.382683 -0.923879 477 | v 0.000000 0.195090 -0.980784 478 | v 0.000000 0.000000 -0.999999 479 | v 0.000000 -0.195090 -0.980784 480 | v 0.000000 -0.382683 -0.923879 481 | v 0.000000 -0.555570 -0.831469 482 | v 0.000000 -0.707107 -0.707106 483 | v 0.000000 -0.831470 -0.555570 484 | v 0.000000 -0.923880 -0.382683 485 | v 0.000000 -0.980785 -0.195090 486 | v 0.000000 -1.000000 0.000000 487 | vn 0.0759 -0.6326 -0.7708 488 | vn 0.0759 0.6326 -0.7708 489 | vn 0.0624 -0.7715 -0.6332 490 | vn 0.0865 0.4696 -0.8786 491 | vn 0.0464 -0.8810 -0.4709 492 | vn 0.0938 0.2890 -0.9527 493 | vn 0.0286 -0.9565 -0.2902 494 | vn 0.0975 0.0976 -0.9904 495 | vn 0.0097 0.9951 -0.0980 496 | vn 0.0097 -0.9951 -0.0980 497 | vn 0.0975 -0.0976 -0.9904 498 | vn 0.0286 0.9565 -0.2902 499 | vn 0.0938 -0.2890 -0.9527 500 | vn 0.0464 0.8810 -0.4709 501 | vn 0.0865 -0.4696 -0.8786 502 | vn 0.0624 0.7715 -0.6332 503 | vn 0.2563 -0.4696 -0.8448 504 | vn 0.1847 0.7715 -0.6088 505 | vn 0.2248 -0.6326 -0.7412 506 | vn 0.2248 0.6326 -0.7412 507 | vn 0.1847 -0.7715 -0.6088 508 | vn 0.2563 0.4696 -0.8448 509 | vn 0.1374 -0.8810 -0.4528 510 | vn 0.2779 0.2890 -0.9161 511 | vn 0.0846 -0.9565 -0.2790 512 | vn 0.2889 0.0975 -0.9524 513 | vn 0.0286 0.9951 -0.0942 514 | vn 0.0286 -0.9951 -0.0942 515 | vn 0.2889 -0.0975 -0.9524 516 | vn 0.0846 0.9565 -0.2790 517 | vn 0.2779 -0.2890 -0.9161 518 | vn 0.1374 0.8810 -0.4528 519 | vn 0.1374 -0.9565 -0.2571 520 | vn 0.4691 0.0975 -0.8777 521 | vn 0.0464 0.9951 -0.0869 522 | vn 0.0464 -0.9951 -0.0869 523 | vn 0.4691 -0.0975 -0.8777 524 | vn 0.1374 0.9565 -0.2571 525 | vn 0.4513 -0.2890 -0.8443 526 | vn 0.2230 0.8810 -0.4173 527 | vn 0.4162 -0.4696 -0.7786 528 | vn 0.2999 0.7715 -0.5611 529 | vn 0.3651 -0.6326 -0.6831 530 | vn 0.3651 0.6326 -0.6831 531 | vn 0.2999 -0.7715 -0.5611 532 | vn 0.4162 0.4696 -0.7786 533 | vn 0.2230 -0.8810 -0.4173 534 | vn 0.4513 0.2890 -0.8443 535 | vn 0.4036 0.7715 -0.4918 536 | vn 0.4913 -0.6326 -0.5987 537 | vn 0.4913 0.6326 -0.5987 538 | vn 0.4036 -0.7715 -0.4918 539 | vn 0.5601 0.4696 -0.6825 540 | vn 0.3002 -0.8810 -0.3658 541 | vn 0.6073 0.2890 -0.7400 542 | vn 0.1850 -0.9565 -0.2254 543 | vn 0.6314 0.0976 -0.7693 544 | vn 0.0625 0.9951 -0.0761 545 | vn 0.0625 -0.9951 -0.0761 546 | vn 0.6314 -0.0976 -0.7693 547 | vn 0.1850 0.9565 -0.2254 548 | vn 0.6073 -0.2890 -0.7400 549 | vn 0.3002 0.8810 -0.3658 550 | vn 0.5601 -0.4696 -0.6825 551 | vn 0.7693 0.0975 -0.6314 552 | vn 0.0761 0.9951 -0.0625 553 | vn 0.0761 -0.9951 -0.0625 554 | vn 0.7693 -0.0975 -0.6314 555 | vn 0.2254 0.9565 -0.1850 556 | vn 0.7400 -0.2890 -0.6073 557 | vn 0.3658 0.8810 -0.3002 558 | vn 0.6825 -0.4696 -0.5601 559 | vn 0.4918 0.7715 -0.4036 560 | vn 0.5987 -0.6326 -0.4913 561 | vn 0.5987 0.6326 -0.4913 562 | vn 0.4918 -0.7715 -0.4036 563 | vn 0.6825 0.4696 -0.5601 564 | vn 0.3658 -0.8810 -0.3002 565 | vn 0.7400 0.2890 -0.6073 566 | vn 0.2254 -0.9565 -0.1850 567 | vn 0.6831 -0.6326 -0.3651 568 | vn 0.6831 0.6326 -0.3651 569 | vn 0.5611 -0.7715 -0.2999 570 | vn 0.7786 0.4696 -0.4162 571 | vn 0.4173 -0.8810 -0.2231 572 | vn 0.8443 0.2890 -0.4513 573 | vn 0.2571 -0.9565 -0.1374 574 | vn 0.8777 0.0976 -0.4691 575 | vn 0.0869 0.9951 -0.0464 576 | vn 0.0869 -0.9951 -0.0464 577 | vn 0.8777 -0.0976 -0.4691 578 | vn 0.2571 0.9565 -0.1374 579 | vn 0.8443 -0.2890 -0.4513 580 | vn 0.4173 0.8810 -0.2231 581 | vn 0.7786 -0.4696 -0.4162 582 | vn 0.5611 0.7715 -0.2999 583 | vn 0.0942 0.9951 -0.0286 584 | vn 0.0942 -0.9951 -0.0286 585 | vn 0.9524 -0.0976 -0.2889 586 | vn 0.2790 0.9565 -0.0846 587 | vn 0.9161 -0.2890 -0.2779 588 | vn 0.4528 0.8810 -0.1374 589 | vn 0.8448 -0.4696 -0.2563 590 | vn 0.6088 0.7715 -0.1847 591 | vn 0.7412 -0.6326 -0.2248 592 | vn 0.7412 0.6326 -0.2248 593 | vn 0.6088 -0.7715 -0.1847 594 | vn 0.8448 0.4696 -0.2563 595 | vn 0.4528 -0.8810 -0.1374 596 | vn 0.9161 0.2890 -0.2779 597 | vn 0.2790 -0.9565 -0.0846 598 | vn 0.9524 0.0976 -0.2889 599 | vn 0.7708 0.6326 -0.0759 600 | vn 0.6332 -0.7715 -0.0624 601 | vn 0.8786 0.4696 -0.0865 602 | vn 0.4709 -0.8810 -0.0464 603 | vn 0.9527 0.2890 -0.0938 604 | vn 0.2902 -0.9565 -0.0286 605 | vn 0.9904 0.0976 -0.0975 606 | vn 0.0980 0.9951 -0.0097 607 | vn 0.0980 -0.9951 -0.0097 608 | vn 0.9904 -0.0976 -0.0975 609 | vn 0.2902 0.9565 -0.0286 610 | vn 0.9527 -0.2890 -0.0938 611 | vn 0.4709 0.8810 -0.0464 612 | vn 0.8786 -0.4696 -0.0865 613 | vn 0.6332 0.7715 -0.0624 614 | vn 0.7708 -0.6326 -0.0759 615 | vn 0.9904 -0.0976 0.0975 616 | vn 0.2902 0.9565 0.0286 617 | vn 0.9527 -0.2890 0.0938 618 | vn 0.4709 0.8810 0.0464 619 | vn 0.8786 -0.4696 0.0865 620 | vn 0.6332 0.7715 0.0624 621 | vn 0.7708 -0.6326 0.0759 622 | vn 0.7708 0.6326 0.0759 623 | vn 0.6332 -0.7715 0.0624 624 | vn 0.8786 0.4696 0.0865 625 | vn 0.4709 -0.8810 0.0464 626 | vn 0.9527 0.2890 0.0938 627 | vn 0.2902 -0.9565 0.0286 628 | vn 0.9904 0.0976 0.0975 629 | vn 0.0980 0.9951 0.0097 630 | vn 0.0980 -0.9951 0.0097 631 | vn 0.6088 -0.7715 0.1847 632 | vn 0.8448 0.4696 0.2563 633 | vn 0.4528 -0.8810 0.1374 634 | vn 0.9161 0.2890 0.2779 635 | vn 0.2790 -0.9565 0.0846 636 | vn 0.9524 0.0976 0.2889 637 | vn 0.0942 0.9951 0.0286 638 | vn 0.0942 -0.9951 0.0286 639 | vn 0.9524 -0.0976 0.2889 640 | vn 0.2790 0.9565 0.0846 641 | vn 0.9161 -0.2890 0.2779 642 | vn 0.4528 0.8810 0.1374 643 | vn 0.8448 -0.4696 0.2563 644 | vn 0.6088 0.7715 0.1847 645 | vn 0.7412 -0.6326 0.2248 646 | vn 0.7412 0.6326 0.2248 647 | vn 0.8443 -0.2890 0.4513 648 | vn 0.4173 0.8810 0.2231 649 | vn 0.7786 -0.4696 0.4162 650 | vn 0.5611 0.7715 0.2999 651 | vn 0.6831 -0.6326 0.3651 652 | vn 0.6831 0.6326 0.3651 653 | vn 0.5611 -0.7715 0.2999 654 | vn 0.7786 0.4696 0.4162 655 | vn 0.4173 -0.8810 0.2231 656 | vn 0.8443 0.2890 0.4513 657 | vn 0.2571 -0.9565 0.1374 658 | vn 0.8777 0.0976 0.4691 659 | vn 0.0869 0.9951 0.0464 660 | vn 0.0869 -0.9951 0.0464 661 | vn 0.8777 -0.0976 0.4691 662 | vn 0.2571 0.9565 0.1374 663 | vn 0.3658 -0.8810 0.3002 664 | vn 0.7400 0.2890 0.6073 665 | vn 0.2254 -0.9565 0.1850 666 | vn 0.7693 0.0976 0.6314 667 | vn 0.0761 0.9951 0.0625 668 | vn 0.0761 -0.9951 0.0625 669 | vn 0.7693 -0.0976 0.6314 670 | vn 0.2254 0.9565 0.1850 671 | vn 0.7400 -0.2890 0.6073 672 | vn 0.3658 0.8810 0.3002 673 | vn 0.6825 -0.4696 0.5601 674 | vn 0.4918 0.7715 0.4036 675 | vn 0.5987 -0.6326 0.4913 676 | vn 0.5987 0.6326 0.4913 677 | vn 0.4918 -0.7715 0.4036 678 | vn 0.6825 0.4696 0.5601 679 | vn 0.3002 0.8810 0.3658 680 | vn 0.5601 -0.4696 0.6825 681 | vn 0.4036 0.7715 0.4918 682 | vn 0.4913 -0.6326 0.5987 683 | vn 0.4913 0.6326 0.5987 684 | vn 0.4036 -0.7715 0.4918 685 | vn 0.5601 0.4696 0.6825 686 | vn 0.3002 -0.8810 0.3658 687 | vn 0.6073 0.2890 0.7400 688 | vn 0.1850 -0.9565 0.2254 689 | vn 0.6314 0.0976 0.7693 690 | vn 0.0625 0.9951 0.0761 691 | vn 0.0625 -0.9951 0.0761 692 | vn 0.6314 -0.0976 0.7693 693 | vn 0.1850 0.9565 0.2254 694 | vn 0.6073 -0.2890 0.7400 695 | vn 0.4513 0.2890 0.8443 696 | vn 0.1374 -0.9565 0.2571 697 | vn 0.4691 0.0976 0.8777 698 | vn 0.0464 0.9951 0.0869 699 | vn 0.0464 -0.9951 0.0869 700 | vn 0.4691 -0.0976 0.8777 701 | vn 0.1374 0.9565 0.2571 702 | vn 0.4513 -0.2890 0.8443 703 | vn 0.2230 0.8810 0.4173 704 | vn 0.4162 -0.4696 0.7786 705 | vn 0.2999 0.7715 0.5611 706 | vn 0.3651 -0.6326 0.6831 707 | vn 0.3651 0.6326 0.6831 708 | vn 0.2999 -0.7715 0.5611 709 | vn 0.4162 0.4696 0.7786 710 | vn 0.2230 -0.8810 0.4173 711 | vn 0.2563 -0.4696 0.8448 712 | vn 0.1847 0.7715 0.6088 713 | vn 0.2248 -0.6326 0.7412 714 | vn 0.2248 0.6326 0.7412 715 | vn 0.1847 -0.7715 0.6088 716 | vn 0.2563 0.4696 0.8448 717 | vn 0.1374 -0.8810 0.4528 718 | vn 0.2779 0.2890 0.9161 719 | vn 0.0846 -0.9565 0.2790 720 | vn 0.2889 0.0976 0.9524 721 | vn 0.0286 0.9951 0.0942 722 | vn 0.0286 -0.9951 0.0942 723 | vn 0.2889 -0.0976 0.9524 724 | vn 0.0846 0.9565 0.2790 725 | vn 0.2779 -0.2890 0.9161 726 | vn 0.1374 0.8810 0.4528 727 | vn 0.0286 -0.9565 0.2902 728 | vn 0.0975 0.0976 0.9904 729 | vn 0.0097 0.9951 0.0980 730 | vn 0.0097 -0.9951 0.0980 731 | vn 0.0975 -0.0976 0.9904 732 | vn 0.0286 0.9565 0.2902 733 | vn 0.0938 -0.2890 0.9527 734 | vn 0.0464 0.8810 0.4709 735 | vn 0.0865 -0.4696 0.8786 736 | vn 0.0624 0.7715 0.6332 737 | vn 0.0759 -0.6326 0.7708 738 | vn 0.0759 0.6326 0.7708 739 | vn 0.0624 -0.7715 0.6332 740 | vn 0.0865 0.4696 0.8786 741 | vn 0.0464 -0.8810 0.4709 742 | vn 0.0938 0.2890 0.9527 743 | vn -0.0624 0.7715 0.6332 744 | vn -0.0759 -0.6326 0.7708 745 | vn -0.0759 0.6326 0.7708 746 | vn -0.0624 -0.7715 0.6332 747 | vn -0.0865 0.4696 0.8786 748 | vn -0.0464 -0.8810 0.4709 749 | vn -0.0938 0.2890 0.9527 750 | vn -0.0286 -0.9565 0.2902 751 | vn -0.0976 0.0976 0.9904 752 | vn -0.0097 0.9951 0.0980 753 | vn -0.0097 -0.9951 0.0980 754 | vn -0.0976 -0.0976 0.9904 755 | vn -0.0286 0.9565 0.2902 756 | vn -0.0938 -0.2890 0.9527 757 | vn -0.0464 0.8810 0.4709 758 | vn -0.0865 -0.4696 0.8786 759 | vn -0.2889 0.0976 0.9524 760 | vn -0.0286 0.9951 0.0942 761 | vn -0.0286 -0.9951 0.0942 762 | vn -0.2889 -0.0976 0.9524 763 | vn -0.0846 0.9565 0.2790 764 | vn -0.2779 -0.2890 0.9161 765 | vn -0.1374 0.8810 0.4528 766 | vn -0.2563 -0.4696 0.8448 767 | vn -0.1847 0.7715 0.6088 768 | vn -0.2248 -0.6326 0.7412 769 | vn -0.2248 0.6326 0.7412 770 | vn -0.1847 -0.7715 0.6088 771 | vn -0.2563 0.4696 0.8448 772 | vn -0.1374 -0.8810 0.4528 773 | vn -0.2779 0.2890 0.9161 774 | vn -0.0846 -0.9565 0.2790 775 | vn -0.3651 -0.6326 0.6831 776 | vn -0.3651 0.6326 0.6831 777 | vn -0.2999 -0.7715 0.5611 778 | vn -0.4162 0.4696 0.7786 779 | vn -0.2230 -0.8810 0.4173 780 | vn -0.4513 0.2890 0.8443 781 | vn -0.1374 -0.9565 0.2571 782 | vn -0.4691 0.0976 0.8777 783 | vn -0.0464 0.9951 0.0869 784 | vn -0.0464 -0.9951 0.0869 785 | vn -0.4691 -0.0976 0.8777 786 | vn -0.1374 0.9565 0.2571 787 | vn -0.4513 -0.2890 0.8443 788 | vn -0.2230 0.8810 0.4173 789 | vn -0.4162 -0.4696 0.7786 790 | vn -0.2999 0.7715 0.5611 791 | vn -0.0625 -0.9951 0.0761 792 | vn -0.6314 -0.0976 0.7693 793 | vn -0.1850 0.9565 0.2254 794 | vn -0.6073 -0.2890 0.7400 795 | vn -0.3002 0.8810 0.3658 796 | vn -0.5601 -0.4696 0.6825 797 | vn -0.4036 0.7715 0.4918 798 | vn -0.4913 -0.6326 0.5987 799 | vn -0.4913 0.6326 0.5987 800 | vn -0.4036 -0.7715 0.4918 801 | vn -0.5601 0.4696 0.6825 802 | vn -0.3002 -0.8810 0.3658 803 | vn -0.6073 0.2890 0.7400 804 | vn -0.1850 -0.9565 0.2254 805 | vn -0.6314 0.0976 0.7693 806 | vn -0.0625 0.9951 0.0761 807 | vn -0.4918 -0.7715 0.4036 808 | vn -0.6825 0.4696 0.5601 809 | vn -0.3658 -0.8810 0.3002 810 | vn -0.7400 0.2890 0.6073 811 | vn -0.2254 -0.9565 0.1850 812 | vn -0.7693 0.0976 0.6314 813 | vn -0.0761 0.9951 0.0625 814 | vn -0.0761 -0.9951 0.0625 815 | vn -0.7693 -0.0976 0.6314 816 | vn -0.2254 0.9565 0.1850 817 | vn -0.7400 -0.2890 0.6073 818 | vn -0.3658 0.8810 0.3002 819 | vn -0.6825 -0.4696 0.5601 820 | vn -0.4918 0.7715 0.4036 821 | vn -0.5987 -0.6326 0.4913 822 | vn -0.5987 0.6326 0.4913 823 | vn -0.2571 0.9565 0.1374 824 | vn -0.8443 -0.2890 0.4513 825 | vn -0.4173 0.8810 0.2231 826 | vn -0.7786 -0.4696 0.4162 827 | vn -0.5611 0.7715 0.2999 828 | vn -0.6831 -0.6326 0.3651 829 | vn -0.6831 0.6326 0.3651 830 | vn -0.5611 -0.7715 0.2999 831 | vn -0.7786 0.4696 0.4162 832 | vn -0.4173 -0.8810 0.2231 833 | vn -0.8443 0.2890 0.4513 834 | vn -0.2571 -0.9565 0.1374 835 | vn -0.8777 0.0976 0.4691 836 | vn -0.0869 0.9951 0.0464 837 | vn -0.0869 -0.9951 0.0464 838 | vn -0.8777 -0.0976 0.4691 839 | vn -0.8448 0.4696 0.2563 840 | vn -0.4528 -0.8810 0.1374 841 | vn -0.9161 0.2890 0.2779 842 | vn -0.2790 -0.9565 0.0846 843 | vn -0.9524 0.0976 0.2889 844 | vn -0.0942 0.9951 0.0286 845 | vn -0.0942 -0.9951 0.0286 846 | vn -0.9524 -0.0976 0.2889 847 | vn -0.2790 0.9565 0.0846 848 | vn -0.9161 -0.2890 0.2779 849 | vn -0.4528 0.8810 0.1374 850 | vn -0.8448 -0.4696 0.2563 851 | vn -0.6088 0.7715 0.1847 852 | vn -0.7412 -0.6326 0.2248 853 | vn -0.7412 0.6326 0.2248 854 | vn -0.6088 -0.7715 0.1847 855 | vn -0.9527 -0.2890 0.0938 856 | vn -0.4709 0.8810 0.0464 857 | vn -0.8786 -0.4696 0.0865 858 | vn -0.6332 0.7715 0.0624 859 | vn -0.7708 -0.6326 0.0759 860 | vn -0.7708 0.6326 0.0759 861 | vn -0.6332 -0.7715 0.0624 862 | vn -0.8786 0.4696 0.0865 863 | vn -0.4709 -0.8810 0.0464 864 | vn -0.9527 0.2890 0.0938 865 | vn -0.2902 -0.9565 0.0286 866 | vn -0.9904 0.0976 0.0975 867 | vn -0.0980 0.9951 0.0097 868 | vn -0.0980 -0.9951 0.0097 869 | vn -0.9904 -0.0976 0.0975 870 | vn -0.2902 0.9565 0.0286 871 | vn -0.4709 -0.8810 -0.0464 872 | vn -0.9527 0.2890 -0.0938 873 | vn -0.2902 -0.9565 -0.0286 874 | vn -0.9904 0.0976 -0.0976 875 | vn -0.0980 0.9951 -0.0097 876 | vn -0.0980 -0.9951 -0.0097 877 | vn -0.9904 -0.0976 -0.0976 878 | vn -0.2902 0.9565 -0.0286 879 | vn -0.9527 -0.2890 -0.0938 880 | vn -0.4709 0.8810 -0.0464 881 | vn -0.8786 -0.4696 -0.0865 882 | vn -0.6332 0.7715 -0.0624 883 | vn -0.7708 -0.6326 -0.0759 884 | vn -0.7708 0.6326 -0.0759 885 | vn -0.6332 -0.7715 -0.0624 886 | vn -0.8786 0.4696 -0.0865 887 | vn -0.4528 0.8810 -0.1374 888 | vn -0.8448 -0.4696 -0.2563 889 | vn -0.6088 0.7715 -0.1847 890 | vn -0.7412 -0.6326 -0.2248 891 | vn -0.7412 0.6326 -0.2248 892 | vn -0.6088 -0.7715 -0.1847 893 | vn -0.8448 0.4696 -0.2563 894 | vn -0.4528 -0.8810 -0.1374 895 | vn -0.9161 0.2890 -0.2779 896 | vn -0.2790 -0.9565 -0.0846 897 | vn -0.9524 0.0976 -0.2889 898 | vn -0.0942 0.9951 -0.0286 899 | vn -0.0942 -0.9951 -0.0286 900 | vn -0.9524 -0.0976 -0.2889 901 | vn -0.2790 0.9565 -0.0846 902 | vn -0.9161 -0.2890 -0.2779 903 | vn -0.8443 0.2890 -0.4513 904 | vn -0.2571 -0.9565 -0.1374 905 | vn -0.8777 0.0976 -0.4691 906 | vn -0.0869 0.9951 -0.0464 907 | vn -0.0869 -0.9951 -0.0464 908 | vn -0.8777 -0.0976 -0.4691 909 | vn -0.2571 0.9565 -0.1374 910 | vn -0.8443 -0.2890 -0.4513 911 | vn -0.4173 0.8810 -0.2231 912 | vn -0.7786 -0.4696 -0.4162 913 | vn -0.5611 0.7715 -0.2999 914 | vn -0.6831 -0.6326 -0.3651 915 | vn -0.6831 0.6326 -0.3651 916 | vn -0.5611 -0.7715 -0.2999 917 | vn -0.7786 0.4696 -0.4162 918 | vn -0.4173 -0.8810 -0.2231 919 | vn -0.6825 -0.4696 -0.5601 920 | vn -0.4918 0.7715 -0.4036 921 | vn -0.5987 -0.6326 -0.4913 922 | vn -0.5987 0.6326 -0.4913 923 | vn -0.4918 -0.7715 -0.4036 924 | vn -0.6825 0.4696 -0.5601 925 | vn -0.3658 -0.8810 -0.3002 926 | vn -0.7400 0.2890 -0.6073 927 | vn -0.2254 -0.9565 -0.1850 928 | vn -0.7693 0.0976 -0.6314 929 | vn -0.0761 0.9951 -0.0625 930 | vn -0.0761 -0.9951 -0.0625 931 | vn -0.7693 -0.0976 -0.6314 932 | vn -0.2254 0.9565 -0.1850 933 | vn -0.7400 -0.2890 -0.6073 934 | vn -0.3658 0.8810 -0.3002 935 | vn -0.1850 -0.9565 -0.2254 936 | vn -0.6314 0.0976 -0.7693 937 | vn -0.0625 0.9951 -0.0761 938 | vn -0.0625 -0.9951 -0.0761 939 | vn -0.6314 -0.0976 -0.7693 940 | vn -0.1850 0.9565 -0.2254 941 | vn -0.6073 -0.2890 -0.7400 942 | vn -0.3002 0.8810 -0.3658 943 | vn -0.5601 -0.4696 -0.6825 944 | vn -0.4036 0.7715 -0.4918 945 | vn -0.4913 -0.6326 -0.5987 946 | vn -0.4913 0.6326 -0.5987 947 | vn -0.4036 -0.7715 -0.4918 948 | vn -0.5601 0.4696 -0.6825 949 | vn -0.3002 -0.8810 -0.3658 950 | vn -0.6073 0.2890 -0.7400 951 | vn -0.3651 -0.6326 -0.6831 952 | vn -0.3651 0.6326 -0.6831 953 | vn -0.2999 -0.7715 -0.5611 954 | vn -0.4162 0.4696 -0.7786 955 | vn -0.2230 -0.8810 -0.4173 956 | vn -0.4513 0.2890 -0.8443 957 | vn -0.1374 -0.9565 -0.2571 958 | vn -0.4691 0.0976 -0.8777 959 | vn -0.0464 0.9951 -0.0869 960 | vn -0.0464 -0.9951 -0.0869 961 | vn -0.4691 -0.0976 -0.8777 962 | vn -0.1374 0.9565 -0.2571 963 | vn -0.4513 -0.2890 -0.8443 964 | vn -0.2230 0.8810 -0.4173 965 | vn -0.4162 -0.4696 -0.7786 966 | vn -0.2999 0.7715 -0.5611 967 | vn -0.0286 0.9951 -0.0942 968 | vn -0.0286 -0.9951 -0.0942 969 | vn -0.2889 -0.0976 -0.9524 970 | vn -0.0846 0.9565 -0.2790 971 | vn -0.2779 -0.2890 -0.9161 972 | vn -0.1374 0.8810 -0.4528 973 | vn -0.2563 -0.4696 -0.8448 974 | vn -0.1847 0.7715 -0.6088 975 | vn -0.2248 -0.6326 -0.7412 976 | vn -0.2248 0.6326 -0.7412 977 | vn -0.1847 -0.7715 -0.6088 978 | vn -0.2563 0.4696 -0.8448 979 | vn -0.1374 -0.8810 -0.4528 980 | vn -0.2779 0.2890 -0.9161 981 | vn -0.0846 -0.9565 -0.2790 982 | vn -0.2889 0.0976 -0.9524 983 | vn -0.0759 0.6326 -0.7708 984 | vn -0.0624 -0.7715 -0.6332 985 | vn -0.0865 0.4696 -0.8786 986 | vn -0.0464 -0.8810 -0.4709 987 | vn -0.0938 0.2890 -0.9527 988 | vn -0.0286 -0.9565 -0.2902 989 | vn -0.0975 0.0976 -0.9904 990 | vn -0.0097 0.9951 -0.0980 991 | vn -0.0097 -0.9951 -0.0980 992 | vn -0.0975 -0.0976 -0.9904 993 | vn -0.0286 0.9565 -0.2902 994 | vn -0.0938 -0.2890 -0.9527 995 | vn -0.0464 0.8810 -0.4709 996 | vn -0.0865 -0.4696 -0.8786 997 | vn -0.0624 0.7715 -0.6332 998 | vn -0.0759 -0.6326 -0.7708 999 | usemtl None 1000 | s off 1001 | f 478//1 477//1 11//1 12//1 1002 | f 471//2 470//2 4//2 5//2 1003 | f 479//3 478//3 12//3 13//3 1004 | f 472//4 471//4 5//4 6//4 1005 | f 480//5 479//5 13//5 14//5 1006 | f 473//6 472//6 6//6 7//6 1007 | f 481//7 480//7 14//7 15//7 1008 | f 474//8 473//8 7//8 8//8 1009 | f 467//9 301//9 1//9 1010 | f 482//10 481//10 15//10 1011 | f 475//11 474//11 8//11 9//11 1012 | f 468//12 467//12 1//12 2//12 1013 | f 476//13 475//13 9//13 10//13 1014 | f 469//14 468//14 2//14 3//14 1015 | f 477//15 476//15 10//15 11//15 1016 | f 470//16 469//16 3//16 4//16 1017 | f 11//17 10//17 25//17 26//17 1018 | f 4//18 3//18 18//18 19//18 1019 | f 12//19 11//19 26//19 27//19 1020 | f 5//20 4//20 19//20 20//20 1021 | f 13//21 12//21 27//21 28//21 1022 | f 6//22 5//22 20//22 21//22 1023 | f 14//23 13//23 28//23 29//23 1024 | f 7//24 6//24 21//24 22//24 1025 | f 15//25 14//25 29//25 30//25 1026 | f 8//26 7//26 22//26 23//26 1027 | f 1//27 301//27 16//27 1028 | f 482//28 15//28 30//28 1029 | f 9//29 8//29 23//29 24//29 1030 | f 2//30 1//30 16//30 17//30 1031 | f 10//31 9//31 24//31 25//31 1032 | f 3//32 2//32 17//32 18//32 1033 | f 30//33 29//33 44//33 45//33 1034 | f 23//34 22//34 37//34 38//34 1035 | f 16//35 301//35 31//35 1036 | f 482//36 30//36 45//36 1037 | f 24//37 23//37 38//37 39//37 1038 | f 17//38 16//38 31//38 32//38 1039 | f 25//39 24//39 39//39 40//39 1040 | f 18//40 17//40 32//40 33//40 1041 | f 26//41 25//41 40//41 41//41 1042 | f 19//42 18//42 33//42 34//42 1043 | f 27//43 26//43 41//43 42//43 1044 | f 20//44 19//44 34//44 35//44 1045 | f 28//45 27//45 42//45 43//45 1046 | f 21//46 20//46 35//46 36//46 1047 | f 29//47 28//47 43//47 44//47 1048 | f 22//48 21//48 36//48 37//48 1049 | f 34//49 33//49 48//49 49//49 1050 | f 42//50 41//50 56//50 57//50 1051 | f 35//51 34//51 49//51 50//51 1052 | f 43//52 42//52 57//52 58//52 1053 | f 36//53 35//53 50//53 51//53 1054 | f 44//54 43//54 58//54 59//54 1055 | f 37//55 36//55 51//55 52//55 1056 | f 45//56 44//56 59//56 60//56 1057 | f 38//57 37//57 52//57 53//57 1058 | f 31//58 301//58 46//58 1059 | f 482//59 45//59 60//59 1060 | f 39//60 38//60 53//60 54//60 1061 | f 32//61 31//61 46//61 47//61 1062 | f 40//62 39//62 54//62 55//62 1063 | f 33//63 32//63 47//63 48//63 1064 | f 41//64 40//64 55//64 56//64 1065 | f 53//65 52//65 67//65 68//65 1066 | f 46//66 301//66 61//66 1067 | f 482//67 60//67 75//67 1068 | f 54//68 53//68 68//68 69//68 1069 | f 47//69 46//69 61//69 62//69 1070 | f 55//70 54//70 69//70 70//70 1071 | f 48//71 47//71 62//71 63//71 1072 | f 56//72 55//72 70//72 71//72 1073 | f 49//73 48//73 63//73 64//73 1074 | f 57//74 56//74 71//74 72//74 1075 | f 50//75 49//75 64//75 65//75 1076 | f 58//76 57//76 72//76 73//76 1077 | f 51//77 50//77 65//77 66//77 1078 | f 59//78 58//78 73//78 74//78 1079 | f 52//79 51//79 66//79 67//79 1080 | f 60//80 59//80 74//80 75//80 1081 | f 72//81 71//81 86//81 87//81 1082 | f 65//82 64//82 79//82 80//82 1083 | f 73//83 72//83 87//83 88//83 1084 | f 66//84 65//84 80//84 81//84 1085 | f 74//85 73//85 88//85 89//85 1086 | f 67//86 66//86 81//86 82//86 1087 | f 75//87 74//87 89//87 90//87 1088 | f 68//88 67//88 82//88 83//88 1089 | f 61//89 301//89 76//89 1090 | f 482//90 75//90 90//90 1091 | f 69//91 68//91 83//91 84//91 1092 | f 62//92 61//92 76//92 77//92 1093 | f 70//93 69//93 84//93 85//93 1094 | f 63//94 62//94 77//94 78//94 1095 | f 71//95 70//95 85//95 86//95 1096 | f 64//96 63//96 78//96 79//96 1097 | f 76//97 301//97 91//97 1098 | f 482//98 90//98 105//98 1099 | f 84//99 83//99 98//99 99//99 1100 | f 77//100 76//100 91//100 92//100 1101 | f 85//101 84//101 99//101 100//101 1102 | f 78//102 77//102 92//102 93//102 1103 | f 86//103 85//103 100//103 101//103 1104 | f 79//104 78//104 93//104 94//104 1105 | f 87//105 86//105 101//105 102//105 1106 | f 80//106 79//106 94//106 95//106 1107 | f 88//107 87//107 102//107 103//107 1108 | f 81//108 80//108 95//108 96//108 1109 | f 89//109 88//109 103//109 104//109 1110 | f 82//110 81//110 96//110 97//110 1111 | f 90//111 89//111 104//111 105//111 1112 | f 83//112 82//112 97//112 98//112 1113 | f 95//113 94//113 109//113 110//113 1114 | f 103//114 102//114 117//114 118//114 1115 | f 96//115 95//115 110//115 111//115 1116 | f 104//116 103//116 118//116 119//116 1117 | f 97//117 96//117 111//117 112//117 1118 | f 105//118 104//118 119//118 120//118 1119 | f 98//119 97//119 112//119 113//119 1120 | f 91//120 301//120 106//120 1121 | f 482//121 105//121 120//121 1122 | f 99//122 98//122 113//122 114//122 1123 | f 92//123 91//123 106//123 107//123 1124 | f 100//124 99//124 114//124 115//124 1125 | f 93//125 92//125 107//125 108//125 1126 | f 101//126 100//126 115//126 116//126 1127 | f 94//127 93//127 108//127 109//127 1128 | f 102//128 101//128 116//128 117//128 1129 | f 114//129 113//129 128//129 129//129 1130 | f 107//130 106//130 121//130 122//130 1131 | f 115//131 114//131 129//131 130//131 1132 | f 108//132 107//132 122//132 123//132 1133 | f 116//133 115//133 130//133 131//133 1134 | f 109//134 108//134 123//134 124//134 1135 | f 117//135 116//135 131//135 132//135 1136 | f 110//136 109//136 124//136 125//136 1137 | f 118//137 117//137 132//137 133//137 1138 | f 111//138 110//138 125//138 126//138 1139 | f 119//139 118//139 133//139 134//139 1140 | f 112//140 111//140 126//140 127//140 1141 | f 120//141 119//141 134//141 135//141 1142 | f 113//142 112//142 127//142 128//142 1143 | f 106//143 301//143 121//143 1144 | f 482//144 120//144 135//144 1145 | f 133//145 132//145 147//145 148//145 1146 | f 126//146 125//146 140//146 141//146 1147 | f 134//147 133//147 148//147 149//147 1148 | f 127//148 126//148 141//148 142//148 1149 | f 135//149 134//149 149//149 150//149 1150 | f 128//150 127//150 142//150 143//150 1151 | f 121//151 301//151 136//151 1152 | f 482//152 135//152 150//152 1153 | f 129//153 128//153 143//153 144//153 1154 | f 122//154 121//154 136//154 137//154 1155 | f 130//155 129//155 144//155 145//155 1156 | f 123//156 122//156 137//156 138//156 1157 | f 131//157 130//157 145//157 146//157 1158 | f 124//158 123//158 138//158 139//158 1159 | f 132//159 131//159 146//159 147//159 1160 | f 125//160 124//160 139//160 140//160 1161 | f 145//161 144//161 159//161 160//161 1162 | f 138//162 137//162 152//162 153//162 1163 | f 146//163 145//163 160//163 161//163 1164 | f 139//164 138//164 153//164 154//164 1165 | f 147//165 146//165 161//165 162//165 1166 | f 140//166 139//166 154//166 155//166 1167 | f 148//167 147//167 162//167 163//167 1168 | f 141//168 140//168 155//168 156//168 1169 | f 149//169 148//169 163//169 164//169 1170 | f 142//170 141//170 156//170 157//170 1171 | f 150//171 149//171 164//171 165//171 1172 | f 143//172 142//172 157//172 158//172 1173 | f 136//173 301//173 151//173 1174 | f 482//174 150//174 165//174 1175 | f 144//175 143//175 158//175 159//175 1176 | f 137//176 136//176 151//176 152//176 1177 | f 164//177 163//177 178//177 179//177 1178 | f 157//178 156//178 171//178 172//178 1179 | f 165//179 164//179 179//179 180//179 1180 | f 158//180 157//180 172//180 173//180 1181 | f 151//181 301//181 166//181 1182 | f 482//182 165//182 180//182 1183 | f 159//183 158//183 173//183 174//183 1184 | f 152//184 151//184 166//184 167//184 1185 | f 160//185 159//185 174//185 175//185 1186 | f 153//186 152//186 167//186 168//186 1187 | f 161//187 160//187 175//187 176//187 1188 | f 154//188 153//188 168//188 169//188 1189 | f 162//189 161//189 176//189 177//189 1190 | f 155//190 154//190 169//190 170//190 1191 | f 163//191 162//191 177//191 178//191 1192 | f 156//192 155//192 170//192 171//192 1193 | f 168//193 167//193 182//193 183//193 1194 | f 176//194 175//194 190//194 191//194 1195 | f 169//195 168//195 183//195 184//195 1196 | f 177//196 176//196 191//196 192//196 1197 | f 170//197 169//197 184//197 185//197 1198 | f 178//198 177//198 192//198 193//198 1199 | f 171//199 170//199 185//199 186//199 1200 | f 179//200 178//200 193//200 194//200 1201 | f 172//201 171//201 186//201 187//201 1202 | f 180//202 179//202 194//202 195//202 1203 | f 173//203 172//203 187//203 188//203 1204 | f 166//204 301//204 181//204 1205 | f 482//205 180//205 195//205 1206 | f 174//206 173//206 188//206 189//206 1207 | f 167//207 166//207 181//207 182//207 1208 | f 175//208 174//208 189//208 190//208 1209 | f 187//209 186//209 201//209 202//209 1210 | f 195//210 194//210 209//210 210//210 1211 | f 188//211 187//211 202//211 203//211 1212 | f 181//212 301//212 196//212 1213 | f 482//213 195//213 210//213 1214 | f 189//214 188//214 203//214 204//214 1215 | f 182//215 181//215 196//215 197//215 1216 | f 190//216 189//216 204//216 205//216 1217 | f 183//217 182//217 197//217 198//217 1218 | f 191//218 190//218 205//218 206//218 1219 | f 184//219 183//219 198//219 199//219 1220 | f 192//220 191//220 206//220 207//220 1221 | f 185//221 184//221 199//221 200//221 1222 | f 193//222 192//222 207//222 208//222 1223 | f 186//223 185//223 200//223 201//223 1224 | f 194//224 193//224 208//224 209//224 1225 | f 206//225 205//225 220//225 221//225 1226 | f 199//226 198//226 213//226 214//226 1227 | f 207//227 206//227 221//227 222//227 1228 | f 200//228 199//228 214//228 215//228 1229 | f 208//229 207//229 222//229 223//229 1230 | f 201//230 200//230 215//230 216//230 1231 | f 209//231 208//231 223//231 224//231 1232 | f 202//232 201//232 216//232 217//232 1233 | f 210//233 209//233 224//233 225//233 1234 | f 203//234 202//234 217//234 218//234 1235 | f 196//235 301//235 211//235 1236 | f 482//236 210//236 225//236 1237 | f 204//237 203//237 218//237 219//237 1238 | f 197//238 196//238 211//238 212//238 1239 | f 205//239 204//239 219//239 220//239 1240 | f 198//240 197//240 212//240 213//240 1241 | f 225//241 224//241 239//241 240//241 1242 | f 218//242 217//242 232//242 233//242 1243 | f 211//243 301//243 226//243 1244 | f 482//244 225//244 240//244 1245 | f 219//245 218//245 233//245 234//245 1246 | f 212//246 211//246 226//246 227//246 1247 | f 220//247 219//247 234//247 235//247 1248 | f 213//248 212//248 227//248 228//248 1249 | f 221//249 220//249 235//249 236//249 1250 | f 214//250 213//250 228//250 229//250 1251 | f 222//251 221//251 236//251 237//251 1252 | f 215//252 214//252 229//252 230//252 1253 | f 223//253 222//253 237//253 238//253 1254 | f 216//254 215//254 230//254 231//254 1255 | f 224//255 223//255 238//255 239//255 1256 | f 217//256 216//256 231//256 232//256 1257 | f 229//257 228//257 243//257 244//257 1258 | f 237//258 236//258 251//258 252//258 1259 | f 230//259 229//259 244//259 245//259 1260 | f 238//260 237//260 252//260 253//260 1261 | f 231//261 230//261 245//261 246//261 1262 | f 239//262 238//262 253//262 254//262 1263 | f 232//263 231//263 246//263 247//263 1264 | f 240//264 239//264 254//264 255//264 1265 | f 233//265 232//265 247//265 248//265 1266 | f 226//266 301//266 241//266 1267 | f 482//267 240//267 255//267 1268 | f 234//268 233//268 248//268 249//268 1269 | f 227//269 226//269 241//269 242//269 1270 | f 235//270 234//270 249//270 250//270 1271 | f 228//271 227//271 242//271 243//271 1272 | f 236//272 235//272 250//272 251//272 1273 | f 248//273 247//273 262//273 263//273 1274 | f 241//274 301//274 256//274 1275 | f 482//275 255//275 270//275 1276 | f 249//276 248//276 263//276 264//276 1277 | f 242//277 241//277 256//277 257//277 1278 | f 250//278 249//278 264//278 265//278 1279 | f 243//279 242//279 257//279 258//279 1280 | f 251//280 250//280 265//280 266//280 1281 | f 244//281 243//281 258//281 259//281 1282 | f 252//282 251//282 266//282 267//282 1283 | f 245//283 244//283 259//283 260//283 1284 | f 253//284 252//284 267//284 268//284 1285 | f 246//285 245//285 260//285 261//285 1286 | f 254//286 253//286 268//286 269//286 1287 | f 247//287 246//287 261//287 262//287 1288 | f 255//288 254//288 269//288 270//288 1289 | f 267//289 266//289 281//289 282//289 1290 | f 260//290 259//290 274//290 275//290 1291 | f 268//291 267//291 282//291 283//291 1292 | f 261//292 260//292 275//292 276//292 1293 | f 269//293 268//293 283//293 284//293 1294 | f 262//294 261//294 276//294 277//294 1295 | f 270//295 269//295 284//295 285//295 1296 | f 263//296 262//296 277//296 278//296 1297 | f 256//297 301//297 271//297 1298 | f 482//298 270//298 285//298 1299 | f 264//299 263//299 278//299 279//299 1300 | f 257//300 256//300 271//300 272//300 1301 | f 265//301 264//301 279//301 280//301 1302 | f 258//302 257//302 272//302 273//302 1303 | f 266//303 265//303 280//303 281//303 1304 | f 259//304 258//304 273//304 274//304 1305 | f 482//305 285//305 300//305 1306 | f 279//306 278//306 293//306 294//306 1307 | f 272//307 271//307 286//307 287//307 1308 | f 280//308 279//308 294//308 295//308 1309 | f 273//309 272//309 287//309 288//309 1310 | f 281//310 280//310 295//310 296//310 1311 | f 274//311 273//311 288//311 289//311 1312 | f 282//312 281//312 296//312 297//312 1313 | f 275//313 274//313 289//313 290//313 1314 | f 283//314 282//314 297//314 298//314 1315 | f 276//315 275//315 290//315 291//315 1316 | f 284//316 283//316 298//316 299//316 1317 | f 277//317 276//317 291//317 292//317 1318 | f 285//318 284//318 299//318 300//318 1319 | f 278//319 277//319 292//319 293//319 1320 | f 271//320 301//320 286//320 1321 | f 298//321 297//321 313//321 314//321 1322 | f 291//322 290//322 306//322 307//322 1323 | f 299//323 298//323 314//323 315//323 1324 | f 292//324 291//324 307//324 308//324 1325 | f 300//325 299//325 315//325 316//325 1326 | f 293//326 292//326 308//326 309//326 1327 | f 286//327 301//327 302//327 1328 | f 482//328 300//328 316//328 1329 | f 294//329 293//329 309//329 310//329 1330 | f 287//330 286//330 302//330 303//330 1331 | f 295//331 294//331 310//331 311//331 1332 | f 288//332 287//332 303//332 304//332 1333 | f 296//333 295//333 311//333 312//333 1334 | f 289//334 288//334 304//334 305//334 1335 | f 297//335 296//335 312//335 313//335 1336 | f 290//336 289//336 305//336 306//336 1337 | f 303//337 302//337 317//337 318//337 1338 | f 311//338 310//338 325//338 326//338 1339 | f 304//339 303//339 318//339 319//339 1340 | f 312//340 311//340 326//340 327//340 1341 | f 305//341 304//341 319//341 320//341 1342 | f 313//342 312//342 327//342 328//342 1343 | f 306//343 305//343 320//343 321//343 1344 | f 314//344 313//344 328//344 329//344 1345 | f 307//345 306//345 321//345 322//345 1346 | f 315//346 314//346 329//346 330//346 1347 | f 308//347 307//347 322//347 323//347 1348 | f 316//348 315//348 330//348 331//348 1349 | f 309//349 308//349 323//349 324//349 1350 | f 302//350 301//350 317//350 1351 | f 482//351 316//351 331//351 1352 | f 310//352 309//352 324//352 325//352 1353 | f 322//353 321//353 336//353 337//353 1354 | f 330//354 329//354 344//354 345//354 1355 | f 323//355 322//355 337//355 338//355 1356 | f 331//356 330//356 345//356 346//356 1357 | f 324//357 323//357 338//357 339//357 1358 | f 317//358 301//358 332//358 1359 | f 482//359 331//359 346//359 1360 | f 325//360 324//360 339//360 340//360 1361 | f 318//361 317//361 332//361 333//361 1362 | f 326//362 325//362 340//362 341//362 1363 | f 319//363 318//363 333//363 334//363 1364 | f 327//364 326//364 341//364 342//364 1365 | f 320//365 319//365 334//365 335//365 1366 | f 328//366 327//366 342//366 343//366 1367 | f 321//367 320//367 335//367 336//367 1368 | f 329//368 328//368 343//368 344//368 1369 | f 341//369 340//369 355//369 356//369 1370 | f 334//370 333//370 348//370 349//370 1371 | f 342//371 341//371 356//371 357//371 1372 | f 335//372 334//372 349//372 350//372 1373 | f 343//373 342//373 357//373 358//373 1374 | f 336//374 335//374 350//374 351//374 1375 | f 344//375 343//375 358//375 359//375 1376 | f 337//376 336//376 351//376 352//376 1377 | f 345//377 344//377 359//377 360//377 1378 | f 338//378 337//378 352//378 353//378 1379 | f 346//379 345//379 360//379 361//379 1380 | f 339//380 338//380 353//380 354//380 1381 | f 332//381 301//381 347//381 1382 | f 482//382 346//382 361//382 1383 | f 340//383 339//383 354//383 355//383 1384 | f 333//384 332//384 347//384 348//384 1385 | f 360//385 359//385 374//385 375//385 1386 | f 353//386 352//386 367//386 368//386 1387 | f 361//387 360//387 375//387 376//387 1388 | f 354//388 353//388 368//388 369//388 1389 | f 347//389 301//389 362//389 1390 | f 482//390 361//390 376//390 1391 | f 355//391 354//391 369//391 370//391 1392 | f 348//392 347//392 362//392 363//392 1393 | f 356//393 355//393 370//393 371//393 1394 | f 349//394 348//394 363//394 364//394 1395 | f 357//395 356//395 371//395 372//395 1396 | f 350//396 349//396 364//396 365//396 1397 | f 358//397 357//397 372//397 373//397 1398 | f 351//398 350//398 365//398 366//398 1399 | f 359//399 358//399 373//399 374//399 1400 | f 352//400 351//400 366//400 367//400 1401 | f 364//401 363//401 378//401 379//401 1402 | f 372//402 371//402 386//402 387//402 1403 | f 365//403 364//403 379//403 380//403 1404 | f 373//404 372//404 387//404 388//404 1405 | f 366//405 365//405 380//405 381//405 1406 | f 374//406 373//406 388//406 389//406 1407 | f 367//407 366//407 381//407 382//407 1408 | f 375//408 374//408 389//408 390//408 1409 | f 368//409 367//409 382//409 383//409 1410 | f 376//410 375//410 390//410 391//410 1411 | f 369//411 368//411 383//411 384//411 1412 | f 362//412 301//412 377//412 1413 | f 482//413 376//413 391//413 1414 | f 370//414 369//414 384//414 385//414 1415 | f 363//415 362//415 377//415 378//415 1416 | f 371//416 370//416 385//416 386//416 1417 | f 383//417 382//417 397//417 398//417 1418 | f 391//418 390//418 405//418 406//418 1419 | f 384//419 383//419 398//419 399//419 1420 | f 377//420 301//420 392//420 1421 | f 482//421 391//421 406//421 1422 | f 385//422 384//422 399//422 400//422 1423 | f 378//423 377//423 392//423 393//423 1424 | f 386//424 385//424 400//424 401//424 1425 | f 379//425 378//425 393//425 394//425 1426 | f 387//426 386//426 401//426 402//426 1427 | f 380//427 379//427 394//427 395//427 1428 | f 388//428 387//428 402//428 403//428 1429 | f 381//429 380//429 395//429 396//429 1430 | f 389//430 388//430 403//430 404//430 1431 | f 382//431 381//431 396//431 397//431 1432 | f 390//432 389//432 404//432 405//432 1433 | f 402//433 401//433 416//433 417//433 1434 | f 395//434 394//434 409//434 410//434 1435 | f 403//435 402//435 417//435 418//435 1436 | f 396//436 395//436 410//436 411//436 1437 | f 404//437 403//437 418//437 419//437 1438 | f 397//438 396//438 411//438 412//438 1439 | f 405//439 404//439 419//439 420//439 1440 | f 398//440 397//440 412//440 413//440 1441 | f 406//441 405//441 420//441 421//441 1442 | f 399//442 398//442 413//442 414//442 1443 | f 392//443 301//443 407//443 1444 | f 482//444 406//444 421//444 1445 | f 400//445 399//445 414//445 415//445 1446 | f 393//446 392//446 407//446 408//446 1447 | f 401//447 400//447 415//447 416//447 1448 | f 394//448 393//448 408//448 409//448 1449 | f 421//449 420//449 435//449 436//449 1450 | f 414//450 413//450 428//450 429//450 1451 | f 407//451 301//451 422//451 1452 | f 482//452 421//452 436//452 1453 | f 415//453 414//453 429//453 430//453 1454 | f 408//454 407//454 422//454 423//454 1455 | f 416//455 415//455 430//455 431//455 1456 | f 409//456 408//456 423//456 424//456 1457 | f 417//457 416//457 431//457 432//457 1458 | f 410//458 409//458 424//458 425//458 1459 | f 418//459 417//459 432//459 433//459 1460 | f 411//460 410//460 425//460 426//460 1461 | f 419//461 418//461 433//461 434//461 1462 | f 412//462 411//462 426//462 427//462 1463 | f 420//463 419//463 434//463 435//463 1464 | f 413//464 412//464 427//464 428//464 1465 | f 433//465 432//465 447//465 448//465 1466 | f 426//466 425//466 440//466 441//466 1467 | f 434//467 433//467 448//467 449//467 1468 | f 427//468 426//468 441//468 442//468 1469 | f 435//469 434//469 449//469 450//469 1470 | f 428//470 427//470 442//470 443//470 1471 | f 436//471 435//471 450//471 451//471 1472 | f 429//472 428//472 443//472 444//472 1473 | f 422//473 301//473 437//473 1474 | f 482//474 436//474 451//474 1475 | f 430//475 429//475 444//475 445//475 1476 | f 423//476 422//476 437//476 438//476 1477 | f 431//477 430//477 445//477 446//477 1478 | f 424//478 423//478 438//478 439//478 1479 | f 432//479 431//479 446//479 447//479 1480 | f 425//480 424//480 439//480 440//480 1481 | f 437//481 301//481 452//481 1482 | f 482//482 451//482 466//482 1483 | f 445//483 444//483 459//483 460//483 1484 | f 438//484 437//484 452//484 453//484 1485 | f 446//485 445//485 460//485 461//485 1486 | f 439//486 438//486 453//486 454//486 1487 | f 447//487 446//487 461//487 462//487 1488 | f 440//488 439//488 454//488 455//488 1489 | f 448//489 447//489 462//489 463//489 1490 | f 441//490 440//490 455//490 456//490 1491 | f 449//491 448//491 463//491 464//491 1492 | f 442//492 441//492 456//492 457//492 1493 | f 450//493 449//493 464//493 465//493 1494 | f 443//494 442//494 457//494 458//494 1495 | f 451//495 450//495 465//495 466//495 1496 | f 444//496 443//496 458//496 459//496 1497 | f 456//497 455//497 470//497 471//497 1498 | f 464//498 463//498 478//498 479//498 1499 | f 457//499 456//499 471//499 472//499 1500 | f 465//500 464//500 479//500 480//500 1501 | f 458//501 457//501 472//501 473//501 1502 | f 466//502 465//502 480//502 481//502 1503 | f 459//503 458//503 473//503 474//503 1504 | f 452//504 301//504 467//504 1505 | f 482//505 466//505 481//505 1506 | f 460//506 459//506 474//506 475//506 1507 | f 453//507 452//507 467//507 468//507 1508 | f 461//508 460//508 475//508 476//508 1509 | f 454//509 453//509 468//509 469//509 1510 | f 462//510 461//510 476//510 477//510 1511 | f 455//511 454//511 469//511 470//511 1512 | f 463//512 462//512 477//512 478//512 1513 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/SphereFlat.obj.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33f70e909f6454e49a1c69c4eee9811d 3 | timeCreated: 1499706846 4 | licenseType: Pro 5 | ModelImporter: 6 | serializedVersion: 19 7 | fileIDToRecycleName: 8 | 100000: default 9 | 100002: //RootNode 10 | 400000: default 11 | 400002: //RootNode 12 | 2300000: default 13 | 3300000: default 14 | 4300000: default 15 | materials: 16 | importMaterials: 1 17 | materialName: 0 18 | materialSearch: 1 19 | animations: 20 | legacyGenerateAnimations: 4 21 | bakeSimulation: 0 22 | resampleCurves: 1 23 | optimizeGameObjects: 0 24 | motionNodeName: 25 | rigImportErrors: 26 | rigImportWarnings: 27 | animationImportErrors: 28 | animationImportWarnings: 29 | animationRetargetingWarnings: 30 | animationDoRetargetingWarnings: 0 31 | animationCompression: 1 32 | animationRotationError: 0.5 33 | animationPositionError: 0.5 34 | animationScaleError: 0.5 35 | animationWrapMode: 0 36 | extraExposedTransformPaths: [] 37 | clipAnimations: [] 38 | isReadable: 1 39 | meshes: 40 | lODScreenPercentages: [] 41 | globalScale: 1 42 | meshCompression: 0 43 | addColliders: 0 44 | importBlendShapes: 1 45 | swapUVChannels: 0 46 | generateSecondaryUV: 0 47 | useFileUnits: 1 48 | optimizeMeshForGPU: 1 49 | keepQuads: 0 50 | weldVertices: 1 51 | secondaryUVAngleDistortion: 8 52 | secondaryUVAreaDistortion: 15.000001 53 | secondaryUVHardAngle: 88 54 | secondaryUVPackMargin: 4 55 | useFileScale: 1 56 | tangentSpace: 57 | normalSmoothAngle: 60 58 | normalImportMode: 0 59 | tangentImportMode: 3 60 | importAnimation: 1 61 | copyAvatar: 0 62 | humanDescription: 63 | serializedVersion: 2 64 | human: [] 65 | skeleton: [] 66 | armTwist: 0.5 67 | foreArmTwist: 0.5 68 | upperLegTwist: 0.5 69 | legTwist: 0.5 70 | armStretch: 0.05 71 | legStretch: 0.05 72 | feetSpacing: 0 73 | rootMotionBoneName: 74 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} 75 | hasTranslationDoF: 0 76 | hasExtraRoot: 0 77 | skeletonHasParents: 1 78 | lastHumanDescriptionAvatarSource: {instanceID: 0} 79 | animationType: 0 80 | humanoidOversampling: 1 81 | additionalBone: 0 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/SphereSmooth.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/SphereSmooth.mtl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa3bc14a3546b4cfda3be1aaf12950d9 3 | timeCreated: 1499706845 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/SphereSmooth.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.78 (sub 0) OBJ File: '' 2 | # www.blender.org 3 | mtllib SphereSmooth.mtl 4 | o Sphere_Sphere.001 5 | v 0.038060 0.980785 -0.191342 6 | v 0.074658 0.923880 -0.375330 7 | v 0.108386 0.831470 -0.544895 8 | v 0.137950 0.707107 -0.693520 9 | v 0.162212 0.555570 -0.815493 10 | v 0.180240 0.382683 -0.906127 11 | v 0.191342 0.195090 -0.961940 12 | v 0.195090 0.000000 -0.980785 13 | v 0.191342 -0.195090 -0.961940 14 | v 0.180240 -0.382683 -0.906127 15 | v 0.162212 -0.555570 -0.815493 16 | v 0.137950 -0.707107 -0.693520 17 | v 0.108386 -0.831470 -0.544895 18 | v 0.074658 -0.923880 -0.375330 19 | v 0.038060 -0.980785 -0.191341 20 | v 0.074658 0.980785 -0.180240 21 | v 0.146447 0.923880 -0.353553 22 | v 0.212608 0.831470 -0.513280 23 | v 0.270598 0.707107 -0.653281 24 | v 0.318190 0.555570 -0.768178 25 | v 0.353553 0.382683 -0.853553 26 | v 0.375330 0.195090 -0.906127 27 | v 0.382684 0.000000 -0.923879 28 | v 0.375330 -0.195090 -0.906127 29 | v 0.353554 -0.382683 -0.853553 30 | v 0.318190 -0.555570 -0.768178 31 | v 0.270598 -0.707107 -0.653281 32 | v 0.212608 -0.831470 -0.513280 33 | v 0.146447 -0.923880 -0.353553 34 | v 0.074658 -0.980785 -0.180240 35 | v 0.108387 0.980785 -0.162212 36 | v 0.212608 0.923880 -0.318190 37 | v 0.308658 0.831470 -0.461940 38 | v 0.392848 0.707107 -0.587938 39 | v 0.461940 0.555570 -0.691342 40 | v 0.513280 0.382683 -0.768178 41 | v 0.544895 0.195090 -0.815493 42 | v 0.555570 0.000000 -0.831469 43 | v 0.544895 -0.195090 -0.815493 44 | v 0.513280 -0.382683 -0.768178 45 | v 0.461940 -0.555570 -0.691342 46 | v 0.392848 -0.707107 -0.587938 47 | v 0.308658 -0.831470 -0.461940 48 | v 0.212608 -0.923880 -0.318189 49 | v 0.108386 -0.980785 -0.162211 50 | v 0.137950 0.980785 -0.137950 51 | v 0.270598 0.923880 -0.270598 52 | v 0.392848 0.831470 -0.392847 53 | v 0.500000 0.707107 -0.500000 54 | v 0.587938 0.555570 -0.587938 55 | v 0.653282 0.382683 -0.653281 56 | v 0.693520 0.195090 -0.693520 57 | v 0.707107 0.000000 -0.707107 58 | v 0.693520 -0.195090 -0.693520 59 | v 0.653282 -0.382683 -0.653281 60 | v 0.587938 -0.555570 -0.587938 61 | v 0.500000 -0.707107 -0.500000 62 | v 0.392848 -0.831470 -0.392847 63 | v 0.270598 -0.923880 -0.270598 64 | v 0.137950 -0.980785 -0.137949 65 | v 0.162212 0.980785 -0.108386 66 | v 0.318190 0.923880 -0.212607 67 | v 0.461940 0.831470 -0.308658 68 | v 0.587938 0.707107 -0.392847 69 | v 0.691342 0.555570 -0.461940 70 | v 0.768178 0.382683 -0.513280 71 | v 0.815493 0.195090 -0.544895 72 | v 0.831470 0.000000 -0.555570 73 | v 0.815493 -0.195090 -0.544895 74 | v 0.768178 -0.382683 -0.513280 75 | v 0.691342 -0.555570 -0.461940 76 | v 0.587938 -0.707107 -0.392847 77 | v 0.461940 -0.831470 -0.308658 78 | v 0.318190 -0.923880 -0.212607 79 | v 0.162212 -0.980785 -0.108386 80 | v 0.180240 0.980785 -0.074658 81 | v 0.353554 0.923880 -0.146446 82 | v 0.513280 0.831470 -0.212607 83 | v 0.653282 0.707107 -0.270598 84 | v 0.768178 0.555570 -0.318189 85 | v 0.853554 0.382683 -0.353553 86 | v 0.906128 0.195090 -0.375330 87 | v 0.923880 0.000000 -0.382683 88 | v 0.906128 -0.195090 -0.375330 89 | v 0.853554 -0.382683 -0.353553 90 | v 0.768178 -0.555570 -0.318189 91 | v 0.653282 -0.707107 -0.270598 92 | v 0.513280 -0.831470 -0.212607 93 | v 0.353554 -0.923880 -0.146446 94 | v 0.180240 -0.980785 -0.074658 95 | v 0.191342 0.980785 -0.038060 96 | v 0.375331 0.923880 -0.074658 97 | v 0.544895 0.831470 -0.108386 98 | v 0.693520 0.707107 -0.137949 99 | v 0.815493 0.555570 -0.162211 100 | v 0.906128 0.382683 -0.180240 101 | v 0.961940 0.195090 -0.191341 102 | v 0.980785 0.000000 -0.195090 103 | v 0.961940 -0.195090 -0.191341 104 | v 0.906128 -0.382683 -0.180240 105 | v 0.815493 -0.555570 -0.162211 106 | v 0.693520 -0.707107 -0.137949 107 | v 0.544895 -0.831470 -0.108386 108 | v 0.375330 -0.923880 -0.074658 109 | v 0.191342 -0.980785 -0.038060 110 | v 0.195091 0.980785 0.000000 111 | v 0.382684 0.923880 0.000000 112 | v 0.555570 0.831470 0.000000 113 | v 0.707107 0.707107 0.000000 114 | v 0.831470 0.555570 0.000000 115 | v 0.923880 0.382683 0.000000 116 | v 0.980785 0.195090 0.000000 117 | v 1.000000 0.000000 0.000000 118 | v 0.980785 -0.195090 0.000000 119 | v 0.923880 -0.382683 0.000000 120 | v 0.831470 -0.555570 0.000000 121 | v 0.707107 -0.707107 0.000000 122 | v 0.555570 -0.831470 0.000000 123 | v 0.382684 -0.923880 0.000000 124 | v 0.195090 -0.980785 0.000000 125 | v 0.191342 0.980785 0.038061 126 | v 0.375331 0.923880 0.074658 127 | v 0.544895 0.831470 0.108387 128 | v 0.693520 0.707107 0.137950 129 | v 0.815493 0.555570 0.162212 130 | v 0.906128 0.382683 0.180240 131 | v 0.961940 0.195090 0.191342 132 | v 0.980785 0.000000 0.195091 133 | v 0.961940 -0.195090 0.191342 134 | v 0.906128 -0.382683 0.180240 135 | v 0.815493 -0.555570 0.162212 136 | v 0.693520 -0.707107 0.137950 137 | v 0.544895 -0.831470 0.108387 138 | v 0.375330 -0.923880 0.074658 139 | v 0.191342 -0.980785 0.038061 140 | v 0.180240 0.980785 0.074658 141 | v 0.353554 0.923880 0.146447 142 | v 0.513280 0.831470 0.212608 143 | v 0.653282 0.707107 0.270598 144 | v 0.768178 0.555570 0.318190 145 | v 0.853554 0.382683 0.353554 146 | v 0.906127 0.195090 0.375331 147 | v 0.923880 0.000000 0.382684 148 | v 0.906127 -0.195090 0.375331 149 | v 0.853554 -0.382683 0.353554 150 | v 0.768178 -0.555570 0.318190 151 | v 0.653282 -0.707107 0.270598 152 | v 0.513280 -0.831470 0.212608 153 | v 0.353553 -0.923880 0.146447 154 | v 0.180240 -0.980785 0.074658 155 | v 0.162212 0.980785 0.108387 156 | v 0.318190 0.923880 0.212608 157 | v 0.461940 0.831470 0.308659 158 | v 0.587938 0.707107 0.392848 159 | v 0.691342 0.555570 0.461940 160 | v 0.768178 0.382683 0.513280 161 | v 0.815493 0.195090 0.544895 162 | v 0.831470 0.000000 0.555571 163 | v 0.815493 -0.195090 0.544895 164 | v 0.768178 -0.382683 0.513280 165 | v 0.691342 -0.555570 0.461940 166 | v 0.587938 -0.707107 0.392848 167 | v 0.461940 -0.831470 0.308659 168 | v 0.318190 -0.923880 0.212608 169 | v 0.162212 -0.980785 0.108387 170 | v 0.137950 0.980785 0.137950 171 | v 0.270598 0.923880 0.270599 172 | v 0.392848 0.831470 0.392848 173 | v 0.500000 0.707107 0.500000 174 | v 0.587938 0.555570 0.587938 175 | v 0.653282 0.382683 0.653282 176 | v 0.693520 0.195090 0.693520 177 | v 0.707107 0.000000 0.707107 178 | v 0.693520 -0.195090 0.693520 179 | v 0.653282 -0.382683 0.653282 180 | v 0.587938 -0.555570 0.587938 181 | v 0.500000 -0.707107 0.500000 182 | v 0.392848 -0.831470 0.392848 183 | v 0.270598 -0.923880 0.270598 184 | v 0.137950 -0.980785 0.137950 185 | v 0.108386 0.980785 0.162212 186 | v 0.212608 0.923880 0.318190 187 | v 0.308658 0.831470 0.461940 188 | v 0.392848 0.707107 0.587938 189 | v 0.461940 0.555570 0.691342 190 | v 0.513280 0.382683 0.768178 191 | v 0.544895 0.195090 0.815493 192 | v 0.555570 0.000000 0.831470 193 | v 0.544895 -0.195090 0.815493 194 | v 0.513280 -0.382683 0.768178 195 | v 0.461940 -0.555570 0.691342 196 | v 0.392848 -0.707107 0.587938 197 | v 0.308658 -0.831470 0.461940 198 | v 0.212608 -0.923880 0.318190 199 | v 0.108386 -0.980785 0.162212 200 | v 0.074658 0.980785 0.180240 201 | v 0.146447 0.923880 0.353554 202 | v 0.212608 0.831470 0.513280 203 | v 0.270598 0.707107 0.653282 204 | v 0.318190 0.555570 0.768178 205 | v 0.353553 0.382683 0.853554 206 | v 0.375330 0.195090 0.906128 207 | v 0.382683 0.000000 0.923880 208 | v 0.375330 -0.195090 0.906128 209 | v 0.353553 -0.382683 0.853554 210 | v 0.318190 -0.555570 0.768178 211 | v 0.270598 -0.707107 0.653282 212 | v 0.212608 -0.831470 0.513280 213 | v 0.146447 -0.923880 0.353554 214 | v 0.074658 -0.980785 0.180240 215 | v 0.038060 0.980785 0.191342 216 | v 0.074658 0.923880 0.375331 217 | v 0.108386 0.831470 0.544896 218 | v 0.137950 0.707107 0.693520 219 | v 0.162212 0.555570 0.815493 220 | v 0.180240 0.382683 0.906128 221 | v 0.191342 0.195090 0.961940 222 | v 0.195090 0.000000 0.980786 223 | v 0.191342 -0.195090 0.961940 224 | v 0.180240 -0.382683 0.906128 225 | v 0.162212 -0.555570 0.815493 226 | v 0.137950 -0.707107 0.693520 227 | v 0.108386 -0.831470 0.544895 228 | v 0.074658 -0.923880 0.375331 229 | v 0.038060 -0.980785 0.191342 230 | v -0.000000 0.980785 0.195091 231 | v 0.000000 0.923880 0.382684 232 | v 0.000000 0.831470 0.555571 233 | v -0.000000 0.707107 0.707107 234 | v -0.000000 0.555570 0.831470 235 | v 0.000000 0.382683 0.923880 236 | v -0.000000 0.195090 0.980785 237 | v -0.000000 0.000000 1.000000 238 | v -0.000000 -0.195090 0.980785 239 | v 0.000000 -0.382683 0.923880 240 | v -0.000000 -0.555570 0.831470 241 | v -0.000000 -0.707107 0.707107 242 | v -0.000000 -0.831470 0.555570 243 | v 0.000000 -0.923880 0.382684 244 | v 0.000000 -0.980785 0.195091 245 | v -0.038060 0.980785 0.191342 246 | v -0.074658 0.923880 0.375331 247 | v -0.108386 0.831470 0.544896 248 | v -0.137950 0.707107 0.693520 249 | v -0.162212 0.555570 0.815493 250 | v -0.180240 0.382683 0.906128 251 | v -0.191342 0.195090 0.961940 252 | v -0.195090 0.000000 0.980786 253 | v -0.191342 -0.195090 0.961940 254 | v -0.180240 -0.382683 0.906128 255 | v -0.162212 -0.555570 0.815493 256 | v -0.137950 -0.707107 0.693520 257 | v -0.108386 -0.831470 0.544895 258 | v -0.074658 -0.923880 0.375331 259 | v -0.038060 -0.980785 0.191342 260 | v -0.074658 0.980785 0.180240 261 | v -0.146447 0.923880 0.353554 262 | v -0.212608 0.831470 0.513280 263 | v -0.270598 0.707107 0.653282 264 | v -0.318190 0.555570 0.768178 265 | v -0.353553 0.382683 0.853554 266 | v -0.375330 0.195090 0.906127 267 | v -0.382684 0.000000 0.923880 268 | v -0.375330 -0.195090 0.906127 269 | v -0.353553 -0.382683 0.853554 270 | v -0.318190 -0.555570 0.768178 271 | v -0.270598 -0.707107 0.653282 272 | v -0.212608 -0.831470 0.513280 273 | v -0.146447 -0.923880 0.353554 274 | v -0.074658 -0.980785 0.180240 275 | v -0.108386 0.980785 0.162212 276 | v -0.212608 0.923880 0.318190 277 | v -0.308658 0.831470 0.461940 278 | v -0.392847 0.707107 0.587938 279 | v -0.461940 0.555570 0.691342 280 | v -0.513280 0.382683 0.768178 281 | v -0.544895 0.195090 0.815493 282 | v -0.555570 0.000000 0.831470 283 | v -0.544895 -0.195090 0.815493 284 | v -0.513280 -0.382683 0.768178 285 | v -0.461940 -0.555570 0.691342 286 | v -0.392847 -0.707107 0.587938 287 | v -0.308658 -0.831470 0.461940 288 | v -0.212607 -0.923880 0.318190 289 | v -0.108386 -0.980785 0.162212 290 | v -0.137950 0.980785 0.137950 291 | v -0.270598 0.923880 0.270598 292 | v -0.392848 0.831470 0.392848 293 | v -0.500000 0.707107 0.500000 294 | v -0.587938 0.555570 0.587938 295 | v -0.653281 0.382683 0.653282 296 | v -0.693520 0.195090 0.693520 297 | v -0.707107 0.000000 0.707107 298 | v -0.693520 -0.195090 0.693520 299 | v -0.653281 -0.382683 0.653282 300 | v -0.587938 -0.555570 0.587938 301 | v -0.500000 -0.707107 0.500000 302 | v -0.392847 -0.831470 0.392848 303 | v -0.270598 -0.923880 0.270598 304 | v -0.137950 -0.980785 0.137950 305 | v -0.000000 1.000000 0.000001 306 | v -0.162212 0.980785 0.108387 307 | v -0.318190 0.923880 0.212608 308 | v -0.461940 0.831470 0.308659 309 | v -0.587938 0.707107 0.392848 310 | v -0.691342 0.555570 0.461940 311 | v -0.768178 0.382683 0.513280 312 | v -0.815493 0.195090 0.544895 313 | v -0.831470 0.000000 0.555570 314 | v -0.815493 -0.195090 0.544895 315 | v -0.768178 -0.382683 0.513280 316 | v -0.691342 -0.555570 0.461940 317 | v -0.587938 -0.707107 0.392848 318 | v -0.461940 -0.831470 0.308658 319 | v -0.318190 -0.923880 0.212608 320 | v -0.162212 -0.980785 0.108387 321 | v -0.180240 0.980785 0.074658 322 | v -0.353553 0.923880 0.146447 323 | v -0.513280 0.831470 0.212608 324 | v -0.653281 0.707107 0.270598 325 | v -0.768177 0.555570 0.318190 326 | v -0.853553 0.382683 0.353554 327 | v -0.906127 0.195090 0.375330 328 | v -0.923880 0.000000 0.382684 329 | v -0.906127 -0.195090 0.375330 330 | v -0.853553 -0.382683 0.353554 331 | v -0.768177 -0.555570 0.318190 332 | v -0.653281 -0.707107 0.270598 333 | v -0.513280 -0.831470 0.212608 334 | v -0.353553 -0.923880 0.146447 335 | v -0.180240 -0.980785 0.074658 336 | v -0.191342 0.980785 0.038061 337 | v -0.375330 0.923880 0.074658 338 | v -0.544895 0.831470 0.108387 339 | v -0.693520 0.707107 0.137950 340 | v -0.815493 0.555570 0.162212 341 | v -0.906127 0.382683 0.180240 342 | v -0.961939 0.195090 0.191342 343 | v -0.980785 0.000000 0.195090 344 | v -0.961939 -0.195090 0.191342 345 | v -0.906127 -0.382683 0.180240 346 | v -0.815493 -0.555570 0.162212 347 | v -0.693520 -0.707107 0.137950 348 | v -0.544895 -0.831470 0.108387 349 | v -0.375330 -0.923880 0.074658 350 | v -0.191342 -0.980785 0.038061 351 | v -0.195090 0.980785 0.000000 352 | v -0.382683 0.923880 0.000000 353 | v -0.555570 0.831470 0.000000 354 | v -0.707107 0.707107 0.000000 355 | v -0.831469 0.555570 0.000000 356 | v -0.923879 0.382683 0.000000 357 | v -0.980785 0.195090 0.000000 358 | v -1.000000 0.000000 0.000000 359 | v -0.980785 -0.195090 0.000000 360 | v -0.923879 -0.382683 0.000000 361 | v -0.831469 -0.555570 0.000000 362 | v -0.707107 -0.707107 0.000000 363 | v -0.555570 -0.831470 0.000000 364 | v -0.382683 -0.923880 0.000000 365 | v -0.195090 -0.980785 0.000000 366 | v -0.191342 0.980785 -0.038060 367 | v -0.375330 0.923880 -0.074658 368 | v -0.544895 0.831470 -0.108386 369 | v -0.693520 0.707107 -0.137949 370 | v -0.815493 0.555570 -0.162211 371 | v -0.906127 0.382683 -0.180240 372 | v -0.961939 0.195090 -0.191342 373 | v -0.980785 0.000000 -0.195090 374 | v -0.961939 -0.195090 -0.191342 375 | v -0.906127 -0.382683 -0.180240 376 | v -0.815493 -0.555570 -0.162211 377 | v -0.693520 -0.707107 -0.137949 378 | v -0.544895 -0.831470 -0.108386 379 | v -0.375330 -0.923880 -0.074658 380 | v -0.191342 -0.980785 -0.038060 381 | v -0.180240 0.980785 -0.074658 382 | v -0.353553 0.923880 -0.146446 383 | v -0.513280 0.831470 -0.212607 384 | v -0.653281 0.707107 -0.270598 385 | v -0.768177 0.555570 -0.318189 386 | v -0.853553 0.382683 -0.353553 387 | v -0.906127 0.195090 -0.375330 388 | v -0.923879 0.000000 -0.382683 389 | v -0.906127 -0.195090 -0.375330 390 | v -0.853553 -0.382683 -0.353553 391 | v -0.768177 -0.555570 -0.318189 392 | v -0.653281 -0.707107 -0.270598 393 | v -0.513280 -0.831470 -0.212607 394 | v -0.353553 -0.923880 -0.146446 395 | v -0.180240 -0.980785 -0.074657 396 | v -0.162212 0.980785 -0.108386 397 | v -0.318190 0.923880 -0.212607 398 | v -0.461940 0.831470 -0.308658 399 | v -0.587938 0.707107 -0.392847 400 | v -0.691341 0.555570 -0.461939 401 | v -0.768178 0.382683 -0.513280 402 | v -0.815493 0.195090 -0.544895 403 | v -0.831469 0.000000 -0.555570 404 | v -0.815493 -0.195090 -0.544895 405 | v -0.768178 -0.382683 -0.513280 406 | v -0.691341 -0.555570 -0.461939 407 | v -0.587938 -0.707107 -0.392847 408 | v -0.461940 -0.831470 -0.308658 409 | v -0.318189 -0.923880 -0.212607 410 | v -0.162212 -0.980785 -0.108386 411 | v -0.137950 0.980785 -0.137949 412 | v -0.270598 0.923880 -0.270598 413 | v -0.392847 0.831470 -0.392847 414 | v -0.500000 0.707107 -0.500000 415 | v -0.587937 0.555570 -0.587937 416 | v -0.653281 0.382683 -0.653281 417 | v -0.693519 0.195090 -0.693519 418 | v -0.707106 0.000000 -0.707106 419 | v -0.693519 -0.195090 -0.693519 420 | v -0.653281 -0.382683 -0.653281 421 | v -0.587937 -0.555570 -0.587937 422 | v -0.500000 -0.707107 -0.500000 423 | v -0.392847 -0.831470 -0.392847 424 | v -0.270598 -0.923880 -0.270598 425 | v -0.137950 -0.980785 -0.137949 426 | v -0.108386 0.980785 -0.162211 427 | v -0.212607 0.923880 -0.318189 428 | v -0.308658 0.831470 -0.461939 429 | v -0.392847 0.707107 -0.587937 430 | v -0.461939 0.555570 -0.691341 431 | v -0.513280 0.382683 -0.768177 432 | v -0.544895 0.195090 -0.815492 433 | v -0.555570 0.000000 -0.831469 434 | v -0.544895 -0.195090 -0.815492 435 | v -0.513280 -0.382683 -0.768177 436 | v -0.461939 -0.555570 -0.691341 437 | v -0.392847 -0.707107 -0.587937 438 | v -0.308658 -0.831470 -0.461939 439 | v -0.212607 -0.923880 -0.318189 440 | v -0.108386 -0.980785 -0.162211 441 | v -0.074658 0.980785 -0.180240 442 | v -0.146447 0.923880 -0.353553 443 | v -0.212607 0.831470 -0.513280 444 | v -0.270598 0.707107 -0.653281 445 | v -0.318189 0.555570 -0.768177 446 | v -0.353553 0.382683 -0.853553 447 | v -0.375330 0.195090 -0.906127 448 | v -0.382683 0.000000 -0.923879 449 | v -0.375330 -0.195090 -0.906127 450 | v -0.353553 -0.382683 -0.853553 451 | v -0.318189 -0.555570 -0.768177 452 | v -0.270598 -0.707107 -0.653281 453 | v -0.212607 -0.831470 -0.513279 454 | v -0.146446 -0.923880 -0.353553 455 | v -0.074658 -0.980785 -0.180240 456 | v -0.038060 0.980785 -0.191342 457 | v -0.074658 0.923880 -0.375330 458 | v -0.108386 0.831470 -0.544895 459 | v -0.137950 0.707107 -0.693520 460 | v -0.162211 0.555570 -0.815492 461 | v -0.180240 0.382683 -0.906127 462 | v -0.191341 0.195090 -0.961939 463 | v -0.195090 0.000000 -0.980785 464 | v -0.191341 -0.195090 -0.961939 465 | v -0.180240 -0.382683 -0.906127 466 | v -0.162211 -0.555570 -0.815492 467 | v -0.137950 -0.707107 -0.693520 468 | v -0.108386 -0.831470 -0.544895 469 | v -0.074658 -0.923880 -0.375330 470 | v -0.038060 -0.980785 -0.191341 471 | v 0.000000 0.980785 -0.195090 472 | v 0.000000 0.923880 -0.382683 473 | v 0.000000 0.831470 -0.555570 474 | v 0.000000 0.707107 -0.707106 475 | v 0.000000 0.555570 -0.831469 476 | v 0.000000 0.382683 -0.923879 477 | v 0.000000 0.195090 -0.980784 478 | v 0.000000 0.000000 -0.999999 479 | v 0.000000 -0.195090 -0.980784 480 | v 0.000000 -0.382683 -0.923879 481 | v 0.000000 -0.555570 -0.831469 482 | v 0.000000 -0.707107 -0.707106 483 | v 0.000000 -0.831470 -0.555570 484 | v 0.000000 -0.923880 -0.382683 485 | v 0.000000 -0.980785 -0.195090 486 | v 0.000000 -1.000000 0.000000 487 | vn 0.0000 -0.7040 -0.7101 488 | vn 0.0000 -0.5528 -0.8333 489 | vn 0.1626 -0.5528 -0.8173 490 | vn 0.1385 -0.7040 -0.6965 491 | vn 0.0000 0.5528 -0.8333 492 | vn 0.0000 0.7040 -0.7101 493 | vn 0.1385 0.7040 -0.6965 494 | vn 0.1626 0.5528 -0.8173 495 | vn 0.0000 -0.8286 -0.5598 496 | vn 0.1092 -0.8286 -0.5490 497 | vn 0.0000 0.3805 -0.9247 498 | vn 0.1804 0.3805 -0.9070 499 | vn 0.0000 -0.9217 -0.3879 500 | vn 0.0757 -0.9217 -0.3804 501 | vn 0.0000 0.1939 -0.9810 502 | vn 0.1914 0.1939 -0.9622 503 | vn 0.0000 -0.9796 -0.2010 504 | vn 0.0392 -0.9796 -0.1971 505 | vn 0.0000 0.0000 -1.0000 506 | vn 0.1951 0.0000 -0.9808 507 | vn 0.0000 0.9796 -0.2010 508 | vn 0.0000 1.0000 0.0000 509 | vn 0.0392 0.9796 -0.1971 510 | vn 0.0000 -1.0000 0.0000 511 | vn 0.0000 -0.1939 -0.9810 512 | vn 0.1914 -0.1939 -0.9622 513 | vn 0.0000 0.9217 -0.3879 514 | vn 0.0757 0.9217 -0.3804 515 | vn 0.0000 -0.3805 -0.9247 516 | vn 0.1804 -0.3805 -0.9070 517 | vn 0.0000 0.8286 -0.5598 518 | vn 0.1092 0.8286 -0.5490 519 | vn 0.3539 -0.3805 -0.8544 520 | vn 0.3189 -0.5528 -0.7699 521 | vn 0.2142 0.8286 -0.5171 522 | vn 0.2717 0.7040 -0.6561 523 | vn 0.2717 -0.7040 -0.6561 524 | vn 0.3189 0.5528 -0.7699 525 | vn 0.2142 -0.8286 -0.5171 526 | vn 0.3539 0.3805 -0.8544 527 | vn 0.1484 -0.9217 -0.3583 528 | vn 0.3754 0.1939 -0.9063 529 | vn 0.0769 -0.9796 -0.1856 530 | vn 0.3827 0.0000 -0.9239 531 | vn 0.0769 0.9796 -0.1856 532 | vn 0.3754 -0.1939 -0.9063 533 | vn 0.1484 0.9217 -0.3583 534 | vn 0.2155 -0.9217 -0.3225 535 | vn 0.1116 -0.9796 -0.1671 536 | vn 0.5450 0.1939 -0.8157 537 | vn 0.5556 0.0000 -0.8314 538 | vn 0.1116 0.9796 -0.1671 539 | vn 0.5450 -0.1939 -0.8157 540 | vn 0.2155 0.9217 -0.3225 541 | vn 0.5137 -0.3805 -0.7689 542 | vn 0.3110 0.8286 -0.4654 543 | vn 0.4630 -0.5528 -0.6929 544 | vn 0.3945 0.7040 -0.5904 545 | vn 0.3945 -0.7040 -0.5904 546 | vn 0.4630 0.5528 -0.6929 547 | vn 0.3110 -0.8286 -0.4654 548 | vn 0.5137 0.3805 -0.7689 549 | vn 0.3958 0.8286 -0.3958 550 | vn 0.5021 0.7040 -0.5021 551 | vn 0.5893 -0.5528 -0.5893 552 | vn 0.5021 -0.7040 -0.5021 553 | vn 0.5893 0.5528 -0.5893 554 | vn 0.3958 -0.8286 -0.3958 555 | vn 0.6539 0.3805 -0.6539 556 | vn 0.2743 -0.9217 -0.2743 557 | vn 0.6937 0.1939 -0.6937 558 | vn 0.1421 -0.9796 -0.1421 559 | vn 0.7071 0.0000 -0.7071 560 | vn 0.1421 0.9796 -0.1421 561 | vn 0.6937 -0.1939 -0.6937 562 | vn 0.2743 0.9217 -0.2743 563 | vn 0.6539 -0.3805 -0.6539 564 | vn 0.8157 0.1939 -0.5450 565 | vn 0.8314 0.0000 -0.5556 566 | vn 0.1671 0.9796 -0.1116 567 | vn 0.1671 -0.9796 -0.1116 568 | vn 0.8157 -0.1939 -0.5450 569 | vn 0.3225 0.9217 -0.2155 570 | vn 0.7689 -0.3805 -0.5137 571 | vn 0.4654 0.8286 -0.3110 572 | vn 0.6929 -0.5528 -0.4630 573 | vn 0.5904 0.7040 -0.3945 574 | vn 0.5904 -0.7040 -0.3945 575 | vn 0.6929 0.5528 -0.4630 576 | vn 0.4654 -0.8286 -0.3110 577 | vn 0.7689 0.3805 -0.5137 578 | vn 0.3225 -0.9217 -0.2155 579 | vn 0.7699 -0.5528 -0.3189 580 | vn 0.6561 -0.7040 -0.2717 581 | vn 0.6561 0.7040 -0.2717 582 | vn 0.7699 0.5528 -0.3189 583 | vn 0.5171 -0.8286 -0.2142 584 | vn 0.8544 0.3805 -0.3539 585 | vn 0.3583 -0.9217 -0.1484 586 | vn 0.9063 0.1939 -0.3754 587 | vn 0.1856 -0.9796 -0.0769 588 | vn 0.9239 0.0000 -0.3827 589 | vn 0.1856 0.9796 -0.0769 590 | vn 0.9063 -0.1939 -0.3754 591 | vn 0.3583 0.9217 -0.1484 592 | vn 0.8544 -0.3805 -0.3539 593 | vn 0.5171 0.8286 -0.2142 594 | vn 0.1971 0.9796 -0.0392 595 | vn 0.1971 -0.9796 -0.0392 596 | vn 0.9808 0.0000 -0.1951 597 | vn 0.9622 -0.1939 -0.1914 598 | vn 0.3804 0.9217 -0.0757 599 | vn 0.9070 -0.3805 -0.1804 600 | vn 0.5490 0.8286 -0.1092 601 | vn 0.8173 -0.5528 -0.1626 602 | vn 0.6965 0.7040 -0.1385 603 | vn 0.6965 -0.7040 -0.1385 604 | vn 0.8173 0.5528 -0.1626 605 | vn 0.5490 -0.8286 -0.1092 606 | vn 0.9070 0.3805 -0.1804 607 | vn 0.3804 -0.9217 -0.0757 608 | vn 0.9622 0.1939 -0.1914 609 | vn 0.7101 0.7040 0.0000 610 | vn 0.8333 0.5528 0.0000 611 | vn 0.7101 -0.7040 0.0000 612 | vn 0.5598 -0.8286 0.0000 613 | vn 0.9247 0.3805 0.0000 614 | vn 0.3879 -0.9217 0.0000 615 | vn 0.9810 0.1939 0.0000 616 | vn 0.2010 -0.9796 0.0000 617 | vn 1.0000 0.0000 0.0000 618 | vn 0.2010 0.9796 0.0000 619 | vn 0.9810 -0.1939 0.0000 620 | vn 0.3879 0.9217 0.0000 621 | vn 0.9247 -0.3805 0.0000 622 | vn 0.5598 0.8286 0.0000 623 | vn 0.8333 -0.5528 0.0000 624 | vn 0.9808 0.0000 0.1951 625 | vn 0.9622 -0.1939 0.1914 626 | vn 0.1971 0.9796 0.0392 627 | vn 0.3804 0.9217 0.0757 628 | vn 0.9070 -0.3805 0.1804 629 | vn 0.5490 0.8286 0.1092 630 | vn 0.8173 -0.5528 0.1626 631 | vn 0.6965 0.7040 0.1385 632 | vn 0.6965 -0.7040 0.1385 633 | vn 0.8173 0.5528 0.1626 634 | vn 0.5490 -0.8286 0.1092 635 | vn 0.9070 0.3805 0.1804 636 | vn 0.3804 -0.9217 0.0757 637 | vn 0.9622 0.1939 0.1914 638 | vn 0.1971 -0.9796 0.0392 639 | vn 0.6561 -0.7040 0.2717 640 | vn 0.5171 -0.8286 0.2142 641 | vn 0.7699 0.5528 0.3189 642 | vn 0.8544 0.3805 0.3539 643 | vn 0.3583 -0.9217 0.1484 644 | vn 0.9063 0.1939 0.3754 645 | vn 0.1856 -0.9796 0.0769 646 | vn 0.9239 0.0000 0.3827 647 | vn 0.1856 0.9796 0.0769 648 | vn 0.9063 -0.1939 0.3754 649 | vn 0.3583 0.9217 0.1484 650 | vn 0.8544 -0.3805 0.3539 651 | vn 0.5171 0.8286 0.2142 652 | vn 0.7699 -0.5528 0.3189 653 | vn 0.6561 0.7040 0.2717 654 | vn 0.8157 -0.1939 0.5450 655 | vn 0.7689 -0.3805 0.5137 656 | vn 0.3225 0.9217 0.2155 657 | vn 0.4654 0.8286 0.3110 658 | vn 0.6929 -0.5528 0.4630 659 | vn 0.5904 0.7040 0.3945 660 | vn 0.5904 -0.7040 0.3945 661 | vn 0.6929 0.5528 0.4630 662 | vn 0.4654 -0.8286 0.3110 663 | vn 0.7689 0.3805 0.5137 664 | vn 0.3225 -0.9217 0.2155 665 | vn 0.8157 0.1939 0.5450 666 | vn 0.1671 -0.9796 0.1116 667 | vn 0.8314 0.0000 0.5556 668 | vn 0.1671 0.9796 0.1116 669 | vn 0.3958 -0.8286 0.3958 670 | vn 0.2743 -0.9217 0.2743 671 | vn 0.6539 0.3805 0.6539 672 | vn 0.6937 0.1939 0.6937 673 | vn 0.1421 -0.9796 0.1421 674 | vn 0.7071 0.0000 0.7071 675 | vn 0.1421 0.9796 0.1421 676 | vn 0.6937 -0.1939 0.6937 677 | vn 0.2743 0.9217 0.2743 678 | vn 0.6539 -0.3805 0.6539 679 | vn 0.3958 0.8286 0.3958 680 | vn 0.5893 -0.5528 0.5893 681 | vn 0.5021 0.7040 0.5021 682 | vn 0.5021 -0.7040 0.5021 683 | vn 0.5893 0.5528 0.5893 684 | vn 0.2155 0.9217 0.3225 685 | vn 0.3110 0.8286 0.4654 686 | vn 0.5137 -0.3805 0.7689 687 | vn 0.4630 -0.5528 0.6929 688 | vn 0.3945 0.7040 0.5904 689 | vn 0.3945 -0.7040 0.5904 690 | vn 0.4630 0.5528 0.6929 691 | vn 0.3110 -0.8286 0.4654 692 | vn 0.5137 0.3805 0.7689 693 | vn 0.2155 -0.9217 0.3225 694 | vn 0.5450 0.1939 0.8157 695 | vn 0.1116 -0.9796 0.1671 696 | vn 0.5556 0.0000 0.8314 697 | vn 0.1116 0.9796 0.1671 698 | vn 0.5450 -0.1939 0.8157 699 | vn 0.3539 0.3805 0.8544 700 | vn 0.3754 0.1939 0.9063 701 | vn 0.1484 -0.9217 0.3583 702 | vn 0.0769 -0.9796 0.1856 703 | vn 0.3827 0.0000 0.9239 704 | vn 0.0769 0.9796 0.1856 705 | vn 0.3754 -0.1939 0.9063 706 | vn 0.1484 0.9217 0.3583 707 | vn 0.3539 -0.3805 0.8544 708 | vn 0.2142 0.8286 0.5171 709 | vn 0.3189 -0.5528 0.7699 710 | vn 0.2717 0.7040 0.6561 711 | vn 0.2717 -0.7040 0.6561 712 | vn 0.3189 0.5528 0.7699 713 | vn 0.2142 -0.8286 0.5171 714 | vn 0.1804 -0.3805 0.9070 715 | vn 0.1626 -0.5528 0.8173 716 | vn 0.1092 0.8286 0.5490 717 | vn 0.1385 0.7040 0.6965 718 | vn 0.1385 -0.7040 0.6965 719 | vn 0.1626 0.5528 0.8173 720 | vn 0.1092 -0.8286 0.5490 721 | vn 0.1804 0.3805 0.9070 722 | vn 0.0757 -0.9217 0.3804 723 | vn 0.1914 0.1939 0.9622 724 | vn 0.0392 -0.9796 0.1971 725 | vn 0.1951 0.0000 0.9808 726 | vn 0.0392 0.9796 0.1971 727 | vn 0.1914 -0.1939 0.9622 728 | vn 0.0757 0.9217 0.3804 729 | vn 0.0000 -0.9217 0.3879 730 | vn 0.0000 -0.9796 0.2010 731 | vn 0.0000 0.1939 0.9810 732 | vn 0.0000 0.0000 1.0000 733 | vn 0.0000 0.9796 0.2010 734 | vn 0.0000 -0.1939 0.9810 735 | vn 0.0000 0.9217 0.3879 736 | vn 0.0000 -0.3805 0.9247 737 | vn 0.0000 0.8286 0.5598 738 | vn 0.0000 -0.5528 0.8333 739 | vn 0.0000 0.7040 0.7101 740 | vn 0.0000 -0.7040 0.7101 741 | vn 0.0000 0.5528 0.8333 742 | vn 0.0000 -0.8286 0.5598 743 | vn 0.0000 0.3805 0.9247 744 | vn -0.1092 0.8286 0.5490 745 | vn -0.1385 0.7040 0.6965 746 | vn -0.1626 -0.5528 0.8173 747 | vn -0.1385 -0.7040 0.6965 748 | vn -0.1626 0.5528 0.8173 749 | vn -0.1092 -0.8286 0.5490 750 | vn -0.1804 0.3805 0.9070 751 | vn -0.0757 -0.9217 0.3804 752 | vn -0.1914 0.1939 0.9622 753 | vn -0.0392 -0.9796 0.1971 754 | vn -0.1951 0.0000 0.9808 755 | vn -0.0392 0.9796 0.1971 756 | vn -0.1914 -0.1939 0.9622 757 | vn -0.0757 0.9217 0.3804 758 | vn -0.1804 -0.3805 0.9070 759 | vn -0.3754 0.1939 0.9063 760 | vn -0.3827 0.0000 0.9239 761 | vn -0.0769 0.9796 0.1856 762 | vn -0.0769 -0.9796 0.1856 763 | vn -0.3754 -0.1939 0.9063 764 | vn -0.1484 0.9217 0.3583 765 | vn -0.3539 -0.3805 0.8544 766 | vn -0.2142 0.8286 0.5171 767 | vn -0.3189 -0.5528 0.7699 768 | vn -0.2717 0.7040 0.6561 769 | vn -0.2717 -0.7040 0.6561 770 | vn -0.3189 0.5528 0.7699 771 | vn -0.2142 -0.8286 0.5171 772 | vn -0.3539 0.3805 0.8544 773 | vn -0.1484 -0.9217 0.3583 774 | vn -0.4630 -0.5528 0.6929 775 | vn -0.3945 -0.7040 0.5904 776 | vn -0.3945 0.7040 0.5904 777 | vn -0.4630 0.5528 0.6929 778 | vn -0.3110 -0.8286 0.4654 779 | vn -0.5137 0.3805 0.7689 780 | vn -0.2155 -0.9217 0.3225 781 | vn -0.5450 0.1939 0.8157 782 | vn -0.1116 -0.9796 0.1671 783 | vn -0.5556 0.0000 0.8314 784 | vn -0.1116 0.9796 0.1671 785 | vn -0.5450 -0.1939 0.8157 786 | vn -0.2155 0.9217 0.3225 787 | vn -0.5137 -0.3805 0.7689 788 | vn -0.3110 0.8286 0.4654 789 | vn -0.1421 -0.9796 0.1421 790 | vn -0.7071 0.0000 0.7071 791 | vn -0.6937 -0.1939 0.6937 792 | vn -0.1421 0.9796 0.1421 793 | vn -0.2743 0.9217 0.2743 794 | vn -0.6539 -0.3805 0.6539 795 | vn -0.3958 0.8286 0.3958 796 | vn -0.5893 -0.5528 0.5893 797 | vn -0.5021 0.7040 0.5021 798 | vn -0.5021 -0.7040 0.5021 799 | vn -0.5893 0.5528 0.5893 800 | vn -0.3958 -0.8286 0.3958 801 | vn -0.6539 0.3805 0.6539 802 | vn -0.2743 -0.9217 0.2743 803 | vn -0.6937 0.1939 0.6937 804 | vn -0.5904 -0.7040 0.3945 805 | vn -0.4654 -0.8286 0.3110 806 | vn -0.6929 0.5528 0.4630 807 | vn -0.7689 0.3805 0.5137 808 | vn -0.3225 -0.9217 0.2155 809 | vn -0.8157 0.1939 0.5450 810 | vn -0.1671 -0.9796 0.1116 811 | vn -0.8314 0.0000 0.5556 812 | vn -0.1671 0.9796 0.1116 813 | vn -0.8157 -0.1939 0.5450 814 | vn -0.3225 0.9217 0.2155 815 | vn -0.7689 -0.3805 0.5137 816 | vn -0.4654 0.8286 0.3110 817 | vn -0.6929 -0.5528 0.4630 818 | vn -0.5904 0.7040 0.3945 819 | vn -0.1856 0.9796 0.0769 820 | vn -0.3583 0.9217 0.1484 821 | vn -0.9063 -0.1939 0.3754 822 | vn -0.8544 -0.3805 0.3539 823 | vn -0.5171 0.8286 0.2142 824 | vn -0.7699 -0.5528 0.3189 825 | vn -0.6561 0.7040 0.2717 826 | vn -0.6561 -0.7040 0.2717 827 | vn -0.7699 0.5528 0.3189 828 | vn -0.5171 -0.8286 0.2142 829 | vn -0.8544 0.3805 0.3539 830 | vn -0.3583 -0.9217 0.1484 831 | vn -0.9063 0.1939 0.3754 832 | vn -0.1856 -0.9796 0.0769 833 | vn -0.9239 0.0000 0.3827 834 | vn -0.8173 0.5528 0.1626 835 | vn -0.9070 0.3805 0.1804 836 | vn -0.5490 -0.8286 0.1092 837 | vn -0.3804 -0.9217 0.0757 838 | vn -0.9622 0.1939 0.1914 839 | vn -0.1971 -0.9796 0.0392 840 | vn -0.9808 0.0000 0.1951 841 | vn -0.1971 0.9796 0.0392 842 | vn -0.9622 -0.1939 0.1914 843 | vn -0.3804 0.9217 0.0757 844 | vn -0.9070 -0.3805 0.1804 845 | vn -0.5490 0.8286 0.1092 846 | vn -0.8173 -0.5528 0.1626 847 | vn -0.6965 0.7040 0.1385 848 | vn -0.6965 -0.7040 0.1385 849 | vn -0.9810 -0.1939 0.0000 850 | vn -0.9247 -0.3805 0.0000 851 | vn -0.3879 0.9217 0.0000 852 | vn -0.5598 0.8286 0.0000 853 | vn -0.8333 -0.5528 0.0000 854 | vn -0.7101 0.7040 0.0000 855 | vn -0.7101 -0.7040 0.0000 856 | vn -0.8333 0.5528 0.0000 857 | vn -0.5598 -0.8286 0.0000 858 | vn -0.9247 0.3805 0.0000 859 | vn -0.3879 -0.9217 0.0000 860 | vn -0.9810 0.1939 0.0000 861 | vn -0.2010 -0.9796 0.0000 862 | vn -1.0000 0.0000 0.0000 863 | vn -0.2010 0.9796 0.0000 864 | vn -0.5490 -0.8286 -0.1092 865 | vn -0.3804 -0.9217 -0.0757 866 | vn -0.9070 0.3805 -0.1804 867 | vn -0.9622 0.1939 -0.1914 868 | vn -0.1971 -0.9796 -0.0392 869 | vn -0.9808 0.0000 -0.1951 870 | vn -0.1971 0.9796 -0.0392 871 | vn -0.9622 -0.1939 -0.1914 872 | vn -0.3804 0.9217 -0.0757 873 | vn -0.9070 -0.3805 -0.1804 874 | vn -0.5490 0.8286 -0.1092 875 | vn -0.8173 -0.5528 -0.1626 876 | vn -0.6965 0.7040 -0.1385 877 | vn -0.6965 -0.7040 -0.1385 878 | vn -0.8173 0.5528 -0.1626 879 | vn -0.3583 0.9217 -0.1484 880 | vn -0.5171 0.8286 -0.2142 881 | vn -0.8544 -0.3805 -0.3539 882 | vn -0.7699 -0.5528 -0.3189 883 | vn -0.6561 0.7040 -0.2717 884 | vn -0.6561 -0.7040 -0.2717 885 | vn -0.7699 0.5528 -0.3189 886 | vn -0.5171 -0.8286 -0.2142 887 | vn -0.8544 0.3805 -0.3539 888 | vn -0.3583 -0.9217 -0.1484 889 | vn -0.9063 0.1939 -0.3754 890 | vn -0.1856 -0.9796 -0.0769 891 | vn -0.9239 0.0000 -0.3827 892 | vn -0.1856 0.9796 -0.0769 893 | vn -0.9063 -0.1939 -0.3754 894 | vn -0.7689 0.3805 -0.5137 895 | vn -0.8157 0.1939 -0.5450 896 | vn -0.3225 -0.9217 -0.2155 897 | vn -0.1671 -0.9796 -0.1116 898 | vn -0.8314 0.0000 -0.5556 899 | vn -0.1671 0.9796 -0.1116 900 | vn -0.8157 -0.1939 -0.5450 901 | vn -0.3225 0.9217 -0.2155 902 | vn -0.7689 -0.3805 -0.5137 903 | vn -0.4654 0.8286 -0.3110 904 | vn -0.6929 -0.5528 -0.4630 905 | vn -0.5904 0.7040 -0.3945 906 | vn -0.5904 -0.7040 -0.3945 907 | vn -0.6929 0.5528 -0.4630 908 | vn -0.4654 -0.8286 -0.3110 909 | vn -0.6539 -0.3805 -0.6539 910 | vn -0.5893 -0.5528 -0.5893 911 | vn -0.3958 0.8286 -0.3958 912 | vn -0.5021 0.7040 -0.5021 913 | vn -0.5021 -0.7040 -0.5021 914 | vn -0.5893 0.5528 -0.5893 915 | vn -0.3958 -0.8286 -0.3958 916 | vn -0.6539 0.3805 -0.6539 917 | vn -0.2743 -0.9217 -0.2743 918 | vn -0.6937 0.1939 -0.6937 919 | vn -0.1421 -0.9796 -0.1421 920 | vn -0.7071 0.0000 -0.7071 921 | vn -0.1421 0.9796 -0.1421 922 | vn -0.6937 -0.1939 -0.6937 923 | vn -0.2743 0.9217 -0.2743 924 | vn -0.2155 -0.9217 -0.3225 925 | vn -0.1116 -0.9796 -0.1671 926 | vn -0.5450 0.1939 -0.8157 927 | vn -0.5556 0.0000 -0.8314 928 | vn -0.1116 0.9796 -0.1671 929 | vn -0.5450 -0.1939 -0.8157 930 | vn -0.2155 0.9217 -0.3225 931 | vn -0.5137 -0.3805 -0.7689 932 | vn -0.3110 0.8286 -0.4654 933 | vn -0.4630 -0.5528 -0.6929 934 | vn -0.3945 0.7040 -0.5904 935 | vn -0.3945 -0.7040 -0.5904 936 | vn -0.4630 0.5528 -0.6929 937 | vn -0.3110 -0.8286 -0.4654 938 | vn -0.5137 0.3805 -0.7689 939 | vn -0.3189 -0.5528 -0.7699 940 | vn -0.2717 -0.7040 -0.6561 941 | vn -0.2717 0.7040 -0.6561 942 | vn -0.3189 0.5528 -0.7699 943 | vn -0.2142 -0.8286 -0.5171 944 | vn -0.3539 0.3805 -0.8544 945 | vn -0.1484 -0.9217 -0.3583 946 | vn -0.3754 0.1939 -0.9063 947 | vn -0.0769 -0.9796 -0.1856 948 | vn -0.3827 0.0000 -0.9239 949 | vn -0.0769 0.9796 -0.1856 950 | vn -0.3754 -0.1939 -0.9063 951 | vn -0.1484 0.9217 -0.3583 952 | vn -0.3539 -0.3805 -0.8544 953 | vn -0.2142 0.8286 -0.5171 954 | vn -0.0392 0.9796 -0.1971 955 | vn -0.0392 -0.9796 -0.1971 956 | vn -0.1951 0.0000 -0.9808 957 | vn -0.1914 -0.1939 -0.9622 958 | vn -0.0757 0.9217 -0.3804 959 | vn -0.1804 -0.3805 -0.9070 960 | vn -0.1092 0.8286 -0.5490 961 | vn -0.1626 -0.5528 -0.8173 962 | vn -0.1385 0.7040 -0.6965 963 | vn -0.1385 -0.7040 -0.6965 964 | vn -0.1626 0.5528 -0.8173 965 | vn -0.1092 -0.8286 -0.5490 966 | vn -0.1804 0.3805 -0.9070 967 | vn -0.0757 -0.9217 -0.3804 968 | vn -0.1914 0.1939 -0.9622 969 | usemtl None 970 | s 1 971 | f 478//1 477//2 11//3 12//4 972 | f 471//5 470//6 4//7 5//8 973 | f 479//9 478//1 12//4 13//10 974 | f 472//11 471//5 5//8 6//12 975 | f 480//13 479//9 13//10 14//14 976 | f 473//15 472//11 6//12 7//16 977 | f 481//17 480//13 14//14 15//18 978 | f 474//19 473//15 7//16 8//20 979 | f 467//21 301//22 1//23 980 | f 482//24 481//17 15//18 981 | f 475//25 474//19 8//20 9//26 982 | f 468//27 467//21 1//23 2//28 983 | f 476//29 475//25 9//26 10//30 984 | f 469//31 468//27 2//28 3//32 985 | f 477//2 476//29 10//30 11//3 986 | f 470//6 469//31 3//32 4//7 987 | f 11//3 10//30 25//33 26//34 988 | f 4//7 3//32 18//35 19//36 989 | f 12//4 11//3 26//34 27//37 990 | f 5//8 4//7 19//36 20//38 991 | f 13//10 12//4 27//37 28//39 992 | f 6//12 5//8 20//38 21//40 993 | f 14//14 13//10 28//39 29//41 994 | f 7//16 6//12 21//40 22//42 995 | f 15//18 14//14 29//41 30//43 996 | f 8//20 7//16 22//42 23//44 997 | f 1//23 301//22 16//45 998 | f 482//24 15//18 30//43 999 | f 9//26 8//20 23//44 24//46 1000 | f 2//28 1//23 16//45 17//47 1001 | f 10//30 9//26 24//46 25//33 1002 | f 3//32 2//28 17//47 18//35 1003 | f 30//43 29//41 44//48 45//49 1004 | f 23//44 22//42 37//50 38//51 1005 | f 16//45 301//22 31//52 1006 | f 482//24 30//43 45//49 1007 | f 24//46 23//44 38//51 39//53 1008 | f 17//47 16//45 31//52 32//54 1009 | f 25//33 24//46 39//53 40//55 1010 | f 18//35 17//47 32//54 33//56 1011 | f 26//34 25//33 40//55 41//57 1012 | f 19//36 18//35 33//56 34//58 1013 | f 27//37 26//34 41//57 42//59 1014 | f 20//38 19//36 34//58 35//60 1015 | f 28//39 27//37 42//59 43//61 1016 | f 21//40 20//38 35//60 36//62 1017 | f 29//41 28//39 43//61 44//48 1018 | f 22//42 21//40 36//62 37//50 1019 | f 34//58 33//56 48//63 49//64 1020 | f 42//59 41//57 56//65 57//66 1021 | f 35//60 34//58 49//64 50//67 1022 | f 43//61 42//59 57//66 58//68 1023 | f 36//62 35//60 50//67 51//69 1024 | f 44//48 43//61 58//68 59//70 1025 | f 37//50 36//62 51//69 52//71 1026 | f 45//49 44//48 59//70 60//72 1027 | f 38//51 37//50 52//71 53//73 1028 | f 31//52 301//22 46//74 1029 | f 482//24 45//49 60//72 1030 | f 39//53 38//51 53//73 54//75 1031 | f 32//54 31//52 46//74 47//76 1032 | f 40//55 39//53 54//75 55//77 1033 | f 33//56 32//54 47//76 48//63 1034 | f 41//57 40//55 55//77 56//65 1035 | f 53//73 52//71 67//78 68//79 1036 | f 46//74 301//22 61//80 1037 | f 482//24 60//72 75//81 1038 | f 54//75 53//73 68//79 69//82 1039 | f 47//76 46//74 61//80 62//83 1040 | f 55//77 54//75 69//82 70//84 1041 | f 48//63 47//76 62//83 63//85 1042 | f 56//65 55//77 70//84 71//86 1043 | f 49//64 48//63 63//85 64//87 1044 | f 57//66 56//65 71//86 72//88 1045 | f 50//67 49//64 64//87 65//89 1046 | f 58//68 57//66 72//88 73//90 1047 | f 51//69 50//67 65//89 66//91 1048 | f 59//70 58//68 73//90 74//92 1049 | f 52//71 51//69 66//91 67//78 1050 | f 60//72 59//70 74//92 75//81 1051 | f 72//88 71//86 86//93 87//94 1052 | f 65//89 64//87 79//95 80//96 1053 | f 73//90 72//88 87//94 88//97 1054 | f 66//91 65//89 80//96 81//98 1055 | f 74//92 73//90 88//97 89//99 1056 | f 67//78 66//91 81//98 82//100 1057 | f 75//81 74//92 89//99 90//101 1058 | f 68//79 67//78 82//100 83//102 1059 | f 61//80 301//22 76//103 1060 | f 482//24 75//81 90//101 1061 | f 69//82 68//79 83//102 84//104 1062 | f 62//83 61//80 76//103 77//105 1063 | f 70//84 69//82 84//104 85//106 1064 | f 63//85 62//83 77//105 78//107 1065 | f 71//86 70//84 85//106 86//93 1066 | f 64//87 63//85 78//107 79//95 1067 | f 76//103 301//22 91//108 1068 | f 482//24 90//101 105//109 1069 | f 84//104 83//102 98//110 99//111 1070 | f 77//105 76//103 91//108 92//112 1071 | f 85//106 84//104 99//111 100//113 1072 | f 78//107 77//105 92//112 93//114 1073 | f 86//93 85//106 100//113 101//115 1074 | f 79//95 78//107 93//114 94//116 1075 | f 87//94 86//93 101//115 102//117 1076 | f 80//96 79//95 94//116 95//118 1077 | f 88//97 87//94 102//117 103//119 1078 | f 81//98 80//96 95//118 96//120 1079 | f 89//99 88//97 103//119 104//121 1080 | f 82//100 81//98 96//120 97//122 1081 | f 90//101 89//99 104//121 105//109 1082 | f 83//102 82//100 97//122 98//110 1083 | f 95//118 94//116 109//123 110//124 1084 | f 103//119 102//117 117//125 118//126 1085 | f 96//120 95//118 110//124 111//127 1086 | f 104//121 103//119 118//126 119//128 1087 | f 97//122 96//120 111//127 112//129 1088 | f 105//109 104//121 119//128 120//130 1089 | f 98//110 97//122 112//129 113//131 1090 | f 91//108 301//22 106//132 1091 | f 482//24 105//109 120//130 1092 | f 99//111 98//110 113//131 114//133 1093 | f 92//112 91//108 106//132 107//134 1094 | f 100//113 99//111 114//133 115//135 1095 | f 93//114 92//112 107//134 108//136 1096 | f 101//115 100//113 115//135 116//137 1097 | f 94//116 93//114 108//136 109//123 1098 | f 102//117 101//115 116//137 117//125 1099 | f 114//133 113//131 128//138 129//139 1100 | f 107//134 106//132 121//140 122//141 1101 | f 115//135 114//133 129//139 130//142 1102 | f 108//136 107//134 122//141 123//143 1103 | f 116//137 115//135 130//142 131//144 1104 | f 109//123 108//136 123//143 124//145 1105 | f 117//125 116//137 131//144 132//146 1106 | f 110//124 109//123 124//145 125//147 1107 | f 118//126 117//125 132//146 133//148 1108 | f 111//127 110//124 125//147 126//149 1109 | f 119//128 118//126 133//148 134//150 1110 | f 112//129 111//127 126//149 127//151 1111 | f 120//130 119//128 134//150 135//152 1112 | f 113//131 112//129 127//151 128//138 1113 | f 106//132 301//22 121//140 1114 | f 482//24 120//130 135//152 1115 | f 133//148 132//146 147//153 148//154 1116 | f 126//149 125//147 140//155 141//156 1117 | f 134//150 133//148 148//154 149//157 1118 | f 127//151 126//149 141//156 142//158 1119 | f 135//152 134//150 149//157 150//159 1120 | f 128//138 127//151 142//158 143//160 1121 | f 121//140 301//22 136//161 1122 | f 482//24 135//152 150//159 1123 | f 129//139 128//138 143//160 144//162 1124 | f 122//141 121//140 136//161 137//163 1125 | f 130//142 129//139 144//162 145//164 1126 | f 123//143 122//141 137//163 138//165 1127 | f 131//144 130//142 145//164 146//166 1128 | f 124//145 123//143 138//165 139//167 1129 | f 132//146 131//144 146//166 147//153 1130 | f 125//147 124//145 139//167 140//155 1131 | f 145//164 144//162 159//168 160//169 1132 | f 138//165 137//163 152//170 153//171 1133 | f 146//166 145//164 160//169 161//172 1134 | f 139//167 138//165 153//171 154//173 1135 | f 147//153 146//166 161//172 162//174 1136 | f 140//155 139//167 154//173 155//175 1137 | f 148//154 147//153 162//174 163//176 1138 | f 141//156 140//155 155//175 156//177 1139 | f 149//157 148//154 163//176 164//178 1140 | f 142//158 141//156 156//177 157//179 1141 | f 150//159 149//157 164//178 165//180 1142 | f 143//160 142//158 157//179 158//181 1143 | f 136//161 301//22 151//182 1144 | f 482//24 150//159 165//180 1145 | f 144//162 143//160 158//181 159//168 1146 | f 137//163 136//161 151//182 152//170 1147 | f 164//178 163//176 178//183 179//184 1148 | f 157//179 156//177 171//185 172//186 1149 | f 165//180 164//178 179//184 180//187 1150 | f 158//181 157//179 172//186 173//188 1151 | f 151//182 301//22 166//189 1152 | f 482//24 165//180 180//187 1153 | f 159//168 158//181 173//188 174//190 1154 | f 152//170 151//182 166//189 167//191 1155 | f 160//169 159//168 174//190 175//192 1156 | f 153//171 152//170 167//191 168//193 1157 | f 161//172 160//169 175//192 176//194 1158 | f 154//173 153//171 168//193 169//195 1159 | f 162//174 161//172 176//194 177//196 1160 | f 155//175 154//173 169//195 170//197 1161 | f 163//176 162//174 177//196 178//183 1162 | f 156//177 155//175 170//197 171//185 1163 | f 168//193 167//191 182//198 183//199 1164 | f 176//194 175//192 190//200 191//201 1165 | f 169//195 168//193 183//199 184//202 1166 | f 177//196 176//194 191//201 192//203 1167 | f 170//197 169//195 184//202 185//204 1168 | f 178//183 177//196 192//203 193//205 1169 | f 171//185 170//197 185//204 186//206 1170 | f 179//184 178//183 193//205 194//207 1171 | f 172//186 171//185 186//206 187//208 1172 | f 180//187 179//184 194//207 195//209 1173 | f 173//188 172//186 187//208 188//210 1174 | f 166//189 301//22 181//211 1175 | f 482//24 180//187 195//209 1176 | f 174//190 173//188 188//210 189//212 1177 | f 167//191 166//189 181//211 182//198 1178 | f 175//192 174//190 189//212 190//200 1179 | f 187//208 186//206 201//213 202//214 1180 | f 195//209 194//207 209//215 210//216 1181 | f 188//210 187//208 202//214 203//217 1182 | f 181//211 301//22 196//218 1183 | f 482//24 195//209 210//216 1184 | f 189//212 188//210 203//217 204//219 1185 | f 182//198 181//211 196//218 197//220 1186 | f 190//200 189//212 204//219 205//221 1187 | f 183//199 182//198 197//220 198//222 1188 | f 191//201 190//200 205//221 206//223 1189 | f 184//202 183//199 198//222 199//224 1190 | f 192//203 191//201 206//223 207//225 1191 | f 185//204 184//202 199//224 200//226 1192 | f 193//205 192//203 207//225 208//227 1193 | f 186//206 185//204 200//226 201//213 1194 | f 194//207 193//205 208//227 209//215 1195 | f 206//223 205//221 220//228 221//229 1196 | f 199//224 198//222 213//230 214//231 1197 | f 207//225 206//223 221//229 222//232 1198 | f 200//226 199//224 214//231 215//233 1199 | f 208//227 207//225 222//232 223//234 1200 | f 201//213 200//226 215//233 216//235 1201 | f 209//215 208//227 223//234 224//236 1202 | f 202//214 201//213 216//235 217//237 1203 | f 210//216 209//215 224//236 225//238 1204 | f 203//217 202//214 217//237 218//239 1205 | f 196//218 301//22 211//240 1206 | f 482//24 210//216 225//238 1207 | f 204//219 203//217 218//239 219//241 1208 | f 197//220 196//218 211//240 212//242 1209 | f 205//221 204//219 219//241 220//228 1210 | f 198//222 197//220 212//242 213//230 1211 | f 225//238 224//236 239//243 240//244 1212 | f 218//239 217//237 232//245 233//246 1213 | f 211//240 301//22 226//247 1214 | f 482//24 225//238 240//244 1215 | f 219//241 218//239 233//246 234//248 1216 | f 212//242 211//240 226//247 227//249 1217 | f 220//228 219//241 234//248 235//250 1218 | f 213//230 212//242 227//249 228//251 1219 | f 221//229 220//228 235//250 236//252 1220 | f 214//231 213//230 228//251 229//253 1221 | f 222//232 221//229 236//252 237//254 1222 | f 215//233 214//231 229//253 230//255 1223 | f 223//234 222//232 237//254 238//256 1224 | f 216//235 215//233 230//255 231//257 1225 | f 224//236 223//234 238//256 239//243 1226 | f 217//237 216//235 231//257 232//245 1227 | f 229//253 228//251 243//258 244//259 1228 | f 237//254 236//252 251//260 252//261 1229 | f 230//255 229//253 244//259 245//262 1230 | f 238//256 237//254 252//261 253//263 1231 | f 231//257 230//255 245//262 246//264 1232 | f 239//243 238//256 253//263 254//265 1233 | f 232//245 231//257 246//264 247//266 1234 | f 240//244 239//243 254//265 255//267 1235 | f 233//246 232//245 247//266 248//268 1236 | f 226//247 301//22 241//269 1237 | f 482//24 240//244 255//267 1238 | f 234//248 233//246 248//268 249//270 1239 | f 227//249 226//247 241//269 242//271 1240 | f 235//250 234//248 249//270 250//272 1241 | f 228//251 227//249 242//271 243//258 1242 | f 236//252 235//250 250//272 251//260 1243 | f 248//268 247//266 262//273 263//274 1244 | f 241//269 301//22 256//275 1245 | f 482//24 255//267 270//276 1246 | f 249//270 248//268 263//274 264//277 1247 | f 242//271 241//269 256//275 257//278 1248 | f 250//272 249//270 264//277 265//279 1249 | f 243//258 242//271 257//278 258//280 1250 | f 251//260 250//272 265//279 266//281 1251 | f 244//259 243//258 258//280 259//282 1252 | f 252//261 251//260 266//281 267//283 1253 | f 245//262 244//259 259//282 260//284 1254 | f 253//263 252//261 267//283 268//285 1255 | f 246//264 245//262 260//284 261//286 1256 | f 254//265 253//263 268//285 269//287 1257 | f 247//266 246//264 261//286 262//273 1258 | f 255//267 254//265 269//287 270//276 1259 | f 267//283 266//281 281//288 282//289 1260 | f 260//284 259//282 274//290 275//291 1261 | f 268//285 267//283 282//289 283//292 1262 | f 261//286 260//284 275//291 276//293 1263 | f 269//287 268//285 283//292 284//294 1264 | f 262//273 261//286 276//293 277//295 1265 | f 270//276 269//287 284//294 285//296 1266 | f 263//274 262//273 277//295 278//297 1267 | f 256//275 301//22 271//298 1268 | f 482//24 270//276 285//296 1269 | f 264//277 263//274 278//297 279//299 1270 | f 257//278 256//275 271//298 272//300 1271 | f 265//279 264//277 279//299 280//301 1272 | f 258//280 257//278 272//300 273//302 1273 | f 266//281 265//279 280//301 281//288 1274 | f 259//282 258//280 273//302 274//290 1275 | f 482//24 285//296 300//303 1276 | f 279//299 278//297 293//304 294//305 1277 | f 272//300 271//298 286//306 287//307 1278 | f 280//301 279//299 294//305 295//308 1279 | f 273//302 272//300 287//307 288//309 1280 | f 281//288 280//301 295//308 296//310 1281 | f 274//290 273//302 288//309 289//311 1282 | f 282//289 281//288 296//310 297//312 1283 | f 275//291 274//290 289//311 290//313 1284 | f 283//292 282//289 297//312 298//314 1285 | f 276//293 275//291 290//313 291//315 1286 | f 284//294 283//292 298//314 299//316 1287 | f 277//295 276//293 291//315 292//317 1288 | f 285//296 284//294 299//316 300//303 1289 | f 278//297 277//295 292//317 293//304 1290 | f 271//298 301//22 286//306 1291 | f 298//314 297//312 313//318 314//319 1292 | f 291//315 290//313 306//320 307//321 1293 | f 299//316 298//314 314//319 315//322 1294 | f 292//317 291//315 307//321 308//323 1295 | f 300//303 299//316 315//322 316//324 1296 | f 293//304 292//317 308//323 309//325 1297 | f 286//306 301//22 302//326 1298 | f 482//24 300//303 316//324 1299 | f 294//305 293//304 309//325 310//327 1300 | f 287//307 286//306 302//326 303//328 1301 | f 295//308 294//305 310//327 311//329 1302 | f 288//309 287//307 303//328 304//330 1303 | f 296//310 295//308 311//329 312//331 1304 | f 289//311 288//309 304//330 305//332 1305 | f 297//312 296//310 312//331 313//318 1306 | f 290//313 289//311 305//332 306//320 1307 | f 303//328 302//326 317//333 318//334 1308 | f 311//329 310//327 325//335 326//336 1309 | f 304//330 303//328 318//334 319//337 1310 | f 312//331 311//329 326//336 327//338 1311 | f 305//332 304//330 319//337 320//339 1312 | f 313//318 312//331 327//338 328//340 1313 | f 306//320 305//332 320//339 321//341 1314 | f 314//319 313//318 328//340 329//342 1315 | f 307//321 306//320 321//341 322//343 1316 | f 315//322 314//319 329//342 330//344 1317 | f 308//323 307//321 322//343 323//345 1318 | f 316//324 315//322 330//344 331//346 1319 | f 309//325 308//323 323//345 324//347 1320 | f 302//326 301//22 317//333 1321 | f 482//24 316//324 331//346 1322 | f 310//327 309//325 324//347 325//335 1323 | f 322//343 321//341 336//348 337//349 1324 | f 330//344 329//342 344//350 345//351 1325 | f 323//345 322//343 337//349 338//352 1326 | f 331//346 330//344 345//351 346//353 1327 | f 324//347 323//345 338//352 339//354 1328 | f 317//333 301//22 332//355 1329 | f 482//24 331//346 346//353 1330 | f 325//335 324//347 339//354 340//356 1331 | f 318//334 317//333 332//355 333//357 1332 | f 326//336 325//335 340//356 341//358 1333 | f 319//337 318//334 333//357 334//359 1334 | f 327//338 326//336 341//358 342//360 1335 | f 320//339 319//337 334//359 335//361 1336 | f 328//340 327//338 342//360 343//362 1337 | f 321//341 320//339 335//361 336//348 1338 | f 329//342 328//340 343//362 344//350 1339 | f 341//358 340//356 355//363 356//364 1340 | f 334//359 333//357 348//365 349//366 1341 | f 342//360 341//358 356//364 357//367 1342 | f 335//361 334//359 349//366 350//368 1343 | f 343//362 342//360 357//367 358//369 1344 | f 336//348 335//361 350//368 351//370 1345 | f 344//350 343//362 358//369 359//371 1346 | f 337//349 336//348 351//370 352//372 1347 | f 345//351 344//350 359//371 360//373 1348 | f 338//352 337//349 352//372 353//374 1349 | f 346//353 345//351 360//373 361//375 1350 | f 339//354 338//352 353//374 354//376 1351 | f 332//355 301//22 347//377 1352 | f 482//24 346//353 361//375 1353 | f 340//356 339//354 354//376 355//363 1354 | f 333//357 332//355 347//377 348//365 1355 | f 360//373 359//371 374//378 375//379 1356 | f 353//374 352//372 367//380 368//381 1357 | f 361//375 360//373 375//379 376//382 1358 | f 354//376 353//374 368//381 369//383 1359 | f 347//377 301//22 362//384 1360 | f 482//24 361//375 376//382 1361 | f 355//363 354//376 369//383 370//385 1362 | f 348//365 347//377 362//384 363//386 1363 | f 356//364 355//363 370//385 371//387 1364 | f 349//366 348//365 363//386 364//388 1365 | f 357//367 356//364 371//387 372//389 1366 | f 350//368 349//366 364//388 365//390 1367 | f 358//369 357//367 372//389 373//391 1368 | f 351//370 350//368 365//390 366//392 1369 | f 359//371 358//369 373//391 374//378 1370 | f 352//372 351//370 366//392 367//380 1371 | f 364//388 363//386 378//393 379//394 1372 | f 372//389 371//387 386//395 387//396 1373 | f 365//390 364//388 379//394 380//397 1374 | f 373//391 372//389 387//396 388//398 1375 | f 366//392 365//390 380//397 381//399 1376 | f 374//378 373//391 388//398 389//400 1377 | f 367//380 366//392 381//399 382//401 1378 | f 375//379 374//378 389//400 390//402 1379 | f 368//381 367//380 382//401 383//403 1380 | f 376//382 375//379 390//402 391//404 1381 | f 369//383 368//381 383//403 384//405 1382 | f 362//384 301//22 377//406 1383 | f 482//24 376//382 391//404 1384 | f 370//385 369//383 384//405 385//407 1385 | f 363//386 362//384 377//406 378//393 1386 | f 371//387 370//385 385//407 386//395 1387 | f 383//403 382//401 397//408 398//409 1388 | f 391//404 390//402 405//410 406//411 1389 | f 384//405 383//403 398//409 399//412 1390 | f 377//406 301//22 392//413 1391 | f 482//24 391//404 406//411 1392 | f 385//407 384//405 399//412 400//414 1393 | f 378//393 377//406 392//413 393//415 1394 | f 386//395 385//407 400//414 401//416 1395 | f 379//394 378//393 393//415 394//417 1396 | f 387//396 386//395 401//416 402//418 1397 | f 380//397 379//394 394//417 395//419 1398 | f 388//398 387//396 402//418 403//420 1399 | f 381//399 380//397 395//419 396//421 1400 | f 389//400 388//398 403//420 404//422 1401 | f 382//401 381//399 396//421 397//408 1402 | f 390//402 389//400 404//422 405//410 1403 | f 402//418 401//416 416//423 417//424 1404 | f 395//419 394//417 409//425 410//426 1405 | f 403//420 402//418 417//424 418//427 1406 | f 396//421 395//419 410//426 411//428 1407 | f 404//422 403//420 418//427 419//429 1408 | f 397//408 396//421 411//428 412//430 1409 | f 405//410 404//422 419//429 420//431 1410 | f 398//409 397//408 412//430 413//432 1411 | f 406//411 405//410 420//431 421//433 1412 | f 399//412 398//409 413//432 414//434 1413 | f 392//413 301//22 407//435 1414 | f 482//24 406//411 421//433 1415 | f 400//414 399//412 414//434 415//436 1416 | f 393//415 392//413 407//435 408//437 1417 | f 401//416 400//414 415//436 416//423 1418 | f 394//417 393//415 408//437 409//425 1419 | f 421//433 420//431 435//438 436//439 1420 | f 414//434 413//432 428//440 429//441 1421 | f 407//435 301//22 422//442 1422 | f 482//24 421//433 436//439 1423 | f 415//436 414//434 429//441 430//443 1424 | f 408//437 407//435 422//442 423//444 1425 | f 416//423 415//436 430//443 431//445 1426 | f 409//425 408//437 423//444 424//446 1427 | f 417//424 416//423 431//445 432//447 1428 | f 410//426 409//425 424//446 425//448 1429 | f 418//427 417//424 432//447 433//449 1430 | f 411//428 410//426 425//448 426//450 1431 | f 419//429 418//427 433//449 434//451 1432 | f 412//430 411//428 426//450 427//452 1433 | f 420//431 419//429 434//451 435//438 1434 | f 413//432 412//430 427//452 428//440 1435 | f 433//449 432//447 447//453 448//454 1436 | f 426//450 425//448 440//455 441//456 1437 | f 434//451 433//449 448//454 449//457 1438 | f 427//452 426//450 441//456 442//458 1439 | f 435//438 434//451 449//457 450//459 1440 | f 428//440 427//452 442//458 443//460 1441 | f 436//439 435//438 450//459 451//461 1442 | f 429//441 428//440 443//460 444//462 1443 | f 422//442 301//22 437//463 1444 | f 482//24 436//439 451//461 1445 | f 430//443 429//441 444//462 445//464 1446 | f 423//444 422//442 437//463 438//465 1447 | f 431//445 430//443 445//464 446//466 1448 | f 424//446 423//444 438//465 439//467 1449 | f 432//447 431//445 446//466 447//453 1450 | f 425//448 424//446 439//467 440//455 1451 | f 437//463 301//22 452//468 1452 | f 482//24 451//461 466//469 1453 | f 445//464 444//462 459//470 460//471 1454 | f 438//465 437//463 452//468 453//472 1455 | f 446//466 445//464 460//471 461//473 1456 | f 439//467 438//465 453//472 454//474 1457 | f 447//453 446//466 461//473 462//475 1458 | f 440//455 439//467 454//474 455//476 1459 | f 448//454 447//453 462//475 463//477 1460 | f 441//456 440//455 455//476 456//478 1461 | f 449//457 448//454 463//477 464//479 1462 | f 442//458 441//456 456//478 457//480 1463 | f 450//459 449//457 464//479 465//481 1464 | f 443//460 442//458 457//480 458//482 1465 | f 451//461 450//459 465//481 466//469 1466 | f 444//462 443//460 458//482 459//470 1467 | f 456//478 455//476 470//6 471//5 1468 | f 464//479 463//477 478//1 479//9 1469 | f 457//480 456//478 471//5 472//11 1470 | f 465//481 464//479 479//9 480//13 1471 | f 458//482 457//480 472//11 473//15 1472 | f 466//469 465//481 480//13 481//17 1473 | f 459//470 458//482 473//15 474//19 1474 | f 452//468 301//22 467//21 1475 | f 482//24 466//469 481//17 1476 | f 460//471 459//470 474//19 475//25 1477 | f 453//472 452//468 467//21 468//27 1478 | f 461//473 460//471 475//25 476//29 1479 | f 454//474 453//472 468//27 469//31 1480 | f 462//475 461//473 476//29 477//2 1481 | f 455//476 454//474 469//31 470//6 1482 | f 463//477 462//475 477//2 478//1 1483 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Models/SphereSmooth.obj.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c12b5c0589d924c7db2a9f5eb2d80389 3 | timeCreated: 1499706846 4 | licenseType: Pro 5 | ModelImporter: 6 | serializedVersion: 19 7 | fileIDToRecycleName: 8 | 100000: default 9 | 100002: //RootNode 10 | 400000: default 11 | 400002: //RootNode 12 | 2300000: default 13 | 3300000: default 14 | 4300000: default 15 | materials: 16 | importMaterials: 1 17 | materialName: 0 18 | materialSearch: 1 19 | animations: 20 | legacyGenerateAnimations: 4 21 | bakeSimulation: 0 22 | resampleCurves: 1 23 | optimizeGameObjects: 0 24 | motionNodeName: 25 | rigImportErrors: 26 | rigImportWarnings: 27 | animationImportErrors: 28 | animationImportWarnings: 29 | animationRetargetingWarnings: 30 | animationDoRetargetingWarnings: 0 31 | animationCompression: 1 32 | animationRotationError: 0.5 33 | animationPositionError: 0.5 34 | animationScaleError: 0.5 35 | animationWrapMode: 0 36 | extraExposedTransformPaths: [] 37 | clipAnimations: [] 38 | isReadable: 1 39 | meshes: 40 | lODScreenPercentages: [] 41 | globalScale: 1 42 | meshCompression: 0 43 | addColliders: 0 44 | importBlendShapes: 1 45 | swapUVChannels: 0 46 | generateSecondaryUV: 0 47 | useFileUnits: 1 48 | optimizeMeshForGPU: 1 49 | keepQuads: 0 50 | weldVertices: 1 51 | secondaryUVAngleDistortion: 8 52 | secondaryUVAreaDistortion: 15.000001 53 | secondaryUVHardAngle: 88 54 | secondaryUVPackMargin: 4 55 | useFileScale: 1 56 | tangentSpace: 57 | normalSmoothAngle: 60 58 | normalImportMode: 0 59 | tangentImportMode: 3 60 | importAnimation: 1 61 | copyAvatar: 0 62 | humanDescription: 63 | serializedVersion: 2 64 | human: [] 65 | skeleton: [] 66 | armTwist: 0.5 67 | foreArmTwist: 0.5 68 | upperLegTwist: 0.5 69 | legTwist: 0.5 70 | armStretch: 0.05 71 | legStretch: 0.05 72 | feetSpacing: 0 73 | rootMotionBoneName: 74 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} 75 | hasTranslationDoF: 0 76 | hasExtraRoot: 0 77 | skeletonHasParents: 1 78 | lastHumanDescriptionAvatarSource: {instanceID: 0} 79 | animationType: 0 80 | humanoidOversampling: 1 81 | additionalBone: 0 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20adce57c3d644008b5b2f6227f7505c 3 | folderAsset: yes 4 | timeCreated: 1499706865 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Scenes/FlatSphereToggle.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/Assets/FlatShading Examples/Scenes/FlatSphereToggle.unity -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Scenes/FlatSphereToggle.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a462d0107880f4d62aeeef1d20e49576 3 | timeCreated: 1499707315 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Scenes/SphereComparison.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/Assets/FlatShading Examples/Scenes/SphereComparison.unity -------------------------------------------------------------------------------- /Assets/FlatShading Examples/Scenes/SphereComparison.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0eeea3ab415fe4b5899159241790aa8f 3 | timeCreated: 1499707315 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/FlatShading.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc48ab2220945465f94746620db601e0 3 | folderAsset: yes 4 | timeCreated: 1499706272 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae7dfc566010c4aee9b5232fbfa29e85 3 | folderAsset: yes 4 | timeCreated: 1499706686 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading/Materials/FlatShading.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/Assets/FlatShading/Materials/FlatShading.mat -------------------------------------------------------------------------------- /Assets/FlatShading/Materials/FlatShading.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c862269db3db495798f4be846bde997 3 | timeCreated: 1499706694 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2091e4eeee1c84f3989e069f496c72ea 3 | folderAsset: yes 4 | timeCreated: 1499706293 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading/Scripts/FlatShading.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | [RequireComponent(typeof(Renderer))] 6 | [ExecuteInEditMode] 7 | public class FlatShading : MonoBehaviour 8 | { 9 | private Renderer siblingRenderer; 10 | [SerializeField] 11 | private Material flatShadingMaterial; 12 | [SerializeField,HideInInspector] 13 | private Material originalMaterial; 14 | 15 | private void Awake() 16 | { 17 | siblingRenderer = GetComponent(); 18 | if(originalMaterial == null) 19 | originalMaterial = siblingRenderer.sharedMaterial; 20 | 21 | if (flatShadingMaterial == null) 22 | { 23 | flatShadingMaterial = new Material(Shader.Find("Custom/FlatShading")); 24 | flatShadingMaterial.color = originalMaterial.color; 25 | } 26 | } 27 | 28 | void OnEnable() 29 | { 30 | siblingRenderer.material = flatShadingMaterial; 31 | } 32 | 33 | void OnDisable() 34 | { 35 | siblingRenderer.material = originalMaterial; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Assets/FlatShading/Scripts/FlatShading.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 689307a8539a44177a21804a26d61ff9 3 | timeCreated: 1499706716 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: 8 | - flatShadingMaterial: {fileID: 2100000, guid: 2c862269db3db495798f4be846bde997, 9 | type: 2} 10 | executionOrder: 0 11 | icon: {instanceID: 0} 12 | userData: 13 | assetBundleName: 14 | assetBundleVariant: 15 | -------------------------------------------------------------------------------- /Assets/FlatShading/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10a11b7f554fa42a0b792d585508b6bc 3 | folderAsset: yes 4 | timeCreated: 1499706277 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading/Shaders/FlatShading.shader: -------------------------------------------------------------------------------- 1 | Shader "Custom/FlatShading" { 2 | Properties { 3 | _Color ("Color", Color) = (1,1,1,1) 4 | _MainTex ("Albedo (RGB)", 2D) = "white" {} 5 | _Glossiness ("Smoothness", Range(0,1)) = 0.5 6 | _Metallic ("Metallic", Range(0,1)) = 0.0 7 | } 8 | SubShader { 9 | Tags { "RenderType"="Opaque" } 10 | LOD 200 11 | 12 | CGPROGRAM 13 | 14 | #include "FlatShadingCore.cginc" 15 | 16 | 17 | // Physically based Standard lighting model, and enable shadows on all light types 18 | //We've added the nolightmap config param to keep the number of interpolators below 10. 19 | //If you want lightmapping, set #pragma target 3.5 20 | #pragma surface surfStandard Standard fullforwardshadows nolightmap vertex:vert 21 | 22 | // Use shader model 3.0 target, to get nicer looking lighting 23 | #pragma target 3.0 24 | 25 | sampler2D _MainTex; 26 | 27 | half _Glossiness; 28 | half _Metallic; 29 | fixed4 _Color; 30 | // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader. 31 | // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing. 32 | // #pragma instancing_options assumeuniformscaling 33 | UNITY_INSTANCING_CBUFFER_START(Props) 34 | // put more per-instance properties here 35 | UNITY_INSTANCING_CBUFFER_END 36 | 37 | void surfStandard (Input IN, inout SurfaceOutputStandard o) { 38 | o.Normal = calcSurfaceNormalInTangentSpace(IN); 39 | 40 | fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color; 41 | o.Albedo = c.rgb; 42 | o.Alpha = c.a; 43 | o.Metallic = _Metallic; 44 | o.Smoothness = _Glossiness; 45 | } 46 | 47 | 48 | ENDCG 49 | } 50 | FallBack "Diffuse" 51 | } 52 | -------------------------------------------------------------------------------- /Assets/FlatShading/Shaders/FlatShading.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54ae7f368d32045d89245ab6ec64c86b 3 | timeCreated: 1499706281 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/FlatShading/Shaders/FlatShadingCore.cginc: -------------------------------------------------------------------------------- 1 |  2 | struct Input { 3 | float2 uv_MainTex; 4 | float3 normal; 5 | float3 tangent; 6 | float3 modelPos; 7 | }; 8 | 9 | void vert (inout appdata_full v, out Input o) { 10 | UNITY_INITIALIZE_OUTPUT(Input,o); 11 | 12 | o.normal = v.normal; 13 | o.tangent = v.tangent.xyz; 14 | o.modelPos = v.vertex; 15 | } 16 | 17 | float3 calcSurfaceNormalInTangentSpace(Input IN) { 18 | //Since surface shaders require the normal to be in vertex-interpolated tangent space 19 | //we need to first, get that tangent space, and convert the surface normal to that space 20 | 21 | //1 - get interpolated tanget space basis vectors 22 | float3 tangent = normalize(IN.tangent); 23 | float3 normal = normalize(IN.normal); 24 | float3 binormal = normalize(cross(tangent,normal)); 25 | 26 | //2 - get local-space surface normal 27 | float3 surfaceNormal = normalize(cross(ddy(IN.modelPos),ddx(IN.modelPos))); 28 | 29 | //3 - convert surface normal calculated in 2) to tangent-space calculated in 1) 30 | float3x3 tangentSpaceBasisMatrix = float3x3(tangent, binormal, normal); 31 | float3x3 tangentSpaceInverse = transpose(tangentSpaceBasisMatrix); // since we have an orthonormal matrix, the transpose is equal to its inverse 32 | float3 surfaceNormalInTangentSpace = mul(tangentSpaceInverse,surfaceNormal); 33 | 34 | return surfaceNormalInTangentSpace; 35 | } -------------------------------------------------------------------------------- /Assets/FlatShading/Shaders/FlatShadingCore.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd62e0d5b0a414537bc8b49ac6c352bd 3 | timeCreated: 1499723171 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c9527942384a456da54b3c6bbbc5e1f 3 | folderAsset: yes 4 | timeCreated: 1499706508 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 672a8f72834284bac9abfa61db57d057 3 | folderAsset: yes 4 | timeCreated: 1499706508 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Editor/JetBrains.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23b92f876343e4a3fa297ff610cf3d8f 3 | folderAsset: yes 4 | timeCreated: 1499706508 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Editor/JetBrains/Unity3DRider.cs: -------------------------------------------------------------------------------- 1 | // 1.9.1.0 2 | // This file was automatically generated 3 | using Application = UnityEngine.Application; 4 | using Debug = UnityEngine.Debug; 5 | using System.Collections.Generic; 6 | using System.Diagnostics; 7 | using System.IO; 8 | using System.Linq; 9 | using System.Net; 10 | using System.Runtime.CompilerServices; 11 | using System.Runtime.InteropServices; 12 | using System.Text.RegularExpressions; 13 | using System.Text; 14 | using System.Xml.Linq; 15 | using System; 16 | using UnityEditor; 17 | using UnityEngine; 18 | 19 | namespace Plugins.Editor.JetBrains 20 | { 21 | public class RiderAssetPostprocessor : AssetPostprocessor 22 | { 23 | private const string UNITY_PLAYER_PROJECT_NAME = "Assembly-CSharp.csproj"; 24 | private const string UNITY_EDITOR_PROJECT_NAME = "Assembly-CSharp-Editor.csproj"; 25 | private const string UNITY_UNSAFE_KEYWORD = "-unsafe"; 26 | private const string UNITY_DEFINE_KEYWORD = "-define:"; 27 | private const string PLAYER_PROJECT_MANUAL_CONFIG_RELATIVE_FILE_PATH = "smcs.rsp"; 28 | private static readonly string PLAYER_PROJECT_MANUAL_CONFIG_ABSOLUTE_FILE_PATH 29 | = Path.Combine(UnityEngine.Application.dataPath, PLAYER_PROJECT_MANUAL_CONFIG_RELATIVE_FILE_PATH); 30 | private const string EDITOR_PROJECT_MANUAL_CONFIG_RELATIVE_FILE_PATH = "gmcs.rsp"; 31 | private static readonly string EDITOR_PROJECT_MANUAL_CONFIG_ABSOLUTE_FILE_PATH 32 | = Path.Combine(UnityEngine.Application.dataPath, EDITOR_PROJECT_MANUAL_CONFIG_RELATIVE_FILE_PATH); 33 | 34 | public static void OnGeneratedCSProjectFiles() 35 | { 36 | if (!RiderPlugin.Enabled) 37 | return; 38 | var currentDirectory = Directory.GetCurrentDirectory(); 39 | var projectFiles = Directory.GetFiles(currentDirectory, "*.csproj"); 40 | 41 | foreach (var file in projectFiles) 42 | { 43 | UpgradeProjectFile(file); 44 | } 45 | 46 | var slnFile = Directory.GetFiles(currentDirectory, "*.sln").First(); 47 | RiderPlugin.Log(RiderPlugin.LoggingLevel.Verbose, string.Format("Post-processing {0}", slnFile)); 48 | string content = File.ReadAllText(slnFile); 49 | var lines = content.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); 50 | var sb = new StringBuilder(); 51 | foreach (var line in lines) 52 | { 53 | if (line.StartsWith("Project(")) 54 | { 55 | MatchCollection mc = Regex.Matches(line, "\"([^\"]*)\""); 56 | //RiderPlugin.Log(RiderPlugin.LoggingLevel.Info, "mc[1]: "+mc[1].Value); 57 | //RiderPlugin.Log(RiderPlugin.LoggingLevel.Info, "mc[2]: "+mc[2].Value); 58 | sb.Append(line.Replace(mc[1].Value.TrimStart("\"".ToCharArray()).TrimEnd("\"".ToCharArray()), GetFileNameWithoutExtension(mc[2].Value).TrimStart("\"".ToCharArray()).TrimEnd("\"".ToCharArray()))); 59 | } 60 | else 61 | { 62 | sb.Append(line); 63 | } 64 | sb.Append(Environment.NewLine); 65 | } 66 | File.WriteAllText(slnFile,sb.ToString()); 67 | } 68 | 69 | private static string GetFileNameWithoutExtension(string path) 70 | { 71 | if (string.IsNullOrEmpty(path)) 72 | return null; 73 | int length; 74 | return (length = path.LastIndexOf('.')) == -1 ? path : path.Substring(0, length); 75 | } 76 | 77 | private static void UpgradeProjectFile(string projectFile) 78 | { 79 | RiderPlugin.Log(RiderPlugin.LoggingLevel.Verbose, string.Format("Post-processing {0}", projectFile)); 80 | var doc = XDocument.Load(projectFile); 81 | var projectContentElement = doc.Root; 82 | XNamespace xmlns = projectContentElement.Name.NamespaceName; // do not use var 83 | 84 | FixTargetFrameworkVersion(projectContentElement, xmlns); 85 | SetLangVersion(projectContentElement, xmlns); 86 | SetManuallyDefinedComilingSettings(projectFile, projectContentElement, xmlns); 87 | 88 | SetXCodeDllReference("UnityEditor.iOS.Extensions.Xcode.dll", xmlns, projectContentElement); 89 | SetXCodeDllReference("UnityEditor.iOS.Extensions.Common.dll", xmlns, projectContentElement); 90 | 91 | doc.Save(projectFile); 92 | } 93 | 94 | private static void SetManuallyDefinedComilingSettings(string projectFile, XElement projectContentElement, XNamespace xmlns) 95 | { 96 | string configPath; 97 | 98 | if (IsPlayerProjectFile(projectFile)) 99 | configPath = PLAYER_PROJECT_MANUAL_CONFIG_ABSOLUTE_FILE_PATH; 100 | else if (IsEditorProjectFile(projectFile)) 101 | configPath = EDITOR_PROJECT_MANUAL_CONFIG_ABSOLUTE_FILE_PATH; 102 | else 103 | configPath = null; 104 | 105 | if(!string.IsNullOrEmpty(configPath)) 106 | ApplyManualCompilingSettings(configPath 107 | , projectContentElement 108 | , xmlns); 109 | } 110 | 111 | private static void ApplyManualCompilingSettings(string configFilePath, XElement projectContentElement, XNamespace xmlns) 112 | { 113 | if (File.Exists(configFilePath)) 114 | { 115 | var configText = File.ReadAllText(configFilePath); 116 | if (configText.Contains(UNITY_UNSAFE_KEYWORD)) 117 | { 118 | // Add AllowUnsafeBlocks to the .csproj. Unity doesn't generate it (although VSTU does). 119 | // Strictly necessary to compile unsafe code 120 | ApplyAllowUnsafeBlocks(projectContentElement, xmlns); 121 | } 122 | if (configText.Contains(UNITY_DEFINE_KEYWORD)) 123 | { 124 | // defines could be 125 | // 1) -define:DEFINE1,DEFINE2 126 | // 2) -define:DEFINE1;DEFINE2 127 | // 3) -define:DEFINE1 -define:DEFINE2 128 | // 4) -define:DEFINE1,DEFINE2;DEFINE3 129 | // tested on "-define:DEF1;DEF2 -define:DEF3,DEF4;DEFFFF \n -define:DEF5" 130 | // result: DEF1, DEF2, DEF3, DEF4, DEFFFF, DEF5 131 | 132 | var definesList = new List(); 133 | var compileFlags = configText.Split(' ', '\n'); 134 | foreach (var flag in compileFlags) 135 | { 136 | var f = flag.Trim(); 137 | if (f.Contains(UNITY_DEFINE_KEYWORD)) 138 | { 139 | var defineEndPos = f.IndexOf(UNITY_DEFINE_KEYWORD) + UNITY_DEFINE_KEYWORD.Length; 140 | var definesSubString = f.Substring(defineEndPos,f.Length - defineEndPos); 141 | definesSubString = definesSubString.Replace(";", ","); 142 | definesList.AddRange(definesSubString.Split(',')); 143 | } 144 | } 145 | 146 | ApplyCustomDefines(definesList.ToArray(), projectContentElement, xmlns); 147 | } 148 | } 149 | } 150 | 151 | private static void ApplyCustomDefines(string[] customDefines, XElement projectContentElement, XNamespace xmlns) 152 | { 153 | var definesString = string.Join(";", customDefines); 154 | 155 | var DefineConstants = projectContentElement 156 | .Elements(xmlns+"PropertyGroup") 157 | .Elements(xmlns+"DefineConstants") 158 | .FirstOrDefault(definesConsts=> !string.IsNullOrEmpty(definesConsts.Value)); 159 | 160 | if (DefineConstants != null) 161 | { 162 | DefineConstants.SetValue(DefineConstants.Value + ";" + definesString); 163 | } 164 | } 165 | 166 | private static void ApplyAllowUnsafeBlocks(XElement projectContentElement, XNamespace xmlns) 167 | { 168 | projectContentElement.AddFirst( 169 | new XElement(xmlns + "PropertyGroup", new XElement(xmlns + "AllowUnsafeBlocks", true))); 170 | } 171 | 172 | private static bool IsPlayerProjectFile(string projectFile) 173 | { 174 | return Path.GetFileName(projectFile) == UNITY_PLAYER_PROJECT_NAME; 175 | } 176 | 177 | private static bool IsEditorProjectFile(string projectFile) 178 | { 179 | return Path.GetFileName(projectFile) == UNITY_EDITOR_PROJECT_NAME; 180 | } 181 | 182 | // Helps resolve System.Linq under mono 4 - RIDER-573 183 | private static void FixTargetFrameworkVersion(XElement projectElement, XNamespace xmlns) 184 | { 185 | var targetFrameworkVersion = projectElement.Elements(xmlns + "PropertyGroup"). 186 | Elements(xmlns + "TargetFrameworkVersion").FirstOrDefault(); // Processing csproj files, which are not Unity-generated #56 187 | if (targetFrameworkVersion != null) 188 | { 189 | var version = new Version(targetFrameworkVersion.Value.Substring(1)); 190 | if (RiderPlugin.TargetFrameworkVersion45) 191 | { 192 | if (version < new Version(4, 5)) 193 | targetFrameworkVersion.SetValue("v4.5"); 194 | } 195 | else 196 | { 197 | targetFrameworkVersion.SetValue("v3.5"); 198 | } 199 | } 200 | } 201 | 202 | private static void SetLangVersion(XElement projectElement, XNamespace xmlns) 203 | { 204 | // Add LangVersion to the .csproj. Unity doesn't generate it (although VSTU does). 205 | // Not strictly necessary, as the Unity plugin for Rider will work it out, but setting 206 | // it makes Rider work if it's not installed. 207 | var langVersion = projectElement.Elements(xmlns + "PropertyGroup"). 208 | Elements(xmlns + "LangVersion").FirstOrDefault(); // Processing csproj files, which are not Unity-generated #56 209 | if (langVersion != null) 210 | { 211 | langVersion.SetValue(GetLanguageLevel()); 212 | } 213 | else 214 | { 215 | projectElement.AddFirst(new XElement(xmlns + "PropertyGroup", 216 | new XElement(xmlns + "LangVersion", GetLanguageLevel()))); 217 | } 218 | } 219 | 220 | private static string GetLanguageLevel() 221 | { 222 | // https://bitbucket.org/alexzzzz/unity-c-5.0-and-6.0-integration/src 223 | if (Directory.Exists(Path.Combine(Directory.GetCurrentDirectory(), "CSharp70Support"))) 224 | return "7"; 225 | if (Directory.Exists(Path.Combine(Directory.GetCurrentDirectory(), "CSharp60Support"))) 226 | return "6"; 227 | 228 | // Unity 5.5 supports C# 6, but only when targeting .NET 4.6. The enum doesn't exist pre Unity 5.5 229 | #if UNITY_4 || UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2 || UNITY_5_3|| UNITY_5_4 || UNITY_5_5 230 | if ((int)PlayerSettings.apiCompatibilityLevel >= 3) 231 | #else 232 | if ((int) PlayerSettings.GetApiCompatibilityLevel(EditorUserBuildSettings.selectedBuildTargetGroup) >= 3) 233 | #endif 234 | return "6"; 235 | 236 | return "4"; 237 | } 238 | 239 | private static void SetXCodeDllReference(string name, XNamespace xmlns, XElement projectContentElement) 240 | { 241 | string unityAppBaseFolder = Path.GetDirectoryName(EditorApplication.applicationPath); 242 | 243 | var xcodeDllPath = Path.Combine(unityAppBaseFolder, Path.Combine("Data/PlaybackEngines/iOSSupport", name)); 244 | if (!File.Exists(xcodeDllPath)) 245 | xcodeDllPath = Path.Combine(unityAppBaseFolder, Path.Combine("PlaybackEngines/iOSSupport", name)); 246 | 247 | if (File.Exists(xcodeDllPath)) 248 | { 249 | var itemGroup = new XElement(xmlns + "ItemGroup"); 250 | var reference = new XElement(xmlns + "Reference"); 251 | reference.Add(new XAttribute("Include", Path.GetFileNameWithoutExtension(xcodeDllPath))); 252 | reference.Add(new XElement(xmlns + "HintPath", xcodeDllPath)); 253 | itemGroup.Add(reference); 254 | projectContentElement.Add(itemGroup); 255 | } 256 | } 257 | } 258 | } 259 | 260 | namespace Plugins.Editor.JetBrains 261 | { 262 | [InitializeOnLoad] 263 | public static class RiderPlugin 264 | { 265 | private static bool Initialized; 266 | private static string SlnFile; 267 | 268 | public static void Log(LoggingLevel level, string initialText) 269 | { 270 | if (level < SelectedLoggingLevel) return; 271 | 272 | var text = "[Rider] [" + level + "] " + initialText; 273 | 274 | switch (level) 275 | { 276 | case LoggingLevel.Warning: 277 | Debug.LogWarning(text); 278 | break; 279 | default: 280 | Debug.Log(text); 281 | break; 282 | } 283 | } 284 | 285 | private static string GetDefaultApp() 286 | { 287 | var alreadySetPath = GetExternalScriptEditor(); 288 | if (!string.IsNullOrEmpty(alreadySetPath) && RiderPathExist(alreadySetPath)) 289 | return alreadySetPath; 290 | 291 | switch (SystemInfoRiderPlugin.operatingSystemFamily) 292 | { 293 | case OperatingSystemFamily.Windows: 294 | //"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\JetBrains\*Rider*.lnk" 295 | //%appdata%\Microsoft\Windows\Start Menu\Programs\JetBrains Toolbox\*Rider*.lnk 296 | string[] folders = {@"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\JetBrains", Path.Combine( 297 | Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), 298 | @"Microsoft\Windows\Start Menu\Programs\JetBrains Toolbox")}; 299 | 300 | var newPathLnks = folders.Select(b=>new DirectoryInfo(b)).Where(a => a.Exists).SelectMany(c=>c.GetFiles("*Rider*.lnk")); 301 | if (newPathLnks.Any()) 302 | { 303 | var newPath = newPathLnks.Select(newPathLnk=> new FileInfo(ShortcutResolver.Resolve(newPathLnk.FullName))).OrderBy(a => FileVersionInfo.GetVersionInfo(a.FullName).ProductVersion).LastOrDefault(); 304 | if (!string.IsNullOrEmpty(newPath.FullName)) 305 | { 306 | /*RiderPlugin.Log(LoggingLevel.Verbose, "Update {0} to {1} product version: {2}", alreadySetPath, newPath, FileVersionInfo.GetVersionInfo(newPath.FullName).ProductVersion); 307 | SetExternalScriptEditor(newPath.FullName);*/ 308 | return newPath.FullName; 309 | } 310 | } 311 | break; 312 | 313 | case OperatingSystemFamily.MacOSX: 314 | // "/Applications/*Rider*.app" 315 | //"~/Applications/JetBrains Toolbox/*Rider*.app" 316 | string[] foldersMac = {"/Applications",Path.Combine(Environment.GetEnvironmentVariable("HOME"), "Applications")}; 317 | var newPathMac = foldersMac.Select(b=>new DirectoryInfo(b)).Where(a => a.Exists) 318 | .SelectMany(c=>c.GetDirectories("*Rider*.app")).OrderBy(a => FileVersionInfo.GetVersionInfo(a.FullName).ProductVersion).LastOrDefault(); 319 | if (newPathMac != null) 320 | { 321 | if (!string.IsNullOrEmpty(newPathMac.FullName)) 322 | { 323 | /*Log(LoggingLevel.Verbose, "Update {0} to {1}", alreadySetPath, newPathMac); 324 | SetExternalScriptEditor(newPathMac.FullName);*/ 325 | return newPathMac.FullName; 326 | } 327 | } 328 | break; 329 | } 330 | 331 | var riderPath = GetExternalScriptEditor(); 332 | if (!RiderPathExist(riderPath)) 333 | { 334 | Log(LoggingLevel.Warning, "Rider plugin for Unity is present, but Rider executable was not found. Please update 'External Script Editor'."); 335 | return null; 336 | } 337 | 338 | return riderPath; 339 | } 340 | 341 | public static bool TargetFrameworkVersion45 342 | { 343 | get { return EditorPrefs.GetBool("Rider_TargetFrameworkVersion45", true); } 344 | set { EditorPrefs.SetBool("Rider_TargetFrameworkVersion45", value); } 345 | } 346 | 347 | public enum LoggingLevel 348 | { 349 | Verbose = 0, 350 | Info = 1, 351 | Warning = 2 352 | } 353 | 354 | public static LoggingLevel SelectedLoggingLevel 355 | { 356 | get { return (LoggingLevel) EditorPrefs.GetInt("Rider_SelectedLoggingLevel", 1); } 357 | set { EditorPrefs.SetInt("Rider_SelectedLoggingLevel", (int) value); } 358 | } 359 | 360 | public static bool RiderInitializedOnce 361 | { 362 | get { return EditorPrefs.GetBool("RiderInitializedOnce", false); } 363 | set { EditorPrefs.SetBool("RiderInitializedOnce", value); } 364 | } 365 | 366 | internal static bool Enabled 367 | { 368 | get 369 | { 370 | var defaultApp = GetExternalScriptEditor(); 371 | return !string.IsNullOrEmpty(defaultApp) && Path.GetFileName(defaultApp).ToLower().Contains("rider"); 372 | } 373 | } 374 | 375 | static RiderPlugin() 376 | { 377 | var riderPath = GetDefaultApp(); 378 | if (!RiderPathExist(riderPath)) 379 | return; 380 | 381 | AddRiderToRecentlyUsedScriptApp(riderPath, "RecentlyUsedScriptApp"); 382 | if (!RiderInitializedOnce) 383 | { 384 | SetExternalScriptEditor(riderPath); 385 | RiderInitializedOnce = true; 386 | } 387 | if (Enabled) 388 | { 389 | InitRiderPlugin(); 390 | } 391 | } 392 | 393 | private static void InitRiderPlugin() 394 | { 395 | var projectDirectory = Directory.GetParent(Application.dataPath).FullName; 396 | 397 | var projectName = Path.GetFileName(projectDirectory); 398 | SlnFile = Path.Combine(projectDirectory, string.Format("{0}.sln", projectName)); 399 | 400 | InitializeEditorInstanceJson(projectDirectory); 401 | 402 | Log(LoggingLevel.Info, "Rider plugin initialized. You may change the amount of Rider Debug output via Edit -> Preferences -> Rider -> Logging Level"); 403 | Initialized = true; 404 | } 405 | 406 | private static void AddRiderToRecentlyUsedScriptApp(string userAppPath, string recentAppsKey) 407 | { 408 | for (int index = 0; index < 10; ++index) 409 | { 410 | string path = EditorPrefs.GetString(recentAppsKey + (object) index); 411 | if (File.Exists(path) && Path.GetFileName(path).ToLower().Contains("rider")) 412 | return; 413 | } 414 | EditorPrefs.SetString(recentAppsKey + 9, userAppPath); 415 | } 416 | 417 | private static string GetExternalScriptEditor() 418 | { 419 | return EditorPrefs.GetString("kScriptsDefaultApp"); 420 | } 421 | 422 | private static void SetExternalScriptEditor(string path) 423 | { 424 | EditorPrefs.SetString("kScriptsDefaultApp", path); 425 | } 426 | 427 | private static bool RiderPathExist(string path) 428 | { 429 | if (string.IsNullOrEmpty(path)) 430 | return false; 431 | // windows or mac 432 | var fileInfo = new FileInfo(path); 433 | if (!fileInfo.Name.ToLower().Contains("rider")) 434 | return false; 435 | var directoryInfo = new DirectoryInfo(path); 436 | return fileInfo.Exists || (SystemInfoRiderPlugin.operatingSystemFamily==OperatingSystemFamily.MacOSX && directoryInfo.Exists); 437 | } 438 | 439 | /// 440 | /// Creates and deletes Library/EditorInstance.json containing version and process ID 441 | /// 442 | /// Path to the project root directory 443 | private static void InitializeEditorInstanceJson(string projectDirectory) 444 | { 445 | // Only manage EditorInstance.json for 4.x and 5.x - it's a native feature for 2017.x 446 | #if UNITY_4 || UNITY_5 447 | Log(LoggingLevel.Verbose, "Writing Library/EditorInstance.json"); 448 | 449 | var library = Path.Combine(projectDirectory, "Library"); 450 | var editorInstanceJsonPath = Path.Combine(library, "EditorInstance.json"); 451 | 452 | File.WriteAllText(editorInstanceJsonPath, string.Format(@"{{ 453 | ""process_id"": {0}, 454 | ""version"": ""{1}"" 455 | }}", Process.GetCurrentProcess().Id, Application.unityVersion)); 456 | 457 | AppDomain.CurrentDomain.DomainUnload += (sender, args) => 458 | { 459 | Log(LoggingLevel.Verbose, "Deleting Library/EditorInstance.json"); 460 | File.Delete(editorInstanceJsonPath); 461 | }; 462 | #endif 463 | } 464 | 465 | /// 466 | /// Asset Open Callback (from Unity) 467 | /// 468 | /// 469 | /// Called when Unity is about to open an asset. 470 | /// 471 | [UnityEditor.Callbacks.OnOpenAssetAttribute()] 472 | static bool OnOpenedAsset(int instanceID, int line) 473 | { 474 | if (Enabled) 475 | { 476 | if (!Initialized) 477 | { 478 | // make sure the plugin was initialized first. 479 | // this can happen in case "Rider" was set as the default scripting app only after this plugin was imported. 480 | InitRiderPlugin(); 481 | RiderAssetPostprocessor.OnGeneratedCSProjectFiles(); 482 | } 483 | 484 | string appPath = Path.GetDirectoryName(Application.dataPath); 485 | 486 | // determine asset that has been double clicked in the project view 487 | var selected = EditorUtility.InstanceIDToObject(instanceID); 488 | 489 | var assetFilePath = Path.Combine(appPath, AssetDatabase.GetAssetPath(selected)); 490 | if (!(selected.GetType().ToString() == "UnityEditor.MonoScript" || 491 | selected.GetType().ToString() == "UnityEngine.Shader" || 492 | (selected.GetType().ToString() == "UnityEngine.TextAsset" && 493 | EditorSettings.projectGenerationUserExtensions.Contains(Path.GetExtension(assetFilePath).Substring(1))) 494 | )) 495 | return false; 496 | 497 | SyncSolution(); // added to handle opening file, which was just recently created. 498 | if (!DetectPortAndOpenFile(line, assetFilePath, SystemInfoRiderPlugin.operatingSystemFamily == OperatingSystemFamily.Windows)) 499 | { 500 | var args = string.Format("{0}{1}{0} --line {2} {0}{3}{0}", "\"", SlnFile, line, assetFilePath); 501 | return CallRider(args); 502 | } 503 | return true; 504 | } 505 | 506 | return false; 507 | } 508 | 509 | 510 | private static bool DetectPortAndOpenFile(int line, string filePath, bool isWindows) 511 | { 512 | if (SystemInfoRiderPlugin.operatingSystemFamily == OperatingSystemFamily.Windows) 513 | { 514 | var process = GetRiderProcess(); 515 | if (process == null) 516 | return false; 517 | } 518 | 519 | int[] ports = Enumerable.Range(63342, 20).ToArray(); 520 | var res = ports.Any(port => 521 | { 522 | var aboutUrl = string.Format("http://localhost:{0}/api/about/", port); 523 | var aboutUri = new Uri(aboutUrl); 524 | 525 | using (var client = new WebClient()) 526 | { 527 | client.Headers.Add("origin", string.Format("http://localhost:{0}", port)); 528 | client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 529 | 530 | try 531 | { 532 | var responce = CallHttpApi(aboutUri, client); 533 | if (responce.ToLower().Contains("rider")) 534 | { 535 | return HttpOpenFile(line, filePath, isWindows, port, client); 536 | } 537 | } 538 | catch (Exception e) 539 | { 540 | Log(LoggingLevel.Verbose, string.Format("Exception in DetectPortAndOpenFile: {0}", e)); 541 | } 542 | } 543 | return false; 544 | }); 545 | return res; 546 | } 547 | 548 | private static bool HttpOpenFile(int line, string filePath, bool isWindows, int port, WebClient client) 549 | { 550 | var url = string.Format("http://localhost:{0}/api/file?file={1}{2}", port, filePath, 551 | line < 0 552 | ? "&p=0" 553 | : "&line=" + line); // &p is needed to workaround https://youtrack.jetbrains.com/issue/IDEA-172350 554 | if (isWindows) 555 | url = string.Format(@"http://localhost:{0}/api/file/{1}{2}", port, filePath, line < 0 ? "" : ":" + line); 556 | 557 | var uri = new Uri(url); 558 | Log(LoggingLevel.Verbose, string.Format("HttpRequestOpenFile({0})", uri.AbsoluteUri)); 559 | 560 | CallHttpApi(uri, client); 561 | ActivateWindow(); 562 | return true; 563 | } 564 | 565 | private static string CallHttpApi(Uri uri, WebClient client) 566 | { 567 | var responseString = client.DownloadString(uri); 568 | Log(LoggingLevel.Verbose, string.Format("HttpRequestOpenFile response: {0}", responseString)); 569 | return responseString; 570 | } 571 | 572 | private static bool CallRider(string args) 573 | { 574 | var defaultApp = GetDefaultApp(); 575 | if (!RiderPathExist(defaultApp)) 576 | { 577 | return false; 578 | } 579 | 580 | var proc = new Process(); 581 | if (SystemInfoRiderPlugin.operatingSystemFamily == OperatingSystemFamily.MacOSX) 582 | { 583 | proc.StartInfo.FileName = "open"; 584 | proc.StartInfo.Arguments = string.Format("-n {0}{1}{0} --args {2}", "\"", "/" + defaultApp, args); 585 | Log(LoggingLevel.Verbose, string.Format("{0} {1}", proc.StartInfo.FileName, proc.StartInfo.Arguments)); 586 | } 587 | else 588 | { 589 | proc.StartInfo.FileName = defaultApp; 590 | proc.StartInfo.Arguments = args; 591 | Log(LoggingLevel.Verbose, string.Format("{2}{0}{2}" + " {1}", proc.StartInfo.FileName, proc.StartInfo.Arguments, "\"")); 592 | } 593 | 594 | proc.StartInfo.UseShellExecute = false; 595 | proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 596 | proc.StartInfo.CreateNoWindow = true; 597 | proc.StartInfo.RedirectStandardOutput = true; 598 | proc.Start(); 599 | 600 | ActivateWindow(); 601 | return true; 602 | } 603 | 604 | private static void ActivateWindow() 605 | { 606 | if (SystemInfoRiderPlugin.operatingSystemFamily == OperatingSystemFamily.Windows) 607 | { 608 | try 609 | { 610 | var process = GetRiderProcess(); 611 | if (process != null) 612 | { 613 | // Collect top level windows 614 | var topLevelWindows = User32Dll.GetTopLevelWindowHandles(); 615 | // Get process main window title 616 | var windowHandle = topLevelWindows.FirstOrDefault(hwnd => User32Dll.GetWindowProcessId(hwnd) == process.Id); 617 | Log(LoggingLevel.Info, string.Format("ActivateWindow: {0} {1}", process.Id, windowHandle)); 618 | if (windowHandle != IntPtr.Zero) 619 | { 620 | //User32Dll.ShowWindow(windowHandle, 9); //SW_RESTORE = 9 621 | User32Dll.SetForegroundWindow(windowHandle); 622 | } 623 | } 624 | } 625 | catch (Exception e) 626 | { 627 | Log(LoggingLevel.Warning, "Exception on ActivateWindow: " + e); 628 | } 629 | } 630 | } 631 | 632 | private static Process GetRiderProcess() 633 | { 634 | var process = Process.GetProcesses().FirstOrDefault(p => 635 | { 636 | string processName; 637 | try 638 | { 639 | processName = p.ProcessName; // some processes like kaspersky antivirus throw exception on attempt to get ProcessName 640 | } 641 | catch (Exception) 642 | { 643 | return false; 644 | } 645 | 646 | return !p.HasExited && processName.ToLower().Contains("rider"); 647 | }); 648 | return process; 649 | } 650 | 651 | [MenuItem("Assets/Open C# Project in Rider", false, 1000)] 652 | static void MenuOpenProject() 653 | { 654 | // Force the project files to be sync 655 | SyncSolution(); 656 | 657 | // Load Project 658 | CallRider(string.Format("{0}{1}{0}", "\"", SlnFile)); 659 | } 660 | 661 | [MenuItem("Assets/Open C# Project in Rider", true, 1000)] 662 | static bool ValidateMenuOpenProject() 663 | { 664 | return Enabled; 665 | } 666 | 667 | /// 668 | /// Force Unity To Write Project File 669 | /// 670 | private static void SyncSolution() 671 | { 672 | System.Type T = System.Type.GetType("UnityEditor.SyncVS,UnityEditor"); 673 | System.Reflection.MethodInfo SyncSolution = T.GetMethod("SyncSolution", 674 | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); 675 | SyncSolution.Invoke(null, null); 676 | } 677 | 678 | /// 679 | /// JetBrains Rider Integration Preferences Item 680 | /// 681 | /// 682 | /// Contains all 3 toggles: Enable/Disable; Debug On/Off; Writing Launch File On/Off 683 | /// 684 | [PreferenceItem("Rider")] 685 | static void RiderPreferencesItem() 686 | { 687 | EditorGUILayout.BeginVertical(); 688 | 689 | var url = "https://github.com/JetBrains/resharper-unity"; 690 | if (GUILayout.Button(url)) 691 | { 692 | Application.OpenURL(url); 693 | } 694 | 695 | EditorGUI.BeginChangeCheck(); 696 | 697 | var help = @"For now target 4.5 is strongly recommended. 698 | - Without 4.5: 699 | - Rider will fail to resolve System.Linq on Mac/Linux 700 | - Rider will fail to resolve Firebase Analytics. 701 | - With 4.5 Rider will show ambiguous references in UniRx. 702 | All those problems will go away after Unity upgrades to mono4."; 703 | TargetFrameworkVersion45 = 704 | EditorGUILayout.Toggle( 705 | new GUIContent("TargetFrameworkVersion 4.5", 706 | help), TargetFrameworkVersion45); 707 | EditorGUILayout.HelpBox(help, MessageType.None); 708 | 709 | EditorGUI.EndChangeCheck(); 710 | 711 | EditorGUI.BeginChangeCheck(); 712 | 713 | var loggingMsg = 714 | @"Sets the amount of Rider Debug output. If you are about to report an issue, please select Verbose logging level and attach Unity console output to the issue."; 715 | SelectedLoggingLevel = (LoggingLevel) EditorGUILayout.EnumPopup(new GUIContent("Logging Level", loggingMsg), SelectedLoggingLevel); 716 | EditorGUILayout.HelpBox(loggingMsg, MessageType.None); 717 | 718 | EditorGUI.EndChangeCheck(); 719 | 720 | /* if (GUILayout.Button("reset RiderInitializedOnce = false")) 721 | { 722 | RiderInitializedOnce = false; 723 | }*/ 724 | 725 | EditorGUILayout.EndVertical(); 726 | } 727 | 728 | #region SystemInfoRiderPlugin 729 | static class SystemInfoRiderPlugin 730 | { 731 | public static OperatingSystemFamily operatingSystemFamily 732 | { 733 | get 734 | { 735 | #if UNITY_5_5_OR_NEWER 736 | return SystemInfo.operatingSystemFamily; 737 | #else 738 | if (SystemInfo.operatingSystem.StartsWith("Mac", StringComparison.InvariantCultureIgnoreCase)) 739 | { 740 | return OperatingSystemFamily.MacOSX; 741 | } 742 | if (SystemInfo.operatingSystem.StartsWith("Win", StringComparison.InvariantCultureIgnoreCase)) 743 | { 744 | return OperatingSystemFamily.Windows; 745 | } 746 | if (SystemInfo.operatingSystem.StartsWith("Lin", StringComparison.InvariantCultureIgnoreCase)) 747 | { 748 | return OperatingSystemFamily.Linux; 749 | } 750 | return OperatingSystemFamily.Other; 751 | #endif 752 | } 753 | } 754 | } 755 | #if !UNITY_5_5_OR_NEWER 756 | enum OperatingSystemFamily 757 | { 758 | Other, 759 | MacOSX, 760 | Windows, 761 | Linux, 762 | } 763 | #endif 764 | #endregion 765 | 766 | static class User32Dll 767 | { 768 | 769 | /// 770 | /// Gets the ID of the process that owns the window. 771 | /// Note that creating a wrapper for that is very expensive because it causes an enumeration of all the system processes to happen. 772 | /// 773 | public static int GetWindowProcessId(IntPtr hwnd) 774 | { 775 | uint dwProcessId; 776 | GetWindowThreadProcessId(hwnd, out dwProcessId); 777 | return unchecked((int) dwProcessId); 778 | } 779 | 780 | /// 781 | /// Lists the handles of all the top-level windows currently available in the system. 782 | /// 783 | public static List GetTopLevelWindowHandles() 784 | { 785 | var retval = new List(); 786 | EnumWindowsProc callback = (hwnd, param) => 787 | { 788 | retval.Add(hwnd); 789 | return 1; 790 | }; 791 | EnumWindows(Marshal.GetFunctionPointerForDelegate(callback), IntPtr.Zero); 792 | GC.KeepAlive(callback); 793 | return retval; 794 | } 795 | 796 | public delegate Int32 EnumWindowsProc(IntPtr hwnd, IntPtr lParam); 797 | 798 | [DllImport("user32.dll", CharSet = CharSet.Unicode, PreserveSig = true, SetLastError = true, 799 | ExactSpelling = true)] 800 | public static extern Int32 EnumWindows(IntPtr lpEnumFunc, IntPtr lParam); 801 | 802 | [DllImport("user32.dll", SetLastError = true)] 803 | static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId); 804 | 805 | [DllImport("user32.dll", CharSet = CharSet.Unicode, PreserveSig = true, SetLastError = true, 806 | ExactSpelling = true)] 807 | public static extern Int32 SetForegroundWindow(IntPtr hWnd); 808 | 809 | [DllImport("user32.dll", CharSet = CharSet.Unicode, PreserveSig = true, SetLastError = true, 810 | ExactSpelling = true)] 811 | public static extern UInt32 ShowWindow(IntPtr hWnd, Int32 nCmdShow); 812 | } 813 | 814 | static class ShortcutResolver 815 | { 816 | #region Signitures imported from http://pinvoke.net 817 | 818 | [DllImport("shfolder.dll", CharSet = CharSet.Auto)] 819 | internal static extern int SHGetFolderPath(IntPtr hwndOwner, int nFolder, IntPtr hToken, int dwFlags, StringBuilder lpszPath); 820 | 821 | [Flags()] 822 | enum SLGP_FLAGS 823 | { 824 | /// Retrieves the standard short (8.3 format) file name 825 | SLGP_SHORTPATH = 0x1, 826 | 827 | /// Retrieves the Universal Naming Convention (UNC) path name of the file 828 | SLGP_UNCPRIORITY = 0x2, 829 | 830 | /// Retrieves the raw path name. A raw path is something that might not exist and may include environment variables that need to be expanded 831 | SLGP_RAWPATH = 0x4 832 | } 833 | 834 | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] 835 | struct WIN32_FIND_DATAW 836 | { 837 | public uint dwFileAttributes; 838 | public long ftCreationTime; 839 | public long ftLastAccessTime; 840 | public long ftLastWriteTime; 841 | public uint nFileSizeHigh; 842 | public uint nFileSizeLow; 843 | public uint dwReserved0; 844 | public uint dwReserved1; 845 | [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] public string cFileName; 846 | [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 14)] public string cAlternateFileName; 847 | } 848 | 849 | [Flags()] 850 | enum SLR_FLAGS 851 | { 852 | /// 853 | /// Do not display a dialog box if the link cannot be resolved. When SLR_NO_UI is set, 854 | /// the high-order word of fFlags can be set to a time-out value that specifies the 855 | /// maximum amount of time to be spent resolving the link. The function returns if the 856 | /// link cannot be resolved within the time-out duration. If the high-order word is set 857 | /// to zero, the time-out duration will be set to the default value of 3,000 milliseconds 858 | /// (3 seconds). To specify a value, set the high word of fFlags to the desired time-out 859 | /// duration, in milliseconds. 860 | /// 861 | SLR_NO_UI = 0x1, 862 | 863 | /// Obsolete and no longer used 864 | SLR_ANY_MATCH = 0x2, 865 | 866 | /// If the link object has changed, update its path and list of identifiers. 867 | /// If SLR_UPDATE is set, you do not need to call IPersistFile::IsDirty to determine 868 | /// whether or not the link object has changed. 869 | SLR_UPDATE = 0x4, 870 | 871 | /// Do not update the link information 872 | SLR_NOUPDATE = 0x8, 873 | 874 | /// Do not execute the search heuristics 875 | SLR_NOSEARCH = 0x10, 876 | 877 | /// Do not use distributed link tracking 878 | SLR_NOTRACK = 0x20, 879 | 880 | /// Disable distributed link tracking. By default, distributed link tracking tracks 881 | /// removable media across multiple devices based on the volume name. It also uses the 882 | /// Universal Naming Convention (UNC) path to track remote file systems whose drive letter 883 | /// has changed. Setting SLR_NOLINKINFO disables both types of tracking. 884 | SLR_NOLINKINFO = 0x40, 885 | 886 | /// Call the Microsoft Windows Installer 887 | SLR_INVOKE_MSI = 0x80 888 | } 889 | 890 | 891 | /// The IShellLink interface allows Shell links to be created, modified, and resolved 892 | [ComImport(), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("000214F9-0000-0000-C000-000000000046")] 893 | interface IShellLinkW 894 | { 895 | /// Retrieves the path and file name of a Shell link object 896 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 897 | void GetPath([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszFile, int cchMaxPath, out WIN32_FIND_DATAW pfd, SLGP_FLAGS fFlags); 898 | 899 | /// Retrieves the list of item identifiers for a Shell link object 900 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 901 | void GetIDList(out IntPtr ppidl); 902 | 903 | /// Sets the pointer to an item identifier list (PIDL) for a Shell link object. 904 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 905 | void SetIDList(IntPtr pidl); 906 | 907 | /// Retrieves the description string for a Shell link object 908 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 909 | void GetDescription([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszName, int cchMaxName); 910 | 911 | /// Sets the description for a Shell link object. The description can be any application-defined string 912 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 913 | void SetDescription([MarshalAs(UnmanagedType.LPWStr)] string pszName); 914 | 915 | /// Retrieves the name of the working directory for a Shell link object 916 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 917 | void GetWorkingDirectory([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszDir, int cchMaxPath); 918 | 919 | /// Sets the name of the working directory for a Shell link object 920 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 921 | void SetWorkingDirectory([MarshalAs(UnmanagedType.LPWStr)] string pszDir); 922 | 923 | /// Retrieves the command-line arguments associated with a Shell link object 924 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 925 | void GetArguments([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszArgs, int cchMaxPath); 926 | 927 | /// Sets the command-line arguments for a Shell link object 928 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 929 | void SetArguments([MarshalAs(UnmanagedType.LPWStr)] string pszArgs); 930 | 931 | /// Retrieves the hot key for a Shell link object 932 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 933 | void GetHotkey(out short pwHotkey); 934 | 935 | /// Sets a hot key for a Shell link object 936 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 937 | void SetHotkey(short wHotkey); 938 | 939 | /// Retrieves the show command for a Shell link object 940 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 941 | void GetShowCmd(out int piShowCmd); 942 | 943 | /// Sets the show command for a Shell link object. The show command sets the initial show state of the window. 944 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 945 | void SetShowCmd(int iShowCmd); 946 | 947 | /// Retrieves the location (path and index) of the icon for a Shell link object 948 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 949 | void GetIconLocation([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszIconPath, int cchIconPath, out int piIcon); 950 | 951 | /// Sets the location (path and index) of the icon for a Shell link object 952 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 953 | void SetIconLocation([MarshalAs(UnmanagedType.LPWStr)] string pszIconPath, int iIcon); 954 | 955 | /// Sets the relative path to the Shell link object 956 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 957 | void SetRelativePath([MarshalAs(UnmanagedType.LPWStr)] string pszPathRel, int dwReserved); 958 | 959 | /// Attempts to find the target of a Shell link, even if it has been moved or renamed 960 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 961 | void Resolve(IntPtr hwnd, SLR_FLAGS fFlags); 962 | 963 | /// Sets the path and file name of a Shell link object 964 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 965 | void SetPath([MarshalAs(UnmanagedType.LPWStr)] string pszFile); 966 | } 967 | 968 | [ComImport, Guid("0000010c-0000-0000-c000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 969 | public interface IPersist 970 | { 971 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 972 | void GetClassID(out Guid pClassID); 973 | } 974 | 975 | 976 | [ComImport, Guid("0000010b-0000-0000-C000-000000000046"), 977 | InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 978 | public interface IPersistFile : IPersist 979 | { 980 | [MethodImpl(MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 981 | new void GetClassID(out Guid pClassID); 982 | 983 | [MethodImpl(MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 984 | int IsDirty(); 985 | 986 | [MethodImpl(MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 987 | void Load([In, MarshalAs(UnmanagedType.LPWStr)] string pszFileName, uint dwMode); 988 | 989 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 990 | void Save([In, MarshalAs(UnmanagedType.LPWStr)] string pszFileName, [In, MarshalAs(UnmanagedType.Bool)] bool fRemember); 991 | 992 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 993 | void SaveCompleted([In, MarshalAs(UnmanagedType.LPWStr)] string pszFileName); 994 | 995 | [MethodImpl (MethodImplOptions.InternalCall | MethodImplOptions.PreserveSig, MethodCodeType = MethodCodeType.Runtime)] 996 | void GetCurFile([In, MarshalAs(UnmanagedType.LPWStr)] string ppszFileName); 997 | } 998 | 999 | const uint STGM_READ = 0; 1000 | const int MAX_PATH = 260; 1001 | 1002 | // CLSID_ShellLink from ShlGuid.h 1003 | [ 1004 | ComImport(), 1005 | Guid("00021401-0000-0000-C000-000000000046") 1006 | ] 1007 | public class ShellLink 1008 | { 1009 | } 1010 | 1011 | #endregion 1012 | 1013 | public static string Resolve(string filename) 1014 | { 1015 | ShellLink link = new ShellLink(); 1016 | ((IPersistFile) link).Load(filename, STGM_READ); 1017 | // TODO: if I can get hold of the hwnd call resolve first. This handles moved and renamed files. 1018 | // ((IShellLinkW)link).Resolve(hwnd, 0) 1019 | StringBuilder sb = new StringBuilder(MAX_PATH); 1020 | WIN32_FIND_DATAW data = new WIN32_FIND_DATAW(); 1021 | ((IShellLinkW) link).GetPath(sb, sb.Capacity, out data, 0); 1022 | return sb.ToString(); 1023 | } 1024 | } 1025 | } 1026 | } 1027 | 1028 | // Developed using JetBrains Rider =) 1029 | -------------------------------------------------------------------------------- /Assets/Plugins/Editor/JetBrains/Unity3DRider.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f981c330aed9f42818c1d71d3891e1aa 3 | timeCreated: 1499706508 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Miguel Ferreira 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/AudioManager.asset -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/ClusterInputManager.asset -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/DynamicsManager.asset -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/EditorBuildSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/EditorSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/GraphicsSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/InputManager.asset -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/NavMeshAreas.asset -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/NetworkManager.asset -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/Physics2DSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/ProjectSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.6.2p1 2 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/QualitySettings.asset -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/TagManager.asset -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/TimeManager.asset -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/ProjectSettings/UnityConnectSettings.asset -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Flat Shading 2 | 3 | Get a flat look with one click, without touching your mesh! 4 | 5 | ![](readme1.gif) 6 | 7 | ### Features 8 | + Simple! 9 | + Uses surface shaders, so it supports all lightning stuff out of the box 10 | + Cross-platform 11 | + Easy to integrate it in your own surface shader 12 | 13 | ### Motivation 14 | 15 | If you create a cube in Unity, you'll get a mesh with 24 vertices, instead of the 8 you'd expect from a normal cube. The additional vertices are added to ensure that each triangle is made of up three vertices with the same normal. 16 | 17 | The thing is that, in my case, I wanted to render some text per vertex without having to write extra ugly code to avoid repeated vertices, so I was looking for a solution that would give me a flat-looking cube without the need for extra vertices. 18 | 19 | ### Usage instructions 20 | 21 | The `FlatShading` component switches between the original material and the flat shading one. -------------------------------------------------------------------------------- /readme1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/readme1.gif -------------------------------------------------------------------------------- /readme2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/readme2.png -------------------------------------------------------------------------------- /readme3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miguel12345/UnityFlatShading/4e07def2b980e950ed04ccdad67c977547e0204a/readme3.png --------------------------------------------------------------------------------