PYGLET - 加载 3-D 模型
在本文中,我们将看到如何在Python中的 PYGLET 模块中加载 3-D 模型。 Pyglet 是一个易于使用但功能强大的库,用于开发视觉丰富的 GUI 应用程序,如游戏、多媒体等。窗口是占用操作系统资源的“重量级”对象。 Windows 可能显示为浮动区域,也可以设置为填充整个屏幕(全屏)。为了加载文件,即资源,我们使用 pyglet 的资源模块。该模块允许应用程序指定资源的搜索路径。相对路径被视为相对于应用程序的 __main__ 模块。 3D 文件格式用于存储有关 3D 模型的信息。您可能听说过最流行的格式 STL、OBJ、FBX、COLLADA 等。它们广泛应用于 3D 打印、视频游戏、电影、建筑、学术界、医学、工程和地球科学。
我们可以在下面给出的命令的帮助下创建一个窗口对象
# creating a window
window = pyglet.window.Window(width, height, title)
In order to do this we use model method with the pyglet.resource
Syntax : resource.model(file_name)
Argument : It takes string i.e file name as argument
Return : It returns Model object
下面是实现
Python3
# importing pyglet module
import pyglet
import pyglet.window.key as key
# width of window
width = 500
# height of window
height = 500
# caption i.e title of the window
title = "Geeksforgeeks"
# creating a window
window = pyglet.window.Window(width, height, title)
# text
text = "Welcome to GeeksforGeeks"
# creating label with following properties
# font = cooper
# position = 250, 150
# anchor position = center
label = pyglet.text.Label(text,
font_name ='Cooper',
font_size = 16,
x = 250,
y = 150,
anchor_x ='center',
anchor_y ='center')
# creating a batch
batch = pyglet.graphics.Batch()
# loading geeksforgeeks image
image = pyglet.image.load('gfg.png')
# creating sprite object
# it is instance of an image displayed on-screen
sprite = pyglet.sprite.Sprite(image, x = 200, y = 230)
# on draw event
@window.event
def on_draw():
# clear the window
window.clear()
# draw the label
label.draw()
# draw the image on screen
sprite.draw()
# key press event
@window.event
def on_key_press(symbol, modifier):
# key "C" get press
if symbol == key.C:
# printing the message
print("Key : C is pressed")
# image for icon
img = image = pyglet.resource.image("gfg.png")
# setting image as icon
window.set_icon(img)
# loading3-model file
value = pyglet.resource.model("model.stl")
# setting text of label
label.text = str(value)
# start running the application
pyglet.app.run()
输出 :