1. Produkti
  2.   3D
  3.   Python
  4.   Aspose.3D for Python via .NET

Aspose.3D for Python via .NET

 
 

Python API, lai izveidotu, rediģētu un konvertētu 3D modeļus

Noderīga Python bibliotēka 3D failu formātu un 3D ainu izveidei, rediģēšanai, apstrādei un konvertēšanai uz FBX, STL, Discreet3DS, Universal3D, Collada un citus.

Kas ir Aspose.3D for Python caur .NET?

Aspose.3D for Python via .NET ir visaptveroša un stabila bibliotēka, kas ļauj programmatūras izstrādātājiem strādāt ar 3D failiem un modeļiem Python lietojumprogrammās, nepāri instalējot 3D modelēšanas un renderēšanas programmatūru. Bibliotēka palīdz programmatūras izstrādātājiem izveidot lietojumprogrammas, kas var viegli izveidot, nolasīt, renderēt, manipulēt un konvertēt 3D modeļus dažādos failu formātos, tostarp FBX, 3DS, U3D, DAE, glTF, OBJ, STL, DRC, PDF, AMF, PLY un daudzos citos. Bibliotēka izmanto dažādas tehnikas, lai nodrošinātu, ka 3D operācijas tiek veiktas efektīvi un ātri, pat ar lieliem un sarežģītiem 3D modeļiem.

Aspose.3D for Python via .NET ir iekļāvis vairākas svarīgas funkcijas 3D animāciju apstrādei, piemēram, 3D izveidi un manipulēšanu ar 3D animācijām, tostarp atslēgas kadru animācijām, skeleta animācijām un morfēšanas animācijām. Tas ļauj viegli izveidot aizraujošas un interaktīvas 3D lietojumprogrammas un spēles. Bibliotēka arī piedāvā plašu rīku un funkciju klāstu 3D modeļu manipulēšanai. Tas ietver iespēju importēt un eksportēt 3D modeļus, izveidot un rediģēt 3D modeļus, kā arī veikt dažādas operācijas ar 3D modeļiem, piemēram, mērogošanu, rotāciju un translāciju.

Aspose.3D for Python via .NET ir izveidots uz .NET ietvara pamata un to var izmantot ar Python, izmantojot IronPython, kas ir .NET īstenojums Python programmēšanas valodai. Ar plašu atbalstu dažādiem 3D failu formātiem un bagātu funkciju klāstu 3D modeļu manipulēšanai un animēšanai tas ir izcils izvēles variants izstrādātājiem, kuriem jāstrādā ar 3D saturu savās lietojumprogrammās.

Previous Next

Kā sākt darbu ar Aspose.3D for Python caur .NET

Visvienkāršākais veids, kā instalēt Aspose.3D for Python via .NET stabilo izlaidumu, ir izmantot pip. Lūdzu, izmantojiet šādu komandu, lai veiktu gludu instalēšanu.

Instalējiet Aspose.3D for Python via .NET caur pip

pip install aspose-3d 
Jūs varat arī lejupielādēt to tieši no Aspose produkta lapas.

Ģenerēt un ielādēt 3D ainu, izmantojot Python API

Aspose.3D for Python via .NET ir iekļāvis pilnīgu atbalstu jaunu 3D skenējumu (scēnu) izveidei no nulles un to saglabāšanai jebkurā atbalstītā faila formātā, izmantojot Python komandas. Bibliotēka arī nodrošina atbalstu esošu 3D skenējumu (scēnu) lasīšanai, izmaiņu veikšanai esošajos 3D objektiem, 3D skenējuma saglabāšanai PDF, esošu skenējumu atvēršanai no ar paroli aizsargāta PDF, faila formāta noteikšanai, 3D satura izguvešanai no PDF faila, ielādes opciju iestatīšanai pirms 3D Obj faila ielādes un daudz ko citu.

Kā izveidot 3D skatu dokumentu, izmantojot 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)

3D ainas renderēšana, izmantojot Python API

Aspose.3D for Python via .NET ļauj programmatūras izstrādātājiem ielādēt un renderēt 3D ainas savās Python lietotnēs. Bibliotēka atbalsta augstas kvalitātes 3D ainu renderēšanu, ieskaitot anti‑aliasing, dziļuma lauku, kustības izplūdumu un vairāk. Tā arī atbalsta dažādu 3D failu formātu importēšanu un eksportēšanu, ieskaitot FBX, OBJ, STL un 3DS. Tas nozīmē, ka jūs varat viegli importēt esošus 3D modeļus savā ainā vai eksportēt savu 3D ainu uz saderīgu formātu. Tā atbalsta tādas funkcijas kā ēnu metšana un saņemšana uz 3D ģeometrijas, aparatūras balstīta 3D ģeometrijas renderēšana, 3D skata renderēšana attēla formātā no kameras, panorāmas skata renderēšana 3D ainā, un tā tālāk. Zemāk esošais koda piemērs parāda, kā programmatūras izstrādātāji var renderēt 3D ainās panorāmas skatu un saglabāt to attēla formātā.

Kā renderēt panorāmas skatu no 3D skatu & saglabāt to attēla formātā, izmantojot 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)

Darbs ar animāciju 3D dokumentā

Aspose.3D for Python via .NET ļauj programmatūras izstrādātājiem izveidot un strādāt ar animācijām 3D dokumentos, izmantojot Python bibliotēku. Bibliotēka ietver daudzveidīgas funkcijas animāciju apstrādei, piemēram, animētās ainas renderēšanu, mērķa kameras iestatīšanu 3D failā, skeleta animāciju izveidi, darbību ar morfēšanas mērķiem un vairāku animāciju sajaukšanu. Zemāk esošais piemērs parāda, kā izveidot vienkāršu animāciju, izmantojot Python komandas.

Kā izveidot vienkāršu animāciju, izmantojot 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)

Darbs ar daudzstūriem, izmantojot Python API

Aspose.3D for Python via .NET ļauj programmatūras izstrādātājiem pievienot un pārvaldīt daudzstūru režģus savos 3D modeļos Python lietojumprogrammās. Bibliotēka nodrošina atbalstu dažādām funkcijām, kas saistītas ar daudzstūru režģu pārvaldību, piemēram, daudzstūru režģa ielādēšanu no faila, daudzstūru režģa izveidi, visu daudzstūru pārveidošanu par trijstūriem 3D modelī, daudzstūru režģa eksportēšanu uz failu un daudz ko citu. Zemāk esošais piemērs parāda, kā lietotāji var izveidot daudzstūru režģi, izveidojot Mesh objektu un pievienojot tam virsotnes un sejas.

Kā izveidot daudzstūra režģi, izmantojot 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)

 Latviski