
Aspose.3D for Python via .NET
Python API 3D modellek létrehozásához, szerkesztéséhez és konvertálásához
Hasznos Python könyvtár 3D fájlformátumok és 3D jelenetek létrehozásához, szerkesztéséhez, feldolgozásához és konvertálásához FBX, STL, Discreet3DS, Universal3D, Collada és további formátumokba.
Mi az Aspose.3D a Pythonhoz .NET-en keresztül?
Aspose.3D for Python via .NET egy átfogó és stabil könyvtár, amely lehetővé teszi a szoftverfejlesztők számára, hogy 3D fájlokkal és modellekkel dolgozzanak Python alkalmazásokon belül anélkül, hogy 3D modellező és renderelő szoftvert kellene telepíteni. A könyvtár segíti a szoftverfejlesztőket olyan alkalmazások létrehozásában, amelyek könnyedén képesek létrehozni, olvasni, renderelni, manipulálni és konvertálni a 3D modelleket különféle fájlformátumokban, többek között FBX, 3DS, U3D, DAE, glTF, OBJ, STL, DRC, PDF, AMF, PLY és sok más. A könyvtár számos technikát alkalmaz annak érdekében, hogy a 3D műveletek hatékonyan és gyorsan történjenek, még nagy és összetett 3D modellek esetén is.
Aspose.3D for Python via .NET számos fontos funkciót tartalmaz a 3D animációk kezeléséhez, például 3D létrehozását és 3D animációk manipulálását, mint a kulcskockás animációk, vázanimációk és morf animációk. Ez megkönnyíti vonzó és interaktív 3D alkalmazások és játékok létrehozását. A könyvtár emellett széles körű eszközöket és funkciókat kínál a 3D modellek manipulálásához. Ez magában foglalja a 3D modellek importálását és exportálását, 3D modellek létrehozását és szerkesztését, valamint különféle műveletek végrehajtását a 3D modelleken, mint a méretezés, forgatás és transzláció.
Aspose.3D for Python via .NET a .NET keretrendszerre épül, és Python nyelvvel használható az IronPython segítségével, amely a Python programozási nyelv .NET megvalósítása. Széles körű 3D fájlformátum támogatásával és gazdag funkciókészletével a 3D modellek manipulálásához és animálásához kiváló választás a fejlesztők számára, akiknek 3D tartalommal kell dolgozniuk alkalmazásaikban.
Első lépések az Aspose.3D a Pythonhoz .NET-en keresztül használatához
A legkönnyebb módja az Aspose.3D for Python via .NET stabil kiadásának telepítésére a pip használata. Kérjük, használja a következő parancsot a zökkenőmentes telepítéshez.
Telepítse az Aspose.3D for Python via .NET-et pip segítségével
pip install aspose-3d Letöltheti közvetlenül az Aspose termékoldaláról.3D-szín generálása és betöltése Python API-n keresztül
Az Aspose.3D for Python via .NET teljes támogatást nyújt új 3D jelenetek létrehozásához a semmiből, majd azok bármely támogatott fájlformátumba való mentéséhez Python parancsok használatával. A könyvtár további támogatást biztosít meglévő 3D jelenetek olvasásához, meglévő 3D módosításához, egy 3D jelenet PDF-be mentéséhez, jelszóval védett PDF-ből történő meglévő jelenetek megnyitásához, fájlformátum felismeréséhez, 3D tartalom kinyeréséhez PDF-fájlból, betöltési beállítások megadásához egy 3D Obj fájl betöltése előtt, és még sok máshoz.
Hogyan hozhat létre 3D jelenet dokumentumot a Python API segítségével?
import aspose.threed as a3d
# For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
# The path to the documents directory.
# Create an object of the Scene class
scene = a3d.Scene()
# Save 3D scene document
scene.Save("document.fbx", a3d.FileFormat.FBX7500ASCII)
3D-szín renderelése Python API-n keresztül
Aspose.3D for Python via .NET lehetővé teszi a szoftverfejlesztők számára, hogy 3D jeleneteket töltsenek be és rendereljenek saját Python alkalmazásaikban. A könyvtár magas minőségű 3D jelenet renderelést támogat, beleértve az antialiasingot, a mélységélességet, a mozgáselmosódást és még sok mást. Emellett támogatja különféle 3D fájlformátumok importálását és exportálását, többek között az FBX, OBJ, STL és 3DS formátumokat. Ez azt jelenti, hogy könnyedén importálhat meglévő 3D modelleket a jelenetbe, vagy exportálhatja 3D jelenetét egy kompatibilis formátumba. Támogatja az olyan funkciókat, mint az árnyékok vetése és fogadása 3D geometriákon, a hardver alapú 3D geometria renderelés, a kamera által készített 3D nézet képfájlba való renderelése, a 3D jelenet panorámaképként való renderelése, stb. Az alábbi kódrészlet bemutatja, hogyan renderelhetnek a szoftverfejlesztők egy 3D jelenet panorámaképet, és menthetik azt képfájl formátumban.
Hogyan renderelhet panorámaképet a 3D jelenetről, és mentheti képfájl formátumban Python segítségével?
from aspose.pydrawing.imaging import ImageFormat
from aspose.pydrawing import Color
import aspose.threed as a3d
# load the scene
scene = Scene.from_file("vc.glb")
# create a camera for capturing the cube map
cam = a3d.entities.Camera(a3d.entities.ProjectionType.PERSPECTIVE)
cam.near_plane = 0.1
cam.far_plane = 200
cam.rotation_mode = a3d.entities.RotationMode.FIXED_DIRECTION
scene.root_node.create_child_node(cam).transform.set_translation(5, 6, 0);
# create two lights to illuminate the scene
scene.root_node.create_child_node(a3d.entities.Light("", a3d.entities.LightType.POINT).transform.set_translation(-10, 7, -10)
light = a3d.entities.Light()
light.color = Color.cadet_blue
scene.root_node.create_child_node(light).transform.set_translation(49, 0, 49)
# create a renderer
# Create a cube map render target with depth texture, depth is required when rendering a scene.
rt = renderer.render_factory.create_cube_render_texture(a3d.render.RenderParameters(False), 512, 512)
# create a 2D texture render target with no depth texture used for image processing
final = renderer.render_factory.CreateRenderTexture(a3d.render.RenderParameters(False, 32, 0, 0), 1024 * 3 , 1024)
# a viewport is required on the render target
rt.create_viewport(cam, a3d.utilities.RelativeRectangle.from_scale(0, 0, 1, 1))
renderer.render(rt)
# execute the equirectangular projection post-processing with the previous rendered cube map as input
equirectangular = renderer.get_post_processing("equirectangular")
# Specify the cube map rendered from the scene as this post processing's input
equirectangular.input = rt.targets[0]
# Execute the post processing effect and save the result to render target final
renderer.execute(equirectangular, final)
# save the texture into disk
final.targets[0].save("panorama.png", ImageFormat.PNG)
Animáció kezelése 3D dokumentumban
Aspose.3D for Python via .NET lehetővé teszi a szoftverfejlesztők számára, hogy animációkat hozzanak létre és dolgozzanak velük 3D dokumentumokban a Python könyvtár használatával. A könyvtár számos funkciót tartalmaz az animációkkal való munkához, például az animált jelenet renderelését, a célkamera beállítását egy 3D fájlban, vázanimációk létrehozását, morf célpontok kezelését, valamint több animáció keverését. Az alábbi példa bemutatja, hogyan hozhatunk létre egyszerű animációt Python parancsokkal.
Hogyan hozhat létre egyszerű animációt a Python API használatával?
import clr
clr.AddReference("Aspose.3D")
from Aspose.ThreeD import *
# create a new scene
scene = Scene()
# create a new camera
camera = Camera()
camera.Name = "Camera"
scene.RootNode.CreateChildNode(camera)
# create a new mesh
mesh = Mesh()
mesh.Name = "Mesh"
vertices = Vector3[]
vertices.append(Vector3(0, 0, 0))
vertices.append(Vector3(0, 1, 0))
vertices.append(Vector3(1, 1, 0))
vertices.append(Vector3(1, 0, 0))
mesh.Vertices = vertices
mesh.Triangles = [0, 1, 2, 0, 2, 3]
# create a new node for the mesh
meshNode = Node()
meshNode.Name = "MeshNode"
meshNode.Translation = Vector3(0, 0, 0)
meshNode.CreateChildNode(mesh)
# add the mesh node to the scene
scene.RootNode.CreateChildNode(meshNode)
# create a new animation track for the mesh node
track = AnimationTrack(meshNode, AnimationTargetType.Translation)
# create a new keyframe at time 0
keyframe1 = Keyframe()
keyframe1.Time = 0
keyframe1.Value = Vector3(0, 0, 0)
track.Keyframes.Add(keyframe1)
# create a new keyframe at time 1
keyframe2 = Keyframe()
keyframe2.Time = 1
keyframe2.Value = Vector3(0, 0, 5)
track.Keyframes.Add(keyframe2)
# create a new animation clip
clip = AnimationClip("Clip")
clip.Duration = 1
clip.Tracks.Add(track)
# add the animation clip to the scene
scene.Animations.Add(clip)
# save the scene to a file
scene.Save("animation.fbx", FileFormat.FBX7400ASCII)
Poligonok kezelése Python API használatával
Aspose.3D for Python via .NET lehetővé teszi a szoftverfejlesztők számára, hogy poligon hálókat adjanak hozzá és kezeljenek 3D modelljeikben Python alkalmazásokon belül. A könyvtár támogatja a poligon hálókezelés különféle funkcióit, például egy poligon háló betöltését fájlból, poligon háló létrehozását, az összes poligon háromszögekké konvertálását egy 3D modellben, a poligon háló exportálását fájlba, és még sok mást. Az alábbi példa bemutatja, hogyan hozhatnak a felhasználók poligon hálót egy Mesh objektum létrehozásával, valamint csúcsok és felületek hozzáadásával.
Hogyan hozhat létre poligon hálót a Python API használatával?
# Create a mesh
mesh = Mesh()
# Add vertices
mesh.Vertices.Add(Vector3(0, 0, 0))
mesh.Vertices.Add(Vector3(0, 0, 1))
mesh.Vertices.Add(Vector3(0, 1, 0))
mesh.Vertices.Add(Vector3(1, 0, 0))
# Add faces
mesh.Faces.AddPolygonFace(0, 1, 2)
mesh.Faces.AddPolygonFace(0, 1, 3)
mesh.Faces.AddPolygonFace(0, 2, 3)
mesh.Faces.AddPolygonFace(1, 2, 3)
# Export the polygon mesh to a file
# Create a scene and add the mesh to it
scene = Scene()
scene.RootNode.CreateChildNode(mesh)
# Save the scene to a file
scene.Save("mesh.obj", FileFormat.WavefrontOBJ)
