This shows you the differences between two versions of the page.
egc:laboratoare:bonusmodeleproprii [2022/10/11 18:29] bogdan.vasile2211 [Modele proprii în OpenGL] |
egc:laboratoare:bonusmodeleproprii [2023/01/03 00:07] (current) bogdan.vasile2211 [Arta în jocuri] |
||
---|---|---|---|
Line 17: | Line 17: | ||
{{ :egc:teme:bonus_modele_complexmesh.jpg?500 | }} | {{ :egc:teme:bonus_modele_complexmesh.jpg?500 | }} | ||
- | <note>**Câteva** dintre aceste aplicațiile care există și sunt folosite de profesioniști pentru dezvoltarea de jocuri: | + | <note>**Câteva** dintre aceste aplicații care există și sunt folosite de profesioniști pentru dezvoltarea de jocuri: |
* Modelare ([[https://www.blender.org/|Blender]], [[https://www.autodesk.com/products/maya/overview?term=1-YEAR&tab=subscription&plc=MAYA|Autodesk Maya]], [[https://www.autodesk.com/products/3ds-max/overview?term=1-YEAR&tab=subscription|Autodesk 3ds Max]]) | * Modelare ([[https://www.blender.org/|Blender]], [[https://www.autodesk.com/products/maya/overview?term=1-YEAR&tab=subscription&plc=MAYA|Autodesk Maya]], [[https://www.autodesk.com/products/3ds-max/overview?term=1-YEAR&tab=subscription|Autodesk 3ds Max]]) | ||
- | * Sculptare ([[https://pixologic.com/|ZBrush]]) | + | * Sculptare ([[https://pixologic.com/|ZBrush]], [[https://www.blender.org/|Blender]]) |
* Texturare ([[https://www.adobe.com/products/substance3d-painter.html|Adobe Substance 3D Painter]], [[https://www.adobe.com/ro/products/photoshop.html|Adobe Photoshop]]) | * Texturare ([[https://www.adobe.com/products/substance3d-painter.html|Adobe Substance 3D Painter]], [[https://www.adobe.com/ro/products/photoshop.html|Adobe Photoshop]]) | ||
* Animații ([[https://www.blender.org/|Blender]], [[https://www.autodesk.com/products/maya/overview?term=1-YEAR&tab=subscription&plc=MAYA|Autodesk Maya]]) | * Animații ([[https://www.blender.org/|Blender]], [[https://www.autodesk.com/products/maya/overview?term=1-YEAR&tab=subscription&plc=MAYA|Autodesk Maya]]) | ||
Line 31: | Line 31: | ||
Sunt mai multe formate de mesh-uri pe care framework-ul le poate folosi (precum FBX sau OBJ), iar aici o să folosim o aplicație 3D pentru a obține corect aceste formate, mai exact **Blender**. | Sunt mai multe formate de mesh-uri pe care framework-ul le poate folosi (precum FBX sau OBJ), iar aici o să folosim o aplicație 3D pentru a obține corect aceste formate, mai exact **Blender**. | ||
+ | <note tip> | ||
+ | **Hint:** subiectul mapării texturilor pe geometrie este acoperit în [[https://ocw.cs.pub.ro/courses/egc/laboratoare/09|laboratorul 9]]. | ||
+ | |||
+ | Metoda prezentată mai jos folosește în spate aceleași noțiuni explicate acolo. | ||
+ | </note> | ||
{{ :egc:teme:bonus_modele_blenderlogo.png?300 | }} | {{ :egc:teme:bonus_modele_blenderlogo.png?300 | }} | ||
Line 95: | Line 100: | ||
{{ :egc:teme:blender_export_1.gif?direct&500 |}} | {{ :egc:teme:blender_export_1.gif?direct&500 |}} | ||
- | * În panoul de export FBX, trebuie bifate 2 opțiuni în partea dreaptă pentru a putea folosi ușor modelul în framework: **Path Mode**-ul trebuie să fie trecut pe **Copy** (în loc de **Auto** cum este default) și mai jos bifat **Selected Objects**. La final, alegeți calea unde vreți să fie exportat modelul, numele acestuia și apăsați pe butonul de jos de **Export FBX**. Asta o să creeze în acel folder: 1 fișier .fbx (**ghost.fbx** în cazul acestui demo) și un alt folder al cărui nume va fi numele modelului urmat de .fbm (**ghost.fbm** aici). În acest folder o să fie salvată imaginea inițială pe care o folosește plane-ul pe post de textură. | + | * În panoul de export FBX, trebuie bifate 2 opțiuni în partea dreaptă pentru a putea folosi ușor modelul în framework: **Path Mode**-ul trebuie să fie trecut pe **Copy** (în loc de **Auto** cum este default) și mai jos bifat **Selected Objects**. La final, alegeți calea unde vreți să fie exportat modelul, numele acestuia și apăsați pe butonul de jos de **Export FBX**. Asta o să creeze în acel folder: un fișier .fbx (**ghost.fbx** în cazul acestui demo) și un alt folder al cărui nume va fi numele modelului urmat de .fbm (**ghost.fbm** aici). În acest folder o să fie salvată imaginea inițială pe care o folosește plane-ul pe post de textură. |
{{ :egc:teme:blender_export_2.gif?direct&500 |}} | {{ :egc:teme:blender_export_2.gif?direct&500 |}} | ||
Line 125: | Line 130: | ||
glViewport(0, 0, window->props.resolution.x, window->props.resolution.y); | glViewport(0, 0, window->props.resolution.x, window->props.resolution.y); | ||
- | RenderMesh(meshes["ghost"], glm::vec3(0.f, 0.f, 0.f)); | + | RenderMesh(meshes["ghost"], glm::vec3(0.f)); |
} | } | ||
Line 137: | Line 142: | ||
{{ :egc:teme:blender_tut_final.png?500 | }} | {{ :egc:teme:blender_tut_final.png?500 | }} | ||
- | <note>Dacă apar probleme în afișarea modelul respectiv dar ați urmat exact pașii de mai sus, verificați **Scale**-ul la care se folosește acesta în framework. Sunt șanse ca acesta să fie prea mic sau prea mare. | + | <note>Dacă apar probleme în afișarea modelului respectiv dar ați urmat exact pașii de mai sus, verificați **Scale**-ul la care se folosește acesta în framework: sunt șanse să fie prea mic sau prea mare. |
</note> | </note> | ||
- | ==== Adăugarea de modele 3D ==== | ||
- | (TODO) | ||