1. Produse
  2.   3D
  3.   Python
  4.   Aspose.3D pentru Python prin .NET

Aspose.3D pentru Python prin .NET

 
 

API Python pentru Crearea, Editarea și Conversia modelelor 3D

O Bibliotecă Python Utilă pentru Crearea, Editarea, Procesarea și Conversia Formatelor de Fișiere 3D și a Scenelor 3D în FBX, STL, Discreet3DS, Universal3D, Collada și altele.

Ce este Aspose.3D pentru Python prin .NET?

Aspose.3D pentru Python prin .NET este o bibliotecă cuprinzătoare și stabilă care permite dezvoltatorilor de software să lucreze cu fișiere și modele 3D în aplicații Python fără a fi instalat software de modelare și redare 3D. Biblioteca ajută dezvoltatorii să creeze aplicații care pot crea, citi, reda, manipula și converti cu ușurință modele 3D în diverse formate de fișiere, inclusiv FBX, 3DS, U3D, DAE, glTF, OBJ, STL, DRC, PDF, AMF, PLY și multe altele. Biblioteca folosește o varietate de tehnici pentru a asigura că operațiunile 3D sunt efectuate eficient și rapid, chiar și pe modele 3D mari și complexe.

Aspose.3D pentru Python prin .NET a inclus mai multe funcționalități importante pentru lucrul cu animații 3D, cum ar fi crearea și manipularea animațiilor 3D, cum ar fi animațiile pe cadre cheie, animațiile scheletice și animațiile morfice. Acest lucru facilitează crearea de aplicații și jocuri 3D captivante și interactive. Biblioteca oferă, de asemenea, o gamă largă de instrumente și funcții pentru manipularea modelelor 3D. Aceasta include capacitatea de a importa și exporta modele 3D, de a crea și edita modele 3D și de a efectua diverse operații asupra modelelor 3D, cum ar fi scalarea, rotația și translația.

Aspose.3D pentru Python prin .NET este construit pe baza platformei .NET și poate fi utilizat cu Python prin IronPython, care este o implementare .NET a limbajului de programare Python. Datorită suportului său pentru o gamă largă de formate de fișiere 3D și setului său bogat de funcționalități pentru manipularea și animarea modelelor 3D, reprezintă o alegere excelentă pentru dezvoltatorii care trebuie să lucreze cu conținut 3D în aplicațiile lor.

Previous Next

Începerea lucrului cu Aspose.3D pentru Python prin .NET

Cea mai simplă modalitate de a instala Aspose.3D pentru Python prin .NET în versiunea stabilă este utilizarea pip. Vă rugăm să folosiți comanda următoare pentru o instalare fără probleme.

Instalați Aspose.3D pentru Python prin .NET via pip

pip install aspose-3d 
De asemenea, îl puteți descărca direct de pe pagina de produse Aspose.

Generare și încărcare scenă 3D prin API Python

Aspose.3D pentru Python prin .NET a inclus suport complet pentru crearea de noi scene 3D de la zero și apoi salvarea acestora în orice format de fișier acceptat utilizând comenzi Python. Biblioteca oferă, de asemenea, suport pentru citirea scenelor 3D existente, modificarea acestora, salvarea unei scene 3D în PDF, deschiderea scenelor existente dintr-un PDF protejat prin parolă, detectarea formatului de fișier, extragerea conținutului 3D dintr-un fișier PDF, setarea opțiunilor de încărcare înainte de încărcarea unui fișier Obj 3D și multe altele.

Cum să creați un document de scenă 3D prin API Python?

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)

Redarea scenei 3D prin API Python

Aspose.3D pentru Python prin .NET permite dezvoltatorilor de software să încarce și să redea scene 3D în propriile lor aplicații Python. Biblioteca suportă redare de înaltă calitate a scenelor 3D, inclusiv anti-aliasing, profunzime de câmp, blur de mișcare și altele. De asemenea, suportă importul și exportul diferitelor formate de fișiere 3D, inclusiv FBX, OBJ, STL și 3DS. Aceasta înseamnă că poți importa cu ușurință modele 3D existente în scena ta sau să exporți scena 3D într-un format compatibil. Suportă funcții precum aruncarea și primirea umbrelor pe geometria 3D, redarea bazată pe hardware a geometriei 3D, redarea vederii 3D în format imagine de la cameră, redarea unei vederi panoramice a scenei 3D și altele. Exemplul de cod de mai jos arată cum dezvoltatorii de software pot reda o vedere panoramică a unei scene 3D și să o salveze în format imagine.

Cum să redați vizualizarea panoramică a scenei 3D și să o salvați în format imagine prin Python?

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)

Lucrul cu animații în documentul 3D

Aspose.3D pentru Python prin .NET permite dezvoltatorilor de software să creeze și să lucreze cu animații în documente 3D utilizând biblioteca Python. Biblioteca include numeroase funcționalități pentru lucrul cu animații, cum ar fi redarea scenei animate, configurarea camerei țintă într-un fișier 3D, crearea animațiilor scheletice, lucrul cu ținte morfice și combinarea mai multor animații. Exemplul următor demonstrează cum să creați o animație simplă utilizând comenzi Python.

Cum să creați o animație simplă utilizând API Python?

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)

Lucrul cu poligoane utilizând API Python

Aspose.3D pentru Python prin .NET permite dezvoltatorilor de software să adauge și să gestioneze plase poligonale în modelele lor 3D în cadrul aplicațiilor Python. Biblioteca include suport pentru diverse funcționalități legate de gestionarea plasei poligonale, cum ar fi încărcarea unei plase poligonale dintr-un fișier, crearea unei plase poligonale, convertirea tuturor poligoanelor în triunghiuri într-un model 3D, exportarea plasei poligonale într-un fișier și multe altele. Exemplul următor arată cum utilizatorii pot crea o plasă poligonală prin crearea unui obiect Mesh și adăugarea de vârfuri și fețe la acesta.

Cum să creați o plasă poligonală utilizând API Python?

# 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)

 Română