1. Termékek
  2.   3D
  3.   Python
  4.   Aspose.3D for Python via .NET

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.

Previous Next

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)

 Magyar