Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-02-17 15:17:31 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-02-17 15:17:31 +0400
commitd39ffd72174c28a66c3a8d97054d67cc372f088b (patch)
treec7ee115fe8820ddb7e8b2d916ef5da2e1780e596 /source/blender/editors/space_view3d/view3d_walk.c
parentd8d7d8e1e3c18bee520f308eead4cf967fbd7b87 (diff)
NDOF: remove bias for translation
Was noticeable (and annoying) that different axis had different speed, if we want to have axis bias better do as a user preference.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_walk.c')
-rw-r--r--source/blender/editors/space_view3d/view3d_walk.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/source/blender/editors/space_view3d/view3d_walk.c b/source/blender/editors/space_view3d/view3d_walk.c
index e65cd3cb7e4..426a9a69f07 100644
--- a/source/blender/editors/space_view3d/view3d_walk.c
+++ b/source/blender/editors/space_view3d/view3d_walk.c
@@ -1238,28 +1238,20 @@ static int walkApply_ndof(bContext *C, WalkInfo *walk)
rv3d->rot_angle = 0.0f; /* disable onscreen rotation doo-dad */
if (do_translate) {
- const float forward_sensitivity = 1.0f;
- const float vertical_sensitivity = 0.4f;
- const float lateral_sensitivity = 0.6f;
-
float speed = 10.0f; /* blender units per second */
+ float trans[3];
/* ^^ this is ok for default cube scene, but should scale with.. something */
-
- float trans[3] = {lateral_sensitivity * ndof->tvec[0],
- vertical_sensitivity * ndof->tvec[1],
- forward_sensitivity * ndof->tvec[2]};
-
if (walk->is_slow)
speed *= 0.2f;
- mul_v3_fl(trans, speed * dt);
+ mul_v3_v3fl(trans, ndof->tvec, speed * dt);
/* transform motion from view to world coordinates */
mul_qt_v3(view_inv, trans);
if (flag & NDOF_FLY_HELICOPTER) {
/* replace world z component with device y (yes it makes sense) */
- trans[2] = speed * dt * vertical_sensitivity * ndof->tvec[1];
+ trans[2] = speed * dt * ndof->tvec[1];
}
if (rv3d->persp == RV3D_CAMOB) {