質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

3833閲覧

Unityのアニメーションカーブについて

shilo

総合スコア16

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2017/06/13 17:26

###前提・実現したいこと
Unityのアニメーションカーブはエルミート曲線を使って曲線を描いていると思うのですが、
角度だけでどうやってベクトルを設定しているのでしょうか。
それとも、そもそもアニメーションカーブはエルミート曲線を使っていないのでしょうか。
回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

考え方自体は方向と長さが決まればベクトルを特定できるので、Bongoさんの回答にある通りと思います。

UnityのQ&Aページ:What is the math behind AnimationCurve.Evaluate?をみると、Unityは具体的な曲線補完のアルゴリズムやパラメーターを公開しているわけではなさそうです。回答にはKeyframeの属性(outTangent, inTangentなど)から曲線補完の制御点の関係(の回答者さんによる推定)が書かれていますね。AnimationCurve.Evaluateの結果と一致することを回答者さん達が確認済みのようなので関係式はそこにあるとおりなのでしょう。

そもそもアニメーションカーブはエルミート曲線を使っていないのでしょうか。

エルミート曲線の接戦ベクトルを1/3にしたものがベジエ曲線の制御点と一致する(※)ようなのでエルミート曲線といってもベジエ曲線といってもどちらでもいいような気はします。ただUnityのKeyframe属性との関係をみるとエルミート曲線といったほうが自然な気がします。上記ページの回答もそういう雰囲気に見えました。

※: きちんとした数式を調べたわけではなく、実際に描画してみたらそうなったというだけの話です...

投稿2017/06/13 22:45

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Bongo

2017/06/13 22:59

ご提示のサイトを拝見するに、Unityもエルミート補間をやっている様子ですね。もしUnityの動きをプログラム上で再現したい場合には役立ちそうです。情報ありがとうございます。
KSwordOfHaste

2017/06/13 23:28

> Unityの動きをプログラム上で再現したい場合には そうですね。 Unity上だとEvaluateを使えば補完結果が求められるので、計算の詳細を知る必要はないのでしょうね。
shilo

2017/06/14 02:02

回答ありがとうございました。 まだ、しっかりと自分の求めている処理が出来たか確認したわけではありませんが、 滑らかな曲線を描くことはできました。 ありがとうございました。
guest

0

「角度だけでどうやってベクトルを設定して」というのは、端点の接線ハンドルの角度からどうやって端点のエルミート補間の傾き制約を求めるのか...ということでしょうか?それでしたら単純に角度のタンジェントが傾きになる(画面上では横軸が時刻、縦軸がプロパティの値なので、接線ハンドルの座標を適切に換算する必要はあるでしょうが)、ということかと思いますが、ご質問の意図するところはそれとは違いますでしょうか?

投稿2017/06/13 19:50

編集2017/06/13 20:11
Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shilo

2017/06/14 02:01

回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問