A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'General Graphics' started by bibbinator, Jul 4, 2014.
Is a google earth like streaming system planned?
Thanks for the update Andrew!
Would you please shed some light on
Will the terrain/vegetation be easily accessible during gameplay? (Will the api be clear and complete?)
Will the terrain system features (the terrain mesh, shaders, etc) be open, so that if people want holes, they can, if they want to remove trees easily they can, etc?
Will terrain/vegetation modifiable during gameplay, without big performance hits?
Thank you for the update. Could the roadmap be updated also? I'm sure you realize the community is very interested in the features.
This is a nice update indeed
Really looking forward to this!
Are you guys working on a new vegetation/tree system then? What about trees/vegetation made with Unity's tree creator or SpeedTree? Can we still use them in the new system?
Will vegetation (grass, weeds, etc...) have shadowing/collision support?
So, as i understand it, Unity will have a built in tool to make these materials? If so, can the tool be used to make any type of material, not only to be used on terrains?
Man i really hope they do, improve tree creator or support for importing tree mesh created by external software ala cryengine. . .
that sounds good but how's performance overall on terrain? I usually have to put vegetation on terrain and then disable the terrain "draw" checkbox and draw the terrain as a regular mesh. It's many times faster than using a terrain (and in theory it should be the other way around!)
Lastly, mobile? many of us are doing mobile development. The existing terrain is horrible on mobile. Will this be improved?
Okay. The terrain team wants to chime in here.
Since some of you asked about who's actually working on terrain, I think a short introduction of the terrain team would make sense. Unity's terrain team was officially formed in 2015. The team is tasked with maintaining and developing everything related to terrain and vegetation, including terrain component itself, SpeedTree integration, Tree Creator and all the tooling around these systems. We are currently 3 engineers and 1 QA. Unity's CTO Joachim is also actively involved in the team's design activities.
As Andrew said earlier, our initial focus will be on the vegetation. There are several reasons behind this:
On a terrain surface, grass / trees often cover more area than the terrain itself, thus are critical to the overall visuals and performance.
Unity's current implementation of grass / detail objects is extremely lacking and outdated. And unlike terrains, you cannot simply use regular meshes for grass.
It's a relatively isolated system and we can ship it without having to wait until the whole terrain engine is completed.
Our key ideas for the vegetation system are:
You should be able to place grass / trees / detail objects on any mesh, not just the terrain.
Grass should move with the object it is painted on, at least at authoring time. So that you don't have to paint everything again if you move or make changes to the underlying surface.
We need to support a huge amount of instances, which means:
render millions of instances of objects fast
have the right tools for users to place them efficiently
an compact storage for these objects
We will heavily leverage GPU instancing. That's why the first thing we actually did is implementing instancing in 5.4.
The system is going to be material driven. You should be able to use whatever material you want to render the vegetation. Meanwhile, we will provide a set of good looking built-in shaders for grass. Wind zone animation and player interaction (bending of the grass) will also be supported.
Cool! Also give me access to the tree creator by code (to generate new tree)! I haven't found a way to do that with the old tree generator!
You know guys, this is great. Really, i appreciate for communicate with the community you guys should do this more often, or maybe made a blog post about this kind of progress or an official thread
Cheers, keep up the good works guys
hurray andrew! keep posting updates please, alot of people are waiting for that so badly .
i hope we cal fully use our own models and get rid of tree creators.. a la cryengine
speaking about trees/vegetation please don't forget about impostor system hopefully also as an isolated system.
And yeah Terrain system update in unity are overdue, and judging your plan maybe it should be called WorldSystem/NatureSystem or something.
and yeah basically this
i'd like the terrain team to take some comments in account, please
cryengine had a nice feature that allowed us to use a large "patch" of grasses to cover ground (see pic), that patch could be conformed to terrain, moved, rotated, scaled etc.. and it is a really cool feature as is allows nice grass variation on one object only.
painting grass "strand by strand" or "type by type" will always look very repetitive so, you must think about a system that allows us to paint a large "patch of grass at once" instead of having multiple small grass objects to paint (and model).
thanks for reading me
Oooh vegetation patch, yes that would be handy not only for vegetation but also for other terrain mesh decal/cover.
Also could be cool if the decal patch also come with patch creator tool/editor where we can create and assign mesh/prefab into the patch save it and paint the new added patch to the world.
really remind me of this go to 1:48
I noticed that in the Adam stage demo once it switched to the editor you guys were showing off the material blending tools while talking about instancing of geometry. Was that our first sneak peek of the new terrain system?
I think this is likely a good start. I also pretty much think that's where a 'terrain' system should end. IMO half of the failure of the current terrain system is it's use of exceptions, and other half is whatever results in it's bugs and missing features (which are likely the result of using exceptions). As others mentioned, a general purpose impostor system would be a great next step (IMO, I think more important than what you're working on first) since it covers trees as well as a ton of other things.
As another note, I've worked on a distribution system on top of current terrain system, and would very much like such things more strongly considered in future implementations. Adhering to my philosophy of supplying as little data as possible, I have source terrain that looks like this...
And after applying process, looks like this
And since it's ecosystem based, I can trivially make it look like this.
Now, this is using custom terrain shaders, and World Machine 2 to generate terrain maps, but this is the kind of thing I ultimately wanna see, systems with high mutability with low required information (low art/design work) and decent results. This allows me to just put terrain 'roughly' where I want it in source, paint red the parts I don't want eroded/changed, and paint where I want rocks/trees/grass (don't know why rocks are green, yet another fun terrain bug).
Right now I regret using the terrain system for final terrain, cause, frankly, it's just full of bugs you guys will never fix. Detail objects take a ton of time to rebuild when they don't need to, trees ignore max mesh trees setting, these two bugs alone are showstoppers. So my primary concern would be in the pursuit of an 'optimized' custom solutions to these problems, you end up with another slow, buggy, unsupported mess. It would seem this lesson is likely learned... but new unity systems often surprise me in this respect, so just wanna reiterate .
hi terrain team,
any idea of a pre-release, or at list a sneak peek of the new features ?
i 'm in the path to produce lots of vegetation and i'd appreciate to know wich way i should go.
thanks for the good work
sometimes enough is enough.
but i think the terrain team reaction is ALREADY taking in account the frustration of a lot of users..
so.... use exaplamation is needed at some point, i'm that kind of guy, but i think in this case, it' wont make things go faster.
so let's try the "positive" attitude, like for dogs training
I have been aggravated because of no word from Unity. Really did not think anyone was working on it. So thank you for the message. Really sounds like a great effort. Also sounds like a feature, at least the vegetation part, we might see pre 6.0. So that is exciting.
Unity announced a long time ago that the Tree Creator and Unity Trees were now deprecated and would no longer receive bug fixes, and that we should all switch to SpeedTree... is that still the plan going forward? I've seen a lot of people mention the Tree Creator in this thread but no devs really saying "No, remember, we announced that Tree Creator is deprecated".
i REALLY hope the future vegetation system will not be tied to speedtree, if so, that would greatly suck.
I was also very worried about a SpeedTree only future but this statement made me feel this will not be the case:
Also even if for some reason it is I know @larsbertram1 would make a workaround.
I need their old tree system though, I need it open to create procedural tree in code whenever they announce something it's like they are adding struggle rather than features ...
speaking about tree, seriously what happen with classic tree, why do we need to put them into occlussion tree folder? honestly i like those classic tree
They are aware a ton of people use the tree creator. More than likely they will just make it open source, which will probably make things much better because it is something the community will spend more time developing and fleshing out than unity did.
@yuanxing_cai That's some great news, thanks for sharing! I really like your plans for the vegetation/batching system. Hopefully Unity will put more people on your team, as it's such a big and important feature (and a second team on the terrain system itself ).
You probably thought about this already, but many people will likely be using third-party tools or custom built scripts to place vegetation/objects procedurally. So I think an easy-to-use and well-documented API would be really valuable, as well as good performance for runtime generation.
There are already a few Unity Assets that focus on improving performance through batching/billboarding. Might be interesting for you from a technical standpoint: TurboForest, SpriteLights, PA Particle Field, Real Imposters LOD System, InfiniGrass (and probably more I don't know about).
As a side-note, I tried out the Tree Editor a while ago. Overall, I was really impressed by its potential. The branching system is great. However, I didn't like that I had to use special materials, and that they had to be re-generated so often, which made it feel slow and complex to work with. Would be nice if I could just assign normal standard shader materials instead.
Once the new vegetation system is out, it would be awesome if we could combine it with Tree Editor trees, to create vast forests filled with uniquely seeded trees, without having to store each tree variant as a prefab. But that's for the future
I agree with this, tree editor can be powerfull if it's done right.
Regarding the custom material, i think it's not a bad idea since it pack all textures into one atlas for performance reason. It's just the pipeline that make it annoying since it regenerate everything when we make an edit and it slow down workflow, maybe if they can streamline the workflow or something it would be great.
I just want it as good as UE4 Kite demo, with as good editors tools, but running faster without needing a Nividia Titan.
What about Red Engine 3 ideas ?
adaptive software tessellation (no "wasted triangles")
Custom vegetation generator
pigment map for better blend with ground color
Stamp tool (somewhat like Gaia plugin)
elevation, control map, color map, vegetation; rotating, scaling, paste
Allow saving/loading stamps
I want to add that I'm probably one of the few people who doesn't like Gaia. I don't like basing everything around stamps or needing to have a bajillion heightmap stamps in a folder. I think their procedural placement tools are a little convoluted. I prefer having a fully procedural node-based approach like MapMagic and/or good tools for direct modification like different brushes, erosion brush, etc. Just my two cents as I don't want Unity to get the impression that everyone just wants a clone of Gaia.
Gaia is just here to speed up your terrain creation at start. You can edit manually your terrain as always whenever you want.For Witcher 3 they used stamps , like Gaia to speed up creating the base terrain.
Yeah I know; I don't want to get in a fight with Gaia fans; I'm just saying there are some of us who don't just want a Gaia clone as the new Unity design system.
Then I have to put my 2 cents in and say some of us would not want a MapMagic solution either. If they add something like MapMagic as being optional then I have no problem with that, but if that was the only way to generate terrains in Unity then I'd never use it. I tried the MapMagic trial and couldn't do anything with it. It was the most convoluted mess of nonsense I ever saw.
I perfer Gaia because i have a lot better control and a direct visual feedback on the terrain sculpting using stamps than using nodes.
Anyway, don't expect Unity new terrain before mid 2017.
As someone who's been following this thread since it began, I'm a bit disappointed at how flamey it's gotten here lately, especially now that Unity has finally started to fill us in on their plans. Where were some of you unhappy people during the last two years, when they were basically telling us nothing?
Even though what they've announced isn't exactly what I asked for, or what a number of others here were asking for, I couldn't be happier. Are we getting voxels, or holes, or new sculpting tools and brushes? Not that I know of. Does it matter? No, not if they're working on mesh/terrain workflow integration. Who needs voxels or holes when you can use meshes interchangeably with terrains, and plant on both? What we're getting instead is way better - a vegetation/detail instancing system that's no longer tied to the terrain, that's no longer tied to the main processing thread, that's capable of handling a huge amount of vegetation and details with minimal impact on performance. This is a win people. If they deliver as promised, it will be a very big deal indeed.
And it's just the first of a number of initiatives they've announced. I know some of you want them to toss the current engine out and build a new one from scratch, but I'm convinced their incremental approach will deliver real usable results a lot sooner. Instead of being stuck in research limbo, with nothing expected for the foreseeable future, some of these improvements could land in our laps within a matter of months. So instead of slamming them for taking so long, I'm just going to say thanks, and bring it on.
yep, that's way cool, i 'd just like to know more about the time frame of those new improvements... next release ? end 2016 ?
"There are various parts of the pipeline arriving throughout 2016 and into next year." - Andrew_Bowell
I know it's not that specific, but it's a start. We're talking months, not years now.
Yeah cos if it was the old Unity where you had to keep features back, they'd be figuring out if such a thing should drop in unity 6 or 7, and some other thing would get sacrificed or not or whatever. Now we can just expect things to be coming as soon as they're done instead.
That's true, i hope erasing major feature on major version can improve unity faster than before.
I am excited about the new terrain system. Can't wait for Unity to provide more detail. I am sure it will be amazing!
Sounds pretty cool, I've been using various terrain systems since this thread started. So a couple of updates if you will.!
Paint foliage / decals on meshes, awesome I was going to suggest that and it's a must have.
Scultping tools really need an overhaul, with a slurry of brushes for things like erosion etc. at the moment it just looks like you're creating some sort of sponge cake.
Spline tools, good one.! They need to be able to "ramp" as well, i.e dig trenches in the terrain for rivers etc.
Holes for caves would be more than ideal, can't remember in recent memory not seeing an "RPG" without a cave, it's like chips and salt.
Instancing, again great we always need faster and denser foliage.. Seems you're pulling a lot of stuff from Witcher? Hmm.!
It would be ideal to have a tile / boundary system that can async / loc streaming tiles based on distance. A way to import tile meshes and have them stitched by "zones" as in a boundary assignment. You may not be in view of a certain set of tiles so why load it?
Next up is how "flat" normals look on Unity terrain's, I'm going to suggest parallax mapping but I'd be happy just having the normals show up correctly (I've tested several engines and it's only Unity that looks odd). Probably a shader thing, don't know right now as I haven't checked.
Fix long distance shadows, at the moment they are not exactly pretty.
Find out why the editor stars crawling to a halt as soon as a large terrain is imported, even on very powerful hardware (six core I7 and 980TI not enough?)
Remove the HDRI dependance on Enlighen, or just speed up Enlighten a large amount. On large terrains it's still quite painful.
I'm still wondering why Unity's foliage creates a lot of "noise", I've dof'd it / temporal anti-aliased it until I'm blue in the face (yes modified alpha cutout rate etc.). Something to look into?
LOD system needs updating and the "base bitmap" system dumping. Resolution of imports seems to loose detail, which it would I think the terrain maxes out at 500K tris? I think on modern PC's we can stand to gain a little more than that, not saying overdo it but it'd be nice to have the option.
We need some updates to go with this terrain to make it look super shiny, so a decent fog drop in with atmospheric scattering, some decent god rays. Also update the water prefabs, they look ancient.!
One way to split tiling is noise masks from camera world position, once it's hidden under foliage it appears as if the landscape has tons of "detail", it's cheap / quick and effective (p.s that's how the other engine does it in mat's). There's also Farcry's "tiling" way of doing things.
It would be nice to extend the amount of terrain textures paintable.
Make terrain and foliage shaders the best you can with many options, you might as well just do it right from the outset, so detail maps / noise masks / translucent decal painting (for puddles ) / Parallax mapping? Base normal (whole terrain segment normals) I'd say "colour maps" but they generally don't look that great.
Seems more a dream list than wish list
Well, UE has it so why shouldn't Unity? ..!
bump anything ?
I think they drop the terrain in unity since there are enough AAA quality assets in the store for it.
The terrain is such a Common element in a lot of games so that they will do a revamped System.
A lot of assets are building ontop of the default tools in unity and having a good terrain System, that then can be extended by the asset store assets seems the way to go.
ah ah .... and some like me are waiting to know more about the new terrain system to produce so called "AAA" assets..
is the AAA quality also come with AAA performance ?
You mean the AAA performance of the unity terrain? ROFL...
No there aren't. There are some great terrain shaders, but they are built on top of a low performing terrain system, which makes them good at best. We need a high-performing terrain system with great shading along with an advanced and high performing foliage system. And we need it built into Unity without having to purchase additional assets.
which why i'm asking