fda444bb01
Add csg boolean operators using elalish/manifold.
...
Uses MeshGL64 for more floating point precision.
Co-Authored-By: 31 <31eee384@gmail.com >
Co-Authored-By: Claudio Z <120678869+cloudofoz@users.noreply.github.com >
2024-11-28 06:26:52 -08:00
a9e51c3aab
Fixed CSG debug collision shapes being visible in editor. Also undid an old, incorrect fix which made debug collision visibility depend on CSG visibility.
2024-09-09 14:11:10 -05:00
b39df869c7
Merge pull request #93252 from smix8/csg_bake
...
Add CSG options to bake to static mesh and collision shape
2024-08-19 16:04:59 +02:00
5e4dafb0d9
Fix CSGShape3D's _mesh_changed thread unsafe call to update_gizmos
2024-07-30 10:57:28 +08:00
6455810db8
Add CSG options to bake to static mesh and collision shape
...
Adds API to bake a CSG root node operation to either a static ArrayMesh or a ConcavePolygonShape3D physics collision shape. Adds menu options to the editor plugin when selecting a CSG root node to add baked sibling nodes.
2024-06-19 22:54:25 +02:00
649c87b957
Make CSG shape dirty after changing Snap, update doc
...
Update doc to mention that Snap only takes effect at the top level.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro >
2024-06-16 14:33:48 -07:00
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
4859f8090f
Merge pull request #85455 from xiongyaohua/fix_CSGPolygon_not_following_Path3D
...
Notify CSGPolygon about transform changes in Path3D
2024-02-15 15:44:39 +01:00
684752e75b
Replace error checks against size with is_empty
2024-02-09 12:50:15 +01:00
0e8f90f4c8
Update deferred calls to use Callables
2024-01-09 16:11:47 +01:00
0e344f0d0b
Path3D notify transform change to CSGPolygon
2024-01-08 18:29:18 +08:00
94edf0f9a1
Merge pull request #80326 from MewPurPur/no-exp-with-zero
...
Remove exp hint of a few properties
2023-12-04 22:57:09 +01:00
0cba21f2da
Fix CSGShape debug_collision_shape crash
...
Fixes CSGShape debug_collision_shape crash.
2023-11-02 11:23:47 +01:00
173e2c7f29
Hide CSGShape's debug_collision_shape when it is invisible
2023-10-30 14:53:09 +08:00
517e9f8aef
[Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-09-26 16:44:52 +02:00
f476b74ecf
Make CSGShape follow curve's tilt in Path mode
...
Fixes #65634 .
2023-08-17 12:01:29 +02:00
09270f9624
Remove exp hint of a few properties
2023-08-06 12:18:27 +03:00
de4a3fa151
Unify and streamline connecting to Resource changes
2023-07-17 19:35:57 +02:00
da7e54ec17
Fix CSGPolygon3D in path mode disappearing at runtime.
2023-05-15 16:52:39 -07:00
3f17a81f87
Add debug collision shape to CSG with collision
2023-05-03 08:41:37 +02:00
eaa84bc682
Fix CSG edge case causing intersection line to hit on common edge of 2 triangles.
...
The previous implementation assumed that the intersection entered or exited a
shape when it hit right on the common edge of 2 triangles. However, there is
also a case where it just "skirts" the other shape on the outside.
To fix this, we added code to check the intersection distance and if the
normals of the faces are pointed in the same direction as the intersection or
not (e.g. inner product > 0). This handles the case where the intersection
line hits the common edge of 2 triangles and skirts the other shape on the
outside.
Extended code to cover a third case.
Fixes #58637 .
Co-authored-by: OldBelge <StevenGeens@users.noreply.github.com >
2023-04-27 11:39:29 +02:00
ac92704f39
Add compatibility code for CSGBox3D width/height/depth from Godot 3.x
...
Fixes #66420 .
2023-02-13 20:41:23 +01:00
541b725190
Don't generate CSGPolygon3D shape before the assigned path is inside tree
2023-01-31 02:04:57 +01:00
d95794ec8a
One Copyright Update to rule them all
...
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".
2023-01-05 13:25:55 +01:00
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
ae18928748
Rename Curve/Curve2D/Curve3D/Gradient interpolate() to sample()
...
"sampling" is a more accurate term than "interpolating" for what's
happening when using that function.
2022-08-30 22:08:38 +02:00
59e11934d8
Rename str2var to str_to_var and similar
...
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.
- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`
- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property
2022-08-22 21:39:48 +02:00
1a24c9e14b
Make _validate_property a multilevel method
2022-08-22 18:35:11 +03:00
5193332d10
Merge pull request #64343 from TokageItLab/priority-ph
2022-08-22 17:31:23 +02:00
c25b8f2876
Remove unintentional PROPERTY_USAGE_INTERNAL
...
The flag only matters for property definition,
but was also used in _validate_property a lot.
2022-08-18 16:25:00 +02:00
b31115cdc1
Add collision weight to PhysicsBody for penetrations must be avoided
...
Co-authored-by: Juan Linietsky <reduzio@gmail.com >
2022-08-18 08:10:31 +09:00
2bf9e6090c
rename translate(d) to translate(d)_local in Transform 2D/3D
2022-07-16 11:47:54 +02:00
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
5dc3bfb80e
Use suffixes for units in nodes and resources
2022-05-19 14:34:27 -05:00
b869ec7262
Rename CSGPrimitive3D.invert_faces to flip_faces
2022-05-06 20:51:46 -05:00
53b8899be9
Decrease default sizes of some primitive and CSG meshes for consistency
2022-04-27 22:45:38 +02:00
ec2984f7c7
Prevent non-smoothed face normals to participate to smoothed face normals
2022-03-11 20:23:13 +01:00
8bcbaff411
Fix normals computation at the 'seam' of smoothed torus shape
2022-03-11 00:16:30 +01:00
6f51eca1e3
Discern between virtual and abstract class bindings
...
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.
Most classes that make sense have been converted. Missing:
* Physics servers
* VideoStream
* Script* classes.
which will go in a separate PR due to the complexity involved.
2022-03-10 12:28:11 +01:00
9c312c486c
Revert #52647
2022-03-09 17:25:45 -06:00
f1cc99c6e8
Add SNAME macro optimization missed during rebase
2022-03-09 11:23:46 -06:00
ce2b367afb
Properly handle CSGShape parent and visibility updates, plus some refactoring
2022-03-08 18:58:47 -06:00
509e03c821
Fix normals computation at the 'seam' of smoothed sphere and cylinder shapes
2022-02-16 22:23:28 +01:00
6553f5c242
Convert _notification methods to switch - Chunk C
2022-02-16 13:03:05 -05:00
8cfd264148
Improve the default size for 3D shapes (Box, Capsule, and Cylinder)
2022-02-01 06:43:16 -06:00
69617a893e
Improve CSGPolygon3D documentation
...
- Describe why polygon triangulation usually fails in the error message.
2022-01-21 20:00:34 +01:00
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
a124f1effe
Fix various typos
...
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com >
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com >
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com >
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com >
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com >
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com >
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com >
Revert previously committed change
2022-01-02 01:03:58 -05:00
c012fbc8b2
Rename PROPERTY_USAGE_NOEDITOR to PROPERTY_USAGE_NO_EDITOR
...
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00