Ryukkun / VividMotion

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VividMotion

写真や動画をscreen(地図)に変換する Minecraft の Plugin だよー

◆ 対応バージョン

  • MC.1.12.2 ~ MC.1.20.6 まで動作確認済み
  • それ以降のバージョンでも動く可能性があります。

◆ VividMotionのここがすごい!

  • 画像だけじゃなくて動画も再生できちゃう!音声は無理!
  • 無駄な通信が少ない!
  • 配布マップで写真を地図に変換したいときなどにも使える!(動画は不可)

◆ アイテム・概念

  • screen : 写真や動画を読み込んだもの。管理しやすい様に名前をつけよう!

  • ScreenSetter : screenをワンクリックで設置できるアイテム。
    • 右クリック : screenを設置。緑のパーティクルだと設置可能。
    • 左クリック : screenを一括破壊。
    • このアイテムを手に持った状態だと ブロックが破壊できない様になってます。
ScreenSetter.mp4



◆ コマンド

set-screen screenを設置できるScreenSetterを取得するコマンド
/set-screen <name> ScreenSetterを取得する。
/set-screen <name> <URL・Path> 新しくscreenをつくり、ScreenSetterを取得する。
 
give-screen screenを地図状態で取得するコマンド
/give-screen <name> screenで使われるすべての地図を取得する。
/give-screen <name> <URL・Path> 新しくscreenをつくり、使われるすべての地図を取得する。
 
screen screenの設定などを操作するコマンド
/screen new <name> <URL・Path> 新しくscreenをつくる。URLが長くチャット欄に収まらない場合は、コマンドブロックを使おう!
/screen delete <name> 駆逐する
/screen pause <name> 一時停止 <-> resume
/screen resume <name> 再生 <-> pause
 
vividmotion configの変更 や debug機能の使用に関するコマンド
/vividmotion fps <0.0~20.0> 動画のscreenのFPS。screen生成時に設定されたFPSの値を参照して処理するため、生成済みのscreenはFPSを変更できない。初期設定は10.0
/vividmotion map-encode <mapEncodeType> 画像・動画を地図データに変換する際のアルゴリズムの変更。<mapEncodeType>は後述。
/vividmotion reload configファイルを読み込みし直す。
/vividmotion show-screen-updates コマンド実行者は、screenの表示面の更新場所をパーティクルで表示する (ON / OFF)

◆ mapEncodeType

マインクラフトの地図は表現できる色が256色以下と限られているため、画像・動画を地図データに変換する際のアルゴリズムを3つ用意しました。
初期設定は誤差拡散.Mk3
動画のscreenを使用する場合は、アルゴリズムごとに通信量が変わってきます。
それぞれメリットデメリットあるから好きなの選んで。

encodeType 写メ 写メ2 通信量 説明
元画像 320 320R
近似 320N 320RN ベーシックな奴。色の精度は低いが、グラデーションが無い画像は得意。
誤差拡散 320G 320RG 遠くから見たらキレイ。近くで見たらキレイじゃない。
誤差拡散.Mk3 320G3 320RG3 ↑同じく。グラデーションが無い画像は苦手。

◆ 注意・仕様

  • クリエイティブでのみscreenとの干渉(破壊やmapの回転)が可能です。
  • 地図1枚の解像度は128x128なので、screenに変換する写真の解像度は縦横ともに128の倍数にすることをオススメします!
    128の倍数ではなかった場合、余白が生成されます。
  • 長い動画はscreenのファイル容量かなり大きくなるかもしれない。ゆるして!
  • 動画のscreenは、写真のscreenよりも負荷が大きいので注意!
    また、作りすぎたり解像度が高いと、通信量が膨大になり接続エラーになる場合があります!
    • 1280x720 10FPS のscreen1つくらいで、1人のプレイヤーに送信できる通信量の上限となる。
    • 1Pixel 1Byteなので、 1280x720 10FPSの場合、 プレイヤー1人に最大で 9.216MByte/s(73.728MBps) 送信してることになる。

About


Languages

Language:Java 100.0%