Hello everyone.

The Mixed Reality Forums here are no longer being used or maintained.

There are a few other places we would like to direct you to for support, both from Microsoft and from the community.

The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.

For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.

If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.

And always feel free to hit us up on Twitter @MxdRealityDev.
Options

How to draw like in Skype?

Hello,

I want to make drawings in my app, like when you draw in Skype. I wanted to know if there were already projects doing this, and if you can give me pieces of advice to do it.

Thank you in advance and have a great day. :)

Tagged:

Best Answer

  • Options
    FrimyFrimy
    Answer ✓

    I finally used LineRenderer, and it works fine! :) thank you everybody.

Answers

  • Options

    There are some 3D drawing applications currently in the store. But as for remotely drawing on someone elses surfaces, I haven't seen that.

    The way I would implement it would be to render the drawing strokes into an image / texture with a transparent background, then render that texture on a quad. The quad would be placed at the physical location in the world and rotated to face the user at the moment the drawing is started. This would allow you to draw circles around objects, etc. based on the location and perspective of the user and would yield a similar effect to what you see in Skype.

    Our Holographic world is here

    RoadToHolo.com      WikiHolo.net      @jbienz
    I work in Developer Experiences at Microsoft. My posts are based on my own experience and don't represent Microsoft or HoloLens.

  • Options

    Thank you very much for your answer. I'm going to try that!

  • Options

    @Frimy
    I haven't tried it myself, but here is a sample on GitHub by one of the regional Microsoft evangelists that might do some of what you are looking for.

    HTH.

    Windows Holographic User Group Redmond

    WinHUGR.org - - - - - - - - - - - - - - - - - - @WinHUGR
    WinHUGR YouTube Channel -- live streamed meetings

  • Options

    We added drawing to HoloMaps and you can also see it in our pga app here:

    We used Vectrosity. I made it so the drawing is always on the surface of the map but you could also just do it in 3D space... that would be easier as you just take the hand position during manipulation.

    We used vectrosity to handle the drawing. Its an awesome 3rd party asset in the unity store. But with Unity 5.5 they added native line drawing so perhaps that would be a good place to start. I haven't personally checked that out yet.

    But in any case, I'd start with the manipulation gesture. Track where their hand is and draw a line that offsets from where the cursor was when they started the manipulation gesture.

    Taqtile

  • Options

    Thank you to both of you! I am starting with the link of Holosheep, for the moment I am fighting against the error "The type or namespace name 'X509Certificates' does not exist", so I keep you informed (and if you have clues about this error, I would be happy, thanks). ^^

  • Options

    Are you in Unity? And is your Unity targeting 'Windows Store'? If so, check your build settings

    Taqtile

  • Options

    Hello yes I'm in Unity, I'm targetting Windows Store and all the classical settings for Hololens (Universal 10, D3D...).

  • Options

    @mark_grossnickle

    We used Vectrosity. I made it so the drawing is always on the surface of the map but you could also just do it in 3D space... that would be easier as you just take the hand position during manipulation.

    Hi Mark, how did you get the vectrosity to draw on the map surface ?

    ta

  • Options

    We used the gaze manager. And then offset the start point of the gaze manager's ray cast by the amount they dragged their hand.

    It makes for some weird effects and could probably be improved upon but its a good starting point.

    Taqtile

  • Options

    @mark_grossnickle said:
    We used the gaze manager. And then offset the start point of the gaze manager's ray cast by the amount they dragged their hand.

    It makes for some weird effects and could probably be improved upon but its a good starting point.

    Does this mean that the user's gaze will be the starting point as indicated via cursor? Then when the hand air-taps, the cursor can be dragged as it leaves a paint trail?

  • Options

    @mark_grossnickle, great work as always! It's always cool seeing what you come up with.

    The "drawing on a quad" approach I mentioned above is actually very close to what Skype does. When you draw in Skype it attempts to position the drawing at the nearest surface and it attempts to orientate the drawing based on the perspective the HoloLens user was seeing at the moment the remote user clicked the snapshot button in Skype. (I know this sounds a little confusing, but if you play with both sides of the conversation for a few minutes you'll understand what's going on.)

    This approach is not nearly as detailed as what Mark and his team are doing and this approach does not allow individual strokes to follow the surfaces of the objects. But because it is essentially just a texture it renders very quickly with little impact.

    I would recommend you take a look at both approaches and choose the one that best meets your needs.

    I hadn't heard of vectrosity before Mark, thanks for that tip. Adding it to my toolbag. :)

    Our Holographic world is here

    RoadToHolo.com      WikiHolo.net      @jbienz
    I work in Developer Experiences at Microsoft. My posts are based on my own experience and don't represent Microsoft or HoloLens.

  • Options

    @mark_grossnickle Thanks for the reply. Since my last message i've been playing around, and can draw multiple lines on surfaces using the users hand position (and projected forward a little).
    I am calling Draw3DAuto so that if the gameobject the line is sitting on moves, the line moves with it.

    My only gripe is that if I move my head left or right a little (during drawing or after it is complete), various parts of the line flicker in/out. Has anyone experienced that?

  • Options

    hmm. I have not seen a flicker. It almost sounds like when you put 2 textures on the same z and they flicker. Perhaps you are drawing 2 lines? One on top of the other? Otherwise I'd reach out to the vectrosity forum. They are active and perhaps someone else has seen something similar in a non-hololens capacity.

    Taqtile

  • Options
    edited November 2017

    @mark_grossnickle said:
    We used Vectrosity. I made it so the drawing is always on the surface of the map but you could also just do it in 3D space... that would be easier as you just take the hand position during manipulation.

    We used vectrosity to handle the drawing. Its an awesome 3rd party asset in the unity store. But with Unity 5.5 they added native line drawing so perhaps that would be a good place to start. I haven't personally checked that out yet.

    Vectrosity is free.... or I have to pay for it?....

    I need to draw some lines in the free space, taking the hand position... just as you mention it... is that posible with LineRenderer?... what do you mean with "native line drawing"? I'm looking for alternative to do this. I hope you can help me.

  • Options

    Vectrosity is free.

    I would think it would be possible with LineRenderer but I haven't used it. LineRenderer is what I meant by the native line drawing that unity provides.

    Taqtile

  • Options
    FrimyFrimy
    Answer ✓

    I finally used LineRenderer, and it works fine! :) thank you everybody.

Sign In or Register to comment.