OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |