[過去ログ] 【3Dゲームエンジン】Unity質問スレッド34 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
448
(2): 2018/03/14(水)15:49 ID:sLRo/hkc(1/3) AAS
質問、今2dのマルチプレイゲームを作っているんだけどキャラクターアニメーションの同期がわかんねえ
void FixedUpdate ()
{
if (!gameClear) {

if (!isLocalPlayer) {
return;
}
float x = Input.GetAxisRaw ("Horizontal");
if (x != 0) {
rigidbody2D.velocity = new Vector2 (x * speed, rigidbody2D.velocity.y);
Vector2 temp = transform.localScale;
temp.x = x;
transform.localScale = temp;

anim.SetBool ("Dash", true);
if (transform.position.x > mainCamera.transform.position.x - 4) {
Vector3 cameraPos = mainCamera.transform.position;
cameraPos.x = transform.position.x + 4;
mainCamera.transform.position = cameraPos;
}
Vector2 min = Camera.main.ViewportToWorldPoint (new Vector2 (0, 0));
Vector2 max = Camera.main.ViewportToWorldPoint (new Vector2 (1, 1));
Vector2 pos = transform.position;
pos.x = Mathf.Clamp (pos.x, min.x + 0.5f, max.x);
transform.position = pos;
} else {
rigidbody2D.velocity = new Vector2 (0, rigidbody2D.velocity.y);
anim.SetBool ("Dash", false);

}
isLocalPlayerでDashのアニメーションを止めているんだけどその時に一緒に書いてある画像反転も止めてしまうからそれをどうにかしたい、わかる人お願いします
449
(1): 2018/03/14(水)20:12 ID:7XMp+DUD(1) AAS
>>448
ちょっと何言ってるかよくわからないんだけど、画像の反転ってスケールでやってるの?

スプライトのフリップ機能で反映してるなら、キャラの向きも通信に乗っけて各々のクライアントで反映させればいいだけじゃない?
451
(2): 2018/03/14(水)21:56 ID:y9qk5kpZ(1) AAS
>>448
そのソースだけだとリモートキャラのアニメが動かないように思えるけど、
とりあえず自分ならこんな感じで書いてしまうな

float prevX;
void Update(){
 if(!isLocalPlayer){
  if(prevX - transform.position.x != 0){
   anim.SetBool ("Dash", true);
  }else{
   anim.SetBool ("Dash", false);
  }
  prevX = transform.position.x;
 }
}
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.039s