Search Unity

Pro Developer Using Unity + Razer Hydra + Occulus Rift but...?

Discussion in 'General Discussion' started by Arowx, Mar 17, 2013.

  1. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Check this article out, apologies if you have already seen it.

    http://www.roadtovr.com/2012/09/27/virtual-reality-game-oculus-rift-razer-hydra-1372

    [video=youtube;KjtQwk7zg24]http://www.youtube.com/watch?feature=player_embedded&v=KjtQwk7zg24

    But in the article the developer mentions that the Unity API is not exposing DirectX and PhysX features that he could be utilizing to improve the games performance.

    Just wondering if there are any pro game developers using Unity that could comment on what advanced features DirectX, OpenGL and PhysX have that could be exposed used in Unity but are not available?

    Now before you start going on about he's not doing anything amazing he's just using a bunch of blocks, I do think that Unity due to it's port everywhere philosophy may be limiting it's own potential on higher performance platforms and this is the issue I would like to explore.

    Could Unity work faster and better than it does if it were to enable some higher performance features in the Graphical and Physics libraries it uses?
     
  2. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,660
    There's a F***ton of things. Off the top of my head, from a Direct3D point of view:

    • Proper instancing support
    • Configurable vertex formats, so we can compress our vertices better
    • Texture arrays
    • Occlusion queries
    • Partial buffer locking/updating
    • GPU skinning
     
  3. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Good points superpig.

    The article does mention the limitations of the Unity Physx api with regards to the joint system vs other physics api's I'm wondering how well the Unity Phyiscs system features compare to current generation Physics e.g. Havok, Bullet ect?
     
  4. Mickman

    Mickman

    Joined:
    May 9, 2012
    Posts:
    153
    interesting thread.. So Unity is truly lacking in PhysX

    I'm especially interested in getting the Hydra operational in Unity. I have the hydra, Unity4 pro awaiting the Oculus Rift.
     
  5. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    I think the PhysX implementation in Unity is adapted to perform on mobile, but has not adopted the updates and features you find in the current PhysX SDK, e.g. GPU accelerated physics ect.

    And in the article mentioned it appears to be issues with the Joint physics within Unity that were casing problems/limiting the developer.

    from here http://www.mtbs3d.com/phpbb/viewtopic.php?f=140&t=15471#p81499

    What's interesting is the fact that the Oculus Rift requires stereoscopic images, two offset views and the developer is saying that DX10/11 hardware instancing would improve the performance of having to draw the scene twice.

    Unfortunately this is a DirectX feature that is not available within Unity at the moment (Unity 4.1.1).

    And as the makers of the Rift are highlighting the need for 60fps with minimal lag to get the best VR experience this could impact the Quality of the VR games made with Unity.
     
    Last edited: Mar 23, 2013
  6. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    In balance further into the forum discussion he does say this in defence of Unity

     
  7. Aabel

    Aabel

    Joined:
    Nov 4, 2012
    Posts:
    193
    This demo was developed before Unity 4 I believe. I wonder if the issues he had are still present?
     
  8. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Good point as he is using an ad hock IK rig, and the new Mechanim animation system supports IK rigs.

    I wonder how well Mechanim would work in a sword fighting game?
     
  9. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    I cannot answer what a PC developer misses using unity. I wish to share some thoughts though. I believe that unity is not a solution for everything. The more you choose to focus in a platform, the more specific solutions you will need and the more difficult will be to move to another platform. As time passes, platforms come and vanish, which makes multi platform solutions valuable, with some compromises. It worth knowing these compromises, so I see the importance of this thread.
    A client wished me to develop a project in obj-c. I told him it does not worth the effort, since, if the project succeeds, it will be trapped in apple platforms. Until next major revision. Or maybe this becomes a killer project and everyone gets rich, because it specifically uses unique characteristics of this platform.
    People choose where to place their efforts. No right answers here.
     
  10. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Most likely, yes, but to me at least that's not a negative. Unity isn't a tool I use to get the best out of a single platform, it's something I use to get the most out of as many platforms as possible - and I think that that's probably a design goal of Unity as well. I happily forgo features that let me get more out of high end PCs or other specific devices because they're not something we'll be using for our games.

    As an indie developer, I don't necessarily care about being able to add the newest DX11 effects to my game. I do care about being able to deploy it to iOS and Android and PC and Mac and (hopefully I get the privilege to put it on) some consoles later on. Our design reflects this, and it's a huge part of the reason we picked Unity. We could have picked other tools that would get better results out of any one of those platforms, but something that lets us target so many platforms with a feature set that surpasses what we need? Unity's a winner there.

    Just to be clear, though, our game is designed for "lowest common denominator" in terms of input and hardware. We don't want to do anything that won't work on all of the above platforms with minimal changes or, if possible, no changes at all. It's not just our implementation that's cross-platform, it's the design, and when designing that way Unity more than covers 95% of your needs. But also, when you're designing that way, you don't typically need (or even want) low level stuff like what's being discussed here to be exposed. Starting to play around with stuff that's platform-specific adds unwanted complexity, which is bad for our kind of game. But it would be a great thing for people targeting specific platforms rather than varieties of platforms.
     
  11. kablammyman

    kablammyman

    Joined:
    Nov 22, 2010
    Posts:
    507
    well said. This is why so many indies like unity, its easy to get your game on as many platforms as possible. People just need to realize that unity isnt gonna be pushing technical limits on any one platform, but it doesn't try to. Sometimes *I* need to remember that! Unity's way is just a different mindset then what I grew up with.
     
  12. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    wow, great thread...

    I'm interested in how well unity will integrate with The Hydra, Rift + Unity's Mecanim.

    What would be the minimum spec machine I could get away with that will allow for smooth fast paced motion..such as in a fight scene that takes place on horse back... I guess it comes domes down to many factors within Unity... I'm no programmer but I'd say real low draw calls is the key + simple textures, might let you get away with fluid motion. I wonder if a few bots running about in the background on a navmesh are a bad idea ?