- Home /
how to substitute sprites in an animation?
Hey Guys,
I'm making a 2D platformer, which has a space marine type character that runs around shooting monsters with various weapons. The character is made of 2D animated sprite sequences. I have him walking, running, jumping, etc.
The issue I'm having, however, is that I need him to be able to switch weapons, and I'm not sure what is the best way to go about doing that, in terms of how to display it. I have sprite sequences of him with each weapon, but as far as I know, there doesn't seem to be a way of substituting one sprite sequence for another in the animator window.
Can anyone offer me any suggestions of what the best way to do this would be?
Alright, I found a script that is meant to be able to switch out the sprite sheet for another one during runtime. But I can't wrap my head around how to implement it.
Here's the script:
using UnityEngine;
using System;
public class ReSkinAnimation : $$anonymous$$onoBehaviour {
public string spriteSheetName;
void LateUpdate () {
var subSprites = Resources.LoadAll<Sprite>("Characters/" + spriteSheetName);
foreach (var renderer in GetComponentsInChildren<SpriteRenderer>())
{
string spriteName = renderer.sprite.name;
var newSprite = Array.Find(subSprites, item => item.name == spriteName);
if (newSprite)
renderer.sprite = newSprite;
}
}
}
If anyone has seen this before and knows how it works, could you please show me how this works in an example? $$anonymous$$ore specifically, how does this relate to the game object with the sprite attached?
Answer by sn1ckers · Jan 28, 2016 at 01:23 PM
The code snippet you havet found is explained in this video https://m.youtube.com/watch?v=HM17mAmLd7k
Thanks, man. I had watched that video before, but forgot that he talked about that. Got it working now.
Your answer
Follow this Question
Related Questions
What are the best practices for reusing an animation controller? 0 Answers
How do you control where your animation starts? 1 Answer
Anima2d - How to record Sprite Mesh Order In Layer? 0 Answers
Unity 2d Animation from spritesheet: How can I move the character according to the animation? 0 Answers
Override Sprite in Animation 0 Answers