@Mixadyt

Как заставить двигаться стрелку по z в ursina?

Я пытаюсь сделать "эдитор" для ursina engine. Когда я начал делать стрелки scale мне понадобился класс Draggable, вот код который я написал:

class DragCube(Draggable):
    def __init__(self, scene, Color=color.green, Visible=True, Scale=(1, 0.25, 0.25),
                 Position=Vec3(0, 0, 0), Collider='box', Lock=(1, 0, 0)):

        super().__init__(
        color = Color,
        visible = Visible,
        model = 'cube',
        parent = scene,
        scale = Scale,
        position = Position,
        lock = Lock
        )

class scaleRows():
    def __init__(self, scene):
        self.rows = []
        self.scene = scene

    def calculate_scale(self):
        scale = ()

        for i in rannge(3):
            position = self.entity.position[i]
            scale = self.entity.scale[i]
            scaleCenter = scale / 2
            offset = position + scaleCenter

            row = self.rows[i]
            rowPosition = row.position[i]
            scalePlus = rowPosition - offset

            scale.append(scalePlus)

        return scale

    def update(self):
        if self.rows == []:
            rowX = DragCube(self.scene, Position = self.entity.position + Vec3(1, 0, 0),
                            Lock = (0, 1, 0), Scale=(1, 0.25, 0.25))
            self.rows.append(rowX)
            rowY = DragCube(self.scene, Position = self.entity.position + Vec3(0, 1, 0),
                            Lock = (1, 0, 0), Scale=(0.25, 1, 0.25))
            self.rows.append(rowY)
            rowZ = DragCube(self.scene, Position = self.entity.position + Vec3(0, 0, 1),
                            Lock = (0, 0, 0), Scale=(0.25, 0.25, 1))
            self.rows.append(rowZ)


класс scaleRows - скрипт, но когда я начил делать стрелку по направлению z, я столкнулся с проблемой: параметр Lock реагирует только на первые два значения, как я понял, класс Draggable можно использовать только в 2d.

Есть ли какие-то альтернативы но в 3d? Возможно уже есть редакторы 3д объектов в сети?

Буду рад вашим ответам!
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Mixadyt Автор вопроса
Я очень долго искал в сети ответ на этот вопрос, но ответ на него мне попался только сейчас.

Вот ссылка на англоязычную версию с ответом:
```https://stackoverflow.com/questions/74942884/how-t...```
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы