Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] Ruaumoko: iso-surface, voxel mesh generation and terrain engine

Discussion in 'Assets and Asset Store' started by bens1984, Apr 29, 2013.

  1. DavidWilliams

    DavidWilliams

    Joined:
    Apr 28, 2013
    Posts:
    522
    You might want to take a look at this: http://www.volumesoffun.com/voldat-format/

    I have my own voxel engine coming for Unity, so it might be nice if there was some kind of interoperability.
     
  2. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    @Curious: I've solved it! (at least I can't break it anymore) If you can hang with it for the moment it'll be in the next release. The neighboring chunks do in fact notify one another, as you would do it, but they defer to the main render thread and if too many need to update they could update in different frames resulting in artifacts. By passing the delta frame time at the time of deformation they now deform exactly regardless of when.

    @lmillionaire: you're not the first to find that limit, I need to find a work around. They should line up if you have "Use World Coordinates" engaged, but I'll look at it again (and I need to make a tutorial on how to make static land masses).

    @DavidW: I'll dig into it! Interoperability would be great and I'm working on serialization/saving/import/export now.
     
  3. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Thanks man,
    Could you please update the planet demo as well? I could confirm the bug fix if you do so :)
     
  4. Psyckosama

    Psyckosama

    Joined:
    Mar 20, 2013
    Posts:
    88
    is there a way to reduce the level of smoothing so it looks blocky? I don't mean minecraft blocky but still kinda blocky?
     
  5. LokiDavison

    LokiDavison

    Joined:
    Jan 13, 2013
    Posts:
    41
    and update on loading and saving?
     
  6. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    Sorry for the silence, been working hard! Here's the latest updates (Psyckosama: this'll make you happy!). I wanted to get loading/saving in this next release but I need it to be really powerful and it's not ready yet.

    Blocks are here! Implemented as a continuous variable amount, choose the right degree of smoothness or blocky-ness for your world. Will also be in the "sculpting" tool so you can chop/place blocks into an already smooth surface. These shots are from the "height map" demo in Unity indy.

    $blocky.jpg

    I anticipate posting this update to the Asset Store this weekend.
     
  7. VicToMeyeZR

    VicToMeyeZR

    Joined:
    Jun 3, 2012
    Posts:
    427
    excellent work.. Waiting for this update for sure. :)
     
  8. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Sorry man, the problem still remains:



    The shots is taken from the new Planet demo with DOF and Bloom.
     
  9. dyox

    dyox

    Joined:
    Aug 19, 2011
    Posts:
    619
    For the MarchingCubes LOD you must use the "Transvoxel" Algo. Used on the C4Engine.
     
  10. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    @Curious: yep, I haven't uploaded the fixed version yet. It'll be up in a day or two.

    @dyox: thanks for the pointer, I'll check it out!
     
  11. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Looking forward to saving a landscape out...
    We can't really progress far in our game dev. till there's some form of saving the voxel generated landscape.
    This I hope will then allow me to add buildings, objects etc.. to the landscape.. yes ?
     
  12. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    I am having a problem with stretched textures ... all of a sudden my terrain texture is stretched downwards...

    After re-importing all the terrain textures it corrected the problem.... but when I build and save the game the textures are still stretched... so all I see is the surface texture.

    Any ideas how to remedy this problem would be really appreciated....

    hhmm ??
     
    Last edited: Jun 19, 2013
  13. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    @banksy: can you show me a screen shot? I think a picture would indicate the problem to me right away.
    And yes, once I release saving/loading to everyone then you should be able to place trees, buildings, treasure chests, with confidence!
     
  14. Nakor

    Nakor

    Joined:
    Sep 5, 2012
    Posts:
    31
    Hi, is it possible to use a shape to cut rather than a point? I'm guessing it is but I'm not sure how to go about it. I noticed in a previous post you mentioned you got a square cutting tool working. How is that being done?

    What I want to do is use a cone for cutting (facing point first). Picture metal being melted by a laser and you should be able to understand what I am going for. Any ideas?

    Also, thanks for the square tool that you mentioned. I could really use that for my other project that uses this asset :)
     
  15. Psyckosama

    Psyckosama

    Joined:
    Mar 20, 2013
    Posts:
    88
    Oh yes, indeed it does!

    Though this as inspired me to make a suggestion, if its at all possible. Would it be possible/not CPU breaking to including an option for a smoothness RANGE to introduce additional irregularity into the terrain?
     
  16. Imillionaire

    Imillionaire

    Joined:
    Dec 14, 2012
    Posts:
    60
    I'm very excited about the saving/loading feature that's upcoming, but i have 2 questions.

    1. how do i get rid of, or avoid that big "seems" that happen at the edge of each procedural square land mass.

    2. once im able to save, and load the land voxeled land masses how would i go about setting up seemless changes between land types, say i want 1 area of harsh, mountain terrain, and another of smooth/hilly plains. i know how to get each individually - but will there be a well to blend the 2 together in a controlled environment?
     
  17. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Hi.. The terrain texture is fine in Unity. It becomes stretched when I build and then run the game.
     
  18. nosyrbllewe

    nosyrbllewe

    Joined:
    Oct 18, 2012
    Posts:
    182
    Hi, does the voxel terrain allow infinite generation vertically and horizontally right now? Or does it currently only support endless horizontal terrain generation (without addition code of course)? Thanks.
     
  19. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    All: the latest version is live in the asset store. Grab it! (don't know why Unity was so slow this time...)

    @Imillionaire: 1) what seams? Can you hit me with a screen shot? I'd love to get rid of them.. that's my mission. and 2) This is a complex subject and could have a bunch of solutions. I'll give it some thought because I need to implement something like it in the serialization functionality too.

    @nosyrbleewe: yes, it goes endlessly in every direction. You can drill straight down into the ground and it will keep on paging in new blocks for you to cut through (and if you cut too fast you'll get ahead of the engine and fall into nothing... this is why we limit the power we give our players!)
     
  20. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    here is a sample video of my problem. The texture is fine when I play in Unity... but publish ( build ) the scene hit play it looks yellow there is no texture below the surface.

     
  21. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    I have fixed the problem with terrain textures...

    In Unity I had the quality settings wrong.. ( EDIT > Quality )

    All good now.. looks great :)
     
  22. Imillionaire

    Imillionaire

    Joined:
    Dec 14, 2012
    Posts:
    60
    here are some images of those seems i was talking about, theyre created in the World sculpting demo scene, but not in the paging terrain demo scene. (but being able to sculpt the terrain is crucial for me so i cant use the paging terrain).

    the seem extends indefinitly, and the higher the "Cell size" the larger each seemed out square land mass will be.

    $Unity 2013-06-26 19-53-24-69.png

    in this picture below you can see where 4 seemed squares all meet, and u get one of these crossroads. the seem sometimes is a valley, or a flat wall, depending on the terrain it seems through.

    $Unity 2013-06-26 19-53-58-95.png $Unity 2013-06-26 19-54-20-47.png $Unity 2013-06-26 19-55-26-31.png
     
  23. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    ah ha, I have seen those "seems" before, Imillionaire. I think they're a result of the code that uses the 2D texture bitmap as a lookup to control the noise/randomness of the terrain. When it skips from one edge of the 2D bitmap back to the other edge it makes a wall/valley thing. I'll see if I can isolate that and tell you how to get rid of it (you might try looking at the inspector for the bitmap you're using and try changing its interpolation mode, maybe a different one works better).
     
  24. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Is there a way to get the terrain to render a bit further out from my character node as currently I often walk and have to stop for some time till the voxel terrain rendering updates enough so I can move again...

    I've played around with component settings in the Ice Sculpt script.. but can't seem to get a faster rendering.
     
    Last edited: Jun 30, 2013
  25. renanxd95

    renanxd95

    Joined:
    Jul 1, 2013
    Posts:
    1
    bens1984 hi, will put maps and trees by randomly generating on maps? 3d models The trees would not voxel.
    Excuse my English, I'm Brazilian.. ><
     
  26. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    New Version: 0.3b! (it's in the hands of the Asset Store, watch for it to become available to download)

    New Features:

    Persistence: Saving and Loading. At long last, everything you do to a world can be saved forever, and will be there every time you come back. This is implemented using a highly optimized serialization scheme implemented in a multi-threaded fashion to allow very fast loading and saving (loading blocks is now faster than generating them from scratch–and this is on new hardware. The difference should be even better on CPU-bound systems). [Note: this doesn't work in web builds yet since they can't access the OS file system. A work around will be in the next release.]

    New Shader: allows the user to paint textures while they deform. Textures can be blended in variable amounts (want a bit of stone tiles under your grass?). See demo #5 (in the package).

    New paging heuristic and algorithm (in demos 4-5). Hopefully you won't be able to run off the edge of your scene now! The new model performs more efficiently and optimizes block generation in a smarter fashion to reduce the problems that result from missing blocks around the player.

    And various bugs have been fixed, etc.

    @Banksy: hopefully this update provides a lot of the functionality you're looking for!
    @renanxd95: dropping models, trees, etc on the terrain is entirely possible, but I don't have a demo of it yet. I'm imagining that with saving capabilities one solution is to move your models around at run time, stop the scene and set their positions, then run it again and tweak things to match the generated terrain. This is a bit of a hack but workable for the time being. Editor tools are in the works to let you see the terrain out of run time too.
     
  27. meta87

    meta87

    Joined:
    Dec 31, 2012
    Posts:
    254
    Wow sounds like a huge update! Looking forward to checking it out. Thanks :)
     
  28. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Soooo, I can't generate holes in the planet demo anymore, right?
     
  29. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    No more holes! (I guess I should never say never, but I plugged so many bugs there I'll be super surprised if you find a tear now!)
     
  30. Kwaung

    Kwaung

    Joined:
    Sep 19, 2012
    Posts:
    3
    Hi Ben.
    Can I use a libnoise with the Ruaumoko to generate a terrain with cave?

    Thanks
     
  31. Terrion01

    Terrion01

    Joined:
    May 25, 2013
    Posts:
    19
    Hi, loving this tool so far fantastic work!
    But I just found a bug trying to build any of the height map demos and my own scene using height maps. The terrain shows up fine in the editor but in the built standalone the terrain does not appear and it seems like something blocks the players mining tool as the effect for it looks like its hitting something around the player unless its the terrain and its not rendering. I re-imported the package and make a new project folder the problem seems to be only with the height map terrains and the world sculpting demo.
     
  32. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    Terry57: you've hit on a known issue. I need to put it somewhere where everyone will see it!

    The problem is in Unity's "optimizations" of .NET which they use for builds. Apparently I use more than the typical amount of .NET (I expect the multi-threading components are the cause) and Unity tries to strip them out when it builds the executable. Fortunately, the solution is easy:

    Go to Edit>Project Settings>Player and at the bottom of the pane is "API Compatibility Level". Set this to ".NET 2.0" (not the "subset" option).

    Then you should be back in business!
     
  33. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Wow very cool update....

    I'm grinning like a kid let loose in a candy store :razz:

    Will update my project over the next few hours and trial the save function....

    [EDIT] this is so cool... I just created a tunnel system for the first time was able walk the system I dug out.

    Is it possible to save the player world space position when I hit save ( not only the terrain system )
     
    Last edited: Jul 15, 2013
  34. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    I'm wondering if there would be some way to chart the terrain ?

    What I mean to say is .... Is it possible to dynamically map the environment so if a Player digs a long tunnel this tunnel would become visible on a 3D mini map ? ( similar to the cave mapping system seen in the film Prometheus )
     
    Last edited: Jul 16, 2013
  35. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    That would be so cool! Iirc they have a transparent/lattice type display of the cave walls with the transponders of the people lighting up... One solution would be to re-render the whole thing using a lattice shader. Maybe put in a free-floating camera that's zoomed way out (orthographic maybe?) and have a way to toggle the shaders... or maybe leave the shaders as is and just use a long-range camera from the side (maybe with lighting off so the tunnels are fully bright). I think there'd be many solutions for this but might take a bit of hacking.
     
  36. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    573
    UnityException: Tag: Sculptable is not defined!
    DynamicIceGen+<GenerateNewCell>c__Iterator5.MoveNext () (at Assets/Ruaumoko/Shared/Scripts/DynamicIceGen.cs:182)
    UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
    DynamicIceGen:Update() (at Assets/Ruaumoko/Shared/Scripts/DynamicIceGen.cs:115)


    whats the error and how can i get ride of it, it makes the 4b demo not work :S
     
    Last edited: Jul 17, 2013
  37. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    Create a tag that is called "Sculptable" in the tag manager and it will work again! That's how the sculpting tool knows that a target game object supports sculpting. It should come in that way, with the tag created... I'll check that demo and see what's up with it.
     
  38. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    573
    Thank you very much, that solved the problem :)
     
  39. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    Dual Contouring: if anyone's interested in this I made a new thread showing my WIP on that front. http://forum.unity3d.com/threads/190875-New-Tool-Dual-Contouring-voxels-and-terrain-in-Unity

    This is a different way of creating surfaces that has some advantages over the Marching Cubes that Ruaumoko and other packages use right now. Basically D.C. is more accurate in most cases, produces more optimized meshes–but is also slightly CPU heavier. I'm thinking of putting it up as an extension to the current package when it's stable!
     
  40. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    HOWTO: X-Box controller trigger: mapped to Sculpting Tools - RANGE Strength value ??

    Can someone help me understand how to setup a basic C# script that allows an x-box controller's front L/R triggers to apply power to digging fill ?

    I have both dig and fill buttons setup on my gamepad. I simply changed x y input values from mouse button to Fire1 Fire 2 buttons. This simply turns power on/off but I'd like to control the range and strength by squeezing the trigger located at the front L / R of the game pad.

    Left trigger = dig: apply more trigger slowly increases dig strength range,
    Right trigger = fill: apply more trigger increases fill strength,

    note: triggers are allocated to the " 5th axis " I've also loaded drivers from tattie.net that allows OSX X-box controller
     
    Last edited: Jul 19, 2013
  41. Curious

    Curious

    Joined:
    Nov 19, 2009
    Posts:
    334
    Holy Moly!
    Dual Contouring and HistroPyramids have always been my favorite, now the first one will be available in Ruaumoko :)

    Can't wait to see them integrated in Ruaumoko :D

    Keep up the good work bro
     
  42. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    I'm interested in your package, looks good, plays with good performance. In particular I want to do 3d blobby objects within a larger environment where they might represent flowing liquid or something. I saw your liquid demo, looked quite good, although I really want a very smooth looking surface, like super smooth where you can barely (if at all) tell that it's made from triangles. I know that part of that will entail having proper normals and per-pixel lighting in order to `bend` the appearance of each triangle, but I'm mainly concerned about performance. I will likely need each blob particle to span multiple marching-cube cells in order to give it enough facets to look good. If I just add one particle somewhere in your data with a large size will it create that whole surface or do I have to add lots of particles to volumetrically fill out a larger area?

    What is the method for uploading/generating/refreshing `particles` made from marching cubes, like in your demo you have various balls moving around... how much data do the balls need to update their positions/sizes etc, and how much time does it then take to push that to the GPU? I presume you have to take some kind of input data, an array? part of an array? a 3d array? and then generate the mesh - does that entail regenerating an entire chunk of mesh or just the parts I change etc? Ideally I want it to look very smooth with lots of moving balls in a fairly large environment.

    My second question is about general modifications... like when the player shoots to add/subtract content. I want to be able to do `animate` the way in which stuff is added/removed, differently to your demos, ie maybe implement my own surface modification curve or make it change in a much smoother way, or with a different shape etc... is this possible? Is it built in to let you do that or do I need to kind of get dirty with some low-level data or something? This would be like if you had different weapons that affect the environment over different areas with different `falloff` for the influence etc. Possible?

    And instead of using flat textures I want to use a realtime generated 3D procedural texture which will be sampled at each pixel in 3D... I can modify your shaders to do this so long as they're not too much relying on being fixed how you wrote them? Like instead of using the tri-planar texturing could I strip that our or go with a basic version of the shader and then add-on some other rendering methods?

    And finally, it seems like you create collider meshes as well as visible meshes, are they the exact same per-triangle level of detail as the visible mesh? And thus objects in the scene just need to collide with a mesh collider to do physics?
     
    Last edited: Jul 28, 2013
  43. nosyrbllewe

    nosyrbllewe

    Joined:
    Oct 18, 2012
    Posts:
    182
    Do you plan to optimize it for mobile? On the Big Planet demo with the planet being 32 voxels wide on my Lumia 920 WP8 (Same specs as iphone 5), I get around 30 FPS, which is okay. But, when I dig/grow voxels, the framerate drops to as low as 3 frames per second. I would be grateful for any help on optimization of Raumoko for mobile. Is it the "gradual" digging that causes such a sharp drop in framerate? Should I make it instantly dig instead of changing dynamically? Thanks. EDIT: I forgot to mention that the triplaner shader doesn't work and just stretches the grass texture over the planet
     
    Last edited: Aug 4, 2013
  44. d_brane

    d_brane

    Joined:
    Jul 1, 2012
    Posts:
    3
    Hey! I bought Ruaumoko and really like it. I ran into kind of a big problem for me - when i try to start the application in fullscreen, it just quits. No message or any warning, maybe because the generation at the beginning makes Unity think it hangs? Fullscreen is really essential, since I'm working in a VR environment. UPDATE: Working for me in Unity 4.2!

    2nd is the topology build by the planet example. It's more of an aesthetic thing, but compared with the C4 Engine, the geometry build is looking very weird..
    Here a screenshot from a quick voxel test in the C4, when building sphere:
    $planet_wire.png
    Compared with Ruaumoko:
    $Screenshot (1).png

    EDIT: The fullscreen crash fixed itself, after updating to Unity 4.2 on Windows. Weird, but totally fine for me.
     
    Last edited: Aug 3, 2013
  45. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    @nosyrbllewe: optimization for mobile is tough. The frame rate drop you're seeing is due to collision mesh updates. Unity has to rebuild some big data structures in the physics engine every time mesh colliders are updated. This is noticeable even on high-end systems, and obviously killer on mobile platforms. Changing the sculpt paradigm to an instant modification, rather than gradual, would reduce or eliminate this problem. You would still have some pause while the mesh colliders reload, but hopefully it wouldn't be noticeable (or you could pop up some nice particle dust/smoke/fx to mask the sculpt spot for a few frames and give the illusion of dynamic sculpting!)

    @d_brane: I don't know what the crashes pre-4.2 are... I'll have to do a little experimenting to see what goes wrong. Glad it's working in 4.2! As for the sphere generation: what you're seeing is C4 using an optimized sphere model while Ruaumoko is running Marching Cubes over a bigger space (more vertices, as you can see) to build a spherical mesh. The extra seams are an artifact of Marching Cubes, and while not ideal are typically not a real problem (one might even argue they produce a smoother sphere). I'm about to release a Dual Contouring version that will produce meshes that are much closer to the C4 model (it will remove all those little split triangles in the Ruaumoko image you posted).
     
  46. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Could you do a non-gradual update to the collider but a gradual update to the visible mesh? Most likely someone modifying a block isn't going to be close enough to it to collide with it until after they're done sculpting it?
     
  47. bens1984

    bens1984

    Joined:
    Jan 18, 2013
    Posts:
    84
    Imaginaryhuman - sorry for the delay in response, you have some good questions!

    Super smooth, as you say, will require lots of triangles or other tricks to make the surface appear smooth. Having a blob span multiple marching-cube cells is entirely feasible, it's just a matter of how many you need to update per frame. A cell of 8x8x8 seems to be the consensus amongst the voxel engines as to the optimal block. I'm updating 21 blocks every frame, including updating mesh colliders (which is a huge performance hit), on a new MacBook Pro at 50 fps (as compared to 180fps+ when no updates are occurring). If you need to update many more it will drop your FPS. Then: using one particle blob or many volumetric particles shouldn't really impact things.

    Pushing data to the GPU: the "liquid" demo models a set of meta-ball particles, each with basic descriptors (position, size, velocity). Each frame these are translated into a 3D array that is used to rebuild the meshes (the voxel blocks). Only blocks that have changed (have a moving particle in range) need to be rebuilt. One optimization you could use is an LOD update model based on distance-reduce the block update rate for distant blocks (where the particles will only be a few pixels on the screen).

    As for the sculpting animation: that's one page of C# code. I think it's pretty easy to write new methods (grenade, earth gun, etc.) that could do whatever you want!

    Texturing is just like any other unity mesh. You're welcome to hack the ones I supply or use any others (I was playing around with the Steep Parallax shaders on the Asset Store for a while with some cool results). I haven't worked with 3D textures yet (as implemented in DX) so I can't speak to that, but if you have a handle on implementing them or your own then go for it!

    The mesh colliders, at the moment, are an exact triangle/vertex match of the visible geometry. I'm playing around with generating LOD mesh colliders in order to give a performance boost (i.e. have highly detailed visible geometry but lower detail mesh colliders). However this is also a few lines in C# so you can hack as you please!
    - hope these thoughts help!

     
  48. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Yes, thanks for the clarifications!
     
  49. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Any plans to include Dynamic Pathfinding ?
    I'd love to introduce Ai enemy to the terrain but impossible without pathfinding .. right ?
     
  50. nosyrbllewe

    nosyrbllewe

    Joined:
    Oct 18, 2012
    Posts:
    182
    I while back you posted this:
    Could you elaborate more on how to do this? I need to have mutliple materials saved into the data of the voxels and then a shader to output it. How would I do this? I am good at c#, but don't know how to write a simple shader. Thanks. Also, I am very intrested in a LOD mesh collider. Let me know how it progresses. Lastly, I would like to spawn tree prefabs on my procedural terrain. In which function would I use to spawn GameObjects on the actively generating "chunk"?

    EDIT: I forgot to mention that you need to fix the spawing. Can you make it so it shows a progress bar while the chunks are loading. Then, after it fills, automatically spawn the player on the highest point in the terrain in a specified XZ coords? I could probably do this myself, but I am pretty sure nobody would want their character spawned falling in their game.
     
    Last edited: Aug 11, 2013