イラスト、モデリング、Unity、VR関連

unityとかblenderとかvr関連の作業メモ

Quaternion.Lerpのエラー

Assertion failed on expression: '!CompareApproximately(aScalar, 0.0F)'
UnityEngine.Quaternion:Lerp(Quaternion, Quaternion, Single)

のようなエラーが出た場合、Quaternionの成分が(0,0,0,0)になってるのが原因っぽい。Lerpする前にチェックして分岐させるなどして回避できる。なお、Quaternionによる==は正常に機能しないっぽいので、

  bool CompareEqualQ(Quaternion x,Quaternion y){
    if(x.x == y.x && x.y == y.y && x.z == y.z && x.w == y.w) return true;
    return false;
  }    

のようにして比較した