Search Unity

Assets [BETA RELEASED] CityGen3D | Procedural city generation from map data

Discussion in 'Works In Progress' started by CityGen3D, Jan 28, 2018.

  1. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    I used the Watton-at-Stone.asset file instead of OSM data download on Windows 7, pushed "Process" -> everything worked fine! In the status bar the message is "Coastline: process - finished".
    Now the same no-problem work on Linux would be really appreciated.

    ***
    In Unity Editor 2018.2.17f1 the menu chain to turn off autogeneration of lighting + baking is slightly different:
    Window -> Rendering -> Lighting Settings -> Scene Tab, "Auto Generate" checkbox
     
  2. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Glad it's working for you on Windows :)
    I will investigate why Linux is having problems processing the data, it sounds like it's having an issue parsing the coastline JSON.

    I've added a Troubleshooting guide to the website that will list possible issues and work-arounds: https://www.citygen3d.com/support
    Good point about the menu differences between Unity versions, I will update the answer on the website later today to cover this.

    I should have a new build (v0.21) ready sometime this week, which will add support for importing OSM XML data, so you can run query in browser and load it in CityGen3D, instead of downloading from with Unity (for users that need to use a proxy to access OSM servers).
     
    HeadClot88 and Bartolomeus755 like this.
  3. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    One more thing: when panning the map with the right mouse button pressed ("Location" tab) - the mouse pointer is often "auto-separates" from the map, when the mouse is still moving but the map panning suddenly stops. I noticed this on Windows and on Linux, with different mouse devices and it is somewhat hard to navigate to a different country to select an area there.
     
  4. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Yes I agree, the map is functional but doesn't feel quite right at the moment. I'll look at improving it so it's a bit nicer to move around.
    At the moment the map stops until surrounding tiles are loaded, when normal behaviour (eg using OSM or Google Maps in a browser) is to show blank tiles until they are downloaded, and not stop the user from panning.
     
  5. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    Is it possible to edit road nodes in the Map view (move nodes, add and delete ones)? Also 2D road drawing would be helpful. Maybe it's already there and I just haven't found such functionality in the Inspector? Or is it planned? Props can be moved in a standard way in the editor - that's fun at its present state.
     
  6. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Drawing maps (roads, surfaces, etc) in 2D instead of downloading data is definitely planned, as is editing downloaded data by dragging into new positions.
    I talk about this quite a bit in post #68 on this thread. It wont happen in the immediate short term, but definitely on the radar.

    I used to draw 2D maps as a kid for fun, so love the idea of doing it in CityGen3D and having it get built in 3D :)
     
    Last edited: Dec 3, 2018
  7. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    Ah, thanks for clarification once more - the 2D drawing was shadowed in that post for me after mentioning of 3D drawing of roads as the answer to my question in #67. Anyway, I feel the future power of the software :)
     
    CityGen3D likes this.
  8. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    For texturing multiple terrains at once it would be convenient to show the number (or name) of the terrain currently processed (in the progress dialog?); also the ability to cancel processing would be useful.

    Generation of 100 terrains (the map in the center is some old one):
    Скриншот 2018-12-05 18.48.52.png
     
    CityGen3D likes this.
  9. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Yes I want to standardize the progress bars a bit better and indicating which landscape is being processed at any given time for each of the modules is definitely a part of that.
    On the Roadmap this is exactly the sort of thing I meant when I said "so it's clearer what's happening" on the Improve Consistency of User Interface feature.

    So you should see some improvements in the progress bars before end of year.
    Being able to cancel processing is a good idea as well.
     
    Bartolomeus755 and trig-ger like this.
  10. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    Thanks for the update! Now I'm testing the new Beta.

    A small remark.
    Because Ctrl+D may duplicate things in Unity, when I hit Ctrl+D (and for some reason CityGen3D was selected in the Project window, Assets tree node) it begins to duplicate the packet -- it takes a while, and the Cancel button in the progress was disabled. Maybe worth adding a warning to the user manual -- about standard/CityGen3D keyboard shortcut matches?
     
  11. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Yes I probably should have checked here :)
    https://docs.unity3d.com/Manual/UnityHotkeys.html
    I can change it to something else to avoid a clash with a Unity standard.

    As you noted, a new update is out, v0.21

    download.png

    Most changes were just UI improvements and fixes, a bigger update will come later in the month.

    The XML Data Source option was put in to help anyone not able to access the OSM servers within Unity, but can access them in a browser (using a proxy).
    Simply select location and area size as normal, then copy the resulting Query string.
    Paste into a browser and save the resulting XML file in YourProject\Assets\CityGen3D\Resources\Data\OSM.
    Then assign the file to the OSM XML field on the location panel and click Import button.

    There may be a better long term solution of allowing CityGen3D to use your browser proxy settings via the normal Download functionality.
    But at least this gets it working (for just another 30 secs on the workflow) and you should then be in same position as having used Download data source having clicked Download button.

    I also put in some error handling in the Coastline processing as you said this was getting stuck on Linux.
    Please let me know how you get on with Linux tests again, when you get chance. I'm hoping there will be a StringToVector2 debug message in console log now, which should help to identify the cause of the problem.
     
    Last edited: Dec 8, 2018
  12. kite3h

    kite3h

    Joined:
    Aug 27, 2012
    Posts:
    91
    if Some one want Smooth curced road. Use Tessellation shader.
    Phong Tessellation just smoothed by normal . But change shader code to tangent + normal , You get smooth road with Auto LOD.
     
  13. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    I tried version 0.21 on Linux, used http://www.overpass-api.de/api/ address, located some area in the UK, copied the query
    http://www.overpass-api.de/api/interpreter?data=(node(51,3400623386762,-0,357938756824991,51,3492610866168,-0,343212137340048);<;>;);out meta;

    into the browser with the working proxy and it returned an error:
    Screenshot_20181209_220928.png
    Another address http://overpass.openstreetmap.fr/api/ gave the same error. Another proxy didn't change the error message. Same with https://z.overpass-api.de/api/interpreter?data= prefix. Without a proxy the query just hang without any printed result.

    How to overcome this error?
     
  14. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Oh that's a localization error where the query is using "," (comma) for decimal instead of "." (full stop).
    I've re-formatted the above query so its correct to show what I mean.
    Try that in your browser (with proxy) and it should work, asking you to save the file.

    http://www.overpass-api.de/api/interpreter?data=(node(51.3400623386762,-0.357938756824991,51.3492610866168,-0.343212137340048);<;>;);out meta;


    So for now you'll have to manually change each query so each of the four numbers uses the full stop as the decimal. I will fix properly in next release so that CityGen3D knows to pass in full stop regardless of your localization settings.
     
    Last edited: Dec 9, 2018
  15. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    That worked. Now I'm looking for the way to import the downloaded file into the Unity. The file doesn't have any extension, just "interpreter", and it is not "drag-and-dropped" into the OSM XML field. I use a small arrow at the right of the field, the list of assets appears when I click, so do I need to copy the file somewhere near another assets?
     
  16. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Make sure you save it (or rename it) to have .xml extension (No idea why the browser doesn't do this automatically given its an xml file, but I'll update the instructions to make that clear).
    Then place it in YourProject\Assets\CityGen3D\Resources\Data\OSM
    Drag it to OSM XML field and click Import button.

    Also I wouldn't be surprised if the coastline JSON parsing error you experienced on your Linux setup wasn't linked to the comma/full-stop localization issue as the error you reported was basically the system not being able to read the numbers in the file.
    (So you'll likely still have that problem for time being on Linux, but we are much closer to a proper fix now).
     
    Last edited: Dec 9, 2018
  17. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    So I tried generating 100 terrains, after 16 tiles I got this "bug". On Unity 2018.2.17f1 (64-bit).
     

    Attached Files:

    • bug.png
      bug.png
      File size:
      8.6 KB
      Views:
      206
  18. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    The file is not draggable onto this field for me - Unity shows "not allowed" cursor, and the import is not performed. It only works via the small button-arrow on the right side of the field, then in the selection dialog one may choose "interpreter":
    Screenshot_20181210_083749.png
    When I closed the selection dialog and hit the "Import" button a progress dialog appeared and hung forever
    (not the coast dialog this time):
    Screenshot_20181210_083354.png
    And an exception was shown in the status bar:
    FormatException: Unknown char: .
     
    Last edited: Dec 10, 2018
  19. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Hi,

    Unity has a scene limit of 4GB.

    For large environments, you can get around this by pressing the Convert To Scenes button on the Heightmap tab after you have applied the heightmap using the Apply Heightmap button just above it.
    This feature is a bit experimental at this stage but it's intended to save down each landscape as a separate scene so you can then use a world streaming solution to dynamically load and unload terrains at run-time.

    You may be able to press Convert To Scenes now in your project to do this. Although unless you have prior experience in working with very large environments in Unity, it's advised to work on smaller environments in the short term until this feature has matured a bit.
    But basically that should get around the bug by having lots of smaller scenes that you can load and unload in the project hierarchy. (It also allows multiple developers to work on different terrains in the same project at the same time).
     
  20. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Yes I suspect the issues on Linux are all to do with the locale setting (confusion in parsing data between comma and fullstop character for decimal numbers).
    Meanwhile the new XML import feature should all work as intended on your Windows setup, which I can only assume doesn't have the locale setup in same way, or handles this better somehow.
    Sorry for the inconvenience, I'm working on a fix for this which I hope to release later this week in v0.22
     
  21. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    Just a little note in the Generator Tab in Heightmap there is no Scrollbar
    when there around 100 tiles you can't get to the button "apply heightmap"
    unless you minimize the modifiers

    --
    Update
    Data - Roads, Entities, Trees
    Generator - Water, Highways, Roadside, Entities, Trees
     
    Last edited: Dec 11, 2018
    CityGen3D likes this.
  22. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Thanks for reporting this. I should be able to get a fix in for next build.

    I think there are probably a few panels that dont support scrollbars yet that need to, so I will check all of them.
     
  23. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    Generated trees on the map are not visible as icons, even when "MapTrees" node is selected in the Hierarchy -- why?

    Screenshot_20181211_230951.png
     
  24. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Looks like a layering issue. The orange outline shows they are there, just under the surfaces.
    Should be an easy fix, so I'll hopefully include it in next build.

    In the meantime, with MapTrees object selected in Hierarchy, click the Inspector and change the Y position of the transform so its slightly bigger than 0. Something like 0.1 or 0.2, basically the smallest positive value you can get away with until they show up.
    A crude workaround, but they should all show up then and it wont have any adverse effects on anything else :)
     
  25. trig-ger

    trig-ger

    Joined:
    Sep 1, 2018
    Posts:
    31
    How to sync 2D and 3D view to switch between the same-looking position on the map?
    For example, I move a tree on 2D map and want to see it in 3D view - approximately in the same scale and land orientation.
     
  26. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    The functionality of the 2D Map is fairly limited at the moment, so this isn't possible. It will become an important part of the tool, allowing you to move objects around and draw new ones (as mentioned earlier in thread when talking about drawing 2D roads).

    But at the moment it's main function is just to give a visual representation of the downloaded data before you generate in 3D - to ensure the data you want has been parsed correctly, allowing you to make adjustments in the Data panels if needed before re-processing.
    For example, if on viewing the 2D map you realise an area of the map is missing that is visible on OpenStreetMap, you could add the area type as a surface on the Surfaces panel and Process again to ensure CityGen3D finds it.

    I will probably look to gradually release regular improvements to the 2D map to get early feedback, rather than waiting for one big update with lots of functionality. So hopefully you should start to see experimental improvements in this area early next year.

    I like the idea of being able to jump to the 3D view of an object via the 2D view, I'll add that to the features list.
    It's certainly an area of CityGen3D that can be driven by users ideas (one of the reason for the Beta), so it's good to hear about the type of things you want to be able to do with it, and I can try and make it happen.

    In the meantime, once you have generated your 3D scene, you can edit it in 3D like you normally would. CityGen3D is built upon Unity standard systems. For instance, trees are added as tree objects on the Unity terrain so they can be removed and painted on the terrain using the Unity terrain tools. (The tree prefabs you add on the Tree panel are added as tree prototypes already on each terrain).
     
  27. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    So I tried the new Version 2018.3 and something apperantly messed up so that I cant access the overpass api anymore
    at least if I open a completly new project. If on the other hand I open an "old" project I already had in the older Versions everythings works fine.
    Uninstall helped. Reimporting a new project from 2018.3 to Unity 2018.2.19f1 (64-bit) also didnt work.
     

    Attached Files:

    Last edited: Dec 15, 2018
  28. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    This looks like the same region bug as what trig-ger was having on Linux.
    I have a fix for this in next build, which I hope to release over weekend.
    In the meantime you can email me and I'll send you a hotfix to try.

    In case it helps anyone else one day, the fix is to pass in CultureInfo.InvariantCulture when converting text to numbers in situations where you want to ignore locale settings, such as parsing xml data from file or forming a query in a known format. (Also works in ToString calls).
    In this instance we need to pass in "." as a decimal in the overpass query, but your locale is trying to use "," instead.

    It seems different versions of Unity handle this differently on different platforms, but the change below should be safe across everything, so that's included in next build.

    cultureinfo.png
     
    trig-ger likes this.
  29. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    New build available: v0.22
    • Unity 2018.3 compatibility fixes.
    • Fix for parsing decimal numbers in certain locales due to regional number formatting.
    • Scrollbars automatically added to all UI panels when required.
    • Fix entity and tree icons sometimes not showing up on 2D Map view.
    • Ctrl+T now shortcut for Data panel instead of Ctrl+D to avoid conflict with Unity Standard.

    Known issues:

    I've noticed that some of the collision tests in CityGen3D aren't working too well in the latest Unity version (2018.3).
    CityGen3D uses functions such as Physics.OverlapSphere and Physics.OverlapBox for things like roadside prefab placement (to ensure buildings don't overlap each other and such like) and that doesn't seem to be working properly, but same code seems fine on earlier Unity versions.
    So that may be a Unity bug, I'll investigate further, but thought I'd mention it for anyone working in latest Unity release.
    If anyone is aware of any such issues with Physics in 2018.3 please let me know, thanks.
     
    Last edited: Dec 17, 2018
    HeadClot88 and Bartolomeus755 like this.
  30. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    Some Info and Wishes for the 2D Map in the future
    Maybe you have already seen some of these in your research but nonetheless
    1. https://github.com/ue4plugins/StreetMap here is an Unoffical Plugin from Mike Fricker
    2.
    The Game Sinking City with a Build in City Generator
    the tool will be free when the game releases and there also looking for Feedback for how to distribute the tools
    3. https://twitter.com/outerra A Project I just recently this year bought in. In Development since If I remember correctly 2010/2012
    4. Voxelfarm by Miguel Cepero If been following this Project since forever there is also an Unity and Unreal Plugin http://procworld.blogspot.com/2016/07/intelligent-terrain-synthesis.html / http://procworld.blogspot.com/2016/04/geometry-is-destiny.html / http://procworld.blogspot.com/2016/07/geometry-is-destiny-part-2.html
    5. And here to place two and four 2 Projects I'm looking forward to

    6. Just neat https://codepen.io/anon/pen/xQgVVL?editors=1000

    For my wishes for the 2D Map someday in the future - If there are some that are already possible but Im just too bad to grasp please say so
    A "Compass" some form of Orientation/direction so that I know where exactly I'm on the map
    naming of the Street/Buildings
    A Drawing Tool for Lines (Tram/Bus)
    ColorCoding: Districts, Streets like Dead Ends or Main Roads, Points of Interest, borders
    "Stiching and Mixing"
    In the Data Location Tab beeing able to select more than one tile or pregenerating terrain and then be able to choose the location for a tile so that im able to mix different Environment
    like on one tile I choose GreatBritain, the next some Asian and so on
    After that manual or autoconnecting the streets (blending) the environment together
    Speedsign as an Entitiy
    Some "Outlines" like in Googlemaps would be nice but I dont know how you would pull it off
    https://www.google.de/maps/place/Lu...3edefd681!8m2!3d51.8786105!4d-0.4198837?hl=de
    like you already said beeing able to switch fast between 2D and the 3D map
    Layers (just show houses, just streets)
    A Heatmap for when the AI module someday arrives
    Beeing able to select a Minor or Mainroad and change it to something like a Highway
    Forbid Areas for Driving/Walking

    Thanks for your time
     
    sharkapps, CityGen3D and Flurgle like this.
  31. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Thanks for all your suggestions. The 2D interactive map will be getting a lot of new features from next year. I'll look to incorporate some of these ideas. Certainly being able to draw your own maps and more easily edit maps is a key part of the future development.

    You can colour code different road types already via the Data->Roads panel. Although changes will only be reflected in new scenes (you need to reprocess the data to regenerate the 2D map). For example, roads identified as motorways are in pink by default.

    You can hide different element types on the 2D map but you have to use the Inspector. It would be nice to be able to do this via the CityGen3D interface, so I'll think about adding that in along with some other display options, like showing road names.
    For now, as an example, to hide roads on your 2D map:
    • Look for the CityGen3D object in Hierarchy
    • Find the MapRoads child object and select it
    • Uncheck the tickbox at the top of the Inspector Window next to "MapRoads"
    It's not an ideal way of doing it though because you'll need to make sure everything is active again before processing.
    So having a proper way of setting display options via a CityGen3D panel would be really good.
     
  32. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Hoping to activate the Detail panel this month.
    This distributes grass and plants over your terrain based on surface type and rules you define.
    So you can start making lush forest and add crops to your farmland, just by clicking the Generate Detail button.

    screenshot0_smaller.png detail_panel.png screenshot7.png
     
    Last edited: Dec 20, 2018
  33. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    Ahoi, I wish you all great hollidays.
    It seems some streets from Openstreetmap aren't processed at all
    Living Streets easily to spot in tirunelveli town
    They are slightly more grey
     

    Attached Files:

  34. ForceVFX

    ForceVFX

    Joined:
    Jan 21, 2011
    Posts:
    562
    Sold!...now even more control over my sat maps!!
     
    Lars-Steenhoff and CityGen3D like this.
  35. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Season's Greetings!

    It's not documented yet but you have complete control over what is or isn't processed via the other tabs on the Data window.
    To demonstrate, in the screenshot below you can see that I've added the Highway + Living_Street key/value combination so these roads should get identified in the OSM data.
    If you go to the Data->Roads panel and add this in, subsequent processing should include these roads.

    road_types.png
     
  36. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    CityGen3D v0.3 now available which includes auto terrain detail painting.

    Simply define how each surface type (eg forest, farmland, scrub, etc) should spread different grass and plants over your terrain, and have all the work done for you.

     
  37. Bartolomeus755

    Bartolomeus755

    Joined:
    Jun 20, 2013
    Posts:
    237
    Getting better and better, thank you for this amazing asset. :)
     
    CityGen3D likes this.
  38. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    Some things that I wasn't able to get on my map are "Tree Rows" 51.84743, 12.41286
    (still not working after looking into the query on osm)I tried it as Surface and as Road
    man_made "pier" 51.84518, 12.41772
    51.84967, 12.41156
    here is a different layer/color but in citygen it is all displayed as parking
    well it is parking, but here extra for caravans
    bridges and routes 51.84649, 12.41839, for bridges they can be placed manually (for now) anyway but from the perspective of displaying them on the map.

    and

    "Way" 51.84578, 12.41601
    (my bad Tags barrier fence
    works as street)



    "Cycle Path" 51.84674, 12.41253 also didn't work, I correct myself
    (cycleway ... works now)
    "_" i used it like you showed me above
    "Steps" worked fine as a Road also"Canals","Drain","Ditch" are working fine
    and for some unknown reason the Footpath are below the "surface" 51.84758, 12.41709

    Sidenotes:

    And for the generation of Highways if (for whatever reason) I decide to select grass or residential in the Data Tab/Surfaces/Road and then Generate Highways it completely turns the map grey.
    Of course these are not Road surfaces, but why is it an option for me to select

    Trees
    I can't delete Tree

    Lamps
    No collider attached

    Entities
    Working fine

    2D Map Area Suggestion
    I dont know if it was already said but,

    Is it possible to implement Rectangles or other shapes or would't it work because of openstreetmap?

    Roads
    Someday it would be great to slice Roads
    Its great that I can generate Roads and define lane width for the initial genetation, but like always roads aren't always the same width
    for example a minor road won't be always be 3.5 m/feet wide
    so when the all streets are generated it would be nice to select them individualy, which is already possible, and beeing to change width through the mousewheel (and/or length if )

    Unity

    I dont know if you can recreate this or if it matters at all

    short Version: Do not unpin the Datatab while Unity is Pinned

    Long Version

    I had 2 Unity Windows Open in Window 10 and I tried to Pin them left and right on the Screen to copy some Surface Information from one Window to the other.
    The Screen got cut off, where I could see Data Tab (Left the New Project - Right the Test Scene)

    so I unpinned the Data Tab on the left (Completly new project) but I could't write in column anymore, the button on the other hand still worked.
    The other Pinned Project on the right worked without any problems.

    If I unpinned the Data Tab I could write again, but as soon as it was pinned again the same happend
    all other windows. I still could paste into the column, but no direct writing.

    So I tried the same with, at the moment still working Unity Project on the right, I unpinned the Datatab and the same happend.

    Thanks for your time and effort so far Richard

    P.S.

    If you are still looking for Prefabs that are as lowpoly as possible
    Russian Buildings (Shops, Cafe, Residential, Car Repair, Commercial, 1 Watertower, 1 Tele-Tower, Hangar, some Busses and Stations, Public Toilets and some more

    https://sketchfab.com/search?featur...Loginovskiy+&sort_by=-publishedAt&type=models
     

    Attached Files:

    Last edited: Jan 2, 2019
    sharkapps likes this.
  39. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Thanks for the feedback:

    These are added to the Unity Terrain as if you had painted them on using Unity Terrain tools. So the only way to remove them once they have been generated is to use those tools.

    You can add a collider to the "Prefabs\Street Light" prefab, this will ensure they all have one when spawned. I'll probably change the default prefab to have one in future builds. (It used to but I changed the mesh before first release and must have lost it)

    I could probably change it so it doesn't have to be square. Although for now, if for example your data is 4x4, you can select which of the 16 terrains to generate in 3D using the checkboxes at the top of the Generator->Heightmap panel.

    I hope to add more customization once work is started on the 2D Map tools, where you'll be able to draw your own map objects as well as customize existing ones.

    Note sure what's happening there, I'll see if I can reproduce.

    A big thank you to you and everyone else that has provided feedback so far.
    Still work to be done but I think it's heading in the right direction.
    If you create something cool with CityGen3D, please do share a screenshot or video.
    I hope to put a gallery on the website of user projects once I get a good selection :)

    Thanks for the link, I'll take a look. They certainly look like they would work well.
    I can't package too many third-party assets in CityGen3D, just the bare minimum to demo the functionality. But these look great. I'd especially been looking for a good bus stop to demo the Entity feature, which is currently blank by default unlike the other panels
     
    Last edited: Jan 5, 2019
  40. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Working on next build, which should include smoother road corners.
    Also working on the automatic road marking generation.

    screenshot3.png screenshot1_small.png screenshot0.png road_markings.png
     
  41. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Beta 0.31 is now available from www.citygen3d.com\store and it includes the smoother road corners and fix for entity generation.

    A bus stop has also been added in the default Generator profile to demo the entity feature that can place objects in your scene based on map data.

    The road marking feature should come later this month.

    screenshot031_0.png

    screenshot031_1.png
     
  42. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    In case some people didn't saw it, 0.32 is out. Roadmarkings are working, Building info are is Parsed in the 2D Map. My only Question would be how the Buildr2 integration is coming along?
    I'm really looking forward to it.

    Kind Regards.
     
    CityGen3D likes this.
  43. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    BuildR2 integration is one of two areas of focus at the moment. Enabling processing of buildings was first phase. I’m fairly sure it will be in builds sometime next month.

    The other area of focus is improving performance through multi-threading.
    This involves rewriting code to convert some processes into jobs.
    I’m currently experimenting with jobified terrain texturing, but the plan is to extend this to other areas as well.

    I’ll have to make a call at some point about whether to maintain support for Unity 2017 (which wont see these benefits and means I have to maintain old code) or whether to make Unity 2018 min spec.
     
    Santa36 likes this.
  44. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    From my personal opinion and I speak really just for myself.

    I'm just learning Unity so I already use the 2018 Version but most of the project that are beeing developed now may already have a Terrain System in Place. Unity is working (appereantly) hard to overhaul the whole engine with new Systems.
    Headclot88 himself said already that he sees much Potential in this Asset/Addon or Pure Workload reliver, so I would love to hear his opinion on this, but if things walk faster and faster to the future with (sorry to bring that up again)

    ECS, a complete Team now for the Terrain System (hopefully a Team for Trees in the future [Offtopic]Speetree set a new bar on that) and the hope that someday "Generative Design" with Machine Learning (first steps are already seen in the asset store) will be implementet in Unity or other Engines,

    I would't bother/waste my time trying to support a build that will already be outdated in a few years.
    Yes its nice to have support for that, but I want a great Asset and not a decent one.

    If that make or break point comes make a poll or make a poll right now, let it run for "insert your time slot here"(like a 1,2,3 Month, and see whose still interested in the Project, what Versions are they Using and why they are using them.

    ---

    Your Opinion on this talk

    and
    Generative Design


    And ...
    mhh okay I found this

    I just wanted to wish you a great day
     
    CityGen3D likes this.
  45. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    CityGen3D likes this.
  46. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    Thanks for sharing that, it was really good. As a programmer, it was interesting hearing about these ideas from the point of view of an artist. A lot of the approaches he talks about are concepts being explored in CityGen3D, where the goal is to automate world creation so developers and artists can prototype their ideas much faster and where creativity is directed towards defining rules that can be easily tweaked and reused, rather than manual placement of objects.

    The Generative Design video was also very interesting and it's easy to see how approaches like that could work for game development. It seems that CityGen3D fits in well with many of these ideas, so it's exciting to think what we can do over next few years.
     
    Santa36 likes this.
  47. Santa36

    Santa36

    Joined:
    Dec 1, 2018
    Posts:
    22
    Last edited: Jan 30, 2019
    CityGen3D likes this.
  48. CityGen3D

    CityGen3D

    Joined:
    Nov 23, 2012
    Posts:
    169
    The jobs system with Burst compiler is real game changer.
    In the back of my mind I've always known that CityGen3D was a bit slow to process some of the procedural creation and I desperately wanted to speed it up before a wider release on the Asset Store.

    Good news is, I'm making real progress in switching over relevant code to be Burst compatible.
    Terrain texturing seemed like a good place to start.
    It works by firing around 4 million raycasts per 1km terrain so that every half metre can be identified as an OpenStreetMap surface and subsequently textured based on user defined rules (on the Splatmap panel).

    Up to now all these raycasts and the subsequent processing had to be done sequentially on the main thread, but thanks to Unity Burst this can now be jobified and run across multiple processor cores.

    On my machine a typical 1km terrain would be textured in over 20 secs in the current build (0.32). I've got this down to around 4 secs by rewriting some of this code. I'm sure long term I can make it even faster (as the Unity's system matures and I learn more about it).
    So next build will hopefully have the faster terrain texturing in place and I'll roll out the same tech to other modules over time.
    This should make working on larger environments a much better experience.

    Here's a preview video showing a 2km scene (Four 1km terrains), being auto textured using the new faster system.



    As I touched on in an earlier post, these substantial speed improvements are only possible on latest Unity versions, so I'm planning to focus efforts on Unity 2018 (and beyond) and the next release will not be supported on Unity 2017 and the first Asset Store release (if we get approved) will likely be for Unity 2018.3 +
    It just doesn't seem worthwhile to commit to maintaining old code that will run so much slower.

    If any existing users have concerns about this plan, for instance if you are using CityGen3D on a project and are not able to update your Unity version, please send me a message, so I can judge whether it's necessary to support Unity 2017 for a bit longer, or for specific projects/features in the short term.
     
  49. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    690
    Looks like I am buying a copy of Citygen3d come payday. :)
     
    Santa36 and CityGen3D like this.
  50. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    356
    I bought yesterday :) How fast you are currently to send a DL Link?

    *Arrived :)
     
    Last edited: Feb 7, 2019
    CityGen3D likes this.