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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

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

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

配置如圖:
然后看一下配置,我喜歡掌控性強(qiáng)一些,于是只利用到JoyStick傳回來的值,也就是一個(gè)Vector2向量。 在PlayerController也就是控制器腳本上加一個(gè)引用,然后在Update中接受值即可。
代碼:?Vector2?axis?=?joystick.JoystickAxis;?
如果想要實(shí)現(xiàn)動(dòng)態(tài)操作桿,只需要把 DynamicJoystick 口?挑上就行。 別的沒什么難點(diǎn)了。
如果想限制動(dòng)態(tài)操作桿的有效區(qū)域設(shè)置器Free Area即可。
兩種移動(dòng)方式解析
(1)直觀移動(dòng)方式:
轉(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)向移動(dòng)方式: 在這種方式下,如果你向前走,突然把遙桿向后拉,物件不會(huì)直接向后移動(dòng),而是會(huì)轉(zhuǎn)一個(gè)彎,逐漸轉(zhuǎn)向到目標(biāo)方向,然后移動(dòng)。
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);
//防抖動(dòng) 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ì)上講,把移動(dòng)分解成向前移動(dòng),和向拉桿指向方向,逐漸轉(zhuǎn)向。
這里有兩個(gè)要點(diǎn), 1是計(jì)算操作桿方向和當(dāng)前物件移動(dòng)方向的夾角。 利用向量夾角公式計(jì)算,也就是通過兩個(gè)向量的點(diǎn)積計(jì)算。
2是計(jì)算物件應(yīng)該延那個(gè)方向進(jìn)行轉(zhuǎn)向,換句話說,需要判斷物件應(yīng)該順時(shí)針轉(zhuǎn)過去,還是要逆時(shí)針轉(zhuǎn)過去 這里如果不做處理,那么轉(zhuǎn)向的時(shí)候,會(huì)出現(xiàn)問題,比如你明明只想向左轉(zhuǎn)60度,卻向右轉(zhuǎn)了300度
這里利用到了叉乘的概念,兩個(gè)向量叉乘,其z軸的值的正負(fù),可以判斷兩個(gè)向量的順時(shí)針,逆時(shí)針相對角度關(guān)系。

總結(jié)

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

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