FBX SDK De quelles compétences ai-je besoin pour créer un programme à l'aide de Python?

FBX SDK De quelles compétences ai-je besoin pour créer un programme à l'aide de Python?

Un programmeur n'ayant aucune connaissance de 3DCG (disons M. A) a dit: "Veuillez me dire de quelles compétences vous avez besoin pour créer un programme en utilisant FBX SDK Python", j'ai donc fait un bref résumé.

Il y a peut-être d'autres personnes qui ont les mêmes problèmes que je m'attendais, alors je vais le publier.

J'ai fait le matériel de sorte qu'il soit facile à comprendre pour M. A, donc le glossaire n'est peut-être pas très précis. Veuillez comprendre ce que vous faites.

Il est grossièrement divisé en trois catégories.

Mathématiques

Même avec 3DCG et une expérience en programmation, il est difficile d'utiliser le FBX SDK Python sans compétences mathématiques. Nous vous recommandons de commencer par étudier les mathématiques.

Vecteur 3D

C'est une méthode pour exprimer la position et la direction dans l'espace tridimensionnel avec trois valeurs numériques (x, y, z).

Puisque l'addition / soustraction / produit intérieur / produit extérieur des vecteurs 3D est souvent utilisé, il est préférable de les supprimer.

Degré [°] et Radian [rad]

Les deux sont des unités d'angle. 180 ° = π [rad].

Radian est une condition préalable à la compréhension des fonctions triangulaires.

Fonction trigonométrique

Cela signifie péché et cos.

C'est une condition préalable au calcul de l'angle d'Euler.

Angle du graisseur

C'est une méthode pour exprimer le sens de rotation en tournant trois fois.

Il y a 12 manières d'expression telles que «z-y-x» et «z-x-y» dans «Quel axe doit être tourné dans quel ordre?».

Les articles suivants sont détaillés. [https://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%A4%E3%83%A9%E3%83%BC%E8%A7%92](https: // ja .wikipedia.org / wiki / angle du graisseur)

Quarternion (quadruple)

C'est une méthode pour exprimer le sens de rotation avec quatre valeurs numériques (x, y, z, w).

Je pense que c'est une bonne idée de supprimer la multiplication de quaternions et de conjuguer le quaternion.

Les articles suivants sont détaillés. https://qiita.com/kenjihiranabe/items/945232fbde58fab45681

Droitier et gaucher

Il s'agit de l'orientation du système de coordonnées 3D.

Veuillez noter que cela changera le positif et le négatif du quaternion vectoriel.

Les articles suivants sont faciles à comprendre. https://ja.wikipedia.org/wiki/%E5%8F%B3%E6%89%8B%E7%B3%BB

Les deux apparaissent fréquemment, vous devez donc faire attention à ne pas faire d'erreur.

Édition 3DCG

Même si vous avez de l'expérience en mathématiques et en programmation, il est difficile d'utiliser FBX SDK Python sans connaissances liées à 3DCG.

Ici, nous listons les connaissances et compétences liées à la 3DCG.

y-up et z-up

Il s'agit de savoir si la direction du ciel est l'axe y ou l'axe z.

Les deux y-up et z-up apparaissent souvent, vous devez donc faire attention à ne pas faire d'erreur.

En mètres et centimètres

L'unité de longueur est de 1 mètre ou 1 centimètre.

Les deux apparaissent fréquemment, vous devez donc faire attention à ne pas faire d'erreur.

Squelette (armature articulaire osseuse)

C'est le squelette d'un personnage humanoïde.

Par exemple, si vous bougez votre épaule droite, votre coude droit suivra. Cependant, même si vous bougez votre coude droit, votre épaule droite ne bouge pas.

La relation entre ces articulations est exprimée dans une structure hiérarchique telle que l'épaule droite → le coude droit → le poignet droit.

En définissant le sens de rotation (quart ou angle de graissage) pour chaque articulation, vous pouvez déterminer la pose (posture) de tout le corps.

Voir ci-dessous pour plus de détails. https://styly.cc/ja/tips/blender-modeling-start5-2/

Position en T

La position T est un type de pose de personnage humanoïde. Il est souvent utilisé comme posture initiale.

Courbe d'animation

Un graphique en traits interrompus dessiné dans une zone où l'axe horizontal est l'axe du temps et l'axe vertical est la quantité de changement.

Par exemple, enregistrez le changement d'heure de l'angle de graissage d'une articulation sous forme de courbe d'animation.

Voir ci-dessous pour plus de détails. https://docs.unity3d.com/ja/2018.4/Manual/animeditor-AnimationCurves.html

fréquence d'images

Combien d'images y a-t-il par seconde?

30 et 60 sont souvent utilisés.

FBX

Il s'agit d'un format de fichier 3DCG.

Vous pouvez enregistrer des polygones, des squelettes, des courbes d'animation, etc.

La programmation

Nous avons également résumé les compétences liées à la programmation requises pour travailler avec FBX SDK Python.

Python

Tout d'abord, vous devez être capable d'utiliser Python.

Les leçons suivantes sont recommandées. https://dotinstall.com/lessons/basic_python_v4

FBX SDK Python

De toute évidence, vous devez installer le FBX SDK Python.

Voir ci-dessous pour plus de détails.

Outil de gestion des packages

SDK FBX Bien qu'il ne soit pas directement lié à Python, il est préférable d'introduire des outils pour gérer les bibliothèques Python.

Je recommande personnellement la poésie.

Pour plus de détails, reportez-vous à ce qui suit. https://qiita.com/sk217/items/43c994640f4843a18dbe

Cadre de test

FBX SDK Ce n'est pas directement lié à Python, mais je pense qu'il introduira un cadre pour l'écriture de tests unitaires.

Je recommande personnellement Pytest.

Pour plus de détails, reportez-vous à ce qui suit. https://dev.classmethod.jp/server-side/python/pytest-getting-started/

à la fin

Je les ai énumérés dans une rangée.

C'est loin d'être inexpérimenté, mais faisons de notre mieux!

Je suis ravi de vous aider.

Recommended Posts

FBX SDK De quelles compétences ai-je besoin pour créer un programme à l'aide de Python?
Que faire avec la sortie de PYTHON?
Ce que j'ai fait pour accueillir le Python2 EOL en toute confiance
Que dois-je faire avec la structure de répertoires Python après tout?
[Python] Ce que j'ai fait pour faire un test unitaire
Que faire si le serveur ne démarre pas avec python manage.py runserver
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé de résoudre Soma Cube avec python
Je veux hériter de l'arrière avec la classe de données python
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé de simuler la propagation de l'infection avec Python
Je voulais résoudre le concours de programmation Panasonic 2020 avec Python
J'ai écrit rapidement un programme pour étudier la DI avec Python ①
Ce que vous pouvez faire avec les statistiques de la bibliothèque Python standard
[Python] Je souhaite utiliser l'option -h avec argparse
Que faire avec l'installation de Magics
Pour faire une récursion avec Python2
J'ai aimé le tweet avec python. ..
Je veux faire ○○ avec les Pandas
Je veux déboguer avec Python
Python | Ce que vous pouvez faire avec Python
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
Je veux connaître la météo avec LINE bot avec Heroku + Python
Que faire si vous ne pouvez pas installer pyaudio avec pip #Python
Ce à quoi j'étais accro avec json.dumps dans l'encodage base64 de Python
Je veux sortir le début du mois prochain avec Python
Je souhaite rechercher le texte intégral avec elasticsearch + python
Considérez ce que vous pouvez faire avec Python dans l'article Qiita
Je voulais résoudre le problème ABC164 A ~ D avec Python
Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
Que faire lorsque le type de valeur est ambigu en Python?
Je voulais résoudre ABC160 avec Python
Travailler avec OpenStack à l'aide du SDK Python
Je veux analyser les journaux avec Python
Comment faire un test de sac avec python
Je veux jouer avec aws avec python
Ce que j'ai fait avec les tableaux Python
Ce que vous pouvez faire avec des compétences en programmation
Ce que j'étais accro à Python autorun
Je voulais résoudre ABC172 avec Python
La route de la compilation vers Python 3 avec Thrift
Ce que j'ai fait pour économiser la mémoire Python
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
Je veux le faire avec Python lambda Django, mais je vais m'arrêter
J'ai essayé de créer un programme qui convertit les nombres hexadécimaux en nombres décimaux avec python
Que faire si vous ne parvenez pas à envoyer un e-mail à Yahoo avec Python.
Que faire si ipython et python démarrent avec des versions différentes
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
C'est plus récent, mais je voulais essayer le calcul de l'IMC avec python.
Que faire si le mnist d'exemple Chainer (Windows) se termine par WinError 183.
J'ai essayé avec les 100 meilleurs packages PyPI> J'ai essayé de représenter graphiquement les packages installés sur Python
J'ai essayé de rationaliser le rôle standard des nouveaux employés avec Python
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
[Introduction à Python] Quelle est la méthode de répétition avec l'instruction continue?