【Metal】退職メッセージをMetalで実装した話
こんにちは、iOSエンジニアのTokyoYoshidaです。
先日、会社を退職するにあたってのメッセージを会社のメンバーに伝える機会があったのですが、せっかくなのでSceneKit + Metalを使ってiOSアプリにしてみました。
今回は、その実装方法を書いてみたいと思います。
SceneKitにMetalのシェーダを利用する方法
こちらの記事に詳しく説明が載っていました。
このように、SCNProgramを作り、プロパティとしてシェーダー関数名を指定したら、それをSCNNodeに指定します。とても簡単でした。
let program = SCNProgram()
program.vertexFunctionName = "vertexShader"
program.fragmentFunctionName = "fragmentShader"
node.geometry?.firstMaterial?.program = program
SceneKitに文字列を表示する方法
こちらの記事を参考にしました。
SCNTextというクラスが用意されているので、これを使います。
let str = "お世話になりました!"
let depth:CGFloat = 0.5
let text = SCNText(string: str, extrusionDepth: depth)
text.font = UIFont(name: "HiraKakuProN-W6", size: 0.5);
let textNode = SCNNode(geometry: text)
scnView.scene?.rootNode.addChildNode(textNode)
シェーダーの実装
シェーダーはGLSL SandboxにあるものをMSLに移植しました。
背景のシェーダの元ネタ
文字列のシェーダの元ネタ
まとめ
ということで、『会社の中で技術力を磨いてこういうこともできるようになったよ!』という私なりのメッセージを動画にしてみました。仕上がりが文字が前に出てくるだけの地味なメッセージだったので、職場の仲間達に伝わったかどうかはわかりませんが、以前からよくこういうことをしていたので『退職のときもやるのね』ぐらいの印象は残ったんじゃないかなと思います。
ソースコードはこちらになります。
この記事が気に入ったらサポートをしてみませんか?