我正在寻找一个非常易于使用的 3d 游戏引擎。我只想对游戏的逻辑进行编程,不想让自己关心图形。我只是希望能够下载模型,将其放入游戏中,然后开始编写逻辑。我更希望使用 Python 之类的脚本语言进行编程。
我只是想制作游戏用于学习目的,而不是向任何人展示(我还是学生)。我看过的大多数引擎都有一个陡峭的学习曲线。
请提及任何适合我的 3d 引擎。
谢谢。
我正在寻找一个非常易于使用的 3d 游戏引擎。我只想对游戏的逻辑进行编程,不想让自己关心图形。我只是希望能够下载模型,将其放入游戏中,然后开始编写逻辑。我更希望使用 Python 之类的脚本语言进行编程。
我只是想制作游戏用于学习目的,而不是向任何人展示(我还是学生)。我看过的大多数引擎都有一个陡峭的学习曲线。
请提及任何适合我的 3d 引擎。
谢谢。
看看 Unity 3D:http ://unity3d.com/
熊猫 3D用于几所学校的教育。
编程并不容易,游戏编程更难,3D 游戏编程更难,除非你带着很多罐头的东西,你不会找到一个“简单”的出路
Soya 3D 是开源且非常高水平的。
Soya 3D 是 Python 的面向对象的“高级”3D 引擎。不知何故,Soya 之于 3D 就像 Python 之于编程:一个“前卫”的 3D 引擎,一种 3D 世界中的“UFO”:-)。Soya 允许开发非常快速的其他 3D 应用程序游戏,完全使用 Python 语言(与大多数其他引擎相反,其中 Python 仅限于脚本任务)。
http://home.gna.org/omadness/en/soya3d/index.html
当我进入python时,我经常使用它。
try ursina 是一个非常非常简单的库,您可以使用它来编写一个简单的 3d 项目。它非常简单,实际上您可以使用大约 100-200 行代码来制作类似 Minecraft 的东西!在 python 中制作 Minecraft:https ://youtu.be/DHSRaVeQxIk 文档:https ://www.ursinaengine.org/documentation.html 这是演示项目代码之一(Minecraft 克隆)
'''
Disclaimer: This solution is not scalable for creating a big world.
Creating a game like Minecraft requires specialized knowledge and is not as easy
to make as it looks.
You'll have to do some sort of chunking of the world and generate a combined mesh
instead of separate blocks if you want it to run fast. You can use the Mesh class for this.
You can then use blocks with colliders like in this example in a small area
around the player so you can interact with the world.
'''
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
app = Ursina()
# Define a Voxel class.
# By setting the parent to scene and the model to 'cube' it becomes a 3d button.
class Voxel(Button):
def __init__(self, position=(0,0,0)):
super().__init__(
parent = scene,
position = position,
model = 'cube',
origin_y = .5,
texture = 'white_cube',
color = color.color(0, 0, random.uniform(.9, 1.0)),
highlight_color = color.lime,
)
def input(self, key):
if self.hovered:
if key == 'left mouse down':
voxel = Voxel(position=self.position + mouse.normal)
if key == 'right mouse down':
destroy(self)
for z in range(8):
for x in range(8):
voxel = Voxel(position=(x,0,z))
player = FirstPersonController()
app.run()