using UnityEngine; public class BouncyBall : MonoBehaviour { public Vector3 shotPosition; public bool isScored = false; void Start() { // Loại bỏ việc gán Tag bằng code để tránh lỗi nếu chưa tạo Tag trong Unity // Chúng ta sẽ nhận diện bóng bằng Component BouncyBall cho chắc chắn Rigidbody rb = GetComponent(); if (rb != null) { // Đảm bảo quả bóng có trọng lượng và không quá nặng rb.mass = 0.6f; // Khối lượng chuẩn quả bóng rổ (kg) rb.collisionDetectionMode = CollisionDetectionMode.Continuous; } Collider col = GetComponent(); if (col != null) { // Tạo Physic Material bằng code nếu chưa có PhysicsMaterial bouncyMat = new PhysicsMaterial("BasketballMaterial"); bouncyMat.bounciness = 0.8f; // Độ nảy (0 đến 1) bouncyMat.bounceCombine = PhysicsMaterialCombine.Maximum; bouncyMat.frictionCombine = PhysicsMaterialCombine.Minimum; bouncyMat.staticFriction = 0.4f; bouncyMat.dynamicFriction = 0.4f; col.material = bouncyMat; } } }