「EnDlEss DREamER」ブログ

最近はunity5メインで活動中。以前はツクールRGSSネタなど。

§ CrossPlatformInputでtouchpadとbuttonを一緒に使う。重ねる、上にボタン。

昨日のスクショではボタンは押せるけど戦車は動かない状態だったんだけど、
結構ググッた結果、割りと簡単に解決できたので報告。

20170623 233555Greenshot

赤丸の部分がUI周り。
その中の赤ポッチ2つがタッチパッド2つ。
左が戦車の移動、右が砲塔の移動。
ボタンは3つで、大きいボタンが砲撃、Qが武器切り替え、Cが拡大。
タッチパッドの上にボタンが乗っかってるイメージで動かしたい。

MobileSingleStickControl以下で上から下に行くほど、優先順位が高い。
つまり、MoveTouchpadが一番下で、Fire3Buttonが一番上。
という動作順で間違いない。

ソースはここの記事。

CrossPlatformInputの挙動は別として、希望通りの動きになるようになった。


2017/06/23/Fri 23:46:52  unity/CM:0/TB:0/

§ バーチャルジョイスティック

Screenshot_20170622-170202.jpg

今日はかなり作業が捗ったので報告♪
ようやっとスマホ操作の部分に着手し始めました!!
避弾経始やら砲弾の種類やらは8割できたので、あとはデバッグの嵐のみ。
砲弾の切り替えの処理を作っていく内に、スマホでの動作とかやるようになって
最終的には、UI周り全部手を付け始めました。

やることは満載ですが、大きな一歩です♪


2017/06/22/Thu 23:09:18  unity/CM:0/TB:0/

§ 入射角の処理

弾の入射角のアルゴリズムやっとできた???




            //2点間の角度を取得(弾丸初期位置と弾丸接触座標)
            var target = initial_position - transform.position ;
            //レイで得た衝突面から射線ベクトルによる角度。鋭角(90度以下)で衝突面との角度算出。
            Vector3 desiredMove = Quaternion.Euler(0, -90, 0) * rhit.normal;
            //Quaternion.EulerでY軸中心に手前へ90°回転させてZ軸方向から横方向へのベクトルに変換。
            //まずは、弾丸接触面の法線からY軸に90°曲がった線をベクトルにAngleで角度取得
            float angle = Vector3.Angle(target, desiredMove);
            //角度が鈍角なら180から引いて90°以下で表示させる。
            if (angle > 90.0f) { angle = 180.0f - angle; }


このソースはOnCollisionEnter内で処理しているよ。

initial_positionは弾の初期座標。
transform.position は弾の接触時の座標。
rhitはinitial_position作成時に一緒にレイを飛ばしてRaycastHitを格納する。

targetで初期座標と接触座標からベクトル算出。
desiredMoveはrhitでゲットした面情報normalを使い、クォータニオンのオイラー角でY軸を中心に
90°回転した方向のベクトルを取得。
これにより、接触面に垂直な法線ではなく、面に平行なベクトルを得る。
targetとdesiredMoveを使い、Vector3.Angleで角度算出。
最後に鈍角を鋭角にして終わり!


ちょっと試した感じでは、いい感じの値が出たのでこれで入射角をはOKかな
避弾経始はまた別の話だけど。



2017/06/13/Tue 10:36:59  unity/CM:0/TB:0/

§ 戦車ゲーの近況

ベースのバトルタンクキットを改造中で、WotライクにするためにC#スクリプトをいじってます。

スライドメニューから砲弾を切り替える機能や、装甲厚の設定から避弾経始に至るまでやってます。
装甲厚は前後左右と車体・砲塔のみで簡単なものですが。
細かな形状ごとの処理は今の自分の力量では無理。

避弾経始周りで、1つのコライダーから接触座標を判定して前か後ろか右か左かをやっていて
うまく分岐できなかったり、避弾経始でVector3.angleで入射角を算出もうまいこと理想の値が出ない。
でも、だんだん形にはなってきていると思うので6割ぐらいは進んでいるはず・・・・・・

目指すはモンスターハンターの戦車版 = アクションメタルマックス??
な感じを構想している。
操作はWotライクでもっと初見殺しとかされないで敷居を下げてソロで遊べそうなもの。
対戦ものではない所がミソ。
いずれは実装しても良さそうだけど、当面は考えてない。


と、まだスクショを出せるレベルではないのが残念。
モチロン、スマホアプリで。
Win10とかも対応しようかな???


2017/06/11/Sun 22:45:54  unity/CM:0/TB:0/

§ 弾丸など高速移動物体のすり抜け対策

https://vipermakeit.wordpress.com/2014/08/23/rigidbody%E3%81%AE%E3%81%99%E3%82%8A%E6%8A%9C%E3%81%91%E3%82%92%E4%BD%95%E3%81%A8%E3%81%8B%E3%81%97%E3%81%9F%E3%81%84/

上記で紹介している海外のサイトのスクリプトを弾丸など移動するオブジェクトにアタッチするだけ!
仕組みは、1フレームごとにレイを飛ばしてどうとか。




2017/06/11/Sun 09:30:41  unity/CM:0/TB:0/
MAIN / NEXT
copyright © 2006 「EnDlEss DREamER」ブログ. All Rights Reserved.
Template by TAE-3rd☆テンプレート工房