質問編集履歴
1
コードの説明の追加、検証の結果の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,10 +1,15 @@
|
|
1
|
+
#概要
|
1
2
|
UnityでcharacterControllerを使ってFPSのコントローラーを今作っているのですが、ウォールラン中に壁がない方向に飛ぶウォールジャンプの機能がうまくできません。
|
3
|
+
#コードの説明
|
2
|
-
|
4
|
+
Raycastで左か右かにウォールランできる壁があるかどうかを検知、壁が右にある状態でDキー(右移動キー)を押すまたは、壁が左にある状態でAキー(左移動キー)を押すウォールラン開始でウォールラン中は重力を与えないようにしておきます。
|
3
|
-
|
5
|
+
その状態でスペースキーを押すと加速度用のvector3のvelocityに値を壁のない方のX方向上のY方向に入れそしてvelocityはMove関数(コードの真ん中らへん)でTime.deltatimeをかけてCharacterControlle.Moveで動かすのですが実際ジャンプしてもX方向にしか動きません。
|
4
|
-
加速度を使うとうまくいかないのですか?
|
5
6
|
|
6
|
-
### 今のコード
|
7
7
|
|
8
|
+
#検証してことについて
|
9
|
+
別のスクリプトでDキーを押したら横にCharacterControllerで動く、スペースキーをおしたら上に同じような方法でジャンプする、同じ方法で重力も与えるこの機能のスクリプトをゲームオブジェクトのカプセルにつけてキャラクターコントローラーもつけるこの状態でDを押して移動先にキューブを置いてぶつけるキューブにぶつけてDを押し続けてジャンプすると全く動きません壁キックできないのはこれと一緒の原因何のかなと思いますどう解決したらいいでしょうか?
|
10
|
+
|
11
|
+
# 今のコード
|
12
|
+
|
8
13
|
```c#
|
9
14
|
using System.Collections;
|
10
15
|
using System.Collections.Generic;
|