Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > 3Dでゲームを作ってみたい(#5)

3Dでゲームを作ってみたい(#5)

前回の記事#4よりSceneKitのチュートリアルを進めていきます。
改めてですが、Beginning Scene Kit TutorialにあるGetting Startedセクションの「starter pack」からダウンロードできる「CarbonVisualizer-Starter.zip」を利用しています。

目標

前回と同じく、以下のような四角がくるくる回る形の作成を検証してみます。 3Dゲームのサンプル画像 3Dゲームのサンプル画像

チュートリアル続き

SceneKitフレームワークはnode型のようで、親のSCNSCeneにSCNNodeをそれぞれ追加していく形です。SCNNodeにはそれぞれのカメラやライト、物質の機能が組み込まれているようでそれを多数利用することで複雑な3Dを使用できるようにしているようです。

3Dゲームのサンプル画像

Appleの公式サイトリファレンスより

基礎工事

まず、親となる土台のSNScenceを作成します。そこに、SCNNodeと関連させる物体のSCNBoxを追加します。その後に、StoryBoard上にあったSCNView(sceneView)と関連させます。このサンプルサイトには、
@IBOutlet weak var sceneView: SCNView! が宣言されています。


 override func viewDidLoad() {
   super.viewDidLoad()
    
    //まずは基本となるSCNSceneを追加します。これが無いと始まりません
    let scene = SCNScene()
    
    //SCNNodeを追加しますが、このSCNNodeに物体としてのSCNBoxを作成して関連づけます。
    let boxGeometry = SCNBox(width: 10.0, height: 10.0, length: 10.0, chamferRadius: 1.0)
    let boxNode = SCNNode(geometry: boxGeometry)
    scene.rootNode.addChildNode(boxNode)
    
    sceneView.scene = scene
    

3Dゲームのサンプル画像

まだ真っ白の表示のままです

SCNViewを見やすいようにする

上のコードにライティングを追加するには以下の一行でそれっぽく大変身。Photoshopのドロップシャドウの内側を実施したような感じになりました。 SceneViewの上に全体表示されたSCNBoxが画面一面に表示されているので平面に見えますが、箱を真横からみている状態です。


        sceneView.autoenablesDefaultLighting = true;
    

3Dゲームのサンプル画像

この状態でカメラ機能を追加してみる

たったこれだけですが、この状態でカメラ機能をコードで追加するだけでマウスカーソルにそってぐるぐる動き出します。


    sceneView.allowsCameraControl = true;
        

3Dゲームのサンプル画像

数行だけですが、ここまで簡単に3Dの四角がつくれるようでした。これを円にしたりライティングをあてたりすることも容易にできるようです。その際はあらためて Beginning Scene Kit Tutorialを確認すればサンプルソースも揃っています。私の方はここに顔と体をつけていきたいので、 「四角」をSwiftのSceneKitでくるくる回す目標は完了。次記事からこの表面に顔を表示する方法を考えてまいります。

↓こんな記事もありますよ!

Backslashを忘れない

ショートカットキーで(\)を入力するには「optionキーを押しながら、¥キーを押す」で可能なのですが、 なにかと、あれ、、、なんだったっけ?と忘れる事が多かったので、バックスラッシュ拡大表示。

CoreTextでTextViewの一文字の向きを変える(#2)

さて、サンプルそのままだと面白くないので、本日6月から開始する自転車規制強化 にのっかったサンプル<自転車の転だけ横に曲げる>にしてみます。(14歳以上が対象。自転車のイヤホン装着や片手走行、 酔っ払い運転、歩道運転、片手スマホ、、、、今まで誰もがやり通してきたことが「逮捕や補導の対象」となるようです。赤切符もきられる ようになるとのことで、自転車に酔っ払ってのって自動車の免停なんかになりかね無いので注意です)

UITableViewCellをプログラムで動的に作成する

UITableViewをStoryboardで作成する方法は結構ありますが、プログラムだけで作成するサンプルが少なかったので共有します。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!