Skocz do zawartości

Pan Placek

Members
  • Liczba zawartości

    9
  • Rejestracja

  • Ostatnia wizyta

Miasto (opcjonalne)

  • Miasto
    Gdańsk

Pan Placek's Achievements

Newbie

Newbie (1/14)

10

Reputacja

  1. Już ten Addon przeszukałem, on zczytuje rotację otrzymaną przez program, także w żaden sposób nie obrazuje problemu.
  2. W blenderze. Teraz mam MEGA problem. W swoim projekcie muszę wczytać dane motion capture wykorzystując zmiany pozycji punktów. Myk polega na tym, że z pozycji trzeba przejść na rotację. Znalazłem coś takiego jak macierze rotacji: http://pl.wikipedia.org/wiki/Elementarne_macierze_transformacji http://en.wikipedia.org/wiki/Rotation_matrix Ale nie za bardzo umiem z tego skorzystać, czy miał ktoś z tym już do czynienia i wie jak rozwiązać problem?
  3. Zrobiłem w calości ten skrypt oraz skrypt wczytujący dane. Ale mam kolejny problemik. Działa on wyłącznie w trybie pose mode. Odpalając go np. trybie object wyskakuje błąd. Tak więc moje pytanie brzmi: jak przy uruchomieniu skryptu sprawdzić czy jest zaznaczony obiekt 'Armatura' i jaki tryb jest obecnie włączony? Tutaj wiem tylko tyle, że przejście do trybu posemode to posemode_toggle()
  4. zrobiłem to w ten sposób: [font=arial][font=arial]myFile=open(file_name).readlines() destinationFile=open(file_name,'w') for line in myFile:[color=#500050] [/color] [/font] [font=arial] destinationFile.write(line.replace("[","").replace("]",""))[/font][/font] [font=arial][font=arial] destinationFile.close()[/font][/font] Niestety nie wiem jak to inaczej zrobić, ale ważne, że działa.
  5. Mam taki problemik. Mam plik z danymi i chce w nim usunąć znaki "[" i "]" stosuje taki kod: myFile=open(file_name).readlines() destinationFile=open(file_name,'w') for line in myFile: destinationFile.write(line.replace("[","")) destinationFile.write(line.replace("]","")) destinationFile.close() Ogólnie to trochę to działa, a trochę nie. Mając np linijkę tekstu typu otrzymuje dwie linijki tekstu: Pewnie mógłbym, zrobić w ten sposób, że tworze drugi raz plik i przepisuje zawartość. Ale nieukrywajmy jest to mało eleganckie. Czy jest jakaś inna metoda?
  6. Dzięki o to chodziło :)
  7. Hej, jak w temacie, piszę skrypt, który zapisuje pozycję kości a dokładnie head, tail i rotation_euler. Męczę się z tym dość długo i niestety nie mogę przebrnąć przez pewien etap. Oto kod który napisałem: def getPosition(a_name): bones=bpy.data.armatures[a_name].bones bone_struct=[] for bone in bones: bone_ends=[] bpy.context.active_object.data.bones[bone].select=True bone_ends.append(bone.name) bone_ends.append(bpy.context.active_pose_bone.head) bone_ends.append(bpy.context.active_pose_bone.tail) bone_ends.append(bpy.context.active_pose_bone.rotation_euler) bone_struct.append(bone_ends) return(bone_struct) #zapisywanie animacji do pliku def saveAnimation(a_name, file_name): scene=bpy.context.scene frames=scene.frame_end - scene.frame_start + 1 myFile=open(file_name,"w") scene.frame_current=0 i=0 j=0 for i in range(scene.frame_start, scene.frame_end + 1): myFile.write("Frame: %d;\n" % scene.frame_current) scene.frame_current=i scene.frame_set(scene.frame_current) #korzystam z wczeniej utworzonej funkcji getPosition myData=getPosition(a_name) for line in myData: myFile.write(str(line)) myFile.write("\n") myFile.close() return saveAnimation('Armature', 'animation.txt') W wyniku otrzymuje plik w którym w każdej klatce i przy każdej kości mam wartości obecnie aktywnej kości z klatki 0. Stosując w konsoli komendę bpy.context.active_pose_bone.head dostaję poprawne wyniki przy zmianie klatki. Więc sądzę, że kieruje się w dobrym kierunku, ale problem tkwi właśnie z aktywacją kości, której nie potrafie zaimplementować. Wcześniej próbowałem zapisać pozycję nieco inaczej: def getPosition(a_name): bones=bpy.data.armatures[a_name].bones bone_struct=[] i=0 for bone in bones: bone_ends=[] bone_ends.append(bone.name) bone_ends.append(bones[i].head) bone_ends.append(bones[i].tail) bone_struct.append(bone_ends) i=i+1 return(bone_struct) W wyniku otrzymywałem pozycję każdej kości, ale wyłącznie w pierwszej klatce. Także drodzy koledzy proszę was o pomoc.
  8. Hmm, niestety nie działają mi te komendy. Założe nowy temat i tam opiszę dokładnie problem.
  9. Piszę skrypt zapisujący współrzędne kości w zakresie całej animacji, ale mam problem. Jak zmienić aktywną kość?
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności