AnimViewportSettings.cpp 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <EMStudio/AnimViewportSettings.h>
  9. namespace EMStudio::ViewportUtil
  10. {
  11. constexpr AZStd::string_view CameraRotateSmoothnessSetting = "/Amazon/Preferences/Editor/Camera/RotateSmoothness";
  12. constexpr AZStd::string_view CameraTranslateSmoothnessSetting = "/Amazon/Preferences/Editor/Camera/TranslateSmoothness";
  13. constexpr AZStd::string_view CameraTranslateSmoothingSetting = "/Amazon/Preferences/Editor/Camera/TranslateSmoothing";
  14. constexpr AZStd::string_view CameraRotateSmoothingSetting = "/Amazon/Preferences/Editor/Camera/RotateSmoothing";
  15. constexpr AZStd::string_view CameraOrbitLookIdSetting = "/Amazon/Preferences/Editor/Camera/OrbitLookId";
  16. constexpr AZStd::string_view CameraTranslateForwardIdSetting = "/Amazon/Preferences/Editor/Camera/CameraTranslateForwardId";
  17. constexpr AZStd::string_view CameraTranslateBackwardIdSetting = "/Amazon/Preferences/Editor/Camera/CameraTranslateBackwardId";
  18. constexpr AZStd::string_view CameraTranslateLeftIdSetting = "/Amazon/Preferences/Editor/Camera/CameraTranslateLeftId";
  19. constexpr AZStd::string_view CameraTranslateRightIdSetting = "/Amazon/Preferences/Editor/Camera/CameraTranslateRightId";
  20. constexpr AZStd::string_view CameraTranslateUpIdSetting = "/Amazon/Preferences/Editor/Camera/CameraTranslateUpId";
  21. constexpr AZStd::string_view CameraTranslateDownIdSetting = "/Amazon/Preferences/Editor/Camera/CameraTranslateUpDownId";
  22. constexpr AZStd::string_view CameraTranslateBoostIdSetting = "/Amazon/Preferences/Editor/Camera/TranslateBoostId";
  23. constexpr AZStd::string_view CameraOrbitIdSetting = "/Amazon/Preferences/Editor/Camera/OrbitId";
  24. constexpr AZStd::string_view CameraDefaultOrbitDistanceSetting = "/Amazon/Preferences/Editor/Camera/DefaultOrbitDistance";
  25. constexpr AZStd::string_view CameraOrbitDollyIdSetting = "/Amazon/Preferences/Editor/Camera/OrbitDollyId";
  26. constexpr AZStd::string_view CameraFreePanIdSetting = "/Amazon/Preferences/Editor/Camera/FreePanId";
  27. constexpr AZStd::string_view CameraFreeLookIdSetting = "/Amazon/Preferences/Editor/Camera/FreeLookId";
  28. AzFramework::TranslateCameraInputChannelIds TranslateCameraInputChannelIds()
  29. {
  30. AzFramework::TranslateCameraInputChannelIds translateCameraInputChannelIds;
  31. translateCameraInputChannelIds.m_leftChannelId =
  32. AzFramework::InputChannelId(GetRegistry(CameraTranslateLeftIdSetting, AZStd::string("keyboard_key_alphanumeric_A")).c_str());
  33. translateCameraInputChannelIds.m_rightChannelId =
  34. AzFramework::InputChannelId(GetRegistry(CameraTranslateRightIdSetting, AZStd::string("keyboard_key_alphanumeric_D")).c_str());
  35. translateCameraInputChannelIds.m_forwardChannelId =
  36. AzFramework::InputChannelId(GetRegistry(CameraTranslateForwardIdSetting, AZStd::string("keyboard_key_alphanumeric_W")).c_str());
  37. translateCameraInputChannelIds.m_backwardChannelId = AzFramework::InputChannelId(
  38. GetRegistry(CameraTranslateBackwardIdSetting, AZStd::string("keyboard_key_alphanumeric_S")).c_str());
  39. translateCameraInputChannelIds.m_upChannelId =
  40. AzFramework::InputChannelId(GetRegistry(CameraTranslateUpIdSetting, AZStd::string("keyboard_key_alphanumeric_E")).c_str());
  41. translateCameraInputChannelIds.m_downChannelId =
  42. AzFramework::InputChannelId(GetRegistry(CameraTranslateDownIdSetting, AZStd::string("keyboard_key_alphanumeric_Q")).c_str());
  43. translateCameraInputChannelIds.m_boostChannelId =
  44. AzFramework::InputChannelId(GetRegistry(CameraTranslateBoostIdSetting, AZStd::string("keyboard_key_modifier_shift_l")).c_str());
  45. return translateCameraInputChannelIds;
  46. }
  47. float CameraRotateSmoothness()
  48. {
  49. return aznumeric_cast<float>(GetRegistry(CameraRotateSmoothnessSetting, 5.0));
  50. }
  51. float CameraTranslateSmoothness()
  52. {
  53. return aznumeric_cast<float>(GetRegistry(CameraTranslateSmoothnessSetting, 5.0));
  54. }
  55. bool CameraRotateSmoothingEnabled()
  56. {
  57. return GetRegistry(CameraRotateSmoothingSetting, true);
  58. }
  59. bool CameraTranslateSmoothingEnabled()
  60. {
  61. return GetRegistry(CameraTranslateSmoothingSetting, true);
  62. }
  63. float CameraDefaultOrbitDistance()
  64. {
  65. return aznumeric_cast<float>(GetRegistry(CameraDefaultOrbitDistanceSetting, 5.0));
  66. }
  67. AzFramework::InputChannelId RotateCameraInputChannelId()
  68. {
  69. return AzFramework::InputChannelId(GetRegistry(CameraFreeLookIdSetting, AZStd::string("mouse_button_right")).c_str());
  70. }
  71. AzFramework::InputChannelId OrbitCameraInputChannelId()
  72. {
  73. return AzFramework::InputChannelId(GetRegistry(CameraOrbitIdSetting, AZStd::string("keyboard_key_modifier_alt_l")).c_str());
  74. }
  75. AzFramework::InputChannelId OrbitLookCameraInputChannelId()
  76. {
  77. return AzFramework::InputChannelId(GetRegistry(CameraOrbitLookIdSetting, AZStd::string("mouse_button_left")).c_str());
  78. }
  79. AzFramework::InputChannelId OrbitDollyCameraInputChannelId()
  80. {
  81. return AzFramework::InputChannelId(GetRegistry(CameraOrbitDollyIdSetting, AZStd::string("mouse_button_right")).c_str());
  82. }
  83. AzFramework::InputChannelId PanCameraInputChannelId()
  84. {
  85. return AzFramework::InputChannelId(GetRegistry(CameraFreePanIdSetting, AZStd::string("mouse_button_middle")).c_str());
  86. }
  87. } // namespace EMStudio::ViewportUtil