Home Technical Talk

VR Modelling tool

Y_M
polycounter lvl 10
Offline / Send Message
Y_M polycounter lvl 10
The Story:
Since last week (Aug 6th) I've been working on a new tool for modelling in VR. It stems from the frustration that most VR modelling tools are too loose and freeform (Tiltbrush, Quill, Medium...). They all seem to have taken the ease of motion in VR to heart and run with it to the extreme. The result is models that can't be used in any game situation without cleanup done in a regular old flat monitor modelling tool.

The other extreme is something like Google Blocks, which can give nice low poly meshes that could fit right in to many current low poly styles. The tools it offers though lack many ways 3D modellers are used to interacting with meshes, quads and n-gons get triangulated the instant they become non planar, there's no edgeloop selection (because everything is triangulated), the poly splitting tools don't appear to work like any I've ever seen before and to top it all off if you extrude two faces that share a common edge, they're extruded individually instead of as a group, arrg!

Starting my own is something I've thought about since I got my Vive back in 2015, I just always thought that some big company with a full team of 9 to 5 workers would produce the tool I wanted faster and better than I could. But here we are, mid 2017, and VR modelling still lacks somewhat.

The Goal:
I'd like to take the low poly modelling process that I know from 3DSMax and take it into VR. I'd like to be able to start and finish an entire model inside one VR app, then export it straight to any game engine for immediate use. The primary focus is the mesh tools, once I'm happy with the mesh tools, further milestones will be UVs and texturing in the app too.

The Progress:
Aug 03:
Vert / Edge / Face selection all in, vert welding, deleting & removing, extrusion, collapsing

Aug 05:
Tools palette, rudimentary mesh grabbing, welding extended to verts on borders

Aug 07:
Multi-selection, edgeloop and border selection


The Next Steps:
  • Capping borders and inserting edgeloops
  • Grid snapping
  • Selection scaling
  • Mesh saving/loading
  • Smoothing groups
  • Colour palette picker instead of random

Replies

  • Davision3D
    Offline / Send Message
    Davision3D polycounter
    It is shaping up great! As a modeler who was very disappointed on the simple and lacking Google Blocks it is good to see something more professional getting created for VR.
    I was wondering If you intend to implement features for 2 hand interaction? Some examples:
    Stretching/scaling any selection by grabbing it with 2 hands.
    2 point face manipulation or even any selection, like you have one edge on one hand and a another edge on the the other hand and then you can freely manipulate the whole thing, move, rotate each edge, stretch. Might be really hard to pull off but could speed up modeling a lot versus single handed modeling.

  • Y_M
    Offline / Send Message
    Y_M polycounter lvl 10
    Thanks!

    I'm not sure on the two-handed manipulation front yet. Currently the left hand can grab the whole mesh, and the right is free to do any and all actions on it. I don't actually do it in any of the gifs I've made so far, but I regularly do it while testing. It's good for extruding, the new face or edge can stay where it is, while the rest of the model that's not the current focus can be pushed away from you.

    I'm wary of adding the two-point face/edge manipulation you suggest because it's felt odd in some VR stuff I've used in the past. But thinking about how I build in Fantastic Contraption, I use two hands to scale up those sticks a lot and I quite like that.
    So we'll see!

    I need to have a think about scaling too. Blocks does it with a granular up/down on a button click and I don't know that I liked that.
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    Love seeing lone wolves 'taking matters into their own hands' :) Love the fact that you've chosen the Zbrush polygroup colours approach. The bright colours with skinshade4 material always makes me happy when modeling with Zmodeler. :)

    Is that Unity you're using? If you're from a Max background have you thought about using Stingray for this? Considering the development of 'Max interactive'.
  • Autarkis
    Offline / Send Message
    Autarkis polycounter lvl 8
    That looks pretty good! I hope you keep on developing this, if you ever need alpha testers.... :)
    Mushidan, it definitely looks like a Unity tool.
  • Lt_Commander
    Offline / Send Message
    Lt_Commander polycounter lvl 10
    Coming from a max background, this looks very intuitive so far!

    I don't want to dissuade you but there is a relative newcomer to the VR modeling space: https://www.gravitysketch.com/vr/ It's definitely more traditional then the first run stuff and more powerful then blocks, but it's still very freeform, and expensive to boot.

    From the stuff you're showing though, I think I'd feel more at home in what you're making. I'm really curious to see how you tackle UVs! Good luck!
  • Y_M
    Offline / Send Message
    Y_M polycounter lvl 10
    @musashidan I haven't thought about Stingray because I didn't know it existed! Poly colours are random for now. When I add the colour palette, they'll default to the colour of the model, but individual faces will be colourable.

    @Autarkis Yep, sure is Unity!

    @Lt_Commander I've known about gravity sketch for a long time but I've not tried it yet due to the pricetag. It certainly looks like it has a lot of great features and has more fine control over meshes than the other apps I listed. Maybe I should sink the $25 and actually look at it in detail!


    Today's progress was getting border capping working. I had to fix a bug in border selection too so I couldn't get edgeloop insertion working. Tomorrow!
  • TheGabmeister
    Offline / Send Message
    TheGabmeister interpolator
    Great work!

    I'm also one of those guys who are looking for VR modeling tools with functionalities like what you're showing above. Can't wait to hear more.

    I've tried Tiltbrush and Google Blocks. I think that the approach these tools are addressing is towards perfecting the user experience, not really the modeling functionalities. Since VR is a totally new medium, most of the modeling techniques we know for the traditional 2d screen + mouse might not be the best approach. We're still in the wild west of VR where new ideas keep popping here and there. Exciting times indeed.

    Just to share, here is a screenshot of a model I created in Blocks (I just thought my GPU looked like a low-poly object).



    I did it for 2 hours, and it was very tiring since my hands were always making gestures (resizing, dragging, rotating, pointing, etc). When the model starts becoming complex, the components become harder to select especially when close to each other. On the bright side, the creators of Blocks were able to introduce a lot of new ideas for the user interface. 

    Excited to hear more of what you're creating :)
  • Gannon
    Offline / Send Message
    Gannon interpolator
    Super neat - tools like tilt brush, medium and now this have proven to be incredibly useful for developing for VR. Can't wait to get my hands on it.
  • Gaurav Mathur
    Offline / Send Message
    Gaurav Mathur polycounter lvl 12
    Looking forward to trying this on the RIft, @Y_M!  Google Blocks is exciting, but falls short for the reasons others have described above.

    When you're ready for user feedback, I suggest you reach out to Don Carson, a concept artist for video games and theme parks who is currently exploring VR and loving it!  He's putting a lot of time into translating his drawings into charming 3D models with Google Blocks.  It would be great to get him doing work with your tool and taking his feedback on how to make your tool even better.

    Don's blog is pretty dense with good articles and amazing artwork:
    http://themedenvironments.blogspot.com/?view=flipcard
  • Demon891
    Offline / Send Message
    Demon891 polycounter lvl 4
    That is so fucking cool!!! OMG Looks better than Blocks or Tilt brush. If you release it for oculus i will buy this instantly :dizzy:
  • Sunray
    Offline / Send Message
    Sunray polycounter lvl 7
    Looks fkng awesome!
  • Y_M
    Offline / Send Message
    Y_M polycounter lvl 10
    Thanks for all the positive comments so far Polycounters! ^_^

    The great news for today is that edgeloops and capping borders are in!
    I got a bit busy with ~real~life~ so it took a few days more than I was hoping but to have it done is a great relief. Border capping can get a bit iffy if the border is concave, but it's pretty good for 'sensible' borders. With both the border capping and edgeloop inserting I feel like there's potential for polygons to be inverted accidentally, though it doesn't seem to happen yet. I'll be investigating ways to keep the normals pointing the right direction soon I guess.


  • Gaurav Mathur
    Offline / Send Message
    Gaurav Mathur polycounter lvl 12
    The ability to import reference images was a big step forward for Oculus Medium.  Hope this is on your roadmap, @Y_M ?  It wasn't on your Next Steps list.
  • mbbmbbmm
    Offline / Send Message
    mbbmbbmm polycounter lvl 3
  • Y_M
    Offline / Send Message
    Y_M polycounter lvl 10
    gauravcm said:
    The ability to import reference images was a big step forward for Oculus Medium.  Hope this is on your roadmap, @Y_M ?  It wasn't on your Next Steps list.
    It is! It'll come sometime after I do saving and loading since they both need to be hooked into a file browsing system.

    I'm taking a few days off from this, when I start up again I'll be doing an optimisation pass on my code since frames can pretty quickly get to over 11ms. SteamVR is good at preventing stalls, but even a 12ms frame timing is visible as stuttering!

    I know a lot of ways I can optimise all my current code so hopefully I'll get it back down to acceptable levels!

    Until then, enjoy the little video I was recording when I discovered these issues: 
  • aaronaton
    Offline / Send Message
    aaronaton polycounter lvl 6
    I've always wanted to create a wonky box, whilst standing and in double the time...
  • wcoastsands
    Offline / Send Message
    wcoastsands polycounter lvl 12
    This is awesome :smiley:

    I'd love to help test, or even review code if you want. Feel free to ping me directly here or on twitter. I'm also on GitHub.

    Which version of Unity are you building this for?
  • Y_M
    Offline / Send Message
    Y_M polycounter lvl 10
    Thanks @wcoastsands. This is 5.5 because it's what I already had installed for other projects that haven't yet swapped to 5.6 or 2017

    I'm spending some time working on this optimisation stuff currently and it's a challenge!
  • Zelfit
    Offline / Send Message
    Zelfit polycounter lvl 8
    I hope you will continue. At this moment every 3d software suck. Including Gravity Sketch. They are more toys than real tools and can be used only by concept artists to rough blocking for render and overpaint in photoshop.
  • Gerald
    "I just always thought that some big company with a full team of 9 to 5 workers would produce the tool I wanted faster and better than I could."

    It really blows my mind that from VR advertising to model creation we are still at such a low level of actual solutions. Makes one wish to timetravel back ;)
  • Hades-1
    is there a beta version we can test somewhere?
Sign In or Register to comment.