[LayaAir 2.0]请问2.0中js怎么加天空盒子或穹顶,官网例子运行报错。

//=======天空盒子
var scene = Laya.stage.addChild(new Laya.Scene3D()); //添加3D场景
var camera = (scene.addChild(new Laya.Camera(0, 0.1, 100)));//添加照相机
camera.transform.translate(new Laya.Vector3(0, 3, 3));
camera.transform.rotate(new Laya.Vector3(-30, 0, 0), true, false);
camera.addComponent(CameraMoveScript);
camera.clearFlag = Laya.BaseCamera.CLEARFLAG_SKY;
//camera.clearColor =null;
//天空盒
var skyBox = new Laya.SkyBox();
camera.sky = skyBox;
skyBox.textureCube = Laya.TextureCube.load("res/skyBox1/skyCube.ltc");

//=======运行结果,加载就报错
libs/laya.d3.js:14313 Uncaught TypeError: Cannot read property 'charAt' of undefined
at Function.Laya3D.formatRelativePath (libs/laya.d3.js:14313)
at Loader.Laya3D._onTextureCubeLtcLoaded (libs/laya.d3.js:14656)
at EventHandler.__proto.runWith (libs/laya.core.js:1400)
at Loader.__proto.event (libs/laya.core.js:1156)
at Loader.__proto.complete (libs/laya.core.js:16348)
at Loader.__proto.onLoaded (libs/laya.core.js:16316)
at EventHandler.__proto.runWith (libs/laya.core.js:1399)
at HttpRequest.__proto.event (libs/laya.core.js:1156)
at HttpRequest.__proto.complete (libs/laya.core.js:14101)
at HttpRequest.__proto._onLoad (libs/laya.core.js:14065)
//=======穹顶
var scene = Laya.stage.addChild(new Laya.Scene3D()); //添加3D场景
var camera = (scene.addChild(new Laya.Camera(0, 0.1, 100)));//添加照相机
camera.transform.translate(new Laya.Vector3(0, 3, 3));
camera.transform.rotate(new Laya.Vector3(-30, 0, 0), true, false);
camera.addComponent(CameraMoveScript);
camera.clearFlag = Laya.BaseCamera.CLEARFLAG_SKY;
//穹顶
var skyDome = new Laya.SkyDome();
camera.sky=skyDome;
Laya.BaseMaterial.load("res/env.png", Laya.Handler.create(null, function(mat) {
console.log(camera); //执行到了这里,显示了camera中的sky存在
//camera.sky = mat; //就算这里赋值也没用
}))
========执行的结果就是不报错也没反应 console.log(camera)中看sky属性如下
Camera
clearFlag
:
1
cullingMask
:
2147483647
destroyed
:
false
enableRender
:
true
name
:
"New Sprite3D"
sky
:
SkyDome
_bufferState
:
BufferState
_bindedIndexBuffer
:
IndexBuffer3D
_nativeVertexArrayObject
:
WebGLVertexArrayObjectOES
__proto__
:
BufferStateBase
_indexBuffer
:
IndexBuffer3D
_slices
:
48
_stacks
:
48
_vertexBuffer
:
VertexBuffer3D
slices
:
(...)
stacks
:
(...)
__proto__
:
SkyMesh
useOcclusionCulling
:
true
_$0__events
:
null
_aspectRatio
:
0
_bits
:
150
_boundFrustum
:
BoundFrustum
_canvasHeight
:
750
_canvasWidth
:
1334
_children
:
Array(0)
_components
:
Array(1)
_conchData
:
null
_farPlane
:
100
_fieldOfView
:
60
_id
:
1
_isStatic
:
false
_layer
:
0
_nearPlane
:
0.1
_needProcessCollisions
:
false
_needProcessTriggers
:
false
_normalizedViewport
:
Viewport
_orthographic
:
false
_orthographicVerticalSize
:
10
_parent
:
Scene3D
_projectionMatrix
:
Matrix4x4
_projectionViewMatrix
:
Matrix4x4
_projectionViewMatrixNoTranslateScale
:
Matrix4x4
_renderingOrder
:
0
_scene
:
Scene3D
_shaderValues
:
ShaderData
_transform
:
Transform3D
_useUserProjectionMatrix
:
false
_viewMatrix
:
Matrix4x4
_viewport
:
Viewport
已邀请:

130*****339

赞同来自:

yes, yes, 我也是遇到这个问题.

CGS

赞同来自:

我也遇到这问题,现在能加天空穹吗?

要回复问题请先

商务合作
商务合作