{"componentChunkName":"component---src-templates-blog-post-js","path":"/unity-vr-movement/","result":{"data":{"site":{"siteMetadata":{"title":"Soggy Ink Games","author":"Soggy Ink Games"}},"markdownRemark":{"id":"731e9e32-34be-5ce5-b00f-17382a34880d","excerpt":"Unity VR movement Transform.Translate() Lets say we are walking around our world. Declaration Moves the transform by x along the x axis, y along the y axis, and…","html":"<h1>Unity VR movement</h1>\n<h3>Transform.Translate()</h3>\n<p>Lets say we are walking around our world.</p>\n<h4>Declaration</h4>\n<p>Moves the transform by x along the x axis, y along the y axis, and z along the z axis.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">public <span class=\"token keyword\">void</span> <span class=\"token function\">Translate</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">float</span> x<span class=\"token punctuation\">,</span> <span class=\"token keyword\">float</span> y<span class=\"token punctuation\">,</span> <span class=\"token keyword\">float</span> z<span class=\"token punctuation\">,</span> Space relativeTo <span class=\"token operator\">=</span> Space<span class=\"token punctuation\">.</span>Self<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>If <code class=\"language-text\">relativeTo</code> is left out or set to Space.Self the movement is applied relative to the transform’s local axes. (the x, y and z axes shown when selecting the object inside the Scene View.) If relativeTo is Space.World the movement is applied relative to the world coordinate system.</p>\n<p>for example if we are moving in VR land by holding our joysticks and moving them up and down, simulating running movement and we only change the value on the z axis with no forth arg aka relativeTo. we would be moving forward aka along the z axis, not relative to the space (this works, but we might want more control)</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">public Transform leftAnchor<span class=\"token punctuation\">;</span>\npublic Transform rightAnchor<span class=\"token punctuation\">;</span>\nbool LeftControllerIsOnTop<span class=\"token punctuation\">;</span>\npublic Camera mainCam<span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">void</span> <span class=\"token function\">Start</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n  mainCam <span class=\"token operator\">=</span> Camera<span class=\"token punctuation\">.</span>main<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">void</span> <span class=\"token function\">Update</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>LeftControllerIsOnTop <span class=\"token operator\">&amp;&amp;</span> leftAnchor<span class=\"token punctuation\">.</span>position<span class=\"token punctuation\">.</span>y <span class=\"token operator\">></span> rightAnchor<span class=\"token punctuation\">.</span>position<span class=\"token punctuation\">.</span>y<span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"MovePlayer\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    transform<span class=\"token punctuation\">.</span><span class=\"token function\">Translate</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token operator\">-</span><span class=\"token number\">.02f</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    LeftControllerIsOnTop <span class=\"token operator\">=</span> true<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>LeftControllerIsOnTop <span class=\"token operator\">&amp;&amp;</span> leftAnchor<span class=\"token punctuation\">.</span>position<span class=\"token punctuation\">.</span>y <span class=\"token operator\">&lt;</span> rightAnchor<span class=\"token punctuation\">.</span>position<span class=\"token punctuation\">.</span>y<span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"MovePlayer\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    transform<span class=\"token punctuation\">.</span><span class=\"token function\">Translate</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token operator\">-</span><span class=\"token number\">.02f</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    ControllerIsOnTop <span class=\"token operator\">=</span> false<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p><img src=\"./vr.jpg\" alt=\"Don&#x27;t stop\"></p>","frontmatter":{"title":"Unity VR movement","date":"May 07, 2019","description":"Elevating in this saturated environment, soggy from the waves, learning with every failure and from the ashes WE RISE","thumbnail":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAeABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAQL/xAAXAQADAQAAAAAAAAAAAAAAAAACAwQB/9oADAMBAAIQAxAAAAHuS6OqZI0ymheuNEpoDf/EABkQAQEBAQEBAAAAAAAAAAAAAAEAAhESIf/aAAgBAQABBQLkn2bxo2kyTds2n0//xAAYEQEBAQEBAAAAAAAAAAAAAAABABECIv/aAAgBAwEBPwHjzDsakN//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAbEAACAQUAAAAAAAAAAAAAAAAAESABAhAhUf/aAAgBAQAGPwKDrc8PpqDP/8QAGxAAAwEBAAMAAAAAAAAAAAAAAAERITFRYaH/2gAIAQEAAT8heTmIfQsivBBiOpBF3o9isGxs4qH/2gAMAwEAAgADAAAAEH/Q8P/EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAgBAwEBPxBpVgGx1MAZf//EABgRAQADAQAAAAAAAAAAAAAAAAEAEBEh/9oACAECAQE/EHWtA7Gf/8QAHBABAAMBAAMBAAAAAAAAAAAAAQARIUExUXHR/9oACAEBAAE/ELoYY+x3EAgmLqayzT9/kLHux5VUW/U8hB6diVK013JlZUPB6l1YWmrhM9aw3k//2Q==","aspectRatio":0.6666666666666666,"src":"/static/64ae11418bbabd54b6fad83eaf70ce7e/ac53a/vr.jpg","srcSet":"/static/64ae11418bbabd54b6fad83eaf70ce7e/722c4/vr.jpg 340w,\n/static/64ae11418bbabd54b6fad83eaf70ce7e/1d671/vr.jpg 680w,\n/static/64ae11418bbabd54b6fad83eaf70ce7e/ac53a/vr.jpg 1360w,\n/static/64ae11418bbabd54b6fad83eaf70ce7e/6eda9/vr.jpg 2040w,\n/static/64ae11418bbabd54b6fad83eaf70ce7e/eb7b7/vr.jpg 2720w,\n/static/64ae11418bbabd54b6fad83eaf70ce7e/c9eed/vr.jpg 4346w","sizes":"(max-width: 1360px) 100vw, 1360px"}}}}}},"pageContext":{"slug":"/unity-vr-movement/","previous":{"fields":{"slug":"/blender-procedural-asset-creation/"},"frontmatter":{"title":"Blender Procedural Asset Creation","tags":["Blender","3D Assets","Geometry Nodes"]}},"next":{"fields":{"slug":"/unity-terrain/"},"frontmatter":{"title":"Unity Terrain","tags":null}}}},"staticQueryHashes":["63159454"]}