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

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

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

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

4649閲覧

ベジェ曲線を利用したオブジェクトの移動

GOTOken

総合スコア54

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/08/19 09:26

曲線の実装

c#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class test : MonoBehaviour { 6 7 public float speed; 8 9 public Vector3 p0;//開始点 10 public Vector3 p1;//制御点1 11 public Vector3 p2;//制御点2 12 public Vector3 p3;//終了点 13 14 private float t = 0f; 15 private Utils.Bezier myBezier; 16 17 18 void Start() 19 { 20 myBezier = new Utils.Bezier(p0, p1, p2, p3); 21 } 22 23 void Update() 24 { 25 Vector3 vec = myBezier.GetPointAtTime(t); 26 transform.position = vec ; 27 28 t += 0.001f; 29 if (t > 3f) 30 t = 0f; 31 } 32} 33

設定画面とうまくいかなかったこと

イメージ説明
このように数値を入力し、ぐるっと行って帰ってくる。というような運動をさせようとしたのですが、数値とおりの場所に移動しませんでした。(Speedは使用としたのですが、違った動きだったので変数のみです。)
また、終了点に達した後加速するようにしていったのですが、これには原因があるのでしょうか・・・?
参考サイト

ベジェ曲線にそってオブジェクトを動かす

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

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

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

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

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

guest

回答1

0

ベストアンサー

ぐるっと行って帰ってくる。

円運動をさせたいという意味ならこの数値では無理です(そもそも4次ベジェ曲線で円が描けるのか私もよく分かってないですが)。

数値とおりの場所に移動しませんでした。

また、指定した座標に移動する訳ではないので数値通りの場所に移動しないのは当然ではないかと。
(参考サイトの更に先にある「sigbus.info: 中学生でもわかるベジェ曲線」を見ると分かりやすいです)

終了点に達した後加速するようにしていった

このメソッドにおいてtは「始点=0、終点=1」となるはずなので、それ以上の値が入ったら計算がおかしくなるのも当然かと思います。

投稿2018/08/20 06:37

sakura_hana

総合スコア11427

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問