我目前正在学习如何使用 scenekit,并且遇到透明对象的问题。我编写了一个着色器来增加正面看脸时的透明度,当我选择白色背景时,一切都按预期工作...白色背景的透明度
但是当我选择黑色背景时,该对象的行为就好像它是完全不透明的黑色背景
这是我的视图控制器代码
import Cocoa
import SceneKit
import SceneKit.ModelIO
struct shaderSettings {
var Color: vector_float4
var minTransparency: Float
}
class ViewController: NSViewController {
var scnView: SCNView!
var scnScene: SCNScene!
override func viewDidLoad() {
super.viewDidLoad()
scnView = self.view as! SCNView
scnScene = SCNScene()
scnView.scene = scnScene
scnView.allowsCameraControl = true
scnView.backgroundColor = NSColor.black
//load mesh
let url = URL(fileURLWithPath: "monkey.obj")
let monkey = MDLAsset(url: url).object(at: 0)
let node = SCNNode(mdlObject: monkey)
node.name = "monkey"
//use metal shader
let program …Run Code Online (Sandbox Code Playgroud) scenekit ×1