這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
連我自己都沒猜到居然有2。。
上回講到了如何讓皮卡丘出現在"現實"中。
這次,我們要帶上精靈球捕抓皮卡丘了!(啪啪啪
1.建立一個Sphere作為精靈球,然後上貼圖。啊!我們是不是設定得太大了,感覺可以直接丟暈皮卡丘了2333
2.接下來我們要扔出精靈球了,其實就是簡單的投籃遊戲。
①先記錄下精靈球的位置
void StartSet () { Debug.Log("設定精靈球位置"); resetPos = ball.transform.localPosition;}
②根據手指滑動,即點擊的地方和手指離開的地方,確定一個力
void Update () { if(Input.GetMouseButtonDown(0)) { downPosX = Input.mousePosition.x; downPosY = Input.mousePosition.y; } if(Input.GetMouseButtonUp(0)) { upPosX = Input.mousePosition.x; upPosY = Input.mousePosition.y; ShootEnd(); }}
③給精靈球一個射出去的力
void ShootEnd(){ targetcube.transform.position = new Vector3((upPosX - downPosX) * 0.1F,(upPosY - downPosY )* 0.05F,(upPosY - downPosY) * 0.1F); ball.GetComponent<Rigidbody>().velocity = targetcube.transform.position;}
④如果沒射中,讓精靈球回到開始的位置
void ResetBall(){ this.transform.rotation = Quaternion.Euler(Vector3.zero); ball.GetComponent<Rigidbody>().velocity = Vector3.zero; ball.GetComponent<Rigidbody>().useGravity = false; ball.transform.localPosition = resetPos; }
3.但是PokeBall要有受重的感覺,在撞到皮卡丘後,精靈在精靈球內晃動的動畫。
①添加 rigibody,勾掉Use Gravity
②給PokeBall添加Animator,添加動畫,其實就是是K一個簡單的繞Z軸旋轉的動畫。
到底抓到了沒
4.要使精靈球撞到了皮卡丘
①添加碰撞體
②給PokeBall添加碰撞邏輯,隱藏皮卡丘,播放精靈球晃動動畫,播放捕抓特效
void OnCollisionEnter(Collision collisionInfo) { if(collisionInfo.gameObject.name == "PikachuCosplay") { 皮卡丘.SetActive(false); GetComponent<Animator>().enabled = true; 特效.SetActive(true); } }
-----------End------------
來抓你的皮卡丘吧!
歡迎拍磚、點贊~
試玩APK(安卓5.1以上):http://pan.baidu.com/s/1slaQ6ID