Как сделать полусферу с помощью Qt Quick 3D? - PullRequest
0 голосов
/ 21 июня 2020

Я хочу сделать покебол в 3D, а это:

  • 1 сфера (для черного / коричневого внутри)
  • 2 полусферы (для красного и белого частей)
  • 2 цилиндра (для светового индикатора и кнопки)

Сферу и два цилиндра сделать легко, а вот полусферу сделать не могу. До сих пор я создал такую ​​сферу (main.qml):

import QtQuick 2.15
import QtQuick.Controls 2.15

import QtQuick3D 1.15
import QtQuick3D.Materials 1.15

ApplicationWindow {
    visible: true
    width: 400
    height: 480
    title: "3D Test"

    View3D {
        anchors.fill: parent
        camera: camera

        environment: SceneEnvironment {
            clearColor: "#848895"
            backgroundMode: SceneEnvironment.Color
            probeBrightness: 1000
            lightProbe: Texture {
                source: "maps/OpenfootageNET_garage-1024.hdr"
            }
            antialiasingMode: SceneEnvironment.SSAA
            antialiasingQuality: SceneEnvironment.VeryHigh
        }

        PerspectiveCamera {
            id: camera
            position: Qt.vector3d(0, 0, 400)
        }

        Model {
            id: model

            source: "#Sphere"
            materials: FrostedGlassMaterial { }
        }
    } // View3D
}

со следующим результатом:

Сфера, созданная с помощью встроенной формы сферы Qt Quick 3D

Я использую встроенную форму #Sphere, а файл HDR представлен в примере custommaterial. Фактически, это почти копия того примера.

...