TPでarmor standがずれる

動画のように、armor standを計算で出したlocationにtpさせるとき 時折このようなずれが出ます これを改善する方法ありませんか… 該当コードです⇩
function wildBoar_animation(e: entity, body: entity, head: entity):
set {_headGap} to 0.875

while {_e} is alive:
delete {_v}
delete {_loc::*}
set {_v} to velocity of {_e}
set {_w} to world of {_e}

# 移動しているかどうか
if normal length of {_v} > 0.08:
# ずれが無いので省略
else:
# してないので、headのvectorを参照する
set {_v} to entityHeadVec({_e})
set {_vBody} to entityHeadVec({_body})
if angle between {_v} and {_vBody} >= 70:
set y of {_v} to 0
set normal length of {_v} to {_headGap}
set {_y::body} to yaw of {_v}
set {_y::head} to yaw of {_v}
set {_p::head} to pitch of {_v}
set {_loc::body} to {_e}
set {_loc::head} to {_e} ~ {_v}
else:
set y of {_vBody} to 0
set normal length of {_vBody} to {_headGap}
set {_y::body} to yaw of {_vBody}
set {_y::head} to yaw of {_v}
set {_p::head} to pitch of {_v}
set {_loc::body} to location at {_body}
set {_loc::head} to location at {_body} ~ {_vBody}

teleport {_body} to {_loc::body}
teleport {_head} to {_loc::head}
standRotate({_body}, {_y::body} ,{_p::body})
standRotate({_head}, {_y::head} ,{_p::head})
wait 1 tick
set {_} to (location at {_head})
show 1 flame with speed 0 at {_}
kill {_body}
kill {_head}
function wildBoar_animation(e: entity, body: entity, head: entity):
set {_headGap} to 0.875

while {_e} is alive:
delete {_v}
delete {_loc::*}
set {_v} to velocity of {_e}
set {_w} to world of {_e}

# 移動しているかどうか
if normal length of {_v} > 0.08:
# ずれが無いので省略
else:
# してないので、headのvectorを参照する
set {_v} to entityHeadVec({_e})
set {_vBody} to entityHeadVec({_body})
if angle between {_v} and {_vBody} >= 70:
set y of {_v} to 0
set normal length of {_v} to {_headGap}
set {_y::body} to yaw of {_v}
set {_y::head} to yaw of {_v}
set {_p::head} to pitch of {_v}
set {_loc::body} to {_e}
set {_loc::head} to {_e} ~ {_v}
else:
set y of {_vBody} to 0
set normal length of {_vBody} to {_headGap}
set {_y::body} to yaw of {_vBody}
set {_y::head} to yaw of {_v}
set {_p::head} to pitch of {_v}
set {_loc::body} to location at {_body}
set {_loc::head} to location at {_body} ~ {_vBody}

teleport {_body} to {_loc::body}
teleport {_head} to {_loc::head}
standRotate({_body}, {_y::body} ,{_p::body})
standRotate({_head}, {_y::head} ,{_p::head})
wait 1 tick
set {_} to (location at {_head})
show 1 flame with speed 0 at {_}
kill {_body}
kill {_head}
毎tickTPさせることで動かしていますが 急旋回したときに時折謎のずれを見せています sk上でアマスタの位置を取得したときには、ちゃんと計算上正しい位置にあるはずなのですが 描画は見ての通りずれずれです
4 Replies
月猫ch
月猫chOP2mo ago
sk info
No description
月猫ch
月猫chOP2mo ago
flameエフェクトは算出したlocationではなく
set {_} to (location at {_head})
show 1 flame with speed 0 at {_}
set {_} to (location at {_head})
show 1 flame with speed 0 at {_}
このようにアマスタに直でだしてます
yukkina
yukkina2mo ago
ラグってんじゃねぇの
月猫ch
月猫chOP2mo ago
ラグっすかねえ… TPS落ちてるとかではないんですけども

Did you find this page helpful?