
Aspose.3D pro Python přes .NET
Python API pro vytváření, úpravu a konverzi 3D modelů
Užitečná Python knihovna pro vytváření, úpravu, zpracování a konverzi 3D formátů souborů a 3D scén do FBX, STL, Discreet3DS, Universal3D, Collada a dalších.
Co je Aspose.3D pro Python přes .NET?
Aspose.3D pro Python via .NET je komplexní a stabilní knihovna, která umožňuje vývojářům softwaru pracovat s 3D soubory a modely v Python aplikacích, aniž by bylo nutné mít nainstalovaný software pro 3D modelování a renderování. Knihovna pomáhá vývojářům vytvářet aplikace, které mohou snadno vytvářet, číst, renderovat, manipulovat a konvertovat 3D modely v různých formátech souborů, včetně FBX, 3DS, U3D, DAE, glTF, OBJ, STL, DRC, PDF, AMF, PLY a mnoha dalších. Knihovna používá řadu technik, aby zajistila, že 3D operace jsou prováděny efektivně a rychle, i u velkých a složitých 3D modelů.
Aspose.3D pro Python přes .NET zahrnuje několik důležitých funkcí pro práci s 3D animacemi, jako je vytváření a manipulace s 3D animacemi, včetně animací klíčových snímků, skeletálních animací a morfovacích animací. To usnadňuje tvorbu poutavých a interaktivních 3D aplikací a her. Knihovna také poskytuje širokou škálu nástrojů a funkcí pro manipulaci s 3D modely. To zahrnuje možnost importovat a exportovat 3D modely, vytvářet a upravovat 3D modely a provádět různé operace s 3D modely, jako je škálování, rotace a translace.
Aspose.3D pro Python přes .NET je postaven na .NET frameworku a může být používán s Pythonem pomocí IronPython, což je implementace jazyka Python na platformě .NET. Díky podpoře široké škály 3D formátů souborů a bohatému souboru funkcí pro manipulaci a animaci 3D modelů je to vynikající volba pro vývojáře, kteří potřebují pracovat s 3D obsahem ve svých aplikacích.
Začínáme s Aspose.3D pro Python přes .NET
Nejjednodušší způsob, jak nainstalovat Aspose.3D pro Python přes .NET stabilní vydání, je pomocí pip. Použijte prosím následující příkaz pro hladkou instalaci.
Nainstalujte Aspose.3D pro Python přes .NET pomocí pip
pip install aspose-3d Můžete si jej také stáhnout přímo z stránky produktu Aspose.Generovat a načíst 3D scénu pomocí Python API
Aspose.3D pro Python přes .NET zahrnuje kompletní podporu pro vytváření nových 3D scén od nuly a jejich následné ukládání do libovolného podporovaného formátu souboru pomocí příkazů v Pythonu. Knihovna také poskytuje podporu pro čtení existujících 3D scén, úpravy existujících 3D, ukládání 3D scény do PDF, otevírání existujících scén z PDF chráněného heslem, detekci formátu souboru, extrakci 3D obsahu z PDF souboru, nastavení možností načítání před načtením 3D Obj souboru a mnoho dalšího.
Jak vytvořit dokument 3D scény pomocí Python API?
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)
Vykreslování 3D scény pomocí Python API
Aspose.3D pro Python přes .NET umožňuje vývojářům softwaru načítat a vykreslovat 3D scény ve vlastních Python aplikacích. Knihovna podporuje vysoce kvalitní renderování 3D scén, včetně antialiasingu, hloubky ostrosti, rozmazání pohybu a dalších. Také podporuje import a export různých 3D formátů souborů, včetně FBX, OBJ, STL a 3DS. To znamená, že můžete snadno importovat existující 3D modely do své scény nebo exportovat svou 3D scénu do kompatibilního formátu. Podporuje funkce jako vrhání a přijímání stínů na 3D geometriích, hardwarové renderování 3D geometrie, renderování 3D pohledu v obrazovém formátu z kamery, renderování panoramatického pohledu 3D scény a podobně. Následující ukázkový kód ukazuje, jak mohou vývojáři softwaru renderovat panoramatický pohled 3D scény a uložit jej v obrazovém formátu.
Jak vykreslit panoramatické zobrazení 3D scény & uložit jej do formátu obrázku pomocí Pythonu?
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)
Práce s animací v 3D dokumentu
Aspose.3D pro Python přes .NET umožňuje vývojářům softwaru vytvářet a pracovat s animacemi v 3D dokumentech pomocí knihovny Python. Knihovna obsahuje řadu funkcí pro práci s animacemi, jako je renderování animované scény, nastavení cílové kamery v 3D souboru, vytváření skeletálních animací, práce s morph cíli a míchání více animací. Následující příklad ukazuje, jak vytvořit jednoduchou animaci pomocí příkazů Python.
Jak vytvořit jednoduchou animaci pomocí Python API?
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)
Práce s polygony pomocí Python API
Aspose.3D pro Python přes .NET umožňuje vývojářům softwaru přidávat a spravovat polygonové sítě ve svých 3D modelech v Python aplikacích. Knihovna poskytuje podporu pro různé funkce související se správou polygonových sítí, jako je načtení polygonové sítě ze souboru, vytvoření polygonové sítě, převod všech polygonů na trojúhelníky v 3D modelu, export polygonové sítě do souboru a mnoho dalšího. Následující příklad ukazuje, jak uživatelé mohou vytvořit polygonovou síť vytvořením objektu Mesh a přidáním vrcholů a ploch.
Jak vytvořit polygonovou síť pomocí Python API?
# 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)
