{"id":434878,"date":"2018-05-01T07:02:16","date_gmt":"2018-05-01T07:02:16","guid":{"rendered":"https:\/\/essaypaper.org\/how-to-create-your-own-3d-world-in-unity-example\/"},"modified":"2018-10-24T08:55:31","modified_gmt":"2018-10-24T08:55:31","slug":"how-to-create-your-own-3d-world-in-unity-example","status":"publish","type":"post","link":"https:\/\/www.benedictsol.com\/blogs\/how-to-create-your-own-3d-world-in-unity-example\/","title":{"rendered":"How to Create Your Own 3D World in Unity (Example)"},"content":{"rendered":"<div>\n<blockquote>\n<p><em>If you wish to become a creator of 2D and 3D games, you should know how to create worlds and place objects. In this example our expert will tell you how to create your own 3D world using Unity software. Here you can read scripts for doors, the rotation of objects, and for an audio player for sounds when the action is complete.<\/em><\/p>\n<p><em>Many students are assigned to write a 3D videogame during programming classes related to computer graphics. If you have no time for working on a computer graphics assignment or simply have something more important to do, you can use the services of Assignment.Essayshark. We know how some technical disciplines are difficult to understand, and such assignments that ask you to create your own 3D world can turn your life into a disaster. Our experts are able to finish any project, even if the deadline is tomorrow. If you are aiming to be on time with assignments in every discipline and maintain high grades, you should use our services immediately! Our experts strictly follow all deadlines and due dates, as we know how important it is for our clients. If you stay unsatisfied with the completed work, you can always ask for correction. You will pay only for work that adheres to your requirements. We are available 24\/7 \u2013 no need to wait to make an order!<\/em><\/p>\n<\/blockquote>\n<h3><b>Aims<\/b><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Develop a 3D interactive world.<\/span><\/li>\n<\/ul>\n<h3><b>Learning Outcomes<\/b><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Design and create a simple 3D world.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u00a0Populate it with objects.<\/span><\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<h3><b>Create a 3D World<\/b><\/h3>\n<p>\u00a0<\/p>\n<p><span style=\"font-weight: 400;\">First we need to create the room \u2013 the model and textures. Download some free textures using Google and create the model. To do it, the first thing we need to is to create a cube:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8704 size-full\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_1.png\" alt=\"\" width=\"788\" height=\"525\"  \/><\/p>\n<p><span style=\"font-weight: 400;\">Then, resize it to look like a wall:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8702 size-full\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_2.png\" alt=\"\" width=\"615\" height=\"437\"  \/><\/p>\n<p><span style=\"font-weight: 400;\">Duplicate it several times and create some kind of building:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8700 size-full\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_3.png\" alt=\"\" width=\"629\" height=\"419\"  \/><\/p>\n<p><span style=\"font-weight: 400;\">Add the texture images:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8698 size-full\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_4.png\" alt=\"\" width=\"457\" height=\"173\"  \/><\/p>\n<p><span style=\"font-weight: 400;\">Then, we should set up the sources of light using the light component:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8696 size-full\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_5.png\" alt=\"\" width=\"278\" height=\"327\"  \/><\/p>\n<p><span style=\"font-weight: 400;\">Then, we add the first person controller to be able to explore the world:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8694 size-full\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_6.png\" alt=\"\" width=\"209\" height=\"309\"  \/><\/p>\n<p><span style=\"font-weight: 400;\">Add the door and write a script for it:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-8692\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_7.png\" alt=\"\" width=\"167\" height=\"103\"\/><\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">&#13;\nDoor.cs:&#13;\n&#13;\nusing UnityEngine;&#13;\nusing System.Collections;&#13;\n&#13;\npublic class Door : MonoBehaviour {&#13;\n\t\/\/ how smooth the door opens&#13;\n\tfloat smoothness = 2.0f;&#13;\n\tprivate bool open;&#13;\n&#13;\n\t\/\/ rotation of closed door&#13;\n\tprivate Vector3 closeRot;&#13;\n\t\/\/ rotation of opened door&#13;\n\tprivate Vector3 openRot;&#13;\n\t\/\/ pivot of door rotation&#13;\n\tprivate Transform pivot;&#13;\n&#13;\n\tvoid Start(){&#13;\n\t\t\/\/ get closed and opened door rotaions&#13;\n\t\tcloseRot = transform.eulerAngles;&#13;\n\t\topenRot = new Vector3 (closeRot.x, closeRot.y + 90.0f, closeRot.z);&#13;\n\t\t\/\/ pivot of rotaion is the only child&#13;\n\t\tpivot = transform.GetChild (0);&#13;\n\t}&#13;\n&#13;\n\tvoid Update (){&#13;\n\t\tif(open){&#13;\n\t\t\t\/\/Open door&#13;\n\t\t\tpivot.eulerAngles = Vector3.Slerp(pivot.eulerAngles, openRot, Time.deltaTime * smoothness);&#13;\n\t\t}else{&#13;\n\t\t\t\/\/Close door&#13;\n\t\t\tpivot.eulerAngles = Vector3.Slerp(pivot.eulerAngles, closeRot, Time.deltaTime * smoothness);&#13;\n\t\t}&#13;\n\t}&#13;\n&#13;\n\t\/\/ activates when collider enters the trigger&#13;\n\tvoid OnTriggerEnter (Collider other){&#13;\n\t\t\/\/ when the player is near the door - open it&#13;\n\t\tif (other.gameObject.tag == \"Player\") {&#13;\n\t\t\topen = true;&#13;\n\t\t}&#13;\n\t}&#13;\n&#13;\n\t\/\/ activates when collider exits the trigger&#13;\n\tvoid OnTriggerExit (Collider other){&#13;\n\t\t\/\/ when the player is far from the door - close it&#13;\n\t\tif (other.gameObject.tag == \"Player\") {&#13;\n\t\t\topen = false;&#13;\n\t\t}&#13;\n\t}&#13;\n}&#13;\n&#13;\n<\/pre>\n<p class=\"c4\"><span class=\"c5 c3\">Download and add some showpieces and pictures, and add them to our building:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8690 size-full\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_8.png\" alt=\"\" width=\"573\" height=\"129\"  \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8688 size-full\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_9.png\" alt=\"\" width=\"399\" height=\"117\"  \/><\/p>\n<p class=\"c4\"><span class=\"c5 c3\">Write a script for rotation:<\/span><\/p>\n<p>\u00a0<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">&#13;\nusing UnityEngine;&#13;\n&#13;\nusing System.Collections;&#13;\n&#13;\n&#13;\npublic class Showpiece : MonoBehaviour {&#13;\n&#13;\n        \/\/ time of showpiece full spin in seconds&#13;\n&#13;\n        public float spinTime = 10f;&#13;\n&#13;\n&#13;\n        \/\/ Use this for initialization&#13;\n&#13;\n        void Start () {&#13;\n&#13;\n        &#13;\n&#13;\n        }&#13;\n&#13;\n        &#13;\n&#13;\n        \/\/ Update is called once per frame&#13;\n&#13;\n        void Update () {&#13;\n&#13;\n                \/\/ spinning showpiece in time&#13;\n&#13;\n                transform.Rotate(0, Time.deltaTime * 360 \/ spinTime, 0, Space.World);&#13;\n&#13;\n        }&#13;\n&#13;\n}&#13;\n<\/pre>\n<p class=\"c4\"><span class=\"c5 c3\">And now, we will add the capability to examine the showpiece using the \u201cE\u201d button:<\/span><\/p>\n<p>\u00a0<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">&#13;\nusing UnityEngine;&#13;\n&#13;\nusing System.Collections;&#13;\n&#13;\nusing UnityEngine.UI;&#13;\n&#13;\nusing UnityStandardAssets.Characters.FirstPerson;&#13;\n&#13;\n&#13;\npublic class ShowpieceExplorer : MonoBehaviour {&#13;\n&#13;\n        \/\/ mask to filter layers for raycasting&#13;\n&#13;\n        public LayerMask mask;&#13;\n&#13;\n        \/\/ ui text for showing \"Press E to explore\"&#13;\n&#13;\n        public Text notifyText;&#13;\n&#13;\n        \/\/ image for showpiece description&#13;\n&#13;\n        public GameObject exploreImage;&#13;\n&#13;\n        \/\/ flag to show if player is exploring some showpiece&#13;\n&#13;\n        private bool isExploring = false;&#13;\n&#13;\n        &#13;\n&#13;\n        \/\/ Update is called once per frame&#13;\n&#13;\n        void Update () {&#13;\n&#13;\n                \/\/ clear text that tells to press E key for exploring&#13;\n&#13;\n                notifyText.text = \"\";        &#13;\n&#13;\n                \/\/ if not exploring any showpiece&#13;\n&#13;\n                if (!isExploring) {                                &#13;\n&#13;\n                        RaycastHit hit;&#13;\n&#13;\n                        \/\/ casting a ray from the main camera position on 2 units to check if something is in front of the player&#13;\n&#13;\n                        if (Physics.Raycast (Camera.main.transform.position, Camera.main.transform.forward, out hit, 2f, mask)) {&#13;\n&#13;\n                                \/\/ check if player is looking at showpiece&#13;\n&#13;\n                                if (hit.collider.tag == \"Showpiece\") {&#13;\n&#13;\n                                        \/\/ display text that tells to press E key for exploring&#13;\n&#13;\n                                        notifyText.text = \"Press E to explore\";&#13;\n&#13;\n                                        \/\/ if E key is pressed&#13;\n&#13;\n                                        if (Input.GetKeyDown (KeyCode.E)) {&#13;\n&#13;\n                                                \/\/ set exploring state true&#13;\n&#13;\n                                                isExploring = true;&#13;\n&#13;\n                                                \/\/ get showpiece name&#13;\n&#13;\n                                                string name = hit.collider.name;&#13;\n&#13;\n                                                \/\/ get descriptive text from the file&#13;\n&#13;\n                                                string text = System.IO.File.ReadAllText(@\"ShowpieceDescription\" + name + \".txt\");&#13;\n&#13;\n                                                \/\/ set descriptive text and show it&#13;\n&#13;\n                                                exploreImage.GetComponentInChildren&lt;Text&gt;().text = text;                                                        &#13;\n&#13;\n                                                exploreImage.SetActive(true);                                                                                                                &#13;\n&#13;\n                                                \/\/ freeze player&#13;\n&#13;\n                                                GetComponent&lt;FirstPersonController&gt; ().enabled = false;                &#13;\n&#13;\n                                        }&#13;\n&#13;\n                                }&#13;\n&#13;\n                        }&#13;\n&#13;\n                \/\/ if player is exploring some showpiece&#13;\n&#13;\n                } else {&#13;\n&#13;\n                        \/\/ if E key is pressed while exploring&#13;\n&#13;\n                        if (Input.GetKeyDown (KeyCode.E)) {&#13;\n&#13;\n                                \/\/ set exploring state false&#13;\n&#13;\n                                isExploring = false;&#13;\n&#13;\n                                \/\/ hide descriptive text&#13;\n&#13;\n                                exploreImage.SetActive(false);&#13;\n&#13;\n                                \/\/ release player&#13;\n&#13;\n                                GetComponent&lt;FirstPersonController&gt; ().enabled = true;&#13;\n&#13;\n                        }&#13;\n&#13;\n                }&#13;\n&#13;\n        }&#13;\n&#13;\n}&#13;\n<\/pre>\n<p>Then we add the coin element and put it to each showpiece:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-8686\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_10.png\" alt=\"\" width=\"173\" height=\"97\"\/><\/p>\n<p class=\"c4\"><span class=\"c5 c3\">Write a script for all of them to rotate and be collectable:<\/span><\/p>\n<p>\u00a0<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">&#13;\n&#13;\nusing\u00a0UnityEngine;&#13;\n&#13;\nusing\u00a0System.Collections;&#13;\n&#13;\npublic\u00a0class\u00a0Stamp\u00a0:\u00a0MonoBehaviour\u00a0{&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ stamp collector script&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0private\u00a0StampCollector\u00a0collector;&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ time of stamp full spin in seconds&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0public\u00a0float\u00a0spinTime = 2f;&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Use this for initialization&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0void\u00a0Start () {&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ find stamp collector script in the scene&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0collector =\u00a0GameObject.FindGameObjectWithTag (\"GameController\").GetComponent&lt;StampCollector&gt; ();&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Update is called once per frame&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0void\u00a0Update () {&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ spinning and moving stamp in time&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0transform.Rotate(0,\u00a0Time.deltaTime * 360 \/ spinTime, 0,\u00a0Space.World);&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0transform.localPosition =\u00a0new\u00a0Vector3\u00a0(0, 0, 0.2f *\u00a0Mathf.Sin(Mathf.PI * 2 *\u00a0Time.time \/ spinTime));&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ OnTriggerEnter is called when some collider hits the stamp trigger&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0void\u00a0OnTriggerEnter(Collider\u00a0other)&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ if this collider is player&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if\u00a0(other.tag ==\u00a0\"Player\") {&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ add one more collected stamp&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0collector.Add ();&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ delete stamp from scene&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Destroy (transform.parent.gameObject);&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}&#13;\n&#13;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}&#13;\n&#13;\n}&#13;\n&#13;\n<\/pre>\n<p>And the script which shows that all the coins are collected:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">&#13;\nusing UnityEngine;&#13;\n&#13;\nusing System.Collections;&#13;\n&#13;\nusing UnityEngine.UI;&#13;\n&#13;\n&#13;\n[RequireComponent(typeof(AudioSource))]&#13;\n&#13;\npublic class StampCollector : MonoBehaviour {&#13;\n&#13;\n        \/\/ current number of collected stamps&#13;\n&#13;\n        private int stamps = 0;&#13;\n&#13;\n        \/\/ total number of stamps in the scene&#13;\n&#13;\n        public int maxStamps = 10;&#13;\n&#13;\n        \/\/ text for displaying number of collected stamps&#13;\n&#13;\n        public Text stampText;&#13;\n&#13;\n&#13;\n        \/\/ stamp take sound&#13;\n&#13;\n        public AudioClip stampTakeAudio;&#13;\n&#13;\n&#13;\n        \/\/ Use this for initialization&#13;\n&#13;\n        void Start () {&#13;\n&#13;\n                UpdateStampText ();&#13;\n&#13;\n        }&#13;\n&#13;\n&#13;\n        \/\/ add one stamp to collected&#13;\n&#13;\n        public void Add ()&#13;\n&#13;\n        {&#13;\n&#13;\n                stamps++;&#13;\n&#13;\n                \/\/ play sound&#13;\n&#13;\n                GetComponent&lt;AudioSource&gt;().PlayOneShot(stampTakeAudio);&#13;\n&#13;\n&#13;\n                \/\/ if all stamps are collected&#13;\n&#13;\n                if (stamps == maxStamps) {&#13;\n&#13;\n                        \/\/ display final message&#13;\n&#13;\n                        stampText.text = \"Exploring complited\";&#13;\n&#13;\n                } else {&#13;\n&#13;\n                        \/\/ update displayed number of collected stamps&#13;\n&#13;\n                        UpdateStampText ();&#13;\n&#13;\n                }&#13;\n&#13;\n        }&#13;\n&#13;\n&#13;\n        \/\/ update collected stamps count in the ui&#13;\n&#13;\n        private void UpdateStampText()&#13;\n&#13;\n        {&#13;\n&#13;\n                stampText.text = \"Stamps: \" + stamps + \"\/\" + maxStamps;&#13;\n&#13;\n        }&#13;\n&#13;\n}&#13;\n<\/pre>\n<p>Also, this script contains the AudioSource component to play the sound when the stamp is completed.<\/p>\n<p>Here is how our 3D interactive world looks:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8684 size-large\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_11-1024x543.png\" alt=\"\" width=\"604\" height=\"320\"  \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8682 size-large\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_12-1024x549.jpg\" alt=\"\" width=\"604\" height=\"324\"  \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8680 size-large\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_13-1024x550.jpg\" alt=\"\" width=\"604\" height=\"324\"  \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8678 size-large\" src=\"https:\/\/assignment.essayshark.com\/blog\/wp-content\/uploads\/2018\/05\/3d-world_14-1024x550.jpg\" alt=\"\" width=\"604\" height=\"324\"  \/><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>If you wish to become a creator of 2D and 3D games, you should know how to create worlds and place objects. In this example our expert will tell you how to create your own 3D world using Unity software. <a href=\"https:\/\/www.benedictsol.com\/blogs\/how-to-create-your-own-3d-world-in-unity-example\/\" class=\"read-more\">Read More &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,25],"tags":[],"class_list":["post-434878","post","type-post","status-publish","format-standard","hentry","category-essay-paper-writing","category-samples"],"_links":{"self":[{"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/posts\/434878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/comments?post=434878"}],"version-history":[{"count":0,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/posts\/434878\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/media?parent=434878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/categories?post=434878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.benedictsol.com\/blogs\/wp-json\/wp\/v2\/tags?post=434878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}