編寫初衷:
1、網上沒有現成的好用的waypoints插件
2、自己在做一個賽車游戲,如果沒有這款插件的話在制作游戲的過程中會被累成狗
3、從來沒有接觸過插件方面的東西,所以想自己嘗試一下
插件用途:
1、顧名思義,賽車游戲專用的插件(本人目前還是個初學菜鳥,等以后接觸的游戲類型多了會增強)
2、提供了現成的方法可直接copy傳入參數即可做出你想要的酷炫效果。這些方法沒寫入到插件中,而是單獨的寫出來讓大家可自由延伸擴展
3、圈數檢測:一個waypoints data文件通通搞定!絕對不會誤判圈數
4、復位點檢測:當撞牆、掉水坑里、沖出賽道、卡在近到里……,這個時候通過計算復位點可以獲得正確的位置
5、反向檢測:想想如果劉翔在比賽的時候跑反賽道了,那是多么悲劇的事!精確檢測反向讓它往南,絕不往北
6、計算賽道總長度:這個不用解釋了。。。
7、插件用途暫且舉例這么多,我提供的這些方法基本的賽車游戲已經夠用了,總不能讓我幫你做一個游戲出來是吧,那樣就沒有意義了,自己繼續擴展
插件優點:
1、快速精確設置路標點
2、可視化編輯
3、Xml儲存路標點數據
4、完美結合子物體路標點和數據路標點
5、可擴展性強
6、多平台支持
7、自動對齊地面
8、支持路徑讀取和數據讀取兩種方式
9、支持單圈和多圈編輯
......
同樣的功能,不用插件之前一個簡單的地圖我最快也要半個小時
而且路標點不是很精確
用了插件一個地圖五分鍾搞定,且精確
我這里有一百多個地圖,如果不用插件的話我真要累成狗了
插件缺點:
1、一大堆,我都不好意思說,丟人!好歹第一次寫插件,不足的地方還望告知
插件截圖:
使用說明:
1、創建路標點
菜單欄——CarWaypoints——CreateWaypoints(快捷鍵:Alt + C)
2、新建路標點數據文件
Project面板右鍵——Create——Waypoints Data
3、設置參數
選擇Hierarchy面板中的Waypoints,拖動新創建的New Waypoints Data到Waypoint Message腳本的第一個參數
Refresh button:刷新路標點
當前路標點被編輯得亂七八糟的時候可以刷新路標點恢復數據庫中的路標點
Max Waypoint Dis:兩點間最大距離
兩個路標點距離太遠會影響玩家體驗。建議使用默認設置
Line Color:線顏色
設置路標點連線和方向線的顏色
Line Width:線寬度
設置路標點方向線與路標點的距離
Show Waypoint:顯示隱藏路標點連接線
如果感覺看花眼了,可以選擇隱藏此項
Show Waypoint Dir:顯示隱藏路標點方向線
如果感覺看花眼了,可以選擇隱藏此項。可更精確的預覽設置好的路標點
Align Ground:對齊地面
路標點是否與地面保持一定高度,取消選擇則Dis Ground項無意義
Dis Ground:路標點離地面距離
每個路標點距離地面的高度,決定賽車復位后從多高的位置下落!根據所需調整。建議使用默認
Is Around Circle:是否繞圈
地圖是單圈還是多圈,如果是單圈則不勾選,如果是多圈則編輯完路標點后在勾選,不然線會看起來非常亂。切記!!!
4、開始編輯路標點
首先,我們把地面碰撞的tag改為:Map_ground。這一步一定要設置,很重要
將編輯器視角移動到賽道起點,然后選擇菜單欄——CarWaypoints——Add Waypoint(快捷鍵:Alt + A)
強烈建議使用快捷鍵添加,效率很高
添加以后你會看見一條藍色的線,調整到賽道中央
然后旋轉它將他藍色的軸面對着賽車行駛的方向,如下圖:
調整完成后Alt + A繼續添加一個新的路標點,如果你上一步沒有設置錯的話,我們可以看見一個三角形
如果新添加的路標點被地面遮擋住了,那么就向上移動,保證他在地面之上即可
如法炮制繼續添加路標點
在彎道處時,我們調整兩點之間的距離,以縮短保證精確性
添加時注意方向箭頭是不是對准賽道中央,且藍色的軸對着正確的形式方向
藍色軸是自動對齊的,你只需要注意當前添加的路標點藍色軸即可
我們選中並放大一個路標點查看,可以看見路標點下有一條紅線,如果你勾選了對齊地面的話,就可以看見
繼續添加路標點,讓他圍地圖一圈,添加完成后勾選Waypint Messages的Is Around Circle
這個時候就可以看見最后一個路標點和第一個路標點連接上了
5、保存路標點
路標點編輯完成了,當然要保存,不然我們怎么使用
菜單欄——CarWaypoints——Save Waypoints(快捷鍵Alt + S)
看見右下角調試輸出保存成功的提示就說明保存成功了
6、路標點數據文件的使用
Waypoint Message只是編輯模式中使用的
編輯完成后可以直接刪除創建的Waypoints
插件包中我提供了demo,那個demo是網上下載的Car Physics,一個賽車演示
因為我自己的模型涉及版權問題,所以就不能提供給大家,很抱歉
賽車部分的代碼和CarWaypoints完全不沖突
我單獨寫了一個腳本CarController.cs,里面演示了一些基本CarWaypoints功能,這里我就不多解釋了
那幾個方法我打算抽時間在單獨解釋一下原理,如果看不懂的到時候看我博客就知道了
路標點數據文件是用XML儲存的
解析我提供了路徑讀取和數據讀取兩種方式
拖動剛才保存的Waypoints Data文件到CarControl腳本的waypoints data參數上
運行游戲,就可以看見效果了
R鍵復位,反向行駛和圈數計算會以debug的形式輸出
畢竟第一次寫插件,插件幫助文檔也是第一次寫
不足的地方還請包涵指正
CarWaypoints插件演示視頻:http://v.youku.com/v_show/id_XODk1NDQyOTg0.html
CarWaypoints插件演示視頻下載地址:鏈接: http://pan.baidu.com/s/1dD9GwjJ 密碼: mj4c
CarWaypoints v1.0插件下載地址(包含demo):鏈接:http://pan.baidu.com/s/1c0yTc0g 密碼:v743
本文鏈接:http://www.cnblogs.com/shenggege/p/4295616.html