你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
全文搜索
登录
[]VR的demo有没有加载3D场景的啊,实在不知怎么加
VR的demo有没有加载3D场景的啊,实在不知怎么加,用u3d导出的场景,怎么才能用VR功能?不要实景那个demo
没有找到相关结果
已邀请:
与内容相关的链接
提交
6 个回复
wqf196
赞同来自:
我说的是添加场景啊,不是添加模型,你给的demo是通过添加每一个模型来堆砌成一个场景的,这样太麻烦了,项目中这样做不实际
wqf196
赞同来自:
还有我用已经可以导入的场景模型,按照官方demo的代码加上去,一加载就黑屏,怎么回事呢? 用传统相机可以看得到场景的,用VR就成黑屏了,连天空都看不到, 附件有场景模型文件
Laya3D.init(0, 0,true);
Laya.stage.scaleMode = Laya.Stage.SCALE_FULL;
Laya.stage.screenMode = Laya.Stage.SCREEN_HORIZONTAL;
Laya.Stat.show();
//var scene = Laya.stage.addChild(new Laya.Scene.load("cj02/LastHopeScene.ls"));
var scene = Laya.stage.addChild(new Laya.Scene());
var camera = scene.addChild(new Laya.VRCamera( 0.03,0, 0, 0.1, 100));
camera.transform.translate(new Laya.Vector3(0.3, 0.3, 0.6));
camera.transform.rotate(new Laya.Vector3(-12, 0, 0), true, false);
camera.clearFlag = Laya.BaseCamera.CLEARFLAG_SKY;
camera.addComponent(VRCameraMoveScript);
/*
var camera = (scene.addChild(new Laya.Camera()));
camera.transform.translate(new Laya.Vector3(93, 64, -33));
camera.transform.rotate(new Laya.Vector3(0.05, 155, 0), true, false);
camera.clearColor = null;
camera.clearFlag = Laya.BaseCamera.CLEARFLAG_SKY;
camera.addComponent(CameraMoveScript);
*/
var skyBox = new Laya.SkyBox();
skyBox.textureCube = Laya.TextureCube.load("res/sky/skyCube.ltc");
camera.sky = skyBox;
var sprite3D = scene.addChild(Laya.Sprite3D.load("cj03/LastHopeScene.lh"));
//sprite3D.transform.localScale = new Laya.Vector3(0.2, 0.2, 0.2);
sprite3D.once(Laya.Event.HIERARCHY_LOADED, null, function(sprite) {
//console.log(scene.numChildren+","+sprite._childs.length);
setMeshParams(sprite, Laya.StandardMaterial.RENDERMODE_OPAQUE, new Laya.Vector4(3.5, 3.5, 3.5, 1.0), new Laya.Vector3(0.6823, 0.6549, 0.6352), new Laya.Vector2(25.0, 25.0), "TERRAIN");
//setMeshParams(sprite, Laya.StandardMaterial.BLENDEQUATION_REVERSE_SUBTRACT, new Laya.Vector4(3.5, 3.5, 3.5, 1.0), new Laya.Vector3(0.6823, 0.6549, 0.6352), new Laya.Vector2(25.0, 25.0), "TERRAIN");
});
function setMeshParams(spirit3D, renderMode, albedo, ambientColor, uvScale, shaderName) {
if (spirit3D instanceof Laya.MeshSprite3D) {
var meshSprite = spirit3D;
var mesh = meshSprite.meshFilter.sharedMesh;
if (mesh) {
//可采用预加载资源方式,避免异步加载资源问题,则无需注册事件。
for (var i = 0; i < meshSprite.meshRender.sharedMaterials.length; i++) {
var mat = meshSprite.meshRender.sharedMaterials[i];
var transformUV = new Laya.TransformUV();
transformUV.tiling = uvScale;
(shaderName) && (mat.setShaderName(shaderName));
mat.transformUV = transformUV;
mat.ambientColor = ambientColor;
mat.albedo = albedo;
mat.renderMode = renderMode;
}
}
}
for (var i = 0; i < spirit3D._childs.length; i++){
setMeshParams(spirit3D._childs[i], renderMode, albedo, ambientColor, uvScale, shaderName);
}
}
cj03.rar
wqf196
赞同来自:
我单独使用一个模型又是可以的
183*****755
赞同来自:
laya中,3d跟vr的唯一区别就是使用相机的区别,3d使用camera,vr使用vrcamera。
vr模式建议用移动端浏览,如果给vr相机添加了VRCameraMoveScript组件,会使用移动端的陀螺仪功能,pc不支持。
wqf196
赞同来自:
不是这么回事,肯定是引擎代码逻辑出错了,同样的一个场景,一个有显示,一个黑屏,注意是黑屏,不是所谓的镜头视觉问题,用手机跟电脑试都一个结果,场景文件我都已经发上来了的
183*****755
赞同来自:
我这边测试了你的资源,完全没有问题。这样,先确定是引擎的问题还是镜头的问题,你先把相机切换到正常的3d相机,运行,看程序是否报错。在3d情况下调试如果没有问题,再切换至vr相机。
要回复问题请先
登录
发起人
wqf196
相关问题
2.0一不小心删了bin目录下的某个场景json文件。。竟然无法自动生成了?
Layabox 2.0 bate5 运行编译之后 bundle.js 文件里面没有使用命名空间类文件的定义!导致运行时 找不到类的定义!这是为什么? 已上传 Demo 附件
加载到舞台的3D模型不显示贴图
Unity场景使用Laya导出插件导出,总是提示LayaAir3D UnityPlugin: unknown Shader Please use LayaAir3D shader
2.2.0beta4 发布微信小游戏,安卓设备加载场景黑屏
laya2的Scene默认是文件模式,不会生成场景类了,此时该如何获得场景内的元素
laya2.0加载3d场景报错Uncaught TypeError: Cannot read property 'btCollisionObject' of undefined
IDE1.7.8 json图集加载问题
请问下加载TFF字体要怎么加载呢?
从unity导出的场景透贴和模型烘焙的灯光不显示,请问有知道是什么原因的吗?~~~~~~~~~~~~~
laya怎么跨域加载图片
问题状态
最新活动:
2017-07-13 16:40
浏览:
1882
关注:
3
人
商务合作
6 个回复
wqf196
赞同来自:
wqf196
赞同来自:
Laya3D.init(0, 0,true);
Laya.stage.scaleMode = Laya.Stage.SCALE_FULL;
Laya.stage.screenMode = Laya.Stage.SCREEN_HORIZONTAL;
Laya.Stat.show();
//var scene = Laya.stage.addChild(new Laya.Scene.load("cj02/LastHopeScene.ls"));
var scene = Laya.stage.addChild(new Laya.Scene());
var camera = scene.addChild(new Laya.VRCamera( 0.03,0, 0, 0.1, 100));
camera.transform.translate(new Laya.Vector3(0.3, 0.3, 0.6));
camera.transform.rotate(new Laya.Vector3(-12, 0, 0), true, false);
camera.clearFlag = Laya.BaseCamera.CLEARFLAG_SKY;
camera.addComponent(VRCameraMoveScript);
/*
var camera = (scene.addChild(new Laya.Camera()));
camera.transform.translate(new Laya.Vector3(93, 64, -33));
camera.transform.rotate(new Laya.Vector3(0.05, 155, 0), true, false);
camera.clearColor = null;
camera.clearFlag = Laya.BaseCamera.CLEARFLAG_SKY;
camera.addComponent(CameraMoveScript);
*/
var skyBox = new Laya.SkyBox();
skyBox.textureCube = Laya.TextureCube.load("res/sky/skyCube.ltc");
camera.sky = skyBox;
var sprite3D = scene.addChild(Laya.Sprite3D.load("cj03/LastHopeScene.lh"));
//sprite3D.transform.localScale = new Laya.Vector3(0.2, 0.2, 0.2);
sprite3D.once(Laya.Event.HIERARCHY_LOADED, null, function(sprite) {
//console.log(scene.numChildren+","+sprite._childs.length);
setMeshParams(sprite, Laya.StandardMaterial.RENDERMODE_OPAQUE, new Laya.Vector4(3.5, 3.5, 3.5, 1.0), new Laya.Vector3(0.6823, 0.6549, 0.6352), new Laya.Vector2(25.0, 25.0), "TERRAIN");
//setMeshParams(sprite, Laya.StandardMaterial.BLENDEQUATION_REVERSE_SUBTRACT, new Laya.Vector4(3.5, 3.5, 3.5, 1.0), new Laya.Vector3(0.6823, 0.6549, 0.6352), new Laya.Vector2(25.0, 25.0), "TERRAIN");
});
function setMeshParams(spirit3D, renderMode, albedo, ambientColor, uvScale, shaderName) {
if (spirit3D instanceof Laya.MeshSprite3D) {
var meshSprite = spirit3D;
var mesh = meshSprite.meshFilter.sharedMesh;
if (mesh) {
//可采用预加载资源方式,避免异步加载资源问题,则无需注册事件。
for (var i = 0; i < meshSprite.meshRender.sharedMaterials.length; i++) {
var mat = meshSprite.meshRender.sharedMaterials[i];
var transformUV = new Laya.TransformUV();
transformUV.tiling = uvScale;
(shaderName) && (mat.setShaderName(shaderName));
mat.transformUV = transformUV;
mat.ambientColor = ambientColor;
mat.albedo = albedo;
mat.renderMode = renderMode;
}
}
}
for (var i = 0; i < spirit3D._childs.length; i++){
setMeshParams(spirit3D._childs[i], renderMode, albedo, ambientColor, uvScale, shaderName);
}
}
wqf196
赞同来自:
183*****755
赞同来自:
vr模式建议用移动端浏览,如果给vr相机添加了VRCameraMoveScript组件,会使用移动端的陀螺仪功能,pc不支持。
wqf196
赞同来自:
183*****755
赞同来自: