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

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

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

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

Unity

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

Q&A

解決済

1回答

1199閲覧

transform.positionでの速度設定

to_shi_0607

総合スコア26

C#

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

Unity

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

0グッド

0クリップ

投稿2021/10/07 00:10

下記のスクリプトでキーを押したときにある位置からある位置に移動をさせたいのですが、その時の移動スピードを調整したいです。
下記だとキーを押すだけで瞬間的に移動してしまいます。
よろしくお願いいたします。

コード using System.Collections; using System.Collections.Generic; using UnityEngine; public class lefthand : MonoBehaviour { // Start is called before the first frame update void Start() { this.transform.position = new Vector3(-6, -5, -20); } // Update is called once per frame void Update() { if (Input.GetKey(KeyCode.C)) { this.transform.position = new Vector3(-3.0f, -16.5f, -0.7f); } } }

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

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

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

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

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

guest

回答1

0

ベストアンサー

オブジェクトを移動させる方法として色々ありますが、transform.translateが比較的一般的です。
キーを押し目的地を決めてその後一定スピードでそこに移動させたいなら以下のような方法があります。

  1. 目的地の座標と現在の座標の差分をとり、何フレームで移動したいかを決めて、1フレーム当たりの移動量を算出し、transform.translateで規定のフレーム数だけ移動させる

  2. 移動量をあらかじめ決めておき、目的地の座標と現在の座標からベクトルを求め、1フレーム当たりのx,y,z座標の移動量を算出し、transform.translateで移動させ、目的地の一定範囲に到着したら移動を止める

他にも、transform.positionを使うならMoveTowardsを使用すると以下のような記述で一定速度で目的地まで進みます。

transform.position = Vector3.MoveTowards(transform.position, targetPosition, Time.deltaTime);

投稿2021/10/07 03:53

編集2021/10/07 04:14
YOshim

総合スコア1085

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

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

to_shi_0607

2021/10/07 08:09

キーを1回押しただけで、ある位置からある位置に移動をさせたいですが、上記の方法で可能でしょうか?
YOshim

2021/10/07 08:37

bool canMove = fale;と宣言しておきキーを押したらtrue、目的地についたらfalseとする、canMoveがtrueの場合にのみ目的地に移動する、としておけば可能です。
to_shi_0607

2021/10/07 09:35

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問