Unity3D 游戏引擎之平面小球重力感应详解【转】
?
http://blog.csdn.net/xys289187120/article/details/6969333? ? ?
?手機重力感應應該對大多數開發者并不陌生,在新一代智能手機Android? IOS WP7 很多游戲都是使用手機自帶重力感應功能制作的,強大的Unity3D 游戲引擎當然對這個也是完美支持的,今天由MOMO帶大家學習3D 世界中的手機重力感應。本章我們的目標是實現一個小球在屏幕中通過搖晃手機重力加速度讓小球在屏幕中移動。以前的Android系列開發文章中貌似也寫過,其實原理都是一樣一樣一樣的,廢話不多說了。哇咔咔~~
?
?
?
先看一看Unity3D 在iPhone上的重力分布圖。如下圖所示我們可以清晰的看出X Y Z 三個方向的重力分量。Unity3D中重量的取值范圍是 -1.0 到 +1.0.
?
X軸:home按鍵在下手機面朝天向右旋轉90度重力分量為+1.0? 向左旋轉90度重力分量為-1.0
Y軸:home按鍵在上手機背朝自己重力分量為+1.0 home按鍵在下手機面朝自己重力分量為-1.0
Z軸:手機面朝地面重力分量為+1.0 手機面朝天空重力分量為-1.0
?
OK! 有了這三組重要的數值我們就可以控制手機重力感應啦,緊接著我們看看小球重力感應的這個游戲小例子。
?
?
?
?
?
?
?
?
打開Unity3D 我們將給攝像機綁定一個腳本,用來響應用戶控制手機來重力感應游戲小球的移動。
在Input 這個重要的類中,Unity3D 幫我們封裝了重力加速的方法。
?
Input.acceleration.x; 重力感應X軸的重力分量
Input.acceleration.y; 重力感應Y軸的重力分量
Input.acceleration.z; 重力感應Z軸的重力分量
?
?
?
new.js
?
?
[javascript]?view plaincopy
?
?
?
重力感應的圖片不太好截取,我們看看下面的示意圖,小球可以根據我的手機的重力而移動。屏幕左上方正常打印手機當前X Y Z 三個方向的重力分量。
?
?
?
?
說到這里,可能會有盆友問我如何為3D的物體添加重力感應?其實方法是一樣的,因為都是一樣的道理,比如我可以給一個模型綁定一個這樣的腳本,通過Input.acceleration去拿到當前手機的重力感應分量,然后根據這個分量去計算當前模型的位置。細心的盆友你們可以試一試,其實很簡單的哇咔咔~~
?
?
?
最后歡迎各位盆友可以和MOMO一起討論Unity3D游戲開發,總的來說這一章還是比較簡單的,哇咔咔~~~ 附上Unity3D工程的下載地址,Xcode項目我就不上傳了,須要的自己導出。
?
下載地址:http://www.xuanyusong.com/archives/537
?
轉載于:https://www.cnblogs.com/songtzu/archive/2013/04/09/3009547.html
總結
以上是生活随笔為你收集整理的Unity3D 游戏引擎之平面小球重力感应详解【转】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最快最新最详细的IT电子书
- 下一篇: 【转】 已知有个rand7()的函数,返