• パーツアセンブルギミック #JointBlock #minecraft

    2019-07-18 00:043
    フロントミッションの様にパーツをアセンブルするギミック

    ↓草案 と言うか経過報告?
    https://twitter.com/makaraeg/status/1150779643277934592

    非表示のマスターユニットに腕頭体バックパック下半身をスレーブで取り付ける

    各パーツのリングには位置などの設定を設け、
    ミラーリンクノードを使いマスターユニットに送る
    マスターユニットはそれを読み取り、スレーブユニットの位置や地上高、
    動きなどを制御する。

    頭手足はマスターの偽体パーツからMCTRL情報を呼び出し動かす。
    動作信号もマスターから受け取り、信号がない時はMCTRLのトレースを止める。
    (汎用キーでポーズをとらせる際なども同様)

    各パーツの接合部にセンサーを組み込むことでR.I.N.Gが自動的に
    マスターに伝える情報読み出してくれるようにする。

    因みに接合部配置スライダーが1個だけなのであまり大きな機体は想定してない。
    左右に+-2ブロック、上下に+-2ブロック程度なので、
    ボディサイズ幅5、高さ4ブロック程度
    足は地上高の調整にスライダーとエクステンダーを数個使ってるのでそこそこ大きくても
    良いので、全高は15ブロック程度かな。

    ■スレーブは
    1体、2頭、3右腕、4左腕、5下半身、6バックパック、7右手武器、8左手武器
    9バックパック武器A 10バックパック武器B
    9・10については、バックパックに限定せず、肩や脚などから2箇所選択にするのもいい
    とりあえずテストとしてバックパックにする。(トレース脚を作らなくていいし)


    ■1.ボディユニットは、ボディーサイズに合わせ
    頭、両腕、バックパックの配置情報を提供する
    ボディユニットのコアはレッグユニットとの接合部に合わせ、
    下半身ユニットのみで地上高を決めれるようにする。

    ユニット状態検知ノードでマスターと接続中のみ1回R.I.N.G.を走らせ、
    接続が終わるまで止めてる。
    各1値オペノードでスライダーの移動量をxyzでミラーリンクに送り、
    マスター側で拾って頭、左右腕、バックパックの位置決めをします。



    ■2.頭パーツは・・・特に何もいらない。
    設置後はマスターユニット側で首が動くので、特殊な動きをさせるのでなければ
    マスターのアトラクターに据え付けて終わりです。
    あー、可動範囲を規定してやる必要はあるのかも。

    ■3.右腕、4.左腕 6.バックパック
    スレーブにスレーブがくっつかない為、腕とバックパックは、
    マスター側にハードポイントを用意し、
    スレーブ側は武器のハードポイントの位置をマスターに伝えて位置と合わせる必要がある
    これが結構問題。
    ※武器の付け替えをしなければいいのだけど。テストでは省略してもいいかも。
     スレーブパーツにそのまま武器つけちゃおう。
    腕の動き自体はマスターのMCTRLを参照して再現するだけ。
    特殊モーションの処理はまた別で考える。

    ■5.下半身、
    地上高のデータを本体に送る。
    足の動き自体はマスターのMCTRLを参照して再現するだけ。
    特殊モーションの処理はまた別で考える。

    ■7.右手武器、8.左手武器 9.バックパック武器A 10.バックパック武器B
    場合によっては省略。
    基本的には発射のモーションを仕込んだり完全なワンオフパーツになると思う。


    ■マスターR.I.N.G
    ページ1がボディ調整
    0~3が頭xyz位置 ch20番
    4~7が右腕 ch21番
    8~11が左腕 ch22番
    12~15がバックパック ch23番


    ページ2は頭
    頭はセンサー系やシート位置、カメラの設定を転送させようと思う。
    まだ未定

    ページ3は下半身
    下半身ユニットは地上高の情報を提供する
    必要であればマスターの足パーツ情報を送るが、
    足パーツに武装をしない場合は不要(というかスレーブ数的に付かない。)


    アームユニットは手持ち武器制御用に腕の各関節位置情報をマスターに送る
    マスターは情報に基づき「手」の位置を再現し、そこにアトラクターを置くとともに
    アームユニットの動きをトレースする。

    バックパックユニットはバックアップ装備用の武器アトラクター位置情報をマスターに送る
    マスターは情報を元に装備位置にアトラクターを配置する。

    ■マスターユニット

    ・チャネル
    20~23 接合位置スライダー
     20頭 21右腕 22左腕 23バックパック(下半身はコア直下固定 )
    25~30 アトラクターオンオフ 25体 26頭 27左腕 28右腕 29下半身 30バックパック
        31右手武器、32左手武器 33バックパック武器A 34バックパック武器B
    50~64 エフェクト(全部使ってるわけじゃなくとりあえず割り当て)
    80腰、81右腿、82右膝、83右かかと、84右ひじ、85右肩、
    86左腿、87左膝、88左かかと、89左ひじ、90左肩、91首
    116~127タイマー(全部使ってるわけじゃなくとりあえず割り当て)

    他に各パーツ初期値用のチャネルが必要。24~49ぐらいで収まらないかな


    偽足も組んだけど、ハードポイントがないので要らない。


    マスターの試作R.I.N.G ボディパーツの位置合わせページ
    アトラクターの配置されてるスライダーをスレーブから情報もらってxyzに移動させる。

  • 広告
  • JointBlock展覧会 企画書

    2019-07-01 14:30
    テーマ
    「JointBlockを長く楽しむ」

    コンセプト
    「JointBlockへの気軽な参加感の提供」
    長く楽しむにあたり、参加感や他の人の作品を見る事は
    大きなけん引力を持つと思う。

    以前あったコンテストも大きな影響を与えたと思うが
    開催の手間や、クウォリティー上昇による敷居の上昇が懸念される。
    その為もう少し手軽に開催、参加できる仕組みとして
    「展覧会」を企画します。

    詳細
    ・動画で展示ユニットを映す形式は同じで、投票表彰部分はナシ。
    ・秒数を決めて撮影(何秒ぐらいがいいのかな)
    ・コメントが有った方がよいでしょうが、作業量的にカット
    ・表題とコメントを第3回同様製作者からもらい表示させる
    (作品説明、作成意図、拘りポイント)
    ・BGMの選曲が割と問題になりそう…
     ニコ動はいいけどYouTube配信は著作権の関係で難しいかもね。
    (一括別BGMでもいいかも)

    あと決めるところとしては、
    ・開催頻度 (1季節ごとぐらい?)
    ・展示点数 (10~20点ぐらい? 複数展示あり)
    ・レギュレーション (展覧会とコンテスト未発表であれば過去作品OK 改造後再出展OK)
    ・稼働ユニットの扱いなど モーションメインのものの撮影はいろいろ難しそう
     複数キーでの操作などはマニュアル添付してもらうとして、全機能展示はやりにくそう
     あとスレーブ機の展示についても色々面倒そう。


  • R.I.N.G.のチュートリアル

    2019-06-26 14:461
    配置だけなら簡単だから
    演習をとなるとなかなか…
    Discordでなんか話してたけど忘れた
    どっかに書き出したけどどこに書き出したか忘れた。
    むー。

    R.I.N.G.の機能的な基本は5つで
    ・条件での分岐やページ呼び出しでプログラムを流す
     Ture/False条件でのIFジャンプとページ呼び出し、リターンノードの解説
     条件の出し方の方が難しい。

    ・各ブロックに命令を与える
     指示ノード 正直キリがないので、よく使うものを順次
     キモはチャネル占有、Tick制御の部分だろうなぁ。「先勝ち、次Tick処理」ってやつ
     ローテータなどモーションブロック、アクション、次点でアトラクターとかコアかな。

    ・ユニットに移動指示をする
     移動指示ノード、Yaw変更指示ノードの解説

    ・構文を使って数値を変更する
     1値、2値の説明になる。組み合わせ次第で色々出来る上、設定項目内の種類が多い
     代表的な2値比較中心でいいかな。三角関数とかはまぁ…

    ・センサーなどを使って各種情報を取得する
     これも多すぎ検知系ノードはセンサーを使うものと使わないものがあるので、
     Entityがらみの有るなしで書くかぁ
     チュトでやるなら対象ユニットのエンティティの取り方かな
     それから移動状態の取得とかシートの取得とか・・・全部やないか
     どうしたらTureFalseが取れるかだけでいいか

    操作的には3つで
    ・ノードを置く
    ・ノードを繋げる
    ・ノード内の数値を設定する
    他に
    ・R.I.N.G.自体にベース設定
    ・ページの追加削除

    …うーん
    適当に実況動画上げるぐらいの方がいいのかね?