Merge pull request #92152 from lawnjelly/fix_viewport_interpolation_mode
[3.x] Fix Viewport interpolation mode
This commit is contained in:
commit
bb342cb55c
2 changed files with 8 additions and 0 deletions
|
@ -246,6 +246,7 @@
|
||||||
<member name="own_world" type="bool" setter="set_use_own_world" getter="is_using_own_world" default="false">
|
<member name="own_world" type="bool" setter="set_use_own_world" getter="is_using_own_world" default="false">
|
||||||
If [code]true[/code], the viewport will use a unique copy of the [World] defined in [member world].
|
If [code]true[/code], the viewport will use a unique copy of the [World] defined in [member world].
|
||||||
</member>
|
</member>
|
||||||
|
<member name="physics_interpolation_mode" type="int" setter="set_physics_interpolation_mode" getter="get_physics_interpolation_mode" overrides="Node" enum="Node.PhysicsInterpolationMode" default="2" />
|
||||||
<member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking" default="false">
|
<member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking" default="false">
|
||||||
If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process.
|
If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process.
|
||||||
</member>
|
</member>
|
||||||
|
|
|
@ -3681,6 +3681,13 @@ Viewport::Viewport() {
|
||||||
local_input_handled = false;
|
local_input_handled = false;
|
||||||
handle_input_locally = true;
|
handle_input_locally = true;
|
||||||
physics_last_id = 0; //ensures first time there will be a check
|
physics_last_id = 0; //ensures first time there will be a check
|
||||||
|
|
||||||
|
// Physics interpolation mode for viewports is a special case.
|
||||||
|
// Typically viewports will be housed within Controls,
|
||||||
|
// and Controls default to PHYSICS_INTERPOLATION_MODE_OFF.
|
||||||
|
// Viewports can thus inherit physics interpolation OFF, which is unexpected.
|
||||||
|
// Setting to ON allows each viewport to have a fresh interpolation state.
|
||||||
|
set_physics_interpolation_mode(Node::PHYSICS_INTERPOLATION_MODE_ON);
|
||||||
}
|
}
|
||||||
|
|
||||||
Viewport::~Viewport() {
|
Viewport::~Viewport() {
|
||||||
|
|
Loading…
Reference in a new issue