

Autodesk Tinkercadは、WEBブラウザ上でCADモデリングを行うことができる、無料のオンライン3Dモデリングアプリです。Tinkercadには、コードブロック(Codeblocks)という機能があり、ビジュアルプログラミングを用いて、3Dモデリングを行うことが可能です。
ここでは、様々なデザインを作成する為に、変数やループのブロックを使用して行う3Dデザインの作成方法を解説します。
シェイプを繰り返し並べる
シェイプを繰り返し横に並べる
はじめに、立方体シェイプを横並びに10個配置してみましょう。
「コントロール」メニューから「カウント」をブロックエディターにドラッグ&ドロップします。
その中に、「ボックス」と「移動」をアタッチします。
「変数を作成」を一番上に作成します。
変数名を「scale」に変更し、スロットには「10」と入力します。
「ボックス」の「W L H」それぞれに「データ」メニューから「scale」をドラッグ&ドロップします。
ボックス「W:scale L:scale H:scale」
「移動」を「X:scale * i」にします。
移動「X:scale * i Y:0 Z:0」
「カウント」を変更後、「実行」します。
カウント「i 開始:0 終了:9 増分単位:1」
※「開始:1 終了:10 増分単位:1」でも可
※再生速度を最大にしておきます。
シェイプを繰り返し整列して壁を作成
先ほどのコードブロックを使用し、壁を作成していきます。
「変数を作成」を作成し、変数名を「count」にして、スロットには「9」と入力します。
「カウント」をアタッチして囲みます。
以下のように、それぞれの「カウント」の「終了」に「count」を入れます。
カウント(内側)「i 開始:0 終了:count 増分単位:1」
カウント(外側)「j 開始:0 終了:count 増分単位:1」
「移動」に「Z:scale * j」を加えて「実行」します。
移動「X:scale * i Y:0 Z:scale * j」
シェイプを繰り返し整列してキューブを作成
以下のようなキューブを作成しましょう。
「変数を作成 (count):4」に変更しておきましょう。
新たな「カウント」をアタッチして囲みます。
カウント「k 開始:0 終了:count 増分単位:1」
「移動」に「Y:scale * k」を加えて「実行」します。
移動「X:scale * i Y:scale * k Z:scale * j」
シェイプを縮小しながら積み上げる
次に、立方体シェイプを縮小しながら、以下のようなピラミッド状に積み上げていきます。
「カウント」を2つ削除し、「ボックス」のフィールドを変更していきます。
ボックス「W:scale * i L:scale * i H:scale」
「移動」に変更を加えます。
移動「X : 0 Y : 0 Z : scale * i」
「変数を作成 (count):9」に変更しておきましょう。
このまま「実行」をすると、逆三角形の形状で作れていく為に、「回転」を加えて「実行」します。
回転「回転の中心:軸x 増分単位:180 ピボットから X : 0 Y : 0 Z : 0」
シェイプをピラミッド状に積み上げる
次に、立方体シェイプをサイズの変更をせずに積み上げ、ピラミッドを作成します。
新たな「カウント」をアタッチして囲み、以下のようにします。
カウント(外側)「j 開始:0 終了:count 増分単位:1」
内側の「カウント」のフィールドを変更します。
カウント(外側)「i 開始:j * -1 終了:j 増分単位:1」
「ボックス」を変更します。
ボックス「W:scale L:scale H:scale」
「移動」を変更します。
移動「X:scale * i Y:0 Z:scale * j」
再びシェイプ数が増えるので、「変数を作成 (count):2」に変更します。
「実行」すると、3段のピラミッドが作成されます。
カウント「j」は、0から2まで1つずつ増加し、「0,1,2」とカウントしているために3段となります。(0も1カウントに含まれます)
カウント「i」では、 i * -1 から i まで 1つずつ増加するので、
j = 0の時には「開始:0 終了:0」で1カウントとなり、
移動「X:0 Y:0 Z:0」で原点に1つの立方体が作成されます。
j = 1の時には「開始: -1 終了:1」で「-1,0,1」と3カウントとなり、
-1では移動「X:-20 Y:0 Z:-20」に1つ、
0では「X:0 Y:0 Z:0」で原点に1つ、
1では移動「X:20 Y:0 Z:20」に1つのシェイプが作成され、合計で3つの立方体が作成されます。
j = 2の時には「開始:-2 終了:2」で「-2,-1,0,1.2」と5カウントとなり、
-2では移動「X:-20 Y:0 Z:-20」に1シェイプ、、、、
と、同様に合計で5つの立方体が作成され、このようなピラミッドの形状が作られています。
積み上げたピラミッド状のシェイプに奥行きを付ける
作成したピラミッドに奥行きをつけていきましょう。
新たな「カウント」をアタッチして囲み、以下のようにします。
カウント(外側)「k 開始:0 終了:count 増分単位:1」
カウント(中)「j 開始:k * -1 終了:k 増分単位:1」
カウント(内側)「i 開始:k * -1 終了:k 増分単位:1」
「移動」を変更して「実行」します。
移動「X:scale * i Y:scale * j Z:scale * k」
カウント「j」では、奥行き(Y軸)に立方体が作成されていきます。
シェイプを円状に配置する
シェイプの円状配置
シェイプを円状に配置していきます。
新たにコードブロックを作成していきましょう。
「カウント」をブロックエディターに加えます。
カウント「i 開始:1 終了:12 増分単位:1」
その中に、「球」をアタッチして「半径:1」にします。
その下に「移動」をアタッチします。
移動「X:20 * sin 30 * i Y:20 * Cos 30 * i Z:0」
-「移動」フィールドへの入力順-
1: 「X」のスロットに「演算」を加えます。
2: 「演算」に「20」と入力、「*(乗算)」に変更し、右のスロットには「Math function(関数)」を加えます。
3: 「Math function(関数)」は「Sin」のままで、スロットに新たに「演算」を加えましょう。
4: 新たに加えた「演算」に「30」を入力、「*(乗算)」に変更し、右のスロットには「i」をドラッグ&ドロップします。
5: 「Y」のスロットには、同様の流れで「Cos」に変更して加えていきます。
「実行」を行うと、「カウント」により「1,2,3,,,,,14,15」と繰り返され、「球」が12個作成されます。
「移動」の「X」「Y」の一番左の「20」と入力したスロットは、円状の半径になります。
「Math function(関数)」の「Sin」と「Cos」は、以下の三角関数の表を元に解説します。
「i = 1」の時は、「30 * 1」で「Sin30」と「Cos30」になります。
「Sin30 = 1/2」ですので「20 * 1/2 = 10」となります。
「Cos30 = √3/2」ですので「20 * √3/2 = 10√3」となります。
このように「12 * i」に「1,2,3,,,,,12」と代入をしていくと、以下のようになります。
コードブロック上で行われていることを、実行後のシェイプに書き足していくと、以下のようになっていることがわかります。
円状に配置したシェイプの向きを変更する
「球」を削除します。
「星」と入れ替え、「実行」します。
星「側面:5 半径:2 内側半径(%):0.5 H:2」
このようにシェイプの種類によっては、向きや面に影響がでます。
まずは、星を立たせていきましょう。
「回転」を「星」の下にアタッチし、フィールドを変更後に「実行」します。
回転「回転の中心:軸x 増分単位:90 ピボットから X : 0 Y : 0 Z : 0」
次に、すぐ下に「回転」を追加して傾きを修正後に「実行」します。
回転「回転の中心:軸y 増分単位:-17 ピボットから X : 0 Y : 0 Z : 0」
全ての星が同方向を向いているので、左右から見ると星が横方向を向いてしまっています。
どの面から見ても星が正面を向くように修正していきます。
「移動」の下に「回転」をアタッチして、「実行」します。
回転「回転の中心:軸z 増分単位:-30 * i 」
シェイプを螺旋状に配置する
「球」を螺旋状に配置します。
「星」を削除し、「球」と入れ替え「半径:1」にします。
「回転」を削除します。
変数を作成し、変数名を「radius」にして「25」と入力します。
「移動」を変更します。
移動「X:radius * Sin 30 * i Y:radius * Cos 30 * i Z:radius」
「変更(radius)」を「カウント」内の1番下にアタッチし、「増分単位:-2」にします。
「カウント」を変更して「実行」しましょう。
カウント「i 開始:1 終了:72 増分単位:1」
シェイプを波型に配置する
シェイプを波型に配置してみましょう。
「移動」を変更します。
移動「X:2 * i Y:radius * Cos 10 * i Z:0」
「変数を作成(radius):60」にして、「変更」を削除します。
波形が座標の左端から作成されるようにしましょう。
「移動」を「球」の下にアタッチします。
移動「X:-100z Y:0 Z:0」
「カウント」を変更後、「実行」します。
カウント「i 開始:1 終了:108 増分単位:1」
お城の土台の作成
お城の土台の作成
これまでの方法を応用し、お城の製作に挑戦しましょう。
まずは、「円柱」を縮小しながら積み上げて、メインとなるお城の土台を作ります。
「シェイプ」メニューから「円柱」をブロックエディターにドラッグ&ドロップします。
「カウント」をアタッチします。
カウント「i 開始:1 終了:3 増分単位:1」
「変数を作成」を一番上に作成します。
変数名を「cylinder」に変更し、スロットには「40」と入力します。
「円柱」の色とフィールドを変更します。
円柱「半径:cylinder – 10 * i H:cylinder + 10 * i 側面:100 エッジ:0 エッジセグメント:2」
「移動」をアタッチして、「Z:25 * i -10」にして、「実行」すると円柱が縮小しながら3段積み上がります。
「円錐」を「カウント」の下にアタッチします。
円錐「上面半径:0 底面半径:20 H:cylinder 側面:24」
「移動」を「Z:25 * i + 20」でアタッチし、「実行」すると3段積みの円柱に屋根がつきます。
お城の装飾
新たに「カウント」を「移動」の下にアタッチしましょう。
カウント「j 開始:1 終了:10 増分単位:1」
「円柱」を追加します。
円柱「半径:2 H:20 側面:100 エッジ:0 エッジセグメント:2」
「移動」をアタッチします。
移動「X:25 * Sin36 * j Y:25 * Cos36 * j Z:cylinder」
その下に「円柱」を加えてください。
円柱「上面半径:0 底面半径:3 H:8 側面:24」
「移動」も加え、「実行」します。
移動「X:25 * Sin36 * j Y:25 * Cos36 * j Z:cylinder + 14」
複製・縮小して両側に配置してお城を完成させていきます。
「グループ」を「カウント」の下にアタッチします。
その下に、「コピー」を配置します。
「移動」と「スケール」を加えてください。
移動「X:50 Y:0 Z:-22」
スケール「X:0.7 Y:0.7 Z:0.7」
次に、「コピー」と「移動」を配置します。
移動「X:-100 Y:0 Z:0」
最後に「グループ」と「移動」を加えて、お城の位置を調整します。
移動「X:0 Y:0 Z:10」
螺旋する星の作成
お城の周りに星を散りばめてみます。
「コントロール」メニューから「星」をブロックエディターにドラッグ&ドロップします。
星「側面:5 半径:5 内側半径: 0.5 H:2」
「回転」を2つアタッチして、星を立たせていきましょう。
1つ目の「回転」:
回転「回転の中心:軸x 増分単位:90 ピボットから X : 0 Y : 0 Z : 0」
2つ目の「回転」:
回転「回転の中心:軸y 増分単位:-15 ピボットから X : 0 Y : 0 Z : 0」
「カウント」で囲みます。
カウント「k 開始:1 終了:72 増分単位:1」
一番上に「変数を作成 (radius):120」を作成します。
「回転」の下に、「移動」「回転」「変更」の順でアタッチし、星を螺旋状に配置していきます。
移動「X:radius * sin 30 * i Y:radius * Cos 30 * i Z:i * 2.1」
回転「回転の中心:軸z 増分単位:-30 * i」
「変更(radius) 増分単位:-1.3」
今回は、応用的なTinkercadのコードブロック(Codeblocks)の使い方について解説をしました。
多様なブロックの組み合わせに加えて、変数や計算を行うことで、様々な3Dモデリングを行うことが可能です。

情報科学芸術大学院大学(IAMAS) メディア表現研究科 修了。
東京藝術大学 立体工房講師 / IAMAS プロジェクト研究補助員 / 株式会社コウワ企画 取締役 / 名古屋学芸大学 非常勤講師 / 名古屋造形大学 非常勤講師
Web: https://taikiyuzawa.com/