Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by elz50 · Nov 21, 2020 at 12:02 AM · rigidbodyfpsmeshcollider

strange behaviour with gameObject

hi, i am making a first-person shooter(unity 2019.4) and i made a script that if the player collides with a gun, it will message it in the console. in order to do that, i made a rigidbody for gravity and a mesh collider. when i entered playmode, it returned and error that said something like "non vertex mesh collider and non kinematic rigidbody are not supported any longer." so i enabled the vertex option on the mesh collider, and then when i entered playmode, the guns crept along the ground! i tried enabling the kinematic option, but the guns didn't have gravity. can anyone tell me whats going on, or a different option?
here are my scripts if it makes any difference: player movement script:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class playerMovement : MonoBehaviour
 {
 public CharacterController controller;
 public float speed = 12f;
 public float gravity = -9.81f;
 public float jumpHeight= 3f;
 
 public Transform groundCheck; 
 public float groundDistance = 0.4f;
 public LayerMask groundMask;
 
 
 Vector3 velocity;
 bool isGrounded;
 
 
     void Update()
     {
         isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask);
 
         if (isGrounded && velocity.y < 0) {
             velocity.y = -2f;
         }
         float x = Input.GetAxis("Horizontal");
         float z = Input.GetAxis("Vertical");
 
         Vector3 move = transform.right * x + transform.forward * z;
 
         controller.Move(move * speed * Time.deltaTime);
 
         if (Input.GetButtonDown("Jump") && isGrounded) {
             velocity.y = Mathf.Sqrt(jumpHeight * -2f * gravity);
         }
 
         velocity.y += gravity * Time.deltaTime;
 
         controller.Move(velocity * Time.deltaTime);
             
 
     }
     void OnCollisionEnter(Collision col){
         if (col.gameObject.tag == "gun"){
             Debug.Log("you hit gun lol");
         }
     }
 }

and my gun script:

 using System.Collections;
 using UnityEngine;
 
 public class gun : MonoBehaviour
 {
     public float damage = 10f;
     public float range = 100f;
     public float recoilTime = 0.1f;
     public Camera fpsCam;
     public ParticleSystem muzzleFlash;
     public Animator animator;
     public Transform weaponsHolder;
 
     void Update()
     {
         if(Input.GetButtonDown("Fire1"))
         {
             if (gameObject.transform.parent == weaponsHolder) 
             {
                 Shoot();
             }
         }
         void Shoot() 
         {
             muzzleFlash.Play();
             StartCoroutine(Recoil());
             RaycastHit hit;
             if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, range)) 
             {
 
                 Target target = hit.transform.GetComponent<Target>();
                 if (target != null) 
                 {
                     target.TakeDamage(damage);
                     //target.setForce();
                 }
                 
             
             }
         }
         IEnumerator Recoil () 
         {
             animator.SetBool("isShooting", true);
             yield return new WaitForSeconds(recoilTime);
             animator.SetBool("isShooting", false);
 
         }
  
     }
 }

-elz50

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by MurphyMurph_21 · Nov 21, 2020 at 12:38 PM

@elz50 I would not use a mesh collider if I were you. But I think as long as is kinematic is checked you don't need to check the vertex option enabled. box or capsule collider should work just fine. it doesn't need to be perfect. You can always create empty children gameobjects and set the parent as your gun transform and add different shaped colliders to the empty children for more accuracy.

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image elz50 · Nov 21, 2020 at 08:02 PM 0
Share

thank you extremely much! i think you are right, it doesn't need to be perfect, and it works normally now as well.

avatar image
0

Answer by Llama_w_2Ls · Nov 21, 2020 at 06:54 PM

If you set the mesh collider to IsTrigger, and use void OnTriggerEnter() instead, you shouldnt get that error, and collision detection should work as normal @elz50

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

235 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Non Convex Mesh Colliders even though there aren't any 1 Answer

Fast moving object not detect collision 3 Answers

How do you add a fixed joint to a first person controller 1 Answer

how to make wheel without Wheel Collider. 0 Answers

Is it new in Unity? Collider exception . . . 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges