- Collision
Collisionun çalışması için Colider componentinin ve rigidbody ekli olması gerekir.3 tür fonksionu vardır.OnCollisionEnter
void OnCollisionEnter(Collision col)
{
//her hangi bir objeye çarptığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir objeye çarptığında çalışır
}
if (col.gameObject.name == "Cupe") {
//ismi Cupe olan bir objeye çarptığında çalışır
}
}
OnCollisionStay//her hangi bir objeye çarptığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir objeye çarptığında çalışır
}
if (col.gameObject.name == "Cupe") {
//ismi Cupe olan bir objeye çarptığında çalışır
}
}
OnCollisionStay bir objenin çarpma durumu sürdüğü sürece çalışır.
void OnCollisionStay(Collision col)
{
//her hangi bir objeye çarptığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir nesneye çarptığında çalışır
}
if (col.gameObject.name == "Cupe"){
//ismi Cupe olan bir objeye çarptığında çalışır
}
}
OnCollisionExit//her hangi bir objeye çarptığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir nesneye çarptığında çalışır
}
if (col.gameObject.name == "Cupe"){
//ismi Cupe olan bir objeye çarptığında çalışır
}
}
OnCollisionExit bir objenin çarpma durumu bittiğinde 1 kere çalışır.
void OnCollisionExit(Collision col) {
//her hangi bir objeye çarpmayı bıraktığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir objeye çarpmayı bıraktığında çalışır
}
if (col.gameObject.name == "Cupe") {
//ismi Cupe olan bir objeye çarpmayı bıraktığında çalışır
}
}
//her hangi bir objeye çarpmayı bıraktığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir objeye çarpmayı bıraktığında çalışır
}
if (col.gameObject.name == "Cupe") {
//ismi Cupe olan bir objeye çarpmayı bıraktığında çalışır
}
}
- Trigger
Trigger çalışması için Colider componentinin ve rigidbody ekli olması gerekir.Ayrıca Colider componentinin içindeki Is triggerin işaretli olması gerekir .3 tür fonksionu vardır.OnCollisionEnter
void OnTriggerEnter(Collider col)
{
//herhangi bir objeye çarptığında çalışır
if (col.gameObject.tag == "Cupe")
{
//tagı Cupe olan bir objeye çarptığında çalışır
}
if (col.gameObject.name == "Cupe")
{
//ismi Cupe olan bir objeye çarptığında çalışır
}
}
OnCollisionStay{
//herhangi bir objeye çarptığında çalışır
if (col.gameObject.tag == "Cupe")
{
//tagı Cupe olan bir objeye çarptığında çalışır
}
if (col.gameObject.name == "Cupe")
{
//ismi Cupe olan bir objeye çarptığında çalışır
}
}
OnTriggerStay bir objenin çarpma durumu sürdüğü sürece çalışır.
void OnTriggerStay(Collider col)
{
//her hangi bir objeye çarptığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir objeye çarptığında çalışır
}
if (col.gameObject.name == "Cupe") {
//ismi Cupe olan bir objeye çarptığında çalışır
}
}
OnCollisionExit//her hangi bir objeye çarptığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir objeye çarptığında çalışır
}
if (col.gameObject.name == "Cupe") {
//ismi Cupe olan bir objeye çarptığında çalışır
}
}
OnTriggerExit bir objenin çarpma durumu bittiğinde 1 kere çalışır.
void OnTriggerExit(Collider col) {
//her hangi bir objeye çarpmayı bıraktığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir objeye çarpmayı bıraktığında çalışır
}
if (col.gameObject.name == "Cupe") {
//ismi Cupe olan bir objeye çarpmayı bıraktığında çalışır
}
}
//her hangi bir objeye çarpmayı bıraktığında çalışır
if (col.gameObject.tag == "Cupe") {
//tagı Cupe olan bir objeye çarpmayı bıraktığında çalışır
}
if (col.gameObject.name == "Cupe") {
//ismi Cupe olan bir objeye çarpmayı bıraktığında çalışır
}
}
Abi Allah razı olsun bir sorunu çözemiyodum sayende oldu çok teşekkür ederim.
YanıtlaSilpeki bi objenin 1 kere çarptıktan sonra belirli bir süre çalıştırmak için ne yapmam lazım mesela çarptı çarpmayı bıraksa bile 5 saniye boyunca sürdürmek istiyorum
YanıtlaSilÇalıştırmak istediğin kodları bir bool değişkeni ile if içinde update içine yaz.Obje çarptığı zaman boolu true yap.Invoke ile 5 saniye sonra false yap.Böylelikle çarptıktan sonra 5 saniye boyunca kod çalışır.
SilMerhaba oyunumda sepetin duvarların içinden gecmemesini istiyorum box colider ve rigidbody ekledim ama yinede geçiyor illaki kodmu yazmam gerekiyor cevaplarsanız sevinirim
YanıtlaSilsepete ve duvarlara colider verdiğinizden emin misiniz gerçi 1 yıl olmuş bi çözüm bulmuşsunuzdur ama nyse..
Sil