需要一个易于使用的 3D 游戏引擎

发布于 2024-09-15 20:45:36 字数 209 浏览 1 评论 0原文

我正在寻找一个非常易于使用的 3D 游戏引擎。我只想对游戏的逻辑进行编程,而不想关心图形。我只想能够下载一个模型,将其放入游戏中,然后开始对逻辑进行编程。我更愿意使用 Python 等脚本语言进行编程。

我只是想制作游戏用于学习目的,而不是向任何人展示它(我仍然是学生)。我见过的大多数引擎都有一个陡峭的学习曲线。

请提及任何适合我的 3d 引擎。

谢谢。

I'm looking for a VERY easy to use 3d game engine. I want to program only the logic of the game, and don't want to have to concern myself with graphics. I just want to be able to download a model, put it in the game, and start programming the logic. I would preferable want to program in a scripting language like Python.

I just want to make the game for learning purposes, and not to show it to anyone (I'm still a student). Most of the engines I've looked at had a steep learning curve.

Please mention any 3d engine that would be suitable for me.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

吃不饱 2024-09-22 20:45:36

看看 Unity 3D:http://unity3d.com/

Take a look at Unity 3D: http://unity3d.com/

久夏青 2024-09-22 20:45:36

Panda 3D 在一些学校的教育中使用。

编程并不容易,游戏编程更难,3D 游戏编程更难,除非你使用大量罐装的东西,否则你不会找到“简单”的方法

Panda 3D is used in education in a couple of schools.

Programming is not easy, game programming is harder, 3D game programming is even harder unless you go with a lot of canned stuff you are not going to find an "easy" out

ら栖息 2024-09-22 20:45:36

Soya 3D 是开源的并且水平非常高。

Soya 3D 是一个面向对象的 Python“高级”3D 引擎。不知何故,Soya 之于 3D 就像 Python 之于编程:一个“前卫”3D 引擎,一种 3D 世界中的“UFO”:-)。 Soya 允许完全使用 Python 语言非常快速地开发其他 3D 应用程序的游戏(与大多数其他引擎相反,其中 Python 仅限于脚本任务)。

http://home.gna.org/oomadness/en/soya3d/index.html

当我开始接触Python时,我经常使用它。

Soya 3D which is open source and very high level.

Soya 3D is an object oriented "high level" 3D engine for Python. Somehow, Soya is to 3D what Python is to programming: an 'avant garde' 3D engine, a kind of 'UFO' in the 3D world :-). Soya allows to develop very rapidly games of other 3D apps, entirely in the Python language (contrary to most of the other engine, in which Python is limited to scripting tasks).

http://home.gna.org/oomadness/en/soya3d/index.html

I used it a lot when I was into python.

尽揽少女心 2024-09-22 20:45:36

尝试 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()

try ursina is a very very simple library that you can use to write a simple 3d project.it so simple in fact you can make something like Minecraft with about 100-200 lines of code!
making Minecraft in python: https://youtu.be/DHSRaVeQxIk
documentation: https://www.ursinaengine.org/documentation.html
here is one of the demo projects code(Minecraft clone)

'''
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()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文