15
votes
Accepted
How is a Mesh Collider "performance expensive"?
A moving body near a meshcollider needs to check for collisions against potentially every triangular face of the mesh. So for a detailed or non-convex mesh, or lots of bodies, this can get expensive. ...
15
votes
Accepted
Solving obtuse interior corner collisions
There is an alternate way to think about solving this. You can do a transform by offseting the lines by radius of your circle then the solution is same as intersection of 2 lines.
Image 1: You can ...
13
votes
Solving obtuse interior corner collisions
I assume that you want a solution for collisions in general, which also works well for interior corners.
When resolving a collision against one plane, do not move the circle perpendicular to the plane....
7
votes
Accepted
Most efficient way to get the world position of the 8 vertices of a Box Collider
Try this:
...
7
votes
Accepted
Nestling into contact with a group of physics objects without exerting forces on them
Here's a way to do this using Physics.SphereCast to test against the bodies' colliders without actually exerting any forces on them.
It assumes that your cursor object is placed on exactly the same y ...
7
votes
Accepted
_ready(): Node not found: "Pivot/Camera" + player falls through the floor
On picking your tutorials
You seem to have been mixing Godot 3 and Godot 4 tutorials. So be careful which one the tutorial is for. Chances are that tutorials prior to Godot 4 don't specify.
At the ...
6
votes
Accepted
Why is OnTriggerEnter not called when my objects do not have Rigidbodies?
As you can see from the Collision action matrix in the documentation:
Trigger messages are sent upon collision
StaticCollider
RigidbodyCollider
KinematicRigidbodyCollider
StaticTriggerCollider
...
5
votes
How is a Mesh Collider "performance expensive"?
Unity first uses Axis-Alligned Bounding Boxes (AABB) to check which colliders actually have a chance to collide. Checking two AABB's for intersection is a very cheap operation. Only then does Unity ...
5
votes
Godot: How do I get the id mask for a physics layer by name?
Just a demo in an empty node - range starts with 1 up to the number of layers
It creates a dictionary where you can access with layer name and get the number as 2 to the power of layer number - run ...
5
votes
Accepted
Show colliders in a build game in Unity
Gizmos are only visible in the Editor, so that is not a solution.
Instead, you can render the colliders or (simulate rendering them) any number of ways.
BoxCollider2D
If your 2D colliders are boxes, ...
4
votes
Accepted
Unity - An unwanted Collider , far too big , being added to meshes without reason and I cannot remove it
Well that collider might not even belong to the game object you are currently selecting, try to go through each game object that is a child object and you'd probably find it. And when you do you can ...
4
votes
How is a Mesh Collider "performance expensive"?
A Mesh Collider will have to figure out the collisions for every single face of the whole mesh, Therefore It would take Longer (No significant difference most of the time) and would consume more ...
4
votes
Accepted
How to change music from room to room?
If you want to play non-diegetic music (background music which just plays without a positional source), then a simple solution is to add the audio source which plays that music directly to the camera.
...
4
votes
Accepted
What is a raycast?
A raycast is like shining a laser pointer in your scene, to see what the laser hits.
It takes a starting point and a direction as input (together, they make a "ray").
The physics engine takes this ...
4
votes
Accepted
Godot: How do I get the id mask for a physics layer by name?
Getting layer via name is not possible as of Godot v3.2.1.
However, you can use groups and the logic will be the same. Add the wall collision objects to a "Walls" group and then check if it's in the ...
4
votes
Accepted
How to prevent an object with high velocity from passing through a collider?
To prevent a collider from passing through another collider at high velocity, change the "Collision Detection" option on its "Rigidbody 2D" from "Discrete" (default) to &...
4
votes
Solving obtuse interior corner collisions
To find the position where the circle is resting against both planes, you could use following approach:
We define the line k which is the bisector of the angle between g and h. Every point on line k ...
3
votes
Accepted
Changing CharacterController's height causes jittering issue in Unity
I'm assuming this is the issue you're having:
You can fix this by offsetting the CharacterController's center so that the bottom of the collider is always at the foot of your character. Specifically, ...
3
votes
Accepted
Unity tilemap collider not colliding with rigidbody
I forgot to put a circle collider on the red circle. Leaving this up for others who might run into the same problem.
3
votes
Accepted
Mesh made in Blender is correct in Unity3D as a rendered mesh, but "empty" as a collider?
this is just a guess that I am pulling out. but I see a missing line on the side of your stairs. No line showing up in unity seems like a hint.
you can see triangles 012, 234, and 145 because of the ...
3
votes
Accepted
Which collider to use on "island" situation?
An EdgeCollider2D would handle this case well.
Much like a LineRenderer, you provide it a list of points to join into line segments, marking your collision boundary. It can be a closed shape, but it ...
3
votes
Accepted
Making pickup objects with gravity that won't push the player on collision
Set the pickup to be on a layer that interacts with the ground only, not the player character.
Give your player character a child object that represents their collection radius. Give it a trigger ...
3
votes
Accepted
Collision objects aren't preventing falling in Unity
Check the Layer Collision Matrix of your Physics 2D project settings to make sure the "Default" layer reacts to itself. I've seen this mysteriously get ...
3
votes
Accepted
My sprite is hovering slightly above my tilemap in Unity 2D
There are several ways to fix this:
1- Go to Project Setting and then Physics 2D and change the value of Default Contact Offset to something smaller
2- make the collider slightly smaller than the ...
2
votes
Nestling into contact with a group of physics objects without exerting forces on them
If your problem here is that when player is placing the ball, it pushes other balls back, then why not just turn isKinematic on and off?
Turn off physics for all the other balls on the playing field, ...
2
votes
Accepted
Every Item is colliding but 1
So comparing bullet and player I learned bullet worked because it wasn't a trigger so I set my player object to not be a trigger and now it works, Im embarrassed Lol.
2
votes
Most efficient way to get the world position of the 8 vertices of a Box Collider
If you can access a Mesh of the same size and shape, you can use Mesh.bounds, which returns positions in local space.
2
votes
Merging box colliders for optimization
Sure you can.
Assuming you have a list of BoxCollider that need to be combined, you can access each of their bounds properties, ...
2
votes
Accepted
Is Trigger Colliders not ignored
I solved the problem by not using RigidBody.Cast that uses all attached colliders but instead using a Collider.Cast so I only got back collission for that specific collider.
2
votes
How to ignore collisions of triggers after first collision of trigger until OnTriggerExit of first collision of trigger?
I think it should be as easy as:
if (whitettank.gameObject.tag == "whitetank" && !red.isStopped)
{
// do stuff
}
This way the script will skip over ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
collider × 174unity × 155
collision-detection × 48
c# × 35
2d × 31
physics × 26
rigidbody × 17
tilemap × 8
meshcollider × 7
movement × 6
raycasting × 6
sprites × 5
polygoncollider2d × 5
animation × 4
mesh × 4
joints × 4
3d × 3
javascript × 3
collision-resolution × 3
godot × 3
gameobject × 3
character-controller × 3
game-mechanics × 2
transformation × 2
platformer × 2