FMBE
#playanimation
これらの技術を利用したモデリング用コマンド
code:本体
/playanimation @etype=fox,tag=block animation.player.sleeping none 0 "" controller.animation.fox.move
/playanimation @etype=fox,tag=block animation.creeper.swelling none 0 "v.xbasepos=v.xbasepos??0;v.ybasepos=v.ybasepos??0;v.zbasepos=v.zbasepos??0;v.xpos=v.xpos??0;v.ypos=v.ypos??0;v.zpos=v.zpos??0;v.xrot=v.xrot??0;v.yrot=v.yrot??0;v.zrot=v.zrot??0;v.scale=v.scale??1;v.xzscale=v.xzscale??1;v.yscale=v.yscale??1;v.swelling_scale1=2.1385*math.sqrt(v.xzscale)*math.sqrt(v.scale);v.swelling_scale2=2.1385*math.sqrt(v.yscale)*math.sqrt(v.scale);" scale
/playanimation @etype=fox,tag=block animation.ender_dragon.neck_head_movement none 0 "v.head_rotation_x=0;v.head_rotation_y=0;v.head_rotation_z=0;v.head_position_x=(v.xbasepos*3741/8000)*math.sqrt(v.xzscale)*math.sqrt(v.scale);v.head_position_y=(10.6925+v.ybasepos*3741/8000)*math.sqrt(v.yscale)*math.sqrt(v.scale);v.head_position_z=(17.108-v.zbasepos*3741/8000)*math.sqrt(v.xzscale)*math.sqrt(v.scale);" posshift
/playanimation @etype=fox,tag=block animation.warden.move none 0 "v.body_x_rot=90+v.xrot;v.body_z_rot=90+v.yrot;" xyrot
/playanimation @etype=fox,tag=block animation.player.attack.rotations none 0 "v.attack_body_rot_y=-v.zrot;" zrot
/playanimation @etype=fox,tag=block animation.parrot.moving none 0 "v.wing_flap=(16-v.xpos)/0.3;" xpos
/playanimation @etype=fox,tag=block animation.minecart.move.v1.0 none 0 "v.rail_offset.x=0;v.rail_offset.y=1.6485+v.ypos/16;v.rail_offset.z=0;" ypos
/playanimation @etype=fox,tag=block animation.parrot.dance none 0 "v.dance.x=-v.zpos;v.dance.y=0;" zpos
https://wiki.bedrock.dev/commands/display-entities.html
キツネの音を止めるには、以下のコマンドを追加します。
code:音の停止
/stopsound @a mob.fox.spit
/stopsound @a mob.fox.sniff
/stopsound @a mob.fox.sleep
/stopsound @a mob.fox.screech
/stopsound @a mob.fox.hurt
/stopsound @a mob.fox.eat
/stopsound @a mob.fox.death
/stopsound @a mob.fox.bite
/stopsound @a mob.fox.ambient
/stopsound @a mob.fox.aggro
使い方
上のコマンドを入力して実行します
必要に応じて/tpや/eventなどのコマンドを追加してください
設置
1. キツネを召喚し、/replaceitemコマンドを使ってメインハンドに、表示したいアイテムを持たせます。
2. 次に、blockタグを付けます。キツネは見た目が変わり、実際のブロックのサイズに合わせて調整されます。
変数
FMBEでは、コマンドを使用して見た目の位置、サイズ、角度などを編集できます。変数は以下の通りです。
v.xpos
v.ypos
v.zpos
v.xrot
v.yrot
v.zrot
v.scale
v.xzscale
v.yscale
v.xbasepos
v.ybasepos
v.zbasepos
「pos」がつく変数は位置を制御し、「rot」がつくものは回転角度を調整します。
scale: 全体のサイズを調整します。
xzscale: XZ軸に沿ったサイズを調整します。
yscale: Y軸に沿ったサイズを調整します。
basepos回転の中心に影響を与えずに位置を移動させます。つまり、位置は角度に依存します。
(例:v.zbasepos=16は相対座標で^^^1のような動作をします)
posとbaseposの値は1/16ブロック単位で測定されます(16 = 1ブロック)。
値の編集
値を編集するには、次のコマンドの形を使用します。
code:値の編集
/playanimation @etype=fox,tag=block animation.player.attack.positions none 0 "" setvariable
編集したい変数を設定するmolangのコードをダブルクォーテーション内に書き、値を代入します。
例:xrotを35に、yposを16に、scaleを1.5に設定する場合:
playanimation @e[type=fox,tag=block] animation.player.attack.positions none 0 "v.xrot=35;v.ypos=16;v.scale=1.5;" setvariable
コマンドは全て500文字以下なので、Nintendo Switchでも書けます。
よくある質問
Q. xscaleとzscaleは別々に調整できますか?
A. 現時点ではできません。アップデートで可能になった場合はお知らせします!
Q. 条件分岐するには?
A. 三項演算子を使うことで、条件分岐が可能になります。詳細はMolangのドキュメントサイトで確認できます。
https://discord.com/channels/941651004884152380/1279614772685570181/1333346956323459092