Blender渲染
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

87 lines
3.2 KiB

<?php
namespace Blobt\Luxcore\scene;
include dirname(dirname(__FILE__)) . "/vendor/autoload.php";
$scene = new Scene();
//添加第一个模型
$obj = new objects\Objects( [ 'ply' => 'mesh-10086.ply','appliedtransformation' => '1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1' ] ); //创建一个的模型
$cloudsMap = new texture\procedural\BlenderClouds(); //创建一个 Clouds类的贴图对象
$scene->registerTexture($cloudsMap); //将这个对象注册到 Scene
$imageMap = new texture\procedural\ImageMap(); //创建一个 ImageMap类的贴图对象
$scene->registerTexture($imageMap); //将这个对象注册到 Scene
$blend = new texture\procedural\BlenderBlend(); //创建一个 Blend类的贴图对象
$scene->registerTexture($blend); //将这个对象注册到 Scene
$disney = new materials\Disney(); //创建一个 Disney 材质对象
$disney->setBaseColor($cloudsMap); //为 basecolor 指定一个贴图对象,如果这个对象没有注册到Scene,则 set函数抛出异常,以下同理
$disney->setMetallic($blend);
$disney->setBumptex($imageMap);
$scene->registerMaterial($disney); //将这个对象注册到 Scene
$metal = new materials\Metal(); //创建一个 Disney 材质对象
$metal->setBumptex($cloudsMap);
$scene->registerMaterial($metal); //将这个对象注册到 Scene
$mix = new materials\Mix(); //创建 Mix 材质对象
$mix->setMaterial1($disney); //为材质通道1 指定一个键名
$mix->setMaterial2($metal); //为材质通道2 指定一个键名
$mix->setAmount($blend ); //指定混合系数为 0.6
$scene->registerMaterial($mix); //将这个对象注册到 Scene
$obj->setMaterial($mix) ; //为模型的指定一个混合材质
$scene->registerObjects($obj); //将模型添加到场景中
//添加第二个模型
$obj = new objects\Objects( [ 'ply' => 'mesh-119.ply','appliedtransformation' => '1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1' ] ); //创建一个的模型,
$scene->registerObjects($obj); //将模型添加到场景中
//添加第三个模型
$obj = new objects\Objects( [ 'ply' => 'mesh-119.ply','appliedtransformation' => '1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1' ] ); //创建一个的模型,
$scene->registerObjects($obj); //将模型添加到场景中
//添加第四个模型
$obj = new objects\Objects( [ 'ply' => 'mesh-119.ply','appliedtransformation' => '1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1' ] ); //创建一个的模型,
$ClearVol = new volumes\Clear(); //创建一个 Clear体积效果
$scene->registerVolume($ClearVol); //将体积效果注册到Scene
$colorGlass = new materials\Glass(); //创建一个玻璃材质,
$colorGlass->setVolumeInterior($ClearVol); //将 Clear体积效果赋值到玻璃材质 的 体积属性
$scene->registerMaterial($colorGlass); //将玻璃材质注册到 Scene
$obj->setMaterial($colorGlass); //将玻璃材质赋值到模型的材质属性
$scene->registerObjects($obj); //将模型添加到场景中
//添加一个世界对象
$default = new world\WorldDefault();
$default->setDefaultVolume($ClearVol);
$scene->registerWorld($default);
//添加一个相机
$camera = new camera\Perspective();
$scene->registerCamera($camera);
echo $scene;
?>