From a8b6e3eba899a24e1c251cd47c7f5617444cee74 Mon Sep 17 00:00:00 2001 From: yuanjiajia <1139393632@qq.com> Date: Mon, 21 Mar 2022 09:16:38 +0800 Subject: [PATCH] =?UTF-8?q?scene=E7=B1=BB=E6=96=87=E4=BB=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=BA=86=E6=B3=A8=E5=86=8C=E7=9B=B8=E6=9C=BA=E7=9A=84?= =?UTF-8?q?=E5=87=BD=E6=95=B0=EF=BC=8CCamera=E3=80=81MaterialsBase?= =?UTF-8?q?=E7=B1=BB=E7=BA=A0=E6=AD=A3=E5=8D=95=E8=AF=8D=E6=8B=BC=E5=86=99?= =?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=8CprintScene=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E4=B8=80=E4=B8=AA=E9=80=8F=E8=A7=86=E7=9B=B8?= =?UTF-8?q?=E6=9C=BA=EF=BC=8C=E5=85=B6=E4=BB=96=E7=B1=BB=E6=9C=89=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=83=A8=E5=88=86=E6=B3=A8=E9=87=8A=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/printScene.php | 6 +++++- src/scene/Scene.php | 14 ++++++++++---- src/scene/camera/Perspective.php | 2 +- src/scene/materials/MaterialsBase.php | 2 +- src/scene/world/WorldDefault.php | 2 +- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/examples/printScene.php b/examples/printScene.php index 84a7889..542b251 100644 --- a/examples/printScene.php +++ b/examples/printScene.php @@ -71,12 +71,16 @@ $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; diff --git a/src/scene/Scene.php b/src/scene/Scene.php index 0e0d520..9f8bf92 100644 --- a/src/scene/Scene.php +++ b/src/scene/Scene.php @@ -116,13 +116,19 @@ class Scene extends BaseCfg */ public function registerCamera(&$camera) { - $id = $camera->type.'_'.sprintf("%014d",$camera->id); - $camera->registerId = $id; - $this->cameras[$id] = $camera; + $this->cameras = []; + foreach( get_object_vars($camera) as $key => $value ) + { + if($value != null) + { + $key = implode(".", array_map('strtolower', StringHelper::camelStrToArray($key))); + $this->cameras[$key] = $value; + } + } } /** - * @param object $camera 接收一个相机类对象,为其颁发一个注册信息,并将其存到Scene + * @param object $camera 接收一个World类对象,为其颁发一个注册信息,并将其存到Scene */ public function registerWorld(&$world) { diff --git a/src/scene/camera/Perspective.php b/src/scene/camera/Perspective.php index f619920..42e9dab 100644 --- a/src/scene/camera/Perspective.php +++ b/src/scene/camera/Perspective.php @@ -3,7 +3,7 @@ namespace Blobt\Luxcore\scene\camera; use Blobt\Luxcore\core\Base; -class Perspective extends Camerabase +class Perspective extends CameraBase { /** diff --git a/src/scene/materials/MaterialsBase.php b/src/scene/materials/MaterialsBase.php index c74466c..6dafa4c 100644 --- a/src/scene/materials/MaterialsBase.php +++ b/src/scene/materials/MaterialsBase.php @@ -2,7 +2,7 @@ namespace Blobt\Luxcore\scene\materials; use Blobt\Luxcore\scene\BaseCfg; -use Blobt\Luxcore\scene\ligths\Visibility; +use Blobt\Luxcore\scene\lights\Visibility; use Blobt\Luxcore\scene\lights\Emission; diff --git a/src/scene/world/WorldDefault.php b/src/scene/world/WorldDefault.php index 77343ea..caf24cc 100644 --- a/src/scene/world/WorldDefault.php +++ b/src/scene/world/WorldDefault.php @@ -6,7 +6,7 @@ class WorldDefault { /** - * @var object 一个体积对象 + * @var object 一个体积对象(体积效果数组的某个键名) */ public $volumeDefault;