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

Aspose.3D for Python via .NET

 
 

API Pythona do Tworzenia, Edycji i Konwersji Modeli 3D

Przydatna biblioteka Pythona do tworzenia, edycji, przetwarzania i konwersji formatów plików 3D oraz scen 3D do FBX, STL, Discreet3DS, Universal3D, Collada i innych.

Czym jest Aspose.3D dla Pythona przez .NET ?

Aspose.3D dla Pythona przez .NET jest kompleksową i stabilną biblioteką, która umożliwia programistom pracę z plikami i modelami 3D w aplikacjach Pythona bez konieczności instalowania oprogramowania do modelowania i renderowania 3D. Biblioteka pomaga programistom tworzyć aplikacje, które mogą łatwo tworzyć, odczytywać, renderować, manipulować i konwertować modele 3D w różnych formatach plików, w tym FBX, 3DS, U3D, DAE, glTF, OBJ, STL, DRC, PDF, AMF, PLY i wielu innych. Biblioteka wykorzystuje różnorodne techniki, aby zapewnić, że operacje 3D są wykonywane wydajnie i szybko, nawet w przypadku dużych i złożonych modeli 3D.

Aspose.3D for Python via .NET zawiera kilka ważnych funkcji do pracy z animacjami 3D, takich jak tworzenie i manipulowanie animacjami 3D, takimi jak animacje klatkowe, animacje szkieletowe i animacje morfologiczne. Umożliwia to łatwe tworzenie angażujących i interaktywnych aplikacji oraz gier 3D. Biblioteka oferuje również szeroki zakres narzędzi i funkcji do manipulacji modelami 3D. Obejmuje to możliwość importu i eksportu modeli 3D, tworzenia i edytowania modeli 3D oraz wykonywania różnych operacji na modelach 3D, takich jak skalowanie, obrót i translacja.

Aspose.3D for Python via .NET jest zbudowany na bazie platformy .NET i może być używany z Pythonem przy użyciu IronPython, który jest implementacją języka Python na platformie .NET. Dzięki wsparciu dla szerokiej gamy formatów plików 3D oraz bogatemu zestawowi funkcji do manipulacji i animacji modeli 3D, jest doskonałym wyborem dla programistów, którzy muszą pracować z treściami 3D w swoich aplikacjach.

Previous Next

Rozpoczęcie pracy z Aspose.3D dla Pythona przez .NET

Najłatwiejszy sposób zainstalowania Aspose.3D dla Pythona poprzez .NET w stabilnej wersji to użycie pip. Proszę użyć poniższego polecenia, aby przeprowadzić płynną instalację.

Zainstaluj Aspose.3D dla Pythona przez .NET za pomocą pip

pip install aspose-3d 
Możesz również pobrać go bezpośrednio ze strony produktu Aspose.

Generowanie i ładowanie sceny 3D za pomocą API Pythona

Aspose.3D dla Pythona poprzez .NET zawiera pełne wsparcie dla tworzenia nowych scen 3D od podstaw i zapisywania ich w dowolnym obsługiwanym formacie pliku przy użyciu poleceń Pythona. Biblioteka zapewnia również wsparcie dla odczytu istniejących scen 3D, wprowadzania zmian w istniejących scenach, zapisywania sceny 3D w formacie PDF, otwierania istniejących scen z zabezpieczonego hasłem pliku PDF, wykrywania formatu pliku, wyodrębniania zawartości 3D z pliku PDF, ustawiania opcji ładowania przed wczytaniem pliku Obj 3D i wielu innych.

Jak utworzyć dokument sceny 3D za pomocą API Pythona?

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)

Renderowanie sceny 3D za pomocą API Pythona

Aspose.3D for Python via .NET umożliwia programistom ładowanie i renderowanie scen 3D w ich własnych aplikacjach Python. Biblioteka obsługuje renderowanie wysokiej jakości scen 3D, w tym antyaliasing, głębię ostrości, rozmycie ruchu i inne. Obsługuje także import i eksport różnych formatów plików 3D, w tym FBX, OBJ, STL i 3DS. Oznacza to, że możesz łatwo importować istniejące modele 3D do swojej sceny lub eksportować swoją scenę 3D do kompatybilnego formatu. Obsługuje funkcje takie jak rzucanie i odbieranie cieni na geometriach 3D, renderowanie sprzętowe geometrii 3D, renderowanie widoku 3D w formacie obrazu z kamery, renderowanie widoku panoramicznego sceny 3D i tak dalej. Poniższy przykład kodu pokazuje, jak programiści mogą renderować widok panoramiczny sceny 3D i zapisać go w formacie obrazu.

Jak wyrenderować widok panoramiczny sceny 3D i zapisać go w formacie obrazu za pomocą Pythona?

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)

Praca z animacją w dokumencie 3D

Aspose.3D for Python via .NET umożliwia programistom tworzenie i pracę z animacjami w dokumentach 3D przy użyciu biblioteki Python. Biblioteka zawiera liczne funkcje związane z animacjami, takie jak renderowanie animowanej sceny, ustawianie docelowej kamery w pliku 3D, tworzenie animacji szkieletowych, praca z celami morfingu oraz mieszanie wielu animacji. Poniższy przykład pokazuje, jak stworzyć prostą animację przy użyciu poleceń Python.

Jak utworzyć prostą animację przy użyciu API Pythona?

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)

Praca z wielokątami przy użyciu API Pythona

Aspose.3D for Python via .NET umożliwia programistom dodawanie i zarządzanie siatkami wielokątów w ich modelach 3D w aplikacjach Python. Biblioteka zawiera wsparcie dla różnych funkcji związanych z zarządzaniem siatkami wielokątów, takich jak wczytywanie siatki wielokątów z pliku, tworzenie siatki wielokątów, konwertowanie wszystkich wielokątów na trójkąty w modelu 3D, eksportowanie siatki wielokątów do pliku i wiele innych. Poniższy przykład pokazuje, jak użytkownicy mogą stworzyć siatkę wielokątów, tworząc obiekt Mesh i dodając do niego wierzchołki oraz ściany.

Jak utworzyć siatkę wielokątów przy użyciu API Pythona?

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

 Polski