3D模型渲染
所有文档

          AR开放平台

          3D模型渲染

          目前引擎在3D方面支持POD类型及GLTF类型的模型渲染。

          3D模型制作规范

          3D模型制作请严格遵守下方提供的 BAR技术3D模型制作规范套装 制作。

          模型子节点的获取

          • 目前想要拿到场景文件中配置的模型节点,仅仅需要知道模型节点的名称,通过scene.nodeName 即可获取到当前节点。
          • 如果要获取模型的子节点并对齐做操作,需要通过模型工具 (例如PVRShaman工具) 查看模型下子节点名称 (subNodeName),通过调用scene.nodeName_subNodeName对子节点进行操作。

           -- simple_scene.json文件
          
          {
              "name": "bear",
              "type": "pod",
              "visible": 1,
              "touchable": 1,
              "meshFileName": "res/model/bear.pod",
              "material": {
                  "common": {
                      "texturePath":"res/texture/",
                      "disableLightEffect":0
                  }
              },
              "position": "0,300,0",
              "scale": "0.3,0.3,0.3",
              "rotation": "0,0,0",
              "chirlden": [],
              "podSuppl": {
                  "allSubnodeTouchable":1
              }
          }
          //default.lua中需要配置
          
          	anim = scene.bear : pod_anim()
          					 :anim_repeat(false)
          					 :on_complete(function() 
          					 	ARLOG('pod anim done')
          					 end)
          					 :anim_repeat(true)
          					 :start()

          模型动画

          3D模型渲染中,如果仅在simple_scene.json文件中配置模型节点,并设置"visible" : 1,lua文件中未调用模型动画逻辑代码,即只会显示模型,不会执行模型的骨骼动画。

          -- 3D渲染(无动画pod模型)  json 中节点配置
          {
              "name": "bear",
              "type": "pod",
              "visible": 1,
              "touchable": 1,
              "meshFileName": "res/model/bear.pod",
              "material": {
                  "common": {
                      "texturePath":"res/texture/",
                      "disableLightEffect":0
                  }
              },
              "position": "0,300,0",
              "scale": "0.3,0.3,0.3",
              "rotation": "0,0,0",
              "chirlden": [],
              "podSuppl": {
                  "allSubnodeTouchable":1
              }
          }

          anim

          如果需要模型播放骨骼动画,需要在Lua中调用对应的API,如下代码播放接口才能显示。

          -- 视频  除json中节点默认配置项外,lua中需要添加的方法
          
          anim = scene.bear:pod_anim()
          				 :anim_repeat(false)
          				 :on_complete(function() 
          				 	ARLOG('pod anim done')
          				 end)
          				 :anim_repeat(true)
          				 :start()
          上一篇
          2D材质渲染
          下一篇
          灯光