2
votes

Manque d'effet de floraison dans iOS 13.0

Je veux créer un effet de floraison dans Arkit par les paramètres de la caméra:

self.sceneView.pointOfView.camera.bloomIntensity = 2.0;
self.sceneView.pointOfView.camera.bloomBlurRadius = 30;
self.sceneView.pointOfView.camera.bloomThreshold = 0.6;

Cela fonctionne très bien sous iOS 13.0, quelque chose comme ceci:

entrez la description de l'image ici

Mais lorsque le même code s'exécute sur le système iOS 13 ou plus récent, cela fonctionne comme ceci:

entrez la description de l'image ici

Les paramètres de floraison de la caméra ne fonctionnent pas.


0 commentaires

3 Réponses :


1
votes

Selon la documentation officielle, pour utiliser l'effet de floraison dans iOS 13, vous devez d'abord activer la propriété d'instance wantHDR pour la caméra (pour appliquer des effets de post-traitement à une scène).

Donc, votre code pourrait ressembler à ceci:

@IBOutlet var sceneView: ARSCNView!

override func viewDidLoad() {
    super.viewDidLoad()

    let scene = SCNScene(named: "art.scnassets/myScene.scn")!

    sceneView.pointOfView!.camera!.wantsHDR = true                 // ENABLED
    sceneView.pointOfView!.camera!.bloomIterationSpread = 10
    sceneView.pointOfView!.camera!.bloomIterationCount = 3
    sceneView.pointOfView!.camera!.bloomIntensity = 20
    sceneView.pointOfView!.camera!.bloomBlurRadius = 3
    sceneView.pointOfView!.camera!.bloomThreshold = 0.5

    sceneView.scene = scene
}


1 commentaires

merci monsieur, mais je suis déjà réglé "wantHDR = true" et aucun effet ....



2
votes

J'ai pu ajouter une fleur à un nœud avec cette approche.

myNode.filters = addBloom()

Ensuite, vous pouvez l'ajouter à votre nœud comme ceci:

func addBloom() -> [CIFilter]? {
  let bloomFilter = CIFilter(name:"CIBloom")!
  bloomFilter.setValue(10.0, forKey: "inputIntensity")
  bloomFilter.setValue(30.0, forKey: "inputRadius")
  return [bloomFilter]
}


0 commentaires

0
votes

Réponse assez tardive, mais je pense que vous devez désactiver rendersCameraGrain sur la SceneView, car l'activation de cette option perturbe malheureusement les techniques SCNTechniques appliquées (qui sont utilisées sous le capot pour appliquer des effets comme Bloom, Saturation, etc.)


0 commentaires