_Skeleton

用于骨骼相关的操作,包括创建、修改和渲染等。可以为骨骼添加动画。 全部展开

属性展开

  • + graData : _GraphicsData

    _Skeleton对象的图形相关数据。包括marker,摄像机,光,雾和轨迹。

    • 示例

       local gra = skl.graData
  • + name : string

    _Skeleton对象的逻辑名称。

    • 示例

       skl.name = 'This is a skeleton.'
  • + pfxPlayer : _ParticlePlayer

    _Skeleton对象的_ParticlePlayer

    • 示例

       skl.pfxPlayer:play('abc.pfx')
  • + resname : string

    _Skeleton对象的资源文件名。更改这个属性,_Skeleton对象会使用新资源名重新加载。

    • 示例

       skl.resname = 'skeleton.skl'

构造方法展开

  • + function _Skeleton(resname : string)
    • 参数
    • resname:资源文件名。

    • 示例

       skl= _Skeleton.new('skeleton.skl')

公共方法展开

  • + function addAnima(anima : _Animation / resname : string) : _Animation

    为骨骼添加动画。

    • 参数
    • _Animation对象或者ska资源文件名。若此_Animation对象的loop属性为true,则在播放动画时,若没有其它动画播放时,会自动循环播放此动画。否则会先播放其它动画直到播放完毕。_Skeleton对于其所有loop属性为true的动画,只会播放最近一个开始播放的,其它的自动停止。
    • 返回
    • 添加的此_Animation对象。
      • 示例
    •  skl = _Skeleton.new('girl.skl')
      san = skl:addAnima('san1.san')
  • + function addInfluence(name : string)

    添加影响力。

    • 参数
    • name:新添加的影响力的名称。
  • + function adjustBone(name : string, mat : _Matrix)

    调整骨头的矩阵。

    • 参数
    • name:骨头名。
    • mat:目标矩阵。

    示例

        skl:adjustBone('t', mat)
  • + function adjustRoot(mat : _Matrix3D)

    为root设置矩阵。

    示例

        skl:adjustRoot(mat)
  • + function clearAnimas()

    清空所有骨骼动画。

    示例

        skl = _Skeleton.new('girl.skl')
    skl:addAnima('san1.san').name = 'san1'
    skl:clearAnimas()
  • + function clearInfluence()

    清空影响力。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:clearInfluence()
  • + function delAnima(index : uint / name : string)

    删除骨骼动画。

    • 参数
    • 索引值index或者动画的逻辑名name。
      • 示例
    •  skl = _Skeleton.new('girl.skl')
      skl:addAnima('san1.san').name = 'san1'
      skl:delAnima('san1')
  • + function delInfluence(index : uint / name : string)

    删除影响力。

    • 参数
    • index:influence的索引值。
    • name:influence的逻辑名。
  • + function drawBone(name : string)

    渲染骨头。用从父骨头到子骨头的锥体表示,颜色为黄色。

  • + function drawBoundBox()

    在渲染设备上渲染骨骼的包围盒。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:drawBoundBox()
  • + function drawSkeleton()

    在渲染设备上渲染骨骼。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:drawSkeleton()
  • + function getAnima(index : uint / name : string) : _Animation

    返回骨骼动画。

    • 参数
    • 索引值index或者动画的逻辑名name。
    • 返回
    • _Animation对象。
      • 示例
    •  skl = _Skeleton.new('girl.skl')
      skl:addAnima('san1.san').name = 'san1'
      skl:getAnima('san1')
  • + function getAnimas() : array

    返回所有动画。

    • 返回
    • _Animation对象的数组。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:addAnima('san1.san').name = 'san1'
      skl:getAnimas()
  • + function getBone(index : uint / name : string[, out : _Matrix3D]) : _Matrix3D

    返回骨头的变换矩阵。若有out参数则不构造新的_Matrix3D对象。

    • 参数
    • 索引值index或者骨头的逻辑名name。
    • 返回
    • _Matrix3D对象。对该返回值的操作会被下一次函数调用重置。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:getBone('r')
  • + function getBoneCount()

    获取骨骼的总数。

    • 示例

       skl = _Skeleton.new('girl.skl')
      print(skl:getBoneCount())
  • + function getBones() : array

    返回所有骨头。

    • 返回
    • 骨头名称的数组。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:getBones()
  • + function getBoundBox() : {x1, y1, z1, x2, y2, z2}

    返回skeleton的包围盒。

    • 返回
    • 一个对象。此对象的x1,y1,z1,x2,y2,z2属性来表示包围盒。
  • + function getInfluence(index : uint / name : string) : _Matrix

    返回骨头的影响力。

    • 参数
    • 索引值index或者骨头的逻辑名name。
    • 返回
    • _Matrix对象。

    • 示例

       flag = 1
      skl = _Skeleton.new('girl.skl')
      skl:getInfluence(flag)
  • + function getInfluenceCount()

    获取影响力的个数。

    • 示例

       skl = _Skeleton.new('girl.skl')
      print(skl:getInfluenceCount())
  • + function getInfluences() : array

    返回骨骼中预定义的影响力的名称。

    • 返回
    • 影响力名称的数组。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:getInfluences()
  • + function getInfluenceUsing()

    获取当前使用的影响力的逻辑名。

    • 示例

       skl = _Skeleton.new('girl.skl')
      print(skl:getInfluenceUsing())
  • + function getPlayingAnimas() : array

    返回所有正在播放的动画。

    • 返回
    • _Animation对象的数组。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:addAnima('san1.san').name = 'san1'
      skl:getPlayingAnimas()
  • + function ignoreShake(ig : bool)

    忽略骨骼相关的动画和粒子中的摄像机震动。

  • + function loadInf(resname : string)

    读取名为resname的影响力并使用。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:loadInf('1.inf')
  • + function reset()

    重置骨骼。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:reset()
  • + function resetBone(name : string)

    重置骨头的矩阵。

  • + function resetBones()

    重置所有骨头的矩阵。

    示例

        skl = _Skeleton.new('girl.skl')
    skl:resetBones()
  • + function resetInfluence()

    清除对影响力的使用。

    • 示例

       skl:resetInfluence()
  • + function resetRoot()

    重置root的矩阵。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:resetRoot()
  • + function resetSkeleton()

    清除当前的影响力。

    示例

        skl:resetSkeleton()
  • + function resizeBone(name : string, size : float)

    调整骨头的大小。

    • 参数
    • name:骨头名。
    • size:大小。

    示例

        skl:resizeBone('t', 0.5)
  • + function save(name : string)

    保存当前骨骼。

    • 参数
    • name:新文件名,默认为原文件名。

    示例

        skl:save('newSkeleton.skl')
  • + function saveInf(name : string)

    保存当前影响力。

    • 参数
    • name:文件名。

    示例

        skl:saveInf('1.inf')
  • + function stopAnimas()

    停止所有动画。

    • 示例

       skl = _Skeleton.new('girl.skl')
      skl:addAnima('san1.san').name = 'san1'
      skl:stopAnimas()
  • + function useInfluence(index : uint / name : string)

    使用影响力。

    • 参数
    • index:influence的索引值。
    • name:influence的逻辑名。

    • 示例

       flag = 1
      skl = _Skeleton.new('girl.skl')
      skl:useInfluence(flag)
问题反馈(登录才可以发表哦!)