icon
Let's create! WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

【javascriptライブラリ】p5.jsを使った、四角い3Dモデルがくるくる回るMVの作り方

更新: 2024/08/09 2391文字

今回は、とあるjavascriptライブラリを使って、webサイトでよくある『四角い3Dモデルがくるくる回るMV』を作ってみたいと思います。ITサービスとか、サイバーな感じの雰囲気が合うかもしれません。さっそく内容を確認していきましょう。

p5.jsとは?CDNからロードできる?

公式のセールスポイントをサクッと訳した感じだと『コーディングやアート作成を学ぶためのフレンドリー・無料・オープンソースのJavaScriptライブラリ』とのことです。公式ドキュメント内にはエディターが準備されていて、環境構築しなくてもサクッと動作確認できるなどのポイントも。

管理人がちょっと使った感じだと、『3Dグラフィック系の表現に強い』という印象がありましたが、サンプルスクリプト内にはサウンド関連の機能もあり、使いこむといろいろなことができるライブラリといえそうです。

ダウンロードして使うほか、各種バージョンが上がっているcdnjsから読み込んで使うこともできます。

p5.jsを使った、四角い3Dモデルがくるくる回るコード

html/javascript部分

まずはHTML部分です。canvas_wrapというidでcanvasのラッパー要素を作りました。これがスクリプト内で3Dモデル表示部分の親要素になります。

■HTML部分
<div id=”canvas_wrap”></div>

javascript部分はfooter下に書きました。setup部分ではcanvasの作成とid指定して親要素セット。drawが3Dモデルを書く部分です。

■javascript部分
<script src=”cdnのurl”></script>
<script>
function setup() {
 var canvas = createCanvas(710, 200, WEBGL);
 canvas.parent('canvas_wrap');
}
function draw() {
  background(250,127,192);
  translate(200, 0, 0);
  //normalMaterial();
  rotateZ(frameCount * 0.005);
  rotateX(frameCount * 0.005);
  rotateY(frameCount * 0.005);
  box(128, 128, 128);
}
</script>

とりあえずは、この指定で動かしてみましょうか。その他、以下かんたんなパラメータの解説です。

function drawのパラメータ

background 背景色。上記はRGBで指定。カットすれば背景無し。
translate cssと似たような感じ。要素の配置。
normalMaterial 今回はコメントアウトした。onだと色付きのボックスが出る。
rotateZ Z軸の回転。frameCount * 0.005は回転速度。
rotateX X軸の回転。回転速度は上記と同じ
rotateY Y軸の回転。回転速度は上記と同じ
box 立方体にするときは全部同じ値。どれかが0だと平面になる。

表示例

ではさっそく、表示を確認してみましょうか。 ラッパーの要素にopacity: 0.5とマイナスのmarginを当ててMVに重ねたところ、こんな感じに。あと画像だとわかりませんが、くるくる回っています。

mp4の動画で見るとこんな感じ。

サイズ圧縮したため荒いんですけど、アニメーションの様子は確認できると思います。ブラウザで見てみたい場合は、以下のurlからご覧ください。

あとがき・まとめ

  • p5.jsで四角い3Dモデルがくるくる回るような要素を作ることができる
  • idを指定した親要素を当てることにより、任意の場所で表示することができる
  • パラメータで立体にしたり、回転速度や座標、背景有無なども調整できる

まとめると、こんなところでしょうか。管理人の場合はCMSやフォームなどを組み込むシステム的な案件が多いので、使う機会はあんまりなさそうなんですけど(笑)、自社開発のサイトとかでつかうかもしれません。


【カテゴリ】- javascript/jQuery、その他
【タグ】-

関連記事