commit 20ab057400fea16ec1b3977be37be6427c0e1ed8 Author: Auke Kok Date: Fri Jan 29 23:56:04 2016 -0800 Initial commit. diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/depends.txt @@ -0,0 +1 @@ +default diff --git a/description b/description new file mode 100644 index 0000000..f10950b --- /dev/null +++ b/description @@ -0,0 +1 @@ +Record flight paths and replay them. diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..a21b15b --- /dev/null +++ b/init.lua @@ -0,0 +1,133 @@ + +--[[ + +Copyright 2016 - Auke Kok + +License: + - Code: WTFPL + - Models and textures: CC-BY-SA-3.0 + +Usage: /give camera:camera + + left click a camera item to start recording. While recording: + - use up/down to accelerate/decelerate + - use jump to brake + - use crouch to stop recording + + right click a camera item to play back a recording. While playing back: + - use crouch to stop playing back + +--]] + +local recordings = {} + +local camera = { + description = "Camera", + physical = false, + visual = "mesh", + mesh = "camera.obj", + textures = { "camera_camera.png" }, + collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, + driver = nil, + mode = 0, + velocity = {x=0, y=0, z=0}, + old_pos = nil, + old_velocity = nil, + pre_stop_dir = nil, + MAX_V = 20, + init = function(self, player, mode) + self.driver = player + self.mode = mode + self.path = {} + end, +} + +function camera:on_step(dtime) + if not self.driver then + self.object:remove() + return + end + local pos = self.object:getpos() + local vel = self.object:getvelocity() + local dir = self.driver:get_look_dir() + + if self.mode == 0 then + -- record + self.path[#self.path + 1] = { + pos = pos, + velocity = vel, + pitch = self.driver:get_look_pitch(), + yaw = self.driver:get_look_yaw() + } + + -- player control of vehicle + -- always modify yaw/pitch to match player + self.object:set_look_pitch(self.driver:get_look_pitch()) + self.object:set_look_yaw(self.driver:get_look_yaw()) + + -- accel/decel/stop + local ctrl = self.driver:get_player_control() + local speed = vector.distance(vector.new(), vel) + if ctrl.up then + -- forward accelerate + speed = math.min(speed + 0.1, 20) + end + if ctrl.down then + -- backward acccelerate + speed = math.max(speed - 0.1, -20) + end + if ctrl.jump then + -- brake + speed = math.max(speed * 0.9, 0.0) + end + if ctrl.sneak then + -- stop recording! + self.driver:set_detach() + minetest.chat_send_player(self.driver:get_player_name(), "Recorded stopped after " .. #self.path .. " points") + recordings[self.driver:get_player_name()] = table.copy(self.path) + self.object:remove() + return + end + self.object:setvelocity(vector.multiply(self.driver:get_look_dir(), speed)) + elseif self.mode == 1 then + -- stop playback ? + local ctrl = self.driver:get_player_control() + if ctrl.sneak or #self.path < 1 then + -- stop playback + self.driver:set_detach() + minetest.chat_send_player(self.driver:get_player_name(), "Playback stopped") + self.object:remove() + return + end + + -- playback + self.object:moveto(self.path[1].pos, true) + self.driver:set_look_yaw(self.path[1].yaw - (math.pi/2)) + self.driver:set_look_pitch(0 - self.path[1].pitch) + self.object:setvelocity(self.path[1].velocity) + table.remove(self.path, 1) + end +end + +minetest.register_entity("camera:camera", camera) + +minetest.register_craftitem("camera:camera", { + description = "Camera", + inventory_image = "camera_item.png", + on_use = function(itemstack, player, pointed_thing) + local object = minetest.add_entity(player:getpos(), "camera:camera") + object:get_luaentity():init(player, 0) + object:setyaw(player:get_look_yaw()) + player:set_attach(object, "", {x=0,y=10,z=0}, {x=0,y=0,z=0}) + end, + on_secondary_use = function(itemstack, player, pointed_thing) + if not recordings[player:get_player_name()] then + return + end + local object = minetest.add_entity(player:getpos(), "camera:camera") + object:get_luaentity():init(player, 1) + object:setyaw(player:get_look_yaw()) + player:set_attach(object, "", {x=5,y=10,z=0}, {x=0,y=0,z=0}) + object:get_luaentity().path = table.copy(recordings[player:get_player_name()]) + end, +}) diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..1a3409c --- /dev/null +++ b/mod.conf @@ -0,0 +1 @@ +name = camera diff --git a/models/camera.obj b/models/camera.obj new file mode 100644 index 0000000..9d9d4a3 --- /dev/null +++ b/models/camera.obj @@ -0,0 +1,607 @@ +# Blender v2.76 (sub 0) OBJ File: 'camera.blend' +# www.blender.org +mtllib camera.mtl +o Cube +v -0.150694 -0.758333 1.146666 +v -0.150694 -0.758333 -0.853334 +v 0.449306 -0.758333 -0.853333 +v 0.449305 -0.758333 1.146667 +v -0.150695 0.441667 1.146666 +v -0.150694 0.441667 -0.853334 +v 0.449306 0.441667 -0.853333 +v 0.449306 0.441667 1.146666 +v -0.150694 -0.178333 0.546667 +v -0.450694 -0.178333 0.546667 +v -0.150694 -0.256369 0.538981 +v -0.450694 -0.256369 0.538981 +v -0.150695 -0.331407 0.516219 +v -0.450694 -0.331406 0.516219 +v -0.150695 -0.400561 0.479255 +v -0.450694 -0.400561 0.479255 +v -0.150695 -0.461176 0.429510 +v -0.450694 -0.461176 0.429510 +v -0.150695 -0.510921 0.368895 +v -0.450695 -0.510921 0.368895 +v -0.150695 -0.547885 0.299740 +v -0.450695 -0.547885 0.299740 +v -0.150695 -0.570647 0.224703 +v -0.450695 -0.570647 0.224703 +v -0.150695 -0.578333 0.146667 +v -0.450695 -0.578333 0.146667 +v -0.150695 -0.570647 0.068631 +v -0.450695 -0.570647 0.068631 +v -0.150695 -0.547885 -0.006406 +v -0.450695 -0.547885 -0.006406 +v -0.150695 -0.510921 -0.075561 +v -0.450695 -0.510921 -0.075561 +v -0.150695 -0.461176 -0.136176 +v -0.450695 -0.461176 -0.136176 +v -0.150695 -0.400561 -0.185921 +v -0.450695 -0.400561 -0.185921 +v -0.150695 -0.331407 -0.222885 +v -0.450695 -0.331407 -0.222885 +v -0.150695 -0.256369 -0.245647 +v -0.450695 -0.256369 -0.245647 +v -0.150695 -0.178333 -0.253333 +v -0.450695 -0.178333 -0.253333 +v -0.150695 -0.100297 -0.245647 +v -0.450695 -0.100297 -0.245647 +v -0.150695 -0.025260 -0.222885 +v -0.450695 -0.025260 -0.222885 +v -0.150695 0.043895 -0.185921 +v -0.450695 0.043895 -0.185921 +v -0.150695 0.104510 -0.136176 +v -0.450695 0.104510 -0.136176 +v -0.150695 0.154255 -0.075561 +v -0.450694 0.154255 -0.075561 +v -0.150695 0.191219 -0.006406 +v -0.450694 0.191219 -0.006406 +v -0.150695 0.213981 0.068631 +v -0.450694 0.213981 0.068631 +v -0.150695 0.221667 0.146667 +v -0.450694 0.221667 0.146667 +v -0.150695 0.213981 0.224703 +v -0.450694 0.213981 0.224703 +v -0.150694 0.191218 0.299741 +v -0.450694 0.191219 0.299741 +v -0.150694 0.154254 0.368895 +v -0.450694 0.154254 0.368895 +v -0.150694 0.104509 0.429510 +v -0.450694 0.104509 0.429510 +v -0.150694 0.043894 0.479255 +v -0.450694 0.043895 0.479255 +v -0.150694 -0.025260 0.516219 +v -0.450694 -0.025260 0.516219 +v -0.150694 -0.100298 0.538981 +v -0.450694 -0.100298 0.538981 +v 0.149305 0.445666 -0.297333 +v 0.149305 0.517666 -0.297333 +v 0.107166 0.445666 -0.301483 +v 0.107166 0.517666 -0.301483 +v 0.066646 0.445666 -0.313775 +v 0.066646 0.517666 -0.313775 +v 0.029302 0.445666 -0.333736 +v 0.029302 0.517666 -0.333736 +v -0.003430 0.445666 -0.360598 +v -0.003430 0.517666 -0.360598 +v -0.030292 0.445666 -0.393330 +v -0.030292 0.517666 -0.393330 +v -0.050253 0.445666 -0.430673 +v -0.050253 0.517666 -0.430673 +v -0.062544 0.445666 -0.471194 +v -0.062544 0.517666 -0.471194 +v -0.066695 0.445666 -0.513333 +v -0.066695 0.517666 -0.513333 +v -0.062544 0.445666 -0.555472 +v -0.062544 0.517666 -0.555472 +v -0.050253 0.445666 -0.595993 +v -0.050253 0.517666 -0.595993 +v -0.030292 0.445666 -0.633336 +v -0.030292 0.517666 -0.633336 +v -0.003430 0.445666 -0.666068 +v -0.003430 0.517666 -0.666068 +v 0.029302 0.445666 -0.692930 +v 0.029302 0.517666 -0.692930 +v 0.066646 0.445666 -0.712891 +v 0.066646 0.517666 -0.712891 +v 0.107166 0.445666 -0.725183 +v 0.107166 0.517666 -0.725183 +v 0.149306 0.445666 -0.729333 +v 0.149306 0.517666 -0.729333 +v 0.191445 0.445666 -0.725183 +v 0.191445 0.517666 -0.725183 +v 0.231965 0.445666 -0.712891 +v 0.231965 0.517666 -0.712891 +v 0.269309 0.445666 -0.692930 +v 0.269309 0.517666 -0.692930 +v 0.302041 0.445666 -0.666068 +v 0.302041 0.517666 -0.666068 +v 0.328903 0.445666 -0.633336 +v 0.328903 0.517666 -0.633336 +v 0.348863 0.445666 -0.595992 +v 0.348863 0.517666 -0.595992 +v 0.361155 0.445666 -0.555472 +v 0.361155 0.517666 -0.555472 +v 0.365305 0.445666 -0.513333 +v 0.365305 0.517666 -0.513333 +v 0.361155 0.445666 -0.471193 +v 0.361155 0.517666 -0.471193 +v 0.348863 0.445666 -0.430673 +v 0.348863 0.517666 -0.430673 +v 0.328903 0.445666 -0.393330 +v 0.328903 0.517666 -0.393330 +v 0.302040 0.445666 -0.360598 +v 0.302040 0.517666 -0.360598 +v 0.269308 0.445666 -0.333735 +v 0.269308 0.517666 -0.333735 +v 0.231965 0.445666 -0.313775 +v 0.231965 0.517666 -0.313775 +v 0.191445 0.445666 -0.301483 +v 0.191445 0.517666 -0.301483 +v 0.429306 0.441667 -0.253334 +v 0.389306 0.721667 -0.153334 +v 0.429306 0.441667 0.546666 +v 0.389306 0.721667 0.446666 +v -0.130694 0.441667 -0.253334 +v 0.009306 0.721667 -0.153334 +v -0.130694 0.441667 0.546666 +v 0.009306 0.721667 0.446666 +vt 0.821170 0.531192 +vt 0.821170 0.000000 +vt 0.985503 0.000000 +vt 0.985503 0.531192 +vt 0.656838 0.531192 +vt 0.656838 0.000000 +vt 0.328621 0.531192 +vt 0.328621 0.000000 +vt 0.164332 0.849804 +vt 0.164332 0.531192 +vt 0.328665 0.531192 +vt 0.328665 0.849804 +vt 0.000000 0.531192 +vt 0.000000 0.000000 +vt 0.000000 0.849804 +vt 0.581737 0.772016 +vt 0.562044 0.772016 +vt 0.561868 0.761254 +vt 0.581561 0.761254 +vt 0.164332 0.924114 +vt 0.082166 0.924114 +vt 0.082166 0.903446 +vt 0.164332 0.903447 +vt 0.082166 0.883676 +vt 0.164332 0.883676 +vt 0.082166 0.865564 +vt 0.164332 0.865564 +vt 0.581796 0.783208 +vt 0.562103 0.783208 +vt 0.082166 0.849804 +vt 0.523385 0.805165 +vt 0.543099 0.805165 +vt 0.543237 0.815083 +vt 0.523524 0.815083 +vt 1.000000 0.681435 +vt 0.917834 0.681435 +vt 0.917834 0.665336 +vt 1.000000 0.665336 +vt 0.917834 0.646969 +vt 1.000000 0.646969 +vt 0.581737 0.794400 +vt 0.562044 0.794400 +vt 0.917834 0.627040 +vt 1.000000 0.627040 +vt 0.523300 0.794403 +vt 0.543013 0.794403 +vt 0.917834 0.606314 +vt 1.000000 0.606314 +vt 0.917834 0.585588 +vt 1.000000 0.585588 +vt 0.581561 0.805162 +vt 0.561868 0.805162 +vt 0.917834 0.565658 +vt 1.000000 0.565658 +vt 0.523271 0.783211 +vt 0.542985 0.783211 +vt 0.917834 0.547291 +vt 1.000000 0.547291 +vt 0.917834 0.531192 +vt 1.000000 0.531192 +vt 0.581276 0.815081 +vt 0.561583 0.815081 +vt 0.082166 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.984241 +vt 0.082166 0.984241 +vt 0.523300 0.772019 +vt 0.543013 0.772019 +vt 0.000000 0.966128 +vt 0.082166 0.966128 +vt 0.000000 0.946358 +vt 0.082166 0.946358 +vt 0.580892 0.823774 +vt 0.561199 0.823774 +vt 0.000000 0.925690 +vt 0.082166 0.925690 +vt 0.523385 0.761257 +vt 0.543099 0.761257 +vt 0.000000 0.904919 +vt 0.082166 0.904919 +vt 0.000000 0.884843 +vt 0.082166 0.884843 +vt 0.561452 0.896212 +vt 0.581165 0.896212 +vt 0.581352 0.904906 +vt 0.561638 0.904906 +vt 0.000000 0.866233 +vt 0.082166 0.866233 +vt 0.523524 0.751338 +vt 0.543237 0.751338 +vt 0.964373 0.893912 +vt 0.882207 0.893912 +vt 0.882207 0.877813 +vt 0.964373 0.877813 +vt 0.561313 0.886294 +vt 0.581027 0.886294 +vt 0.882207 0.859446 +vt 0.964373 0.859446 +vt 0.523710 0.742645 +vt 0.543423 0.742645 +vt 0.882207 0.839516 +vt 0.964373 0.839516 +vt 0.882207 0.818790 +vt 0.964373 0.818790 +vt 0.561228 0.875532 +vt 0.580942 0.875532 +vt 0.882207 0.798064 +vt 0.964373 0.798064 +vt 0.581276 0.751336 +vt 0.561583 0.751336 +vt 0.561199 0.742642 +vt 0.580892 0.742642 +vt 0.882207 0.778134 +vt 0.964373 0.778134 +vt 0.882207 0.759767 +vt 0.964373 0.759767 +vt 0.561199 0.864340 +vt 0.580913 0.864340 +vt 0.882207 0.743668 +vt 0.964373 0.743668 +vt 0.164332 1.000000 +vt 0.082166 0.983571 +vt 0.164332 0.983571 +vt 0.082166 0.964961 +vt 0.164332 0.964962 +vt 0.666269 0.742642 +vt 0.644821 0.742642 +vt 0.623787 0.738580 +vt 0.603974 0.730610 +vt 0.586145 0.719039 +vt 0.570983 0.704313 +vt 0.559072 0.686997 +vt 0.550870 0.667756 +vt 0.546691 0.647330 +vt 0.546697 0.626504 +vt 0.550886 0.606078 +vt 0.559099 0.586837 +vt 0.571020 0.569521 +vt 0.586189 0.554795 +vt 0.604025 0.543224 +vt 0.623843 0.535255 +vt 0.644879 0.531192 +vt 0.666327 0.531192 +vt 0.687361 0.535255 +vt 0.707174 0.543224 +vt 0.725004 0.554795 +vt 0.740165 0.569521 +vt 0.752076 0.586837 +vt 0.760279 0.606078 +vt 0.764457 0.626504 +vt 0.764452 0.647330 +vt 0.760262 0.667756 +vt 0.752049 0.686997 +vt 0.740128 0.704313 +vt 0.724959 0.719039 +vt 0.707123 0.730610 +vt 0.687305 0.738580 +vt 0.164332 0.944885 +vt 0.082166 0.944885 +vt 0.543423 0.823777 +vt 0.523710 0.823777 +vt 0.426938 0.531192 +vt 0.448412 0.531192 +vt 0.469473 0.535255 +vt 0.489312 0.543225 +vt 0.507167 0.554795 +vt 0.522352 0.569521 +vt 0.534282 0.586838 +vt 0.542500 0.606079 +vt 0.542502 0.667758 +vt 0.534285 0.686999 +vt 0.522355 0.704315 +vt 0.507172 0.719042 +vt 0.489317 0.730612 +vt 0.469478 0.738582 +vt 0.448417 0.742645 +vt 0.426944 0.742645 +vt 0.405883 0.738582 +vt 0.386043 0.730612 +vt 0.368188 0.719042 +vt 0.353004 0.704315 +vt 0.341073 0.686999 +vt 0.332855 0.667758 +vt 0.328665 0.647331 +vt 0.328665 0.626505 +vt 0.332853 0.606079 +vt 0.341071 0.586838 +vt 0.353000 0.569521 +vt 0.368184 0.554795 +vt 0.386038 0.543225 +vt 0.405877 0.535255 +vt 0.542988 0.904908 +vt 0.523271 0.904908 +vt 0.523391 0.896215 +vt 0.543109 0.896215 +vt 0.523481 0.886296 +vt 0.543198 0.886296 +vt 0.523536 0.875534 +vt 0.543253 0.875534 +vt 0.523554 0.864342 +vt 0.543271 0.864342 +vt 0.523536 0.853150 +vt 0.543253 0.853150 +vt 0.523481 0.842388 +vt 0.543198 0.842388 +vt 0.523391 0.832470 +vt 0.543109 0.832470 +vt 0.523271 0.823777 +vt 0.542988 0.823777 +vt 0.561638 0.823774 +vt 0.581352 0.823774 +vt 0.581165 0.832467 +vt 0.561452 0.832467 +vt 0.581027 0.842386 +vt 0.561313 0.842386 +vt 0.869063 0.764367 +vt 0.875506 0.773717 +vt 0.879944 0.784108 +vt 0.882207 0.795138 +vt 0.882207 0.806384 +vt 0.879944 0.817414 +vt 0.875506 0.827804 +vt 0.869063 0.837155 +vt 0.860862 0.845107 +vt 0.851219 0.851355 +vt 0.840505 0.855659 +vt 0.829130 0.857853 +vt 0.817533 0.857853 +vt 0.806159 0.855659 +vt 0.795444 0.851355 +vt 0.785801 0.845107 +vt 0.777601 0.837155 +vt 0.771158 0.827804 +vt 0.766720 0.817414 +vt 0.764457 0.806384 +vt 0.764457 0.795138 +vt 0.766720 0.784107 +vt 0.771158 0.773717 +vt 0.777601 0.764366 +vt 0.785801 0.756414 +vt 0.795444 0.750166 +vt 0.806159 0.745862 +vt 0.817533 0.743668 +vt 0.829131 0.743668 +vt 0.840505 0.745862 +vt 0.851220 0.750166 +vt 0.860862 0.756414 +vt 0.561228 0.853148 +vt 0.580942 0.853148 +vt 0.436509 0.850332 +vt 0.426866 0.844084 +vt 0.418665 0.836132 +vt 0.412222 0.826781 +vt 0.407784 0.816391 +vt 0.405522 0.805360 +vt 0.405522 0.794114 +vt 0.407784 0.783084 +vt 0.412222 0.772694 +vt 0.418665 0.763343 +vt 0.426866 0.755391 +vt 0.436509 0.749143 +vt 0.447223 0.744839 +vt 0.458598 0.742645 +vt 0.470195 0.742645 +vt 0.481570 0.744839 +vt 0.492284 0.749143 +vt 0.501927 0.755391 +vt 0.510127 0.763343 +vt 0.516571 0.772694 +vt 0.521009 0.783084 +vt 0.523271 0.794114 +vt 0.523271 0.805360 +vt 0.521009 0.816391 +vt 0.516571 0.826781 +vt 0.510127 0.836132 +vt 0.501927 0.844084 +vt 0.492284 0.850332 +vt 0.481570 0.854636 +vt 0.470195 0.856830 +vt 0.458598 0.856830 +vt 0.447223 0.854636 +vt 0.328665 0.928562 +vt 0.328665 0.769204 +vt 0.405522 0.742645 +vt 0.405522 0.955122 +vt 0.251307 0.987914 +vt 0.251307 0.886988 +vt 0.328665 0.998538 +vt 0.685873 0.928559 +vt 0.685873 0.769202 +vt 0.764457 0.742642 +vt 0.764457 0.955119 +vt 0.173950 0.961355 +vt 0.173950 0.860428 +vt 0.251307 0.849805 +vt 0.251307 0.998538 +vt 0.764457 0.743668 +vt 0.764457 0.531192 +vt 0.917834 0.743668 +vt 0.581796 0.902000 +vt 0.581796 0.742642 +vt 0.685873 0.742642 +vt 0.685873 0.902000 +vn 0.000000 -1.000000 -0.000000 +vn 0.000000 1.000000 0.000000 +vn -1.000000 0.000000 -0.000000 +vn 0.000000 -0.000000 -1.000000 +vn 1.000000 -0.000000 0.000000 +vn -0.000000 0.000000 1.000000 +vn -0.956900 0.000000 -0.290300 +vn 0.000000 -0.098000 0.995200 +vn 0.000000 -0.290300 0.956900 +vn 0.000000 -0.471400 0.881900 +vn -0.995200 0.000000 -0.098000 +vn 0.000000 -0.634400 0.773000 +vn 0.471400 0.000000 -0.881900 +vn 0.000000 -0.773000 0.634400 +vn 0.000000 -0.881900 0.471400 +vn -0.995200 0.000000 0.098000 +vn -0.000000 -0.956900 0.290300 +vn 0.290300 0.000000 -0.956900 +vn -0.000000 -0.995200 0.098000 +vn -0.000000 -0.995200 -0.098000 +vn -0.956900 0.000000 0.290300 +vn -0.000000 -0.956900 -0.290300 +vn 0.098000 0.000000 -0.995200 +vn -0.000000 -0.881900 -0.471400 +vn -0.000000 -0.773000 -0.634400 +vn -0.881900 0.000000 0.471400 +vn -0.000000 -0.634400 -0.773000 +vn -0.098000 0.000000 -0.995200 +vn -0.000000 -0.471400 -0.881900 +vn -0.000000 -0.290300 -0.956900 +vn -0.773000 0.000000 0.634400 +vn -0.000000 -0.098000 -0.995200 +vn -0.290300 0.000000 -0.956900 +vn -0.000000 0.098000 -0.995200 +vn -0.000000 0.290300 -0.956900 +vn -0.634400 0.000000 0.773000 +vn -0.000000 0.471400 -0.881900 +vn -0.471400 0.000000 -0.881900 +vn -0.000000 0.634400 -0.773000 +vn -0.000000 0.773000 -0.634400 +vn -0.471400 0.000000 0.881900 +vn -0.000000 0.881900 -0.471400 +vn -0.634400 0.000000 -0.773000 +vn 0.000000 0.956900 -0.290300 +vn 0.000000 0.995200 -0.098000 +vn -0.290300 0.000000 0.956900 +vn 0.000000 0.995200 0.098000 +vn -0.773000 0.000000 -0.634400 +vn 0.000000 0.956900 0.290300 +vn 0.000000 0.881900 0.471400 +vn -0.098000 0.000000 0.995200 +vn 0.000000 0.773000 0.634400 +vn -0.881900 0.000000 -0.471400 +vn 0.000000 0.634400 0.773000 +vn 0.000000 0.471400 0.881900 +vn 0.000000 0.098000 0.995200 +vn 0.000000 0.290300 0.956900 +vn 0.634400 0.000000 -0.773000 +vn 0.773000 0.000000 -0.634400 +vn 0.881900 0.000000 -0.471400 +vn 0.956900 0.000000 -0.290300 +vn 0.995200 0.000000 -0.098000 +vn 0.995200 0.000000 0.098000 +vn 0.956900 0.000000 0.290300 +vn 0.881900 0.000000 0.471400 +vn 0.773000 0.000000 0.634400 +vn 0.634400 0.000000 0.773000 +vn 0.471400 0.000000 0.881900 +vn 0.098000 0.000000 0.995200 +vn 0.290300 0.000000 0.956900 +vn 0.989900 0.141400 0.000000 +vn 0.000000 0.336300 0.941700 +vn -0.894400 0.447200 0.000000 +vn 0.000000 0.336300 -0.941700 +usemtl Material +s off +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/1/2 8/5/2 7/6/2 6/2/2 +f 1/5/3 5/7/3 6/8/3 2/6/3 +f 2/9/4 6/10/4 7/11/4 3/12/4 +f 3/7/5 7/13/5 8/14/5 4/8/5 +f 5/10/6 1/9/6 4/15/6 8/13/6 +f 91/16/7 92/17/7 94/18/7 93/19/7 +f 9/20/8 10/21/8 12/22/8 11/23/8 +f 11/23/9 12/22/9 14/24/9 13/25/9 +f 13/25/10 14/24/10 16/26/10 15/27/10 +f 89/28/11 90/29/11 92/17/11 91/16/11 +f 15/27/12 16/26/12 18/30/12 17/9/12 +f 109/31/13 110/32/13 112/33/13 111/34/13 +f 17/35/14 18/36/14 20/37/14 19/38/14 +f 19/38/15 20/37/15 22/39/15 21/40/15 +f 87/41/16 88/42/16 90/29/16 89/28/16 +f 21/40/17 22/39/17 24/43/17 23/44/17 +f 107/45/18 108/46/18 110/32/18 109/31/18 +f 23/44/19 24/43/19 26/47/19 25/48/19 +f 25/48/20 26/47/20 28/49/20 27/50/20 +f 85/51/21 86/52/21 88/42/21 87/41/21 +f 27/50/22 28/49/22 30/53/22 29/54/22 +f 105/55/23 106/56/23 108/46/23 107/45/23 +f 29/54/24 30/53/24 32/57/24 31/58/24 +f 31/58/25 32/57/25 34/59/25 33/60/25 +f 83/61/26 84/62/26 86/52/26 85/51/26 +f 33/63/27 34/64/27 36/65/27 35/66/27 +f 103/67/28 104/68/28 106/56/28 105/55/28 +f 35/66/29 36/65/29 38/69/29 37/70/29 +f 37/70/30 38/69/30 40/71/30 39/72/30 +f 81/73/31 82/74/31 84/62/31 83/61/31 +f 39/72/32 40/71/32 42/75/32 41/76/32 +f 101/77/33 102/78/33 104/68/33 103/67/33 +f 41/76/34 42/75/34 44/79/34 43/80/34 +f 43/80/35 44/79/35 46/81/35 45/82/35 +f 79/83/36 80/84/36 82/85/36 81/86/36 +f 45/82/37 46/81/37 48/87/37 47/88/37 +f 99/89/38 100/90/38 102/78/38 101/77/38 +f 47/88/39 48/87/39 50/15/39 49/30/39 +f 49/91/40 50/92/40 52/93/40 51/94/40 +f 77/95/41 78/96/41 80/84/41 79/83/41 +f 51/94/42 52/93/42 54/97/42 53/98/42 +f 97/99/43 98/100/43 100/90/43 99/89/43 +f 53/98/44 54/97/44 56/101/44 55/102/44 +f 55/102/45 56/101/45 58/103/45 57/104/45 +f 75/105/46 76/106/46 78/96/46 77/95/46 +f 57/104/47 58/103/47 60/107/47 59/108/47 +f 95/109/48 96/110/48 98/111/48 97/112/48 +f 59/108/49 60/107/49 62/113/49 61/114/49 +f 61/114/50 62/113/50 64/115/50 63/116/50 +f 73/117/51 74/118/51 76/106/51 75/105/51 +f 63/116/52 64/115/52 66/119/52 65/120/52 +f 93/19/53 94/18/53 96/110/53 95/109/53 +f 65/121/54 66/63/54 68/122/54 67/123/54 +f 67/123/55 68/122/55 70/124/55 69/125/55 +f 12/126/3 10/127/3 72/128/3 70/129/3 68/130/3 66/131/3 64/132/3 62/133/3 60/134/3 58/135/3 56/136/3 54/137/3 52/138/3 50/139/3 48/140/3 46/141/3 44/142/3 42/143/3 40/144/3 38/145/3 36/146/3 34/147/3 32/148/3 30/149/3 28/150/3 26/151/3 24/152/3 22/153/3 20/154/3 18/155/3 16/156/3 14/157/3 +f 71/158/56 72/159/56 10/21/56 9/20/56 +f 69/125/57 70/124/57 72/159/57 71/158/57 +f 111/34/58 112/33/58 114/160/58 113/161/58 +f 9/162/5 11/163/5 13/164/5 15/165/5 17/166/5 19/167/5 21/168/5 23/169/5 25/135/5 27/134/5 29/170/5 31/171/5 33/172/5 35/173/5 37/174/5 39/175/5 41/176/5 43/177/5 45/178/5 47/179/5 49/180/5 51/181/5 53/182/5 55/183/5 57/184/5 59/185/5 61/186/5 63/187/5 65/188/5 67/189/5 69/190/5 71/191/5 +f 113/192/59 114/193/59 116/194/59 115/195/59 +f 115/195/60 116/194/60 118/196/60 117/197/60 +f 117/197/61 118/196/61 120/198/61 119/199/61 +f 119/199/62 120/198/62 122/200/62 121/201/62 +f 121/201/63 122/200/63 124/202/63 123/203/63 +f 123/203/64 124/202/64 126/204/64 125/205/64 +f 125/205/65 126/204/65 128/206/65 127/207/65 +f 127/207/66 128/206/66 130/208/66 129/209/66 +f 129/210/67 130/211/67 132/212/67 131/213/67 +f 131/213/68 132/212/68 134/214/68 133/215/68 +f 116/216/2 114/217/2 112/218/2 110/219/2 108/220/2 106/221/2 104/222/2 102/223/2 100/224/2 98/225/2 96/226/2 94/227/2 92/228/2 90/229/2 88/230/2 86/231/2 84/232/2 82/233/2 80/234/2 78/235/2 76/236/2 74/237/2 136/238/2 134/239/2 132/240/2 130/241/2 128/242/2 126/243/2 124/244/2 122/245/2 120/246/2 118/247/2 +f 135/248/69 136/249/69 74/118/69 73/117/69 +f 133/215/70 134/214/70 136/249/70 135/248/70 +f 113/250/1 115/251/1 117/252/1 119/253/1 121/254/1 123/255/1 125/256/1 127/257/1 129/258/1 131/259/1 133/260/1 135/261/1 73/262/1 75/263/1 77/264/1 79/265/1 81/266/1 83/267/1 85/268/1 87/269/1 89/270/1 91/271/1 93/272/1 95/273/1 97/274/1 99/275/1 101/276/1 103/277/1 105/278/1 107/279/1 109/280/1 111/281/1 +f 138/282/71 140/283/71 139/284/71 137/285/71 +f 140/286/72 144/287/72 143/12/72 139/288/72 +f 144/289/73 142/290/73 141/291/73 143/292/73 +f 142/293/74 138/294/74 137/295/74 141/296/74 +f 137/297/1 139/298/1 143/59/1 141/299/1 +f 142/300/2 144/301/2 140/302/2 138/303/2 diff --git a/textures/camera_camera.png b/textures/camera_camera.png new file mode 100644 index 0000000..f0359bc Binary files /dev/null and b/textures/camera_camera.png differ diff --git a/textures/camera_item.png b/textures/camera_item.png new file mode 100644 index 0000000..8583882 Binary files /dev/null and b/textures/camera_item.png differ