UNET Spawning armor
I have been messing around with almost any solution I can find on the matter and still no luck. I have a variable that changes and a message that is sent to the local player. It all works via client, but does not change anything for the rest of the players.. Any help would be greatly appreciated.
public void Cmdchangehelm(int num) {
if (body.male)
{
if (HelmName == HelmName)
{
Destroy(HelmInst);
}
HelmName = Helm[num].name;
GameObject NewHelm = (GameObject)Instantiate(Resources.Load("Armor/" + HelmName));
HelmInst = NewHelm;
Destroy(NewHelm);
AddHelm();
}
}
private void AddHelm(){
SkinnedMeshRenderer[] BonedObjects = HelmInst.GetComponentsInChildren<SkinnedMeshRenderer>();
foreach( SkinnedMeshRenderer smr in BonedObjects )
CmdProcessBonedObjectHelm( smr );
}
[Command]
private void CmdProcessBonedObjectHelm(SkinnedMeshRenderer ThisRenderer){
// Create the SubObject
HelmInst = new GameObject( ThisRenderer.gameObject.name );
HelmInst.transform.parent = transform;
// Add the renderer
SkinnedMeshRenderer NewRenderer = HelmInst.AddComponent( typeof( SkinnedMeshRenderer ) ) as SkinnedMeshRenderer;
// Assemble Bone Structure
Transform[] MyBones = new Transform[ ThisRenderer.bones.Length ];
// As clips are using bones by their names, we find them that way.
for( int i = 0; i < ThisRenderer.bones.Length; i++ )
MyBones[ i ] = FindChildByName( ThisRenderer.bones[ i ].name, transform );
// Assemble Renderer
NewRenderer.bones = MyBones;
NewRenderer.sharedMesh = ThisRenderer.sharedMesh;
NewRenderer.materials = ThisRenderer.materials;
NewRenderer.gameObject.AddComponent<NetworkIdentity>();
NewRenderer.gameObject.AddComponent<NetworkTransform>();
ClientScene.RegisterPrefab(NewRenderer.gameObject);
NetworkServer.Spawn(NewRenderer.gameObject);
}
Answer by KaidaStudios · Sep 10, 2017 at 08:52 AM
Ive started getting somewhere with EBS system and their third person player example.. still not a complete solution but I have made some progress, and I believe I was in the wrong direction with this coding. Atleast for the way everything was setup.
Your answer
Follow this Question
Related Questions
How to send Kinect skeleton data through Unity networks (multiplayer) 0 Answers
Best Practice for an object that is both online and offline using uNET 0 Answers
[UNET] Cant get player to parent with boat and sync position 1 Answer
unity NetworkingLobbyManager problem 0 Answers
How to spawn a different game player prefab based on player choice with Network Lobby Manager? 0 Answers