
Aspose.3D for Python via .NET
Python API'si ile 3D Modelleri Oluşturma, Düzenleme ve Dönüştürme
FBX, STL, Discreet3DS, Universal3D, Collada ve daha fazlasına 3D Dosya Formatı ve 3D Sahne Oluşturma, Düzenleme, İşleme ve Dönüştürme için Kullanışlı bir Python Kütüphanesi.
Aspose.3D for Python via .NET nedir?
Aspose.3D for Python via .NET kapsamlı ve kararlı bir kütüphanedir ve yazılım geliştiricilerin 3D modelleme ve renderleme yazılımı yüklü olmadan Python uygulamaları içinde 3D dosyalar ve modellerle çalışmasını sağlar. Kütüphane, yazılım geliştiricilerin FBX, 3DS, U3D, DAE, glTF, OBJ, STL, DRC, PDF, AMF, PLY ve daha birçok formatta 3D modelleri kolayca oluşturabilecekleri, okuyabilecekleri, renderleyebilecekleri, manipüle edebilecekleri ve dönüştürebilecekleri uygulamalar geliştirmelerine yardımcı olur. Kütüphane, büyük ve karmaşık 3D modellerde bile 3D işlemlerin verimli ve hızlı bir şekilde gerçekleştirilmesini sağlamak için çeşitli teknikler kullanır.
Aspose.3D for Python via .NET, 3D animasyonlarla çalışmak için birkaç önemli özelliği içerir; 3D oluşturma ve 3D animasyonları, anahtar kare animasyonları, iskelet animasyonları ve morf animasyonları gibi animasyonları manipüle etme. Bu, etkileyici ve etkileşimli 3D uygulamaları ve oyunlar oluşturmayı kolaylaştırır. Kütüphane ayrıca 3D modelleri manipüle etmek için geniş bir araç ve özellik yelpazesi sunar. Bu, 3D modelleri içe ve dışa aktarma, 3D modeller oluşturma ve düzenleme ve ölçekleme, döndürme ve çevirme gibi çeşitli işlemleri gerçekleştirme yeteneğini içerir.
Aspose.3D for Python via .NET, .NET çerçevesi üzerine inşa edilmiştir ve Python ile IronPython kullanılarak kullanılabilir; IronPython, Python programlama dilinin .NET uygulamasıdır. Geniş bir 3D dosya formatı desteği ve 3D modelleri manipüle etme ve animasyonlandırma için zengin özellik seti sayesinde, uygulamalarında 3D içerikle çalışması gereken geliştiriciler için mükemmel bir seçimdir.
Aspose.3D for Python via .NET ile Başlarken
Aspose.3D for Python via .NET kararlı sürümünü kurmanın en kolay yolu pip kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.
Aspose.3D for Python via .NET'i pip ile kurun
pip install aspose-3d Ayrıca doğrudan Aspose ürün sayfası'ndan indirebilirsiniz.Python API ile 3D Sahne Oluşturma ve Yükleme
Aspose.3D for Python via .NET, yeni 3D sahneleri sıfırdan oluşturma ve ardından Python komutlarıyla desteklenen herhangi bir dosya formatında kaydetme konusunda tam destek sunar. Kütüphane ayrıca mevcut 3D sahneleri okuma, mevcut 3D'yi değiştirme, bir 3D sahneyi PDF olarak kaydetme, şifre korumalı bir PDF'den mevcut sahneleri açma, dosya formatını tespit etme, bir PDF dosyasından 3D içerik çıkarma, bir 3D Obj dosyası yüklemeden önce yükleme seçeneklerini ayarlama ve daha fazlası için destek sağlar.
Python API'si ile 3D Sahne Belgesi Nasıl Oluşturulur?
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)
Python API ile 3D Sahne Renderlama
Aspose.3D for Python via .NET, yazılım geliştiricilerin kendi Python uygulamaları içinde 3D sahneleri yüklemelerini ve render etmelerini sağlar. Kütüphane, anti-aliasing, alan derinliği, hareket bulanıklığı ve daha fazlası dahil olmak üzere yüksek kaliteli 3D sahne render'ını destekler. Ayrıca FBX, OBJ, STL ve 3DS gibi çeşitli 3D dosya formatlarının içe ve dışa aktarımını destekler. Bu, mevcut 3D modelleri sahnenize kolayca içe aktarabileceğiniz veya 3D sahnenizi uyumlu bir formata dışa aktarabileceğiniz anlamına gelir. 3D geometrilerde gölge atma ve alma, donanım tabanlı 3D geometri render'ı, kameradan görüntü formatında 3D görünüm render'ı, 3D sahnenin Panorama görünümünün render'ı gibi özellikleri destekler ve benzeri. Aşağıdaki kod örneği, yazılım geliştiricilerin bir 3D sahnenin Panorama görünümünü render edip görüntü formatında kaydedebileceğini gösterir.
Python ile 3D Sahnenin Panorama Görünümünü Nasıl Oluşturur ve Görüntü Formatında Kaydeder?
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)
3D Belgede Animasyonla Çalışma
Aspose.3D for Python via .NET, Python kütüphanesini kullanarak yazılım geliştiricilerin 3D belgeler içinde animasyonlar oluşturmasına ve bunlarla çalışmasına olanak tanır. Kütüphane, animasyonlarla çalışmak için sahneyi render etme, 3D dosyada hedef kamera ayarlama, iskelet animasyonları oluşturma, morf hedefleriyle çalışma ve birden fazla animasyonu karıştırma gibi çok sayıda özelliği içinde barındırır. Aşağıdaki örnek, Python komutları kullanarak basit bir animasyonun nasıl oluşturulacağını göstermektedir.
Python API'si kullanarak Basit Bir Animasyon Nasıl Oluşturulur?
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)
Python API kullanarak Çokgenlerle Çalışma
Aspose.3D for Python via .NET, yazılım geliştiricilerin Python uygulamaları içinde 3D modellerine çokgen kafesler eklemesini ve yönetmesini sağlar. Kütüphane, çokgen kafes yönetimiyle ilgili çeşitli özellikleri destekler; örneğin bir dosyadan çokgen kafes yükleme, çokgen kafes oluşturma, 3D modeldeki tüm çokgenleri üçgenlere dönüştürme, çokgen kafesi bir dosyaya dışa aktarma ve daha fazlası. Aşağıdaki örnek, bir Mesh nesnesi oluşturarak ve ona köşe ve yüz ekleyerek kullanıcıların çokgen kafes oluşturabileceğini göstermektedir.
Python API'si kullanarak Poligon Mesh Nasıl Oluşturulur?
# 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)
