36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
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<Rigidbody>();
|
|
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<Collider>();
|
|
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;
|
|
}
|
|
}
|
|
}
|