SceneKit: геометрия не видна за полупрозрачной текстурой. Коробка внутри коробки
Я работаю со SceneKit и у меня есть проблема: Когда я делаю два куба, один внутри другого, один из которых имеет полупрозрачную текстуру, куб внутри не рисуется.
Можете ли вы показать нам свой код для настройки сцены и кубов?
- personZAY  schedule25.12.2020
comment
Блоки @ZAY с текстурой создаются из элементов пользовательской геометрии 'SCNGeometry *geometry = [SCNGeometrymetryгеометрияWithSources:@[vertexSource, normalSource, uvSource]:@[indicesElement]];' красные линии по краям куба — стандартное поле с модифицированным шейдером для отрисовки только по краям Конфигурация сцены '_sceneView.scene = scene; _sceneView.antialiasingMode = SCCNAntialiasingModeNone; _sceneView.autoenablesDefaultLighting = ДА; _sceneView.allowsCameraControl = ДА; _sceneView.contentMode = UIViewContentModeScaleAspectFit;'
- personFreename Freefam  schedule28.12.2020
comment
это может быть шейдерная программа (SCNProgram), которую вы используете, потому что она заменит все шейдеры, поставляемые с scenekit. Если вы хотите что-то вроде первого примера изображения, вы сможете сделать это с помощью стандартных шейдеров из scenekit. Попробуйте создать разные материалы для двух кубов, настройте их модели освещения и придайте внешнему кубу прозрачность 0,3 или 0,4.
- personZAY  schedule29.12.2020
comment
Я наконец нашел причину. Все зависит от того, в каком порядке добавляются кубики. если сначала добавить маленькую, то все будет работать, если большую - то маленькую не будет видно. Самая большая проблема в том, что приложение представляет собой 3D-редактор, и порядок элементов задается пользователем. Я постараюсь найти решение.
- personFreename Freefam  schedule29.12.2020