この記事はキーボード Advent Calendar 2020の#1
、3日目の記事です。
こんにちは、たねやつです。今回の記事はキーキャップのモデリングに関する内容です。
数か月前からZBrush
というとても楽しい3D彫刻ソフトを使用してキーキャップのモデリングをしています。
ZBrush
(Core)の初歩的な使い方だったり、どうやって上のようなキーキャップをモデリングしているのかについてナイスな機会なのでまとめておこうと思います!
使用するソフト・ハードウェア
ZBrushCore
造形するために必要なソフトです。ZBrush
というものが元々あり、そこからコアな機能だけを制限した廉価版がZBrushCore
となります。
私はPixologicの公式サイト(英語)から購入しました。日本語サイトだと代理店経由で購入となります。公式サイトから購入してもUIはちゃんと日本語に変更することができます。(サブスクリプションも可能なようです)
無料版でZBrushCoreMini
というものもあるのですが、OBJ
形式のファイルをインポートできなかったりいろいろと制限があるので今回は使用できませんでした。ただ、3Dスカルピングがどういうものかというのを知るには十分なので、この記事を読んで少しでも造形してみたいと思った方はインストールしてみることをオススメします。
操作方法は全く違いますが、以下で挙げる程度のごく基本的な造形であればBlender
のスカルピング機能でも同様に再現可能であると思います。Blender
はレンダリング等でたまに使ったりするのですが、スカルプティングは触ったことがない。。(笑)
いずれ操作方法を覚えて記事化したいと思います’😎
OpenSCAD
プログラムによって機械的に3Dモデリングを行うことができるフリーソフトです。今回はこれを使ってキーキャップのベースとなるモデルを生成していきます。
プログラミングといっても今回の記事で使用するものはライブラリを使用して変数を少しいじるだけなので安心してください!
3Dプリンター
モデリングしたもの実体化するのに必要です。個人用途ではざっくりとFDM
方式と光造形
方式の2つがあります。ここでは双方のプリンターのメリットデメリットは語りません。今回は光造形
方式のプリンターAnycubic Photon
を使用していきます。
ベースとなるキーのモデルを生成
まずはベースとなるキーキャップのモデルを生成します。このモデルを膨らませたり凹ませたりすることで造形していきます。
生成するためにKeyV2
というライブラリを使用します。
リンク先のCode
という緑のボタンをクリックして、Download ZIP
をクリックすることでダウンロードできます。
customizer.scad
というファイルをOpenSCADで開くとこんな感じの画面になります。すでにCherry
プロファイルのモデルが表示されていると思います。
ここから左側のコードをちょこちょこいじって好きなキーのモデルを作ります。今回はSA
プロファイルのR1の大きさのものを出力してみます。
コードの7
行目を以下のように変更します。SA
以外にもDSA
等も選択することができます。(コメント部分の文字列をそれぞれ指定します。)
key_profile = "sa"; // [dcs, oem, dsa, sa, g20, disable]
次に9
行目を以下のように変更します。といっても最初から1
(R1)なので変更することはないですが、他に作りたい行があるなら変更してみてください。
row = 1; // [5,1,2,3,4,0]
この状態でCtrl + S
でファイルを保存します。保存と同時に画面右に仮レンダリングされます。
他にも以下の変数はよく使うかもしれないです。数値を変えてレンダリングしてみて結果を確認して好きな形のモデルを生成してみてください。
// 22行目。軸の外側の形状を変更することができます。 $stem_type = "box_cherry"; // [cherry, alps, rounded_cherry, box_cherry, filled, disable] // 42行目。キーの体積部分の形状を変更することができます。 // 体積部分が大きいほうが後で造形するときにラクです。 $support_type = "flat"; // [flared, bars, flat, disable] // 44行目。軸部分を補強するためのサポートですが、光造形でプリントする場合 // 不要です。 $stem_support_type = "disabled"; // [tines, brim, disabled]
イイカンジのができたらF6
でレンダリングしてF7
でSTL
形式でエクスポートします。これでZBrush
で編集することができるモデルが出来上がりました!
造形
それではZBrush
で造形していきます。細かいことはさておき押すべきボタンとキーボードだけ紹介していきます。
とりあえずこんな感じのネコちゃんをモデリングしていきます。
向きを整える
まずは先ほど生成したSTLファイルをインポートします。画面右側のツール
という場所にインポート
というボタンがあるのでそれをクリックし、ファイルを読み込みます。読み込むとこんな感じになると思います。
おそらく90度回転した状態なので元に戻します。画面左上の移動
というボタンを押してギズモを表示します。赤い輪の部分をクリックしたまま動かしてモデルを回転させることができます。 キーボードのShift
を押したままだと整数値で回転させることができるので90
と表示されるまで回転させてください。
視点を動かすには、モデルでない空間部分を左クリックしたままドラッグします。
これでキーがシーンに対して正面を向いた状態になりました。
三角ポリゴンを四角ポリゴンに変換する
現状だと面が三角ポリゴンのままです。画面右のPolyF
というボタンを押すと面の状態がよくわかります。
このままだと造形していくのに不利なので四角ポリゴンに変換します。画面右のツール
内のジオメトリ
タブを開きます。真ん中あたりの解像度
を128
にセットし、ダイナメッシュ
ボタンを押すとイイカンジにしてくれます。
顔のふくらみ
まずはキーの表面に顔のふくらみを作っていきます。
ブラシが左右対称となっていることを確認します。左右対称となっていない場合はX
キーを押します。
画面上部のドローサイズ
を250
ぐらいにあげて、Z強度(ブラシの濃さ・強さ)は10
ぐらいにしましょう。キーの中心から小さな円を外に向かってぐるぐる描くようにしてふくらましていきます。
ある程度膨らんだら今度はShift
キーを押しながら同じ動きでまたぐるぐる描きます。すると膨らみがなだらかになっていきます。これを繰り返しながら理想の顔の輪郭を作っていきます。PolyF
ボタンで面を表示しながら行うとわかりやすいかもしれないです。
口回り造形
次にω
の部分を作っていきます。
キーの真ん中下あたりでスタンダードブラシで円を描くように盛り上げていきます。ドローサイズは100
ぐらいでZ強度は10
ぐらいにしましょう。
間違えてしまった場合はCtrl + Z
で元に戻します。もう少しなだらかな膨らみにしたいという時はShift
を押しながら描くことによって造形を平坦化することができます。これはよく使うので覚えておいてください。
少しブラシサイズを小さくして、鼻先を付けてあげて完成です。
耳の造形
次に耳を作っていきます。今回使用するブラシはMove
ブラシです。
ドローサイズは120
ぐらいでカメラを下の画像の角度に合わせて外に向かって面をひっぱりあげていきます。カメラの角度によって引っ張りあげる角度も変わってくるので試行錯誤して一番かわいい位置と角度を見つけてください。。
PolyF
で面を表示しているとわかりやすいのですが、Moveで面を引っ張ると面の大きさが均一でなくなります。このままだと耳の穴を造形するのが難しくなるので再び面の大きさを均一にします。そのためにはモデル外の無の空間でCtrl
を押しながら、左ドラッグしこんな感じの矩形選択のような状態にします。そのままクリックを離すと面が均一に(再度ダイナメッシュ実行)されます。
これで耳の穴を彫っていけます!
ブラシをスタンダード
に切り替えてドローサイズを耳の外枠よりもちょっと小さいぐらいに設定します。今度は膨らませるのではなく凹ませたいのでAlt
キーを押しながら描いていきます。大まかに凹ませて、細かい耳先の部分はブラシサイズを小さくして凹ませていきましょう。
だんだんと動物の形になってきましたね!
目とひげを付ける
ここからはスタンダードブラシでふくらましていくだけなので簡単です。が数ミリ違うだけで印象がガラッと変わってくるので各々の感性の勝負です!(笑)
ドローサイズは小さめ、Z強度は強めにすることで立体感を作り出すことができます。自分はこんな感じに仕上げました。本物の🐈ちゃんの画像などを参考にしながら比率をうまく調整して描きましょう。
画面で見ている分にはちょっとガタガタしてみてますが、実際の大きさは2cm
四方ぐらいなのでこのままでもあまり気にはならないです。もしもっと滑らかにしたい場合にはジオメトリボタンの上にあるディバイド
を使って面を小さくしていってみてください。
DamStandard
というブラシを使って模様を彫りこんでいっても楽しいですよ!最初のほうで上げた鬼キーキャップは基本的な造形をした後、DamStandardのみで筋を掘っていっています。
印刷できるファイル形式でエクスポートする
造形が完成して印刷できるようになったら、ファイルを3Dプリンター用のスライサーで印刷できるファイル形式で保存します。最初にインポート
ボタンを押した横にエクスポート
ボタンがあるのでそれを押します。形式はSTL
かOBJ
が一般的だと思います。
保存出来たら各スライサーで3Dプリンターが扱える形式にさらに変換していってください。
3Dプリンターで出力して完成!
スライス等の部分はバッサリ省いてしまいます(今後記事にする予定です)が、最終的にこんな感じに出来上がります!上で紹介した内容から、腕を付けて尻尾もつけています。
もっといろんな造形をしてみたい
今回使用した機能はおそらくZBrushCore
のほんの数%ぐらいしか使用していないと思います。まだまだもっと造形してみたいという方は以下の動画連載が超おすすめです!!
見てみるとわかると思いますが、今回モデリングした🐈ちゃんはこの動画にインスパイアされて作成したものです。私がZBrushCore
でモデリングしてみたい(できそう!)と感じたのもこの動画に出会えたのがキッカケです!
自分も今後キーキャップから始まりZbrushのモデリング云々の動画をあげていきたいなあ、とぼんやり考えていますので来年のたねやつに乞うご期待です😎
最後に
この記事はID75
で書きました。真ん中1行に自作アルチザンキーキャップを並べているのでとってもラグジュアリー(?)な気分です!
アルチザンキーキャップ制作の云々に関してはこのブログを更新していますが、自作キーボード全般のことに関しては以下のブログでいっぱい書いています。興味のある方は一度覗いてみてください🙇
他にも普通の形をしたレジンアートキーキャップ制作のよもやま話を書いたりしていますので当ブログも何卒よろしくお願いいたします!