[swift] scenekit / テクスチャなしで床をタイル上にする方法

scenekit / テクスチャなしで床をタイル上にする方法は以下の通り。

SCNFloorに色やテクスチャを貼りたかったが、SCNFloorにはMaterialのプロパティがなく、床を自作することにした。

SCNPlaneを使用してノードを作成し、Y軸-90度回転させ、2つのforでタイルを敷き詰めていく。


    override func viewDidLoad() {
        super.viewDidLoad()
        //カメラなどの環境設定は省略
        
        setupFloor(scene: scene)
    }

func setupFloor(scene:SCNScene) {
        let chessBoardWidth = 30; //横に並べる枚数
        let chessBoardDepth = 30; //縦に並べる枚数
        let tileWidth = 1; //タイルの幅
        let tileDepth = 1; //タイルの奥行き
        
        let parentNode = SCNNode() //タイルを敷き詰める親ノードを作成
        scene.rootNode.addChildNode(parentNode)
        
        
        //黒タイル(透明度0.5のSCNPlane)
        let blackMaterial = SCNMaterial()
        blackMaterial.diffuse.contents = UIColor.black;
        blackMaterial.transparency = 0.5
        let blackTile = SCNPlane(width: CGFloat(tileWidth), height: CGFloat(tileDepth))
        blackTile.firstMaterial = blackMaterial;

        //白タイル(透明度0.5のSCNPlane)
        let whiteMaterial = SCNMaterial()
        whiteMaterial.diffuse.contents = UIColor.white;
        whiteMaterial.transparency = 0.5
        let whiteTile = SCNPlane(width: CGFloat(tileWidth), height:
            CGFloat(tileDepth))
        whiteTile.firstMaterial = whiteMaterial;
        
        //奇数かどうかの判定変数
        var isOdd = true;

        for x in 0..
		

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です