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