Why is my player falling through the floor? [closed] - unity3d

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 3 years ago.
Improve this question
I have just created a repository on Github with my project.
The problem I having is my player falls right through the floor. If I import Standard Assets and use theis first person character, This does not happen. I am assuming it is an issue of using vectors, but I do not know.

Identify Issue
It mostly happen when there is cno collider attached to the body but you try to
apply gravity to gameobject . The gameobject tries to move towards down due to the gravity but the collision helps that object to sustain on its place .
Apply any of below solutions
Remove the gravity applied on the body
Attach the Collider that help the gameobject stopping it from falling it down
Check the x y and z axis as well. Click on the gameObject it will tell you its axis . Adjust your axis according to the logic you have applied

Related

Unity2d shooting while running [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
When I shoot a projectile while running the projectile collides with the player, i.e. the player's collider is hitting the bullet's collider.
What is the best way to prevent this? By making a space between the gun and the projectile to avoid collision?
There are 2 ways I can think of right now.
1- You can create a selective collision script (or edit your existing one) and add an exception for the player object. So, bullets can go through the player. This is the main way to go.
2- You can use layers (or Z depth) and you can create a whole layer for bullet spawner etc. And make enemies also have targets in that layer/depth.
I don't have Unity installed on my current system right now. But I will install it when I get a chance, and if you don't solve it until then I will try to help properly.

Unity - Activating "is Trigger" makes stuff fall through objects [closed]

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 2 years ago.
Improve this question
I am following this tutorial: https://www.mvcode.com/lessons/roll-a-ball-obstacle-course
At the very end we created enemies (cubes) and their movement works very good. But as soon as I activate "is Trigger" they fall through the plane into the void. What am I missing?
I tried to pull them above the floor to have some space between the bottom and the enemies, but they keep falling through the floor and only when I got "is Trigger" enabled.
thanks in advance,
Akuma
Alternatively (for those people who want or need gravity enabled on their cubes):
Add a second collider.
There's literally nothing stopping you from doing this. You can make the trigger one bigger or just tweak the physics layers collision settings so that the collider keeping the enemies on the ground doesn't interfere with the operation of colliding with the player, etc.
It's likely that the cube is on top of the floor. When you enable "Is Trigger", collision is disabled and the cube would go through the floor.
The solution is to disable "Use Gravity" on the cube's Rigidbody.
Note that you are following a plagiarized version of the original "Roll-a-ball tutorial" tutorial which left out so many things. You should be following the original tutorial here. Watch the 10 seconds from this video which describes what you missed which is what I described above.

Unity Physics 2D disable bounciness [closed]

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 6 years ago.
Improve this question
I don't want reaction forces to bounce my pig to the side when it collides with a platform. Material bounciness = 0 for both platform and the pig
Anyone has an idea?
I wanted to ask before I dump physics2D and write my control mechanisms.
https://gfycat.com/GraciousHighKinkajou
You have to create a Physics2D Material and modify it to not have bounciness.
And then, apply that material to the collider of the object, in this case, the pig.
Turns out it was bug in my character controller script, had nothing to do with Unity. Thanks for understanding and answers :)

Why Isn't My 2D Box Collider Working? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
i'm making boundaries for the characters in my 2d game in unity 5. I added box colliders to the borders and my characters but the characters don't stop when they run into the other borders.
I don't have much experience of Unity 5, but probably these things work similarly than with old versions of Unity.
Colliders can be used for stopping things to go inside each other without writing your own OnCollisionEnter function.
So there must be some other problem. Check that:
Colliders are same type. 2D and 3D colliders don't detect collisions with each other.
At least one participant of the collision needs to have rigidbody component attached.
Check that is trigger is not selected on any of the colliders
Pause the game and check in the scene view that the green boxes of the colliders actually colliding
Check the layers of the gameobjects and check if they are should collide because of the layer based collision
When the colliders intersect it will trigger an OnCollisionEnter event. You need to tell it what to do after that. It could be setting the velocity to 0 in the case of a ball hitting the wall, or it could be awakening enemies in the case of a player walking into a trap. You have to define the behavior.

Know rotation via Quaternion [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I am currently trying to make something fly with Oculus Rift.
The only control is the Oculus Camera.
The player is always moving forward, but I want to allow him to rotate, go up, and down. To go up, the player must look at 10° to 45° up, same for all directions.
I'm currently using Unity, and I get a quaternion about the camera rotation.
Is there any script doing it? How can I do it myself, or at least, how can I translate quaternion to rotation?
Good news! For your purposes you won't need to deal directly with quaternions. A little vector math might help, though.
transform.forward in any script will give you the forward direction of the object the script is attached to. If it's on the camera, it will be the direction the player is looking.
Using just the camera's forward direction, and the forward direction the player moves along, you can calculate the needed information for your player rotation.
Vector3.Angle(transform.forward, cameraObject.transform.forward) will give you the angle between the two forward directions.
Vector3.Cross(transform.forward, cameraObject.transform.forward) will give you the axis of rotation.
You can check if the angle is within the desired range, and use
transform.Rotate(Vector3.Cross(transform.forward, cameraObject.transform.forward), rotationSpeed * Time.deltaTime) to perform the rotation. If the rotation is in the opposite direction than what you want, you might need to switch the order of the two parameters to Vector3.Cross.