アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

PHPで簡単に3D画像作成!

最近、特に何もしてないのにやたら日焼けしているらしい中川です。

PHPで3D画像を簡単に作成することができるライブラリ
PEAR::Image_3D」を紹介します。
3D画像をつくるとなるといろいろと面倒だったりするものですが、
このライブラリを使えば比較的簡単に3D画像を作成することができます。

現在、「PEAR::Image_3D」はver0.4.0のalpha版で提供されています。
マニュアルがなかったり、動作に不安がありますが、
サンプルファイルがたくさんあるので、よく動作確認してから利用してください。

インストールはpearコマンドで行えます。
PHPはGDを使えるようにしておいてください。)



# pear install Image_3D-alpha


それでは早速、サンプルをちょっと編集したもので動作を確認してみましょう。



<?php
set_time_limit(0);
require_once('Image/3D.php');

$world = new Image_3D();
$world->setColor(new Image_3D_Color(255, 255, 255));

$light = $world->createLight('Light', array(-400, -50, -100));
$light->setColor(new Image_3D_Color(255, 255, 255));

$text = $world->createObject('text', 'PHPpro-TIPS');
$text->setColor(new Image_3D_Color(0, 200, 255));
$text->transform($world->createMatrix('Rotation', array(0, 40, 0)));
$text->transform($world->createMatrix('Move', array(-30, 0, 0)));
$text->transform($world->createMatrix('Scale', array(3, 3, 3)));

$world->setOption(Image_3D::IMAGE_3D_OPTION_BF_CULLING, false);
$world->setOption(Image_3D::IMAGE_3D_OPTION_FILLED, true);

$world->createRenderer('perspectively');
$world->createDriver('GD');

$filename = "phppro.png";
$world->render(300, 50, $filename);

header("Content-Type: image/png");
readfile($filename);
exit;
?>




このように、簡単に3D画像を作ることができます。
他にも、サンプルには次のような画像を作成するスクリプトがあります。



まだマニュアルはそろっていないみたいようなので、
サンプルコードを見たり、実際のソースコードを確認しながら使ってみて下さい。
PHPで3D画像が作成できるということで、中々、便利なライブラリではないでしょうか。