Это немного смутный вопрос, но неся со мной. Я нахожусь в процессе написания игры с использованием Python/Pyglet и openGL. В настоящее время я структурирован так, что есть объект, называемый «мир», в этом есть другие объекты с другими объектами внутри них и т. Д. Я сделал это так, потому что, например, одна часть игры представляет собой платформу с другими объектами на ней, и когда я наклоняю платформу, я хочу, чтобы объекты на ней наклонялись вместе с ней. Поэтому я делаю platform.draw(), который вызывает glRotate, glTranslate, а затем рисует каждый из объектов, сохраняя матрицу viewview между ними, таким образом все объекты на платформе перемещаются вместе. Первый вопрос: это разумный способ организовать вещи, или я должен использовать какой-то другой метод?Как организовать структуру 3D-игры?
У меня нет класса камеры, в настоящее время я просто переводя весь мир или его части, чтобы создать иллюзию движения. Однако в будущем я хочу иметь возможность переключаться между точками зрения между объектами, поэтому, например, переключитесь с того, чтобы смотреть вниз на мир сверху до 1-го лица с одного из объектов в мире. Итак, второй вопрос - это лучший способ структурировать мою программу, чтобы это было возможно в будущем?
Проблема заключается в том, что, когда я хочу сделать что-то с одним из объектов в моем мире, я имею сделать world.object1.object2. object3.do_something(), его становится немного уродливым. Мне также нужно передать указатель на остальную часть мира каждому объекту, а не на то, что это действительно огромная проблема. – eggbert