日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

EasyJoyStick使用以及两种操作杆 EasyJoyStick的使用方法,简单的不能再简单 Hedgehog Team-》Easy Touch -》Add Easy Touch For C#

發(fā)布時間:2023/11/30 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EasyJoyStick使用以及两种操作杆 EasyJoyStick的使用方法,简单的不能再简单 Hedgehog Team-》Easy Touch -》Add Easy Touch For C# 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
EasyJoyStick使用以及兩種操作桿 EasyJoyStick的使用方法,簡單的不能再簡單
Hedgehog Team-》Easy Touch -》Add Easy Touch For C# Hedgehog Team-》Easy Touch -》Extensions-》Adding A New Joystick

配置如圖:
然后看一下配置,我喜歡掌控性強一些,于是只利用到JoyStick傳回來的值,也就是一個Vector2向量。 在PlayerController也就是控制器腳本上加一個引用,然后在Update中接受值即可。
代碼:?Vector2?axis?=?joystick.JoystickAxis;?
如果想要實現(xiàn)動態(tài)操作桿,只需要把 DynamicJoystick 口?挑上就行。 別的沒什么難點了。
如果想限制動態(tài)操作桿的有效區(qū)域設(shè)置器Free Area即可。
兩種移動方式解析
(1)直觀移動方式:
轉(zhuǎn)向立刻生效,指哪走哪 這種比較簡單,直接獲取方向向量,乘以速度即可

Vector2?axis?=?joy_stick.JoystickAxis;
float delta_x = axis.x * current_speed * Time.deltaTime; float delta_y = axis.y * current_speed * Time.deltaTime;

transform.Translate( delta_x, delta_y, ? 0);? ? ? ? ? ??
??? ??
(2)漸變轉(zhuǎn)向移動方式: 在這種方式下,如果你向前走,突然把遙桿向后拉,物件不會直接向后移動,而是會轉(zhuǎn)一個彎,逐漸轉(zhuǎn)向到目標方向,然后移動。
Vector3?normal?=?(Vector3)axis.normalized;
float?cos_theta?=?Vector3.Dot(player_object.transform.up,?normal);
float?theta?=?Mathf.Acos(cos_theta); ?float?rota?=?theta?*?axis.magnitude?*?((real_speed?>?player_data.normal_speed?+?0.1f)???player_data.turn_cof_normal?:?player_data.turn_cof_acc);
//防抖動 if?(theta?>?0.1f)? { Vector3?old?= transform.eulerAngles;
if?(Vector3.Cross(transform.up,?normal).z?>?0) { old.z?+=?rota; } else? { old.z?-=?rota; }
transform.eulerAngles?=?old; }

transform.position?+= transform.up?*?real_speed?*?Time.deltaTime;
上面的代碼,本質(zhì)上講,把移動分解成向前移動,和向拉桿指向方向,逐漸轉(zhuǎn)向。
這里有兩個要點, 1是計算操作桿方向和當前物件移動方向的夾角。 利用向量夾角公式計算,也就是通過兩個向量的點積計算。
2是計算物件應(yīng)該延那個方向進行轉(zhuǎn)向,換句話說,需要判斷物件應(yīng)該順時針轉(zhuǎn)過去,還是要逆時針轉(zhuǎn)過去 這里如果不做處理,那么轉(zhuǎn)向的時候,會出現(xiàn)問題,比如你明明只想向左轉(zhuǎn)60度,卻向右轉(zhuǎn)了300度
這里利用到了叉乘的概念,兩個向量叉乘,其z軸的值的正負,可以判斷兩個向量的順時針,逆時針相對角度關(guān)系。

總結(jié)

以上是生活随笔為你收集整理的EasyJoyStick使用以及两种操作杆 EasyJoyStick的使用方法,简单的不能再简单 Hedgehog Team-》Easy Touch -》Add Easy Touch For C#的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。