Is there a best way to use 3Dconnexion for object scaling?

Post questions, comments and feedback to our 3Dconnexion Windows Development Team.

Moderator: Moderators

Post Reply
superwavelet
Posts: 9
Joined: Tue Jan 20, 2015 5:38 pm

Is there a best way to use 3Dconnexion for object scaling?

Post by superwavelet » Tue Mar 03, 2015 9:19 pm

Hi, I just bought a SpaceMouse Pro and kind of interested in the object manipulation (translation and rotation of the teapot). However, not sure how to use the SpaceMouse Pro to do object scaling (I mean, change the size of the teapot)

I think maybe use a switch button? Then, when the button is not clicked, the forward and backward of the 3Dconnexion controller cap will move the object forward and backward. If the button is clicked, then the forward and backward of the 3Dconnexion controller cap will make the object larger or smaller. Not sure if the scaling should work this way?

Or, with the combination usage of SpaceMouse and conventional mouse, we should still use the conventional mouse for object scaling?

Thanks a lot.

ngomes
Moderator
Moderator
Posts: 2412
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: Is there a best way to use 3Dconnexion for object scalin

Post by ngomes » Wed Mar 04, 2015 1:26 am

Hi superwavelet,

In the higher end of the product range, there are two buttons to increase and decrease the "speed" of the device (change the scaling factor of the motion sensor). You could assign two actions to two different buttons, one to increase the size of the object and the other to decrease.

superwavelet
Posts: 9
Joined: Tue Jan 20, 2015 5:38 pm

Re: Is there a best way to use 3Dconnexion for object scalin

Post by superwavelet » Wed Mar 04, 2015 7:16 am

ngomes wrote:Hi superwavelet,

In the higher end of the product range, there are two buttons to increase and decrease the "speed" of the device (change the scaling factor of the motion sensor). You could assign two actions to two different buttons, one to increase the size of the object and the other to decrease.

Thanks a lot.

So, you mean, instead of using the controller cap (forward and backward movement), the standard way for 3Dconnexion product to change the size of the object is rely on pushing buttons around the cap?

Thanks again.

ngomes
Moderator
Moderator
Posts: 2412
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: Is there a best way to use 3Dconnexion for object scalin

Post by ngomes » Wed Mar 04, 2015 7:23 am

Not sure what you mean by "size".

Pushing cap backward/forwards will move the view/camera nearer or farther (depends on application and/or navigation mode) to the model (the teapot). If you bring a camera (or "eye" position) closer to a model, the "size" drawn on the display (the projected render) will increase but the model "size" (say, measured in inches or meters) will stay constant.

If you are developing 3D mouse support in your application, you need to change the "zoom" level for parallel/orthographic projections and move the camera (or "eye" and/or "target" positions) for perspective projects.

Refer to the 3DxWare SDK doc for additional details.

Now, if you want to change (edit) a model's size, then you can assign such an action to a button, just like we pre-assign a "speed increase" to the "+" button of some 3D mice.

superwavelet
Posts: 9
Joined: Tue Jan 20, 2015 5:38 pm

Re: Is there a best way to use 3Dconnexion for object scalin

Post by superwavelet » Wed Mar 04, 2015 8:01 am

ngomes wrote:Not sure what you mean by "size".

Pushing cap backward/forwards will move the view/camera nearer or farther (depends on application and/or navigation mode) to the model (the teapot). If you bring a camera (or "eye" position) closer to a model, the "size" drawn on the display (the projected render) will increase but the model "size" (say, measured in inches or meters) will stay constant.

If you are developing 3D mouse support in your application, you need to change the "zoom" level for parallel/orthographic projections and move the camera (or "eye" and/or "target" positions) for perspective projects.

Refer to the 3DxWare SDK doc for additional details.

Now, if you want to change (edit) a model's size, then you can assign such an action to a button, just like we pre-assign a "speed increase" to the "+" button of some 3D mice.
Thank you so much. yes, what I want to do is to change the model's size, like expanding a bubble, but keep the camera at a fixed location. However, I am not sure which way to change the size is better? Because I think maybe we could move the cap forward and backward to increase/ decrease the model size. But I am not sure if this method is not as good as you mentioned using the button.

Moreover, since the SpaceMouse is made for CAD, do you know if there is a standard way in the 3Dconnexion usage about changing the size of the model?

Thanks

ngomes
Moderator
Moderator
Posts: 2412
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: Is there a best way to use 3Dconnexion for object scalin

Post by ngomes » Wed Mar 04, 2015 8:08 am

superwavelet wrote: since the SpaceMouse is made for CAD, do you know if there is a standard way in the 3Dconnexion usage about changing the size of the model?
CAD is just one application. 3D mice are great for any 3D editing application.

The 3D mouse "motion" data are just a sort of "analog" axis. Mapping an axis to edit a model is very doable. It just depends on what you're trying to do (what the application's for).

superwavelet
Posts: 9
Joined: Tue Jan 20, 2015 5:38 pm

Re: Is there a best way to use 3Dconnexion for object scalin

Post by superwavelet » Wed Mar 04, 2015 8:19 am

ngomes wrote:
superwavelet wrote: since the SpaceMouse is made for CAD, do you know if there is a standard way in the 3Dconnexion usage about changing the size of the model?
CAD is just one application. 3D mice are great for any 3D editing application.

The 3D mouse "motion" data are just a sort of "analog" axis. Mapping an axis to edit a model is very doable. It just depends on what you're trying to do (what the application's for).
I want to make a kind of game like building blocks. So the player could select some boxes and change the size of them and place one onto another and build some interesting shapes in the computer.

So, in the process, the player needs to change the size of the boxes or other elements. I think this should be similar to CAD modeling? So, I was just wondering if there is a standard way to change the model size in CAD by using the 3DConnexion. Or, since in CAD software, 3DConnexion is combined with standard mouse, so, we should still use the standard mouse to change the model size?

Thanks

ngomes
Moderator
Moderator
Posts: 2412
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: Is there a best way to use 3Dconnexion for object scalin

Post by ngomes » Wed Mar 04, 2015 8:29 am

In CAD application, the 3D mouse is use to manipulate the "view" (think the "virtual camera" with which end-users observe the virtual scene). The pointing device is then use to make changes to the model (pick a slider and move it to change size, for example).

It's a two-hand scenario. If a user is right-handed, the 3D mouse is normally used by the left hand and with the other hand being used for point-and-click.

I suggest that you follow the same paradigm: use the 3D mouse for "navigating" the scene (move the camera around) and use the normal mouse to change size of the model. For example, you could display a slider when the mouse pointer is moved over the model, then users could pick the slider "thumb" and easily change size.

superwavelet
Posts: 9
Joined: Tue Jan 20, 2015 5:38 pm

Re: Is there a best way to use 3Dconnexion for object scalin

Post by superwavelet » Wed Mar 04, 2015 8:44 am

ngomes wrote:In CAD application, the 3D mouse is use to manipulate the "view" (think the "virtual camera" with which end-users observe the virtual scene). The pointing device is then use to make changes to the model (pick a slider and move it to change size, for example).

It's a two-hand scenario. If a user is right-handed, the 3D mouse is normally used by the left hand and with the other hand being used for point-and-click.

I suggest that you follow the same paradigm: use the 3D mouse for "navigating" the scene (move the camera around) and use the normal mouse to change size of the model. For example, you could display a slider when the mouse pointer is moved over the model, then users could pick the slider "thumb" and easily change size.
Thank you very much, I am also watching your official tutorial video. However, since I want to move the elements (small boxes) in the scene to pile up building blocks, I think using the SpaceMouse cap to move the objects in the scene is much easier than using the standard mouse.

Do you think I should not only use the SpaceMouse for view manipulation and also for the object (small boxes) manipulation?

Thanks

ngomes
Moderator
Moderator
Posts: 2412
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: Is there a best way to use 3Dconnexion for object scalin

Post by ngomes » Wed Mar 04, 2015 9:19 am

superwavelet wrote:Do you think I should not only use the SpaceMouse for view manipulation and also for the object (small boxes) manipulation?
I think you can do both: if the item is selected, you can move the object around (and rotate it) with the 3D mouse. If no valid object is selected, then you can use the 3D mouse to the move the camera. We have an identical feature in some CAD application: we call it "sub-part movement" and it allows end-users to use the 3D mouse to place parts in an assembly. Precise placement is still something that is best achieved with a pointing device (normal mouse, touchpad).

superwavelet
Posts: 9
Joined: Tue Jan 20, 2015 5:38 pm

Re: Is there a best way to use 3Dconnexion for object scalin

Post by superwavelet » Wed Mar 04, 2015 11:04 am

ngomes wrote:
superwavelet wrote:Do you think I should not only use the SpaceMouse for view manipulation and also for the object (small boxes) manipulation?
I think you can do both: if the item is selected, you can move the object around (and rotate it) with the 3D mouse. If no valid object is selected, then you can use the 3D mouse to the move the camera. We have an identical feature in some CAD application: we call it "sub-part movement" and it allows end-users to use the 3D mouse to place parts in an assembly. Precise placement is still something that is best achieved with a pointing device (normal mouse, touchpad).

Great! Thank you!.

I just notice the speed you mentioned earlier. So, we could set the "speed" resulted from the cap sensor. However, is there a standard speed for moving objects? Since I noticed in the example program:

Code: Select all

  TCHAR buff0[30];                            /* text buffer for TX */
So, not sure how to set the best movement (translation and rotation) speed of the object in the scene?
Is there a standard object movement speed in the scene correspond to the SpaceMouse controller cap?

thanks again

ngomes
Moderator
Moderator
Posts: 2412
Joined: Mon Nov 27, 2006 7:22 am
Contact:

Re: Is there a best way to use 3Dconnexion for object scalin

Post by ngomes » Wed Mar 04, 2015 12:13 pm

superwavelet wrote: So, not sure how to set the best movement (translation and rotation) speed of the object in the scene?
Is there a standard object movement speed in the scene correspond to the SpaceMouse controller cap?
Please refer to the 3DxWare SDK for Windows documentation, in section "Device Information" > "Data Supplied" > "Navigation Velocity".

In the end, you may also need to adjust the speed scaling to what you believe makes sense to your specific application. End-user then have the option to increase or decrease the scaling by using the driver proprieties panel.

Post Reply