Unity 3D Agaç Kesme [Raycast | C#]

Purpolesse

Katılımcı Üye
23 Nis 2015
741
0
Antalya
Merhaba arkadaşlar Unity 3D Engine'de survival/hayatta kalma tarzı oyun yapıyosanız işinize yarayacak bir script'i sizlerle paylaşacagım Agaç Kesme scripti Öncelikle 2 C# Scripti Oluşturun Birinin İsimini TreeHealth Digerininkini Treechop Koyun ve En Önemlisi Sahnedeki Agacınıza Rigidbody Ekleyin ve isKinematic ile Use Gravity Kutularına Tik Koyun ve Mass yazan degeri 10 larda birşey yapın ve v o i d leri birleşik yazmayı unutmayın bu arada Raycast scriptini karakterinizdeki main cameraya tree health scriptini agacınıza atın ve agacınıza Agac adlı tag verin

[C#] Raycast Scripti
Kod:
private TreeHealth th; //burda treehealth adlı scriptimizi tanımladık bunu ileride kullanacagız

	v o i d Update () {
		RaycastHit ray;
		Vector3 fwd = transform.TransformDirection (Vector3.forward);
		if (Physics.Raycast (transform.position, fwd, out ray, 10)) {
			if (ray.collider.gameObject.tag == "Agac" && Input.GetMouseButtonDown (0)) {
				ray.collider.gameObject.GetComponent<Treehealth> ().health -= 1;
			}
		}
	}

[C#]TreeHealth
Kod:
public int health = 5;
	public Transform log;
	// Use this for initialization
	v o i d Start () {
		rigidbody.isKinematic = true;
	}
	
	// Update is called once per frame
	v o i d Update () {
	if (health <= 0) {
			rigidbody.isKinematic = false;
			rigidbody.AddForce(transform.forward * 10);
			StartCoroutine(DestroyTree());
		}
	}
	IEnumerator DestroyTree() {
		yield return new WaitForSeconds (6);
		Destroy (this.gameObject);
		Instantiate(log,this.gameObject.transform.position,this.gameObject.transform.rotation);
	}

Bir hata bulursanız bana bildirin

Scripti tamamen kendim yazdım emege saygı teşekkür verirseniz sevinirim tabi zorunlu degil
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.