Εφαρμογή εφέ φακού Fisheye με το Aspose.3D για .NET
Εισαγωγή
Θέλετε να βελτιώσετε την οπτική ελκυστικότητα των 3D σκηνών σας; Βουτήξτε στον συναρπαστικό κόσμο των εφέ φακών fisheye με το Aspose.3D για .NET. Αυτό το σεμινάριο θα σας καθοδηγήσει βήμα προς βήμα για το πώς να εφαρμόσετε ένα εφέ φακού fisheye στις τρισδιάστατες σκηνές σας, δίνοντάς τους μια μοναδική και μαγευτική προοπτική.
Προαπαιτούμενα
Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε τις ακόλουθες προϋποθέσεις:
- Aspose.3D για .NET: Βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη Aspose.3D για .NET. Εάν όχι, μπορείτε να το κατεβάσετε εδώ .
- Δείγμα 3D σκηνής: Θα εργαστούμε με ένα δείγμα αρχείου τρισδιάστατης σκηνής (VirtualCity.glb). Μπορείτε να χρησιμοποιήσετε τη δική σας σκηνή ή να κάνετε λήψη του δείγματος από το Aspose.3D τεκμηρίωση .
Εισαγωγή χώρων ονομάτων
Στο έργο σας .NET, συμπεριλάβετε τους απαραίτητους χώρους ονομάτων για πρόσβαση στις λειτουργίες Aspose.3D. Προσθέστε τους ακόλουθους χώρους ονομάτων στην αρχή του κώδικά σας:
using Aspose.ThreeD;
using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Render;
using Aspose.ThreeD.Utilities;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
Βήμα 1: Φορτώστε την τρισδιάστατη σκηνή
Φορτώστε το αρχείο τρισδιάστατης σκηνής στο έργο σας χρησιμοποιώντας τον ακόλουθο κώδικα:
Scene scene = new Scene(RunExamples.GetDataFilePath("VirtualCity.glb"));
Βήμα 2: Ρυθμίστε την κάμερα και τα φώτα
Δημιουργήστε μια κάμερα και φώτα για να βελτιώσετε τις οπτικές πτυχές της σκηνής σας. Προσαρμόστε παραμέτρους όπως NearPlane, FarPlane και RotationMode όπως απαιτείται:
Camera cam = new Camera(ProjectionType.Perspective)
{
NearPlane = 0.1,
FarPlane = 200,
RotationMode = RotationMode.FixedDirection
};
scene.RootNode.CreateChildNode(cam).Transform.Translation = new Vector3(5, 6, 0);
scene.RootNode.CreateChildNode(new Light() { LightType = LightType.Point }).Transform.Translation = new Vector3(-10, 7, -10);
scene.RootNode.CreateChildNode(new Light() { Color = new Vector3(Color.CadetBlue) }).Transform.Translation = new Vector3(49, 0, 49);
Βήμα 3: Δημιουργήστε Renderer και Render Targets
Ρυθμίστε το renderer και δημιουργήστε στόχους απόδοσης για κύβο χάρτη και υφή 2D:
using (var renderer = Renderer.CreateRenderer())
{
IRenderTexture rt = renderer.RenderFactory.CreateCubeRenderTexture(new RenderParameters(false), 512, 512);
IRenderTexture final = renderer.RenderFactory.CreateRenderTexture(new RenderParameters(false, 32, 0, 0), 1024, 1024);
rt.CreateViewport(cam, RelativeRectangle.FromScale(0, 0, 1, 1));
renderer.Render(rt);
Βήμα 4: Εφαρμόστε εφέ φακού Fisheye
Εκτελέστε το εφέ φακού fisheye μετά την επεξεργασία στον αποδοθέντα χάρτη κύβου:
PostProcessing fisheye = renderer.GetPostProcessing("fisheye");
fisheye.FindProperty("fov").Value = 360.0;
fisheye.Input = rt.Targets[0];
renderer.Execute(fisheye, final);
((ITexture2D)final.Targets[0]).Save("Your Output Directory" + "fisheye.png", ImageFormat.Png);
συμπέρασμα
Συγχαρητήρια! Εφαρμόσατε με επιτυχία ένα εφέ φακού fisheye στην τρισδιάστατη σκηνή σας χρησιμοποιώντας το Aspose.3D για .NET. Πειραματιστείτε με διαφορετικές σκηνές και παραμέτρους για να απελευθερώσετε τη δημιουργικότητά σας.
Συχνές Ερωτήσεις
Μπορώ να εφαρμόσω το εφέ fisheye σε οποιαδήποτε τρισδιάστατη σκηνή;
Ναι, μπορείτε να εφαρμόσετε το εφέ fisheye σε οποιαδήποτε τρισδιάστατη σκηνή. Βεβαιωθείτε ότι η σκηνή είναι σωστά φορτωμένη και φωτισμένη για βέλτιστα αποτελέσματα.
Ποια είναι η σημασία της ρύθμισης του οπτικού πεδίου (fov) στις 360 μοίρες;
Ένα οπτικό πεδίο 360 μοιρών εξασφαλίζει μια πλήρη σφαιρική προβολή, δημιουργώντας ένα εκπληκτικό εφέ fisheye.
Πώς μπορώ να προσαρμόσω τον φωτισμό στην τρισδιάστατη σκηνή μου;
Μπορείτε να προσαρμόσετε τις ιδιότητες των φώτων, όπως τη θέση, τον τύπο και το χρώμα, για να επιτύχετε τα επιθυμητά εφέ φωτισμού.
Υπάρχει όριο στο μέγεθος της τρισδιάστατης σκηνής που μπορεί να επεξεργαστεί;
Το μέγεθος της τρισδιάστατης σκηνής περιορίζεται κυρίως από τους πόρους του συστήματος. Βεβαιωθείτε ότι το υλικό σας μπορεί να χειριστεί το μέγεθος της σκηνής σας.
Μπορώ να χρησιμοποιήσω διαφορετική μορφή εξόδου αντί για PNG για το αποτέλεσμα του εφέ fisheye;
Ναι, μπορείτε να τροποποιήσετε τον κώδικα για να αποθηκεύσετε την έξοδο σε διαφορετικές μορφές εικόνας με βάση τις απαιτήσεις σας.