Merge pull request #1068 from jaromirhribal/master
Blender/Maya zoom style.
This commit is contained in:
commit
d34f1da861
@ -419,6 +419,8 @@ void EditorSettings::_load_defaults() {
|
|||||||
|
|
||||||
set("3d_editor/navigation_scheme",0);
|
set("3d_editor/navigation_scheme",0);
|
||||||
hints["3d_editor/navigation_scheme"]=PropertyInfo(Variant::INT,"3d_editor/navigation_scheme",PROPERTY_HINT_ENUM,"Godot,Maya,Modo");
|
hints["3d_editor/navigation_scheme"]=PropertyInfo(Variant::INT,"3d_editor/navigation_scheme",PROPERTY_HINT_ENUM,"Godot,Maya,Modo");
|
||||||
|
set("3d_editor/zoom_style",0);
|
||||||
|
hints["3d_editor/zoom_style"]=PropertyInfo(Variant::INT,"3d_editor/zoom_style",PROPERTY_HINT_ENUM,"Vertical, Horizontal");
|
||||||
set("3d_editor/orbit_modifier",0);
|
set("3d_editor/orbit_modifier",0);
|
||||||
hints["3d_editor/orbit_modifier"]=PropertyInfo(Variant::INT,"3d_editor/orbit_modifier",PROPERTY_HINT_ENUM,"None,Shift,Alt,Meta,Ctrl");
|
hints["3d_editor/orbit_modifier"]=PropertyInfo(Variant::INT,"3d_editor/orbit_modifier",PROPERTY_HINT_ENUM,"None,Shift,Alt,Meta,Ctrl");
|
||||||
set("3d_editor/pan_modifier",1);
|
set("3d_editor/pan_modifier",1);
|
||||||
|
@ -535,6 +535,14 @@ SpatialEditorViewport::NavigationScheme SpatialEditorViewport::_get_navigation_s
|
|||||||
return NAVIGATION_GODOT;
|
return NAVIGATION_GODOT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SpatialEditorViewport::NavigationZoomStyle SpatialEditorViewport::_get_navigation_zoom_style(const String& p_property) {
|
||||||
|
switch(EditorSettings::get_singleton()->get(p_property).operator int()) {
|
||||||
|
case 0: return NAVIGATION_ZOOM_VERTICAL;
|
||||||
|
case 1: return NAVIGATION_ZOOM_HORIZONTAL;
|
||||||
|
}
|
||||||
|
return NAVIGATION_ZOOM_VERTICAL;
|
||||||
|
}
|
||||||
|
|
||||||
bool SpatialEditorViewport::_gizmo_select(const Vector2& p_screenpos,bool p_hilite_only) {
|
bool SpatialEditorViewport::_gizmo_select(const Vector2& p_screenpos,bool p_hilite_only) {
|
||||||
|
|
||||||
if (!spatial_editor->is_gizmo_visible())
|
if (!spatial_editor->is_gizmo_visible())
|
||||||
@ -1429,10 +1437,19 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|||||||
if (nav_scheme==NAVIGATION_MAYA && m.mod.shift)
|
if (nav_scheme==NAVIGATION_MAYA && m.mod.shift)
|
||||||
zoom_speed *= zoom_speed_modifier;
|
zoom_speed *= zoom_speed_modifier;
|
||||||
|
|
||||||
if ( m.relative_y > 0)
|
NavigationZoomStyle zoom_style = _get_navigation_zoom_style("3d_editor/zoom_style");
|
||||||
cursor.distance*=1+m.relative_y*zoom_speed;
|
if (zoom_style == NAVIGATION_ZOOM_HORIZONTAL) {
|
||||||
else if (m.relative_y < 0)
|
if ( m.relative_x > 0)
|
||||||
cursor.distance/=1-m.relative_y*zoom_speed;
|
cursor.distance*=1-m.relative_x*zoom_speed;
|
||||||
|
else if (m.relative_x < 0)
|
||||||
|
cursor.distance/=1+m.relative_x*zoom_speed;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ( m.relative_y > 0)
|
||||||
|
cursor.distance*=1+m.relative_y*zoom_speed;
|
||||||
|
else if (m.relative_y < 0)
|
||||||
|
cursor.distance/=1-m.relative_y*zoom_speed;
|
||||||
|
}
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
@ -144,6 +144,12 @@ private:
|
|||||||
};
|
};
|
||||||
NavigationScheme _get_navigation_schema(const String& p_property);
|
NavigationScheme _get_navigation_schema(const String& p_property);
|
||||||
|
|
||||||
|
enum NavigationZoomStyle {
|
||||||
|
NAVIGATION_ZOOM_VERTICAL,
|
||||||
|
NAVIGATION_ZOOM_HORIZONTAL
|
||||||
|
};
|
||||||
|
NavigationZoomStyle _get_navigation_zoom_style(const String& p_property);
|
||||||
|
|
||||||
enum NavigationMode {
|
enum NavigationMode {
|
||||||
NAVIGATION_NONE,
|
NAVIGATION_NONE,
|
||||||
NAVIGATION_PAN,
|
NAVIGATION_PAN,
|
||||||
|
Loading…
Reference in New Issue
Block a user