コード例 #1
0
ファイル: Skeleton.cpp プロジェクト: askforwind/swordGL
void Skeleton::addAnimation(AnimationClip && anim) {
	animations_.push_back(AnimationClip());
	animations_.back().duration = anim.duration;
	animations_.back().ticks_per_second = anim.ticks_per_second;
	animations_.back().samples = std::move(anim.samples);
}
コード例 #2
0
std::map<std::string, AnimationClip> MattiasLucaseXtremeLoader::loadAnimationClip(std::string p_Filename)
{
	const char* filename = p_Filename.c_str();
	std::map<std::string, AnimationClip> returnValue;
	AnimationClip ac = AnimationClip();
	std::ifstream input(filename, std::ifstream::in);

	if(input)
	{
		std::string line, key;
		std::stringstream stringstream;

		while (!input.eof() && std::getline(input, line))
		{
			key = "";
			stringstream = std::stringstream(line);
			stringstream >> key >> std::ws;
			if(strcmp(key.c_str(), "*Clip") == 0)
			{
					std::string line, key;

					// Name
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_ClipName;

					// Speed
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_AnimationSpeed;

					// Start frame
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_Start;
					ac.m_Start--;

					// End frame
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_End;
					ac.m_End--;

					// isLoopable
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_Loop;

					// First joint affected
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_FirstJoint;

					// Destination track
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_DestinationTrack;
					
					// Layer animation
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_Layered;
					
					// Fade in animation
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_FadeIn;
					
					// Fade in frames
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_FadeInFrames;
					
					// Fade out animation
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_FadeOut;
					
					// Fade out frames
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_FadeOutFrames;

					// Off track weight
					std::getline(input, line);
					stringstream = std::stringstream(line);
					stringstream >> key >> ac.m_Weight;

					returnValue.insert( std::pair<std::string, AnimationClip>(ac.m_ClipName, ac) );
			}
		}
	}