Blender を使った Web サービス「プロ生ちゃんTシャツジェネレーター」を作ったよ
暮井 慧: こんにちは! 私、暮井 慧。今回は、3DCG アニメーション作成の統合環境アプリ Blender のコマンドラインレンダリングを使って、Web サービスを作ってみたよ!。これは、Blender Advent Calendar 2016 12日目と、プロ生ちゃん Advent Calendar 2016 12日目の投稿だよ。
Web サービス構想
私の 3D モデルデータは、Blender 製で、Tシャツモデルはテクスチャ画像を編集して、簡単にTシャツをデザインできるようになってるんだよね。
というわけで、ユーザーがアップロードした画像をテクスチャ画像に合成して、Blender のレンダリング結果を返す Web サービスを作ってみるよ。
Blender のインストール
Blenderのインストール(Linux) < インストール | Blender入門(2.7版) を参考に Linux サーバーにインストール!
私の環境だと yum install blender でインストールできなかったので、公式バイナリを展開してインストール、必要なライブラリを yum コマンドでインストールしたよ。
コマンドラインでレンダリング
Blender の GUI を起動せずにレンダリングする方法は、Doc:JA/2.6/Manual/Render/Command Line - BlenderWiki をチェック!
静止画のレンダリングは、次のようになるよ。
blender -b pronama-chan.blend -o //out# -F PNG -x 1 -f 1
- -b: GUI を起動せず実行
- -o: 出力パスとファイル名 // は blend ファイルからの相対位置指定。# の部分にフレーム数が入る。
- -F: 画像形式指定
- -x 1: 出力ファイル名に拡張子を付ける
- -f 1: 1フレーム目をレンダリング
Web サービス化!
Blender のインストールと、コマンドラインでの実行方法はわかったから、後はユーザーがアップロードした画像をテクスチャ画像に合成して、Blender を実行、出力ファイルを結果として返すって感じのコードを書いて Web サービスに仕上げよう!
PHP 部分。
https://gist.github.com/kureikei/523a9032f355ea5189586637809d65dc
パスはフェイクで、実際に動いているコードは、不正リクエストチェックも入っているよ。ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita を参考にしたよ。
HTML 部分。
https://gist.github.com/kureikei/62f431ff023f88a267b1e10c516735a3
完成!
サイトのデザインを整えたら、プロ生ちゃんTシャツジェネレーター の完成だよ! いろいろな画像で試してみてね。
Blender ファイルダウンロード
3D モデルのファイルも公開するよ。使うときは、利用ガイドライン を守ってね。
アキバで見かけた萌えキャラコンテスト(12/17 〆切)
AKIBA PC Hotline! の 「アキバで見かけた萌えキャラコンテスト」読者投票 にエントリーされているから、投票して応援してね。
最新記事 by kei (全て見る)
- HSP プログラムコンテスト2024 結果発表&プロ生ちゃん賞発表! #hsp3 - 2024/12/13
- プロ生ちゃんチョコプログラミングコンテスト2024開催! - 2024/02/13
- HSP プログラムコンテスト2023 結果発表&プロ生ちゃん賞発表! #hsp3 - 2023/12/04