[過去ログ]
【ゲームエンジン】Unityなんでも質問スレpart12 (1002レス)
【ゲームエンジン】Unityなんでも質問スレpart12 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
927: 名前は開発中のものです。 [sage] 2024/01/03(水) 18:10:46.87 ID:4/tKONAL プレイヤーに追従するカメラのスクリプトについて質問したいのですが、 追従する、且つプレイヤーを中心に回転させるスクリプトを組みたいです。 using UnityEngine; public class FollowPlayerCamera : MonoBehaviour { public Transform playerTransform; public float distance = 5f; public float rotationSpeed = 3f; void Update() { // カメラの位置をプレイヤーの位置に追従 transform.position = playerTransform.position - playerTransform.forward * distance; // 矢印キーで回転 float horizontalInput = Input.GetAxis("Horizontal"); if (horizontalInput != 0f) { // プレイヤーを中心に回転 transform.RotateAround(playerTransform.position, Vector3.up, rotationSpeed * horizontalInput * Time.deltaTime); } } } chatGPTに考えて貰いましたがこれだとカメラの位置が常にプレイヤーの位置+フォワードになりますよね?回転させても位置が変更されないので思った通りになりません… さらに前述ありませんがカメラとプレイヤーの距離も変更できるようなスクリプトを組みたいので、位置が固定されると困ります どうすればいいでしょうか?アドバイス願います。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/927
929: 名前は開発中のものです。 [] 2024/01/03(水) 18:49:10.35 ID:Msagi+8p >>927 そのコードは間違ってる 俺なら transform.position = playerTransform.position - playerTransform.forward * distance; を Vector3 vec=transform.position-playerTransform.position; vec.y=0; vec=vec.nomalize*維持したいxz面での距離; vec.y=維持したい高さ; transform.position=playerTransform.position+vec; に変える http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/929
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.034s