1

とても使いやすい3Dゲームエンジンを探しています。ゲームのロジックだけをプログラムしたいので、グラフィックスに関心を持つ必要はありません。モデルをダウンロードしてゲームに入れ、ロジックのプログラミングを開始できるようにしたいだけです。Pythonのようなスクリプト言語でプログラミングしたいのですが。

私はただ学習目的でゲームを作りたいだけで、誰にも見せたくない(私はまだ学生です)。私が見たエンジンのほとんどは、急な学習曲線を持っていました。

私に適した3Dエンジンについて教えてください。

ありがとう。

4

4 に答える 4

8

Unity 3Dをご覧ください:http://unity3d.com/

于 2010-08-22T20:54:22.733 に答える
4

Panda 3Dは、いくつかの学校の教育で使用されています。

プログラミングは簡単ではありません。ゲームプログラミングは難しく、3Dゲームプログラミングは、「簡単な」ものを見つけることができない缶詰のものをたくさん使わない限り、さらに難しくなります。

于 2010-08-22T20:58:07.907 に答える
1

オープンソースで非常にハイレベルなSoya3D。

Soya 3Dは、Python用のオブジェクト指向の「高レベル」3Dエンジンです。どういうわけか、SoyaはPythonがプログラミングするのと同じように3Dになります:「前衛的な」3Dエンジン、3Dの世界では一種の「UFO」:-)。Soyaを使用すると、他の3Dアプリのゲームを完全にPython言語で非常に迅速に開発できます(Pythonがスクリプトタスクに限定されている他のほとんどのエンジンとは異なります)。

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

Pythonに興味があったときによく使用しました。

于 2010-10-12T15:09:34.233 に答える
1

try ursinaは、単純な3Dプロジェクトを作成するために使用できる非常に単純なライブラリです。実際、Minecraftのようなものを約100〜200行のコードで作成できます。PythonでMinecraftを作成する:https ://youtu.be/DHSRaVeQxIk ドキュメント:https ://www.ursinaengine.org/documentation.html ここにデモプロジェクトコードの1つがあります(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()
于 2021-07-07T16:16:35.817 に答える