Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: chrome/browser/android/vr_shell/elbow_model.cc

Issue 2853843002: Fix controller positioning in VrShell when gyro reads are small (Closed)
Patch Set: Dchecking not null quat Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | device/vr/vr_math.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Adapted from: 5 // Adapted from:
6 // https://github.com/googlevr/gvr-unity-sdk/blob/master/Samples/DaydreamLabsCon trollerPlayground/Assets/GoogleVR/Scripts/Controller/GvrArmModel.cs 6 // https://github.com/googlevr/gvr-unity-sdk/blob/master/Samples/DaydreamLabsCon trollerPlayground/Assets/GoogleVR/Scripts/Controller/GvrArmModel.cs
7 7
8 #include "chrome/browser/android/vr_shell/elbow_model.h" 8 #include "chrome/browser/android/vr_shell/elbow_model.h"
9 9
10 #include <cmath> 10 #include <cmath>
(...skipping 14 matching lines...) Expand all
25 constexpr gfx::Vector3dF kDefaultArmExtensionOffset = {-0.13f, 0.14f, -0.08f}; 25 constexpr gfx::Vector3dF kDefaultArmExtensionOffset = {-0.13f, 0.14f, -0.08f};
26 constexpr float kMinExtensionAngle = 7.0f; 26 constexpr float kMinExtensionAngle = 7.0f;
27 constexpr float kMaxExtenstionAngle = 60.0f; 27 constexpr float kMaxExtenstionAngle = 60.0f;
28 constexpr float kExtensionWeight = 0.4f; 28 constexpr float kExtensionWeight = 0.4f;
29 constexpr float kDeltaAlpha = 3.0f; 29 constexpr float kDeltaAlpha = 3.0f;
30 constexpr float kDefaultElbowRotationRatio = 0.4f; 30 constexpr float kDefaultElbowRotationRatio = 0.4f;
31 31
32 } // namespace 32 } // namespace
33 33
34 ElbowModel::ElbowModel(gvr::ControllerHandedness handedness) 34 ElbowModel::ElbowModel(gvr::ControllerHandedness handedness)
35 : handedness_(handedness), 35 : handedness_(handedness), alpha_value_(1.0f), torso_direction_(kForward) {}
36 alpha_value_(1.0f),
37 torso_direction_{0.0f, 0.0f, 0.0f} {}
38 36
39 ElbowModel::~ElbowModel() = default; 37 ElbowModel::~ElbowModel() = default;
40 38
41 void ElbowModel::UpdateHandedness() { 39 void ElbowModel::UpdateHandedness() {
42 handed_multiplier_ = { 40 handed_multiplier_ = {
43 handedness_ == GVR_CONTROLLER_RIGHT_HANDED ? 1.0f : -1.0f, 1.0f, 1.0f}; 41 handedness_ == GVR_CONTROLLER_RIGHT_HANDED ? 1.0f : -1.0f, 1.0f, 1.0f};
44 shoulder_rotation_ = kNoRotation; 42 shoulder_rotation_ = kNoRotation;
45 shoulder_position_ = 43 shoulder_position_ =
46 vr::ScalePoint(kDefaultShoulderRight, handed_multiplier_); 44 vr::ScalePoint(kDefaultShoulderRight, handed_multiplier_);
47 } 45 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 void ElbowModel::UpdateTransparency(const UpdateData& update) { 131 void ElbowModel::UpdateTransparency(const UpdateData& update) {
134 float distance_to_face = vr::ToVector(wrist_position_).Length(); 132 float distance_to_face = vr::ToVector(wrist_position_).Length();
135 float alpha_change = kDeltaAlpha * update.delta_time_seconds; 133 float alpha_change = kDeltaAlpha * update.delta_time_seconds;
136 alpha_value_ = vr::Clampf(distance_to_face < kFadeDistanceFromFace 134 alpha_value_ = vr::Clampf(distance_to_face < kFadeDistanceFromFace
137 ? alpha_value_ - alpha_change 135 ? alpha_value_ - alpha_change
138 : alpha_value_ + alpha_change, 136 : alpha_value_ + alpha_change,
139 0.0f, 1.0f); 137 0.0f, 1.0f);
140 } 138 }
141 139
142 } // namespace vr_shell 140 } // namespace vr_shell
OLDNEW
« no previous file with comments | « no previous file | device/vr/vr_math.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698