Subject: Feature Request/Pull Request: Dynamic Camera Movement Speed based on Height#49
Open
winyunq wants to merge 11 commits intoHeyZoos:mainfrom
Open
Subject: Feature Request/Pull Request: Dynamic Camera Movement Speed based on Height#49winyunq wants to merge 11 commits intoHeyZoos:mainfrom
winyunq wants to merge 11 commits intoHeyZoos:mainfrom
Conversation
- 左键点击:单选 (Exclusive Select)。 - 左键框选:多选 (Box Select)。 - Shift + 点击:反选/移除 (Toggle/Remove)。 - Shift + 框选:追加选择 (Append),且具备类型一致性保护 (Type Consistency)。 - Ctrl + 点击:全屏同类选择 (Select All On Screen)。 - Tab:在选中单位的子组间循环切换 (Cycle Subgroup)。 - 优化框选判定阈值: - 引入 1像素 (1px) 严格阈值,区分点击与框选。 - 只有拖拽距离 > 1px 时才绘制绿框和执行框选逻辑,实现所见即所得。 - 增强视觉反馈: - 绿框增加半透明蒙层 (SelectionBoxFillColor),提升辨识度。 - UI 增加 Grid 池化复用逻辑,解决 Grid 布局抖动问题。 - 数据层完善: - URTSSelectable 组件新增 Icon, Health, Shield 等基础 RTS 属性。 - SelectionSubsystem 正确读取并传递这些数据到 UI。
- 左键点击:单选 (Exclusive Select)。 - 左键框选:多选 (Box Select)。 - Shift + 点击:反选/移除 (Toggle/Remove)。 - Shift + 框选:追加选择 (Append),且具备类型一致性保护 (Type Consistency)。 - Ctrl + 点击:全屏同类选择 (Select All On Screen)。 - Tab:在选中单位的子组间循环切换 (Cycle Subgroup)。 - 优化框选判定阈值: - 引入 1像素 (1px) 严格阈值,区分点击与框选。 - 只有拖拽距离 > 1px 时才绘制绿框和执行框选逻辑,实现“所见即所得”。 - 增强视觉反馈: - 绿框增加半透明蒙层 (SelectionBoxFillColor),提升辨识度。 - UI 增加 Grid 池化复用逻辑,解决 Grid 布局抖动问题。 - 数据层完善: - URTSSelectable 组件新增 Icon, Health, Shield 等基础 RTS 属性。 - SelectionSubsystem 正确读取并传递这些数据到 UI。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Subject: Feature Request/Pull Request: Dynamic Camera Movement Speed based on Height
Hi, HeyZoos
First and foremost, I want to express my appreciation for your excellent RTS Camera plugin! It's a
fantastic piece of work, and I'm planning to integrate it into my own RTS game project.
During my development and testing, I identified an opportunity to enhance the camera's usability,
particularly in the context of RTS gameplay. I believe the current camera movement speed could benefit
from being dynamically linked to the camera's current height.
Motivation for this feature:
In RTS games, players often switch between macro-management (overview of the battlefield) and
micro-management (detailed unit control).
Higher camera altitudes* are typically used for macro-management, where faster movement across the map
is desirable for quick strategic adjustments.
Lower camera altitudes* are for micro-management, where slower, more precise movement allows for
accurate unit positioning and control.
This dynamic adjustment would significantly improve the player experience by intuitively matching movement
speed to the current strategic context.
Implemented Changes:
I've implemented a system that adjusts the camera's movement speed based on its height. Specifically, the
changes include:
height-interpolated movement speed parameter.
ensuring a smooth transition between fast (high altitude) and slow (low altitude) movement.
These modifications are primarily contained within RTSCamera.cpp and RTSCamera.h.
I'm relatively new to the Git pull request process, but I've prepared these changes and hope you'll find
them a valuable addition to the plugin. I've focused on modifying RTSCamera.cpp and RTSCamera.h to achieve
this functionality.
Thank you again for your contribution to the community!