回答編集履歴

1

根本的に間違っていたので全面書き直し

2020/05/19 08:16

投稿

sakura_hana
sakura_hana

スコア11427

test CHANGED
@@ -1,30 +1,60 @@
1
- 一応確認ですが、インスペクター上でCamOffset赤ライン引てあるところを操作すると正常に動作しますよね?
1
+ 根本的に間違ってたので全面書き直し
2
2
 
3
3
 
4
4
 
5
- 何故単独だscrollが取れてcamOffsetありだと取れないのかよく分かりませんが、以下のような感じどうでしょうか?
5
+ 元コードをよく見直したころ、camOffsetの変更じゃ確に駄目すね。
6
6
 
7
- (小さ値になってて分かりにくいかもしれないので必要に応じspeedの値も変えてみてください
7
+ `SetTargetOffsets`とうメソッドがあるのでそれを利用してみてください
8
8
 
9
9
 
10
10
 
11
11
  ```C#
12
12
 
13
- void Update()
13
+ public class getcamoffset : MonoBehaviour
14
14
 
15
15
  {
16
16
 
17
- // 先に取得
17
+ private float scroll;
18
18
 
19
- scroll = Input.GetAxis("Mouse ScrollWheel");
19
+ public float speed = 1f;
20
20
 
21
+ public ThirdPersonOrbitCamBasic camBasic; //変更してます。インスペクターからD&Dし直してください
22
+
23
+ Vector3 pivotOffset;
24
+
21
- Debug.Log(scroll);
25
+ Vector3 camOffset;
22
26
 
23
27
 
24
28
 
25
- // 代入ではなく加算する
29
+ void Start()
26
30
 
31
+ {
32
+
33
+ pivotOffset = camBasic.pivotOffset;
34
+
35
+ camOffset = camBasic.camOffset;
36
+
37
+ }
38
+
39
+
40
+
41
+ void Update()
42
+
43
+ {
44
+
45
+ scroll = Input.GetAxis("Mouse ScrollWheel");
46
+
47
+ Debug.Log(scroll);
48
+
49
+
50
+
27
- gameobject.GetComponent<ThirdPersonOrbitCamBasic>().camOffset += Vector3.forward * scroll * speed;
51
+ camOffset += Vector3.forward * scroll * speed;
52
+
53
+
54
+
55
+ camBasic.SetTargetOffsets(pivotOffset, camOffset);
56
+
57
+ }
28
58
 
29
59
  }
30
60