Minecraft【テクニック】ブロックアニメーションを作ろう。2-4

2025-02-27

Java版1.21.4-、統合版v1.21.51-で動作確認。

ブロックを動かす、アニメーションの作り方。

ブロックアニメーションを作ろう。

ブロックで立体的なドット絵を作り、動かす装置を作ります。その場で再生するだけでなく、2-3で作ったコントローラーで操作も出来るようにします。応用すれば、ボスキャラや乗り物の作成、地形を動かす罠ダンジョン、謎解きハウス、アクションゲームなども作れます。今回は、簡単に作れる2種類の装置を紹介します。

 

 

 

目次

1.フレームで更新
・キャラクターの作成。
・追加フレーム(統合版)。

2.フレーム式
・Java版。
・統合版。

3.リフレッシュレートで更新
・装置の仕組み。

4.リフレッシュレート式
・Java版。

 

 

フレームで更新

パラパラ漫画のように、少しづつ変化させた静止オブジェクトを作り、連続再生して動いているように見せる方法です(ストップモーション・アニメーション)。1フレーム(コマ)づつ作るので、細かい表現が可能。大きなもを作るには、手間とマシンパワーが必要です。

 

キャラクターの作成。

移動方向に合わせて向きを変える、簡単なキャラクターを作ります。3フレーム(コマ)の静止オブジェクトを作成。名前は「キノコ使い」にします。ストラクチャーブロックを使い、同じ構造物のサイズで保存します。

変化がわかるように、ドロッパーや杖の向きを変更。

 

移動の時、前フレーム(コマ)のブロックが残らないよう空気ブロック含めて保存。

 

セーブモードに変更。構造物名は、左から「1」「2」「3」で保存。保存範囲にストラクチャーブロックを含まないよう、z軸の相対位置を1にします。

 

追加フレーム(統合版)。

統合版は空のフレーム(コマ)を挟む事で、「キノコ使い」がスムーズに移動出来るようになります。※ストラクチャーブロックは、メモリー保存にすると再起動で消えてしまうので、HDDに保存します。

作り方は「1-3」のフレーム(コマ)と同じ。

 

モードを保存に変更。保存名は「air」 。※エクスポートはWindows版のみ。

 

フレーム式

動力部品を使った「インパルス」のコントローラーに、フレーム(コマ)を追加します。防具立て「スティーブ」を基準点に、相対座標を使って「キノコ使い」をロードします。※他のコントローラーでも作成出来ます。

 

◻︎相対座標とは
原点とは別に、基準点を設定。そこからの距離を、縦・高さ・横(x,y,z)で数値化したもの。数値が変わらなければ、基準点が移動しても、同じ距離を保つ事が出来ます。

 

Java版。

 

◻︎コマンド 例

①execute at @e[name="スティーブ"] run setblock ~-2 ~ ~1 structure_block{mode:"LOAD",name:"1"}
------
②execute at @e[name="スティーブ"] run tp @e[name="スティーブ"] ~-1 ~ ~
③execute at @e[name="スティーブ"] run setblock ~-2 ~ ~1 structure_block{mode:"LOAD",name:"3"}
------
④execute at @e[name="スティーブ"] run tp @e[name="スティーブ"] ~1 ~ ~
⑤execute at @e[name="スティーブ"] run setblock ~-2 ~ ~1 structure_block{mode:"LOAD",name:"2"}
------
⑥execute at @e[name="スティーブ"] run setblock ~-2 ~1 ~1 redstone_block

【防具立ての召喚】
summon armor_stand ~ ~ ~ {CustomName:'"スティーブ"',CustomNameVisible:1b}

※防具立てを「marker」に変更出来ます。

 

◎プレイヤーが北向きの場合

【向き】①③⑤
正面、左向き、右向きの「キノコ使い」をロード。
【移動】②④
防具立て「スティーブ」を、左右に移動。
【動力】⑥
ストラクチャーブロックをロードするための動力。

 

統合版。

 

◻︎コマンド 例

①execute at @e[name="スティーブ"] run structure load "1" ~-2 ~ ~1
------
②execute at @e[name="スティーブ"] run tp @e[name="スティーブ"] ~-1 ~ ~
③execute at @e[name="スティーブ"] run structure load "3" ~-2 ~ ~1
------
execute at @e[name="スティーブ"] run structure load "air" ~-2 ~ ~1
④execute at @e[name="スティーブ"] run tp @e[name="スティーブ"] ~1 ~ ~
⑤execute at @e[name="スティーブ"] run structure load "2" ~-2 ~ ~1
------
⑥execute at @e[name="スティーブ"] run structure load "air" ~-2 ~ ~1

【防具立ての召喚】
summon armor_stand スティーブ ~~~

 

◎プレイヤーが北向きの場合

【向き】①③⑤
正面、左向き、右向きの「キノコ使い」をロード。
【移動】②④
防具立て「スティーブ」を、左右に移動。
【補正】⑥
アイテムを落とさずに、次のフレームを表示。

 

リフレッシュレートで更新

常に表示しているブロックを、一定の間隔で消す事で、擬似的なリフレッシュレートを作ります。1秒間で10フレーム(コマ)を表示可能。静止オブジェクトだけでは表現しにくい、動的なアニメーションを作る事が出来ます。フレーム式と組み合わせも可能。※統合版でも作成出来ますが、ブロックが点滅してしまうため、非推奨となります。

 

装置の仕組み。

「防具立ての追尾」を使ったコントローラーと、擬似的なディスプレイを組み合わせます。常に表示している「赤色のテラコッタ」がプレイヤーの動きに合わせて移動します。プレイヤーがディスプレイの範囲を超えないよう、移動制限が必要になります。※他のコントローラーでも作成出来ます。

ひとつのストラクチャーブロックで、最大48×48×48ブロックまで作成可能。※Java版の場合。

 

セーブモードに変更。構造物名は「10hz」で、エンティティを含めず保存。

 

リフレッシュレート式

ストラクチャーブロック「10hz」は、防具立て「ディスプレイ」を基準点にし、相対座標で設置します。座標を調べる必要が無いので便利です。木のシャベルをトリガーに、装置を起動します。

 

Java版。

②⑤⑥⑦は動力が必要。

 

◻︎コマンド 例

①execute at @e[name="ディスプレイ"] if block ~ ~ ~ structure_block
②execute at @e[name="ディスプレイ"] run setblock ~ ~ ~ air
------
③execute at @e[name="スティーブ"] run setblock ~ ~ ~2 red_terracotta
------
④execute if entity @e[name="木のシャベル"]
⑤execute at @p run tp @e[name="スティーブ"] ~ ~ 0
⑥execute as @e[name="スティーブ"] at @s run tp @s ~ ~ ~ ~180 ~
⑦execute as @e[name="スティーブ",y_rotation=0] at @e[name="ディスプレイ"] run setblock ~ ~ ~ structure_block{mode:"LOAD",name:"10hz"}

【防具立ての召喚】
summon armor_stand ~ ~ ~ {CustomName:'"スティーブ"',CustomNameVisible:1b}
summon armor_stand ~ ~ ~ {CustomName:'"ディスプレイ"',CustomNameVisible:1b}

※防具立てを「marker」に変更出来ます。

 

◎プレイヤーが北向きの場合

【リフレッシュレート】①②
ストラクチャーブロックを検知し、動力を送り削除。
【キャラクター】③
防具立て「スティーブ」の2ブロック前に、「赤色のテラコッタ」を常に表示。
【複合装置】④⑤⑥⑦
木のシャベルを検知。「スティーブ」を左右に動かすコントローラーを起動。さらに「スティーブ」を回転し、2ティックのクロック回路で「10hz」を設置。⑤のz軸は絶対座標。