├── LICENSE ├── LOD_Mesh.tscn ├── Main.tscn ├── Player.tscn ├── README.md ├── default_env.tres ├── font ├── license.txt ├── read me.txt └── rm_almanack.ttf ├── icon.png ├── icon.png.import ├── meshes ├── FPC_Base_Mesh.dae ├── FPC_Base_Mesh.dae.import ├── LOD_mesh_00.obj ├── LOD_mesh_00.obj.import ├── LOD_mesh_01.obj ├── LOD_mesh_01.obj.import ├── LOD_mesh_02.obj └── LOD_mesh_02.obj.import ├── project.godot ├── scripts ├── LOD_Mesh.gd └── player_scripts │ ├── DEBUG_Elements │ ├── Coll_Sphere.gd │ └── Pos_Visual_Axis.gd │ ├── GUI_Elements │ ├── Crosshair.gd │ ├── DEBUG.gd │ └── Debug_Label.gd │ └── Player.gd └── textures └── HUD ├── crosshair.png ├── crosshair.png.import ├── crosshair_usable.png └── crosshair_usable.png.import /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 James Russell 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 | -------------------------------------------------------------------------------- /LOD_Mesh.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=8 format=2] 2 | 3 | [ext_resource path="res://scripts/LOD_Mesh.gd" type="Script" id=1] 4 | [ext_resource path="res://meshes/LOD_mesh_00.obj" type="ArrayMesh" id=2] 5 | [ext_resource path="res://meshes/LOD_mesh_01.obj" type="ArrayMesh" id=3] 6 | [ext_resource path="res://meshes/LOD_mesh_02.obj" type="ArrayMesh" id=4] 7 | 8 | 9 | [sub_resource type="SpatialMaterial" id=1] 10 | 11 | albedo_color = Color( 0.117647, 0.223529, 0.905882, 1 ) 12 | roughness = 0.3 13 | 14 | [sub_resource type="SpatialMaterial" id=2] 15 | 16 | albedo_color = Color( 0.752941, 0.705882, 0.0156863, 1 ) 17 | roughness = 0.3 18 | 19 | [sub_resource type="SpatialMaterial" id=3] 20 | 21 | albedo_color = Color( 0.890196, 0, 0, 1 ) 22 | roughness = 0.3 23 | 24 | [node name="LOD_Mesh" type="Spatial" groups=[ 25 | "LOD", 26 | ]] 27 | script = ExtResource( 1 ) 28 | 29 | [node name="00" type="MeshInstance" parent="."] 30 | transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00926125, 0.256854 ) 31 | visible = false 32 | use_in_baked_light = true 33 | mesh = ExtResource( 2 ) 34 | material/0 = SubResource( 1 ) 35 | 36 | [node name="01" type="MeshInstance" parent="."] 37 | visible = false 38 | use_in_baked_light = true 39 | mesh = ExtResource( 3 ) 40 | material/0 = SubResource( 2 ) 41 | 42 | [node name="02" type="MeshInstance" parent="."] 43 | use_in_baked_light = true 44 | mesh = ExtResource( 4 ) 45 | material/0 = SubResource( 3 ) 46 | 47 | -------------------------------------------------------------------------------- /Player.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=13 format=2] 2 | 3 | [ext_resource path="res://scripts/player_scripts/Player.gd" type="Script" id=1] 4 | [ext_resource path="res://textures/HUD/crosshair.png" type="Texture" id=2] 5 | [ext_resource path="res://scripts/player_scripts/GUI_Elements/Crosshair.gd" type="Script" id=3] 6 | [ext_resource path="res://textures/HUD/crosshair_usable.png" type="Texture" id=4] 7 | [ext_resource path="res://scripts/player_scripts/GUI_Elements/DEBUG.gd" type="Script" id=5] 8 | [ext_resource path="res://font/rm_almanack.ttf" type="DynamicFontData" id=6] 9 | [ext_resource path="res://scripts/player_scripts/GUI_Elements/Debug_Label.gd" type="Script" id=7] 10 | 11 | [sub_resource type="ArrayMesh" id=1] 12 | 13 | resource_name = "Plane" 14 | surfaces/0 = { 15 | "aabb": AABB( -0.691102, -0.9, -0.256339, 1.3822, 1.8, 0.456339 ), 16 | "array_data": PoolByteArray( 185, 178, 51, 187, 102, 178, 0, 60, 0, 129, 0, 0, 185, 50, 51, 187, 102, 50, 0, 60, 0, 129, 0, 0, 185, 178, 51, 187, 102, 50, 0, 60, 0, 129, 0, 0, 48, 182, 107, 54, 102, 50, 0, 60, 209, 117, 12, 0, 157, 184, 192, 53, 69, 175, 0, 60, 209, 117, 12, 0, 157, 184, 81, 53, 47, 48, 0, 60, 209, 117, 12, 0, 48, 54, 107, 54, 102, 50, 0, 60, 0, 0, 127, 0, 48, 182, 136, 41, 102, 50, 0, 60, 0, 0, 127, 0, 48, 54, 136, 41, 102, 50, 0, 60, 0, 0, 127, 0, 48, 182, 107, 54, 102, 50, 0, 60, 139, 47, 0, 0, 250, 177, 51, 59, 82, 176, 0, 60, 139, 47, 0, 0, 48, 182, 107, 54, 102, 178, 0, 60, 139, 47, 0, 0, 48, 54, 208, 183, 102, 178, 0, 60, 116, 206, 0, 0, 185, 50, 51, 187, 102, 50, 0, 60, 116, 206, 0, 0, 185, 50, 51, 187, 102, 178, 0, 60, 116, 206, 0, 0, 48, 182, 136, 41, 102, 178, 0, 60, 0, 0, 129, 0, 48, 54, 107, 54, 102, 178, 0, 60, 0, 0, 129, 0, 48, 54, 136, 41, 102, 178, 0, 60, 0, 0, 129, 0, 185, 178, 51, 187, 102, 50, 0, 60, 140, 206, 0, 0, 48, 182, 208, 183, 102, 178, 0, 60, 140, 206, 0, 0, 185, 178, 51, 187, 102, 178, 0, 60, 140, 206, 0, 0, 48, 54, 107, 54, 102, 50, 0, 60, 27, 124, 0, 0, 157, 56, 192, 53, 69, 175, 0, 60, 27, 124, 0, 0, 48, 54, 107, 54, 102, 178, 0, 60, 27, 124, 0, 0, 48, 182, 208, 183, 102, 50, 0, 60, 129, 0, 0, 0, 48, 182, 136, 41, 102, 178, 0, 60, 129, 0, 0, 0, 48, 182, 208, 183, 102, 178, 0, 60, 129, 0, 0, 0, 48, 182, 208, 183, 102, 178, 0, 60, 0, 0, 130, 0, 48, 54, 136, 41, 102, 178, 0, 60, 0, 0, 130, 0, 48, 54, 208, 183, 102, 178, 0, 60, 0, 0, 130, 0, 48, 54, 208, 183, 102, 50, 0, 60, 0, 0, 127, 0, 185, 178, 51, 187, 102, 50, 0, 60, 0, 0, 127, 0, 185, 50, 51, 187, 102, 50, 0, 60, 0, 0, 127, 0, 185, 178, 51, 187, 102, 178, 0, 60, 0, 0, 129, 0, 48, 54, 208, 183, 102, 178, 0, 60, 0, 0, 129, 0, 185, 50, 51, 187, 102, 178, 0, 60, 0, 0, 129, 0, 48, 182, 107, 54, 102, 178, 0, 60, 0, 16, 131, 0, 250, 49, 51, 59, 82, 176, 0, 60, 0, 16, 131, 0, 48, 54, 107, 54, 102, 178, 0, 60, 0, 16, 131, 0, 250, 177, 51, 59, 82, 176, 0, 60, 0, 127, 0, 0, 250, 49, 51, 59, 82, 48, 0, 60, 0, 127, 0, 0, 250, 49, 51, 59, 82, 176, 0, 60, 0, 127, 0, 0, 48, 54, 136, 41, 102, 178, 0, 60, 127, 0, 0, 0, 48, 54, 208, 183, 102, 50, 0, 60, 127, 0, 0, 0, 48, 54, 208, 183, 102, 178, 0, 60, 127, 0, 0, 0, 48, 182, 107, 54, 102, 50, 0, 60, 0, 16, 125, 0, 250, 49, 51, 59, 82, 48, 0, 60, 0, 16, 125, 0, 250, 177, 51, 59, 82, 48, 0, 60, 0, 16, 125, 0, 48, 54, 107, 54, 102, 178, 0, 60, 117, 47, 0, 0, 250, 49, 51, 59, 82, 48, 0, 60, 117, 47, 0, 0, 48, 54, 107, 54, 102, 50, 0, 60, 117, 47, 0, 0, 135, 185, 45, 44, 55, 174, 0, 60, 138, 46, 5, 0, 157, 184, 81, 53, 47, 48, 0, 60, 138, 46, 5, 0, 157, 184, 192, 53, 69, 175, 0, 60, 138, 46, 5, 0, 48, 182, 136, 41, 102, 178, 0, 60, 204, 0, 141, 0, 157, 184, 192, 53, 69, 175, 0, 60, 204, 0, 141, 0, 48, 182, 107, 54, 102, 178, 0, 60, 204, 0, 141, 0, 48, 182, 136, 41, 102, 50, 0, 60, 241, 19, 124, 0, 157, 184, 81, 53, 47, 48, 0, 60, 241, 19, 124, 0, 135, 185, 110, 38, 61, 49, 0, 60, 241, 19, 124, 0, 135, 185, 45, 44, 55, 174, 0, 60, 250, 37, 135, 0, 140, 183, 158, 182, 25, 180, 0, 60, 250, 37, 135, 0, 217, 184, 232, 182, 17, 180, 0, 60, 250, 37, 135, 0, 140, 183, 55, 183, 26, 173, 0, 60, 16, 133, 230, 0, 217, 184, 232, 182, 17, 180, 0, 60, 16, 133, 230, 0, 140, 183, 158, 182, 25, 180, 0, 60, 16, 133, 230, 0, 135, 185, 110, 38, 61, 49, 0, 60, 247, 195, 110, 0, 140, 183, 55, 183, 26, 173, 0, 60, 247, 195, 110, 0, 48, 182, 136, 41, 102, 50, 0, 60, 247, 195, 110, 0, 135, 185, 45, 44, 55, 174, 0, 60, 131, 237, 253, 0, 217, 184, 134, 183, 61, 173, 0, 60, 131, 237, 253, 0, 135, 185, 110, 38, 61, 49, 0, 60, 131, 237, 253, 0, 48, 182, 136, 41, 102, 178, 0, 60, 124, 234, 252, 0, 140, 183, 55, 183, 26, 173, 0, 60, 124, 234, 252, 0, 140, 183, 158, 182, 25, 180, 0, 60, 124, 234, 252, 0, 135, 57, 45, 44, 55, 174, 0, 60, 118, 44, 6, 0, 157, 56, 81, 53, 47, 48, 0, 60, 118, 44, 6, 0, 135, 57, 110, 38, 61, 49, 0, 60, 118, 44, 6, 0, 157, 56, 192, 53, 69, 175, 0, 60, 52, 0, 141, 0, 48, 54, 136, 41, 102, 178, 0, 60, 52, 0, 141, 0, 48, 54, 107, 54, 102, 178, 0, 60, 52, 0, 141, 0, 48, 54, 136, 41, 102, 50, 0, 60, 43, 0, 119, 0, 157, 56, 81, 53, 47, 48, 0, 60, 43, 0, 119, 0, 48, 54, 107, 54, 102, 50, 0, 60, 43, 0, 119, 0, 135, 57, 45, 44, 55, 174, 0, 60, 38, 21, 138, 0, 140, 55, 158, 182, 25, 180, 0, 60, 38, 21, 138, 0, 48, 54, 136, 41, 102, 178, 0, 60, 38, 21, 138, 0, 217, 56, 232, 182, 17, 180, 0, 60, 240, 133, 230, 0, 140, 55, 55, 183, 26, 173, 0, 60, 240, 133, 230, 0, 140, 55, 158, 182, 25, 180, 0, 60, 240, 133, 230, 0, 140, 55, 55, 183, 26, 173, 0, 60, 9, 195, 110, 0, 135, 57, 110, 38, 61, 49, 0, 60, 9, 195, 110, 0, 48, 54, 136, 41, 102, 50, 0, 60, 9, 195, 110, 0, 217, 56, 134, 183, 61, 173, 0, 60, 125, 237, 253, 0, 135, 57, 45, 44, 55, 174, 0, 60, 125, 237, 253, 0, 135, 57, 110, 38, 61, 49, 0, 60, 125, 237, 253, 0, 48, 54, 136, 41, 102, 178, 0, 60, 131, 235, 0, 0, 140, 55, 55, 183, 26, 173, 0, 60, 131, 235, 0, 0, 48, 54, 136, 41, 102, 50, 0, 60, 131, 235, 0, 0, 48, 54, 136, 41, 102, 50, 0, 60, 0, 0, 127, 0, 48, 182, 208, 183, 102, 50, 0, 60, 0, 0, 127, 0, 48, 54, 208, 183, 102, 50, 0, 60, 0, 0, 127, 0, 185, 178, 51, 187, 102, 178, 0, 60, 0, 129, 0, 0, 185, 50, 51, 187, 102, 178, 0, 60, 0, 129, 0, 0, 185, 50, 51, 187, 102, 50, 0, 60, 0, 129, 0, 0, 48, 182, 107, 54, 102, 50, 0, 60, 229, 124, 0, 0, 48, 182, 107, 54, 102, 178, 0, 60, 229, 124, 0, 0, 157, 184, 192, 53, 69, 175, 0, 60, 229, 124, 0, 0, 48, 182, 107, 54, 102, 50, 0, 60, 0, 0, 127, 0, 48, 182, 107, 54, 102, 50, 0, 60, 139, 47, 0, 0, 250, 177, 51, 59, 82, 48, 0, 60, 139, 47, 0, 0, 250, 177, 51, 59, 82, 176, 0, 60, 139, 47, 0, 0, 48, 54, 208, 183, 102, 178, 0, 60, 116, 206, 0, 0, 48, 54, 208, 183, 102, 50, 0, 60, 116, 206, 0, 0, 185, 50, 51, 187, 102, 50, 0, 60, 116, 206, 0, 0, 48, 182, 107, 54, 102, 178, 0, 60, 0, 0, 129, 0, 185, 178, 51, 187, 102, 50, 0, 60, 140, 206, 0, 0, 48, 182, 208, 183, 102, 50, 0, 60, 140, 206, 0, 0, 48, 182, 208, 183, 102, 178, 0, 60, 140, 206, 0, 0, 48, 54, 107, 54, 102, 50, 0, 60, 47, 117, 12, 0, 157, 56, 81, 53, 47, 48, 0, 60, 47, 117, 12, 0, 157, 56, 192, 53, 69, 175, 0, 60, 47, 117, 12, 0, 48, 182, 208, 183, 102, 50, 0, 60, 129, 0, 0, 0, 48, 182, 136, 41, 102, 50, 0, 60, 129, 0, 0, 0, 48, 182, 136, 41, 102, 178, 0, 60, 129, 0, 0, 0, 48, 182, 208, 183, 102, 178, 0, 60, 0, 0, 129, 0, 48, 182, 136, 41, 102, 178, 0, 60, 0, 0, 129, 0, 48, 54, 136, 41, 102, 178, 0, 60, 0, 0, 129, 0, 48, 54, 208, 183, 102, 50, 0, 60, 0, 0, 127, 0, 48, 182, 208, 183, 102, 50, 0, 60, 0, 0, 127, 0, 185, 178, 51, 187, 102, 50, 0, 60, 0, 0, 127, 0, 185, 178, 51, 187, 102, 178, 0, 60, 0, 0, 129, 0, 48, 182, 208, 183, 102, 178, 0, 60, 0, 0, 129, 0, 48, 54, 208, 183, 102, 178, 0, 60, 0, 0, 129, 0, 48, 182, 107, 54, 102, 178, 0, 60, 0, 16, 131, 0, 250, 177, 51, 59, 82, 176, 0, 60, 0, 16, 131, 0, 250, 49, 51, 59, 82, 176, 0, 60, 0, 16, 131, 0, 250, 177, 51, 59, 82, 176, 0, 60, 0, 126, 0, 0, 250, 177, 51, 59, 82, 48, 0, 60, 0, 126, 0, 0, 250, 49, 51, 59, 82, 48, 0, 60, 0, 126, 0, 0, 48, 54, 136, 41, 102, 178, 0, 60, 127, 0, 0, 0, 48, 54, 136, 41, 102, 50, 0, 60, 127, 0, 0, 0, 48, 54, 208, 183, 102, 50, 0, 60, 127, 0, 0, 0, 48, 182, 107, 54, 102, 50, 0, 60, 0, 16, 125, 0, 48, 54, 107, 54, 102, 50, 0, 60, 0, 16, 125, 0, 250, 49, 51, 59, 82, 48, 0, 60, 0, 16, 125, 0, 48, 54, 107, 54, 102, 178, 0, 60, 117, 47, 0, 0, 250, 49, 51, 59, 82, 176, 0, 60, 117, 47, 0, 0, 250, 49, 51, 59, 82, 48, 0, 60, 117, 47, 0, 0, 135, 185, 45, 44, 55, 174, 0, 60, 138, 44, 6, 0, 135, 185, 110, 38, 61, 49, 0, 60, 138, 44, 6, 0, 157, 184, 81, 53, 47, 48, 0, 60, 138, 44, 6, 0, 48, 182, 136, 41, 102, 178, 0, 60, 216, 8, 136, 0, 135, 185, 45, 44, 55, 174, 0, 60, 216, 8, 136, 0, 157, 184, 192, 53, 69, 175, 0, 60, 216, 8, 136, 0, 48, 182, 136, 41, 102, 50, 0, 60, 213, 0, 119, 0, 48, 182, 107, 54, 102, 50, 0, 60, 213, 0, 119, 0, 157, 184, 81, 53, 47, 48, 0, 60, 213, 0, 119, 0, 135, 185, 45, 44, 55, 174, 0, 60, 218, 21, 138, 0, 48, 182, 136, 41, 102, 178, 0, 60, 218, 21, 138, 0, 140, 183, 158, 182, 25, 180, 0, 60, 218, 21, 138, 0, 140, 183, 55, 183, 26, 173, 0, 60, 18, 134, 229, 0, 217, 184, 134, 183, 61, 173, 0, 60, 18, 134, 229, 0, 217, 184, 232, 182, 17, 180, 0, 60, 18, 134, 229, 0, 135, 185, 110, 38, 61, 49, 0, 60, 6, 201, 114, 0, 217, 184, 134, 183, 61, 173, 0, 60, 6, 201, 114, 0, 140, 183, 55, 183, 26, 173, 0, 60, 6, 201, 114, 0, 135, 185, 45, 44, 55, 174, 0, 60, 131, 236, 252, 0, 217, 184, 232, 182, 17, 180, 0, 60, 131, 236, 252, 0, 217, 184, 134, 183, 61, 173, 0, 60, 131, 236, 252, 0, 48, 182, 136, 41, 102, 178, 0, 60, 125, 235, 0, 0, 48, 182, 136, 41, 102, 50, 0, 60, 125, 235, 0, 0, 140, 183, 55, 183, 26, 173, 0, 60, 125, 235, 0, 0, 135, 57, 45, 44, 55, 174, 0, 60, 118, 46, 5, 0, 157, 56, 192, 53, 69, 175, 0, 60, 118, 46, 5, 0, 157, 56, 81, 53, 47, 48, 0, 60, 118, 46, 5, 0, 157, 56, 192, 53, 69, 175, 0, 60, 40, 8, 136, 0, 135, 57, 45, 44, 55, 174, 0, 60, 40, 8, 136, 0, 48, 54, 136, 41, 102, 178, 0, 60, 40, 8, 136, 0, 48, 54, 136, 41, 102, 50, 0, 60, 15, 19, 124, 0, 135, 57, 110, 38, 61, 49, 0, 60, 15, 19, 124, 0, 157, 56, 81, 53, 47, 48, 0, 60, 15, 19, 124, 0, 135, 57, 45, 44, 55, 174, 0, 60, 6, 37, 135, 0, 217, 56, 232, 182, 17, 180, 0, 60, 6, 37, 135, 0, 140, 55, 158, 182, 25, 180, 0, 60, 6, 37, 135, 0, 217, 56, 232, 182, 17, 180, 0, 60, 238, 134, 229, 0, 217, 56, 134, 183, 61, 173, 0, 60, 238, 134, 229, 0, 140, 55, 55, 183, 26, 173, 0, 60, 238, 134, 229, 0, 140, 55, 55, 183, 26, 173, 0, 60, 250, 201, 114, 0, 217, 56, 134, 183, 61, 173, 0, 60, 250, 201, 114, 0, 135, 57, 110, 38, 61, 49, 0, 60, 250, 201, 114, 0, 217, 56, 134, 183, 61, 173, 0, 60, 125, 236, 252, 0, 217, 56, 232, 182, 17, 180, 0, 60, 125, 236, 252, 0, 135, 57, 45, 44, 55, 174, 0, 60, 125, 236, 252, 0, 48, 54, 136, 41, 102, 178, 0, 60, 132, 234, 252, 0, 140, 55, 158, 182, 25, 180, 0, 60, 132, 234, 252, 0, 140, 55, 55, 183, 26, 173, 0, 60, 132, 234, 252, 0, 48, 54, 136, 41, 102, 50, 0, 60, 0, 0, 126, 0, 48, 182, 136, 41, 102, 50, 0, 60, 0, 0, 126, 0, 48, 182, 208, 183, 102, 50, 0, 60, 0, 0, 126, 0 ), 17 | "array_index_data": PoolByteArray( 0, 0, 2, 0, 1, 0, 3, 0, 5, 0, 4, 0, 6, 0, 8, 0, 7, 0, 9, 0, 11, 0, 10, 0, 12, 0, 14, 0, 13, 0, 15, 0, 17, 0, 16, 0, 18, 0, 20, 0, 19, 0, 21, 0, 23, 0, 22, 0, 24, 0, 26, 0, 25, 0, 27, 0, 29, 0, 28, 0, 30, 0, 32, 0, 31, 0, 33, 0, 35, 0, 34, 0, 36, 0, 38, 0, 37, 0, 39, 0, 41, 0, 40, 0, 42, 0, 44, 0, 43, 0, 45, 0, 47, 0, 46, 0, 48, 0, 50, 0, 49, 0, 51, 0, 53, 0, 52, 0, 54, 0, 56, 0, 55, 0, 57, 0, 59, 0, 58, 0, 60, 0, 62, 0, 61, 0, 63, 0, 65, 0, 64, 0, 66, 0, 68, 0, 67, 0, 69, 0, 71, 0, 70, 0, 72, 0, 74, 0, 73, 0, 75, 0, 77, 0, 76, 0, 78, 0, 80, 0, 79, 0, 81, 0, 83, 0, 82, 0, 84, 0, 86, 0, 85, 0, 87, 0, 89, 0, 88, 0, 90, 0, 92, 0, 91, 0, 93, 0, 95, 0, 94, 0, 96, 0, 98, 0, 97, 0, 99, 0, 101, 0, 100, 0, 102, 0, 104, 0, 103, 0, 105, 0, 107, 0, 106, 0, 6, 0, 7, 0, 108, 0, 109, 0, 111, 0, 110, 0, 112, 0, 114, 0, 113, 0, 15, 0, 16, 0, 115, 0, 116, 0, 118, 0, 117, 0, 119, 0, 121, 0, 120, 0, 122, 0, 124, 0, 123, 0, 125, 0, 127, 0, 126, 0, 128, 0, 130, 0, 129, 0, 131, 0, 133, 0, 132, 0, 134, 0, 136, 0, 135, 0, 137, 0, 139, 0, 138, 0, 140, 0, 142, 0, 141, 0, 143, 0, 145, 0, 144, 0, 146, 0, 148, 0, 147, 0, 149, 0, 151, 0, 150, 0, 152, 0, 154, 0, 153, 0, 155, 0, 157, 0, 156, 0, 158, 0, 160, 0, 159, 0, 161, 0, 163, 0, 162, 0, 164, 0, 166, 0, 165, 0, 167, 0, 169, 0, 168, 0, 170, 0, 172, 0, 171, 0, 173, 0, 175, 0, 174, 0, 176, 0, 178, 0, 177, 0, 179, 0, 181, 0, 180, 0, 182, 0, 184, 0, 183, 0, 185, 0, 187, 0, 186, 0, 188, 0, 190, 0, 189, 0, 191, 0, 193, 0, 192, 0, 194, 0, 196, 0, 195, 0, 197, 0, 199, 0, 198, 0 ), 18 | "blend_shape_data": [ ], 19 | "format": 98051, 20 | "index_count": 204, 21 | "primitive": 4, 22 | "skeleton_aabb": [ ], 23 | "vertex_count": 200 24 | } 25 | 26 | [sub_resource type="SpatialMaterial" id=2] 27 | 28 | params_diffuse_mode = 3 29 | albedo_color = Color( 0.839844, 0.25712, 0.196838, 1 ) 30 | roughness = 0.8 31 | 32 | [sub_resource type="CapsuleShape" id=3] 33 | 34 | radius = 0.2 35 | height = 1.4 36 | 37 | [sub_resource type="DynamicFont" id=6] 38 | 39 | size = 55 40 | use_mipmaps = true 41 | use_filter = true 42 | font_data = ExtResource( 6 ) 43 | 44 | [sub_resource type="DynamicFont" id=5] 45 | 46 | size = 32 47 | use_mipmaps = true 48 | use_filter = true 49 | font_data = ExtResource( 6 ) 50 | 51 | [node name="Player" type="KinematicBody"] 52 | collision/safe_margin = 0.01 53 | script = ExtResource( 1 ) 54 | 55 | [node name="FPC_Base_Mesh" type="MeshInstance" parent="."] 56 | layers = 524288 57 | mesh = SubResource( 1 ) 58 | material/0 = SubResource( 2 ) 59 | 60 | [node name="Shape_Capsule" type="CollisionShape" parent="."] 61 | transform = Transform( 1, 0, 0, 0, -1.62921e-07, 1, 0, -1, -1.62921e-07, 0, 0, 0 ) 62 | shape = SubResource( 3 ) 63 | 64 | [node name="Camera_Main" type="Camera" parent="."] 65 | transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7, 0 ) 66 | cull_mask = 524287 67 | far = 256.0 68 | 69 | [node name="Camera2D" type="Camera2D" parent="."] 70 | z_index = 128 71 | anchor_mode = 0 72 | drag_margin_h_enabled = false 73 | drag_margin_v_enabled = false 74 | 75 | [node name="Crosshair" type="TextureRect" parent="Camera2D"] 76 | anchor_left = 0.5 77 | anchor_top = 0.5 78 | anchor_right = 0.5 79 | anchor_bottom = 0.5 80 | margin_left = -32.0 81 | margin_top = 430.0 82 | margin_right = 224.0 83 | margin_bottom = 686.0 84 | mouse_filter = 2 85 | texture = ExtResource( 2 ) 86 | expand = true 87 | script = ExtResource( 3 ) 88 | 89 | [node name="Crosshair_Useable" type="TextureRect" parent="Camera2D/Crosshair"] 90 | anchor_left = 0.5 91 | anchor_top = 0.5 92 | anchor_right = 0.5 93 | anchor_bottom = 0.5 94 | margin_left = -128.0 95 | margin_top = -128.0 96 | margin_right = 128.0 97 | margin_bottom = 128.0 98 | mouse_filter = 2 99 | texture = ExtResource( 4 ) 100 | expand = true 101 | 102 | [node name="DEBUG" type="Control" parent="Camera2D"] 103 | margin_right = 40.0 104 | margin_bottom = 40.0 105 | mouse_filter = 2 106 | script = ExtResource( 5 ) 107 | 108 | [node name="Debug_Label" type="Label" parent="Camera2D/DEBUG"] 109 | margin_left = 8.0 110 | margin_top = 8.0 111 | margin_right = 264.0 112 | margin_bottom = 72.0 113 | custom_fonts/font = SubResource( 6 ) 114 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 115 | custom_colors/font_color_shadow = Color( 0, 0, 0, 1 ) 116 | text = "-------" 117 | script = ExtResource( 7 ) 118 | 119 | [node name="Intruction_Label" type="Label" parent="Camera2D/DEBUG"] 120 | margin_left = 757.922 121 | margin_top = 9.14935 122 | margin_right = 1064.92 123 | margin_bottom = 210.149 124 | custom_fonts/font = SubResource( 5 ) 125 | custom_colors/font_color = Color( 1, 1, 1, 1 ) 126 | custom_colors/font_color_shadow = Color( 0, 0, 0, 1 ) 127 | text = "Controls: 128 | W/S: Forward/Backward 129 | A/D: Left/Right 130 | Shift + WASD: Run 131 | Mouse movement: Look around. 132 | Space/RMB: Jump 133 | F3: Toggle LOD script execution. 134 | Esc: Quit program." 135 | script = ExtResource( 7 ) 136 | 137 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Simple LOD Example project for Godot 3.1 2 | 3 | You can use the code however you like. -------------------------------------------------------------------------------- /default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=2] 2 | 3 | [sub_resource type="ProceduralSky" id=1] 4 | 5 | 6 | [resource] 7 | 8 | background_mode = 2 9 | background_sky = SubResource( 1 ) 10 | 11 | -------------------------------------------------------------------------------- /font/license.txt: -------------------------------------------------------------------------------- 1 | The FontStruction “RM Almanack” 2 | (http://fontstruct.fontshop.com/fontstructions/show/285372) by Ray Meadows is 3 | licensed under a Creative Commons Attribution No Derivatives license 4 | (http://creativecommons.org/licenses/by-nd/3.0/). 5 | -------------------------------------------------------------------------------- /font/read me.txt: -------------------------------------------------------------------------------- 1 | The font file in this archive was created using Fontstruct the free, online 2 | font-building tool from FontShop International. 3 | This font was created by Ray Meadows. 4 | This font has a homepage where this archive and other versions may be found: 5 | http://fontstruct.fontshop.com/fontstructions/show/285372 6 | 7 | Try Fontstruct at http://fontstruct.fontshop.com 8 | It’s easy and it’s fun. 9 | 10 | NOTE FOR FLASH USERS: Fontstruct fonts (fontstructions) are optimized for 11 | Flash. If the font in this archive is a pixel font, it is best displayed at a 12 | font-size of 128. 13 | 14 | Fontstruct is brought to you by FontShop. 15 | Visit us at http://www.fontshop.com 16 | FontShop is the original independent font retailer. We’ve been around since 17 | the dawn of digital type. Whether you need the right font or need to create the 18 | right font from scratch, let our 19 years of experience work for you. 19 | 20 | Fontstruct is copyright ©2010 Fontshop FSI and Rob Meek 21 | Fontstruct was created for FontShop International by Rob Meek 22 | (http://www.robmeek.com). 23 | 24 | LEGAL NOTICE: 25 | In using this font you must comply with the licensing terms described in the 26 | file “license.txt” included with this archive. 27 | If you redistribute the font file in this archive, it must be accompanied by 28 | all the other files from this archive, including this one. 29 | -------------------------------------------------------------------------------- /font/rm_almanack.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leiget/LOD-Simple-Example/d84b5e87fc58858f2accfcc3aaa404baba280f6e/font/rm_almanack.ttf -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leiget/LOD-Simple-Example/d84b5e87fc58858f2accfcc3aaa404baba280f6e/icon.png -------------------------------------------------------------------------------- /icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | 7 | [deps] 8 | 9 | source_file="res://icon.png" 10 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 11 | 12 | [params] 13 | 14 | compress/mode=0 15 | compress/lossy_quality=0.7 16 | compress/hdr_mode=0 17 | compress/bptc_ldr=0 18 | compress/normal_map=0 19 | flags/repeat=0 20 | flags/filter=true 21 | flags/mipmaps=false 22 | flags/anisotropic=false 23 | flags/srgb=2 24 | process/fix_alpha_border=true 25 | process/premult_alpha=false 26 | process/HDR_as_SRGB=false 27 | process/invert_color=false 28 | stream=false 29 | size_limit=0 30 | detect_3d=true 31 | svg/scale=1.0 32 | -------------------------------------------------------------------------------- /meshes/FPC_Base_Mesh.dae: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Anonymous 6 | Collada Exporter for Blender 2.6+, by Juan Linietsky (juan@codenix.com) 7 | 8 | 2018-02-11T14:14:11Z 9 | 2018-02-11T14:14:11Z 10 | 11 | Z_UP 12 | 13 | 14 | 15 | 16 | 17 | -0.21016186475753784 0.20000006258487701 -0.8999999761581421 0.2101619839668274 -0.19999991357326508 -0.8999999761581421 -0.21016186475753784 -0.20000006258487701 -0.8999999761581421 -0.386804461479187 -0.2000001072883606 0.40122291445732117 -0.5771191120147705 0.11360997706651688 0.3595091700553894 -0.577118992805481 -0.13078661262989044 0.33251795172691345 0.3868045508861542 -0.1999998688697815 0.40122291445732117 -0.386804461479187 -0.2000001072883606 0.04322725534439087 0.3868045508861542 -0.1999998688697815 0.04322725534439087 -0.386804461479187 -0.2000001072883606 0.40122291445732117 -0.1868044137954712 0.135071262717247 0.8999999761581421 -0.38680458068847656 0.1999998688697815 0.40122291445732117 0.3868044316768646 0.2000001072883606 -0.4885016679763794 0.2101619839668274 -0.19999991357326508 -0.8999999761581421 0.21016186475753784 0.20000006258487701 -0.8999999761581421 -0.38680458068847656 0.1999998688697815 0.04322725534439087 0.3868044316768646 0.2000001072883606 0.40122291445732117 0.3868044316768646 0.2000001072883606 0.04322725534439087 -0.21016186475753784 -0.20000006258487701 -0.8999999761581421 -0.38680458068847656 0.1999998688697815 -0.4885016679763794 -0.21016186475753784 0.20000006258487701 -0.8999999761581421 0.3868045508861542 -0.1999998688697815 0.40122291445732117 0.577118992805481 0.11361036449670792 0.3595091700553894 0.3868044316768646 0.2000001072883606 0.40122291445732117 -0.386804461479187 -0.2000001072883606 -0.4885016679763794 -0.38680458068847656 0.1999998688697815 0.04322725534439087 -0.38680458068847656 0.1999998688697815 -0.4885016679763794 -0.38680458068847656 0.1999998688697815 -0.4885016679763794 0.3868044316768646 0.2000001072883606 0.04322725534439087 0.3868044316768646 0.2000001072883606 -0.4885016679763794 0.3868045508861542 -0.1999998688697815 -0.4885016679763794 -0.21016186475753784 -0.20000006258487701 -0.8999999761581421 0.2101619839668274 -0.19999991357326508 -0.8999999761581421 -0.21016186475753784 0.20000006258487701 -0.8999999761581421 0.3868044316768646 0.2000001072883606 -0.4885016679763794 0.21016186475753784 0.20000006258487701 -0.8999999761581421 -0.38680458068847656 0.1999998688697815 0.40122291445732117 0.1868044137954712 0.135071262717247 0.8999999761581421 0.3868044316768646 0.2000001072883606 0.40122291445732117 -0.1868044137954712 0.135071262717247 0.8999999761581421 0.18680450320243835 -0.13507114350795746 0.8999999761581421 0.1868044137954712 0.135071262717247 0.8999999761581421 0.3868044316768646 0.2000001072883606 0.04322725534439087 0.3868045508861542 -0.1999998688697815 -0.4885016679763794 0.3868044316768646 0.2000001072883606 -0.4885016679763794 -0.386804461479187 -0.2000001072883606 0.40122291445732117 0.18680450320243835 -0.13507114350795746 0.8999999761581421 -0.18680447340011597 -0.135071262717247 0.8999999761581421 0.3868044316768646 0.2000001072883606 0.40122291445732117 0.18680450320243835 -0.13507114350795746 0.8999999761581421 0.3868045508861542 -0.1999998688697815 0.40122291445732117 -0.6911015510559082 0.09711696207523346 0.06525831669569016 -0.577118992805481 -0.13078661262989044 0.33251795172691345 -0.5771191120147705 0.11360997706651688 0.3595091700553894 -0.38680458068847656 0.1999998688697815 0.04322725534439087 -0.5771191120147705 0.11360997706651688 0.3595091700553894 -0.38680458068847656 0.1999998688697815 0.40122291445732117 -0.386804461479187 -0.2000001072883606 0.04322725534439087 -0.577118992805481 -0.13078661262989044 0.33251795172691345 -0.6911016702651978 -0.16380512714385986 0.025119051337242126 -0.6911015510559082 0.09711696207523346 0.06525831669569016 -0.4717877507209778 0.25633853673934937 -0.41371771693229675 -0.6061182618141174 0.2542140781879425 -0.43173858523368835 -0.4717879593372345 0.07976040989160538 -0.4509885311126709 -0.6061182618141174 0.2542140781879425 -0.43173858523368835 -0.4717877507209778 0.25633853673934937 -0.41371771693229675 -0.6911016702651978 -0.16380512714385986 0.025119051337242126 -0.4717879593372345 0.07976040989160538 -0.4509885311126709 -0.386804461479187 -0.2000001072883606 0.04322725534439087 -0.6911015510559082 0.09711696207523346 0.06525831669569016 -0.6061182022094727 0.08188449591398239 -0.4702385365962982 -0.6911016702651978 -0.16380512714385986 0.025119051337242126 -0.38680458068847656 0.1999998688697815 0.04322725534439087 -0.4717879593372345 0.07976040989160538 -0.4509885311126709 -0.4717877507209778 0.25633853673934937 -0.41371771693229675 0.6911015510559082 0.09711696207523346 0.06525831669569016 0.5771191120147705 -0.1307862251996994 0.33251795172691345 0.6911016702651978 -0.16380512714385986 0.025119051337242126 0.577118992805481 0.11361036449670792 0.3595091700553894 0.3868044316768646 0.2000001072883606 0.04322725534439087 0.3868044316768646 0.2000001072883606 0.40122291445732117 0.3868045508861542 -0.1999998688697815 0.04322725534439087 0.5771191120147705 -0.1307862251996994 0.33251795172691345 0.3868045508861542 -0.1999998688697815 0.40122291445732117 0.6911015510559082 0.09711696207523346 0.06525831669569016 0.4717877507209778 0.25633853673934937 -0.41371771693229675 0.3868044316768646 0.2000001072883606 0.04322725534439087 0.6061181426048279 0.25421449542045593 -0.43173858523368835 0.47178781032562256 0.07976072281599045 -0.4509885311126709 0.4717877507209778 0.25633853673934937 -0.41371771693229675 0.47178781032562256 0.07976072281599045 -0.4509885311126709 0.6911016702651978 -0.16380512714385986 0.025119051337242126 0.3868045508861542 -0.1999998688697815 0.04322725534439087 0.6061182022094727 0.08188489824533463 -0.4702385365962982 0.6911015510559082 0.09711696207523346 0.06525831669569016 0.6911016702651978 -0.16380512714385986 0.025119051337242126 0.3868044316768646 0.2000001072883606 0.04322725534439087 0.47178781032562256 0.07976072281599045 -0.4509885311126709 0.3868045508861542 -0.1999998688697815 0.04322725534439087 0.3868045508861542 -0.1999998688697815 0.04322725534439087 -0.386804461479187 -0.2000001072883606 -0.4885016679763794 0.3868045508861542 -0.1999998688697815 -0.4885016679763794 -0.21016186475753784 0.20000006258487701 -0.8999999761581421 0.21016186475753784 0.20000006258487701 -0.8999999761581421 0.2101619839668274 -0.19999991357326508 -0.8999999761581421 -0.386804461479187 -0.2000001072883606 0.40122291445732117 -0.38680458068847656 0.1999998688697815 0.40122291445732117 -0.5771191120147705 0.11360997706651688 0.3595091700553894 -0.386804461479187 -0.2000001072883606 0.40122291445732117 -0.386804461479187 -0.2000001072883606 0.40122291445732117 -0.18680447340011597 -0.135071262717247 0.8999999761581421 -0.1868044137954712 0.135071262717247 0.8999999761581421 0.3868044316768646 0.2000001072883606 -0.4885016679763794 0.3868045508861542 -0.1999998688697815 -0.4885016679763794 0.2101619839668274 -0.19999991357326508 -0.8999999761581421 -0.38680458068847656 0.1999998688697815 0.40122291445732117 -0.21016186475753784 -0.20000006258487701 -0.8999999761581421 -0.386804461479187 -0.2000001072883606 -0.4885016679763794 -0.38680458068847656 0.1999998688697815 -0.4885016679763794 0.3868045508861542 -0.1999998688697815 0.40122291445732117 0.5771191120147705 -0.1307862251996994 0.33251795172691345 0.577118992805481 0.11361036449670792 0.3595091700553894 -0.386804461479187 -0.2000001072883606 -0.4885016679763794 -0.386804461479187 -0.2000001072883606 0.04322725534439087 -0.38680458068847656 0.1999998688697815 0.04322725534439087 -0.38680458068847656 0.1999998688697815 -0.4885016679763794 -0.38680458068847656 0.1999998688697815 0.04322725534439087 0.3868044316768646 0.2000001072883606 0.04322725534439087 0.3868045508861542 -0.1999998688697815 -0.4885016679763794 -0.386804461479187 -0.2000001072883606 -0.4885016679763794 -0.21016186475753784 -0.20000006258487701 -0.8999999761581421 -0.21016186475753784 0.20000006258487701 -0.8999999761581421 -0.38680458068847656 0.1999998688697815 -0.4885016679763794 0.3868044316768646 0.2000001072883606 -0.4885016679763794 -0.38680458068847656 0.1999998688697815 0.40122291445732117 -0.1868044137954712 0.135071262717247 0.8999999761581421 0.1868044137954712 0.135071262717247 0.8999999761581421 -0.1868044137954712 0.135071262717247 0.8999999761581421 -0.18680447340011597 -0.135071262717247 0.8999999761581421 0.18680450320243835 -0.13507114350795746 0.8999999761581421 0.3868044316768646 0.2000001072883606 0.04322725534439087 0.3868045508861542 -0.1999998688697815 0.04322725534439087 0.3868045508861542 -0.1999998688697815 -0.4885016679763794 -0.386804461479187 -0.2000001072883606 0.40122291445732117 0.3868045508861542 -0.1999998688697815 0.40122291445732117 0.18680450320243835 -0.13507114350795746 0.8999999761581421 0.3868044316768646 0.2000001072883606 0.40122291445732117 0.1868044137954712 0.135071262717247 0.8999999761581421 0.18680450320243835 -0.13507114350795746 0.8999999761581421 -0.6911015510559082 0.09711696207523346 0.06525831669569016 -0.6911016702651978 -0.16380512714385986 0.025119051337242126 -0.577118992805481 -0.13078661262989044 0.33251795172691345 -0.38680458068847656 0.1999998688697815 0.04322725534439087 -0.6911015510559082 0.09711696207523346 0.06525831669569016 -0.5771191120147705 0.11360997706651688 0.3595091700553894 -0.386804461479187 -0.2000001072883606 0.04322725534439087 -0.386804461479187 -0.2000001072883606 0.40122291445732117 -0.577118992805481 -0.13078661262989044 0.33251795172691345 -0.6911015510559082 0.09711696207523346 0.06525831669569016 -0.38680458068847656 0.1999998688697815 0.04322725534439087 -0.4717877507209778 0.25633853673934937 -0.41371771693229675 -0.4717879593372345 0.07976040989160538 -0.4509885311126709 -0.6061182022094727 0.08188449591398239 -0.4702385365962982 -0.6061182618141174 0.2542140781879425 -0.43173858523368835 -0.6911016702651978 -0.16380512714385986 0.025119051337242126 -0.6061182022094727 0.08188449591398239 -0.4702385365962982 -0.4717879593372345 0.07976040989160538 -0.4509885311126709 -0.6911015510559082 0.09711696207523346 0.06525831669569016 -0.6061182618141174 0.2542140781879425 -0.43173858523368835 -0.6061182022094727 0.08188449591398239 -0.4702385365962982 -0.38680458068847656 0.1999998688697815 0.04322725534439087 -0.386804461479187 -0.2000001072883606 0.04322725534439087 -0.4717879593372345 0.07976040989160538 -0.4509885311126709 0.6911015510559082 0.09711696207523346 0.06525831669569016 0.577118992805481 0.11361036449670792 0.3595091700553894 0.5771191120147705 -0.1307862251996994 0.33251795172691345 0.577118992805481 0.11361036449670792 0.3595091700553894 0.6911015510559082 0.09711696207523346 0.06525831669569016 0.3868044316768646 0.2000001072883606 0.04322725534439087 0.3868045508861542 -0.1999998688697815 0.04322725534439087 0.6911016702651978 -0.16380512714385986 0.025119051337242126 0.5771191120147705 -0.1307862251996994 0.33251795172691345 0.6911015510559082 0.09711696207523346 0.06525831669569016 0.6061181426048279 0.25421449542045593 -0.43173858523368835 0.4717877507209778 0.25633853673934937 -0.41371771693229675 0.6061181426048279 0.25421449542045593 -0.43173858523368835 0.6061182022094727 0.08188489824533463 -0.4702385365962982 0.47178781032562256 0.07976072281599045 -0.4509885311126709 0.47178781032562256 0.07976072281599045 -0.4509885311126709 0.6061182022094727 0.08188489824533463 -0.4702385365962982 0.6911016702651978 -0.16380512714385986 0.025119051337242126 0.6061182022094727 0.08188489824533463 -0.4702385365962982 0.6061181426048279 0.25421449542045593 -0.43173858523368835 0.6911015510559082 0.09711696207523346 0.06525831669569016 0.3868044316768646 0.2000001072883606 0.04322725534439087 0.4717877507209778 0.25633853673934937 -0.41371771693229675 0.47178781032562256 0.07976072281599045 -0.4509885311126709 0.3868045508861542 -0.1999998688697815 0.04322725534439087 -0.386804461479187 -0.2000001072883606 0.04322725534439087 -0.386804461479187 -0.2000001072883606 -0.4885016679763794 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 1.7725804468682327e-07 0.0 -1.0 1.7725804468682327e-07 0.0 -1.0 1.7725804468682327e-07 0.0 -1.0 -0.37038758397102356 -0.10196565091609955 0.9232637882232666 -0.37038758397102356 -0.10196565091609955 0.9232637882232666 -0.37038758397102356 -0.10196565091609955 0.9232637882232666 3.0819003882243123e-07 -1.0 0.0 3.0819003882243123e-07 -1.0 0.0 3.0819003882243123e-07 -1.0 0.0 -0.9281623959541321 -2.7729217322303157e-07 0.37217551469802856 -0.9281623959541321 -2.7729217322303157e-07 0.37217551469802856 -0.9281623959541321 -2.7729217322303157e-07 0.37217551469802856 0.9189134836196899 3.327567696942424e-07 -0.39445918798446655 0.9189134836196899 3.327567696942424e-07 -0.39445918798446655 0.9189134836196899 3.327567696942424e-07 -0.39445918798446655 -3.0819003882243123e-07 1.0 0.0 -3.0819003882243123e-07 1.0 0.0 -3.0819003882243123e-07 1.0 0.0 -0.9189133644104004 0.0 -0.3944593369960785 -0.9189133644104004 0.0 -0.3944593369960785 -0.9189133644104004 0.0 -0.3944593369960785 0.21410079300403595 4.7801218983067884e-08 0.9768115282058716 0.21410079300403595 4.7801218983067884e-08 0.9768115282058716 0.21410079300403595 4.7801218983067884e-08 0.9768115282058716 -1.0 -2.802398171297682e-07 0.0 -1.0 -2.802398171297682e-07 0.0 -1.0 -2.802398171297682e-07 0.0 -3.0818998197901237e-07 0.9999999403953552 0.0 -3.0818998197901237e-07 0.9999999403953552 0.0 -3.0818998197901237e-07 0.9999999403953552 0.0 3.5451617463877483e-07 -1.0 1.7230506443866034e-07 3.5451617463877483e-07 -1.0 1.7230506443866034e-07 3.5451617463877483e-07 -1.0 1.7230506443866034e-07 0.0 1.0 4.30762803205198e-08 0.0 1.0 4.30762803205198e-08 0.0 1.0 4.30762803205198e-08 -3.06360789181781e-07 0.9916332960128784 0.12908677756786346 -3.06360789181781e-07 0.9916332960128784 0.12908677756786346 -3.06360789181781e-07 0.9916332960128784 0.12908677756786346 0.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 2.802398171297682e-07 0.0 1.0 2.802398171297682e-07 0.0 1.0 2.802398171297682e-07 0.0 3.0925161809136625e-07 -0.9916332960128784 0.12908683717250824 3.0925161809136625e-07 -0.9916332960128784 0.12908683717250824 3.0925161809136625e-07 -0.9916332960128784 0.12908683717250824 0.9281623959541321 2.7729214480132214e-07 0.37217527627944946 0.9281623959541321 2.7729214480132214e-07 0.37217527627944946 0.9281623959541321 2.7729214480132214e-07 0.37217527627944946 -0.930976152420044 -0.04007637873291969 0.36287373304367065 -0.930976152420044 -0.04007637873291969 0.36287373304367065 -0.930976152420044 -0.04007637873291969 0.36287373304367065 -0.41334012150764465 0.9105766415596008 0.0 -0.41334012150764465 0.9105766415596008 0.0 -0.41334012150764465 0.9105766415596008 0.0 -0.12565113604068756 -0.980377197265625 0.1518959403038025 -0.12565113604068756 -0.980377197265625 0.1518959403038025 -0.12565113604068756 -0.980377197265625 0.1518959403038025 -0.054337527602910995 0.954723596572876 0.2924899160861969 -0.054337527602910995 0.954723596572876 0.2924899160861969 -0.054337527602910995 0.954723596572876 0.2924899160861969 0.12695910036563873 0.204850971698761 -0.9705243110656738 0.12695910036563873 0.204850971698761 -0.9705243110656738 0.12695910036563873 0.204850971698761 -0.9705243110656738 -0.07522498816251755 -0.8732693791389465 -0.4813956618309021 -0.07522498816251755 -0.8732693791389465 -0.4813956618309021 -0.07522498816251755 -0.8732693791389465 -0.4813956618309021 -0.9872438907623291 0.024208346381783485 -0.15736421942710876 -0.9872438907623291 0.024208346381783485 -0.15736421942710876 -0.9872438907623291 0.024208346381783485 -0.15736421942710876 0.9832692742347717 0.03761893883347511 -0.17823141813278198 0.9832692742347717 0.03761893883347511 -0.17823141813278198 0.9832692742347717 0.03761893883347511 -0.17823141813278198 0.9343292117118835 -0.05419095978140831 0.3522672653198242 0.9343292117118835 -0.05419095978140831 0.3522672653198242 0.9343292117118835 -0.05419095978140831 0.3522672653198242 0.4133393466472626 0.9105770587921143 0.0 0.4133393466472626 0.9105770587921143 0.0 0.4133393466472626 0.9105770587921143 0.0 0.34177935123443604 -0.9397802352905273 0.0 0.34177935123443604 -0.9397802352905273 0.0 0.34177935123443604 -0.9397802352905273 0.0 0.3043053150177002 0.9368975162506104 0.1721087396144867 0.3043053150177002 0.9368975162506104 0.1721087396144867 0.3043053150177002 0.9368975162506104 0.1721087396144867 -0.1269596368074417 0.20485153794288635 -0.9705241918563843 -0.1269596368074417 0.20485153794288635 -0.9705241918563843 -0.1269596368074417 0.20485153794288635 -0.9705241918563843 0.07522434741258621 -0.8732692003250122 -0.48139598965644836 0.07522434741258621 -0.8732692003250122 -0.48139598965644836 0.07522434741258621 -0.8732692003250122 -0.48139598965644836 0.9872438907623291 0.02420850470662117 -0.15736423432826996 0.9872438907623291 0.02420850470662117 -0.15736423432826996 0.9872438907623291 0.02420850470662117 -0.15736423432826996 -0.9855355620384216 -2.9715005211983225e-07 -0.1694686859846115 -0.9855355620384216 -2.9715005211983225e-07 -0.1694686859846115 -0.9855355620384216 -2.9715005211983225e-07 -0.1694686859846115 3.081900104007218e-07 -1.0 0.0 3.081900104007218e-07 -1.0 0.0 3.081900104007218e-07 -1.0 0.0 0.0 0.0 -1.0 0.0 0.0 -1.0 0.0 0.0 -1.0 -0.2141008824110031 -4.7801215430354205e-08 0.9768115282058716 -0.2141008824110031 -4.7801215430354205e-08 0.9768115282058716 -0.2141008824110031 -4.7801215430354205e-08 0.9768115282058716 3.0819003882243123e-07 -1.0 0.0 -0.9281624555587769 2.0529326150153793e-07 0.3721752166748047 -0.9281624555587769 2.0529326150153793e-07 0.3721752166748047 -0.9281624555587769 2.0529326150153793e-07 0.3721752166748047 0.9189135432243347 2.495673925295705e-07 -0.3944590091705322 0.9189135432243347 2.495673925295705e-07 -0.3944590091705322 0.9189135432243347 2.495673925295705e-07 -0.3944590091705322 -3.0819003882243123e-07 1.0 0.0 -0.9189134836196899 -2.495675062164082e-07 -0.3944591283798218 -0.9189134836196899 -2.495675062164082e-07 -0.3944591283798218 -0.9189134836196899 -2.495675062164082e-07 -0.3944591283798218 0.3703876733779907 -0.10196530073881149 0.9232637882232666 0.3703876733779907 -0.10196530073881149 0.9232637882232666 0.3703876733779907 -0.10196530073881149 0.9232637882232666 -1.0 -2.8023984555147763e-07 0.0 -1.0 -2.8023984555147763e-07 0.0 -1.0 -2.8023984555147763e-07 0.0 -3.081900104007218e-07 1.0 0.0 -3.081900104007218e-07 1.0 0.0 -3.081900104007218e-07 1.0 0.0 3.0819003882243123e-07 -1.0 -7.02136873087511e-08 3.0819003882243123e-07 -1.0 -7.02136873087511e-08 3.0819003882243123e-07 -1.0 -7.02136873087511e-08 -3.081900104007218e-07 1.0 1.8723649475305137e-07 -3.081900104007218e-07 1.0 1.8723649475305137e-07 -3.081900104007218e-07 1.0 1.8723649475305137e-07 0.0 0.9916333556175232 0.12908658385276794 0.0 0.9916333556175232 0.12908658385276794 0.0 0.9916333556175232 0.12908658385276794 -5.9056731060991297e-08 0.0 0.9999999403953552 -5.9056731060991297e-08 0.0 0.9999999403953552 -5.9056731060991297e-08 0.0 0.9999999403953552 1.0 2.8023984555147763e-07 0.0 1.0 2.8023984555147763e-07 0.0 1.0 2.8023984555147763e-07 0.0 3.0636081760349043e-07 -0.9916332960128784 0.12908679246902466 3.0636081760349043e-07 -0.9916332960128784 0.12908679246902466 3.0636081760349043e-07 -0.9916332960128784 0.12908679246902466 0.9281623959541321 2.0529334676666622e-07 0.372175395488739 0.9281623959541321 2.0529334676666622e-07 0.372175395488739 0.9281623959541321 2.0529334676666622e-07 0.372175395488739 -0.934329092502594 -0.054190587252378464 0.3522675037384033 -0.934329092502594 -0.054190587252378464 0.3522675037384033 -0.934329092502594 -0.054190587252378464 0.3522675037384033 -0.3150408864021301 0.9465681314468384 0.06897973269224167 -0.3150408864021301 0.9465681314468384 0.06897973269224167 -0.3150408864021301 0.9465681314468384 0.06897973269224167 -0.34177878499031067 -0.9397804141044617 0.0 -0.34177878499031067 -0.9397804141044617 0.0 -0.34177878499031067 -0.9397804141044617 0.0 -0.3043047785758972 0.9368975758552551 0.17210906744003296 -0.3043047785758972 0.9368975758552551 0.17210906744003296 -0.3043047785758972 0.9368975758552551 0.17210906744003296 0.14185360074043274 0.21582894027233124 -0.9660720825195312 0.14185360074043274 0.21582894027233124 -0.9660720825195312 0.14185360074043274 0.21582894027233124 -0.9660720825195312 0.04844139143824577 -0.8980929255485535 -0.43712982535362244 0.04844139143824577 -0.8980929255485535 -0.43712982535362244 0.04844139143824577 -0.8980929255485535 -0.43712982535362244 -0.986872136592865 0.03521279990673065 -0.15761828422546387 -0.986872136592865 0.03521279990673065 -0.15761828422546387 -0.986872136592865 0.03521279990673065 -0.15761828422546387 0.9855355620384216 2.9715005211983225e-07 -0.16946883499622345 0.9855355620384216 2.9715005211983225e-07 -0.16946883499622345 0.9855355620384216 2.9715005211983225e-07 -0.16946883499622345 0.9309760332107544 -0.040075212717056274 0.3628740906715393 0.9309760332107544 -0.040075212717056274 0.3628740906715393 0.9309760332107544 -0.040075212717056274 0.3628740906715393 0.31504154205322266 0.9465678930282593 0.0689789280295372 0.31504154205322266 0.9465678930282593 0.0689789280295372 0.31504154205322266 0.9465678930282593 0.0689789280295372 0.12565046548843384 -0.9803771376609802 0.15189681947231293 0.12565046548843384 -0.9803771376609802 0.15189681947231293 0.12565046548843384 -0.9803771376609802 0.15189681947231293 0.054334718734025955 0.9547234773635864 0.29249078035354614 0.054334718734025955 0.9547234773635864 0.29249078035354614 0.054334718734025955 0.9547234773635864 0.29249078035354614 -0.1418551653623581 0.21582908928394318 -0.9660719037055969 -0.1418551653623581 0.21582908928394318 -0.9660719037055969 -0.1418551653623581 0.21582908928394318 -0.9660719037055969 -0.04844069853425026 -0.8980926871299744 -0.43713051080703735 -0.04844069853425026 -0.8980926871299744 -0.43713051080703735 -0.04844069853425026 -0.8980926871299744 -0.43713051080703735 0.9868720769882202 0.03521290048956871 -0.1576182097196579 0.9868720769882202 0.03521290048956871 -0.1576182097196579 0.9868720769882202 0.03521290048956871 -0.1576182097196579 -0.9832691550254822 0.037619274109601974 -0.17823165655136108 -0.9832691550254822 0.037619274109601974 -0.17823165655136108 -0.9832691550254822 0.037619274109601974 -0.17823165655136108 3.0818998197901237e-07 -0.9999999403953552 0.0 3.0818998197901237e-07 -0.9999999403953552 0.0 3.0818998197901237e-07 -0.9999999403953552 0.0 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 6 108 7 109 110 111 112 113 114 15 115 16 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

43 |
44 |
45 |
46 |
47 | 48 | 49 | 50 | 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
60 | -------------------------------------------------------------------------------- /meshes/FPC_Base_Mesh.dae.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="scene" 4 | type="PackedScene" 5 | path="res://.import/FPC_Base_Mesh.dae-5b900a5493f9f6557566472e3485ae22.scn" 6 | 7 | [deps] 8 | 9 | source_file="res://meshes/FPC_Base_Mesh.dae" 10 | dest_files=[ "res://.import/FPC_Base_Mesh.dae-5b900a5493f9f6557566472e3485ae22.scn" ] 11 | 12 | [params] 13 | 14 | nodes/root_type="Spatial" 15 | nodes/root_name="Scene Root" 16 | nodes/root_scale=1.0 17 | nodes/custom_script="" 18 | nodes/storage=0 19 | materials/location=1 20 | materials/storage=1 21 | materials/keep_on_reimport=true 22 | meshes/compress=true 23 | meshes/ensure_tangents=true 24 | meshes/storage=0 25 | meshes/light_baking=0 26 | meshes/lightmap_texel_size=0.1 27 | external_files/store_in_subdir=false 28 | animation/import=true 29 | animation/fps=15 30 | animation/filter_script="" 31 | animation/storage=false 32 | animation/keep_custom_tracks=false 33 | animation/optimizer/enabled=true 34 | animation/optimizer/max_linear_error=0.05 35 | animation/optimizer/max_angular_error=0.01 36 | animation/optimizer/max_angle=22 37 | animation/optimizer/remove_unused_tracks=true 38 | animation/clips/amount=0 39 | animation/clip_1/name="" 40 | animation/clip_1/start_frame=0 41 | animation/clip_1/end_frame=0 42 | animation/clip_1/loops=false 43 | animation/clip_2/name="" 44 | animation/clip_2/start_frame=0 45 | animation/clip_2/end_frame=0 46 | animation/clip_2/loops=false 47 | animation/clip_3/name="" 48 | animation/clip_3/start_frame=0 49 | animation/clip_3/end_frame=0 50 | animation/clip_3/loops=false 51 | animation/clip_4/name="" 52 | animation/clip_4/start_frame=0 53 | animation/clip_4/end_frame=0 54 | animation/clip_4/loops=false 55 | animation/clip_5/name="" 56 | animation/clip_5/start_frame=0 57 | animation/clip_5/end_frame=0 58 | animation/clip_5/loops=false 59 | animation/clip_6/name="" 60 | animation/clip_6/start_frame=0 61 | animation/clip_6/end_frame=0 62 | animation/clip_6/loops=false 63 | animation/clip_7/name="" 64 | animation/clip_7/start_frame=0 65 | animation/clip_7/end_frame=0 66 | animation/clip_7/loops=false 67 | animation/clip_8/name="" 68 | animation/clip_8/start_frame=0 69 | animation/clip_8/end_frame=0 70 | animation/clip_8/loops=false 71 | animation/clip_9/name="" 72 | animation/clip_9/start_frame=0 73 | animation/clip_9/end_frame=0 74 | animation/clip_9/loops=false 75 | animation/clip_10/name="" 76 | animation/clip_10/start_frame=0 77 | animation/clip_10/end_frame=0 78 | animation/clip_10/loops=false 79 | animation/clip_11/name="" 80 | animation/clip_11/start_frame=0 81 | animation/clip_11/end_frame=0 82 | animation/clip_11/loops=false 83 | animation/clip_12/name="" 84 | animation/clip_12/start_frame=0 85 | animation/clip_12/end_frame=0 86 | animation/clip_12/loops=false 87 | animation/clip_13/name="" 88 | animation/clip_13/start_frame=0 89 | animation/clip_13/end_frame=0 90 | animation/clip_13/loops=false 91 | animation/clip_14/name="" 92 | animation/clip_14/start_frame=0 93 | animation/clip_14/end_frame=0 94 | animation/clip_14/loops=false 95 | animation/clip_15/name="" 96 | animation/clip_15/start_frame=0 97 | animation/clip_15/end_frame=0 98 | animation/clip_15/loops=false 99 | animation/clip_16/name="" 100 | animation/clip_16/start_frame=0 101 | animation/clip_16/end_frame=0 102 | animation/clip_16/loops=false 103 | animation/clip_17/name="" 104 | animation/clip_17/start_frame=0 105 | animation/clip_17/end_frame=0 106 | animation/clip_17/loops=false 107 | animation/clip_18/name="" 108 | animation/clip_18/start_frame=0 109 | animation/clip_18/end_frame=0 110 | animation/clip_18/loops=false 111 | animation/clip_19/name="" 112 | animation/clip_19/start_frame=0 113 | animation/clip_19/end_frame=0 114 | animation/clip_19/loops=false 115 | animation/clip_20/name="" 116 | animation/clip_20/start_frame=0 117 | animation/clip_20/end_frame=0 118 | animation/clip_20/loops=false 119 | animation/clip_21/name="" 120 | animation/clip_21/start_frame=0 121 | animation/clip_21/end_frame=0 122 | animation/clip_21/loops=false 123 | animation/clip_22/name="" 124 | animation/clip_22/start_frame=0 125 | animation/clip_22/end_frame=0 126 | animation/clip_22/loops=false 127 | animation/clip_23/name="" 128 | animation/clip_23/start_frame=0 129 | animation/clip_23/end_frame=0 130 | animation/clip_23/loops=false 131 | animation/clip_24/name="" 132 | animation/clip_24/start_frame=0 133 | animation/clip_24/end_frame=0 134 | animation/clip_24/loops=false 135 | animation/clip_25/name="" 136 | animation/clip_25/start_frame=0 137 | animation/clip_25/end_frame=0 138 | animation/clip_25/loops=false 139 | animation/clip_26/name="" 140 | animation/clip_26/start_frame=0 141 | animation/clip_26/end_frame=0 142 | animation/clip_26/loops=false 143 | animation/clip_27/name="" 144 | animation/clip_27/start_frame=0 145 | animation/clip_27/end_frame=0 146 | animation/clip_27/loops=false 147 | animation/clip_28/name="" 148 | animation/clip_28/start_frame=0 149 | animation/clip_28/end_frame=0 150 | animation/clip_28/loops=false 151 | animation/clip_29/name="" 152 | animation/clip_29/start_frame=0 153 | animation/clip_29/end_frame=0 154 | animation/clip_29/loops=false 155 | animation/clip_30/name="" 156 | animation/clip_30/start_frame=0 157 | animation/clip_30/end_frame=0 158 | animation/clip_30/loops=false 159 | animation/clip_31/name="" 160 | animation/clip_31/start_frame=0 161 | animation/clip_31/end_frame=0 162 | animation/clip_31/loops=false 163 | animation/clip_32/name="" 164 | animation/clip_32/start_frame=0 165 | animation/clip_32/end_frame=0 166 | animation/clip_32/loops=false 167 | animation/clip_33/name="" 168 | animation/clip_33/start_frame=0 169 | animation/clip_33/end_frame=0 170 | animation/clip_33/loops=false 171 | animation/clip_34/name="" 172 | animation/clip_34/start_frame=0 173 | animation/clip_34/end_frame=0 174 | animation/clip_34/loops=false 175 | animation/clip_35/name="" 176 | animation/clip_35/start_frame=0 177 | animation/clip_35/end_frame=0 178 | animation/clip_35/loops=false 179 | animation/clip_36/name="" 180 | animation/clip_36/start_frame=0 181 | animation/clip_36/end_frame=0 182 | animation/clip_36/loops=false 183 | animation/clip_37/name="" 184 | animation/clip_37/start_frame=0 185 | animation/clip_37/end_frame=0 186 | animation/clip_37/loops=false 187 | animation/clip_38/name="" 188 | animation/clip_38/start_frame=0 189 | animation/clip_38/end_frame=0 190 | animation/clip_38/loops=false 191 | animation/clip_39/name="" 192 | animation/clip_39/start_frame=0 193 | animation/clip_39/end_frame=0 194 | animation/clip_39/loops=false 195 | animation/clip_40/name="" 196 | animation/clip_40/start_frame=0 197 | animation/clip_40/end_frame=0 198 | animation/clip_40/loops=false 199 | animation/clip_41/name="" 200 | animation/clip_41/start_frame=0 201 | animation/clip_41/end_frame=0 202 | animation/clip_41/loops=false 203 | animation/clip_42/name="" 204 | animation/clip_42/start_frame=0 205 | animation/clip_42/end_frame=0 206 | animation/clip_42/loops=false 207 | animation/clip_43/name="" 208 | animation/clip_43/start_frame=0 209 | animation/clip_43/end_frame=0 210 | animation/clip_43/loops=false 211 | animation/clip_44/name="" 212 | animation/clip_44/start_frame=0 213 | animation/clip_44/end_frame=0 214 | animation/clip_44/loops=false 215 | animation/clip_45/name="" 216 | animation/clip_45/start_frame=0 217 | animation/clip_45/end_frame=0 218 | animation/clip_45/loops=false 219 | animation/clip_46/name="" 220 | animation/clip_46/start_frame=0 221 | animation/clip_46/end_frame=0 222 | animation/clip_46/loops=false 223 | animation/clip_47/name="" 224 | animation/clip_47/start_frame=0 225 | animation/clip_47/end_frame=0 226 | animation/clip_47/loops=false 227 | animation/clip_48/name="" 228 | animation/clip_48/start_frame=0 229 | animation/clip_48/end_frame=0 230 | animation/clip_48/loops=false 231 | animation/clip_49/name="" 232 | animation/clip_49/start_frame=0 233 | animation/clip_49/end_frame=0 234 | animation/clip_49/loops=false 235 | animation/clip_50/name="" 236 | animation/clip_50/start_frame=0 237 | animation/clip_50/end_frame=0 238 | animation/clip_50/loops=false 239 | animation/clip_51/name="" 240 | animation/clip_51/start_frame=0 241 | animation/clip_51/end_frame=0 242 | animation/clip_51/loops=false 243 | animation/clip_52/name="" 244 | animation/clip_52/start_frame=0 245 | animation/clip_52/end_frame=0 246 | animation/clip_52/loops=false 247 | animation/clip_53/name="" 248 | animation/clip_53/start_frame=0 249 | animation/clip_53/end_frame=0 250 | animation/clip_53/loops=false 251 | animation/clip_54/name="" 252 | animation/clip_54/start_frame=0 253 | animation/clip_54/end_frame=0 254 | animation/clip_54/loops=false 255 | animation/clip_55/name="" 256 | animation/clip_55/start_frame=0 257 | animation/clip_55/end_frame=0 258 | animation/clip_55/loops=false 259 | animation/clip_56/name="" 260 | animation/clip_56/start_frame=0 261 | animation/clip_56/end_frame=0 262 | animation/clip_56/loops=false 263 | animation/clip_57/name="" 264 | animation/clip_57/start_frame=0 265 | animation/clip_57/end_frame=0 266 | animation/clip_57/loops=false 267 | animation/clip_58/name="" 268 | animation/clip_58/start_frame=0 269 | animation/clip_58/end_frame=0 270 | animation/clip_58/loops=false 271 | animation/clip_59/name="" 272 | animation/clip_59/start_frame=0 273 | animation/clip_59/end_frame=0 274 | animation/clip_59/loops=false 275 | animation/clip_60/name="" 276 | animation/clip_60/start_frame=0 277 | animation/clip_60/end_frame=0 278 | animation/clip_60/loops=false 279 | animation/clip_61/name="" 280 | animation/clip_61/start_frame=0 281 | animation/clip_61/end_frame=0 282 | animation/clip_61/loops=false 283 | animation/clip_62/name="" 284 | animation/clip_62/start_frame=0 285 | animation/clip_62/end_frame=0 286 | animation/clip_62/loops=false 287 | animation/clip_63/name="" 288 | animation/clip_63/start_frame=0 289 | animation/clip_63/end_frame=0 290 | animation/clip_63/loops=false 291 | animation/clip_64/name="" 292 | animation/clip_64/start_frame=0 293 | animation/clip_64/end_frame=0 294 | animation/clip_64/loops=false 295 | animation/clip_65/name="" 296 | animation/clip_65/start_frame=0 297 | animation/clip_65/end_frame=0 298 | animation/clip_65/loops=false 299 | animation/clip_66/name="" 300 | animation/clip_66/start_frame=0 301 | animation/clip_66/end_frame=0 302 | animation/clip_66/loops=false 303 | animation/clip_67/name="" 304 | animation/clip_67/start_frame=0 305 | animation/clip_67/end_frame=0 306 | animation/clip_67/loops=false 307 | animation/clip_68/name="" 308 | animation/clip_68/start_frame=0 309 | animation/clip_68/end_frame=0 310 | animation/clip_68/loops=false 311 | animation/clip_69/name="" 312 | animation/clip_69/start_frame=0 313 | animation/clip_69/end_frame=0 314 | animation/clip_69/loops=false 315 | animation/clip_70/name="" 316 | animation/clip_70/start_frame=0 317 | animation/clip_70/end_frame=0 318 | animation/clip_70/loops=false 319 | animation/clip_71/name="" 320 | animation/clip_71/start_frame=0 321 | animation/clip_71/end_frame=0 322 | animation/clip_71/loops=false 323 | animation/clip_72/name="" 324 | animation/clip_72/start_frame=0 325 | animation/clip_72/end_frame=0 326 | animation/clip_72/loops=false 327 | animation/clip_73/name="" 328 | animation/clip_73/start_frame=0 329 | animation/clip_73/end_frame=0 330 | animation/clip_73/loops=false 331 | animation/clip_74/name="" 332 | animation/clip_74/start_frame=0 333 | animation/clip_74/end_frame=0 334 | animation/clip_74/loops=false 335 | animation/clip_75/name="" 336 | animation/clip_75/start_frame=0 337 | animation/clip_75/end_frame=0 338 | animation/clip_75/loops=false 339 | animation/clip_76/name="" 340 | animation/clip_76/start_frame=0 341 | animation/clip_76/end_frame=0 342 | animation/clip_76/loops=false 343 | animation/clip_77/name="" 344 | animation/clip_77/start_frame=0 345 | animation/clip_77/end_frame=0 346 | animation/clip_77/loops=false 347 | animation/clip_78/name="" 348 | animation/clip_78/start_frame=0 349 | animation/clip_78/end_frame=0 350 | animation/clip_78/loops=false 351 | animation/clip_79/name="" 352 | animation/clip_79/start_frame=0 353 | animation/clip_79/end_frame=0 354 | animation/clip_79/loops=false 355 | animation/clip_80/name="" 356 | animation/clip_80/start_frame=0 357 | animation/clip_80/end_frame=0 358 | animation/clip_80/loops=false 359 | animation/clip_81/name="" 360 | animation/clip_81/start_frame=0 361 | animation/clip_81/end_frame=0 362 | animation/clip_81/loops=false 363 | animation/clip_82/name="" 364 | animation/clip_82/start_frame=0 365 | animation/clip_82/end_frame=0 366 | animation/clip_82/loops=false 367 | animation/clip_83/name="" 368 | animation/clip_83/start_frame=0 369 | animation/clip_83/end_frame=0 370 | animation/clip_83/loops=false 371 | animation/clip_84/name="" 372 | animation/clip_84/start_frame=0 373 | animation/clip_84/end_frame=0 374 | animation/clip_84/loops=false 375 | animation/clip_85/name="" 376 | animation/clip_85/start_frame=0 377 | animation/clip_85/end_frame=0 378 | animation/clip_85/loops=false 379 | animation/clip_86/name="" 380 | animation/clip_86/start_frame=0 381 | animation/clip_86/end_frame=0 382 | animation/clip_86/loops=false 383 | animation/clip_87/name="" 384 | animation/clip_87/start_frame=0 385 | animation/clip_87/end_frame=0 386 | animation/clip_87/loops=false 387 | animation/clip_88/name="" 388 | animation/clip_88/start_frame=0 389 | animation/clip_88/end_frame=0 390 | animation/clip_88/loops=false 391 | animation/clip_89/name="" 392 | animation/clip_89/start_frame=0 393 | animation/clip_89/end_frame=0 394 | animation/clip_89/loops=false 395 | animation/clip_90/name="" 396 | animation/clip_90/start_frame=0 397 | animation/clip_90/end_frame=0 398 | animation/clip_90/loops=false 399 | animation/clip_91/name="" 400 | animation/clip_91/start_frame=0 401 | animation/clip_91/end_frame=0 402 | animation/clip_91/loops=false 403 | animation/clip_92/name="" 404 | animation/clip_92/start_frame=0 405 | animation/clip_92/end_frame=0 406 | animation/clip_92/loops=false 407 | animation/clip_93/name="" 408 | animation/clip_93/start_frame=0 409 | animation/clip_93/end_frame=0 410 | animation/clip_93/loops=false 411 | animation/clip_94/name="" 412 | animation/clip_94/start_frame=0 413 | animation/clip_94/end_frame=0 414 | animation/clip_94/loops=false 415 | animation/clip_95/name="" 416 | animation/clip_95/start_frame=0 417 | animation/clip_95/end_frame=0 418 | animation/clip_95/loops=false 419 | animation/clip_96/name="" 420 | animation/clip_96/start_frame=0 421 | animation/clip_96/end_frame=0 422 | animation/clip_96/loops=false 423 | animation/clip_97/name="" 424 | animation/clip_97/start_frame=0 425 | animation/clip_97/end_frame=0 426 | animation/clip_97/loops=false 427 | animation/clip_98/name="" 428 | animation/clip_98/start_frame=0 429 | animation/clip_98/end_frame=0 430 | animation/clip_98/loops=false 431 | animation/clip_99/name="" 432 | animation/clip_99/start_frame=0 433 | animation/clip_99/end_frame=0 434 | animation/clip_99/loops=false 435 | animation/clip_100/name="" 436 | animation/clip_100/start_frame=0 437 | animation/clip_100/end_frame=0 438 | animation/clip_100/loops=false 439 | animation/clip_101/name="" 440 | animation/clip_101/start_frame=0 441 | animation/clip_101/end_frame=0 442 | animation/clip_101/loops=false 443 | animation/clip_102/name="" 444 | animation/clip_102/start_frame=0 445 | animation/clip_102/end_frame=0 446 | animation/clip_102/loops=false 447 | animation/clip_103/name="" 448 | animation/clip_103/start_frame=0 449 | animation/clip_103/end_frame=0 450 | animation/clip_103/loops=false 451 | animation/clip_104/name="" 452 | animation/clip_104/start_frame=0 453 | animation/clip_104/end_frame=0 454 | animation/clip_104/loops=false 455 | animation/clip_105/name="" 456 | animation/clip_105/start_frame=0 457 | animation/clip_105/end_frame=0 458 | animation/clip_105/loops=false 459 | animation/clip_106/name="" 460 | animation/clip_106/start_frame=0 461 | animation/clip_106/end_frame=0 462 | animation/clip_106/loops=false 463 | animation/clip_107/name="" 464 | animation/clip_107/start_frame=0 465 | animation/clip_107/end_frame=0 466 | animation/clip_107/loops=false 467 | animation/clip_108/name="" 468 | animation/clip_108/start_frame=0 469 | animation/clip_108/end_frame=0 470 | animation/clip_108/loops=false 471 | animation/clip_109/name="" 472 | animation/clip_109/start_frame=0 473 | animation/clip_109/end_frame=0 474 | animation/clip_109/loops=false 475 | animation/clip_110/name="" 476 | animation/clip_110/start_frame=0 477 | animation/clip_110/end_frame=0 478 | animation/clip_110/loops=false 479 | animation/clip_111/name="" 480 | animation/clip_111/start_frame=0 481 | animation/clip_111/end_frame=0 482 | animation/clip_111/loops=false 483 | animation/clip_112/name="" 484 | animation/clip_112/start_frame=0 485 | animation/clip_112/end_frame=0 486 | animation/clip_112/loops=false 487 | animation/clip_113/name="" 488 | animation/clip_113/start_frame=0 489 | animation/clip_113/end_frame=0 490 | animation/clip_113/loops=false 491 | animation/clip_114/name="" 492 | animation/clip_114/start_frame=0 493 | animation/clip_114/end_frame=0 494 | animation/clip_114/loops=false 495 | animation/clip_115/name="" 496 | animation/clip_115/start_frame=0 497 | animation/clip_115/end_frame=0 498 | animation/clip_115/loops=false 499 | animation/clip_116/name="" 500 | animation/clip_116/start_frame=0 501 | animation/clip_116/end_frame=0 502 | animation/clip_116/loops=false 503 | animation/clip_117/name="" 504 | animation/clip_117/start_frame=0 505 | animation/clip_117/end_frame=0 506 | animation/clip_117/loops=false 507 | animation/clip_118/name="" 508 | animation/clip_118/start_frame=0 509 | animation/clip_118/end_frame=0 510 | animation/clip_118/loops=false 511 | animation/clip_119/name="" 512 | animation/clip_119/start_frame=0 513 | animation/clip_119/end_frame=0 514 | animation/clip_119/loops=false 515 | animation/clip_120/name="" 516 | animation/clip_120/start_frame=0 517 | animation/clip_120/end_frame=0 518 | animation/clip_120/loops=false 519 | animation/clip_121/name="" 520 | animation/clip_121/start_frame=0 521 | animation/clip_121/end_frame=0 522 | animation/clip_121/loops=false 523 | animation/clip_122/name="" 524 | animation/clip_122/start_frame=0 525 | animation/clip_122/end_frame=0 526 | animation/clip_122/loops=false 527 | animation/clip_123/name="" 528 | animation/clip_123/start_frame=0 529 | animation/clip_123/end_frame=0 530 | animation/clip_123/loops=false 531 | animation/clip_124/name="" 532 | animation/clip_124/start_frame=0 533 | animation/clip_124/end_frame=0 534 | animation/clip_124/loops=false 535 | animation/clip_125/name="" 536 | animation/clip_125/start_frame=0 537 | animation/clip_125/end_frame=0 538 | animation/clip_125/loops=false 539 | animation/clip_126/name="" 540 | animation/clip_126/start_frame=0 541 | animation/clip_126/end_frame=0 542 | animation/clip_126/loops=false 543 | animation/clip_127/name="" 544 | animation/clip_127/start_frame=0 545 | animation/clip_127/end_frame=0 546 | animation/clip_127/loops=false 547 | animation/clip_128/name="" 548 | animation/clip_128/start_frame=0 549 | animation/clip_128/end_frame=0 550 | animation/clip_128/loops=false 551 | animation/clip_129/name="" 552 | animation/clip_129/start_frame=0 553 | animation/clip_129/end_frame=0 554 | animation/clip_129/loops=false 555 | animation/clip_130/name="" 556 | animation/clip_130/start_frame=0 557 | animation/clip_130/end_frame=0 558 | animation/clip_130/loops=false 559 | animation/clip_131/name="" 560 | animation/clip_131/start_frame=0 561 | animation/clip_131/end_frame=0 562 | animation/clip_131/loops=false 563 | animation/clip_132/name="" 564 | animation/clip_132/start_frame=0 565 | animation/clip_132/end_frame=0 566 | animation/clip_132/loops=false 567 | animation/clip_133/name="" 568 | animation/clip_133/start_frame=0 569 | animation/clip_133/end_frame=0 570 | animation/clip_133/loops=false 571 | animation/clip_134/name="" 572 | animation/clip_134/start_frame=0 573 | animation/clip_134/end_frame=0 574 | animation/clip_134/loops=false 575 | animation/clip_135/name="" 576 | animation/clip_135/start_frame=0 577 | animation/clip_135/end_frame=0 578 | animation/clip_135/loops=false 579 | animation/clip_136/name="" 580 | animation/clip_136/start_frame=0 581 | animation/clip_136/end_frame=0 582 | animation/clip_136/loops=false 583 | animation/clip_137/name="" 584 | animation/clip_137/start_frame=0 585 | animation/clip_137/end_frame=0 586 | animation/clip_137/loops=false 587 | animation/clip_138/name="" 588 | animation/clip_138/start_frame=0 589 | animation/clip_138/end_frame=0 590 | animation/clip_138/loops=false 591 | animation/clip_139/name="" 592 | animation/clip_139/start_frame=0 593 | animation/clip_139/end_frame=0 594 | animation/clip_139/loops=false 595 | animation/clip_140/name="" 596 | animation/clip_140/start_frame=0 597 | animation/clip_140/end_frame=0 598 | animation/clip_140/loops=false 599 | animation/clip_141/name="" 600 | animation/clip_141/start_frame=0 601 | animation/clip_141/end_frame=0 602 | animation/clip_141/loops=false 603 | animation/clip_142/name="" 604 | animation/clip_142/start_frame=0 605 | animation/clip_142/end_frame=0 606 | animation/clip_142/loops=false 607 | animation/clip_143/name="" 608 | animation/clip_143/start_frame=0 609 | animation/clip_143/end_frame=0 610 | animation/clip_143/loops=false 611 | animation/clip_144/name="" 612 | animation/clip_144/start_frame=0 613 | animation/clip_144/end_frame=0 614 | animation/clip_144/loops=false 615 | animation/clip_145/name="" 616 | animation/clip_145/start_frame=0 617 | animation/clip_145/end_frame=0 618 | animation/clip_145/loops=false 619 | animation/clip_146/name="" 620 | animation/clip_146/start_frame=0 621 | animation/clip_146/end_frame=0 622 | animation/clip_146/loops=false 623 | animation/clip_147/name="" 624 | animation/clip_147/start_frame=0 625 | animation/clip_147/end_frame=0 626 | animation/clip_147/loops=false 627 | animation/clip_148/name="" 628 | animation/clip_148/start_frame=0 629 | animation/clip_148/end_frame=0 630 | animation/clip_148/loops=false 631 | animation/clip_149/name="" 632 | animation/clip_149/start_frame=0 633 | animation/clip_149/end_frame=0 634 | animation/clip_149/loops=false 635 | animation/clip_150/name="" 636 | animation/clip_150/start_frame=0 637 | animation/clip_150/end_frame=0 638 | animation/clip_150/loops=false 639 | animation/clip_151/name="" 640 | animation/clip_151/start_frame=0 641 | animation/clip_151/end_frame=0 642 | animation/clip_151/loops=false 643 | animation/clip_152/name="" 644 | animation/clip_152/start_frame=0 645 | animation/clip_152/end_frame=0 646 | animation/clip_152/loops=false 647 | animation/clip_153/name="" 648 | animation/clip_153/start_frame=0 649 | animation/clip_153/end_frame=0 650 | animation/clip_153/loops=false 651 | animation/clip_154/name="" 652 | animation/clip_154/start_frame=0 653 | animation/clip_154/end_frame=0 654 | animation/clip_154/loops=false 655 | animation/clip_155/name="" 656 | animation/clip_155/start_frame=0 657 | animation/clip_155/end_frame=0 658 | animation/clip_155/loops=false 659 | animation/clip_156/name="" 660 | animation/clip_156/start_frame=0 661 | animation/clip_156/end_frame=0 662 | animation/clip_156/loops=false 663 | animation/clip_157/name="" 664 | animation/clip_157/start_frame=0 665 | animation/clip_157/end_frame=0 666 | animation/clip_157/loops=false 667 | animation/clip_158/name="" 668 | animation/clip_158/start_frame=0 669 | animation/clip_158/end_frame=0 670 | animation/clip_158/loops=false 671 | animation/clip_159/name="" 672 | animation/clip_159/start_frame=0 673 | animation/clip_159/end_frame=0 674 | animation/clip_159/loops=false 675 | animation/clip_160/name="" 676 | animation/clip_160/start_frame=0 677 | animation/clip_160/end_frame=0 678 | animation/clip_160/loops=false 679 | animation/clip_161/name="" 680 | animation/clip_161/start_frame=0 681 | animation/clip_161/end_frame=0 682 | animation/clip_161/loops=false 683 | animation/clip_162/name="" 684 | animation/clip_162/start_frame=0 685 | animation/clip_162/end_frame=0 686 | animation/clip_162/loops=false 687 | animation/clip_163/name="" 688 | animation/clip_163/start_frame=0 689 | animation/clip_163/end_frame=0 690 | animation/clip_163/loops=false 691 | animation/clip_164/name="" 692 | animation/clip_164/start_frame=0 693 | animation/clip_164/end_frame=0 694 | animation/clip_164/loops=false 695 | animation/clip_165/name="" 696 | animation/clip_165/start_frame=0 697 | animation/clip_165/end_frame=0 698 | animation/clip_165/loops=false 699 | animation/clip_166/name="" 700 | animation/clip_166/start_frame=0 701 | animation/clip_166/end_frame=0 702 | animation/clip_166/loops=false 703 | animation/clip_167/name="" 704 | animation/clip_167/start_frame=0 705 | animation/clip_167/end_frame=0 706 | animation/clip_167/loops=false 707 | animation/clip_168/name="" 708 | animation/clip_168/start_frame=0 709 | animation/clip_168/end_frame=0 710 | animation/clip_168/loops=false 711 | animation/clip_169/name="" 712 | animation/clip_169/start_frame=0 713 | animation/clip_169/end_frame=0 714 | animation/clip_169/loops=false 715 | animation/clip_170/name="" 716 | animation/clip_170/start_frame=0 717 | animation/clip_170/end_frame=0 718 | animation/clip_170/loops=false 719 | animation/clip_171/name="" 720 | animation/clip_171/start_frame=0 721 | animation/clip_171/end_frame=0 722 | animation/clip_171/loops=false 723 | animation/clip_172/name="" 724 | animation/clip_172/start_frame=0 725 | animation/clip_172/end_frame=0 726 | animation/clip_172/loops=false 727 | animation/clip_173/name="" 728 | animation/clip_173/start_frame=0 729 | animation/clip_173/end_frame=0 730 | animation/clip_173/loops=false 731 | animation/clip_174/name="" 732 | animation/clip_174/start_frame=0 733 | animation/clip_174/end_frame=0 734 | animation/clip_174/loops=false 735 | animation/clip_175/name="" 736 | animation/clip_175/start_frame=0 737 | animation/clip_175/end_frame=0 738 | animation/clip_175/loops=false 739 | animation/clip_176/name="" 740 | animation/clip_176/start_frame=0 741 | animation/clip_176/end_frame=0 742 | animation/clip_176/loops=false 743 | animation/clip_177/name="" 744 | animation/clip_177/start_frame=0 745 | animation/clip_177/end_frame=0 746 | animation/clip_177/loops=false 747 | animation/clip_178/name="" 748 | animation/clip_178/start_frame=0 749 | animation/clip_178/end_frame=0 750 | animation/clip_178/loops=false 751 | animation/clip_179/name="" 752 | animation/clip_179/start_frame=0 753 | animation/clip_179/end_frame=0 754 | animation/clip_179/loops=false 755 | animation/clip_180/name="" 756 | animation/clip_180/start_frame=0 757 | animation/clip_180/end_frame=0 758 | animation/clip_180/loops=false 759 | animation/clip_181/name="" 760 | animation/clip_181/start_frame=0 761 | animation/clip_181/end_frame=0 762 | animation/clip_181/loops=false 763 | animation/clip_182/name="" 764 | animation/clip_182/start_frame=0 765 | animation/clip_182/end_frame=0 766 | animation/clip_182/loops=false 767 | animation/clip_183/name="" 768 | animation/clip_183/start_frame=0 769 | animation/clip_183/end_frame=0 770 | animation/clip_183/loops=false 771 | animation/clip_184/name="" 772 | animation/clip_184/start_frame=0 773 | animation/clip_184/end_frame=0 774 | animation/clip_184/loops=false 775 | animation/clip_185/name="" 776 | animation/clip_185/start_frame=0 777 | animation/clip_185/end_frame=0 778 | animation/clip_185/loops=false 779 | animation/clip_186/name="" 780 | animation/clip_186/start_frame=0 781 | animation/clip_186/end_frame=0 782 | animation/clip_186/loops=false 783 | animation/clip_187/name="" 784 | animation/clip_187/start_frame=0 785 | animation/clip_187/end_frame=0 786 | animation/clip_187/loops=false 787 | animation/clip_188/name="" 788 | animation/clip_188/start_frame=0 789 | animation/clip_188/end_frame=0 790 | animation/clip_188/loops=false 791 | animation/clip_189/name="" 792 | animation/clip_189/start_frame=0 793 | animation/clip_189/end_frame=0 794 | animation/clip_189/loops=false 795 | animation/clip_190/name="" 796 | animation/clip_190/start_frame=0 797 | animation/clip_190/end_frame=0 798 | animation/clip_190/loops=false 799 | animation/clip_191/name="" 800 | animation/clip_191/start_frame=0 801 | animation/clip_191/end_frame=0 802 | animation/clip_191/loops=false 803 | animation/clip_192/name="" 804 | animation/clip_192/start_frame=0 805 | animation/clip_192/end_frame=0 806 | animation/clip_192/loops=false 807 | animation/clip_193/name="" 808 | animation/clip_193/start_frame=0 809 | animation/clip_193/end_frame=0 810 | animation/clip_193/loops=false 811 | animation/clip_194/name="" 812 | animation/clip_194/start_frame=0 813 | animation/clip_194/end_frame=0 814 | animation/clip_194/loops=false 815 | animation/clip_195/name="" 816 | animation/clip_195/start_frame=0 817 | animation/clip_195/end_frame=0 818 | animation/clip_195/loops=false 819 | animation/clip_196/name="" 820 | animation/clip_196/start_frame=0 821 | animation/clip_196/end_frame=0 822 | animation/clip_196/loops=false 823 | animation/clip_197/name="" 824 | animation/clip_197/start_frame=0 825 | animation/clip_197/end_frame=0 826 | animation/clip_197/loops=false 827 | animation/clip_198/name="" 828 | animation/clip_198/start_frame=0 829 | animation/clip_198/end_frame=0 830 | animation/clip_198/loops=false 831 | animation/clip_199/name="" 832 | animation/clip_199/start_frame=0 833 | animation/clip_199/end_frame=0 834 | animation/clip_199/loops=false 835 | animation/clip_200/name="" 836 | animation/clip_200/start_frame=0 837 | animation/clip_200/end_frame=0 838 | animation/clip_200/loops=false 839 | animation/clip_201/name="" 840 | animation/clip_201/start_frame=0 841 | animation/clip_201/end_frame=0 842 | animation/clip_201/loops=false 843 | animation/clip_202/name="" 844 | animation/clip_202/start_frame=0 845 | animation/clip_202/end_frame=0 846 | animation/clip_202/loops=false 847 | animation/clip_203/name="" 848 | animation/clip_203/start_frame=0 849 | animation/clip_203/end_frame=0 850 | animation/clip_203/loops=false 851 | animation/clip_204/name="" 852 | animation/clip_204/start_frame=0 853 | animation/clip_204/end_frame=0 854 | animation/clip_204/loops=false 855 | animation/clip_205/name="" 856 | animation/clip_205/start_frame=0 857 | animation/clip_205/end_frame=0 858 | animation/clip_205/loops=false 859 | animation/clip_206/name="" 860 | animation/clip_206/start_frame=0 861 | animation/clip_206/end_frame=0 862 | animation/clip_206/loops=false 863 | animation/clip_207/name="" 864 | animation/clip_207/start_frame=0 865 | animation/clip_207/end_frame=0 866 | animation/clip_207/loops=false 867 | animation/clip_208/name="" 868 | animation/clip_208/start_frame=0 869 | animation/clip_208/end_frame=0 870 | animation/clip_208/loops=false 871 | animation/clip_209/name="" 872 | animation/clip_209/start_frame=0 873 | animation/clip_209/end_frame=0 874 | animation/clip_209/loops=false 875 | animation/clip_210/name="" 876 | animation/clip_210/start_frame=0 877 | animation/clip_210/end_frame=0 878 | animation/clip_210/loops=false 879 | animation/clip_211/name="" 880 | animation/clip_211/start_frame=0 881 | animation/clip_211/end_frame=0 882 | animation/clip_211/loops=false 883 | animation/clip_212/name="" 884 | animation/clip_212/start_frame=0 885 | animation/clip_212/end_frame=0 886 | animation/clip_212/loops=false 887 | animation/clip_213/name="" 888 | animation/clip_213/start_frame=0 889 | animation/clip_213/end_frame=0 890 | animation/clip_213/loops=false 891 | animation/clip_214/name="" 892 | animation/clip_214/start_frame=0 893 | animation/clip_214/end_frame=0 894 | animation/clip_214/loops=false 895 | animation/clip_215/name="" 896 | animation/clip_215/start_frame=0 897 | animation/clip_215/end_frame=0 898 | animation/clip_215/loops=false 899 | animation/clip_216/name="" 900 | animation/clip_216/start_frame=0 901 | animation/clip_216/end_frame=0 902 | animation/clip_216/loops=false 903 | animation/clip_217/name="" 904 | animation/clip_217/start_frame=0 905 | animation/clip_217/end_frame=0 906 | animation/clip_217/loops=false 907 | animation/clip_218/name="" 908 | animation/clip_218/start_frame=0 909 | animation/clip_218/end_frame=0 910 | animation/clip_218/loops=false 911 | animation/clip_219/name="" 912 | animation/clip_219/start_frame=0 913 | animation/clip_219/end_frame=0 914 | animation/clip_219/loops=false 915 | animation/clip_220/name="" 916 | animation/clip_220/start_frame=0 917 | animation/clip_220/end_frame=0 918 | animation/clip_220/loops=false 919 | animation/clip_221/name="" 920 | animation/clip_221/start_frame=0 921 | animation/clip_221/end_frame=0 922 | animation/clip_221/loops=false 923 | animation/clip_222/name="" 924 | animation/clip_222/start_frame=0 925 | animation/clip_222/end_frame=0 926 | animation/clip_222/loops=false 927 | animation/clip_223/name="" 928 | animation/clip_223/start_frame=0 929 | animation/clip_223/end_frame=0 930 | animation/clip_223/loops=false 931 | animation/clip_224/name="" 932 | animation/clip_224/start_frame=0 933 | animation/clip_224/end_frame=0 934 | animation/clip_224/loops=false 935 | animation/clip_225/name="" 936 | animation/clip_225/start_frame=0 937 | animation/clip_225/end_frame=0 938 | animation/clip_225/loops=false 939 | animation/clip_226/name="" 940 | animation/clip_226/start_frame=0 941 | animation/clip_226/end_frame=0 942 | animation/clip_226/loops=false 943 | animation/clip_227/name="" 944 | animation/clip_227/start_frame=0 945 | animation/clip_227/end_frame=0 946 | animation/clip_227/loops=false 947 | animation/clip_228/name="" 948 | animation/clip_228/start_frame=0 949 | animation/clip_228/end_frame=0 950 | animation/clip_228/loops=false 951 | animation/clip_229/name="" 952 | animation/clip_229/start_frame=0 953 | animation/clip_229/end_frame=0 954 | animation/clip_229/loops=false 955 | animation/clip_230/name="" 956 | animation/clip_230/start_frame=0 957 | animation/clip_230/end_frame=0 958 | animation/clip_230/loops=false 959 | animation/clip_231/name="" 960 | animation/clip_231/start_frame=0 961 | animation/clip_231/end_frame=0 962 | animation/clip_231/loops=false 963 | animation/clip_232/name="" 964 | animation/clip_232/start_frame=0 965 | animation/clip_232/end_frame=0 966 | animation/clip_232/loops=false 967 | animation/clip_233/name="" 968 | animation/clip_233/start_frame=0 969 | animation/clip_233/end_frame=0 970 | animation/clip_233/loops=false 971 | animation/clip_234/name="" 972 | animation/clip_234/start_frame=0 973 | animation/clip_234/end_frame=0 974 | animation/clip_234/loops=false 975 | animation/clip_235/name="" 976 | animation/clip_235/start_frame=0 977 | animation/clip_235/end_frame=0 978 | animation/clip_235/loops=false 979 | animation/clip_236/name="" 980 | animation/clip_236/start_frame=0 981 | animation/clip_236/end_frame=0 982 | animation/clip_236/loops=false 983 | animation/clip_237/name="" 984 | animation/clip_237/start_frame=0 985 | animation/clip_237/end_frame=0 986 | animation/clip_237/loops=false 987 | animation/clip_238/name="" 988 | animation/clip_238/start_frame=0 989 | animation/clip_238/end_frame=0 990 | animation/clip_238/loops=false 991 | animation/clip_239/name="" 992 | animation/clip_239/start_frame=0 993 | animation/clip_239/end_frame=0 994 | animation/clip_239/loops=false 995 | animation/clip_240/name="" 996 | animation/clip_240/start_frame=0 997 | animation/clip_240/end_frame=0 998 | animation/clip_240/loops=false 999 | animation/clip_241/name="" 1000 | animation/clip_241/start_frame=0 1001 | animation/clip_241/end_frame=0 1002 | animation/clip_241/loops=false 1003 | animation/clip_242/name="" 1004 | animation/clip_242/start_frame=0 1005 | animation/clip_242/end_frame=0 1006 | animation/clip_242/loops=false 1007 | animation/clip_243/name="" 1008 | animation/clip_243/start_frame=0 1009 | animation/clip_243/end_frame=0 1010 | animation/clip_243/loops=false 1011 | animation/clip_244/name="" 1012 | animation/clip_244/start_frame=0 1013 | animation/clip_244/end_frame=0 1014 | animation/clip_244/loops=false 1015 | animation/clip_245/name="" 1016 | animation/clip_245/start_frame=0 1017 | animation/clip_245/end_frame=0 1018 | animation/clip_245/loops=false 1019 | animation/clip_246/name="" 1020 | animation/clip_246/start_frame=0 1021 | animation/clip_246/end_frame=0 1022 | animation/clip_246/loops=false 1023 | animation/clip_247/name="" 1024 | animation/clip_247/start_frame=0 1025 | animation/clip_247/end_frame=0 1026 | animation/clip_247/loops=false 1027 | animation/clip_248/name="" 1028 | animation/clip_248/start_frame=0 1029 | animation/clip_248/end_frame=0 1030 | animation/clip_248/loops=false 1031 | animation/clip_249/name="" 1032 | animation/clip_249/start_frame=0 1033 | animation/clip_249/end_frame=0 1034 | animation/clip_249/loops=false 1035 | animation/clip_250/name="" 1036 | animation/clip_250/start_frame=0 1037 | animation/clip_250/end_frame=0 1038 | animation/clip_250/loops=false 1039 | animation/clip_251/name="" 1040 | animation/clip_251/start_frame=0 1041 | animation/clip_251/end_frame=0 1042 | animation/clip_251/loops=false 1043 | animation/clip_252/name="" 1044 | animation/clip_252/start_frame=0 1045 | animation/clip_252/end_frame=0 1046 | animation/clip_252/loops=false 1047 | animation/clip_253/name="" 1048 | animation/clip_253/start_frame=0 1049 | animation/clip_253/end_frame=0 1050 | animation/clip_253/loops=false 1051 | animation/clip_254/name="" 1052 | animation/clip_254/start_frame=0 1053 | animation/clip_254/end_frame=0 1054 | animation/clip_254/loops=false 1055 | animation/clip_255/name="" 1056 | animation/clip_255/start_frame=0 1057 | animation/clip_255/end_frame=0 1058 | animation/clip_255/loops=false 1059 | animation/clip_256/name="" 1060 | animation/clip_256/start_frame=0 1061 | animation/clip_256/end_frame=0 1062 | animation/clip_256/loops=false 1063 | -------------------------------------------------------------------------------- /meshes/LOD_mesh_00.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.79 (sub 0) OBJ File: 'untitled.blend' 2 | # www.blender.org 3 | o DOF_Mesh_00_Suzanne.001 4 | v 0.437500 1.086235 0.255110 5 | v -0.437500 1.086235 0.255110 6 | v 0.500000 0.984301 0.229483 7 | v -0.500000 0.984301 0.229483 8 | v 0.546875 0.890874 0.160488 9 | v -0.546875 0.890874 0.160488 10 | v 0.351562 0.847817 0.236485 11 | v -0.351562 0.847817 0.236485 12 | v 0.351562 0.949855 0.290280 13 | v -0.351562 0.949855 0.290280 14 | v 0.351562 1.069012 0.285509 15 | v -0.351562 1.069012 0.285509 16 | v 0.273438 1.103665 0.281048 17 | v -0.273438 1.103665 0.281048 18 | v 0.203125 1.014803 0.274874 19 | v -0.203125 1.014803 0.274874 20 | v 0.156250 0.930092 0.218848 21 | v -0.156250 0.930092 0.218848 22 | v 0.078125 1.090075 0.120754 23 | v -0.078125 1.090075 0.120754 24 | v 0.140625 1.138007 0.192082 25 | v -0.140625 1.138007 0.192082 26 | v 0.242188 1.168509 0.237473 27 | v -0.242188 1.168509 0.237473 28 | v 0.273438 1.239838 0.189541 29 | v -0.273438 1.239838 0.189541 30 | v 0.203125 1.261211 0.109291 31 | v -0.203125 1.261211 0.109291 32 | v 0.156250 1.247828 0.005333 33 | v -0.156250 1.247828 0.005333 34 | v 0.351562 1.295243 -0.064179 35 | v -0.351562 1.295243 -0.064179 36 | v 0.351562 1.300014 0.054978 37 | v -0.351562 1.300014 0.054978 38 | v 0.351562 1.257061 0.159143 39 | v -0.351562 1.257061 0.159143 40 | v 0.437500 1.222408 0.163604 41 | v -0.437500 1.222408 0.163604 42 | v 0.500000 1.230709 0.063900 43 | v -0.500000 1.230709 0.063900 44 | v 0.546875 1.208611 -0.053027 45 | v -0.546875 1.208611 -0.053027 46 | v 0.625000 1.037786 0.042940 47 | v -0.625000 1.037786 0.042940 48 | v 0.562500 1.098790 0.133722 49 | v -0.562500 1.098790 0.133722 50 | v 0.468750 1.146722 0.205051 51 | v -0.468750 1.146722 0.205051 52 | v 0.476562 1.155437 0.218020 53 | v -0.476562 1.155437 0.218020 54 | v 0.445312 1.237607 0.172215 55 | v -0.445312 1.237607 0.172215 56 | v 0.351562 1.283102 0.169881 57 | v -0.351562 1.283102 0.169881 58 | v 0.265625 1.259395 0.204637 59 | v -0.265625 1.259395 0.204637 60 | v 0.226562 1.181582 0.256927 61 | v -0.226562 1.181582 0.256927 62 | v 0.265625 1.110253 0.304858 63 | v -0.265625 1.110253 0.304858 64 | v 0.351562 1.185939 0.263411 65 | v -0.351562 1.185939 0.263411 66 | v 0.351562 1.069116 0.313677 67 | v -0.351562 1.069116 0.313677 68 | v 0.445312 1.088466 0.272436 69 | v -0.445312 1.088466 0.272436 70 | v -0.000000 1.300215 0.097298 71 | v -0.000000 1.278945 0.205717 72 | v -0.000000 0.375069 0.709571 73 | v -0.000000 0.699497 0.548035 74 | v -0.000000 0.818448 0.486927 75 | v 0.000000 0.288541 0.748892 76 | v -0.000000 1.202328 -0.006349 77 | v -0.000000 1.321071 -0.123794 78 | v -0.000000 0.970301 -1.234079 79 | v -0.000000 0.521530 -1.299602 80 | v -0.000000 0.126084 -1.005629 81 | v -0.000000 0.015792 -0.357347 82 | v 0.203125 0.687724 0.292395 83 | v -0.203125 0.687724 0.292395 84 | v 0.312500 0.484580 0.438318 85 | v -0.312500 0.484580 0.438318 86 | v 0.351562 0.270594 0.582113 87 | v -0.351562 0.270594 0.582113 88 | v 0.367188 0.086696 0.658628 89 | v -0.367188 0.086696 0.658628 90 | v 0.328125 0.036947 0.682645 91 | v -0.328125 0.036947 0.682645 92 | v 0.179688 0.034924 0.721655 93 | v -0.179688 0.034924 0.721655 94 | v 0.000000 0.035027 0.749823 95 | v 0.437500 0.709201 0.240312 96 | v -0.437500 0.709201 0.240312 97 | v 0.632812 0.797856 0.190150 98 | v -0.632812 0.797856 0.190150 99 | v 0.828125 0.901193 0.007758 100 | v -0.828125 0.901193 0.007758 101 | v 0.859375 1.217423 -0.025906 102 | v -0.859375 1.217423 -0.025906 103 | v 0.710938 1.280244 -0.030471 104 | v -0.710938 1.280244 -0.030471 105 | v 0.492188 1.412370 -0.043957 106 | v -0.492188 1.412370 -0.043957 107 | v 0.320312 1.568203 -0.092200 108 | v -0.320312 1.568203 -0.092200 109 | v 0.156250 1.548854 -0.050959 110 | v -0.156250 1.548854 -0.050959 111 | v 0.062500 1.356448 0.068923 112 | v -0.062500 1.356448 0.068923 113 | v 0.164062 1.304676 0.131950 114 | v -0.164062 1.304676 0.131950 115 | v 0.125000 1.209537 0.186470 116 | v -0.125000 1.209537 0.186470 117 | v 0.203125 1.021385 0.284668 118 | v -0.203125 1.021385 0.284668 119 | v 0.375000 0.934753 0.295821 120 | v -0.375000 0.934753 0.295821 121 | v 0.492188 0.956230 0.243738 122 | v -0.492188 0.956230 0.243738 123 | v 0.625000 1.046908 0.154566 124 | v -0.625000 1.046908 0.154566 125 | v 0.640625 1.137690 0.093561 126 | v -0.640625 1.137690 0.093561 127 | v 0.601562 1.211250 0.062956 128 | v -0.601562 1.211250 0.062956 129 | v 0.429688 1.293627 0.073487 130 | v -0.429688 1.293627 0.073487 131 | v 0.250000 1.341352 0.088479 132 | v -0.250000 1.341352 0.088479 133 | v 0.000000 0.303740 0.757503 134 | v 0.109375 0.342647 0.731359 135 | v -0.109375 0.342647 0.731359 136 | v 0.117188 0.232308 0.777267 137 | v -0.117188 0.232308 0.777267 138 | v 0.062500 0.184687 0.790443 139 | v -0.062500 0.184687 0.790443 140 | v 0.000000 0.173845 0.788316 141 | v -0.000000 0.785818 0.452378 142 | v -0.000000 0.826852 0.415392 143 | v 0.101562 0.820368 0.419749 144 | v -0.101562 0.820368 0.419749 145 | v 0.125000 0.759881 0.469808 146 | v -0.125000 0.759881 0.469808 147 | v 0.085938 0.703648 0.498183 148 | v -0.085938 0.703648 0.498183 149 | v 0.398438 0.865448 0.304742 150 | v -0.398438 0.865448 0.304742 151 | v 0.617188 0.923601 0.209189 152 | v -0.617188 0.923601 0.209189 153 | v 0.726562 1.033733 0.106944 154 | v -0.726562 1.033733 0.106944 155 | v 0.742188 1.206892 0.056471 156 | v -0.742188 1.206892 0.056471 157 | v 0.687500 1.278531 0.093044 158 | v -0.687500 1.278531 0.093044 159 | v 0.437500 1.427984 0.077327 160 | v -0.437500 1.427984 0.077327 161 | v 0.312500 1.527584 0.057460 162 | v -0.312500 1.527584 0.057460 163 | v 0.203125 1.516846 0.083501 164 | v -0.203125 1.516846 0.083501 165 | v 0.101562 1.356862 0.181595 166 | v -0.101562 1.356862 0.181595 167 | v 0.125000 0.898491 0.451964 168 | v -0.125000 0.898491 0.451964 169 | v 0.210938 0.556530 0.559395 170 | v -0.210938 0.556530 0.559395 171 | v 0.250000 0.329471 0.683737 172 | v -0.250000 0.329471 0.683737 173 | v 0.265625 0.219132 0.729646 174 | v -0.265625 0.219132 0.729646 175 | v 0.234375 0.123889 0.755997 176 | v -0.234375 0.123889 0.755997 177 | v 0.164062 0.110921 0.764712 178 | v -0.164062 0.110921 0.764712 179 | v 0.000000 0.102309 0.779912 180 | v -0.000000 0.973763 0.297844 181 | v -0.000000 1.131723 0.238760 182 | v 0.328125 1.339122 0.071153 183 | v -0.328125 1.339122 0.071153 184 | v 0.164062 1.064649 0.265008 185 | v -0.164062 1.064649 0.265008 186 | v 0.132812 1.127366 0.232275 187 | v -0.132812 1.127366 0.232275 188 | v 0.117188 0.368585 0.713929 189 | v -0.117188 0.368585 0.713929 190 | v 0.078125 0.578317 0.591817 191 | v -0.078125 0.578317 0.591817 192 | v -0.000000 0.578317 0.591817 193 | v -0.000000 0.671226 0.519971 194 | v 0.093750 0.738404 0.521891 195 | v -0.093750 0.738404 0.521891 196 | v 0.132812 0.786025 0.508715 197 | v -0.132812 0.786025 0.508715 198 | v 0.109375 0.855124 0.443456 199 | v -0.109375 0.855124 0.443456 200 | v 0.039062 0.861608 0.439099 201 | v -0.039062 0.861608 0.439099 202 | v -0.000000 0.822909 0.521580 203 | v 0.046875 0.859585 0.478109 204 | v -0.046875 0.859585 0.478109 205 | v 0.093750 0.853100 0.482466 206 | v -0.093750 0.853100 0.482466 207 | v 0.109375 0.803455 0.534652 208 | v -0.109375 0.803455 0.534652 209 | v 0.078125 0.770930 0.528271 210 | v -0.078125 0.770930 0.528271 211 | v -0.000000 0.738507 0.550059 212 | v 0.257812 0.579616 0.355629 213 | v -0.257812 0.579616 0.355629 214 | v 0.164062 0.725125 0.446101 215 | v -0.164062 0.725125 0.446101 216 | v 0.179688 0.666765 0.485318 217 | v -0.179688 0.666765 0.485318 218 | v 0.234375 0.631491 0.320770 219 | v -0.234375 0.631491 0.320770 220 | v 0.000000 0.186814 0.779601 221 | v 0.046875 0.193298 0.775244 222 | v -0.046875 0.193298 0.775244 223 | v 0.093750 0.245277 0.768552 224 | v -0.093750 0.245277 0.768552 225 | v 0.093750 0.318836 0.737947 226 | v -0.093750 0.318836 0.737947 227 | v 0.000000 0.247197 0.701374 228 | v 0.093750 0.277492 0.690429 229 | v -0.093750 0.277492 0.690429 230 | v 0.093750 0.212544 0.705835 231 | v -0.093750 0.212544 0.705835 232 | v 0.046875 0.175765 0.721138 233 | v -0.046875 0.175765 0.721138 234 | v 0.000000 0.169280 0.725495 235 | v 0.171875 1.146923 0.247371 236 | v -0.171875 1.146923 0.247371 237 | v 0.187500 1.090690 0.275746 238 | v -0.187500 1.090690 0.275746 239 | v 0.335938 1.308930 0.110267 240 | v -0.335938 1.308930 0.110267 241 | v 0.273438 1.311160 0.127593 242 | v -0.273438 1.311160 0.127593 243 | v 0.421875 1.291707 0.140665 244 | v -0.421875 1.291707 0.140665 245 | v 0.562500 1.209226 0.101966 246 | v -0.562500 1.209226 0.101966 247 | v 0.585938 1.152993 0.130341 248 | v -0.585938 1.152993 0.130341 249 | v 0.578125 1.070823 0.176146 250 | v -0.578125 1.070823 0.176146 251 | v 0.476562 1.014797 0.260857 252 | v -0.476562 1.014797 0.260857 253 | v 0.375000 0.995447 0.302098 254 | v -0.375000 0.995447 0.302098 255 | v 0.226562 1.056141 0.308376 256 | v -0.226562 1.056141 0.308376 257 | v 0.179688 1.211767 0.203797 258 | v -0.179688 1.211767 0.203797 259 | v 0.210938 1.276611 0.160222 260 | v -0.210938 1.276611 0.160222 261 | v 0.234375 1.250570 0.149484 262 | v -0.234375 1.250570 0.149484 263 | v 0.195312 1.198695 0.184343 264 | v -0.195312 1.198695 0.184343 265 | v 0.242188 1.056037 0.280207 266 | v -0.242188 1.056037 0.280207 267 | v 0.375000 1.006185 0.276057 268 | v -0.375000 1.006185 0.276057 269 | v 0.460938 1.019051 0.239174 270 | v -0.460938 1.019051 0.239174 271 | v 0.546875 1.079434 0.160947 272 | v -0.546875 1.079434 0.160947 273 | v 0.554688 1.137794 0.121730 274 | v -0.554688 1.137794 0.121730 275 | v 0.531250 1.187542 0.097712 276 | v -0.531250 1.187542 0.097712 277 | v 0.414062 1.272150 0.125570 278 | v -0.414062 1.272150 0.125570 279 | v 0.281250 1.287350 0.134181 280 | v -0.281250 1.287350 0.134181 281 | v 0.335938 1.285119 0.116855 282 | v -0.335938 1.285119 0.116855 283 | v 0.203125 1.090586 0.247578 284 | v -0.203125 1.090586 0.247578 285 | v 0.195312 1.135978 0.217076 286 | v -0.195312 1.135978 0.217076 287 | v 0.109375 1.252076 -0.030367 288 | v -0.109375 1.252076 -0.030367 289 | v 0.195312 1.425029 -0.137176 290 | v -0.195312 1.425029 -0.137176 291 | v 0.335938 1.431410 -0.169702 292 | v -0.335938 1.431410 -0.169702 293 | v 0.484375 1.299387 -0.128048 294 | v -0.484375 1.299387 -0.128048 295 | v 0.679688 1.180230 -0.123276 296 | v -0.679688 1.180230 -0.123276 297 | v 0.796875 1.123893 -0.123069 298 | v -0.796875 1.123893 -0.123069 299 | v 0.773438 0.874944 -0.059317 300 | v -0.773438 0.874944 -0.059317 301 | v 0.601562 0.760559 0.064612 302 | v -0.601562 0.760559 0.064612 303 | v 0.437500 0.713248 0.162292 304 | v -0.437500 0.713248 0.162292 305 | v -0.000000 1.436548 -0.540246 306 | v -0.000000 1.303077 -0.892946 307 | v -0.000000 -0.007238 -0.727787 308 | v -0.000000 0.251611 0.133653 309 | v 0.000000 -0.023850 0.648200 310 | v 0.000000 0.053446 0.455069 311 | v -0.000000 0.234906 0.304893 312 | v -0.000000 0.284448 0.224538 313 | v 0.851562 0.754649 -0.364395 314 | v -0.851562 0.754649 -0.364395 315 | v 0.859375 0.769331 -0.496625 316 | v -0.859375 0.769331 -0.496625 317 | v 0.773438 0.506067 -0.790344 318 | v -0.773438 0.506067 -0.790344 319 | v 0.460938 0.500571 -1.106678 320 | v -0.460938 0.500571 -1.106678 321 | v 0.734375 0.529924 -0.194558 322 | v -0.734375 0.529924 -0.194558 323 | v 0.593750 0.334357 -0.345517 324 | v -0.593750 0.334357 -0.345517 325 | v 0.640625 0.283470 -0.631349 326 | v -0.640625 0.283470 -0.631349 327 | v 0.335938 0.204621 -0.860741 328 | v -0.335938 0.204621 -0.860741 329 | v 0.234375 0.464402 0.254213 330 | v -0.234375 0.464402 0.254213 331 | v 0.179688 0.329735 0.165868 332 | v -0.179688 0.329735 0.165868 333 | v 0.289062 0.153046 0.435202 334 | v -0.289062 0.153046 0.435202 335 | v 0.250000 0.332483 0.324035 336 | v -0.250000 0.332483 0.324035 337 | v 0.328125 -0.006834 0.561465 338 | v -0.328125 -0.006834 0.561465 339 | v 0.140625 0.105425 0.448378 340 | v -0.140625 0.105425 0.448378 341 | v 0.125000 0.282631 0.319885 342 | v -0.125000 0.282631 0.319885 343 | v 0.164062 -0.010985 0.611317 344 | v -0.164062 -0.010985 0.611317 345 | v 0.218750 0.535834 0.234449 346 | v -0.218750 0.535834 0.234449 347 | v 0.210938 0.603012 0.236369 348 | v -0.210938 0.603012 0.236369 349 | v 0.203125 0.665833 0.231804 350 | v -0.203125 0.665833 0.231804 351 | v 0.210938 0.296899 0.074983 352 | v -0.210938 0.296899 0.074983 353 | v 0.296875 0.122083 -0.325235 354 | v -0.296875 0.122083 -0.325235 355 | v 0.343750 0.105746 -0.643697 356 | v -0.343750 0.105746 -0.643697 357 | v 0.453125 1.035870 -1.080477 358 | v -0.453125 1.035870 -1.080477 359 | v 0.453125 1.262043 -0.855959 360 | v -0.453125 1.262043 -0.855959 361 | v 0.453125 1.367140 -0.559492 362 | v -0.453125 1.367140 -0.559492 363 | v 0.460938 1.203730 -0.214369 364 | v -0.460938 1.203730 -0.214369 365 | v 0.726562 1.054174 -0.226820 366 | v -0.726562 1.054174 -0.226820 367 | v 0.632812 1.062579 -0.298356 368 | v -0.632812 1.062579 -0.298356 369 | v 0.640625 1.143714 -0.625842 370 | v -0.640625 1.143714 -0.625842 371 | v 0.796875 1.066212 -0.489048 372 | v -0.796875 1.066212 -0.489048 373 | v 0.796875 0.976522 -0.720568 374 | v -0.796875 0.976522 -0.720568 375 | v 0.640625 1.043182 -0.859489 376 | v -0.640625 1.043182 -0.859489 377 | v 0.640625 0.845384 -1.027773 378 | v -0.640625 0.845384 -1.027773 379 | v 0.796875 0.776596 -0.878011 380 | v -0.796875 0.776596 -0.878011 381 | v 0.617188 0.475151 -0.948408 382 | v -0.617188 0.475151 -0.948408 383 | v 0.484375 0.244046 -0.746045 384 | v -0.484375 0.244046 -0.746045 385 | v 0.820312 0.688666 -0.630671 386 | v -0.820312 0.688666 -0.630671 387 | v 0.406250 0.469748 -0.059995 388 | v -0.406250 0.469748 -0.059995 389 | v 0.429688 0.249852 -0.345206 390 | v -0.429688 0.249852 -0.345206 391 | v 0.890625 0.736080 -0.700183 392 | v -0.890625 0.736080 -0.700183 393 | v 0.773438 0.343175 -0.304380 394 | v -0.773438 0.343175 -0.304380 395 | v 1.039062 0.262303 -0.494762 396 | v -1.039062 0.262303 -0.494762 397 | v 1.281250 0.335345 -0.666208 398 | v -1.281250 0.335345 -0.666208 399 | v 1.351562 0.560173 -0.807877 400 | v -1.351562 0.560173 -0.807877 401 | v 1.234375 0.715799 -0.912456 402 | v -1.234375 0.715799 -0.912456 403 | v 1.023438 0.750866 -0.804244 404 | v -1.023438 0.750866 -0.804244 405 | v 1.015625 0.712063 -0.749931 406 | v -1.015625 0.712063 -0.749931 407 | v 1.187500 0.674869 -0.847301 408 | v -1.187500 0.674869 -0.847301 409 | v 1.265625 0.542950 -0.777479 410 | v -1.265625 0.542950 -0.777479 411 | v 1.210938 0.367871 -0.659827 412 | v -1.210938 0.367871 -0.659827 413 | v 1.031250 0.327251 -0.510168 414 | v -1.031250 0.327251 -0.510168 415 | v 0.828125 0.397177 -0.350081 416 | v -0.828125 0.397177 -0.350081 417 | v 0.921875 0.705889 -0.661070 418 | v -0.921875 0.705889 -0.661070 419 | v 0.945312 0.621281 -0.688927 420 | v -0.945312 0.621281 -0.688927 421 | v 0.882812 0.392509 -0.441070 422 | v -0.882812 0.392509 -0.441070 423 | v 1.039062 0.324814 -0.583831 424 | v -1.039062 0.324814 -0.583831 425 | v 1.187500 0.359052 -0.700965 426 | v -1.187500 0.359052 -0.700965 427 | v 1.234375 0.488741 -0.788114 428 | v -1.234375 0.488741 -0.788114 429 | v 1.171875 0.583880 -0.842633 430 | v -1.171875 0.583880 -0.842633 431 | v 1.023438 0.614486 -0.769074 432 | v -1.023438 0.614486 -0.769074 433 | v 0.843750 0.651886 -0.615368 434 | v -0.843750 0.651886 -0.615368 435 | v 0.835938 0.519760 -0.601882 436 | v -0.835938 0.519760 -0.601882 437 | v 0.757812 0.454916 -0.558307 438 | v -0.757812 0.454916 -0.558307 439 | v 0.820312 0.448432 -0.553950 440 | v -0.820312 0.448432 -0.553950 441 | v 0.843750 0.390072 -0.514733 442 | v -0.843750 0.390072 -0.514733 443 | v 0.812500 0.364134 -0.497303 444 | v -0.812500 0.364134 -0.497303 445 | v 0.726562 0.490397 -0.337423 446 | v -0.726562 0.490397 -0.337423 447 | v 0.718750 0.414297 -0.408648 448 | v -0.718750 0.414297 -0.408648 449 | v 0.718750 0.457457 -0.456476 450 | v -0.718750 0.457457 -0.456476 451 | v 0.796875 0.580558 -0.567436 452 | v -0.796875 0.580558 -0.567436 453 | v 0.890625 0.582478 -0.634614 454 | v -0.890625 0.582478 -0.634614 455 | v 0.890625 0.545491 -0.675648 456 | v -0.890625 0.545491 -0.675648 457 | v 0.812500 0.337989 -0.536209 458 | v -0.812500 0.337989 -0.536209 459 | v 0.851562 0.363927 -0.553639 460 | v -0.851562 0.363927 -0.553639 461 | v 0.828125 0.415803 -0.588499 462 | v -0.828125 0.415803 -0.588499 463 | v 0.765625 0.428771 -0.597214 464 | v -0.765625 0.428771 -0.597214 465 | v 0.843750 0.493616 -0.640788 466 | v -0.843750 0.493616 -0.640788 467 | v 1.039062 0.571015 -0.805750 468 | v -1.039062 0.571015 -0.805750 469 | v 1.187500 0.544767 -0.872825 470 | v -1.187500 0.544767 -0.872825 471 | v 1.257812 0.456112 -0.822663 472 | v -1.257812 0.456112 -0.822663 473 | v 1.210938 0.330781 -0.729029 474 | v -1.210938 0.330781 -0.729029 475 | v 1.046875 0.294311 -0.629222 476 | v -1.046875 0.294311 -0.629222 477 | v 0.882812 0.368492 -0.490818 478 | v -0.882812 0.368492 -0.490818 479 | v 0.953125 0.577810 -0.725603 480 | v -0.953125 0.577810 -0.725603 481 | v 0.890625 0.437383 -0.612413 482 | v -0.890625 0.437383 -0.612413 483 | v 0.937500 0.394119 -0.592753 484 | v -0.937500 0.394119 -0.592753 485 | v 1.000000 0.428564 -0.653550 486 | v -1.000000 0.428564 -0.653550 487 | v 0.960938 0.476186 -0.666726 488 | v -0.960938 0.476186 -0.666726 489 | v 1.015625 0.514989 -0.721039 490 | v -1.015625 0.514989 -0.721039 491 | v 1.054688 0.471725 -0.701379 492 | v -1.054688 0.471725 -0.701379 493 | v 1.109375 0.486821 -0.720935 494 | v -1.109375 0.486821 -0.720935 495 | v 1.085938 0.538696 -0.755795 496 | v -1.085938 0.538696 -0.755795 497 | v 1.023438 0.622580 -0.925115 498 | v -1.023438 0.622580 -0.925115 499 | v 1.250000 0.613658 -0.994420 500 | v -1.250000 0.613658 -0.994420 501 | v 1.367188 0.497145 -0.859649 502 | v -1.367188 0.497145 -0.859649 503 | v 1.312500 0.278698 -0.750506 504 | v -1.312500 0.278698 -0.750506 505 | v 1.039062 0.183766 -0.639650 506 | v -1.039062 0.183766 -0.639650 507 | v 0.789062 0.242850 -0.481690 508 | v -0.789062 0.242850 -0.481690 509 | v 0.859375 0.633836 -0.810315 510 | v -0.859375 0.633836 -0.810315 511 | vn 0.9693 0.1271 0.2104 512 | vn 0.6076 -0.0842 0.7897 513 | vn 0.8001 0.3322 0.4995 514 | vn -0.6076 -0.0842 0.7897 515 | vn -0.9693 0.1271 0.2104 516 | vn -0.8001 0.3322 0.4995 517 | vn 0.6802 -0.1807 0.7104 518 | vn 0.8682 0.2728 0.4144 519 | vn -0.6802 -0.1807 0.7104 520 | vn -0.8682 0.2728 0.4144 521 | vn 0.1193 -0.4574 0.8812 522 | vn -0.1193 -0.4574 0.8812 523 | vn 0.7290 -0.4371 0.5267 524 | vn 0.0995 -0.2599 0.9605 525 | vn -0.0995 -0.2599 0.9605 526 | vn -0.7290 -0.4371 0.5267 527 | vn 0.0314 -0.6615 0.7493 528 | vn -0.4563 -0.0489 0.8885 529 | vn 0.4563 -0.0489 0.8885 530 | vn -0.0314 -0.6615 0.7493 531 | vn -0.5538 -0.2240 0.8019 532 | vn 0.5538 -0.2240 0.8019 533 | vn -0.6899 0.4004 0.6031 534 | vn 0.6899 0.4004 0.6031 535 | vn 0.8097 0.3215 0.4909 536 | vn -0.6506 -0.3923 0.6503 537 | vn 0.6506 -0.3923 0.6503 538 | vn -0.9521 0.1621 0.2594 539 | vn -0.4559 0.8354 0.3069 540 | vn 0.4559 0.8354 0.3069 541 | vn 0.9521 0.1621 0.2594 542 | vn -0.8097 0.3215 0.4909 543 | vn 0.5306 0.8383 0.1255 544 | vn 0.1031 0.9850 0.1386 545 | vn -0.5306 0.8383 0.1255 546 | vn -0.1031 0.9850 0.1386 547 | vn -0.1257 0.9915 -0.0334 548 | vn 0.0257 0.9362 -0.3506 549 | vn -0.6644 0.7366 -0.1268 550 | vn -0.0257 0.9362 -0.3506 551 | vn 0.7364 0.6418 -0.2141 552 | vn -0.7364 0.6418 -0.2141 553 | vn -0.6102 0.7561 0.2366 554 | vn 0.6102 0.7561 0.2366 555 | vn 0.1257 0.9915 -0.0334 556 | vn -0.6682 0.7329 0.1277 557 | vn 0.6682 0.7329 0.1277 558 | vn 0.9644 0.1366 0.2261 559 | vn -0.9644 0.1366 0.2261 560 | vn -0.7216 0.6682 -0.1810 561 | vn 0.7216 0.6682 -0.1810 562 | vn -0.0431 0.9697 -0.2402 563 | vn 0.0431 0.9697 -0.2402 564 | vn 0.6644 0.7366 -0.1268 565 | vn 0.6237 0.7809 0.0351 566 | vn -0.6237 0.7809 0.0351 567 | vn 0.9270 0.1983 0.3184 568 | vn -0.6159 -0.2695 0.7403 569 | vn -0.9270 0.1983 0.3184 570 | vn 0.6159 -0.2695 0.7403 571 | vn 0.0425 -0.5922 0.8046 572 | vn -0.0425 -0.5922 0.8046 573 | vn 0.7152 -0.4256 0.5544 574 | vn -0.7152 -0.4256 0.5543 575 | vn 0.1836 0.5438 0.8188 576 | vn -0.1836 0.5438 0.8188 577 | vn 0.1554 -0.2773 0.9481 578 | vn 0.0000 -0.6624 0.7491 579 | vn 0.1596 -0.7242 0.6709 580 | vn -0.1554 -0.2773 0.9481 581 | vn 0.0000 -0.2912 0.9566 582 | vn 0.3502 -0.1486 0.9248 583 | vn 0.5267 -0.6029 0.5993 584 | vn -0.3502 -0.1486 0.9248 585 | vn -0.1596 -0.7242 0.6709 586 | vn 0.9457 -0.1037 0.3079 587 | vn -0.9457 -0.1037 0.3079 588 | vn -0.5267 -0.6029 0.5993 589 | vn 0.9728 0.1997 0.1173 590 | vn 0.5557 0.2583 0.7902 591 | vn -0.5557 0.2583 0.7902 592 | vn -0.9728 0.1997 0.1173 593 | vn 0.9557 0.2941 -0.0091 594 | vn 0.5652 0.4351 0.7009 595 | vn -0.5652 0.4351 0.7009 596 | vn -0.9557 0.2941 -0.0091 597 | vn 0.8915 -0.1018 0.4413 598 | vn 0.3841 -0.0644 0.9210 599 | vn 0.0402 0.3103 0.9498 600 | vn -0.3841 -0.0644 0.9210 601 | vn -0.8915 -0.1018 0.4413 602 | vn -0.0402 0.3103 0.9498 603 | vn 0.5875 -0.5416 0.6012 604 | vn 0.3488 -0.7824 0.5159 605 | vn -0.5875 -0.5416 0.6012 606 | vn -0.4991 0.1233 0.8577 607 | vn 0.5665 0.1592 0.8085 608 | vn 0.4991 0.1233 0.8577 609 | vn -0.5665 0.1592 0.8085 610 | vn 0.8451 0.5345 0.0004 611 | vn 0.9070 -0.4047 0.1166 612 | vn -0.8451 0.5345 0.0004 613 | vn -0.4607 0.3682 0.8076 614 | vn 0.5170 0.8067 -0.2860 615 | vn 0.4607 0.3682 0.8076 616 | vn -0.5170 0.8067 -0.2860 617 | vn -0.4801 0.3263 0.8142 618 | vn 0.5976 0.7431 -0.3011 619 | vn 0.4801 0.3263 0.8142 620 | vn -0.5976 0.7431 -0.3011 621 | vn -0.3085 0.5337 0.7873 622 | vn 0.2666 0.7036 0.6587 623 | vn 0.3085 0.5337 0.7873 624 | vn -0.2666 0.7036 0.6587 625 | vn -0.6051 0.7544 -0.2542 626 | vn 0.2313 0.8920 -0.3884 627 | vn 0.6051 0.7544 -0.2542 628 | vn 0.1574 0.6807 0.7154 629 | vn -0.8242 0.5360 -0.1827 630 | vn -0.1574 0.6807 0.7154 631 | vn 0.8242 0.5360 -0.1827 632 | vn 0.0611 0.5355 0.8423 633 | vn 0.0000 0.9489 -0.3156 634 | vn -0.0611 0.5355 0.8423 635 | vn 0.0000 0.4871 0.8733 636 | vn 0.2582 0.4292 0.8655 637 | vn 0.3678 0.2585 0.8932 638 | vn -0.2582 0.4292 0.8655 639 | vn 0.1490 0.4168 0.8967 640 | vn 0.2190 0.5747 0.7885 641 | vn -0.1490 0.4168 0.8967 642 | vn 0.2254 0.2053 0.9524 643 | vn -0.2190 0.5747 0.7885 644 | vn 0.3588 0.4174 0.8349 645 | vn -0.2254 0.2053 0.9524 646 | vn 0.4602 0.3495 0.8161 647 | vn -0.3588 0.4174 0.8349 648 | vn 0.4279 0.1316 0.8942 649 | vn -0.4602 0.3495 0.8161 650 | vn 0.3322 0.1803 0.9258 651 | vn -0.4279 0.1316 0.8942 652 | vn -0.1522 0.3211 0.9347 653 | vn -0.3322 0.1803 0.9258 654 | vn 0.0000 0.6099 0.7924 655 | vn 0.1522 0.3211 0.9347 656 | vn 0.0316 0.4006 0.9157 657 | vn -0.0316 0.4006 0.9157 658 | vn 0.0000 0.3595 0.9331 659 | vn -0.2006 0.4292 0.8806 660 | vn 0.2006 0.4292 0.8806 661 | vn -0.2393 0.2648 0.9341 662 | vn 0.2393 0.2648 0.9341 663 | vn -0.0589 0.2011 0.9778 664 | vn 0.0589 0.2011 0.9778 665 | vn 0.1307 0.2591 0.9569 666 | vn -0.1307 0.2591 0.9569 667 | vn 0.1459 0.4479 0.8821 668 | vn 0.5937 0.5345 0.6015 669 | vn 0.1815 0.5104 0.8405 670 | vn -0.1815 0.5104 0.8405 671 | vn -0.5937 0.5345 0.6015 672 | vn -0.1459 0.4479 0.8821 673 | vn 0.0000 0.0955 0.9954 674 | vn 0.1341 0.5579 0.8190 675 | vn 0.5003 0.0631 0.8636 676 | vn -0.1341 0.5579 0.8190 677 | vn 0.0000 0.5577 0.8300 678 | vn 0.0000 0.5291 0.8485 679 | vn 0.0000 -0.0356 0.9994 680 | vn 0.9304 0.0892 0.3555 681 | vn 0.5836 -0.3389 0.7379 682 | vn -0.5836 -0.3389 0.7379 683 | vn -0.9304 0.0892 0.3555 684 | vn -0.5003 0.0631 0.8636 685 | vn 0.4931 0.1631 0.8545 686 | vn 0.9306 -0.0389 0.3640 687 | vn -0.9306 -0.0389 0.3640 688 | vn -0.4931 0.1631 0.8545 689 | vn -0.2405 0.9012 -0.3604 690 | vn 0.0000 0.9063 0.4225 691 | vn 0.2405 0.9012 -0.3604 692 | vn -0.6286 0.7038 -0.3310 693 | vn 0.0000 1.0000 0.0023 694 | vn 0.0000 0.8666 0.4989 695 | vn 0.0000 -0.4388 0.8986 696 | vn 0.0000 0.0891 0.9960 697 | vn -0.1833 -0.0466 0.9819 698 | vn -0.1857 0.9302 0.3164 699 | vn 0.1857 0.9302 0.3164 700 | vn 0.3611 0.8400 0.4050 701 | vn 0.6286 0.7038 -0.3310 702 | vn -0.3611 0.8400 0.4050 703 | vn -0.4488 0.2053 0.8697 704 | vn 0.1833 -0.0466 0.9819 705 | vn 0.4488 0.2053 0.8697 706 | vn 0.0000 0.6818 0.7316 707 | vn 0.7751 0.3838 0.5018 708 | vn -0.7751 0.3838 0.5018 709 | vn -0.6507 0.5388 0.5351 710 | vn 0.6507 0.5388 0.5351 711 | vn 0.9278 0.3604 -0.0965 712 | vn -0.9278 0.3604 -0.0965 713 | vn 0.9306 0.3556 -0.0867 714 | vn -0.9306 0.3556 -0.0867 715 | vn -0.1368 0.0301 0.9901 716 | vn 0.1368 0.0301 0.9901 717 | vn 0.0000 -0.6460 0.7633 718 | vn -0.6351 0.4656 0.6163 719 | vn 0.6351 0.4656 0.6163 720 | vn -0.4141 0.8726 0.2589 721 | vn 0.4141 0.8726 0.2589 722 | vn 0.0000 0.2355 0.9718 723 | vn 0.0000 0.9263 0.3767 724 | vn 0.0000 0.9145 0.4045 725 | vn 0.2958 0.8565 0.4229 726 | vn -0.6738 0.5029 0.5414 727 | vn -0.2958 0.8565 0.4229 728 | vn 0.6738 0.5029 0.5414 729 | vn -0.5177 -0.3133 0.7961 730 | vn 0.5177 -0.3133 0.7961 731 | vn 0.0000 -0.1812 0.9834 732 | vn -0.0101 0.4982 0.8670 733 | vn 0.1581 0.4788 0.8636 734 | vn 0.0101 0.4982 0.8670 735 | vn -0.1581 0.4788 0.8636 736 | vn 0.2934 0.4822 0.8254 737 | vn -0.2934 0.4822 0.8254 738 | vn 0.1588 0.4591 0.8741 739 | vn -0.1588 0.4591 0.8741 740 | vn 0.0317 0.3614 0.9319 741 | vn 0.1845 0.3836 0.9049 742 | vn -0.0317 0.3614 0.9319 743 | vn -0.1845 0.3836 0.9049 744 | vn 0.2990 0.5023 0.8113 745 | vn -0.2990 0.5023 0.8113 746 | vn 0.2943 0.4453 0.8456 747 | vn -0.2943 0.4453 0.8456 748 | vn 0.1776 0.4974 0.8491 749 | vn -0.1776 0.4974 0.8491 750 | vn -0.2944 0.5369 0.7906 751 | vn 0.2944 0.5369 0.7906 752 | vn -0.0887 0.4454 0.8909 753 | vn 0.2036 0.6287 0.7505 754 | vn 0.0887 0.4454 0.8909 755 | vn -0.2036 0.6287 0.7505 756 | vn 0.1435 0.6295 0.7636 757 | vn -0.1435 0.6295 0.7636 758 | vn 0.2886 0.2797 0.9157 759 | vn -0.2886 0.2797 0.9157 760 | vn -0.4508 0.0380 0.8918 761 | vn 0.1133 0.2649 0.9576 762 | vn -0.1133 0.2649 0.9576 763 | vn -0.2741 -0.4653 0.8417 764 | vn 0.2741 -0.4653 0.8417 765 | vn -0.1423 -0.0373 0.9891 766 | vn 0.1423 -0.0373 0.9891 767 | vn -0.4229 0.4124 0.8069 768 | vn 0.4229 0.4124 0.8069 769 | vn -0.1921 0.6957 0.6922 770 | vn 0.1921 0.6957 0.6922 771 | vn -0.1653 0.9384 0.3032 772 | vn 0.1653 0.9384 0.3032 773 | vn 0.1431 0.9193 0.3664 774 | vn -0.1431 0.9193 0.3664 775 | vn 0.4323 0.8677 0.2454 776 | vn -0.4323 0.8677 0.2454 777 | vn 0.6880 0.6166 0.3825 778 | vn -0.6880 0.6166 0.3825 779 | vn 0.7894 0.1544 0.5942 780 | vn 0.4508 0.0380 0.8918 781 | vn -0.7894 0.1544 0.5942 782 | vn 0.8016 0.3425 0.4899 783 | vn -0.8016 0.3425 0.4899 784 | vn -0.4602 0.8340 -0.3042 785 | vn 0.0000 0.9985 -0.0546 786 | vn 0.4602 0.8340 -0.3042 787 | vn -0.4792 0.0273 -0.8773 788 | vn 0.4792 0.0273 -0.8773 789 | vn -0.2313 0.8920 -0.3884 790 | vn -0.1217 0.1215 -0.9851 791 | vn 0.1217 0.1215 -0.9851 792 | vn -0.2275 0.4870 -0.8432 793 | vn 0.2275 0.4870 -0.8432 794 | vn -0.3455 0.6351 -0.6908 795 | vn 0.6957 0.2473 -0.6744 796 | vn 0.3455 0.6351 -0.6908 797 | vn -0.6957 0.2473 -0.6744 798 | vn -0.9070 -0.4047 0.1166 799 | vn -0.9302 -0.3670 0.0028 800 | vn 0.5443 -0.7246 0.4227 801 | vn 0.9302 -0.3670 0.0028 802 | vn -0.5443 -0.7246 0.4227 803 | vn 0.4720 -0.8155 0.3350 804 | vn -0.4720 -0.8155 0.3350 805 | vn 0.0000 -0.9951 -0.0984 806 | vn 0.2771 -0.7676 -0.5779 807 | vn 0.0000 -0.7219 -0.6919 808 | vn -0.2771 -0.7676 -0.5779 809 | vn -0.6893 -0.7104 0.1417 810 | vn 0.1514 -0.6702 -0.7266 811 | vn 0.0000 -0.7793 -0.6266 812 | vn -0.1514 -0.6702 -0.7266 813 | vn 0.0675 -0.9948 -0.0762 814 | vn 0.0000 -0.9949 0.1004 815 | vn -0.0675 -0.9948 -0.0762 816 | vn 0.5551 -0.7756 -0.3004 817 | vn -0.5551 -0.7756 -0.3004 818 | vn 0.6204 -0.3656 -0.6938 819 | vn -0.6204 -0.3656 -0.6938 820 | vn 0.7798 -0.3578 -0.5136 821 | vn -0.7798 -0.3578 -0.5136 822 | vn 0.6893 -0.7104 0.1417 823 | vn 0.8957 0.0118 -0.4446 824 | vn -0.8957 0.0118 -0.4446 825 | vn 0.9787 -0.1282 0.1603 826 | vn -0.9787 -0.1282 0.1603 827 | vn -0.8872 0.1109 0.4479 828 | vn 0.7857 -0.3423 0.5152 829 | vn -0.7857 -0.3423 0.5152 830 | vn -0.3488 -0.7824 0.5159 831 | vn 0.4455 -0.7550 -0.4811 832 | vn 0.0000 -0.9768 -0.2142 833 | vn 0.0000 -0.7843 -0.6204 834 | vn -0.4455 -0.7550 -0.4811 835 | vn -0.5223 -0.8480 -0.0900 836 | vn 0.5223 -0.8480 -0.0900 837 | vn 0.0000 -0.9693 0.2459 838 | vn -0.5071 -0.8086 0.2984 839 | vn 0.5727 -0.6736 0.4671 840 | vn 0.0000 -0.9182 0.3962 841 | vn -0.5727 -0.6736 0.4671 842 | vn 0.7210 -0.5362 0.4388 843 | vn 0.9850 -0.0980 0.1419 844 | vn -0.7210 -0.5362 0.4388 845 | vn -0.9850 -0.0980 0.1419 846 | vn 0.4730 -0.3351 -0.8148 847 | vn 0.0000 -0.2163 -0.9763 848 | vn -0.4730 -0.3351 -0.8148 849 | vn 0.4442 0.8953 0.0334 850 | vn 0.0000 0.8424 -0.5388 851 | vn 0.0000 1.0000 -0.0011 852 | vn -0.4442 0.8953 0.0334 853 | vn -0.4135 0.7770 -0.4746 854 | vn 0.3912 0.4386 -0.8090 855 | vn 0.0000 0.3849 -0.9229 856 | vn -0.3912 0.4386 -0.8090 857 | vn 0.7717 0.5676 -0.2868 858 | vn 0.4444 0.8916 -0.0870 859 | vn -0.7717 0.5676 -0.2868 860 | vn -0.4444 0.8916 -0.0870 861 | vn 0.7418 0.6673 0.0671 862 | vn 0.6682 0.7359 -0.1095 863 | vn -0.7418 0.6673 0.0671 864 | vn -0.6682 0.7359 -0.1095 865 | vn 0.8486 0.4311 -0.3066 866 | vn 0.6784 0.5683 -0.4656 867 | vn -0.8486 0.4311 -0.3066 868 | vn -0.6784 0.5683 -0.4656 869 | vn 0.8722 0.0521 -0.4864 870 | vn 0.6075 0.1640 -0.7772 871 | vn -0.8722 0.0521 -0.4864 872 | vn -0.6075 0.1640 -0.7772 873 | vn 0.6196 -0.4866 -0.6158 874 | vn 0.6708 -0.4505 -0.5891 875 | vn -0.6196 -0.4866 -0.6158 876 | vn 0.4135 0.7770 -0.4746 877 | vn 0.3406 0.9128 -0.2251 878 | vn -0.3406 0.9128 -0.2251 879 | vn 0.0000 0.9125 0.4090 880 | vn 0.9983 -0.0515 -0.0258 881 | vn -0.9983 -0.0515 -0.0258 882 | vn 0.8403 0.5348 -0.0887 883 | vn -0.8403 0.5348 -0.0887 884 | vn 0.5071 -0.8086 0.2984 885 | vn 0.5790 -0.5866 0.5662 886 | vn -0.5790 -0.5866 0.5662 887 | vn -0.5633 -0.7460 0.3551 888 | vn 0.3123 -0.7878 0.5308 889 | vn -0.3123 -0.7878 0.5308 890 | vn 0.8872 0.1109 0.4479 891 | vn 0.3255 -0.9067 -0.2683 892 | vn -0.3255 -0.9067 -0.2683 893 | vn -0.5292 -0.7995 -0.2841 894 | vn 0.5633 -0.7460 0.3551 895 | vn 0.5292 -0.7995 -0.2841 896 | vn -0.2792 0.9589 0.0495 897 | vn 0.5512 0.3979 0.7334 898 | vn 0.0188 0.9965 -0.0809 899 | vn 0.2792 0.9589 0.0495 900 | vn -0.5512 0.3979 0.7334 901 | vn -0.4492 0.4660 0.7622 902 | vn 0.3215 0.4490 0.8337 903 | vn 0.3836 0.8997 -0.2084 904 | vn -0.3215 0.4490 0.8337 905 | vn -0.0188 0.9965 -0.0809 906 | vn -0.3836 0.8997 -0.2084 907 | vn 0.7788 0.4764 0.4081 908 | vn -0.7788 0.4764 0.4081 909 | vn 0.1545 0.4439 0.8827 910 | vn -0.1545 0.4439 0.8827 911 | vn 0.6526 -0.0674 0.7547 912 | vn -0.6526 -0.0674 0.7547 913 | vn 0.0411 0.7876 0.6148 914 | vn -0.0411 0.7876 0.6148 915 | vn 0.5029 -0.4417 0.7430 916 | vn -0.5029 -0.4417 0.7430 917 | vn -0.5384 0.6853 0.4904 918 | vn 0.3299 0.7582 0.5623 919 | vn 0.0295 -0.0965 0.9949 920 | vn -0.3299 0.7582 0.5623 921 | vn -0.0295 -0.0965 0.9949 922 | vn 0.5384 0.6853 0.4904 923 | vn 0.1629 0.9838 -0.0743 924 | vn -0.1629 0.9838 -0.0743 925 | vn -0.1868 0.9228 -0.3369 926 | vn 0.1868 0.9228 -0.3369 927 | vn -0.9847 -0.0031 0.1739 928 | vn 0.9847 -0.0031 0.1739 929 | vn 0.7621 0.5263 -0.3770 930 | vn -0.1496 -0.2565 0.9549 931 | vn 0.1496 -0.2565 0.9549 932 | vn 0.5604 -0.2701 0.7829 933 | vn -0.5604 -0.2701 0.7829 934 | vn 0.6842 -0.1979 0.7019 935 | vn -0.6842 -0.1979 0.7019 936 | vn 0.8572 -0.4920 0.1519 937 | vn -0.8572 -0.4920 0.1519 938 | vn -0.7312 0.4700 0.4943 939 | vn 0.7312 0.4700 0.4943 940 | vn 0.4492 0.4660 0.7622 941 | vn 0.5998 0.7683 0.2233 942 | vn -0.5998 0.7683 0.2233 943 | vn 0.9609 0.0407 0.2737 944 | vn 0.8420 0.1380 0.5214 945 | vn -0.9609 0.0407 0.2737 946 | vn 0.8515 0.3259 0.4108 947 | vn 0.4814 0.8639 0.1481 948 | vn -0.8420 0.1380 0.5214 949 | vn -0.8515 0.3259 0.4108 950 | vn -0.4814 0.8639 0.1481 951 | vn 0.8303 -0.2386 0.5037 952 | vn 0.6864 -0.3085 0.6586 953 | vn -0.8303 -0.2386 0.5037 954 | vn 0.7261 -0.1502 0.6710 955 | vn 0.7949 0.1188 0.5949 956 | vn -0.7261 -0.1502 0.6710 957 | vn -0.6864 -0.3085 0.6586 958 | vn -0.7949 0.1188 0.5949 959 | vn 0.6593 -0.0609 0.7494 960 | vn 0.6482 0.0049 0.7614 961 | vn -0.6593 -0.0609 0.7494 962 | vn -0.6482 0.0049 0.7614 963 | vn -0.5725 0.0454 0.8186 964 | vn 0.7584 0.5530 0.3450 965 | vn 0.5725 0.0454 0.8186 966 | vn -0.7584 0.5530 0.3450 967 | vn -0.4492 0.7663 0.4593 968 | vn 0.4492 0.7663 0.4593 969 | vn -0.2929 0.7994 0.5246 970 | vn 0.6450 0.6470 0.4067 971 | vn 0.2929 0.7994 0.5246 972 | vn -0.6450 0.6470 0.4067 973 | vn -0.0331 0.9659 -0.2568 974 | vn 0.0331 0.9659 -0.2568 975 | vn 0.4618 0.1862 0.8672 976 | vn -0.4618 0.1862 0.8672 977 | vn -0.2624 0.0062 0.9649 978 | vn 0.2624 0.0062 0.9649 979 | vn -0.7529 0.3385 0.5644 980 | vn 0.7529 0.3385 0.5644 981 | vn -0.5831 0.7721 0.2527 982 | vn -0.7621 0.5263 -0.3770 983 | vn 0.5831 0.7721 0.2527 984 | vn 0.0650 0.9787 0.1945 985 | vn -0.0650 0.9787 0.1945 986 | vn 0.1951 0.5789 0.7917 987 | vn -0.1951 0.5789 0.7917 988 | vn -0.4084 0.6098 0.6792 989 | vn 0.4084 0.6098 0.6792 990 | vn 0.3347 0.5217 0.7847 991 | vn -0.3347 0.5217 0.7847 992 | vn -0.4448 0.4190 0.7915 993 | vn 0.3144 0.4402 0.8411 994 | vn 0.3343 0.6109 0.7176 995 | vn -0.3144 0.4402 0.8411 996 | vn -0.3343 0.6109 0.7176 997 | vn 0.2897 0.7661 0.5738 998 | vn -0.2897 0.7661 0.5738 999 | vn -0.3831 0.4569 0.8028 1000 | vn 0.3831 0.4569 0.8028 1001 | vn -0.0988 -0.9947 0.0273 1002 | vn -0.0253 -0.9730 -0.2294 1003 | vn 0.0988 -0.9947 0.0273 1004 | vn 0.0253 -0.9730 -0.2294 1005 | vn 0.6366 -0.7440 -0.2029 1006 | vn -0.6366 -0.7440 -0.2029 1007 | vn 0.9253 -0.1290 -0.3567 1008 | vn -0.9253 -0.1290 -0.3567 1009 | vn 0.2870 0.0786 -0.9547 1010 | vn -0.2870 0.0786 -0.9547 1011 | vn -0.4142 0.0531 -0.9086 1012 | vn 0.4142 0.0531 -0.9086 1013 | vn -0.6500 0.2145 -0.7289 1014 | vn 0.6500 0.2145 -0.7289 1015 | vn -0.6708 -0.4505 -0.5891 1016 | vn -0.3678 0.2585 0.8932 1017 | vn 0.4448 0.4190 0.7915 1018 | s 1 1019 | f 47//1 3//2 45//3 1020 | f 4//4 48//5 46//6 1021 | f 45//3 5//7 43//8 1022 | f 6//9 46//6 44//10 1023 | f 3//2 7//11 5//7 1024 | f 8//12 4//4 6//9 1025 | f 1//13 9//14 3//2 1026 | f 10//15 2//16 4//4 1027 | f 11//17 15//18 9//14 1028 | f 16//19 12//20 10//15 1029 | f 9//14 17//21 7//11 1030 | f 18//22 10//15 8//12 1031 | f 21//23 17//21 15//18 1032 | f 22//24 18//22 20//25 1033 | f 13//26 21//23 15//18 1034 | f 22//24 14//27 16//19 1035 | f 23//28 27//29 21//23 1036 | f 28//30 24//31 22//24 1037 | f 27//29 19//32 21//23 1038 | f 28//30 20//25 30//33 1039 | f 33//34 29//35 27//29 1040 | f 34//36 30//33 32//37 1041 | f 35//38 27//29 25//39 1042 | f 36//40 28//30 34//36 1043 | f 37//41 33//34 35//38 1044 | f 38//42 34//36 40//43 1045 | f 39//44 31//45 33//34 1046 | f 40//43 32//37 42//46 1047 | f 45//3 41//47 39//44 1048 | f 46//6 42//46 44//10 1049 | f 47//1 39//44 37//41 1050 | f 48//5 40//43 46//6 1051 | f 37//41 49//48 47//1 1052 | f 38//42 50//49 52//50 1053 | f 35//38 51//51 37//41 1054 | f 36//40 52//50 54//52 1055 | f 25//39 53//53 35//38 1056 | f 26//54 54//52 56//55 1057 | f 23//28 55//56 25//39 1058 | f 24//31 56//55 58//57 1059 | f 23//28 59//58 57//59 1060 | f 60//60 24//31 58//57 1061 | f 13//26 63//61 59//58 1062 | f 64//62 14//27 60//60 1063 | f 11//17 65//63 63//61 1064 | f 66//64 12//20 64//62 1065 | f 1//13 49//48 65//63 1066 | f 50//49 2//16 66//64 1067 | f 61//65 65//63 49//48 1068 | f 50//49 66//64 62//66 1069 | f 63//61 65//63 61//65 1070 | f 62//66 66//64 64//62 1071 | f 61//65 59//58 63//61 1072 | f 64//62 60//60 62//66 1073 | f 61//65 57//59 59//58 1074 | f 60//60 58//57 62//66 1075 | f 61//65 55//56 57//59 1076 | f 58//57 56//55 62//66 1077 | f 61//65 53//53 55//56 1078 | f 56//55 54//52 62//66 1079 | f 61//65 51//51 53//53 1080 | f 54//52 52//50 62//66 1081 | f 61//65 49//48 51//51 1082 | f 52//50 50//49 62//66 1083 | f 174//67 91//68 89//69 1084 | f 175//70 91//68 176//71 1085 | f 172//72 89//69 87//73 1086 | f 173//74 90//75 175//70 1087 | f 85//76 172//72 87//73 1088 | f 173//74 86//77 88//78 1089 | f 83//79 170//80 85//76 1090 | f 171//81 84//82 86//77 1091 | f 81//83 168//84 83//79 1092 | f 169//85 82//86 84//82 1093 | f 79//87 146//88 164//89 1094 | f 147//90 80//91 165//92 1095 | f 94//93 146//88 92//94 1096 | f 95//95 147//90 149//96 1097 | f 94//93 150//97 148//98 1098 | f 151//99 95//95 149//96 1099 | f 98//100 150//97 96//101 1100 | f 99//102 151//99 153//103 1101 | f 100//104 152//105 98//100 1102 | f 101//106 153//103 155//107 1103 | f 102//108 154//109 100//104 1104 | f 103//110 155//107 157//111 1105 | f 102//108 158//112 156//113 1106 | f 159//114 103//110 157//111 1107 | f 106//115 158//112 104//116 1108 | f 107//117 159//114 161//118 1109 | f 108//119 160//120 106//115 1110 | f 109//121 161//118 163//122 1111 | f 67//123 162//124 108//119 1112 | f 67//123 163//122 68//125 1113 | f 128//126 162//124 110//127 1114 | f 129//128 163//122 161//118 1115 | f 128//126 158//112 160//120 1116 | f 159//114 129//128 161//118 1117 | f 156//113 179//129 126//130 1118 | f 157//111 180//131 159//114 1119 | f 154//109 126//130 124//132 1120 | f 155//107 127//133 157//111 1121 | f 152//105 124//132 122//134 1122 | f 153//103 125//135 155//107 1123 | f 150//97 122//134 120//136 1124 | f 151//99 123//137 153//103 1125 | f 148//98 120//136 118//138 1126 | f 149//96 121//139 151//99 1127 | f 146//88 118//138 116//140 1128 | f 147//90 119//141 149//96 1129 | f 164//89 116//140 114//142 1130 | f 165//92 117//143 147//90 1131 | f 114//142 177//144 164//89 1132 | f 177//144 115//145 165//92 1133 | f 162//124 112//146 110//127 1134 | f 163//122 113//147 68//125 1135 | f 112//146 178//148 183//149 1136 | f 178//148 113//147 184//150 1137 | f 181//151 178//148 177//144 1138 | f 182//152 178//148 184//150 1139 | f 135//153 176//71 174//67 1140 | f 176//71 136//154 175//70 1141 | f 133//155 174//67 172//72 1142 | f 175//70 134//156 173//74 1143 | f 133//155 170//80 131//157 1144 | f 134//156 171//81 173//74 1145 | f 166//158 185//159 168//84 1146 | f 186//160 167//161 169//85 1147 | f 131//157 168//84 185//159 1148 | f 169//85 132//162 186//160 1149 | f 190//163 187//164 144//165 1150 | f 190//163 188//166 189//167 1151 | f 187//164 69//168 185//159 1152 | f 188//166 69//168 189//167 1153 | f 131//157 69//168 130//169 1154 | f 132//162 69//168 186//160 1155 | f 142//170 191//171 144//165 1156 | f 192//172 143//173 145//174 1157 | f 140//175 193//176 142//170 1158 | f 194//177 141//178 143//173 1159 | f 197//179 140//175 139//180 1160 | f 198//181 141//178 196//182 1161 | f 71//183 139//180 138//184 1162 | f 71//183 139//180 198//181 1163 | f 144//165 70//185 190//163 1164 | f 145//174 70//185 192//172 1165 | f 191//171 208//186 70//185 1166 | f 192//172 208//186 207//187 1167 | f 71//183 200//188 197//179 1168 | f 201//189 71//183 198//181 1169 | f 197//179 202//190 195//191 1170 | f 203//192 198//181 196//182 1171 | f 202//190 193//176 195//191 1172 | f 203//192 194//177 205//193 1173 | f 193//176 206//194 191//171 1174 | f 207//187 194//177 192//172 1175 | f 204//195 200//188 199//196 1176 | f 205//193 201//189 203//192 1177 | f 199//196 206//194 204//195 1178 | f 207//187 199//196 205//193 1179 | f 139//180 164//89 177//144 1180 | f 165//92 139//180 177//144 1181 | f 140//175 211//197 164//89 1182 | f 212//198 141//178 165//92 1183 | f 144//165 211//197 142//170 1184 | f 145//174 212//198 214//199 1185 | f 187//164 213//200 144//165 1186 | f 188//166 214//199 167//161 1187 | f 209//201 166//158 81//83 1188 | f 210//202 167//161 214//199 1189 | f 215//203 213//200 209//201 1190 | f 216//204 214//199 212//198 1191 | f 79//87 211//197 215//203 1192 | f 212//198 80//91 216//204 1193 | f 130//169 222//205 131//157 1194 | f 130//169 223//206 72//207 1195 | f 133//155 222//205 220//208 1196 | f 223//206 134//156 221//209 1197 | f 135//153 220//208 218//210 1198 | f 221//209 136//154 219//211 1199 | f 137//212 218//210 217//213 1200 | f 219//211 137//212 217//213 1201 | f 218//210 231//214 217//213 1202 | f 219//211 231//214 230//215 1203 | f 218//210 227//216 229//217 1204 | f 228//218 219//211 230//215 1205 | f 220//208 225//219 227//216 1206 | f 226//220 221//209 228//218 1207 | f 72//207 225//219 222//205 1208 | f 72//207 226//220 224//221 1209 | f 224//221 229//217 225//219 1210 | f 230//215 224//221 226//220 1211 | f 225//219 229//217 227//216 1212 | f 228//218 230//215 226//220 1213 | f 183//149 234//222 232//223 1214 | f 235//224 184//150 233//225 1215 | f 112//146 232//223 254//226 1216 | f 233//225 113//147 255//227 1217 | f 112//146 256//228 110//127 1218 | f 113//147 257//229 255//227 1219 | f 114//142 234//222 181//151 1220 | f 115//145 235//224 253//230 1221 | f 114//142 250//231 252//232 1222 | f 251//233 115//145 253//230 1223 | f 116//140 248//234 250//231 1224 | f 249//235 117//143 251//233 1225 | f 118//138 246//236 248//234 1226 | f 247//237 119//141 249//235 1227 | f 120//136 244//238 246//236 1228 | f 245//239 121//139 247//237 1229 | f 124//132 244//238 122//134 1230 | f 125//135 245//239 243//240 1231 | f 126//130 242//241 124//132 1232 | f 127//133 243//240 241//242 1233 | f 126//130 236//243 240//244 1234 | f 237//245 127//133 241//242 1235 | f 179//129 238//246 236//243 1236 | f 239//247 180//131 237//245 1237 | f 128//126 256//228 238//246 1238 | f 257//229 129//128 239//247 1239 | f 256//228 276//248 238//246 1240 | f 257//229 277//249 259//250 1241 | f 236//243 276//248 278//251 1242 | f 277//249 237//245 279//252 1243 | f 236//243 274//253 240//244 1244 | f 237//245 275//254 279//252 1245 | f 240//244 272//255 242//241 1246 | f 241//242 273//256 275//254 1247 | f 244//238 272//255 270//257 1248 | f 273//256 245//239 271//258 1249 | f 244//238 268//259 246//236 1250 | f 245//239 269//260 271//258 1251 | f 248//234 268//259 266//261 1252 | f 269//260 249//235 267//262 1253 | f 248//234 264//263 250//231 1254 | f 249//235 265//264 267//262 1255 | f 250//231 262//265 252//232 1256 | f 251//233 263//266 265//264 1257 | f 234//222 262//265 280//267 1258 | f 263//266 235//224 281//268 1259 | f 256//228 260//269 258//270 1260 | f 261//271 257//229 259//250 1261 | f 254//226 282//272 260//269 1262 | f 283//273 255//227 261//271 1263 | f 232//223 280//267 282//272 1264 | f 281//268 233//225 283//273 1265 | f 67//123 284//274 73//275 1266 | f 285//276 67//123 73//275 1267 | f 108//119 286//277 284//274 1268 | f 287//278 109//121 285//276 1269 | f 104//116 286//277 106//115 1270 | f 105//279 287//278 289//280 1271 | f 102//108 288//281 104//116 1272 | f 103//110 289//280 291//282 1273 | f 100//104 290//283 102//108 1274 | f 101//106 291//282 293//284 1275 | f 100//104 294//285 292//286 1276 | f 295//287 101//106 293//284 1277 | f 96//101 294//285 98//100 1278 | f 97//288 295//287 297//289 1279 | f 96//101 298//290 296//291 1280 | f 299//292 97//288 297//289 1281 | f 94//93 300//293 298//290 1282 | f 301//294 95//95 299//292 1283 | f 309//295 338//296 308//297 1284 | f 309//295 339//298 329//299 1285 | f 308//297 336//300 307//301 1286 | f 308//297 337//302 339//298 1287 | f 307//301 340//303 306//304 1288 | f 307//301 341//305 337//302 1289 | f 89//69 306//304 340//303 1290 | f 306//304 90//75 341//305 1291 | f 87//73 340//303 334//306 1292 | f 341//305 88//78 335//307 1293 | f 85//76 334//306 330//308 1294 | f 335//307 86//77 331//309 1295 | f 83//79 330//308 332//310 1296 | f 331//309 84//82 333//311 1297 | f 330//308 338//296 332//310 1298 | f 339//298 331//309 333//311 1299 | f 334//306 336//300 330//308 1300 | f 335//307 337//302 341//305 1301 | f 332//310 328//312 326//313 1302 | f 333//311 329//299 339//298 1303 | f 81//83 332//310 326//313 1304 | f 333//311 82//86 327//314 1305 | f 342//315 215//203 209//201 1306 | f 343//316 216//204 345//317 1307 | f 326//313 209//201 81//83 1308 | f 327//314 210//202 343//316 1309 | f 215//203 346//318 79//87 1310 | f 216//204 347//319 345//317 1311 | f 346//318 92//94 79//87 1312 | f 347//319 93//320 301//294 1313 | f 324//321 304//322 77//323 1314 | f 325//324 304//322 353//325 1315 | f 352//326 78//327 304//322 1316 | f 353//325 78//327 351//328 1317 | f 78//327 348//329 305//330 1318 | f 349//331 78//327 305//330 1319 | f 305//330 328//312 309//295 1320 | f 329//299 305//330 309//295 1321 | f 328//312 342//315 326//313 1322 | f 329//299 343//316 349//331 1323 | f 296//291 318//332 310//333 1324 | f 319//334 297//289 311//335 1325 | f 316//336 77//323 76//337 1326 | f 317//338 77//323 325//324 1327 | f 358//339 303//340 302//341 1328 | f 359//342 303//340 357//343 1329 | f 303//340 354//344 75//345 1330 | f 355//346 303//340 75//345 1331 | f 75//345 316//336 76//337 1332 | f 317//338 75//345 76//337 1333 | f 292//286 362//347 364//348 1334 | f 363//349 293//284 365//350 1335 | f 364//348 368//351 366//352 1336 | f 369//353 365//350 367//354 1337 | f 366//352 370//355 372//356 1338 | f 371//357 367//354 373//358 1339 | f 372//356 376//359 374//360 1340 | f 377//361 373//358 375//362 1341 | f 378//363 376//359 314//364 1342 | f 379//365 377//361 375//362 1343 | f 316//336 374//360 378//363 1344 | f 375//362 317//338 379//365 1345 | f 354//344 372//356 374//360 1346 | f 373//358 355//346 375//362 1347 | f 356//366 366//352 372//356 1348 | f 367//354 357//343 373//358 1349 | f 358//339 364//348 366//352 1350 | f 365//350 359//342 367//354 1351 | f 292//286 360//367 290//283 1352 | f 293//284 361//368 365//350 1353 | f 360//367 302//341 74//369 1354 | f 361//368 302//341 359//342 1355 | f 284//274 288//281 290//283 1356 | f 289//280 285//276 291//282 1357 | f 284//274 360//367 74//369 1358 | f 361//368 285//276 74//369 1359 | f 73//275 284//274 74//369 1360 | f 74//369 285//276 73//275 1361 | f 296//291 362//347 294//285 1362 | f 297//289 363//349 311//335 1363 | f 310//333 368//351 362//347 1364 | f 369//353 311//335 363//349 1365 | f 312//370 370//355 368//351 1366 | f 371//357 313//371 369//353 1367 | f 376//359 382//372 314//364 1368 | f 377//361 383//373 371//357 1369 | f 350//374 384//375 348//329 1370 | f 351//328 385//376 387//377 1371 | f 384//375 320//378 318//332 1372 | f 385//376 321//379 387//377 1373 | f 298//290 384//375 318//332 1374 | f 385//376 299//292 319//334 1375 | f 300//293 342//315 384//375 1376 | f 343//316 301//294 385//376 1377 | f 342//315 348//329 384//375 1378 | f 385//376 349//331 343//316 1379 | f 300//293 346//318 344//380 1380 | f 345//317 347//319 301//294 1381 | f 322//381 378//363 314//364 1382 | f 323//382 379//365 381//383 1383 | f 378//363 324//321 316//336 1384 | f 379//365 325//324 381//383 1385 | f 386//384 322//381 320//378 1386 | f 387//377 323//382 381//383 1387 | f 352//326 386//384 350//374 1388 | f 353//325 387//377 381//383 1389 | f 324//321 380//385 352//326 1390 | f 353//325 381//383 325//324 1391 | f 388//386 402//387 400//388 1392 | f 389//389 403//390 415//391 1393 | f 400//388 404//392 398//393 1394 | f 405//394 401//395 399//396 1395 | f 404//392 396//397 398//393 1396 | f 405//394 397//398 407//399 1397 | f 406//400 394//401 396//397 1398 | f 407//399 395//402 409//403 1399 | f 408//404 392//405 394//401 1400 | f 409//403 393//406 411//407 1401 | f 392//405 412//408 390//409 1402 | f 413//410 393//406 391//411 1403 | f 410//412 418//413 412//408 1404 | f 419//414 411//407 413//410 1405 | f 408//404 420//415 410//412 1406 | f 421//416 409//403 411//407 1407 | f 424//417 408//404 406//400 1408 | f 425//418 409//403 423//419 1409 | f 426//420 406//400 404//392 1410 | f 427//421 407//399 425//418 1411 | f 428//422 404//392 402//387 1412 | f 429//423 405//394 427//421 1413 | f 402//387 416//424 428//422 1414 | f 417//425 403//390 429//423 1415 | f 320//378 442//426 318//332 1416 | f 321//379 443//427 445//428 1417 | f 390//409 444//429 320//378 1418 | f 391//411 445//428 413//410 1419 | f 310//333 442//426 312//370 1420 | f 443//427 311//335 313//371 1421 | f 382//372 414//430 388//386 1422 | f 415//391 383//373 389//389 1423 | f 412//408 440//431 444//429 1424 | f 441//432 413//410 445//428 1425 | f 446//433 440//431 438//434 1426 | f 447//435 441//432 445//428 1427 | f 434//436 438//434 436//437 1428 | f 439//438 435//439 437//440 1429 | f 448//441 434//436 432//442 1430 | f 449//443 435//439 447//435 1431 | f 448//441 450//444 430//445 1432 | f 449//443 451//446 433//447 1433 | f 430//445 416//424 414//430 1434 | f 431//448 417//425 451//446 1435 | f 312//370 430//445 382//372 1436 | f 431//448 313//371 383//373 1437 | f 442//426 448//441 312//370 1438 | f 443//427 449//443 447//435 1439 | f 442//426 444//429 446//433 1440 | f 447//435 445//428 443//427 1441 | f 416//424 452//449 476//450 1442 | f 453//451 417//425 477//452 1443 | f 432//442 452//449 450//444 1444 | f 433//447 453//451 463//453 1445 | f 432//442 460//454 462//455 1446 | f 461//456 433//447 463//453 1447 | f 436//437 460//454 434//436 1448 | f 437//440 461//456 459//457 1449 | f 438//434 458//458 436//437 1450 | f 439//438 459//457 457//459 1451 | f 438//434 454//460 456//461 1452 | f 455//462 439//438 457//459 1453 | f 440//431 474//463 454//460 1454 | f 475//464 441//432 455//462 1455 | f 428//422 476//450 464//465 1456 | f 477//452 429//423 465//466 1457 | f 426//420 464//465 466//467 1458 | f 465//466 427//421 467//468 1459 | f 424//417 466//467 468//469 1460 | f 467//468 425//418 469//470 1461 | f 424//417 470//471 422//472 1462 | f 425//418 471//473 469//470 1463 | f 422//472 472//474 420//415 1464 | f 423//419 473//475 471//473 1465 | f 420//415 474//463 418//413 1466 | f 421//416 475//464 473//475 1467 | f 456//461 478//476 458//458 1468 | f 457//459 479//477 481//478 1469 | f 480//479 484//480 478//476 1470 | f 481//478 485//481 483//482 1471 | f 484//480 488//483 486//484 1472 | f 489//485 485//481 487//486 1473 | f 488//483 492//487 486//484 1474 | f 489//485 493//488 491//489 1475 | f 464//465 486//484 492//487 1476 | f 487//486 465//466 493//488 1477 | f 484//480 476//450 452//449 1478 | f 485//481 477//452 487//486 1479 | f 462//455 484//480 452//449 1480 | f 463//453 485//481 479//477 1481 | f 458//458 462//455 460//454 1482 | f 463//453 459//457 461//456 1483 | f 474//463 456//461 454//460 1484 | f 475//464 457//459 481//478 1485 | f 472//474 480//479 474//463 1486 | f 481//478 473//475 475//464 1487 | f 488//483 472//474 470//471 1488 | f 489//485 473//475 483//482 1489 | f 490//490 470//471 468//469 1490 | f 491//489 471//473 489//485 1491 | f 466//467 490//490 468//469 1492 | f 491//489 467//468 469//470 1493 | f 464//465 492//487 466//467 1494 | f 467//468 493//488 465//466 1495 | f 392//405 504//491 502//492 1496 | f 505//493 393//406 503//494 1497 | f 394//401 502//492 500//495 1498 | f 503//494 395//402 501//496 1499 | f 394//401 498//497 396//397 1500 | f 395//402 499//498 501//496 1501 | f 396//397 496//499 398//393 1502 | f 397//398 497//500 499//498 1503 | f 398//393 494//501 400//388 1504 | f 399//396 495//502 497//500 1505 | f 400//388 506//503 388//386 1506 | f 401//395 507//504 495//502 1507 | f 502//492 506//503 494//501 1508 | f 503//494 507//504 505//493 1509 | f 494//501 500//495 502//492 1510 | f 501//496 495//502 503//494 1511 | f 496//499 498//497 500//495 1512 | f 501//496 499//498 497//500 1513 | f 382//372 506//503 314//364 1514 | f 383//373 507//504 389//389 1515 | f 314//364 504//491 322//381 1516 | f 505//493 315//505 323//382 1517 | f 320//378 504//491 390//409 1518 | f 505//493 321//379 391//411 1519 | f 47//1 1//13 3//2 1520 | f 4//4 2//16 48//5 1521 | f 45//3 3//2 5//7 1522 | f 6//9 4//4 46//6 1523 | f 3//2 9//14 7//11 1524 | f 8//12 10//15 4//4 1525 | f 1//13 11//17 9//14 1526 | f 10//15 12//20 2//16 1527 | f 11//17 13//26 15//18 1528 | f 16//19 14//27 12//20 1529 | f 9//14 15//18 17//21 1530 | f 18//22 16//19 10//15 1531 | f 21//23 19//32 17//21 1532 | f 22//24 16//19 18//22 1533 | f 13//26 23//28 21//23 1534 | f 22//24 24//31 14//27 1535 | f 23//28 25//39 27//29 1536 | f 28//30 26//54 24//31 1537 | f 27//29 29//35 19//32 1538 | f 28//30 22//24 20//25 1539 | f 33//34 31//45 29//35 1540 | f 34//36 28//30 30//33 1541 | f 35//38 33//34 27//29 1542 | f 36//40 26//54 28//30 1543 | f 37//41 39//44 33//34 1544 | f 38//42 36//40 34//36 1545 | f 39//44 41//47 31//45 1546 | f 40//43 34//36 32//37 1547 | f 45//3 43//8 41//47 1548 | f 46//6 40//43 42//46 1549 | f 47//1 45//3 39//44 1550 | f 48//5 38//42 40//43 1551 | f 37//41 51//51 49//48 1552 | f 38//42 48//5 50//49 1553 | f 35//38 53//53 51//51 1554 | f 36//40 38//42 52//50 1555 | f 25//39 55//56 53//53 1556 | f 26//54 36//40 54//52 1557 | f 23//28 57//59 55//56 1558 | f 24//31 26//54 56//55 1559 | f 23//28 13//26 59//58 1560 | f 60//60 14//27 24//31 1561 | f 13//26 11//17 63//61 1562 | f 64//62 12//20 14//27 1563 | f 11//17 1//13 65//63 1564 | f 66//64 2//16 12//20 1565 | f 1//13 47//1 49//48 1566 | f 50//49 48//5 2//16 1567 | f 174//67 176//71 91//68 1568 | f 175//70 90//75 91//68 1569 | f 172//72 174//67 89//69 1570 | f 173//74 88//78 90//75 1571 | f 85//76 170//80 172//72 1572 | f 173//74 171//81 86//77 1573 | f 83//79 168//84 170//80 1574 | f 171//81 169//85 84//82 1575 | f 81//83 166//158 168//84 1576 | f 169//85 167//161 82//86 1577 | f 79//87 92//94 146//88 1578 | f 147//90 93//320 80//91 1579 | f 94//93 148//98 146//88 1580 | f 95//95 93//320 147//90 1581 | f 94//93 96//101 150//97 1582 | f 151//99 97//288 95//95 1583 | f 98//100 152//105 150//97 1584 | f 99//102 97//288 151//99 1585 | f 100//104 154//109 152//105 1586 | f 101//106 99//102 153//103 1587 | f 102//108 156//113 154//109 1588 | f 103//110 101//106 155//107 1589 | f 102//108 104//116 158//112 1590 | f 159//114 105//279 103//110 1591 | f 106//115 160//120 158//112 1592 | f 107//117 105//279 159//114 1593 | f 108//119 162//124 160//120 1594 | f 109//121 107//117 161//118 1595 | f 67//123 68//125 162//124 1596 | f 67//123 109//121 163//122 1597 | f 128//126 160//120 162//124 1598 | f 129//128 111//506 163//122 1599 | f 128//126 179//129 158//112 1600 | f 159//114 180//131 129//128 1601 | f 156//113 158//112 179//129 1602 | f 157//111 127//133 180//131 1603 | f 154//109 156//113 126//130 1604 | f 155//107 125//135 127//133 1605 | f 152//105 154//109 124//132 1606 | f 153//103 123//137 125//135 1607 | f 150//97 152//105 122//134 1608 | f 151//99 121//139 123//137 1609 | f 148//98 150//97 120//136 1610 | f 149//96 119//141 121//139 1611 | f 146//88 148//98 118//138 1612 | f 147//90 117//143 119//141 1613 | f 164//89 146//88 116//140 1614 | f 165//92 115//145 117//143 1615 | f 114//142 181//151 177//144 1616 | f 177//144 182//152 115//145 1617 | f 162//124 68//125 112//146 1618 | f 163//122 111//506 113//147 1619 | f 112//146 68//125 178//148 1620 | f 178//148 68//125 113//147 1621 | f 181//151 183//149 178//148 1622 | f 182//152 177//144 178//148 1623 | f 135//153 137//212 176//71 1624 | f 176//71 137//212 136//154 1625 | f 133//155 135//153 174//67 1626 | f 175//70 136//154 134//156 1627 | f 133//155 172//72 170//80 1628 | f 134//156 132//162 171//81 1629 | f 166//158 187//164 185//159 1630 | f 186//160 188//166 167//161 1631 | f 131//157 170//80 168//84 1632 | f 169//85 171//81 132//162 1633 | f 190//163 189//167 187//164 1634 | f 190//163 145//174 188//166 1635 | f 187//164 189//167 69//168 1636 | f 188//166 186//160 69//168 1637 | f 131//157 185//159 69//168 1638 | f 132//162 130//169 69//168 1639 | f 142//170 193//176 191//171 1640 | f 192//172 194//177 143//173 1641 | f 140//175 195//191 193//176 1642 | f 194//177 196//182 141//178 1643 | f 197//179 195//191 140//175 1644 | f 198//181 139//180 141//178 1645 | f 71//183 197//179 139//180 1646 | f 71//183 138//184 139//180 1647 | f 144//165 191//171 70//185 1648 | f 145//174 190//163 70//185 1649 | f 191//171 206//194 208//186 1650 | f 192//172 70//185 208//186 1651 | f 71//183 199//196 200//188 1652 | f 201//189 199//196 71//183 1653 | f 197//179 200//188 202//190 1654 | f 203//192 201//189 198//181 1655 | f 202//190 204//195 193//176 1656 | f 203//192 196//182 194//177 1657 | f 193//176 204//195 206//194 1658 | f 207//187 205//193 194//177 1659 | f 204//195 202//190 200//188 1660 | f 205//193 199//196 201//189 1661 | f 199//196 208//186 206//194 1662 | f 207//187 208//186 199//196 1663 | f 139//180 140//175 164//89 1664 | f 165//92 141//178 139//180 1665 | f 140//175 142//170 211//197 1666 | f 212//198 143//173 141//178 1667 | f 144//165 213//200 211//197 1668 | f 145//174 143//173 212//198 1669 | f 187//164 166//158 213//200 1670 | f 188//166 145//174 214//199 1671 | f 209//201 213//200 166//158 1672 | f 210//202 82//86 167//161 1673 | f 215//203 211//197 213//200 1674 | f 216//204 210//202 214//199 1675 | f 79//87 164//89 211//197 1676 | f 212//198 165//92 80//91 1677 | f 130//169 72//207 222//205 1678 | f 130//169 132//162 223//206 1679 | f 133//155 131//157 222//205 1680 | f 223//206 132//162 134//156 1681 | f 135//153 133//155 220//208 1682 | f 221//209 134//156 136//154 1683 | f 137//212 135//153 218//210 1684 | f 219//211 136//154 137//212 1685 | f 218//210 229//217 231//214 1686 | f 219//211 217//213 231//214 1687 | f 218//210 220//208 227//216 1688 | f 228//218 221//209 219//211 1689 | f 220//208 222//205 225//219 1690 | f 226//220 223//206 221//209 1691 | f 72//207 224//221 225//219 1692 | f 72//207 223//206 226//220 1693 | f 224//221 231//214 229//217 1694 | f 230//215 231//214 224//221 1695 | f 183//149 181//151 234//222 1696 | f 235//224 182//152 184//150 1697 | f 112//146 183//149 232//223 1698 | f 233//225 184//150 113//147 1699 | f 112//146 254//226 256//228 1700 | f 113//147 111//506 257//229 1701 | f 114//142 252//232 234//222 1702 | f 115//145 182//152 235//224 1703 | f 114//142 116//140 250//231 1704 | f 251//233 117//143 115//145 1705 | f 116//140 118//138 248//234 1706 | f 249//235 119//141 117//143 1707 | f 118//138 120//136 246//236 1708 | f 247//237 121//139 119//141 1709 | f 120//136 122//134 244//238 1710 | f 245//239 123//137 121//139 1711 | f 124//132 242//241 244//238 1712 | f 125//135 123//137 245//239 1713 | f 126//130 240//244 242//241 1714 | f 127//133 125//135 243//240 1715 | f 126//130 179//129 236//243 1716 | f 237//245 180//131 127//133 1717 | f 179//129 128//126 238//246 1718 | f 239//247 129//128 180//131 1719 | f 128//126 110//127 256//228 1720 | f 257//229 111//506 129//128 1721 | f 256//228 258//270 276//248 1722 | f 257//229 239//247 277//249 1723 | f 236//243 238//246 276//248 1724 | f 277//249 239//247 237//245 1725 | f 236//243 278//251 274//253 1726 | f 237//245 241//242 275//254 1727 | f 240//244 274//253 272//255 1728 | f 241//242 243//240 273//256 1729 | f 244//238 242//241 272//255 1730 | f 273//256 243//240 245//239 1731 | f 244//238 270//257 268//259 1732 | f 245//239 247//237 269//260 1733 | f 248//234 246//236 268//259 1734 | f 269//260 247//237 249//235 1735 | f 248//234 266//261 264//263 1736 | f 249//235 251//233 265//264 1737 | f 250//231 264//263 262//265 1738 | f 251//233 253//230 263//266 1739 | f 234//222 252//232 262//265 1740 | f 263//266 253//230 235//224 1741 | f 256//228 254//226 260//269 1742 | f 261//271 255//227 257//229 1743 | f 254//226 232//223 282//272 1744 | f 283//273 233//225 255//227 1745 | f 232//223 234//222 280//267 1746 | f 281//268 235//224 233//225 1747 | f 67//123 108//119 284//274 1748 | f 285//276 109//121 67//123 1749 | f 108//119 106//115 286//277 1750 | f 287//278 107//117 109//121 1751 | f 104//116 288//281 286//277 1752 | f 105//279 107//117 287//278 1753 | f 102//108 290//283 288//281 1754 | f 103//110 105//279 289//280 1755 | f 100//104 292//286 290//283 1756 | f 101//106 103//110 291//282 1757 | f 100//104 98//100 294//285 1758 | f 295//287 99//102 101//106 1759 | f 96//101 296//291 294//285 1760 | f 97//288 99//102 295//287 1761 | f 96//101 94//93 298//290 1762 | f 299//292 95//95 97//288 1763 | f 94//93 92//94 300//293 1764 | f 301//294 93//320 95//95 1765 | f 309//295 328//312 338//296 1766 | f 309//295 308//297 339//298 1767 | f 308//297 338//296 336//300 1768 | f 308//297 307//301 337//302 1769 | f 307//301 336//300 340//303 1770 | f 307//301 306//304 341//305 1771 | f 89//69 91//68 306//304 1772 | f 306//304 91//68 90//75 1773 | f 87//73 89//69 340//303 1774 | f 341//305 90//75 88//78 1775 | f 85//76 87//73 334//306 1776 | f 335//307 88//78 86//77 1777 | f 83//79 85//76 330//308 1778 | f 331//309 86//77 84//82 1779 | f 330//308 336//300 338//296 1780 | f 339//298 337//302 331//309 1781 | f 334//306 340//303 336//300 1782 | f 335//307 331//309 337//302 1783 | f 332//310 338//296 328//312 1784 | f 333//311 327//314 329//299 1785 | f 81//83 83//79 332//310 1786 | f 333//311 84//82 82//86 1787 | f 342//315 344//380 215//203 1788 | f 343//316 210//202 216//204 1789 | f 326//313 342//315 209//201 1790 | f 327//314 82//86 210//202 1791 | f 215//203 344//380 346//318 1792 | f 216//204 80//91 347//319 1793 | f 346//318 300//293 92//94 1794 | f 347//319 80//91 93//320 1795 | f 324//321 352//326 304//322 1796 | f 325//324 77//323 304//322 1797 | f 352//326 350//374 78//327 1798 | f 353//325 304//322 78//327 1799 | f 78//327 350//374 348//329 1800 | f 349//331 351//328 78//327 1801 | f 305//330 348//329 328//312 1802 | f 329//299 349//331 305//330 1803 | f 328//312 348//329 342//315 1804 | f 329//299 327//314 343//316 1805 | f 296//291 298//290 318//332 1806 | f 319//334 299//292 297//289 1807 | f 316//336 324//321 77//323 1808 | f 317//338 76//337 77//323 1809 | f 358//339 356//366 303//340 1810 | f 359//342 302//341 303//340 1811 | f 303//340 356//366 354//344 1812 | f 355//346 357//343 303//340 1813 | f 75//345 354//344 316//336 1814 | f 317//338 355//346 75//345 1815 | f 292//286 294//285 362//347 1816 | f 363//349 295//287 293//284 1817 | f 364//348 362//347 368//351 1818 | f 369//353 363//349 365//350 1819 | f 366//352 368//351 370//355 1820 | f 371//357 369//353 367//354 1821 | f 372//356 370//355 376//359 1822 | f 377//361 371//357 373//358 1823 | f 378//363 374//360 376//359 1824 | f 379//365 315//505 377//361 1825 | f 316//336 354//344 374//360 1826 | f 375//362 355//346 317//338 1827 | f 354//344 356//366 372//356 1828 | f 373//358 357//343 355//346 1829 | f 356//366 358//339 366//352 1830 | f 367//354 359//342 357//343 1831 | f 358//339 360//367 364//348 1832 | f 365//350 361//368 359//342 1833 | f 292//286 364//348 360//367 1834 | f 293//284 291//282 361//368 1835 | f 360//367 358//339 302//341 1836 | f 361//368 74//369 302//341 1837 | f 284//274 286//277 288//281 1838 | f 289//280 287//278 285//276 1839 | f 284//274 290//283 360//367 1840 | f 361//368 291//282 285//276 1841 | f 296//291 310//333 362//347 1842 | f 297//289 295//287 363//349 1843 | f 310//333 312//370 368//351 1844 | f 369//353 313//371 311//335 1845 | f 312//370 382//372 370//355 1846 | f 371//357 383//373 313//371 1847 | f 376//359 370//355 382//372 1848 | f 377//361 315//505 383//373 1849 | f 350//374 386//384 384//375 1850 | f 351//328 349//331 385//376 1851 | f 384//375 386//384 320//378 1852 | f 385//376 319//334 321//379 1853 | f 298//290 300//293 384//375 1854 | f 385//376 301//294 299//292 1855 | f 300//293 344//380 342//315 1856 | f 343//316 345//317 301//294 1857 | f 322//381 380//385 378//363 1858 | f 323//382 315//505 379//365 1859 | f 378//363 380//385 324//321 1860 | f 379//365 317//338 325//324 1861 | f 386//384 380//385 322//381 1862 | f 387//377 321//379 323//382 1863 | f 352//326 380//385 386//384 1864 | f 353//325 351//328 387//377 1865 | f 388//386 414//430 402//387 1866 | f 389//389 401//395 403//390 1867 | f 400//388 402//387 404//392 1868 | f 405//394 403//390 401//395 1869 | f 404//392 406//400 396//397 1870 | f 405//394 399//396 397//398 1871 | f 406//400 408//404 394//401 1872 | f 407//399 397//398 395//402 1873 | f 408//404 410//412 392//405 1874 | f 409//403 395//402 393//406 1875 | f 392//405 410//412 412//408 1876 | f 413//410 411//407 393//406 1877 | f 410//412 420//415 418//413 1878 | f 419//414 421//416 411//407 1879 | f 408//404 422//472 420//415 1880 | f 421//416 423//419 409//403 1881 | f 424//417 422//472 408//404 1882 | f 425//418 407//399 409//403 1883 | f 426//420 424//417 406//400 1884 | f 427//421 405//394 407//399 1885 | f 428//422 426//420 404//392 1886 | f 429//423 403//390 405//394 1887 | f 402//387 414//430 416//424 1888 | f 417//425 415//391 403//390 1889 | f 320//378 444//429 442//426 1890 | f 321//379 319//334 443//427 1891 | f 390//409 412//408 444//429 1892 | f 391//411 321//379 445//428 1893 | f 310//333 318//332 442//426 1894 | f 443//427 319//334 311//335 1895 | f 382//372 430//445 414//430 1896 | f 415//391 431//448 383//373 1897 | f 412//408 418//413 440//431 1898 | f 441//432 419//414 413//410 1899 | f 446//433 444//429 440//431 1900 | f 447//435 439//438 441//432 1901 | f 434//436 446//433 438//434 1902 | f 439//438 447//435 435//439 1903 | f 448//441 446//433 434//436 1904 | f 449//443 433//447 435//439 1905 | f 448//441 432//442 450//444 1906 | f 449//443 431//448 451//446 1907 | f 430//445 450//444 416//424 1908 | f 431//448 415//391 417//425 1909 | f 312//370 448//441 430//445 1910 | f 431//448 449//443 313//371 1911 | f 442//426 446//433 448//441 1912 | f 443//427 313//371 449//443 1913 | f 416//424 450//444 452//449 1914 | f 453//451 451//446 417//425 1915 | f 432//442 462//455 452//449 1916 | f 433//447 451//446 453//451 1917 | f 432//442 434//436 460//454 1918 | f 461//456 435//439 433//447 1919 | f 436//437 458//458 460//454 1920 | f 437//440 435//439 461//456 1921 | f 438//434 456//461 458//458 1922 | f 439//438 437//440 459//457 1923 | f 438//434 440//431 454//460 1924 | f 455//462 441//432 439//438 1925 | f 440//431 418//413 474//463 1926 | f 475//464 419//414 441//432 1927 | f 428//422 416//424 476//450 1928 | f 477//452 417//425 429//423 1929 | f 426//420 428//422 464//465 1930 | f 465//466 429//423 427//421 1931 | f 424//417 426//420 466//467 1932 | f 467//468 427//421 425//418 1933 | f 424//417 468//469 470//471 1934 | f 425//418 423//419 471//473 1935 | f 422//472 470//471 472//474 1936 | f 423//419 421//416 473//475 1937 | f 420//415 472//474 474//463 1938 | f 421//416 419//414 475//464 1939 | f 456//461 480//479 478//476 1940 | f 457//459 459//457 479//477 1941 | f 480//479 482//507 484//480 1942 | f 481//478 479//477 485//481 1943 | f 484//480 482//507 488//483 1944 | f 489//485 483//482 485//481 1945 | f 488//483 490//490 492//487 1946 | f 489//485 487//486 493//488 1947 | f 464//465 476//450 486//484 1948 | f 487//486 477//452 465//466 1949 | f 484//480 486//484 476//450 1950 | f 485//481 453//451 477//452 1951 | f 462//455 478//476 484//480 1952 | f 463//453 453//451 485//481 1953 | f 458//458 478//476 462//455 1954 | f 463//453 479//477 459//457 1955 | f 474//463 480//479 456//461 1956 | f 475//464 455//462 457//459 1957 | f 472//474 482//507 480//479 1958 | f 481//478 483//482 473//475 1959 | f 488//483 482//507 472//474 1960 | f 489//485 471//473 473//475 1961 | f 490//490 488//483 470//471 1962 | f 491//489 469//470 471//473 1963 | f 466//467 492//487 490//490 1964 | f 491//489 493//488 467//468 1965 | f 392//405 390//409 504//491 1966 | f 505//493 391//411 393//406 1967 | f 394//401 392//405 502//492 1968 | f 503//494 393//406 395//402 1969 | f 394//401 500//495 498//497 1970 | f 395//402 397//398 499//498 1971 | f 396//397 498//497 496//499 1972 | f 397//398 399//396 497//500 1973 | f 398//393 496//499 494//501 1974 | f 399//396 401//395 495//502 1975 | f 400//388 494//501 506//503 1976 | f 401//395 389//389 507//504 1977 | f 502//492 504//491 506//503 1978 | f 503//494 495//502 507//504 1979 | f 494//501 496//499 500//495 1980 | f 501//496 497//500 495//502 1981 | f 382//372 388//386 506//503 1982 | f 383//373 315//505 507//504 1983 | f 314//364 506//503 504//491 1984 | f 505//493 507//504 315//505 1985 | f 320//378 322//381 504//491 1986 | f 505//493 323//382 321//379 1987 | -------------------------------------------------------------------------------- /meshes/LOD_mesh_00.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | type="Mesh" 5 | path="res://.import/LOD_mesh_00.obj-b8dd9097342e631ee0661041eb9b6205.mesh" 6 | 7 | [deps] 8 | 9 | files=[ "res://.import/LOD_mesh_00.obj-b8dd9097342e631ee0661041eb9b6205.mesh" ] 10 | 11 | source_file="res://meshes/LOD_mesh_00.obj" 12 | dest_files=[ "res://.import/LOD_mesh_00.obj-b8dd9097342e631ee0661041eb9b6205.mesh", "res://.import/LOD_mesh_00.obj-b8dd9097342e631ee0661041eb9b6205.mesh" ] 13 | 14 | [params] 15 | 16 | generate_tangents=true 17 | scale_mesh=Vector3( 1, 1, 1 ) 18 | optimize_mesh=true 19 | -------------------------------------------------------------------------------- /meshes/LOD_mesh_01.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | type="Mesh" 5 | path="res://.import/LOD_mesh_01.obj-bd2e13fca82605fd1111ee91007e8796.mesh" 6 | 7 | [deps] 8 | 9 | files=[ "res://.import/LOD_mesh_01.obj-bd2e13fca82605fd1111ee91007e8796.mesh" ] 10 | 11 | source_file="res://meshes/LOD_mesh_01.obj" 12 | dest_files=[ "res://.import/LOD_mesh_01.obj-bd2e13fca82605fd1111ee91007e8796.mesh", "res://.import/LOD_mesh_01.obj-bd2e13fca82605fd1111ee91007e8796.mesh" ] 13 | 14 | [params] 15 | 16 | generate_tangents=true 17 | scale_mesh=Vector3( 1, 1, 1 ) 18 | optimize_mesh=true 19 | -------------------------------------------------------------------------------- /meshes/LOD_mesh_02.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.79 (sub 0) OBJ File: 'DOF_mesh.blend' 2 | # www.blender.org 3 | o 02_Plane 4 | v 0.308715 0.106441 0.907532 5 | v 0.224224 0.686178 0.572820 6 | v 0.841654 1.201188 0.275479 7 | v 0.779911 1.022836 -0.363073 8 | v 0.623929 0.161307 0.275479 9 | v 0.860992 0.709247 -0.382255 10 | v 1.299851 0.704372 -0.600156 11 | v 1.265550 0.249424 -0.376707 12 | v 0.826531 0.278671 -0.177986 13 | v 1.272771 0.704372 -0.676884 14 | v 1.238470 0.249424 -0.453434 15 | v 0.000000 0.002453 0.907532 16 | v 0.000000 0.684875 -1.009749 17 | v 0.000000 0.025200 -0.418317 18 | v 0.000000 1.164195 0.453323 19 | v 0.000000 0.132438 1.042245 20 | v 0.000000 1.364047 -0.363073 21 | v -0.308715 0.106441 0.907532 22 | v -0.224224 0.686178 0.572820 23 | v -0.841654 1.201188 0.275479 24 | v -0.779911 1.022836 -0.363073 25 | v -0.623929 0.161307 0.275479 26 | v -0.860992 0.709247 -0.382255 27 | v -1.299851 0.704372 -0.600156 28 | v -1.265550 0.249424 -0.376707 29 | v -0.826531 0.278671 -0.177986 30 | v -1.272771 0.704372 -0.676884 31 | v -1.238470 0.249424 -0.453434 32 | vn 0.6724 -0.3269 0.6640 33 | vn 0.0000 -0.0805 0.9967 34 | vn 0.0000 -0.9315 0.3638 35 | vn 0.5142 0.2995 0.8036 36 | vn 0.0000 0.7208 0.6931 37 | vn 0.6955 0.5746 0.4314 38 | vn 0.0000 0.9374 -0.3482 39 | vn 0.6771 0.5413 -0.4986 40 | vn 0.6980 -0.6344 0.3321 41 | vn 0.7642 -0.6038 -0.2266 42 | vn 0.8484 -0.0872 -0.5222 43 | vn 0.7082 -0.5286 0.4680 44 | vn 0.9817 0.0189 0.1891 45 | vn 0.2319 -0.7410 -0.6301 46 | vn 0.2412 -0.4424 -0.8637 47 | vn 0.0000 -0.8750 -0.4841 48 | vn 0.0000 -0.0353 -0.9994 49 | vn -0.6724 -0.3269 0.6640 50 | vn -0.5142 0.2995 0.8036 51 | vn -0.6955 0.5746 0.4314 52 | vn -0.6771 0.5413 -0.4986 53 | vn -0.6980 -0.6344 0.3321 54 | vn -0.7642 -0.6038 -0.2266 55 | vn -0.8484 -0.0872 -0.5222 56 | vn -0.7082 -0.5286 0.4680 57 | vn -0.9817 0.0189 0.1891 58 | vn -0.2319 -0.7410 -0.6301 59 | vn -0.2412 -0.4424 -0.8637 60 | s 1 61 | f 1//1 16//2 12//3 62 | f 16//2 2//4 15//5 63 | f 3//6 17//7 15//5 64 | f 3//6 15//5 2//4 65 | f 3//6 4//8 17//7 66 | f 3//6 2//4 5//9 67 | f 2//4 1//1 5//9 68 | f 12//3 5//9 1//1 69 | f 9//10 3//6 5//9 70 | f 3//6 6//11 4//8 71 | f 6//11 8//12 7//13 72 | f 7//13 11//14 10//15 73 | f 11//14 6//11 10//15 74 | f 5//9 14//16 9//10 75 | f 13//17 17//7 4//8 76 | f 4//8 6//11 13//17 77 | f 6//11 14//16 13//17 78 | f 9//10 11//14 8//12 79 | f 18//18 12//3 16//2 80 | f 19//19 16//2 15//5 81 | f 20//20 15//5 17//7 82 | f 20//20 19//19 15//5 83 | f 20//20 17//7 21//21 84 | f 20//20 22//22 19//19 85 | f 19//19 22//22 18//18 86 | f 22//22 12//3 18//18 87 | f 20//20 26//23 22//22 88 | f 20//20 21//21 23//24 89 | f 25//25 23//24 24//26 90 | f 24//26 28//27 25//25 91 | f 23//24 28//27 27//28 92 | f 22//22 26//23 14//16 93 | f 13//17 21//21 17//7 94 | f 21//21 13//17 23//24 95 | f 14//16 23//24 13//17 96 | f 26//23 25//25 28//27 97 | f 16//2 1//1 2//4 98 | f 12//3 14//16 5//9 99 | f 9//10 6//11 3//6 100 | f 6//11 9//10 8//12 101 | f 7//13 8//12 11//14 102 | f 11//14 9//10 6//11 103 | f 6//11 9//10 14//16 104 | f 19//19 18//18 16//2 105 | f 22//22 14//16 12//3 106 | f 20//20 23//24 26//23 107 | f 25//25 26//23 23//24 108 | f 24//26 27//28 28//27 109 | f 23//24 26//23 28//27 110 | f 14//16 26//23 23//24 111 | -------------------------------------------------------------------------------- /meshes/LOD_mesh_02.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | type="Mesh" 5 | path="res://.import/LOD_mesh_02.obj-30e8a9395a67b0465e9e81a3f87261d2.mesh" 6 | 7 | [deps] 8 | 9 | files=[ "res://.import/LOD_mesh_02.obj-30e8a9395a67b0465e9e81a3f87261d2.mesh" ] 10 | 11 | source_file="res://meshes/LOD_mesh_02.obj" 12 | dest_files=[ "res://.import/LOD_mesh_02.obj-30e8a9395a67b0465e9e81a3f87261d2.mesh", "res://.import/LOD_mesh_02.obj-30e8a9395a67b0465e9e81a3f87261d2.mesh" ] 13 | 14 | [params] 15 | 16 | generate_tangents=true 17 | scale_mesh=Vector3( 1, 1, 1 ) 18 | optimize_mesh=true 19 | -------------------------------------------------------------------------------- /project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=4 10 | 11 | _global_script_classes=[ ] 12 | _global_script_class_icons={ 13 | 14 | } 15 | 16 | [application] 17 | 18 | config/name="LOD Simple Example" 19 | run/main_scene="res://Main.tscn" 20 | config/icon="res://icon.png" 21 | 22 | [display] 23 | 24 | window/vsync/use_vsync=false 25 | 26 | [input] 27 | 28 | Player_FW={ 29 | "deadzone": 0.5, 30 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null) 31 | ] 32 | } 33 | Player_BW={ 34 | "deadzone": 0.5, 35 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null) 36 | ] 37 | } 38 | Player_Left={ 39 | "deadzone": 0.5, 40 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) 41 | ] 42 | } 43 | Player_Right={ 44 | "deadzone": 0.5, 45 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) 46 | ] 47 | } 48 | Player_Jump={ 49 | "deadzone": 0.5, 50 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null) 51 | , Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":2,"pressed":false,"doubleclick":false,"script":null) 52 | ] 53 | } 54 | Player_Shift={ 55 | "deadzone": 0.5, 56 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null) 57 | ] 58 | } 59 | Player_Use={ 60 | "deadzone": 0.5, 61 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"unicode":0,"echo":false,"script":null) 62 | ] 63 | } 64 | LOD_Process={ 65 | "deadzone": 0.5, 66 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777246,"unicode":0,"echo":false,"script":null) 67 | ] 68 | } 69 | 70 | [rendering] 71 | 72 | quality/directional_shadow/size=2048 73 | quality/directional_shadow/size.mobile=1024 74 | environment/default_environment="res://default_env.tres" 75 | -------------------------------------------------------------------------------- /scripts/LOD_Mesh.gd: -------------------------------------------------------------------------------- 1 | extends Spatial 2 | 3 | var Distance = 0 4 | 5 | var Dist_01 = 10 6 | var Dist_02 = 20 7 | 8 | func _ready(): 9 | get_tree().get_root().get_node("Main").LOD_Number += 1 10 | 11 | $"00".visible = true 12 | $"01".visible = false 13 | $"02".visible = false 14 | 15 | set_physics_process(true) 16 | get_tree().get_root().get_node("Main").LOD_Process_Active = true 17 | 18 | func _physics_process(delta): 19 | Distance = self.global_transform.origin.distance_to( get_tree().get_root().get_node("Main/Player").get_global_transform().origin ) 20 | 21 | if Distance > Dist_01 and Distance < Dist_02: 22 | $"00".visible = false 23 | $"01".visible = true 24 | $"02".visible = false 25 | elif Distance > Dist_02: 26 | $"00".visible = false 27 | $"01".visible = false 28 | $"02".visible = true 29 | else: 30 | $"00".visible = true 31 | $"01".visible = false 32 | $"02".visible = false -------------------------------------------------------------------------------- /scripts/player_scripts/DEBUG_Elements/Coll_Sphere.gd: -------------------------------------------------------------------------------- 1 | # This is a sphere to visualize the slide collisions in the player's character script. 2 | 3 | # Extend the current nodes functionality. 4 | extends ImmediateGeometry 5 | 6 | # This number is set in the "Init_Script.gd" script attached to the main node in "Main.tscn". 7 | # This node is instanced several times, according to the number of maximum slides the player has, 8 | # which is set in the "MaxSlides" variable inside the player script. 9 | # Each time this node is instanced, this variable below is assigned its own number to corrisond 10 | # with the slide it's going to visualize. 11 | var Array_Element_Number = null 12 | 13 | ################################################################ 14 | # READY 15 | ################################################################ 16 | func _ready(): 17 | # Create a line primitive that has a small sphere with a line going through it, top to bottom. 18 | begin(Mesh.PRIMITIVE_LINES, null) 19 | add_vertex(Vector3(0.0, -0.1, 0.0)) 20 | add_vertex(Vector3(0.0, 0.1, 0.0)) 21 | add_sphere(4, 8, 0.005, false) 22 | end() 23 | 24 | ################################################################ 25 | # FUNCTIONS 26 | ################################################################ 27 | # Coll_Sphere_Show(SlideNumber, Pos_Vec3) 28 | # Sets the position of a collision sphere according to the slide number being calculated inside the kinematic character 29 | # script that is calling this function. 30 | # "SlideNumber" is the slide number inside the kinematic character script that needs to be shown. 31 | # So if you have a for loop that says "for Slide in range(get_slide_count()):" inside the character script, you would use 32 | # "Slide" as this argument to visualize that specific slide. 33 | # "Pos_Vec3" is the position of the slide. Use "get_slide_collision(Slide).position" to get the position of that specific slide. 34 | func Coll_Sphere_Show(SlideNumber, Pos_Vec3): 35 | #If the current slide 36 | if(SlideNumber == Array_Element_Number): 37 | self.global_transform.origin = Pos_Vec3 38 | -------------------------------------------------------------------------------- /scripts/player_scripts/DEBUG_Elements/Pos_Visual_Axis.gd: -------------------------------------------------------------------------------- 1 | # Position visualization. 2 | # For whenever you want to visualize where a 3D position 3 | 4 | #Extend the current nodes functionality. 5 | extends ImmediateGeometry 6 | 7 | ################################################################ 8 | # READY 9 | ################################################################ 10 | func _ready(): 11 | #Create axis lines. 12 | begin(Mesh.PRIMITIVE_LINES) 13 | add_vertex(Vector3(0.0, -0.5, 0.0)) 14 | add_vertex(Vector3(0.0, 0.5, 0.0)) 15 | add_vertex(Vector3(0.5, 0.0, 0.0)) 16 | add_vertex(Vector3(-0.5, 0.0, 0.0)) 17 | add_vertex(Vector3(0.0, 0.0, 0.5)) 18 | add_vertex(Vector3(0.0, 0.0, -0.5)) 19 | end() 20 | 21 | #Connect this node to the player node's axis rendering function. 22 | get_tree().get_root().get_child(0).get_node("Player").connect("Render_Pos", self, "Set_Position") 23 | 24 | ################################################################ 25 | # FUNCTIONS 26 | ################################################################ 27 | # Set_Position(Vec3_Pos) 28 | # Sets the position of the axis node according to the 3D vector specified. 29 | func Set_Position(Vec3_Pos): 30 | #Set position of attached node according to the 3D vector specified. 31 | self.transform.origin = Vec3_Pos 32 | -------------------------------------------------------------------------------- /scripts/player_scripts/GUI_Elements/Crosshair.gd: -------------------------------------------------------------------------------- 1 | # Extend the current nodes functionality. 2 | extends TextureRect 3 | 4 | func _ready(): 5 | #Initialize the crosshair position by simply calling the function that is used when the viewport size changes. 6 | ViewportSizeChanged() 7 | 8 | #Connect the appropriate function to the main viewport root node's "size_changed()" function, so when the viewport 9 | # size is changed we can center and resize the crosshair. 10 | get_tree().get_root().connect("size_changed", self, "ViewportSizeChanged") 11 | 12 | func ViewportSizeChanged(): 13 | #In most cases I usually don't like to create variables in a function. I like to make the variables at the top of 14 | # the script so it isn't constantly created in and freed from memory. But in this case, since this function is 15 | # rarely called, I have no problem having variables decalred in this function, as they will be freed after they 16 | # get out of scope, or in other words, when the function is done they are removed from memory. 17 | 18 | # My native monitor resolution is 1920x1080, and since I am developing this project at that resolution, 19 | # everything in the GUI is releative to what it would be on my screen. But it doesn't matter what resolution you use, 20 | # it will all be the same. 21 | # Since in the "Project Settings" I have "Keep Height" set under the window aspect strech mode, I only care about the 22 | # Y axis resolution of the viewport 23 | #So, in the variable below, the size of the crosshair on both the x and y axis will be "x" pixels relative to 1080 pixels. 24 | # So if I used "64.0/1080.0", my ratio would be "0.0592592592592593"; the crosshair would be about 5.9% the height 25 | # of the screen. 26 | # Then I would multiply that number by the actual screen height to get my final number. Let's say the height is 768. 27 | # That would be "768 * 0.0592592592592593", which equals "45.511" 28 | # But there is a problem: in order to make the cross hair perfectly center, we need to round that number to the 29 | # nearest even number, which in this case would be 46. That way, 23 pixels will be on the right side of the screen 30 | # and 23 pixels will be on the left. 31 | 32 | #Size ratio that the cross hair will have relative to the screen. 33 | var Y_Size_Ratio = 25.0/1080.0 34 | 35 | #Get the viewport size and pop it into a variable. 36 | var Viewport_Size = get_tree().get_root().get_visible_rect().size 37 | 38 | #Now make a variable and set it as the absolute size that we want the crosshair to be, casting it into an integer 39 | # to get rid of the decimals. 40 | var Crosshair_Size = int(Y_Size_Ratio * Viewport_Size.x) 41 | 42 | #Check to see if the crosshair size variable is an even number. 43 | # We do this with the "modulo" operator, which is the percentage sign: "%". 44 | # What this does is divide the first number by the second number and then returns the remainder of the division. 45 | # So if out crosshair size was "35" pixels, and then we divided that by 2, we would get "17.5". The remainder returned 46 | # would be "1" in this case, but it's really "0.5", because that's what is left over when we divide something in half 47 | # but don't have an even number. 48 | # But if the size of the crosshair was "34", our remainder would be 0, thus indicating it is an even number, as there 49 | # is no decimals in the number when dividing an even number in half. 50 | # FYI: If you are needing to modulo a floating point number, then use this function: 51 | # "fmod(float a, float b)" 52 | # It is this way because it helps to avoid mistakes, according to Juan Linietsky. 53 | #If the crosshair size is not an even number... 54 | if(Crosshair_Size % 2 != 0): 55 | #Add 1 pixel to it to make it an even number, so we can have a perfectly centered crosshair. 56 | Crosshair_Size += 1 57 | 58 | #Set the size of the crosshair rectangle. 59 | self.set_size(Vector2(Crosshair_Size, Crosshair_Size)) 60 | #Then set the position the center of the crosshair to the center of the root viewport. 61 | self.set_position( Vector2( (Viewport_Size.x/2 - Crosshair_Size/2) , (Viewport_Size.y/2 - Crosshair_Size/2) ) ) 62 | 63 | #Set the size of the red "Usable" circle. 64 | self.get_child(0).set_size(Vector2(Crosshair_Size, Crosshair_Size)) 65 | #And set the position to line up with the crosshair. 66 | self.get_child(0).set_position( Vector2(0.0 , 0.0) ) -------------------------------------------------------------------------------- /scripts/player_scripts/GUI_Elements/DEBUG.gd: -------------------------------------------------------------------------------- 1 | # Extend the current nodes functionality. 2 | extends Control 3 | 4 | func _ready(): 5 | #Activate the unhandled input process. 6 | set_process_unhandled_input(true) 7 | 8 | func _unhandled_input(event): 9 | #If the even is a keyboard key... 10 | if(event is InputEventKey): 11 | #If it's the "Player_ToggleDebug" action... 12 | if(Input.is_action_just_pressed("Player_ToggleDebug")): 13 | #If the debug info is visible... 14 | if(visible): 15 | #Make it invisible. 16 | visible = false 17 | #Otherwise, if it isn't visible... 18 | else: 19 | #Make it so. 20 | visible = true -------------------------------------------------------------------------------- /scripts/player_scripts/GUI_Elements/Debug_Label.gd: -------------------------------------------------------------------------------- 1 | # Extend the current nodes functionality. 2 | extends Label 3 | 4 | func _ready(): 5 | #Initialize the crosshair position by simply calling the function that is used when the viewport size changes. 6 | ViewportSizeChanged() 7 | 8 | #Connect the appropriate function to the main viewport root node's "size_changed()" function, so when the viewport 9 | # size is changed we can center and resize the crosshair. 10 | get_tree().get_root().connect("size_changed", self, "ViewportSizeChanged") 11 | 12 | func ViewportSizeChanged(): 13 | #Set the font's relative size. 14 | var Font_Size_Rel = 75.0/1080.0 15 | 16 | # Set the set the size of the label’s rectangle to six times the width of the relative size and 3 times the height. 17 | var Font_RectSize_Rel = Vector2( Font_Size_Rel*6 , Font_Size_Rel*3 ) 18 | 19 | #Get the viewport size and pop it into a variable. 20 | var Viewport_Size = get_tree().get_root().get_visible_rect().size 21 | 22 | #Set the font size according to it's relative size. 23 | self.get_font("font").set("size", Viewport_Size.y*Font_Size_Rel) 24 | 25 | #Then set the label's rect size. 26 | self.rect_size = Vector2( Viewport_Size.x*Font_RectSize_Rel.x , Viewport_Size.y*Font_RectSize_Rel.y ) -------------------------------------------------------------------------------- /scripts/player_scripts/Player.gd: -------------------------------------------------------------------------------- 1 | ##################################################################################################### 2 | # EXPLAIN # 3 | ##################################################################################################### 4 | # This is a first-person camera controller for Godot 3.x. Check the manual (documents/manual.pdf) or the Github wiki on how it's designed and used. 5 | # This is the GitHub page: https://github.com/leiget/Godot_FPC_Base 6 | 7 | ##################################################################################################### 8 | # NOTES # 9 | ##################################################################################################### 10 | # - The collision safety margin must be set to around 0.01 for the player's kinematic body, or else things like walking up steps and such will not work correctly. 11 | # - You'll need to test it and find out what works whenever you change the size of the player's collision shape. 12 | # - This script is made with the intent that the player's collision shape is a capsule. 13 | # - Note that in Godot 3.0.2 the “move_and_slide()” function has 5 arguments, but in the latest GitHub version (as of March 07, 2018) it has 6, with 14 | # the added argument being in the 3rd position and is “bool infinite_inertia=true”. If this option is true, what it means is that no other object 15 | # can rotate the character. If false, it can if enough force is applied. 16 | 17 | ######################### 18 | # EXTENDS # 19 | ######################### 20 | # Extend the KinematicBody and all inherited node variables and functions to this script. 21 | extends KinematicBody 22 | 23 | 24 | ############################# 25 | # SOUND 26 | ############################# 27 | var player_moving_FWandBW = false 28 | var player_moving_LeftAndRight = false 29 | var step_interval_sec_base = 0.35 30 | var step_interval_sec = step_interval_sec_base 31 | var step_timer = 0.0 32 | onready var step_01 = get_node("Step_01") 33 | onready var step_02 = get_node("Step_02") 34 | onready var step_03 = get_node("Step_03") 35 | var steps_array = [] 36 | var current_soundstream = 0 37 | 38 | ################################################## 39 | # SETTINGS # 40 | ################################################## 41 | # MOUSE LOOK # 42 | # This allows mouselooking. This is for just in case you need it. 43 | # DEFAULT: true 44 | var MouseLook = true 45 | # The sensitivity of the mouse movement applied to the character’s rotation. 46 | # DEFAULT: 0.3 47 | var Cam_RotateSens = 0.3 48 | 49 | # MOVEMENT # 50 | #The base walk speed. 51 | # DEFAULT: 10.0 52 | var BaseWalkVelocity = 6.0 53 | #The speed of the character when pressing shift while moving. 54 | # DEFAULT: 2.0 55 | var ShiftWalkVelocity_Multiplier = 2.0 56 | # Max floor angle the character is able to walk on in radians. 57 | # DEFAULT: 0.7 58 | var MaxFloorAngleRad = 0.7 59 | # The normal which defines which way is up. 60 | # DEFAULT: Vector3(0.0 , 1.0 , 0.0) 61 | var FloorNormal = Vector3(0.0 , 1.0 , 0.0) 62 | # The maximum number of slides to calculate in "move_and_slide()". 63 | # DEFAULT: 4 64 | var MaxSlides = 4 65 | # Variable used in "move_and_slide()". 66 | # If the body is standing on a slope and the horizontal speed (relative to the floor’s speed) 67 | # goes below SlopeStopMinVel, the body will stop completely. 68 | # When set to lower values, the body will not be able to stand still on steep slopes. 69 | # This doesn't really work. I have my own code which makes sure that the character doesn't slide on 70 | # slopes. This is at the end of the "FALLING" section of the player movement in the "_physics_process()" 71 | # section. I basically just lower gravity on the character when he is moving or standing on a slope. 72 | # DEFAULT: 0.05 73 | var SlopeStopMinVel = 0.05 74 | 75 | # FALLING # 76 | # The gravity to be used on the character. 77 | # DEFAULT: 9.8 78 | var Falling_Gravity = 9.8 79 | # The default gravity multiplier value for when standing still and for calculating the speed of walk on slopes. 80 | # 0.25 is a good starting place for this character script. 81 | # DEFAULT: 0.25 82 | var Falling_Speed_Multiplier_Default = 0.25 83 | # Terminal velocity, in m/s. #54 m/s is the rounded terminal velocity on Earth (with Earth's air density). 84 | # DEFAULT: 54 85 | var Falling_TerminalVel = 54.0 86 | # The time it takes to hit terminal velocity. #14 seconds is the average time it takes to hit terminal velocity on Earth. 87 | # DEFAULT: 14 88 | var Falling_TimeToHitTerminalVelSec = 14.0 89 | 90 | # JUMPING # 91 | # The jump velocity relative to gravity. 92 | # DEFAULT: 1.55 93 | var Jump_Vel_RelativeToGrav = 1.55 94 | # How long the jump is until its peak, when it then starts to fall gradually. 95 | # This is in seconds. 96 | # DEFAULT: 0.75 97 | var Jump_Length = 0.75 98 | 99 | # STEPPING UP # 100 | # The max step height that the player can step upon. 101 | # This must be less than half the size of the player. 102 | # This is because when stepping on a step, a raycast is shot up from the collision position to see if there 103 | # is anything in the way of the player stepping up the step. 104 | # If this height is more than half the height of the character, it will be set to half the height of the character. 105 | # This happens in the "_ready()" function. 106 | # DEFAULT: 0.5 107 | var Step_MaxHeight = 0.5 108 | # The dividend for the step safety margin variable, below. This is also used in "_physics_process()" to alter the step safety margin 109 | # based on the speed of the character. 110 | # Raise this number to make the player move higher up when stepping on a step. 111 | # DEFAULT: 0.02 112 | var Step_SafetyMargin_Dividend = 0.02 113 | # The amount to move the ray cast away from the player to help detect steps more accurately. 114 | # DEFAULT: 1.1 115 | var Step_RaycastDistMultiplier = 1.1 116 | 117 | # CAMERA INTERPOLATION # 118 | # The multiplicand for the "CamInterpo_Length_Secs" variable below. 119 | # This is also used in the same way in "_physics_process()" so that when the player presses the "Shift" modifier action 120 | # the camera interpolation length will be altered to fit the speed of the character. 121 | # Lower this number to make the camera interpolation speed slower. 122 | # DEFAULT: 125.0 123 | var CamInterpo_Length_Secs_Multiplicand = 125.0 124 | 125 | # SLOPE SPEED # 126 | # Amount to let slopes affect gravity of the player character, and therefore speed movement speed when walking up them. 127 | # DEFAULT: 0.2 128 | var Slope_EffectMultiplier_ClimbingUp = 0.3 129 | # Amount to let slopes affect gravity of the player character, and therefore speed movement speed when walking down them. 130 | # DEFAULT: 1.5 131 | var Slope_EffectMultiplier_ClimbingDown = 1.5 132 | 133 | # USE ACTION # 134 | # The distance (in meters) the use button ray can go; the ray that looks for things that can be used. 135 | # DEFAULT: 2.0 136 | var Ray_UseDist = 2.0 137 | 138 | ######################### 139 | # SIGNALS # 140 | ######################### 141 | # Render_Pos(Vector3) 142 | # Signal for rendering any 3D position. 143 | signal Render_Pos(Coll_Vec3) 144 | # Coll_Sphere_Show(int, Vector3) 145 | # Signal for showing collision slides from "move_and_slide()". 146 | signal Coll_Sphere_Show(SlideNumber, Pos_Vec3) 147 | 148 | ######################### 149 | # NODES # 150 | ######################### 151 | # The 3D camera node. 152 | onready var Node_Camera3D = get_node("Camera_Main") 153 | # The "Crosshair_Usable" red circle node. 154 | onready var Node_Crosshair_Useable = get_node("Camera2D/Crosshair/Crosshair_Useable") 155 | # Label # 156 | # The top-most label, for debugging. 157 | onready var Debug_Label = get_node("Camera2D/DEBUG/Debug_Label") 158 | # Label_01 print string. 159 | var Debug_Label_String = "-------------------" 160 | 161 | ######################### 162 | # STATES # 163 | ######################### 164 | # Is player on the floor? 165 | var State_OnFloor = false 166 | # Is player on one or more walls? 167 | var State_OnWalls = false 168 | # Is the player on hitting a ceiling? 169 | var State_OnCeiling = false 170 | # Is player falling? 171 | var State_Falling = false 172 | # Is the player jumping? 173 | var State_Jumping = false 174 | # Is the player pressing the movement keys in a diagonal way? 175 | var State_Movement_Diagonal_Pressed = false 176 | 177 | ######################################### 178 | # GLOBAL VARIABLES # 179 | ######################################### 180 | # These are simply variables that are used in several different sections of the code, instead of, say, only being used for jumping. 181 | # The global position of the player. 182 | var Player_Position = Vector3(0,0,0) 183 | # GLOBAL VARIABLES # 184 | # "onready" makes sure that it will only run this line after everything is loaded so as to avoid trying to access something that doesn't exist in memory yet. 185 | onready var Player_Height = (get_node("Shape_Capsule").shape.height + get_node("Shape_Capsule").shape.radius * 2) 186 | # The global Y position of the feet of the player, for stepping up steps. 187 | onready var Player_GlobalFeetPos_Y = Player_Position.y - Player_Height * 0.5 188 | 189 | ######################### 190 | # INPUT # 191 | ######################### 192 | # The input names in string format. 193 | var String_FW = "Player_FW" 194 | var String_BW = "Player_BW" 195 | var String_Left = "Player_Left" 196 | var String_Right = "Player_Right" 197 | var String_Jump = "Player_Jump" 198 | var String_Use = "Player_Use" 199 | var String_Shift = "Player_Shift" 200 | # Bools for what keys are pressed or released. 201 | var Pressed_FW = false 202 | var Pressed_BW = false 203 | var Pressed_LEFT = false 204 | var Pressed_RIGHT = false 205 | var Pressed_Jump = false 206 | var Pressed_Shift = false 207 | 208 | ######################### 209 | # MOVEMENT # 210 | ######################### 211 | # Max floor angle normalized on the Y axis, for use in normal calculations. 212 | # DEFAULT: cos(MaxFloorAngleRad) 213 | var MaxFloorAngleNor_Y = cos(MaxFloorAngleRad) 214 | # This holds the slide count. Filled with whatever “get_slide_count()” returns. 215 | var SlideCount = 0 216 | # The 3D direction normals in 3D vectors. I.e. which way the player is facing in normalized vectors. 217 | var DirectionInNormalVec3_FWAndBW = Vector3(0,0,0) 218 | var DirectionInNormalVec3_LeftAndRight = Vector3(0,0,0) 219 | # The temporary movement velocity vector. 220 | # These are used because you always want to calculate the character's movement velocity before you actually move them. 221 | # These are the temporary values that are used for all the calculations before you actually use them. 222 | var TempMoveVel_FWAndBW = Vector3(0,0,0) 223 | var TempMoveVel_LeftAndRight = Vector3(0,0,0) 224 | # FinalWalkVelocity is used when the player presses shift to move faster. 225 | # This line below simply initializes it as the regular walking velocity, 226 | # just in case not having it specified causes an issue. 227 | var FinalWalkVelocity = BaseWalkVelocity 228 | # The final move velocity vector to be applied to the character. 229 | var FinalMoveVel = Vector3(0,0,0) 230 | 231 | ######################### 232 | # ROTATION # 233 | ######################### 234 | # The bool that says to rotate the character because the mouse has been moved. 235 | var Mouse_Moved = false 236 | # The screen movement of the mouse on the X and Y axis. 237 | # This is using "relative mouse movement". That is, the mouse position relative to what it in the previous frame. 238 | # If the coursor was at (10,15) during the last frame, and now it's at (15,25), it has moved (5,10) pixels 239 | # on the X and Y axis. 240 | var Mouse_Rel_Movement = Vector2(0,0) 241 | # The rotation of the camera on it's local X axis, which rotates the camera up and down. 242 | var Cam_Local_Rot_X = 0 243 | # The final rotation amount to be applied to the camera. 244 | var Final_Cam_Rot_Local_X = 0 245 | # The temporary variable to store the X rotation to be applied, to see if the player is looking too far up or down 246 | # and then moving it back to the vertical(X-axis) roatation limits. That is, if the character is looking up 247 | # at more than a 90 degree angle, like he is bending backwards, move this amount to 90 degrees so the character 248 | # isn't looking backwards by rotating the camera too far vertically. 249 | var Cam_Temp_XRot_Var = 0 250 | 251 | ######################### 252 | # FALLING # 253 | ######################### 254 | # Has the falling of the player started? 255 | var Falling_IsFalling = false 256 | # Float passed to the FinalMoveVel; used for telling the engine how much to actually pull the character down. 257 | # This is here because when an object falls it takes a little bit of time to reach terminal velocity. 258 | # This variable slowly gets higher when falling. This is the _speed_ of the falling, not the falling itself. 259 | # That is, this number is always positive until it is used in the FinalMoveVel 3D vector. 260 | # The falling speed isn't linear. It's according to the power of 0.4. Look at line ??? 261 | var Falling_Speed = 0 262 | # The multiplier of which modifies the final falling speed relative to gravity. 263 | # This is mainly for slopes and making the character move slower on them. 264 | var Falling_Speed_Multiplier = 0.0 265 | # How long the player has been falling. 266 | var Falling_CurrentTime = 0 267 | 268 | ######################### 269 | # JUMPING # 270 | ######################### 271 | # The jump velocity, what it initially is until it falls off when the jump hits its peak. 272 | var Jump_Vel = Falling_Gravity * Jump_Vel_RelativeToGrav 273 | # Current velocity of the jump. 274 | var Jump_CurrentVel = 0.0 275 | # The current time of the jump in progress. 276 | var Jump_CurrentTime = 0.0 277 | # Bool to not let the player jump again until he releases the jump button. 278 | # That is, he can't keep holding the jump button down and jumping without 279 | # letting go of the jump button first. 280 | var Jump_Released = true 281 | 282 | ######################### 283 | # SLOPE SPEED # 284 | ######################### 285 | # The players velocity on the x and z axis. 286 | var Slope_PlayerVelVec2D = Vector2(0.0, 0.0) 287 | # The floor normal on the x and z axis, to compare it to the player's velocity. 288 | var Slope_FloorNor2D = Vector2(0.0, 0.0) 289 | # How different the player's velocity on the x and z axis are to the floor's same axis. 290 | var Slope_DotProduct = 0.0 291 | 292 | ######################### 293 | # STEPS # 294 | ######################### 295 | # The additional amount that character has to move up when stepping up a step. 296 | # This helps keep the character from getting stuck moving up and down because he can't get quite enough 297 | # height to get over the step. 298 | # It's set according to how fast the player is moving, so that the stepping of stairs is more correct. 299 | var Step_SafetyMargin = Step_SafetyMargin_Dividend / BaseWalkVelocity 300 | # Variable to say how high to move charater up, when stepping on step. 301 | var SteppingUp_SteppingDistance = 0.0 302 | # The step collision position. 303 | var Step_CollPos = Vector3(0.0, 0.0, 0.0) 304 | # The position of the collision of the step/wall relative to the player. 305 | # This is relative to the player because I need to make the collision test to be a bit farther away from 306 | # the player, and therefore deeper into the step, so as to make sure the ray cast downward from that postion 307 | # actually hits the step. I have found it unreliable to not do this. 308 | var Step_CollPos_RelToPlayer = Vector3(0.0, 0.0, 0.0) 309 | # The position of the player before he was moved up a step. 310 | # This is for camera interpolation. 311 | # I put it here because it is modified in the "Step_Player_Up()" function. 312 | var Step_Cam_PosBefore_Global = 0.0 313 | # The following are for making sure the player doesn't try to move up a step when he's too parallel to it, 314 | # thus causing him to move up and slide back down because he can't quite get on the step. 315 | # The direction the player is moving, normalized. 316 | var Step_PlayerVel_Global_Norm = Vector3(0,0,0) 317 | # The slide collision relative to the player. 318 | var Step_CollPos_Global_RelToPlayer = Vector3(0,0,0) 319 | # The angle between the player and the slide collision. 320 | var Step_CollPos_AngleToPlayer = 0.0 321 | 322 | ############################# 323 | # CAMERA STEP SMOOTHING # 324 | ############################# 325 | # How long it takes to interpolate the camera, in seconds. 326 | # Depends on how fast the player is moving. 327 | # The default length is 0.08 seconds, if BaseWalkVelocity is 10. 328 | var CamInterpo_Length_Secs = BaseWalkVelocity / (CamInterpo_Length_Secs_Multiplicand * (FinalWalkVelocity / 10.0)) 329 | # The bool to activate the interpolation of the camera on a step. 330 | var CamInterpo_DoInterpolation = false 331 | # The default value that the camera will interpolate to, in local space to the character. 332 | # This is set when placing the camera in the editor. It just gets the local position of the camera. 333 | onready var CamInterpo_DefaultPosition_Local_Y = Node_Camera3D.get_transform().origin.y 334 | # The local camera position before going up the step. 335 | var CamInterpo_StartingPos_Local_Y = 0.0 336 | # The current time of the interpolation, in seconds. 337 | var CamInterpo_CurrentTime_Secs = 0.0 338 | 339 | ######################### 340 | # RAY CASTING # 341 | ######################### 342 | #The state of the physical space in the game. 343 | var Ray_SpaceState = null 344 | # Holds where the ray will come from. 345 | var Ray_From = Vector3(0.0, 0.0 ,0.0) 346 | # Holds where the ray will go to. 347 | var Ray_To = Vector3(0.0, 0.0 ,0.0) 348 | # Will hold the result of any ray cast. 349 | var Ray_Result = null 350 | 351 | ######################### 352 | # INTERACTION # 353 | ######################### 354 | # Variables concerning interaction via the "Use" action or touch. 355 | # The position of the "Use" buttons ray intersection. 356 | var Use_Ray_IntersectPos = Vector3(0,0,0) 357 | # A list of objects that have been touched recently that have touch functions. 358 | var Touch_ObjectsTouched = [] 359 | # The list of slide collision, used to compare against the list of objects that have been touched, that also have a touch function. 360 | var SlideCollisions = [] 361 | 362 | 363 | 364 | ###################################################################################################################################################### 365 | # FUNCTIONS # 366 | ###################################################################################################################################################### 367 | ############################################# 368 | # InterpolateCamera( float, float, float ) # 369 | ############################################# 370 | # Interpolates the camera and returns the relative time of the interpolation. 371 | # So, if the total length of the interpolation was 1.5 seconds, this function would return anything from 0.0 to 1.5. 372 | func InterpolateCamera(Prev_Pos_Local_Y, Time_Current, Time_Delta): 373 | # If the current time is less than the length of time it takes to interpolate the camera.... 374 | if(Time_Current < CamInterpo_Length_Secs): 375 | # Set the camera's local translation according to how far along the interpolation is. 376 | Node_Camera3D.translation.y = lerp(Prev_Pos_Local_Y, CamInterpo_DefaultPosition_Local_Y, Time_Current / CamInterpo_Length_Secs) 377 | # Increment the current time. 378 | Time_Current += Time_Delta 379 | # Return the current time for the next go around of this function. 380 | return Time_Current 381 | # Otherwise, if time is up and the camera is in it's final position... 382 | else: 383 | # Make sure to manually set the final Y position of the camera, just in case. 384 | Node_Camera3D.translation.y = CamInterpo_DefaultPosition_Local_Y 385 | # Turn off the camera interpolation. 386 | CamInterpo_DoInterpolation = false 387 | # Return 0 for success. 388 | return 0.0 389 | 390 | ######################## 391 | # Step_Player_Up(void) # 392 | ######################## 393 | # Steps the player up whenever there is a step under a certain height, which is "Step_MaxHeight" above in the settings section. 394 | func Step_Player_Up(): 395 | # Check to see if there are more than one collision slides in the first place... 396 | if(SlideCount > 1): 397 | # If the player is on the floor... 398 | if(State_OnFloor): 399 | # And if the player is on a wall... 400 | if(State_OnWalls): 401 | # Go through each of the collisions. 402 | for Slide in range(SlideCount): 403 | # If the slide collision is a wall... 404 | if(get_slide_collision(Slide).normal.y <= MaxFloorAngleNor_Y): 405 | # Get the position of the collision. 406 | Step_CollPos = get_slide_collision(Slide).position 407 | # Get the global Y position of the player's feet. 408 | # Don't forget the safe margin of the character's physics body! 409 | Player_GlobalFeetPos_Y = Player_Position.y - (Player_Height * 0.5) - get("collision/safe_margin") 410 | 411 | # If the slide collision if higher than the player's feet... 412 | if(Player_GlobalFeetPos_Y < Step_CollPos.y): 413 | # Get the position of the collision relative to the player. 414 | Step_CollPos_RelToPlayer = to_local(Step_CollPos) 415 | 416 | # Get the direction that the player is actually moving. 417 | # This currently only works when the floor vector is (0, -1, 0). 418 | # The vectors elements come from "Slope_PlayerVelVec2D". Note that "Slope_PlayerVelVec2D" has already been normalized inside 419 | # "Slope_AffectSpeed()", so there is no need to do it here. 420 | Step_PlayerVel_Global_Norm = Vector3( Slope_PlayerVelVec2D.x , 0.0, Slope_PlayerVelVec2D.y ) 421 | 422 | # Get the slide collision and make it relative to the player, in this variable. 423 | # In this 3D vector, the Y axis will always be "0" because we are subracting the player's Y position from the player's Y position. 424 | # This is just to simplify code instead of converting everything into 2D vectors. 425 | Step_CollPos_Global_RelToPlayer = Vector3(Step_CollPos.x, Player_Position.y, Step_CollPos.z) - Player_Position 426 | # Then normalize it so we can get an angle. 427 | Step_CollPos_Global_RelToPlayer = Step_CollPos_Global_RelToPlayer.normalized() 428 | 429 | # Now find the angle between the player's normalized movement velocity and the direction the collision is relative to the player. 430 | # Since the Y axis position in both 3D vectors used here are both "0", we are really only comparing the X and Z axis. 431 | # Again, this is so the code can be simplified instead of converting everything over into 2D vectors. 432 | Step_CollPos_AngleToPlayer = abs( asin(Step_CollPos_Global_RelToPlayer.dot(Step_PlayerVel_Global_Norm)) ) 433 | 434 | # If the player isn't running parallel to the step (within a certain angle, which is 11.5 degress / 0.200712864 rads)... 435 | if(Step_CollPos_AngleToPlayer > 0.200712864): 436 | # Add a little bit to where we will be checking the step normal, to make sure it 437 | # is actually over the step. This is according to what direction the player is moving. 438 | Step_CollPos.x = to_global(Step_CollPos_RelToPlayer * Step_RaycastDistMultiplier).x 439 | Step_CollPos.y = Player_GlobalFeetPos_Y + Step_MaxHeight 440 | Step_CollPos.z = to_global(Step_CollPos_RelToPlayer * Step_RaycastDistMultiplier).z 441 | 442 | # Setup and execute a raycast at the collision position specified. 443 | Ray_SpaceState = get_world().get_direct_space_state() 444 | Ray_From = Vector3(Player_Position.x , Step_CollPos.y , Player_Position.z) 445 | Ray_To = Step_CollPos 446 | Ray_Result = Ray_SpaceState.intersect_ray(Ray_From,Ray_To,[self]) 447 | 448 | # If there is nothing in the way of the character... 449 | # This is here because, say there is a step that is partly above the ground. It's not touching. If the character walks into it, 450 | # and it's within the step size threshold, this code will not allow the ray to be shot from within the step, causing it(the ray cast) to 451 | # collide with the backside of the face, on the bottom of the step. 452 | if(Ray_Result.empty()): 453 | # Now we are going to shoot a ray from the collision position up to see if there is anything in the way of getting on the step. 454 | Ray_From = Step_CollPos 455 | Ray_To = Vector3(Step_CollPos.x , Player_Position.y + (Player_Height * 0.5) + (to_global(Step_CollPos_RelToPlayer).y - Player_GlobalFeetPos_Y) , Step_CollPos.z) 456 | Ray_Result = Ray_SpaceState.intersect_ray(Ray_From,Ray_To,[self]) 457 | 458 | # If there is nothing in the way above the collision point... 459 | if(Ray_Result.empty()): 460 | # Setup and execute a raycast at the collision position specified. 461 | Ray_From = Step_CollPos 462 | Ray_To = Vector3(Step_CollPos.x , Player_GlobalFeetPos_Y , Step_CollPos.z) 463 | Ray_Result = Ray_SpaceState.intersect_ray(Ray_From,Ray_To,[self]) 464 | 465 | # If there is a result from the raycast that is not empty... 466 | if(not Ray_Result.empty()): 467 | # If the stepping distance has not been set yet... 468 | if(SteppingUp_SteppingDistance == 0.0): 469 | # Get the position of the camera before it was stepped up, in global space. 470 | Step_Cam_PosBefore_Global = to_global(Node_Camera3D.translation) 471 | 472 | # Set the distance to move up in a variable. 473 | SteppingUp_SteppingDistance = (Ray_Result.position.y - Player_GlobalFeetPos_Y + Step_SafetyMargin) 474 | 475 | # Set the starting local Y axis position of the camera interpolation, which is simply where the camera was before it was moved up with the player. 476 | CamInterpo_StartingPos_Local_Y = to_local(Step_Cam_PosBefore_Global).y - SteppingUp_SteppingDistance 477 | 478 | # If the starting position is starting to fall below half of the player's height... 479 | if(CamInterpo_StartingPos_Local_Y < 0.0): 480 | # Set it to half the player's height (which is 0.0 in the "player.tscn" scene). 481 | CamInterpo_StartingPos_Local_Y = 0.0 482 | 483 | # Move the player up a little past the step. 484 | global_translate(Vector3(0.0, SteppingUp_SteppingDistance, 0.0)) 485 | 486 | # Then set the local position of the camera node back down to where it was before moving. 487 | Node_Camera3D.translation.y = CamInterpo_StartingPos_Local_Y 488 | 489 | # Say to do interpolation. 490 | CamInterpo_DoInterpolation = true 491 | 492 | # Reset camera interpolation timer. 493 | CamInterpo_CurrentTime_Secs = 0.0 494 | 495 | # Reset the stepping distance to 0. 496 | SteppingUp_SteppingDistance = 0.0 497 | 498 | ############################### 499 | # Touch_CheckAndExecute(void) # 500 | ############################### 501 | # This function checks for and executes any "Touched_Function()" inside a colliding object script. 502 | func Touch_CheckAndExecute(): 503 | #If the player is on the floor, wall(s), or ceiling... 504 | if(State_OnFloor or State_OnWalls or State_OnCeiling): 505 | # If there are slide collisions... 506 | if(SlideCount > 0): 507 | # Loop through all the slides. 508 | for Slide in range(SlideCount): 509 | # If the current slide collider has a touch function... 510 | if(get_slide_collision(Slide).collider.has_method("Touched_Function")): 511 | # And if the list doesn't have the current collider with the touch function... 512 | if(not Touch_ObjectsTouched.has(get_slide_collision(Slide).collider)): 513 | # Add it to the list according to the slide number (I don't know if this will 514 | # overwrite other elements in the array by using the Slide number as the index). 515 | Touch_ObjectsTouched[Slide] = get_slide_collision(Slide).collider 516 | # Then execute the touch function. 517 | Touch_ObjectsTouched[Slide].Touched_Function() 518 | 519 | # Clear the slide collision array. 520 | SlideCollisions.clear() 521 | # Then resize it to the maximum number of slides. 522 | SlideCollisions.resize(MaxSlides) 523 | 524 | # Loop through the slide collision array. 525 | for Index in range(SlideCollisions.size()): 526 | # If the current index number is less than the total slide count... 527 | if(Index < SlideCount): 528 | # Add the current slide to the slide collision array. 529 | SlideCollisions[Index] = get_slide_collision(Index).collider 530 | # Otherwise, if the current index is more than the number of slides... 531 | else: 532 | # Set the current element to null. 533 | SlideCollisions[Index] = null 534 | 535 | # Loop through touched object list. 536 | for Index in range(Touch_ObjectsTouched.size()): 537 | # If the current element isn't null... 538 | if(Touch_ObjectsTouched[Index] != null): 539 | # Check to see if the current touched object is in the slide collision list. If it isn't... 540 | if(not SlideCollisions.has(Touch_ObjectsTouched[Index])): 541 | # Get rid of it from the touched object list. 542 | Touch_ObjectsTouched[Index] = null 543 | 544 | # Otherwise, if there aren't slide collisions... 545 | else: 546 | # Cast a ray from the player's origin down to a little below his feet. 547 | Ray_SpaceState = get_world().get_direct_space_state() 548 | Ray_From = self.get_global_transform().origin 549 | Ray_To = Ray_From 550 | Ray_To.y -= ((Player_Height * 0.5) * 1.05) 551 | Ray_Result = Ray_SpaceState.intersect_ray(Ray_From,Ray_To,[self]) 552 | 553 | # If there is something there... 554 | if(Ray_Result): 555 | # And if that thing has a touch function... 556 | if(Ray_Result.collider.has_method("Touched_Function")): 557 | #If the list doesn't have the current collider... 558 | if(not Touch_ObjectsTouched.has(Ray_Result.collider)): 559 | # Add it to the list at the first index. 560 | # I hope that doesn't overwrite anything. So far, so good. 561 | Touch_ObjectsTouched[0] = Ray_Result.collider 562 | # Then execute that object's touch function. 563 | Touch_ObjectsTouched[0].Touched_Function() 564 | 565 | # Otherwise, if there isn't anything there... 566 | else: 567 | # Clear the slide collision array. 568 | SlideCollisions.clear() 569 | # Then resize it to the maximum number of slides. 570 | SlideCollisions.resize(MaxSlides) 571 | 572 | # Loop through the slide collision array. 573 | for Index in range(SlideCollisions.size()): 574 | # If the current index number is less than the total slide count... 575 | if(Index < SlideCount): 576 | # Add the current slide to the slide collision array. 577 | SlideCollisions[Index] = get_slide_collision(Index).collider 578 | # Otherwise, if the current index is more than the number of slides... 579 | else: 580 | # Set the current element to null. 581 | SlideCollisions[Index] = null 582 | 583 | # Loop through touched object list. 584 | for Index in range(Touch_ObjectsTouched.size()): 585 | # If the current element isn't null... 586 | if(Touch_ObjectsTouched[Index] != null): 587 | # Check to see if the current touched object is in the slide collision list. If it isn't... 588 | if(not SlideCollisions.has(Touch_ObjectsTouched[Index])): 589 | # Get rid of it from the touched object list. 590 | Touch_ObjectsTouched[Index] = null 591 | 592 | ################################### 593 | # Slope_AffectSpeed(Slide_Number) # 594 | ################################### 595 | # Makes the character walk more slowly up hills and faster down them. 596 | # The character is not affected so much by gravity when walking parallel on the ramp. 597 | func Slope_AffectSpeed(): 598 | # If there is an actual slide collision... 599 | if(SlideCount > 0): 600 | # Check the slide collisions. 601 | for Slide in range(SlideCount): 602 | # If it is a floor... 603 | if(get_slide_collision(Slide).normal.y > MaxFloorAngleNor_Y): 604 | # The code in this section makes the character walk more slowly up hills and faster down them. 605 | # It also makes the character not affected so much by gravity when walking parallel on the ramp. 606 | # So if the character is walking from one side of the ramp to the other, the character isn't 607 | # being pulled down so much. 608 | 609 | # Setup the X and Z axis of the floor normal as a 2D vector for calculations. 610 | Slope_FloorNor2D = Vector2(get_slide_collision(Slide).normal.x, get_slide_collision(Slide).normal.z).normalized() 611 | 612 | # Setup the temporary velocity vector and normalize the result. 613 | Slope_PlayerVelVec2D = Vector2( (TempMoveVel_FWAndBW.x + TempMoveVel_LeftAndRight.x) , (TempMoveVel_FWAndBW.z + TempMoveVel_LeftAndRight.z) ).normalized() 614 | 615 | # Get the dot product of the player's horizontal velocity and the slope's 2D floor normal, after being noramlized. 616 | Slope_DotProduct = Slope_FloorNor2D.normalized().dot(Slope_PlayerVelVec2D) 617 | 618 | # If the player is going down the ramp... 619 | if(Slope_DotProduct > 0): 620 | # Multiply the dot product by a certain amount, so as to make the falling speed stronger, so the character doesn't "step" down the ramp as if it where stairs. 621 | Slope_DotProduct *= Slope_EffectMultiplier_ClimbingDown 622 | #Otherwise, if he is going up the ramp... 623 | else: 624 | # Multiply the slope's dot product by the slope effect multipler, so that the game designer can say how much he wants the slope to affect the player's walking 625 | # velocity. 626 | Slope_DotProduct *= -Slope_EffectMultiplier_ClimbingUp 627 | 628 | # Finally, set the falling speed multiplier. 629 | Falling_Speed_Multiplier = lerp( 630 | Falling_Speed_Multiplier_Default , 631 | 1.0 , 632 | pow( acos( get_slide_collision(Slide).normal.y ) / acos( MaxFloorAngleNor_Y ) * Slope_DotProduct, 2.0) 633 | ) 634 | 635 | 636 | 637 | ###################################################################################################################################################### 638 | # READY # 639 | ###################################################################################################################################################### 640 | func _ready(): 641 | ##################### 642 | # SET PROCESSES # 643 | ##################### 644 | # Unhandled input to be done. 645 | # Unhandled input is any input that is not handled by the GUI(control) or from _input(). 646 | # For instance, pressing space in a textbox won't make your character jump. 647 | #set_process_unhandled_input(true) 648 | set_process_unhandled_input(true) 649 | 650 | # Set the physics to be done. This is now the new _fixed_process() from Godot 2.1. 651 | # This is called according to the physics system's framerate. If it is set to 60 (in 652 | # the project settings of your project) and no slowdown occurs, it will always run 60 times 653 | # a second. 654 | set_physics_process(true) 655 | 656 | ##################### 657 | # INITIALIZATIONS # 658 | ##################### 659 | # These lines in this section initialize several variables and states. 660 | # It's important to set initial variables and states because we don't know for sure 661 | # what state the character is going to be in when starting a scene or respawning. 662 | 663 | #First, we must do "move_and_slide()" so that we can get some of our states. 664 | move_and_slide(Vector3(0.0, 0.0, 0.0), FloorNormal, SlopeStopMinVel, MaxSlides, MaxFloorAngleRad) 665 | 666 | # Collision States # 667 | # Set if the player is on a wall, floor, or ceiling. 668 | State_OnFloor = is_on_floor() 669 | State_OnWalls = is_on_wall() 670 | State_OnCeiling = is_on_ceiling() 671 | 672 | # Falling State # 673 | # Initialize the player as falling. 674 | State_Falling = true 675 | 676 | # If the jump action is not pressed... 677 | if(not Input.is_action_pressed(String_Jump)): 678 | # Say that the jump action is released. 679 | Jump_Released = true 680 | 681 | # Set the initial player position variable. 682 | # Later on in this code, this variable is set before it is used, anyway. But I like to have this here 683 | # as it doesn't cause slowdown or overhead and I may change the code or reference this before that code 684 | # for some reason. 685 | Player_Position = translation 686 | 687 | # Set the global Y position of the players feet. 688 | Player_GlobalFeetPos_Y = Player_Position.y - Player_Height * 0.5 689 | 690 | # If the max step height is more than half the player... 691 | if(Step_MaxHeight > Player_Height * 0.5): 692 | # Set it back to half the player height. 693 | Step_MaxHeight = Player_Height * 0.5 694 | 695 | # Set the default label text. 696 | Debug_Label.set_text(Debug_Label_String) 697 | 698 | #Set the size of the touched objects array according to the maximum number of slides this character will have in its "move_and_slide()" function. 699 | Touch_ObjectsTouched.resize(MaxSlides) 700 | 701 | steps_array.append(step_01) 702 | steps_array.append(step_02) 703 | steps_array.append(step_03) 704 | 705 | 706 | ###################################################################################################################################################### 707 | # UNHANDLED INPUT # 708 | ###################################################################################################################################################### 709 | # This is for any input not handled elsewhere, like if a control node (a GUI node, like a window or something) 710 | # is currently using the mouse, this function will not run. When the GUI node is gone/minimized/no longer 711 | # there, the input will be handled here. 712 | func _unhandled_input(event): 713 | ############# 714 | # MOUSE # 715 | ############# 716 | # If the current event is a mouse movement... 717 | if(event is InputEventMouseMotion): 718 | # If mouselook is enabled... 719 | if(MouseLook): 720 | ##################### 721 | # CALCULATION # 722 | ##################### 723 | # LEFT and RIGHT # 724 | # Set how much the mouse has moved from its last position. 725 | Mouse_Rel_Movement = event.relative 726 | 727 | # Find out what the current local X rotation is of the camera itself. 728 | Cam_Local_Rot_X = rad2deg(Node_Camera3D.get_rotation().x) 729 | 730 | # Add the mouse movement to the local camera X axis rotation. 731 | Cam_Temp_XRot_Var = Cam_Local_Rot_X + -Mouse_Rel_Movement.y 732 | 733 | # If it's too low... 734 | if(Cam_Temp_XRot_Var < -90): 735 | # Set it back to the lower limit. 736 | Final_Cam_Rot_Local_X = Cam_Temp_XRot_Var + 90 + Mouse_Rel_Movement.y 737 | # Else, if it's too high... 738 | elif(Cam_Temp_XRot_Var > 90): 739 | # Set it to the upper limit. 740 | Final_Cam_Rot_Local_X = Cam_Temp_XRot_Var - 90 + Mouse_Rel_Movement.y 741 | # Else, it must be within limits. So... 742 | else: 743 | # Set the final X axis rotation. 744 | Final_Cam_Rot_Local_X = Mouse_Rel_Movement.y 745 | 746 | # Say that the mouse has moved so the player and his camera can be rotated. 747 | Mouse_Moved = true 748 | 749 | 750 | 751 | ###################################################################################################################################################### 752 | # PHYSICS # 753 | ###################################################################################################################################################### 754 | func _physics_process(delta): 755 | #################################################################################################### 756 | # GET INFO # 757 | #################################################################################################### 758 | # First, it is important that we get info on what is happening to our character. 759 | 760 | ##################################### 761 | # FLOOR or WALLS # 762 | ##################################### 763 | # Update if the player is on the floor, wall, or ceiling... 764 | State_OnFloor = is_on_floor() 765 | State_OnWalls = is_on_wall() 766 | State_OnCeiling = is_on_ceiling() 767 | # Get the slide count and put it in this variable. 768 | SlideCount = get_slide_count() 769 | # Update the current player position reference variable. 770 | Player_Position = translation 771 | 772 | ##################################### 773 | # GET ROTATION-DIRECTION NORMALS # 774 | ##################################### 775 | # Get the direction the player is facing in normalized vectors. 776 | DirectionInNormalVec3_FWAndBW = get_global_transform().basis.z 777 | DirectionInNormalVec3_LeftAndRight = get_global_transform().basis.x 778 | 779 | #################################################################################################### 780 | # INPUT # 781 | #################################################################################################### 782 | # Gets input that is pressed and set bools accordingly. 783 | 784 | ######################### 785 | # MOVEMENT # 786 | ######################### 787 | #Set the action bool variables. 788 | Pressed_FW = Input.is_action_pressed(String_FW) 789 | Pressed_BW = Input.is_action_pressed(String_BW) 790 | Pressed_LEFT = Input.is_action_pressed(String_Left) 791 | Pressed_RIGHT = Input.is_action_pressed(String_Right) 792 | 793 | ######################### 794 | # JUMP # 795 | ######################### 796 | # If the jump key was pressed... 797 | if(Input.is_action_pressed(String_Jump)): 798 | # Then say that the jump key has been pressed. 799 | Pressed_Jump = true 800 | # If the player is currently jumping or falling, AND is not on the floor... 801 | if((State_Jumping or State_Falling) and not State_OnFloor): 802 | # Say that the jump key has not been released. 803 | Jump_Released = false 804 | # Otherwise, if the jump key was released... 805 | else: 806 | # Say that the player is not pressing the jump key. 807 | Pressed_Jump = false 808 | # And say that he has released it. 809 | Jump_Released = true 810 | 811 | ##################################### 812 | # SPEED SHIFT # 813 | ##################################### 814 | # If the speed shift key is pressed... 815 | if(Input.is_action_pressed(String_Shift)): 816 | # Multiply the final walk velocity by the speed shift velocity. 817 | FinalWalkVelocity = BaseWalkVelocity * ShiftWalkVelocity_Multiplier 818 | # Say that the shift key is pressed. 819 | Pressed_Shift = true 820 | # Otherwise... 821 | else: 822 | # Set the final walk velocity as the base velocity. 823 | FinalWalkVelocity = BaseWalkVelocity 824 | # 825 | Pressed_Shift = false 826 | 827 | # Set the step saftey margin according to the player's current speed. 828 | Step_SafetyMargin = Step_SafetyMargin_Dividend / (BaseWalkVelocity / FinalWalkVelocity) 829 | 830 | ############################################# 831 | # CAMERA INTERPOLATION LENGTH MODIFIER # 832 | ############################################# 833 | # Set the camera interpolation length according to the speed of the player. 834 | CamInterpo_Length_Secs = BaseWalkVelocity / (CamInterpo_Length_Secs_Multiplicand * (FinalWalkVelocity / 10.0) ) 835 | 836 | ############################################# 837 | # CROSSHAIR: USABLE ITEM # 838 | # AND USE BUTTON # 839 | ############################################# 840 | # This hides or shows the red circle texture on screen if there is a visible item within reach 841 | # of the character, if he's pointing at it. 842 | # Setup and execute a raycast to see if there is a usable item. 843 | Ray_SpaceState = get_world().get_direct_space_state() 844 | Ray_From = Node_Camera3D.get_global_transform().origin 845 | Ray_To = -Node_Camera3D.get_global_transform().basis.z * Ray_UseDist + Ray_From 846 | Ray_Result = Ray_SpaceState.intersect_ray(Ray_From,Ray_To,[self]) 847 | 848 | # If the ray hit something... 849 | if(not Ray_Result.empty()): 850 | #COLLIDER# 851 | # If the colliding object itself has a use function... 852 | if(Ray_Result.collider.has_method("UseFunction")): 853 | # Show the red circle over the crosshair. 854 | Node_Crosshair_Useable.visible=true 855 | # If the player pressed the use button and it was previously released... 856 | if(Input.is_action_just_pressed(String_Use)): 857 | # Set what the position of the ray intersection is. 858 | Use_Ray_IntersectPos = Ray_Result.position 859 | # Use the function of the object intersected. 860 | Ray_Result.collider.UseFunction() 861 | #PARENT# 862 | # Else if its parent has a "UseFunction()" function... 863 | elif(Ray_Result.collider.get_parent().has_method("UseFunction")): 864 | # Show the red circle over the crosshair. 865 | Node_Crosshair_Useable.visible=true 866 | # If the player pressed the use button and it was previously released... 867 | if(Input.is_action_just_pressed(String_Use)): 868 | # Set what the position of the ray intersection is. 869 | Use_Ray_IntersectPos = Ray_Result.position 870 | # Use the function of the object intersected. 871 | Ray_Result.collider.get_parent().UseFunction() 872 | #NO USE FUNCTION# 873 | # Otherwise, if there is no use function... 874 | else: 875 | # Hide the red circle. 876 | Node_Crosshair_Useable.visible=false 877 | # Then reset the ray intersections position. 878 | Use_Ray_IntersectPos = Vector3(0,0,0) 879 | # Else, if the ray hit nothing... 880 | else: 881 | # Hide the red circle. 882 | Node_Crosshair_Useable.visible = false 883 | # Then reset the ray intersections position. 884 | Use_Ray_IntersectPos = Vector3(0,0,0) 885 | 886 | #################################################################################################### 887 | # HORIZONTAL MOVEMENT # 888 | #################################################################################################### 889 | ######################################### 890 | # FORWARD AND BACKWARDS CALCULATIONS # 891 | ######################################### 892 | # If forwards or backwards are pressed, just set the player to move in that direction. 893 | # If both or neither keys are pressed, then set the player to not move at all, e.g. velx=0 and velz=0. 894 | # FORWARDS # 895 | if(Pressed_FW and not Pressed_BW): 896 | TempMoveVel_FWAndBW.x = -DirectionInNormalVec3_FWAndBW.x 897 | TempMoveVel_FWAndBW.z = -DirectionInNormalVec3_FWAndBW.z 898 | player_moving_FWandBW = true 899 | # BACKWARDS # 900 | elif(not Pressed_FW and Pressed_BW): 901 | TempMoveVel_FWAndBW.x = DirectionInNormalVec3_FWAndBW.x 902 | TempMoveVel_FWAndBW.z = DirectionInNormalVec3_FWAndBW.z 903 | player_moving_FWandBW = true 904 | # BOTH # 905 | elif(Pressed_FW and Pressed_BW): 906 | TempMoveVel_FWAndBW.x = 0 907 | TempMoveVel_FWAndBW.z = 0 908 | player_moving_FWandBW = false 909 | # NEITHER # 910 | elif(not Pressed_FW and not Pressed_BW): 911 | TempMoveVel_FWAndBW.x = 0 912 | TempMoveVel_FWAndBW.z = 0 913 | player_moving_FWandBW = false 914 | # FAILSAFE # 915 | #This is a failsafe case. 916 | else: 917 | TempMoveVel_FWAndBW.x = 0 918 | TempMoveVel_FWAndBW.z = 0 919 | player_moving_FWandBW = false 920 | 921 | ######################################### 922 | # LEFT AND RIGHT CALCULATIONS # 923 | ######################################### 924 | # If left or right are pressed, just set the player to move in that direction. 925 | # If both or neither keys are pressed, then set the player to not move at all, e.g. velx=0 and velz=0. 926 | # LEFT # 927 | if(Pressed_LEFT and not Pressed_RIGHT): 928 | TempMoveVel_LeftAndRight.x = -DirectionInNormalVec3_LeftAndRight.x 929 | TempMoveVel_LeftAndRight.z = -DirectionInNormalVec3_LeftAndRight.z 930 | player_moving_LeftAndRight = true 931 | # RIGHT # 932 | elif(not Pressed_LEFT and Pressed_RIGHT): 933 | TempMoveVel_LeftAndRight.x = DirectionInNormalVec3_LeftAndRight.x 934 | TempMoveVel_LeftAndRight.z = DirectionInNormalVec3_LeftAndRight.z 935 | player_moving_LeftAndRight = true 936 | # BOTH # 937 | elif(Pressed_LEFT and Pressed_RIGHT): 938 | TempMoveVel_LeftAndRight.x = 0 939 | TempMoveVel_LeftAndRight.z = 0 940 | player_moving_LeftAndRight = false 941 | # NEITHER # 942 | elif(not Pressed_LEFT and not Pressed_RIGHT): 943 | TempMoveVel_LeftAndRight.x = 0 944 | TempMoveVel_LeftAndRight.z = 0 945 | player_moving_LeftAndRight = false 946 | # FAILSAFE # 947 | #This is a failsafe case. 948 | else: 949 | TempMoveVel_LeftAndRight.x = 0 950 | TempMoveVel_LeftAndRight.z = 0 951 | player_moving_LeftAndRight = false 952 | 953 | ##################################### 954 | # ADD FW/BW and LEFT/RIGHT AXIS # 955 | ##################################### 956 | # Set the final move velocity as both the temporary horizontal vectors, as set above, normalized, and then multiplied by the final walking velocity 957 | # that we want, as set in the "SETTINGS" section. 958 | FinalMoveVel = (TempMoveVel_FWAndBW + TempMoveVel_LeftAndRight).normalized() * FinalWalkVelocity 959 | 960 | #################################################################################################### 961 | # VERTICAL MOVEMENT # 962 | #################################################################################################### 963 | ######################################### 964 | # ON FLOOR # 965 | ######################################### 966 | # If the player is on the floor and falling and wasn't jumping... 967 | if(State_OnFloor and State_Falling and not State_Jumping): 968 | # Say that the falling has stopped. 969 | Falling_IsFalling = false 970 | # Otherwise, if the player is not on the floor and not jumping... 971 | elif(not State_OnFloor and not State_Jumping): 972 | # He is falling. 973 | State_Falling = true 974 | # Otherwise, if the player is on the floor and was jumping, but not falling... 975 | elif(State_OnFloor and State_Jumping and not State_Falling): 976 | # He has landed on the floor after a jump. So... 977 | # Say that he is not jumping anymore as he has landed on the ground. 978 | State_Jumping = false 979 | # Set the current jump velocity to 0. 980 | Jump_CurrentVel = 0 981 | # Say he has started falling. 982 | State_Falling = true 983 | # Set the current falling speed to 0. 984 | Falling_Speed = 0 985 | # Set the current falling time to "now." 986 | Falling_CurrentTime = 0 987 | 988 | ######################################### 989 | # JUMP PRESSED # 990 | ######################################### 991 | # If the jump key was pressed and was previously released... 992 | if(Pressed_Jump and Jump_Released): 993 | # If the character is on the floor... 994 | if(State_OnFloor): 995 | # Say that he has started his jump. 996 | State_Jumping = true 997 | # Not falling. 998 | State_Falling = false 999 | # Reset the jump timer counter. 1000 | Jump_CurrentTime = 0 1001 | 1002 | ######################################### 1003 | # JUMPING # 1004 | ######################################### 1005 | # If the player is jumping and not falling... 1006 | if(State_Jumping and not State_Falling): 1007 | # If he is on the floor... 1008 | if(State_OnFloor): 1009 | # If the player's jump velocity is the same as or less than gravity... 1010 | if(Jump_Vel - Falling_Gravity <= 0): 1011 | # Cancel the jump, as it would do nothing. 1012 | State_Jumping = false 1013 | # Set the current jump vel to 0. 1014 | Jump_CurrentVel = 0 1015 | # Say that he is falling. 1016 | State_Falling = true 1017 | # Set the falling speed to 0, as it has just started. 1018 | Falling_Speed = 0 1019 | # Set the current time of the player falling to "now." 1020 | Falling_CurrentTime = 0 1021 | # Otherwise, if the jump key was released previously... 1022 | elif(Jump_Released): 1023 | # Set the initial velocity of the jump according to the global character variable. 1024 | Jump_CurrentVel = Jump_Vel 1025 | # Set the final Y(vertical) velocity according to the current jump velocity, while subtracting gravity from it. 1026 | FinalMoveVel.y = Jump_CurrentVel + -Falling_Gravity 1027 | # If he is in the air in the middle of a jump... 1028 | elif(not State_OnFloor): 1029 | # And if the jump is not yet over... 1030 | if(Jump_CurrentTime < Jump_Length): 1031 | # If the player has hit his head on a ceiling or something... 1032 | if(State_OnCeiling): 1033 | # Set the current jump velocity to 0. 1034 | Jump_CurrentVel = 0 1035 | # Set the falling speed to 0. 1036 | Falling_Speed = 0 1037 | # Set the current falling time to "now." 1038 | Falling_CurrentTime = 0 1039 | # Say that the jump is over. 1040 | State_Jumping=false 1041 | # Say that the falling has started. 1042 | Falling_IsFalling = true 1043 | # Say that the player is currently falling. 1044 | State_Falling=true 1045 | # Otherwise, if the player isn't hitting the ceiling... 1046 | else: 1047 | # Set the current velocity of the jump according to the current time of the jump, so as to smoothly taper off the jump velocity. 1048 | Jump_CurrentVel = Jump_Vel - (Jump_Vel * ( pow( Jump_CurrentTime / Jump_Length , 2.0))) 1049 | # Increment the jump timer. 1050 | Jump_CurrentTime += delta 1051 | # Set the final Y(vertical) velocity. 1052 | FinalMoveVel.y = Jump_CurrentVel + -Falling_Gravity 1053 | # Otherwise, if the jump is over... 1054 | else: 1055 | # Set the current jump velocity to 0. 1056 | Jump_CurrentVel = 0 1057 | # Set the falling speed to 0. 1058 | Falling_Speed = 0 1059 | # Set the current falling time to "now." 1060 | Falling_CurrentTime = 0 1061 | # Say that the jump is over. 1062 | State_Jumping=false 1063 | # Say that the falling has started. 1064 | Falling_IsFalling = true 1065 | # Say that the player is currently falling. 1066 | State_Falling=true 1067 | 1068 | ######################################### 1069 | # FALLING # 1070 | ######################################### 1071 | # If our character is falling and not jumping... 1072 | if(State_Falling and not State_Jumping): 1073 | # If not on floor... 1074 | if(not State_OnFloor): 1075 | # If the falling speed is less than terminal velocity... 1076 | if(Falling_Speed < Falling_TerminalVel): 1077 | # If the falling has not started yet... 1078 | if(not Falling_IsFalling): 1079 | # Say that it has started. 1080 | Falling_IsFalling = true 1081 | # And set the current falling time to "now". 1082 | Falling_CurrentTime = 0 1083 | # Otherwise, if the falling has already started and the falling timer hasn't passed the time it takes to reach terminal velocity... 1084 | elif(Falling_IsFalling and Falling_CurrentTime < Falling_TimeToHitTerminalVelSec): 1085 | # Update the falling timer. 1086 | Falling_CurrentTime += delta 1087 | 1088 | # If the timer has passed its limit... 1089 | if(Falling_CurrentTime >= Falling_TimeToHitTerminalVelSec): 1090 | # Then set the timer back to its limit. 1091 | Falling_CurrentTime = Falling_TimeToHitTerminalVelSec 1092 | # Otherwise, the falling timer has passed the time it takes to reach terminal velocity. 1093 | else: 1094 | # Set the timer back to its limit. 1095 | Falling_CurrentTime = Falling_TimeToHitTerminalVelSec 1096 | 1097 | # Set final falling speed. 1098 | Falling_Speed = Falling_TerminalVel * pow(Falling_CurrentTime / Falling_TimeToHitTerminalVelSec, 0.4) 1099 | # Otherwise, if the player is on the floor... 1100 | else: 1101 | # If the character is moving... 1102 | if(FinalMoveVel.x != 0 or FinalMoveVel.z != 0): 1103 | # Run the function that makes the character speed affected by the slope. 1104 | Slope_AffectSpeed() 1105 | # Otherwise, if the player is not moving... 1106 | else: 1107 | # Set the falling speed multiplier to the default specified in the settings. 1108 | Falling_Speed_Multiplier = Falling_Speed_Multiplier_Default 1109 | 1110 | # Set the final falling speed multiplier. 1111 | Falling_Speed = Falling_Gravity * Falling_Speed_Multiplier 1112 | 1113 | # Apply final falling velocity. 1114 | FinalMoveVel.y = -Falling_Speed 1115 | 1116 | ##################################################################################################### 1117 | # FINAL MOVEMENT APPLICATION # 1118 | ##################################################################################################### 1119 | ##################### 1120 | # MOUSE ROTATION # 1121 | ##################### 1122 | if(Mouse_Moved): 1123 | # Here the mouse movement is finally applied. 1124 | # Apply the y axis rotation to the character kinematic body. 1125 | # This means rotate the whole character left and right. 1126 | self.rotate_y(deg2rad(-Mouse_Rel_Movement.x) * Cam_RotateSens) 1127 | # Apply the x axis rotation to the camera. 1128 | # And this is rotating _just_ the camera only, up and down on its local X axis. 1129 | Node_Camera3D.rotate_x(deg2rad(-Final_Cam_Rot_Local_X) * Cam_RotateSens) 1130 | 1131 | #Say that the mouse is basically done moving. 1132 | Mouse_Moved = false 1133 | 1134 | ##################### 1135 | # LINEAR MOVEMENT # 1136 | ##################### 1137 | # If character is on floor... 1138 | if(State_OnFloor): 1139 | # Add the floor velocity to the player character's final movement velocity. 1140 | FinalMoveVel += get_floor_velocity() * delta 1141 | 1142 | Debug_Label_String = str(get_floor_velocity()) 1143 | 1144 | var snap = Vector3(0,0,0) 1145 | 1146 | if(Jump_Released == false): 1147 | snap = Vector3(0,0,0) 1148 | else: 1149 | snap = Vector3(0 , (-Player_Height*0.5)-0.1, 0) 1150 | 1151 | # Apply the movement calculations with move_and_slide(). 1152 | move_and_slide(FinalMoveVel, FloorNormal, SlopeStopMinVel, MaxSlides, MaxFloorAngleRad) 1153 | #move_and_slide_with_snap(FinalMoveVel, snap, FloorNormal, true, false, 4, MaxFloorAngleRad) 1154 | 1155 | ######################################### 1156 | # GET STATES # 1157 | ######################################### 1158 | # Update if the player is on the floor, wall, or ceiling. 1159 | # This is nessecary for after the "move_and_slide()" above, as that updates "is_on_floor()", "is_on_wall()", and "is_on_ceiling()". 1160 | State_OnFloor = is_on_floor() 1161 | State_OnWalls = is_on_wall() 1162 | State_OnCeiling = is_on_ceiling() 1163 | # Get the slide count and put it in this variable. 1164 | SlideCount = get_slide_count() 1165 | # Update the current player position reference variable. 1166 | Player_Position = translation 1167 | 1168 | ######################################### 1169 | # STEPS # 1170 | ######################################### 1171 | # Execute the stepping up function. 1172 | Step_Player_Up() 1173 | 1174 | ############################# 1175 | # CAMERA INTERPOLATION # 1176 | ############################# 1177 | #If the stepping function set the camera to be interpolated... 1178 | if(CamInterpo_DoInterpolation == true): 1179 | #Do the camera interpolation and return the modified interpolation time. 1180 | CamInterpo_CurrentTime_Secs = InterpolateCamera(CamInterpo_StartingPos_Local_Y, CamInterpo_CurrentTime_Secs, delta) 1181 | 1182 | ##################################### 1183 | # TOUCH FUNCTION # 1184 | ##################################### 1185 | #Check for and execute any touch functions. 1186 | Touch_CheckAndExecute() 1187 | 1188 | ############################# 1189 | # DEBUG # 1190 | ############################# 1191 | #Set the debug text as the FPS. 1192 | Debug_Label_String = "FPS: " + str(Engine.get_frames_per_second()) 1193 | Debug_Label_String += "\nLOD Processing: " + str(get_tree().get_root().get_node("Main").LOD_Process_Active) 1194 | Debug_Label_String += "\nNumber of LOD Objects: " + str(get_tree().get_root().get_node("Main").LOD_Number) 1195 | Debug_Label_String += "\nOn-Screen Verts: " + str(Performance.get_monitor(Performance.RENDER_VERTICES_IN_FRAME)) 1196 | #Set the debug text. 1197 | Debug_Label.set_text(Debug_Label_String) 1198 | -------------------------------------------------------------------------------- /textures/HUD/crosshair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leiget/LOD-Simple-Example/d84b5e87fc58858f2accfcc3aaa404baba280f6e/textures/HUD/crosshair.png -------------------------------------------------------------------------------- /textures/HUD/crosshair.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/crosshair.png-00d9d2cb448c80705fbe07fdcc34218e.stex" 6 | 7 | [deps] 8 | 9 | source_file="res://textures/HUD/crosshair.png" 10 | dest_files=[ "res://.import/crosshair.png-00d9d2cb448c80705fbe07fdcc34218e.stex" ] 11 | 12 | [params] 13 | 14 | compress/mode=0 15 | compress/lossy_quality=0.7 16 | compress/hdr_mode=0 17 | compress/bptc_ldr=0 18 | compress/normal_map=2 19 | flags/repeat=0 20 | flags/filter=false 21 | flags/mipmaps=false 22 | flags/anisotropic=false 23 | flags/srgb=2 24 | process/fix_alpha_border=true 25 | process/premult_alpha=false 26 | process/HDR_as_SRGB=false 27 | process/invert_color=false 28 | stream=false 29 | size_limit=0 30 | detect_3d=false 31 | svg/scale=1.0 32 | -------------------------------------------------------------------------------- /textures/HUD/crosshair_usable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leiget/LOD-Simple-Example/d84b5e87fc58858f2accfcc3aaa404baba280f6e/textures/HUD/crosshair_usable.png -------------------------------------------------------------------------------- /textures/HUD/crosshair_usable.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/crosshair_usable.png-7b24de00a6bc3d3170c82192640f1ffe.stex" 6 | 7 | [deps] 8 | 9 | source_file="res://textures/HUD/crosshair_usable.png" 10 | dest_files=[ "res://.import/crosshair_usable.png-7b24de00a6bc3d3170c82192640f1ffe.stex" ] 11 | 12 | [params] 13 | 14 | compress/mode=0 15 | compress/lossy_quality=0.7 16 | compress/hdr_mode=0 17 | compress/bptc_ldr=0 18 | compress/normal_map=0 19 | flags/repeat=0 20 | flags/filter=true 21 | flags/mipmaps=false 22 | flags/anisotropic=false 23 | flags/srgb=2 24 | process/fix_alpha_border=true 25 | process/premult_alpha=false 26 | process/HDR_as_SRGB=false 27 | process/invert_color=false 28 | stream=false 29 | size_limit=0 30 | detect_3d=true 31 | svg/scale=1.0 32 | --------------------------------------------------------------------------------