summaryrefslogtreecommitdiffstats
path: root/scene/3d/path_3d.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Core: Integrate `Ref::instantiate` where possibleThaddeus Crews2024-11-101-2/+2
|
* Do not defer PathFollow3D transform updatesYaohua Xiong2024-09-101-27/+25
| | | | Co-authored-by: Yaohua Xiong <xiongyaohua@gmail.com>
* Fix super call in various `get_configuration_warnings` methodsA Thousand Ships2024-09-051-1/+1
|
* Add error checks for bad configuration in `PathFollow2D/3D` `set_progress_ratio`Guillaume Turri2024-09-041-3/+4
| | | | | | | | | | | | When a PathFollow is badly configured it's possible to have code that call get_progress_ratio just after set_progress_ratio does not return the value just set, which may be confusing for developer (ie that myPathFollow2D.set_progress_ratio(0.5) myPathFollow2D.get_progress_ratio() does not return 0.5) This commit makes ensures the developer has useful error messages in such case, to make it easier to troubleshot it.
* Revert "Update Node::get_configuration_warnings signature"Rémi Verschelde2024-02-171-2/+2
| | | | This reverts commit d3852deaa450d77edb30df2bb1c77bd7bc45befc.
* Merge pull request #85455 from xiongyaohua/fix_CSGPolygon_not_following_Path3DRémi Verschelde2024-02-151-2/+10
|\ | | | | | | Notify CSGPolygon about transform changes in Path3D
| * Path3D notify transform change to CSGPolygonYaohua Xiong2024-01-081-2/+10
| |
* | Merge pull request #80233 from xiongyaohua/fix_pathfollower3d_rotation_modeRémi Verschelde2024-02-131-18/+38
|\ \ | | | | | | | | | Fix PathFollow3D update issues
| * | Fix PathFollow3D update issuesYaohua Xiong2024-01-091-18/+38
| |/ | | | | | | | | | | | | - transform is not updated after setting new flags such as `use_model_front` - transform is not updated when the parent Path3D changes - correct_posture() behaves differently when assuming model front - _update_transform() was in immediate mode, could leads to chained calls on scene instantiation.
* / Update Node::get_configuration_warnings signatureRedMser2024-02-081-2/+2
|/
* Improve Curve3D Debug DrawingBlueCube33102023-10-211-10/+49
|
* Unify and streamline connecting to Resource changeskobewi2023-07-171-2/+2
|
* Clamp PathFollow3D progress when not loopingRaul Santos2023-06-151-0/+2
|
* Fix Pathfollow directionSilc Renew2023-05-241-7/+22
| | | | Co-authored-by: aaronfranke <arnfranke@yahoo.com>
* Fix various errors when running the unit testsRedworkDE2023-05-091-1/+2
| | | | Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* Add safety-checks before some servers `free()`Adam Scott2022-12-291-0/+1
|
* Refactor Curv3D and PathFollow3DYaohua Xiong2022-11-121-114/+63
| | | | | | | | | | This commit makes the following major changes 1. Add "sample_baked_with_rotation()" to Curve3D, making it usable independently. A similar change was made to Curve2D previously. 2. Refactor the _bake() method on Curve3D, using Parallel Transport Frame instead of Frenet Frame. 3. Refactor the sample_* methods, including: i. Factor out common binary search code, following the DRY principe ii. sample_up_vector() interpolated up vector as part of rotation frame(posture) for consistancy and accuracy.
* Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg2022-10-071-2/+2
| | | | change warnings=all to use /W4.
* Change return type of `get_configuration_warnings` to `PackedStringArray`Marc Gilleron2022-09-191-2/+2
|
* Rename `or_lesser` range property hint to `or_less`Hugo Locurcio2022-09-021-3/+3
| | | | | | | "less" should be used for quantity, rather than "lesser". Existing scripts that use `or_lesser` in `_get_property_list()` will need to be updated to account for this change.
* Rename Curve/Curve2D/Curve3D/Gradient `interpolate()` to `sample()`Hugo Locurcio2022-08-301-10/+10
| | | | | "sampling" is a more accurate term than "interpolating" for what's happening when using that function.
* Rename PathFollow's `offset`s to `progress` & `progress_ratio`Micky2022-08-241-29/+29
| | | | Applies for both PathFollow2D and PathFollow3D
* Make `_validate_property` a multilevel methodYuri Sizov2022-08-221-4/+3
|
* Merge pull request #57698 from ↵Rémi Verschelde2022-07-281-1/+1
|\ | | | | | | bluenote10/feature/rename_translated_to_translated_local
| * rename translate(d) to translate(d)_local in Transform 2D/3DFabian Keller2022-07-161-1/+1
| |
* | prevent crash on NaN offset in path_follower 2d and 3dHayden Leete2022-07-141-0/+1
|/
* Merge pull request #62084 from smix8/path_debug_options_4.xRémi Verschelde2022-06-291-0/+90
|\ | | | | Add Path2D/3D debug options
| * Add Path2D/3D debug optionssmix82022-06-201-0/+90
| | | | | | | | Add Path2D/3D debug options.
* | Merge pull request #60151 from ↵Rémi Verschelde2022-06-151-5/+9
|\ \ | |/ |/| | | | | Klowner/pathfollow3d-parallel-transport-improvement PathFollow3D parallel transport frame reliability improvements
| * PathFollow3D parallel transport frame reliability improvementsMark Riedesel2022-05-171-5/+9
| |
* | Use suffixes for units in nodes and resourcesAaron Franke2022-05-191-3/+3
|/
* Rename Basis get_axis to get_column, remove redundant methodsAaron Franke2022-05-031-1/+1
|
* PathFollow2D and PathFollow3D: don't set offset to NaNRicardo Buring2022-04-171-1/+1
|
* String: Remove TTR and DTR defines in non-tools buildRémi Verschelde2022-03-281-2/+2
| | | | | This ensures we don't use TTR in runtime code, as it's specifically meant to source translations for the editor.
* Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde2022-02-151-4/+1
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Refactored Node3D rotation modesreduz2021-10-251-0/+1
| | | | | | | | | * Made the Basis euler orders indexed via enum. * Node3D has a new rotation_order property to choose Euler rotation order. * Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations. The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
* Fix some unnecessary includesAaron Franke2021-08-131-3/+0
|
* Merge pull request #45568 from aaronfranke/node3d-real_tRémi Verschelde2021-08-091-17/+17
|\ | | | | Use real_t in 3D nodes
| * Use real_t in 3D nodesAaron Franke2021-08-031-17/+17
| |
* | Fix Path3D initial forward calculationRaul Santos2021-08-071-1/+1
|/
* Fix forward calculation in PathFollow3D for the position at the end of the curveRaul Santos2021-07-281-3/+15
|
* Node3D gizmo improvementsjfons2021-07-231-1/+1
| | | | | | | | * Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs. * Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins. * Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes. * Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles. * Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
* Optimize StringName usagereduz2021-07-181-1/+1
| | | | | | | | | | | * Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
* Rename Transform to Transform3D in coreAaron Franke2021-06-031-1/+1
|
* Use Array for node configuration warningsNathan Franke2021-04-111-20/+12
| | | | Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
* Removed _change_notifyreduz2021-02-101-2/+0
| | | | | | -For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Rename empty() to is_empty()Marcel Admiraal2020-12-281-2/+2
|