srain3の独り言

日記程度に書いていきます

【Minecraft】真にリソースパック不要で"自作モデル"を走らせる。次世代の乗り物プラグインを開発中

400Entityほどの電車(プロトタイプ)

youtu.be こちらの動画を見ていただければわかります。(プロトタイプのため音は仮のものですが、挙動の滑らかさに注目してください。レールがリアルなカーブ率じゃないため見た目の不一致は気にしないでください、こんな無茶な条件でも動くという指標です)
自分の出せる技術を絞り出して、乗り物プラグインの一つとして鉄道にも手を出しました。 (既に自動車と航空機の基本的機能は作り込んでます)

滑らかに曲がろうとしてるのがわかっていただけるかと思います。 ここの計算に結構苦戦しましたが、AIに聞きながら解決できました。やっぱり基本的な知識(特に数学的な部分)はAIから聞き出すのが良いね。

こちらを実装するにかかった時間はおよそ7時間かと。 3+4時間ほどで、元々作ってた乗り物(飛行機)から鉄道用に変換→鉄道用の挙動を作成といった具合です。 2000行ほどありますが…それだけ面倒(複雑)な処理だと思っていただければ。

将来的には公開を目指して

今現在は自分の居たコミュに提供していたのですが、もっと広く利用されてほしいと思ったので公開版を検討しています。

このPluginのメリットは↓
・リソースパックは完全に不要(DisplayEntityを利用するためJava版専用です)
・サーバー負荷への最適化も進んでおり、700Entity動作時でもMSPTの上昇を3ms程度に抑える最適化を実現(ハードウェアなどの環境によります)
・ネットワークも標準的な契約で十分なほどです(大体1台0.1Mbps~3Mbps程で済む用に送信タイミングの間引きや無駄なパケットを減らしています)
・ワールド上の建築(ブロック)からDisplayEntityにする時、軽量化処理(※1)で構成エンティティ数を自動で最適化(削減)できます
・上記の軽量化によりリアルな造形をそのまま車両として乗り回せる、それでいて追加のダウンロードなしで全プレイヤーが閲覧・乗車可能です

※1: 3D Greedy Meshingアルゴリズムによるポリゴン削減の応用

終わりに

大規模なサーバーで導入しても数台なら確実に運用できると思えるほど最適化が進んでる自信はあります。
興味がある方はぜひこのブログやX→https://x.com/Srain3_OtHn をブックマーク/フォローでもして定期的に覗いてください。
進展などを発信していきます。既に技術はあるので、公開用に整え直すだけなのでかなり早く進むかな…?

有料プラグインでも良さそうなクオリティだと感じてるので、無料版が出たら是非お試しあれ。驚くと思いますよ!

追記:

srain3.hatenablog.jp ↑続報記事を書きました。こちらに色々リンクあるので是非