-
-
Notifications
You must be signed in to change notification settings - Fork 22k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow importing 3D models without colliders or with KinematicBody/Area #39924
Conversation
1dde17b
to
97034d7
Compare
97034d7
to
e1ba9f4
Compare
e1ba9f4
to
ed450b7
Compare
ed450b7
to
605663d
Compare
605663d
to
46eaded
Compare
46eaded
to
db3f291
Compare
db3f291
to
9bf0ea3
Compare
9bf0ea3
to
c7e0b72
Compare
c7e0b72
to
3633dd7
Compare
3633dd7
to
d4bccad
Compare
e82a543
to
5337293
Compare
Rebased and reworked following #47166. |
5337293
to
0e059ea
Compare
RigidBody makes sense because you can put a barrel in there or some props that the player can stumble into and which will have physics. KinematicBody does not make a lot of sense unless you want to do moving platform or something and this object is animated, in which case it could be added. That said, the idea is to remove KinematicBody in master so I guess this PR does not make much sense based on this. |
2a52153
to
50a48a2
Compare
@reduz I made the requested changes, as such this PR now expects that KinematicBody will be removed. |
d320fce
to
64f9ed0
Compare
64f9ed0
to
399cfae
Compare
3bd22be
to
e5dbb28
Compare
f66bc69
to
aa9a7bf
Compare
c3e48b8
to
e58963e
Compare
e58963e
to
5885d88
Compare
5885d88
to
a4549c8
Compare
a4549c8
to
4a0fb4b
Compare
@pouleyKetchoupp No, these are different things. This PR is about changing the existing colliders that Godot generates for meshes marked as colliders in the file. #52266 is about allowing any mesh to become a collider, on an individual basis. Here are two screenshots, both taken in the current master branch. The model is These StaticBody nodes currently can't be changed to any other type. There is only one option to skip import, but this has to be manually applied to every single one. This PR allows users to change all of them to any type, or skip all of them with one button. Note that there is no need to have overrides for individual ones, because if granularity is required, you can use what #52266 added: These are meshes. #52266 allows importing them as colliders, and users can leave disabled for no colliders, or pick Static, Dynamic, or Area (note: missing Animatable). |
4a0fb4b
to
b7fcc11
Compare
@aaronfranke Thanks for the explanation! This PR makes sense in this case, but I wonder if for the long term we could find a more similar process between the two cases, rather than different systems that generate similar nodes in the end. Maybe something like:
So all the different options from #52266 could also apply for colliders import. |
@pouleyKetchoupp Indeed, it would be good to unify the systems. Another thing I noticed is that with the "old" system that this PR modifies, the physics objects are created as children of the meshes (which is weird), while the option added in #52266 makes it so that the meshes are children of the physics objects (which makes sense). In your bulleted list most of that is possible with #52266 except that there are no physics nodes shown in the preview tree when changing the option added in #52266 (the only physics nodes in the preview tree are from the "old" system), and instead of the "concave, convex decomposition, primitive types" setting being on the collider itself it's on the mesh. There is also the matter of what to do with the information from 3D models that marks specific meshes as colliders. I'm thinking something like this (this is more of a plan of action while your list is a summary of what's desired):
|
b7fcc11
to
6dfa975
Compare
6dfa975
to
1427c66
Compare
1427c66
to
a715a64
Compare
a715a64
to
1cb4c18
Compare
f45bc05
to
5dc3138
Compare
5dc3138
to
509cc97
Compare
509cc97
to
f5d4519
Compare
Closing because this isn't good as-is. However, the scene import workflow should still be improved once an approach is agreed on, and the discussion contained within this thread is still very useful. I'll mark this as salvageable for now, but a lot of this would need to be rewritten in a different way. |
EDIT: Marked as draft due to the below discussion. We can make a better solution than what this PR alone offers.
Implements and closes godotengine/godot-proposals#1029
This PR adds an enum for how colliders should be imported. Right now the possible values are None, Static, Rigid, and Area. Static is the default value and has the same behavior as the current master.
This was tested by copying
core.glb
from the TPS demo into a mostly empty project.