Показать сообщение отдельно
Старый 09.05.2012, 02:59   #3
Serg
AnyKey`щик
 
Регистрация: 08.05.2012
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помоги пожалуйста разобраться с NetworkSyncAnimation

Сообщение от pax Посмотреть сообщение
Назначь этот скрипт компоненту NetworkView на поле observed и должно работать. Правда тут всего две анимации с именами idle и walk, если у тебя анимации с другими именами (даже в другом регистре типа Walk), то работать не будет.
Разумеется все было так и сделано, все же не работает.
ps pax тебя не затруднит билд на кидат, буду очень признателен.
ps Каму интересно решил проблему так:
using UnityEngine;
using System.Collections;
using System;

public class NetworkSyncAnimation : MonoBehaviour {
	public GameObject PlayerAnim;

	void Start() {
		
		    PlayerAnim.animation.CrossFade("idle");
			PlayerAnim.animation["idle"].normalizedSpeed = 1.0F;
			
		
	}
	
	
	void Update () {
		
		string entID = gameObject.networkView.viewID.ToString().Remove(0,13);
		if(Input.GetAxis("Vertical")!= 0){if(networkView.isMine){networkView.RPC("Walk",RPCMode.All,entID);}}else{if(networkView.isMine){networkView.RPC("Idle",RPCMode.All,entID);}}


	}
	
	[RPC]
	void Walk(string NetworkID){
		string entID = gameObject.networkView.viewID.ToString().Remove(0,13);
		if(NetworkID == entID){
			if(PlayerAnim){
			
		    PlayerAnim.animation.CrossFade("walk");
			PlayerAnim.animation["walk"].normalizedSpeed = 1.0F;
			
			
			}
		}
		
		
	}
	[RPC]
	void Idle(string NetworkID){
		string entID = gameObject.networkView.viewID.ToString().Remove(0,13);
		if(NetworkID == entID){
			if(PlayerAnim){
		    PlayerAnim.animation.CrossFade("idle");
			PlayerAnim.animation["idle"].normalizedSpeed = 1.0F;
			
				
			}
			
		}

	}

}

Последний раз редактировалось Serg, 09.05.2012 в 15:06.
(Offline)
 
Ответить с цитированием