Unity3D 游戲引擎之控制模型移動旋轉與碰撞
雨松MOMO原創文章如轉載,請注明:轉載自
雨松MOMO的博客
原文地址:
http://blog.csdn.net/xys289187120/article/details/6901154
上一章介紹了模型的旋轉與平移,本章介紹一些好玩的,通過按鈕來控制模型的移動與鏡頭的跟隨,腳本參數的傳遞。個人覺得Unity3D 這套游戲引擎真的很棒,它可以為開發者節省時間。用更多少的腳本,可以實現更多的功能。先贊一下,哇咔咔~廢話不多說了,入正題!
首先在3D世界中創建一個箱子模型,然后添加一個腳本,命名為 js0綁定到這個箱子中。在添加一個腳本,命名為js1 ,同樣綁定到這個箱子上,用來實現對象的創建與調用方法參數的傳遞 ~
var Control; 這里聲明一個控制類的對象,用來進行參數的傳遞,調用方法。
Getomponent(js1): 得到腳本名稱為js1的對象,這里把值賦給
Control,就可以使用js1腳本中的方法了,下面的代碼中通過這個對象調用模型的移動方法。
Input.GetKey(KeyCode): 這個方法返回一個Bool 判斷當前按鍵是否被按下,當然這里只能運行在PC上才可以感應按鈕,因為IOS的設備上沒有按鍵,以后我會介紹在IOS上添加游戲搖桿的功能,本章我們先學習一下PC上的基本按鈕響應。
下面代碼
實現按下“W”控制物體向前
實現按下“S”控制物體向后
實現按下“A”控制物體向左平移
實現按下“D”控制物體向右平移
實現按下“Q”控制物體向左旋轉
實現按下“E”控制物體向右旋轉
js0.js 代碼
js1.js 代碼
參數的傳遞可以使用obj進行傳遞,代碼中我將旋轉的角度做為參數傳遞到了js1.js中控制模型旋轉。
Vector3 標示一個3D的向量單位,它可以標示模型的三個方向,這里根據旋轉的角度與移動的向量設置它。
OK點擊運行,通過按鍵我們可以正常的控制模型平移與旋轉,但是現在有兩個問題 1, 主攝像機不能跟隨控制模型, 2 、模型可以橫穿過山丘,感覺很假。下面我們解決這兩個問題。
在Unity3D標準資源的腳本中系統幫我們寫好了跟隨腳本.如下圖所示,點擊Import Package - > Scripts 將系統腳本導入。
選中攝像機 點擊Component - > Camera-Control - > Smoot Follow ,給主攝像機添加一個跟隨腳本。
跟隨腳本添加完以后,須要指定一個跟隨的物體,下面紅框內將跟隨的物體Cube拖動進來,這里Cube就是我們上面控制的模型,那么這樣,攝像機將會一直在身后跟隨我們控制的模型。下面是一些跟隨的參數,設置 跟隨的距離 高度等等,盆友們手動的修改一下運行游戲就可以看出來變化,。
控制物體的碰撞可以使用 選中模型, Component - > Physics - > Rigidbody 設置這個模型的重力碰撞。那么這樣你控制的模型就不會穿過山丘,而是感應重力碰撞。
點擊運行游戲,看看效果,控制箱子行走的同時,我們可以清晰的看出旁邊的樹木被物理碰撞所干擾,前后,左右,旋轉 完全OK .大家快試試吧。哇咔咔~~
明天開始MOMO又要開始處理一部分iPhone 的界面圖形化開發,Tomorrow is another day ,加油哇咔咔~
Unity3D 的世界中腳本還可以做很多事情,以后我在慢慢向各位道來~ 歡迎各位盆友可以和
MOMO
一起討論
Unity3D
游戲開發,哇咔咔~~~
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
