四則演算と呼ばれる演算には、足し算(加算)引き算(減算)掛け算(乗算)割り算(除算)があります。
特に掛け算は、数学で使う記号(x)とは異なり、アスタリスク(*)を使うので注意が必要です。乗算に*を使うのはBLOCKVROCKだけではなく、ほとんどの言語で共通するルールです。
四則演算と呼ばれる演算には、足し算(加算)引き算(減算)掛け算(乗算)割り算(除算)があります。
特に掛け算は、数学で使う記号(x)とは異なり、アスタリスク(*)を使うので注意が必要です。乗算に*を使うのはBLOCKVROCKだけではなく、ほとんどの言語で共通するルールです。
変数を使うのと同じように入力項目を=から書き始めることで、計算式を作ることができます。
「= 1 + 1」のように数値だけで計算もできますし、「= x - 2」のようにあらかじめデータをいれた変数を使った式にすることもできます。
以下のプログラムは、「段数」という名前をつけた変数を使って直方体を階段状に配置しています。
変数には数値やデータに対する名前づけの効果もあります。
10や-4という数字は味気ないですし、プログラムが巨大になってくるとどの数字が何を指しているかわかりにくくなります。
以下のプログラムでは、変数名に「高さ」という名称をつけました。
参照する箇所(大きさのY)でも「= 高さ」にしています。読みやすい名前をつけることでプログラムの意図が一目瞭然となります。*1
実行すると、高さが5の物体が表示されます。
*1:変数名などのプログラムの構成要素に日本語で名前をつけるのは、あまりオススメできません。日本語などのマルチバイト文字に対応していないソフトウェアに連携するときなどに、余計な手間がかかることがおおいからです
BLOCKVROCKで変数(へんすう)を使います。変数はプログラミングのとても基礎的ながら重要な要素です。
プログラムで変数を使うメリットはいくつかあります。
変数には、はじめに変数に値をセットしておいて、変数を使いたい場所で「=変数名」と書きます。
Excelで計算式を書くときみたいですね。
以下のプログラムで、「= z」の箇所は全て変数zに入った値-5が使われます。
このプログラムでは、3つのブロックのz値を変数で設定しているので、変数zの値を-5から−10などにかえると、3つの物体の位置を一気に変更できます。
今回のプログラムは、実行結果だけではあまり面白みがありませんね。
このプログラムは3つのブロックのz(奥行き)の位置を変数zから読み込むようにしています。
BLOCKVROCK入門編
様々な言語で、初めの1歩といえばHelloWorldとコンソールに出すことですが、BLOCKVROCKでもやってみます。
半角英数文字を浮かせるコードです。
位置のX Y Zの感覚が少し迷いがちですね。
X : 横方向、+になるほど右
Y:縦方向、+になるほど上
Z:奥行き、+になるほど手前
半角英数を-1においているのは、カメラよりも少し先に置かないと見えないからです。
Yを2にしているのは、カメラのデフォルトの高さが1.6に設定されているため、目線の位置より少し上に配置しました。
背景は、プリセットのものをいくつか選べます。フォレストが唯一明るい背景ですが、もっと選択肢が欲しいとよく言われます。
勢いに乗って早速の連投をしていきます。
BLOCKVROCKは、入門編の話もできていないのに、いきなり新機能の話をしていきます。
ブログを書くテンションをキープするためです。
円形に配置というブロックは、Aframe-Layout-Componentというコンポーネントを使って、要素を円形に配置してくれます。円の半径を広げたり横に倒したりできるので、カメラを取り囲む物体群などが簡単にできます。
https://www.npmjs.com/package/aframe-layout-component
[公式] 円形に配置 created by BLOCK VROCK
コードは以下のような感じです。向きをxzにすると横に倒すことができます。(x(横)とz(奥)の方向を平面とする)
この例ではループを使って子要素を作っていますが、個別にブロックを配置することもできます。
子要素を追加すると、自動的に円形配置に加えてくれるのがいいところです。
昨年より、BLOCKVROCKというサービスをやっています。
WebVR/ARを、誰でも作れるようにするサービスで、例えば下に載せたようなのが5ステップぐらいで簡単に作れます。
プログラミングに興味のある高校生などを対象に、プログラミングを使って何をするか?を学んでもらうために作りました。
(以下がみられなければ、リンクで飛んでみてください。https://run.blockvrock.com/show_user_contents?user_id=429&project_id=16ea635e56a88)
プログラミングといえば、「HelloWorld」から始めるものですが、それを楽しめる人と楽しめない人がいて、参入障壁の高さはどうしてもあるように思っていました。
BLOCKVROCKの最初のプログラムは、バーンと世界を作ることです。面白いことを簡単にできることで、いろいろやってみたいと好奇心を持ってもらうことが、第1歩になると思ってます。
まずは紹介ということで、記事にしましたがいろいろとチュートリアルや開発中に発見したハックなどを書いていきます。
上記で紹介したプログラムのコードはこれだけ。