U.F.O. SAを独自パターンでコントロールするアプリVer.6

U.F.O. SA2台目到着記念。ってなんだそりゃ。(でも、新品ってやっぱ凄いスムーズに動くわ。如何に劣化していたかが良く分かる)

オマケ機能を付けてみました。任意のパターンを登録できるようになりました。

このアプリの対象となる製品はこちらです。

あくまでもオマケ機能で、精巧な作り込みはしていませんのでご了承を。

任意のパターンで動かすには

ランダムパターンとして用意した3つの「赤」「青」「緑」ボタンを乗っ取ります!

ボタンを長押し

乗っ取りたい色のボタンを長押ししましょう。

すると、画面が切り替わります。

設定画面

わお。

「デフォルトの動作」ってのが、既定のランダムパターンです。
んで、「動作指定」の方を選ぶと、その下に記述されているデータの通りに動くようになります。
このデータは書き換え可能で、お好きなデータを書き込むことができます。

ただ、このデータ。VolzePlayerのCSVとはちょっと仕様が異なります。
UfoSaCtrlのコントローラーに乗っかる形で作成したので、独自仕様のCSVです。
「速さ,時間,遷移方式」の組み合わせで1行を構成しています。

速さは基本的には-11~11の範囲の数値で、0が停止です。(+-は回転方向が分かれます)
なぜこの範囲なのかと言うと、U.F.O. SAでは-100~100までの数値を受け付けてくれるのですが、
UfoSaCtrlでは速さの倍率を8段階で指定できるようにしています。
そして、極小さい数値を指定した場合、無負荷であれば動きはするのですが、負荷が掛かると止まってしまったりするので極小さい値はUfoSaCtrlの方で指定しないようにすっ飛ばしています。(いわゆるOffsetです)この数値をUfoSaCtrlでは12としています。
U.F.O. SAに指定する数値=速さ(1~11)×倍率指定(1~8)+Offset(12)
で算出しているため、速さ11で倍率8のときに最大値となる100になるんですね。それで11まで、なのですが、別に範囲制限チェックなんて設けていないので、「倍率8なんて使わねえよ」という方は11以上の数値を書いてしまっても結構です。
例えば、倍率4までしか使わないなら22まで書けますし、倍率2までしか使わないなら44まで書けますね。
ちなみにU.F.O. SAに指定する数値が-100~100の範囲を超えてしまっても、無視されるか止まるか(忘れちゃった)で実害は多分無いですが、思った通りの動きになりませんよ、と。

んで、時間は1/10秒単位です。10と書くと1秒です。これは、この速さでどれだけの時間維持するかという時間を書くもので、累積ではありません。VolzePlayerのCSVは確か累積だから必ず前の行の数値よりも大きくしなきゃいけないんですよね。こちらのCSVは前後の行全く無関係です。

そして、最後「s」か「g」を記述してください。
「s」はすぐにその速さにすることを指します。
「g」はじりじりとその速さになっていくことを指します。
先程の時間指定は、その速さになってからの維持時間です。ですので、同じ時間指定していても「g」はその速さになるまでの時間というものが別途掛かりますので「g」の方がトータルの時間は長くなります。

ちなみに、「g」のときの速さの変化ですが、1/10秒ごとに+1(回転方向が逆の場合は-1)して指定の速さに近づけていきます。
ただし、極低速域は上記の理由ですっ飛ばします。具体的には、
・0から速さを上げるときは12に。(そこからは+1ずつ)
・速さを下げるときには8まで-1ずつしてきてから0に
という制御をしています。
例えば-15の速度で動いている状態から13の速度に「g」で遷移する場合、-14,-13,-12,-11,-10,-9,-8,0,12,13と1/10秒ごとに変化します。
なぜ、速さを下げるときは8まで粘るのかと言うと、0から動かそうとするときは小さい数値だと動かないことがあるが、動いているものを弱くしていっても大抵動く、また、その後すぐに止めることになるので、途中で止まってしまっても問題無い。という理由で下げる方向は粘るようにしています。

おかしな記述をすると最悪アプリが落ちます。オマケ機能なので基本ノーチェックです。
正しい記述であればアプリに登録され、以降、その長押ししたボタンでそのパターンを呼び出せるようになります。
ただ、アンインストールしたり、アプリのデータ消去を行ったりしたらデータが消えてしまいますので、お気に入りのパターンができたら、その文字列を全選択してどこかにコピペしておくと良いかもしれません。
ちなみに、初期設定で簡単な例をセッティングしてあります。データ消去されるとこのデフォルト設定が復活します。

ラジオボタンを「動作指定」の方にして戻ると、

動作指定

さり気なく、ボタンの名称が「Custom」に変わります。

「Custom」となっているボタンを選択して動かすとCSVの記述に基づいた動作を繰り返します

俺はランダムパターンなんて要らねえんだよ。全部、俺好みのパターンで動かしたいんだよ。という方はこの3色のボタンそれぞれに別のCSVを記述設定できますので、全部「Custom」にすることもできます。

全部Custom画面

ほら、全部Customになっちゃった。

長押しして、ラジオボタンを切り替えて戻ってくればいつでも既定のランダムパターンに戻せます。

その他の設定や注意事項等は過去のバージョンの記事、
U.F.O. SAを独自パターンでコントロールするアプリVer.5
U.F.O. SAを独自パターンでコントロールするアプリVer.4
U.F.O. SAをAndroidから独自のランダムパターンでコントロールするアプリ
をご参照ください。

CSV記述のコツ

あまり緻密な数値を指定しても無駄です。
速さ1,2程度の小さな差なんてはっきり言って分からないです。(積もり積もって5,6くらいの差になれば分かるけど)
速さを変えずに定常運転させても、実際の動きにはうねりがありますしね。回転方向逆で同じ数値を与えても同じ速さにならないし。
そもそも、そんなに緻密なマシンでは無いです。U.F.O. SAって。経年劣化でも変わるし。
なので、速度を変えるときは5くらいは変えた方が良いです。UfoSaCtrlのランダムパターンでも5以下の変化は連続しないように制御しています。

時間指定もそもそもBluetooth通信の時点であまりきっかりとは動けないのであくまで目安。同じ時間指定しているのに、同じにならないじゃないか! って怒られても無理無理。プログラム上は時間指定通りに動くようにしていても所詮は微弱電波によるリモートコントロールですから。

おおらかな気持ちとおおらかな設定が大事です。

良いパターンが見つかったらコメントに記述してもらえるとありがたいです。

ダウンロードファイル

勝手な再配布はしないでください。
特に、うちのサイトは弱小なので、検索で上位に表示されるサイトに勝手にコピーされると、盗まれたのとほぼ同じ状況に陥ります。
何かしらの問題が発覚して、こちらのサイトでファイルを差し替えても、それが皆さんの元には反映されなくなることにも繋がります。

諸事情によりアプリの無料配布を終了致しました。
今後は活動を支援してくださる方とのみ細細と共有していければと思います。

今後のUfoCtrlアプリ配布ページはこちらです。
UfoCtrl Ver1.00 (UfoCtrl開発活動支援プラン)

ブログに無理矢理載せている都合上、ちょっと特殊なダウンロード形式にしているので、Androidの標準ブラウザではダウンロードに失敗するかもしれません。Chromeなら大丈夫みたい。ブラウザをある程度選んでしまうようです。ご了承ください。

最後に

アダルドグッズや同人コンテンツなどをご購入の際にはこのサイトのリンクを踏んでから購入していただけると、いくばくかの紹介料をいただけるので筆者が大変助かります。
このアプリや筆者の作成コンテンツが役に立ったとか面白かったとか、ありましたら応援していただけると幸いです。

このアプリの対象となる製品はこちらです。

2016-04-29

この記事のタグ

U.F.O.

SA

アプリ

制御

自作