Applicatii mobile, Dezvoltare Android / IPhone Integrarea framework-ului SceneKit in aplicatiile iOS
scenekit

Applicatii mobile, Dezvoltare Android / IPhone

Integrarea framework-ului SceneKit in aplicatiile iOS

SceneKit est un framework proposant des solutions innovantes, d’une efficacité remarquable, pour la conception et la gestion des images 3D. Découvrons ce bel outil qui mérite votre attention.

1. PRESENTATION DE  SCENEKIT

SceneKit est un framework de haut niveau permettant de développer facilement dans vos applications, la manipulation et l’intégration des scènes en 3D, sans la complexité d’API graphiques, tels que OpenGL ou Metal.

SceneKit est construit sur une base OpenGL (Open Graphics Library), le standard ouvert de la programmation graphique 3D. Même s’il s’agit d’un framework simple à mettre en oeuvre, il permet d’utiliser des abstractions de niveau inférieur lorsque l’on souhaite plus de contrôle, et des abstractions élevées pour le reste.

Apple a introduit SceneKit pour les développeurs Mac OS X avec la sortie de Mountain Lion lors de la WWDC 2012. Deux années plus tard, SceneKit a fait une entrée surprise dans iOS avec la sortie d’iOS 8.

Même si SceneKit est centré sur les jeux en 3D, ce framework présente aussi un extraordinaire potentiel pour d’autres applications que les jeux du fait de ses graphiques 3D universels. Ceci signifie qu’il permet aux développeurs d’applications natives iOS, d’intégrer des modèles 3D et des effets.

Allons voir de quoi il s’agit et comment ça marche !

2. CREER UN NOUVEAU PROJET UTILISANT SCENEKIT

Apple fournit SceneKit en tant que modèle pour la création des jeux en 3D (Application -> Jeux). Nous pouvons également utiliser SceneKit pour un projet existant.

img2 a

SceneKit est connu comme une bibliothèque de gestion de graphiques de scènes. La forme basique de SceneKit la plus utilisée consiste en un appareil photo, une source d’illumination et un objet.
Avant de pouvoir commencer à ajouter des nœuds à la scène, il faut d’abord comprendre comment le système de coordonnées SceneKit fonctionne, pour mieux placer ces nœuds là où l’on souhaite.
Dans un système 2D, comme UIKit ou Sprite Kit, nous utilisons un point pour décrire la position d’une vue ou d’une image-objet sur les axes x et y. Pour placer un objet dans un espace 3D nous devrons également décrire la profondeur de la position de l’objet sur l’axe z.
SceneKit utilise ce système à trois axes pour représenter la position dans l’espace 3D.

CoordinateSystem-602x500 2b

Une scène est affichée dans un SCNView qui est dérivé d’UIView ; elle se compose d’une géométrie avec des matériaux différents, elle est éclairée par des lumières et regardée par une caméra. Ceux-ci correspondent aux classes SCNScene, SCNGeometry, SCNMaterial, SCNLight et SCNCamera. La hiérarchie des nœuds est attachée aux scènes rootNode.
Chaque nœud peut contenir des nœuds enfant qui peuvent se relier les uns aux autres, formant une arborescence comme ceci:

SceneGraph

SceneGraph du Guide de SceneKit de programmation d’Apple

SceneKit est livré avec tout un ensemble de formes primitives de la boîte.
Voici une jolie petite grille de toutes les formes que l’on trouve dans la bibliothèque d’objets :

primitive

Nous pouvons construire une scène entière à partir de formes primitives.

3. SCENEKIT ET CORE ANIMATION

SceneKit est un framework très sympathique qui a fait pour la 3D ce que Core Animation a fait pour la 2D, le rendant accessible aux programmeurs qui s’arrachaient les cheveux à cause des mentions d’OpenGL ou des codes de dessin accéléré par GPU.

SceneKit se caractérise par la simplicité et une excellente intégration avec d’autres frameworks comme Core Animation. Cette intégration se décline en deux parties : les propriétés de SceneKit peuvent être animées à l’aide de CAAnimations3 et les couches peuvent être utilisées comme du contenu de matériels SceneKit.

4. LES AVANTAGES D’UTILISER SCENE KIT

• Il est beaucoup plus facile de faire de scènes en 3D. Avec SceneKit on peut créer des visuels 3D immersifs qui n’exigent plus l’expertise en OpenGL
• Possibilité de mélanger SceneKit avec OpenGL
• Création d’une application universelle qui fonctionne sur iPhone et iPad, avec une vue 3D en mode plein écran, qui affiche une scène avec laquelle on peut interagir
• Importer des objets 3D COLLADA et fournir des outils intuitifs pour manipuler
• Possibilité d’utiliser le terrain de jeu introduit dans Xcode 6 pour jouer avec le code SceneKit et voir en temps réel le résultat de chaque ligne qu’on y ajoute
• Construire un jeu entier avec des formes primitives seulement

5. A PROPOS DE SCENEKIT EDITOR

Avec la sortie de Xcode 7, Apple a introduit un éditeur constructeur de scène pour SceneKit.
L’Editeur SceneKit fournit des outils à utiliser avec l’API Kit de scène; ceci permet de prévisualiser vos modèles et de réorganiser d’une manière simple et agréable la hiérarchie des articles à l’intérieur d’un fichier.
L’Editeur SceneKit est conçu pour travailler avec des scènes crées en 3D qui sont exportées comme fichiers Collada Data Asset Exchange (DAE). En utilisant cet éditeur, nous pouvons inspecter les scènes 3D, prévoir les informations nécessaires pour le code source voulu et ajouter les paramètres d’objet pour l’application.

editor

6. CONCLUSION

J’espère vous avoir convaincu que le framework SceneKit est un excellent complément à l’iOS SDK.
Cet article vous a montré que la mise en place pour obtenir une scène 3D à l’écran est très facile avec ce framework.
Même si vous avez fait des graphiques en 3D auparavant, en utilisant celui-ci, tout devient très facile et intéressant.
Le framework a beaucoup de détails à vous offrir, je vous encourage à explorer la documentation d’Apple pour une compréhension plus détaillée et sur ses multiples possibilités.

Référence :
https://developer.apple.com/scenekit/
https://www.weheartswift.com/introduction-scenekit-part-1/
https://www.raywenderlich.com/83748/beginning-scene-kit-tutorial
http://iphonedevelopment.blogspot.ro/2012/08/an-introduction-to-scenekit.html
https://en.wikipedia.org/wiki/SceneKit
https://medium.com/@tingham/writing-a-video-game-using-scenekit-in-a-month-4c3ce69f1ffd#.ofzml2vdg

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

Poți folosi aceste etichete și atribute HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Facebook
Google+
http://blog.beleringenierie.com/ro/2016/11/15/lintegration-du-framework-scenekit-dans-des-applications-regulieres-ios/">
Twitter