Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Unity capabilities questions

Discussion in 'iOS and tvOS' started by bansheesoft, Oct 3, 2014.

  1. bansheesoft

    bansheesoft

    Joined:
    Oct 3, 2014
    Posts:
    60
    Hello all I created a game called mission Europa several years ago on my own engine. I now want to go cross platform on mobile devices from just the iOS and was looking into using unity. I hope to make another game of the year as I was awarded from touch gen way back when in 2011. I have a few questions as to unities capabilities and I am sure they are all there but this could save me a ton of time if anyone has experience with this.

    1. I require the ability to combine meshes into one mesh sharing one shader on the fly. I create my enemies from a pool of parts.

    2. I also require that I can generate a texture map at runtime to bring those parts batches or draw calls down to just a few with all the parts they are made of instead of drawing each part.

    3. I also randomly generate the level from a collection of rooms and door pieces. This includes AI navigation meshes and collision/physics for each room.

    4. Simple web calls to a sever for mail and players passing parts.

    5. Ability to attach models to bones in game ie pick something up or equip something.

    6. Instancing of sorts where one skeletally enveloped/skinned mesh is updated via an animation and drawn many times on the screen albeit the same pose per master instance.

    7. Shadow mapped lighting where the scene is rendered from the cameras point of view and then referenced via shader as to if that fragment is in shadow or not. Or other advanced lighting. I will probably just need to research this.

    8. Landscape or terrain transition to indoor as far as occlusion culling, AI pathing, lighting, and cutting through the landscape sector so one can descend.

    9. Content additions post release via server downloads.


    10. Is it a scene graph based engine, draw list etc.


    11. I used blender due to cost and it is a pretty capable toolset what is the asset pipeline from blender to unity.


    12. iOS uses pvrtc and not the standard dtx sadly as far as multiple platform transitions what is the process of texture compressions? Separate asset trees?


    It's not a lot but I have been through so many other engines that are so closed it is impossible to do the above all in one, even the unreal engine I used back in the day in professional gaming was horrible to shoe horn into new ideas.

    I was hoping unity provided the openness to achieve those goals and if so am I correct in reading to produce for the iOS (I have been a developer since its inception) it requires 150 a month total with a 30 free trial to be sure it is open to the requirements.

    Thank you so much for anyones time!!
     
  2. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Unity can do all that. You need to learn how and one forum post won't do it :)

    1. I require the ability to combine meshes into one mesh sharing one shader on the fly. I create my enemies from a pool of parts.


    Since I don't know how many of whatever you've got or need I'll just go over a couple:

    - a uberskinned mesh where you have all the parts with one bone each. You can dump the invisible ones at a scale of 0 and these would be degenerate triangles to the GPU afaik. You suffer a mild bone cost, but 1 draw call is pretty good.

    - keeping mesh triangles, vertices, uv around as arrays and doing straight up copy from one array to another. This is building a mesh on the fly and isn't really expensive at all if you're doing it on 1 frame. Doing it every frame isn't so hot. Make sure you're working with arrays you allocate and not getting the array from an existing mesh each frame. Ie cache it.

    But, I think you're grotesquely overestimating the problem and should ignore this until later in dev. Get a feel for Unity's pressure points first. Doing 100 draw calls is nothing in Unity.

    2. I also require that I can generate a texture map at runtime to bring those parts batches or draw calls down to just a few with all the parts they are made of instead of drawing each part.
    Sure, use render textures.

    3. I also randomly generate the level from a collection of rooms and door pieces. This includes AI navigation meshes and collision/physics for each room.
    You can do that, but given the state of Unity's navmesh I would recommend rolling your own A* or checking out one of the many available A* assets since you're looking to generate at runtime.

    4. Simple web calls to a sever for mail and players passing parts.
    Yeah, Unity's www class.

    5. Ability to attach models to bones in game ie pick something up or equip something.
    transform.parent = otherTransform; This is the hierarchy. Parent/Child. You need to dig in and get some Learn tutorials out of the way. http://unity3d.com/learn

    6. Instancing of sorts where one skeletally enveloped/skinned mesh is updated via an animation and drawn many times on the screen albeit the same pose per master instance.
    Unity will let you access a .sharedMesh as a reference in another Meshfilter. See docs and this'll make more sense later.

    7. Shadow mapped lighting where the scene is rendered from the cameras point of view and then referenced via shader as to if that fragment is in shadow or not. Or other advanced lighting. I will probably just need to research this.
    I'd like to know the answer to that too, so please PM me if you find out! I know it's possible, I just haven't worked out how either.

    8. Landscape or terrain transition to indoor as far as occlusion culling, AI pathing, lighting, and cutting through the landscape sector so one can descend.
    If using Unity terrain unfortunately we enter the realm of Ugly hacks. Namely http://wiki.unity3d.com/index.php?title=DepthMask for cutting a hole visibly in an opaque mesh (the terrain) and then drawing the internals. But you would still need colliders to switch your terrain collision off when entering and some form of middle transition mesh/collider. In any case, its easier in each instance to just generate your own terrain with holes in it.

    9. Content additions post release via server downloads.
    These are called asset bundles in Unity pro. You can't really do that on iOS if it contains code though.

    10. Is it a scene graph based engine, draw list etc.
    Uh, sort of.

    11. I used blender due to cost and it is a pretty capable toolset what is the asset pipeline from blender to unity.
    Excellent with native support. Hit save and see it update in game in editor on the fly.

    12. iOS uses pvrtc and not the standard dtx sadly as far as multiple platform transitions what is the process of texture compressions? Separate asset trees?
    Unity will handle it all for you. Yes you can specify per platform per asset within the editor to override too.



    Unity is open to the extent you can always get the solution you want but it won't always do it for you, so some work is required. There's a few irritating bits for people wanting to be uber advanced and custom, but by large I haven't hit many walls and I tend to pressure Unity in a fair few ways.
     
  3. bansheesoft

    bansheesoft

    Joined:
    Oct 3, 2014
    Posts:
    60


    Thank you so much you saved me a ton of time! Over all it looks like a good choice any engine has is limits but unity seems to be open enough for my future goals! Thanks again for the time. I will now dog into the docs!
     
  4. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Good luck. We're here on the forums if you need us!