zarubond / Atlas

Volumetric terrain editor
9 stars 1 forks source link

Version for OSX? #1

Closed osmanzeki closed 4 years ago

osmanzeki commented 9 years ago

Hello!

First, your project looks amazing and has so much potential. I think it could become a great tool to create terrain for games using Unity3D as the engine (or any other engine that uses Heightmaps to render their terrain) since it suffers from the impossibility of having real verticality / volume / tunnels in the geometry because of the 2D nature of Heightmaps.

I was thinking that Atlas could probably be used to create terrain in real 3D and then simply export to clustered polygons/geometry without necessarily the added computational intensity of voxels / marching cubes on mobile platforms.

I noticed that you were using QT and was wondering if there was any specific reason as to why there are no OSX versions? I was thinking it was probably because QT (because of the nature of building software for Apple platforms) requires that Mac builds be made on OSX using XCode and you just haven't had the chance to do that yet?

If that is the case, perhaps a virtualized solution would be interesting and/or contribution from someone who has dependable access to an OSX computer? I think your project and the community would benefit from having an OSX version available.

Let me know if that seems interesting to you and if perhaps I can even help in that regards. Thank you!

zarubond commented 9 years ago

Hi Osman,

I believe that you can download some ad-on to Unity editor which can create volumetric terrain.

The exporting to polygon is possible but my goal always was to create a game with fully destructible environment which is only possible with original voxel representation.

There is no MacOSX version because no one ever wanted one and also I don't have an Apple computer. Another problem is that you can not legally virtualize MacOSX on non Apple computer. But there should not be any technical problem with creating a version for this OS.

To be honest I don't know what I will do with this project. There rely is not any demand for it and almost nobody is downloading it. I would love to work more on it but I don't want to create something that is useless.

osmanzeki commented 9 years ago

Hi Ondrej,

I think the name of the project is perhaps a little bit too hard to find in a simple search? I stumbled on the project totally randomly, someone had linked to it on a StackOverflow page (I think), when I search for voxel terrain editor, Atlas is nowhere to be found in the search results.

I understand what you mean by working on something that you feel like is useless, it is not really motivating. I have indeed found multiple voxel editors for Unity and they seem really good and reasonably priced (+/= 100$) but I have issues with the fact that they are "in-editor".

I understand why being able to place objects in a scene is a powerful concept for Unity, but for larger/heavier things like terrain, I'd prefer being able to decouple that from the editor. If the Unity's editor API changes, the terrain tools would stop just working. Merging the terrain changes between collaborator would also be a special kind of hell I think.

Also volumetric terrain engines can be intense on the hardware and would probably make the editor unstable. In my opinion, coupling the terrain editor to Unity3D is a mistake in most cases, mostly for reasons stated above but also because you have less agility when you simply want to tweak some vertexes here and there, smooth some geometry, etc.

You could model the terrain in a 3D software like Maya/Blender/Max (which is how I will be doing it without something like Atlas) but that can be painful since you are still working on a non-volumetric mesh. You have to resort to some Boolean wizardry or you have to plan the tunnels and volume in advance and that is not always intended or possible. Having the option to "just add a hole here" seems like a must better creative and iterative process and is frankly a lot more fun.

Also keeping the terrain volumetric at runtime is a nice option but seems like it would be really heavy for any low-end and mid-range hardware on mobile platforms, which is where I'm mostly interested at the moment.

That is my current context and that is why for me your tool seems really interesting. Perhaps others would be in the same situation too but just haven't found your tool yet! :)

Outside of the rendering capabilities that are also impressive, the editor would allow for an easier workflow since Unity can update its prefabs in real-time when the mesh data changes (so live-editing between Atlas and Unity). Since it is made in Qt, it can be used on any platform and so would allow for better teamwork with other devs or artists.

In my opinion, perhaps thinking of a different name for the project would allow for better discoverability and maybe even post in some forums or StackOverflow, but I understand if you don't feel like it might not be worth the effort.

I see that the license is GPL, if I do find any issues for OSX I will contribute any modify in a pull request or issues depending of how comfortable I can get with C++ and Qt! :)

For now, I might just clone and try to build it in XCode to see how it goes but this could become a nice learning project for me to get comfortable with your toolset. If you're interested I would be happy to keep you informed about my tests.

zarubond commented 9 years ago

Hi Osman,

I have uploaded newest code on github so you can start porting to MacOSX. It should be rely easy.

osmanzeki commented 9 years ago

Hi Ondrej,

Thank you! I forked the project and tried to port it to OSX on my computer but I was met with a few issues. I think I'm really close, but there are many things I do not know about QT and C++ and it perhaps even how OSX does things compared to Linux. I have commented every changes in a commit I have pushed, it's very experimental and I assume I have probably done a few things I shouldn't have but perhaps you can help me where I am currently stuck. Let me know if any of my tests are incorrect or not clear. :)

https://github.com/osmanzeki/Atlas/commit/c535d6c55642054cd36592978d2b2479512e110e