{"id":438,"date":"2015-11-18T21:46:27","date_gmt":"2015-11-19T03:46:27","guid":{"rendered":"http:\/\/blogs.discovery.wisc.edu\/vr2015\/?p=438"},"modified":"2015-11-18T21:46:27","modified_gmt":"2015-11-19T03:46:27","slug":"team-object-update-week-4","status":"publish","type":"post","link":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/2015\/11\/18\/team-object-update-week-4\/","title":{"rendered":"Team Object &#8211; Update Week 4"},"content":{"rendered":"<p><strong>Individual Efforts<\/strong><\/p>\n<p><em>Andrew<\/em><\/p>\n<p>&#8220;I created a main menu UI that works with the existing Network Manager, so it has a nicer appearance, and is visible when wearing the Oculus Rift. \u00a0It involved writing a new script to use the network manager script, and learning how canvases worked with panels and buttons, and how to make them Oculus-compatible (which turns out, they need to actually exist in world space, so I just made a new scene that acts as a main menu). \u00a0Thus, I was able to perform network testing with the Oculus Rift, and it worked! \u00a0Furthermore, I added sprint and jump functionality to the Player Controller and Player Motor scripts, so we have more game functionality, and still have Network compatibility. \u00a0Lastly, I organized all of our project files, and after a few (disastrous) attempts, I managed to get a &#8220;final&#8221; project template of what we have so far, and put the entire project on GitHub so everyone is working with an up-to-date version of the project.&#8221;<\/p>\n<div id=\"attachment_442\" style=\"width: 1034px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Main.png\"><img aria-describedby=\"caption-attachment-442\" loading=\"lazy\" class=\"size-large wp-image-442\" src=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Main-1024x587.png\" alt=\"Not too fancy, but can be improved upon later.\" width=\"1024\" height=\"587\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Main-1024x587.png 1024w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Main-300x172.png 300w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Main.png 1342w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-442\" class=\"wp-caption-text\">Not too fancy, but can be improved upon later.<\/p><\/div>\n<p><em>Sizhuo<\/em><\/p>\n<p>&#8220;This week I spent most of the time making my scripts work over the network. Unity has high-level APIs that make the synchronization of value types (bools, floats)\u00a0very easy, but it is trickier to synchronize complex objects, like a mesh. My solution is when a player is to turn into an object, the id of the player and the object model is sent to the server, and the server broadcasts that message to every client to tell them replace the model locally. Also I added a gunshot effect using particle systems.&#8221;<\/p>\n<p>&nbsp;<\/p>\n<p><em>Grayson<\/em><\/p>\n<p>I have been working more on the population in the game as well as making sure all items are not only in the correct place, but have colliders as well. Part of this is also making sure a player\u00a0cannot glitch somewhere inside the map, or get to an unreachable area with the props. After this,\u00a0I\u00a0need to work on is the start of a default character model so as to not glitch through the prefabs in the scene. Not only will this look better than a floating sphere, it will give the player a better view of the map while playing as a person at a normal height rather than moving against the ground.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.33.46-PM.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-443\" src=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.33.46-PM-1024x640.png\" alt=\"Screen Shot 2015-11-18 at 9.33.46 PM\" width=\"1024\" height=\"640\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.33.46-PM-1024x640.png 1024w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.33.46-PM-300x188.png 300w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a> <a href=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.34.08-PM.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-444\" src=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.34.08-PM-1024x640.png\" alt=\"Screen Shot 2015-11-18 at 9.34.08 PM\" width=\"1024\" height=\"640\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.34.08-PM-1024x640.png 1024w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.34.08-PM-300x188.png 300w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a> <a href=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.34.48-PM.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-445\" src=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.34.48-PM-1024x640.png\" alt=\"Screen Shot 2015-11-18 at 9.34.48 PM\" width=\"1024\" height=\"640\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.34.48-PM-1024x640.png 1024w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.34.48-PM-300x188.png 300w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a> <a href=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.35.30-PM.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-446\" src=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.35.30-PM-1024x640.png\" alt=\"Screen Shot 2015-11-18 at 9.35.30 PM\" width=\"1024\" height=\"640\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.35.30-PM-1024x640.png 1024w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.35.30-PM-300x188.png 300w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a> <a href=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.35.36-PM.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-447\" src=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.35.36-PM-1024x640.png\" alt=\"Screen Shot 2015-11-18 at 9.35.36 PM\" width=\"1024\" height=\"640\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.35.36-PM-1024x640.png 1024w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/11\/Screen-Shot-2015-11-18-at-9.35.36-PM-300x188.png 300w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Accomplishments Made by Team<\/strong><\/p>\n<p>We have everyone updated on the project, which is a huge plus. \u00a0One worry we had was that our files would not work together once they were in the same project, and that was if we could even get all the files into one project without many compiler errors. \u00a0This was a huge task, and it is finished. \u00a0Also, the environment is much more resembling a game at this point, and not an undeveloped template. \u00a0Assets such as props, decor, and even &#8220;the little things&#8221; that make the house a &#8220;house&#8221; have been added, so that a player can feel much more immersed in the game. \u00a0Although we said we had a functioning game last week, we still lacked some basic gameplay stuff, which Sizhuo is constantly adding to. \u00a0With the addition of gun particle effects and network state updates, the game is even closer to a finished product. \u00a0We are definitely at the state of testing (once teams can be made, though we could just make it a free-for-all at this point).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Problems<\/strong><\/p>\n<p>Grayson needs to look into colliders, as with our current player controller we can run through some walls, and fall through stairs. \u00a0The cause of this is unknown at the moment, so we are unsure at the severity of the issue (it could be a 5 minute fix, or a complete reconstruction of our colliders, which in that case we may need to look into work-arounds, as we are pretty far into environmental development, we don&#8217;t have too much time to redo things).<\/p>\n<p>Sizhuo ran into serious issues with update the player&#8217;s image across the network. \u00a0He found a very innovative issue, with sending id information to every client, and manually update the player&#8217;s appearance client side.<\/p>\n<p>Andrew realized that making a UI that works in conjunction with the Network Manager is incredibly difficult\/annoying, as it involves writing a new script to manually call functions in the hidden Network Manager script, so that the UI can have the same functionality as the default Network Manager HUD. \u00a0Also, we have an issue where our player gets a &#8220;double jump&#8221; instead of a single jump, which might be kept because it works well within the game. \u00a0Also, Andrew found out the pains of GitHub when version control isn&#8217;t managed, and thousands of meta\/runtime files are created and attempted to be replaced within the repository, so this problem was solved by manually sorting all the files, then creating a new repository to hold the entire project.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Plans for Next Week<\/strong><\/p>\n<p>Andrew will look into creating an in-game UI (that may just be text based, we will see) to display player health, what team they are on, time left in the round, and maybe other useful information. \u00a0If there is time, he might also look into how GitHub manages merging of files with Unity-based assets, though this route may be avoided.<\/p>\n<p>Grayson will continue to work on the environment, by added more props to the scene, as well as looking into\/fixing collider issues withing the house. \u00a0He will also look into the default player model, to finalize player movement and perspective in the game.<\/p>\n<p>Sizhuo will continue working on various scripts. \u00a0Some scripts, like the script for opening doors, has not been implemented yet, so he will begin that. \u00a0He may also look into making teams for the players, as well as respawning players when they run out of health.<\/p>\n<p>&nbsp;<\/p>\n<p>Most importantly, we plan on meeting this weekend to do playtesting across a network with multiple clients, to see if all current functionality is working. \u00a0Since we have an Oculus, we can also extensively test how object changed will affect camera view, and so on. \u00a0We believe we are still on track, and everyone is doing an excellent job with their parts!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Individual Efforts Andrew &#8220;I created a main menu UI that works with the existing Network Manager, so it has a nicer appearance, and is visible when wearing the Oculus Rift. \u00a0It involved writing a new script to use the network manager script, and learning how canvases worked with panels and buttons, and how to make [&hellip;]<\/p>\n","protected":false},"author":115,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/posts\/438"}],"collection":[{"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/users\/115"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/comments?post=438"}],"version-history":[{"count":1,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/posts\/438\/revisions"}],"predecessor-version":[{"id":448,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/posts\/438\/revisions\/448"}],"wp:attachment":[{"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/media?parent=438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/categories?post=438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/tags?post=438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}