前提・実現したいこと
こちらのサイトを参考にSCNLightを使って文字に影をつけて
立体のように表示する実装をしました。
しかし実装したところ光が下部から当てられていて、正面は真っ黒になってしまいます。
光が正面にくるようにするにはどうしたら良いのでしょうか。
該当のソースコード
swift
1テキストノードの作成 2private func addTextToTheWorld() -> SCNNode{ 3 let text = SCNText(string: "Hello", extrusionDepth: 0.2) 4 let font = UIFont(name: "San Francisco", size: 1) 5 text.font = font 6 text.alignmentMode = CATextLayerAlignmentMode.center.rawValue 7 text.firstMaterial?.diffuse.contents = UIColor.white 8 text.firstMaterial?.isDoubleSided = true 9 let (minBound, maxBound) = text.boundingBox 10 let textNode = SCNNode(geometry: text) 11 textNode.pivot = SCNMatrix4MakeTranslation( (maxBound.x - minBound.x)/2, minBound.y, 0.03/2) 12 textNode.scale = SCNVector3Make(0.05, 0.05, 0.05) 13 return textNode 14}
画面をタッチ
swift
1override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 2 let housenode = SCNNode() 3 let sphereNode = addTextToTheWorld() 4 5 //SCNLight 6 let light = SCNLight() 7 light.type = .omni 8 sphereNode.light = light 9 10 self.sceneView.scene.rootNode.addChildNode(sphereNode) 11 12}
補足情報(FW/ツールのバージョンなど)
Swift4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。