![]()  | 
	
 
  | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 И вновь я, и все в той же плоскости: 3d + openGL. 
		
	
		
		
		
		
		
	
		
		
	
	
	  Всем наверно известен распространенный пример экспорта 3d анимированного объекта из 3ds max. Вопрос мой заключается в анимации. Не могу разобраться как проигрывать анимацию один раз либо до определенного момента    может кто-нибудь подскажет.Гугл конечно вещь, но что то мы с ним не ладим ![]()  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Пример с GameDev'а чтоли? 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Тут уже зависит от того, какая анимация. Самое простое (решение "в лоб")- взять вектора перемещения точек, разбить их на промежутки (в зависимости от длинны кадра) и двигать в каждом кадре на нужное расстояние.  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Ну да. Да он много где был. 
		
	
		
		
		
		
		
	
		
		
	
	
	Ну а если, скажем, это подобие человека, которой бежит и одновременно, по команде пользователя, совершает какое-либо движение рукой? Как в этой ситуации поступить...  | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Отдельно анимацию ног, отдельно рук. Для ног продолжать, а для рук запустить новую. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 На вскидку сразу не скажу, но там используются "рычаги". Это когда "рычаг" = костям скелета и двигаются не отдельные точки, а весь комплекс точек привязанных к определённому "рычагу". Хорошо это показано на Blender-е, но там совместимость выходного формата хуже некуда. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Это костная анимация. Она труднее будет, надо юзать для каждой точки степени влияния на нее разных костей. Но эффект для анимации живых объектов, конечно, в разы лучше. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Ммм...вы меня чуть не так поняли. То как реализовать анимацию в максе это я знаю. Слава богу с ним на ты. 
		
	
		
		
		
		
		
	
		
		
	
	
	Вопрос то как проиграть ее в моей программе? Проблема решаема когда анимация происходит отдельно друг от друга. А вот когда вместе, еще и у одного объекта ![]() ![]() ![]() Есть конечно вариант руки, ноги ну и все что будет анимироваться нарисовать отдельно, а в программе собрать в кучу. Тогда вопрос отпадает...но почему-то мне это показалось не правильным подходом ![]() Вообще как реализуются такие вещи в норм играх?  | 
| 
		 
			 
			#8  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Ну не обязательно делать отдельно руки там и ноги. Достаточно сделать им разные анимации и продумать формат так, чтоб можно было одновремено запускать анимации разных частей тела. Можно попробовать хранить анимацию отдельных подобъектов (групп?). 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#9  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 ![]() ![]() ![]() ![]() Ведь свое "начало" 3D объект берет оттуда...  | 
| 
		 
			 
			#10  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Цитата: 
	
  | 
| 
		 
			 
			#11  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 ну я имел ввиду мой проект ![]()   а не в глобальном смысле![]() ![]()  | 
| 
		 
			 
			#12  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Круто бы было загонять сетку объекта и кости в прогу, уже в ней делать нужную анимацию, а двиг пусть это все считает и визуализирует 
		
	
		
		
		
		
		
	
		
		
	
	
	![]() Хотя это здорово скажется на производительности наверно...  | 
| 
		 
			 
			#13  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Неужели никто не сталкивался с данной задачей... 
		
	
		
		
		
		
		
	
		
		
	
	
	![]()  | 
| 
		 
			 
			#14  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Я сталкивался, но в DirectX. Можно взять несколько перемещений костей скелета и применять их в любой комбинации. Примеры в книге Джима Адамса "DirectX. Продвинутая анимация". 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#15  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Спасибо. что-т даже и не подумал в этой области посмотреть. Я конечно решил проблему, но решение мне не нравится.... 
		
	
		
		
		
		
		
	
		
		
	
	
	 |