Loading
BLOG 開発者ブログ

2022年3月25日

Vue.js×WebGL、VueGLで図形を描画してみよう

 

VueGL

WebGLによって2Dだけでなく3Dでも表現できるようになることで、WEBページを見る人によりリッチな印象を与えることが可能になります。

Vue.jsで3D表現をするためのコンポーネントライブラリであるVueGLを使って、図形を描画していこうと思います。

 

 

目次

 

 

はじめに

こんにちは。クラウドソリューショングループのtakinami.sです。

Vue.jsを使ってWebGLのライブラリを扱えないかなと気になったので、取り組んでみることにしました。

この記事ではVueGLのコンポーネントの解説はせず、一旦描画してみるところまでやってみようと思います。

 

 

環境

動作確認で使用した環境は以下の通りです。

Vue: ver.2.6.14

VueGL: ver.1.0.0

Three.js: ver.0.137.5

 

 

パッケージの導入

VueCLIでプロジェクトを作成し、npmを使ってパッケージをインストールする想定で書いていきます。

DOMの描画はVue.jsで扱い、WebGLはライブラリであるThree.jsで扱うことになりますが、その橋渡しの役割をするのがVueGLです。

そのためVueGLを使った描画を行うにあたって、Vue.js以外にVueGLとThree.jsをインストールする必要があります。

 

 

描画してみよう

App.vue

componentsディレクトリの下にDrawGraphics.vueというファイルを作成し、その中で描画を行っていきたいと思います。

まず、App.vueでDrawGraphics.vueを呼び出せるように設定します。

 

DrawGraphics.vue

では、DrawGraphics.vueでVueGLのコンポーネントを呼び出していきましょう。

今回は試しに四面体を描画してみようと思います。

VueGLの公式ドキュメントを参考に簡単に描画できるようにしてみました。

上記を実行して確認してみましょう。

VueGL四面体

画像のような四面体が描画できていれば、成功です。

 

少し改良して図形の半径を調整できるようにしてみました。

このようにVueGLのオプションに基づいて、ある程度描画した図形を動かすことも可能です。

 

終わりに

WebGLは何となくとっつきにくいイメージがあったのですが、ある程度使い慣れたVue.jsと組み合わせられるVueGLを使うことで簡単に試すことができました。

ただ、コンポーネントを読み込む形になるので、「自分で自由な図形を作って描画したい」といったことは難しいのかなと思いました。

今回使用したVueGLのコンポーネントに関しては、別記事で概要を解説予定です。

 

 

参考文献

VueGL公式ドキュメント