// Use this for initialization void Start() { // prime the GUID random number generator Guid.NewGuid(); GameObject lodSliderObj = GameObject.Find("LODSlider"); if (lodSliderObj != null) { Slider lodslider = lodSliderObj.GetComponent <Slider>(); this.LODCutoff = PlayerPrefs.GetFloat("worldLodSlider", 0.033f); lodslider.value = this.LODCutoff; Debug.Log("Read lodcutoff:" + LODCutoff); } charC = GameObject.Find("ThirdPersonController"); if (charC != null) { tpuc = charC.GetComponent <ThirdPersonUserControl>(); tpucRB = charC.GetComponent <Rigidbody>(); charC.SetActive(false); } GameObject dropdownObj = GameObject.Find("SpawnDropdown"); MAX_NODE_PER_FRAME = ProgramSettings.get("MAX_NODE_PER_FRAME", 15000); setCameraLoc(GameWorld.initialSpawn); map = CDRParse.getMap(GameWorld.worldName); if (dropdownObj != null) { dropdown = dropdownObj.GetComponent <Dropdown>(); zoneMeshes = GameObject.Find("ZoneMeshes"); zoneMeshes.SetActive(false); Material zoneBlockMaterial = Material.Instantiate(Resources.Load <Material>("borderzone")); zoneText = GameObject.Find("ZoneText").GetComponent <Text>(); foreach (Zone z in map.zones) { //Debug.Log("creating zone:" + z._113Key); SCG.List <Vector3> points = z.points; GameObject zone = new GameObject("zone:" + z._113Key); PolygonCollider2D p = zone.AddComponent <PolygonCollider2D>(); p.points = points.Select(x => new Vector2(x.x, x.z)).ToArray(); z.collider = p; GameObject zoneMesh = new GameObject("zone:" + z._113Key); if (z._113Key == 1802934646) { MeshFilter mf = zoneMesh.AddComponent <MeshFilter>(); MeshRenderer mr = zoneMesh.AddComponent <MeshRenderer>(); Mesh mesh = ExtrudeSprite.CreateMesh(p.points, -10000.2f, 10000.2f); mf.sharedMesh = mesh; mr.sharedMaterial = zoneBlockMaterial; zoneMesh.transform.SetParent(zoneMeshes.transform); zoneMesh.transform.localRotation = Quaternion.identity; zoneMesh.transform.localPosition = Vector3.zero; } } foreach (Scene z in map.scenes) { SCG.List <Vector3> points = z.points; GameObject zone = new GameObject("scene:" + z._114Key); PolygonCollider2D p = zone.AddComponent <PolygonCollider2D>(); p.points = points.Select(x => new Vector2(x.x, x.z)).ToArray(); z.collider = p; } dropdown.gameObject.SetActive(false); dropdown.options.Clear(); int startIndex = 0; int i = 0; foreach (WorldSpawn spawn in GameWorld.getSpawns()) { if (spawn.spawnName.Equals(GameWorld.initialSpawn.spawnName)) { startIndex = i; } DOption option = new DOption(spawn.worldName + " - " + spawn.spawnName + " - " + spawn.pos, false); dropdown.options.Add(option); i++; } dropdown.value = startIndex; dropdown.gameObject.SetActive(true); dropdown.GetComponent <FavDropDown>().doOptions(); dropdown.RefreshShownValue(); } if (bigMap != null) { bigMap.setWorld(GameWorld.worldName); bigMap.OnSpawnClick += (s) => { setCameraLoc(s); }; } }
public void generate3DMeshFromTexture(Texture2D texture_2d, float depth = 0.065f) { ExtrudeSprite extrudeSprite = this.transform.gameObject.AddComponent <ExtrudeSprite> () as ExtrudeSprite; extrudeSprite.GenerateMesh(texture_2d, depth); }
public static void generate3DMeshFrom2D(GameObject g, SpriteData sprite, float depth = 0.0625f) { ExtrudeSprite extrudeSprite = g.AddComponent <ExtrudeSprite> () as ExtrudeSprite; extrudeSprite.GenerateMesh(sprite.texture_2d, depth); }