怎么在windows做網站百度營銷
本節(jié)最終效果演示
文章目錄
- 本節(jié)最終效果演示
- 系列目錄
- 前言
- 實現(xiàn)樹倒下的效果
- 拾取圓木
- 砍樹消耗卡路里
- 斧頭手臂穿模問題處理
- 源碼
- 完結
系列目錄
前言
歡迎來到【制作100個Unity游戲】系列!本系列將引導您一步步學習如何使用Unity開發(fā)各種類型的游戲。在這第23篇中,我們將探索如何制作一個類似于七日殺和森林的生存游戲。
本篇內容會比較多,我會分幾篇來實現(xiàn),感興趣的可以關注一下,以免錯過內容更新。
本節(jié)主要實現(xiàn)砍樹功能優(yōu)化,拾取原木,消耗卡路里,工具穿模問題處理。
實現(xiàn)樹倒下的效果
這里分享另一種實現(xiàn)砍樹的效果,如果之前分享的效果不是你想要的,可以選擇使用這種辦法,不然可以忽略
可以修改樹木的剛體,鎖住y軸的旋轉,并將碰撞體改為膠囊體,記得剛體阻力不要加太大,會影響樹倒下的速度
將動畫控制組件放在子物體內
其他和前面一致,稍微修改ChoppableTree代碼即可
public class ChoppableTree : MonoBehaviour
{public float treeMaxHealth; // 樹木最大生命值public float treeHealth; // 樹木當前生命值private Animator animator;public float caloriesSpentChoppingWood = 20;//消耗卡路里private void Start(){treeHealth = treeMaxHealth;animator = transform.GetComponentInChildren<Animator>();}private void OnTriggerEnter(Collider other){if (other.CompareTag("AxeHead")) TakeDamage(1);}void TakeDamage(int damage){animator.SetTrigger("shake"); // 播放搖晃動畫treeHealth -= damage; // 生命值減少PlayerState.Instance.currentCalories -= caloriesSpentChoppingWood;//消耗卡路里if (treeHealth <= 0){transform.GetComponent<Rigidbody>().isKinematic = false;//樹倒下StartCoroutine(TreeIsDead());// 樹木死亡}}// 樹木死亡的方法IEnumerator TreeIsDead(){yield return new WaitForSeconds(5.0f);Destroy(transform.gameObject); // 銷毀樹木的父對象// 創(chuàng)建砍倒后的樹木Instantiate(Resources.Load<GameObject>("生成圓木"), new Vector3(transform.position.x, transform.position.y, transform.position.z), transform.rotation);}
}
效果
拾取圓木
圓木掛載腳本和繪制icon,物品介紹
修改圖層
效果
砍樹消耗卡路里
修改ChoppableTree
public float caloriesSpentChoppingWood = 20;//消耗卡路里void TakeDamage(int damage)
{PlayerState.Instance.currentCalories -= caloriesSpentChoppingWood;//消耗卡路里//。。。
}
效果
斧頭手臂穿模問題處理
具體實現(xiàn)可以看我這一篇:【unity小技巧】兩種辦法解決FPS游戲槍或者人物穿墻穿模問題(2024/1/11補充)
這里我們直接簡單選擇多加個相機單獨渲染我們手臂
源碼
源碼不出意外的話我會放在最后一節(jié)
完結
贈人玫瑰,手有余香!如果文章內容對你有所幫助,請不要吝嗇你的點贊評論和關注
,以便我第一時間收到反饋,你的每一次支持
都是我不斷創(chuàng)作的最大動力。當然如果你發(fā)現(xiàn)了文章中存在錯誤
或者有更好的解決方法
,也歡迎評論私信告訴我哦!
好了,我是向宇
,https://xiangyu.blog.csdn.net
一位在小公司默默奮斗的開發(fā)者,出于興趣愛好,最近開始自學unity,閑暇之余,邊學習邊記錄分享,站在巨人的肩膀上,通過學習前輩們的經驗總是會給我很多幫助和啟發(fā)!php是工作,unity是生活!如果你遇到任何問題,也歡迎你評論私信找我, 雖然有些問題我也不一定會,但是我會查閱各方資料,爭取給出最好的建議,希望可以幫助更多想學編程的人,共勉~