【技术实现步骤摘要】
一种实现720
°
旋转的全景3D拼图游戏的方法
[0001]本专利技术涉及图像处理
,尤其涉及一种实现720
°
旋转的全景3D拼图游戏的方法。
技术介绍
[0002]传统的3D拼图游戏方法的具体实现方法是将三维坐标系的某一个轴固定后,用户进行旋转拼装且当用户旋转到程序指定角度后再拖拽拼图碎片进行拼接。原理为:在Three.js中,用户旋转模型时达到的视觉效果转换其实是程序改变相机的坐标来实现,设定固定的2个及以上的相机坐标,当当前相机坐标处于固定的坐标范围内时,将相机坐标校正至坐标差值最小的那个指定值;用户再次拖动旋转时,旋转角度大于设定的旋转阈值时,校正至下一个相机坐标,反之则坐标回调校正。
[0003]传统方法的缺陷或不足:由于将三维坐标系的其中一个轴固定,例如固定Z轴,当Z轴固定后整个坐标系此时只能以Z轴的延长线为中心轴进行横向(水平)旋转,如图1所示,其旋转角度只有360
°
,从用户感官上来说,此时的模型检视效果更偏向于有立体感的二维图片;用户操作时,当用户旋转到程序指定角度才可进行拼接操作,对用户的游戏自由度限制较大且无法完整检视模型。
技术实现思路
[0004]为了解决现有技术中3D拼图游戏玩法设计上的不足,本专利技术提出一种实现720
°
旋转的全景3D拼图游戏的方法。
[0005]一种实现720
°
旋转的全景3D拼图游戏的方法,包括以下步骤:
[0006]S1、模型构建 ...
【技术保护点】
【技术特征摘要】
1.一种实现720
°
旋转的全景3D拼图游戏的方法,其特征在于,包括以下步骤:S1、模型构建:将模型主体及碎片参数化,用于设定主模型与子模型之间的位置、渲染优先级的参数关系;S2、基于Three.js的模型渲染方法:将模型渲染过程中所需要配置化参数提取出来写入配置,实现模型动态渲染;S3、基于Three.js的模型自由旋转方法:利用屏幕坐标和Three.js构建的三维坐标在浏览器中的映射关系,计算二维坐标和三维坐标之间的转换关系,并带入Three.js中的Vector3算法将计算得出的二维坐标转换为当前的三维坐标系中的坐标;S4、三个鼠标事件监听:利用touchstart获取初始鼠标点击位置;touchmove实时获取移动过程中的坐标以及坐标转化、模型渲染、正反馈逻辑处理;touchend移动结束后的落点坐标值范围判定以及模型挂载逻辑处理。2.根据权利要求1所述的一种实现720
°
旋转的全景3D拼图游戏的方法,其特征在于,所述步骤S1中的模型包括:模型数组、模型对象、模型文件路径、模型动画路径、模型名称、模型缩略图、碎片数量、相机坐标对象、模型碎片数组、碎片编号、是否展示布尔值、碎片缩略图。3.根据权利要求2所述的一种实现720
°
旋转的全景3D拼图游戏的方法,其特征在于,所述步骤S2包括以下步骤:S21、利用document.getElementById("xxx")获取html容器元素节点,调用THREE.Scene()创建场景;调用THREE.PointLight()为场景添加光源;初始化相机视角位置,将S1中的相机位置配置通过camera.position.set(x,y,z)方法进行视角初始化配置;设置相机视点,通过camera.lookAt(target)初始化视点;S22、利用FBXLoader()方法构建模型:初始化仅渲染模型主体部分,其余模型碎片数据仅读取保存不做渲染;S23、创建render渲染器,持续更新渲染数据。4.根据权利要求3所述的一种实现720
°
旋转的全景3D拼图游戏的方法,其特征在于,所述步骤S22中,包括以下步骤:S221、渲染碎片列表,渲染模型碎片的二维图片;S222、读取S1中的模型对象下的...
【专利技术属性】
技术研发人员:孙华祎,赖启天,
申请(专利权)人:四川天启智源科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。