質問編集履歴
13
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
プレイヤーによってInstantiateされたオブジェクトをDestroyしたい
|
1
|
+
プレイヤーによってInstantiateされたオブジェクトをDestroyしたい | Photon Bolt
|
test
CHANGED
File without changes
|
12
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
11
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
タイトルの通り、他のプレイヤーによって`BoltNetwork`で生成されたゲームオブジェクト(`BoltEntity`コンポーネント所持)を`BoltNetwork`のDestroyで破壊したい。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
|
6
10
|
|
7
11
|
#####状況
|
8
12
|
|
@@ -27,6 +31,36 @@
|
|
27
31
|
|
28
32
|
|
29
33
|
しかし、プレイヤーA(プレイヤーB)が生成したオブジェクトをプレイヤーB(プレイヤーA)が破壊するとエラーが発生し、正しく実行されません。
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
#####コード
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
引数に渡されたゲームオブジェクトをDestroyするというシンプルなものです。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
```C#
|
48
|
+
|
49
|
+
//ここに渡されるobjはBoltEntityを所持していることを確認しています。
|
50
|
+
|
51
|
+
public void DestroyObject(GameObject obj)
|
52
|
+
|
53
|
+
{
|
54
|
+
|
55
|
+
BoltNetwork.Destroy(obj);
|
56
|
+
|
57
|
+
}
|
58
|
+
|
59
|
+
```
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
30
64
|
|
31
65
|
|
32
66
|
|
10
タイトルの修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
プレイヤーによってInstantiateされたオブジェクトをDestroyしたい
|
1
|
+
プレイヤーによってInstantiateされたオブジェクトをDestroyしたい
|
test
CHANGED
File without changes
|
9
タイトルの編集
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
プレイヤーによってInstantiateされたオブジェクトをDestroyしたい | Photon bolt
|
test
CHANGED
File without changes
|
8
詳細の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,12 +1,74 @@
|
|
1
|
-
|
1
|
+
#根本的にやりたいこと
|
2
|
-
|
3
|
-
「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあり、
|
4
|
-
|
5
|
-
他人が`BoltNetwork.Instantiate()`したオブジェクトを`BoltNetwork.Destroy()`することができません。
|
6
2
|
|
7
3
|
|
8
4
|
|
5
|
+
タイトルの通り、他のプレイヤーによって`BoltNetwork`で生成されたゲームオブジェクト(`BoltEntity`コンポーネント所持)を`BoltNetwork`のDestroyで破壊したい。
|
6
|
+
|
7
|
+
#####状況
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
プレイヤーA(サーバー)とプレイヤーB(クライアント)が同じルームに入っていて、
|
12
|
+
|
13
|
+
ワールド内には破壊可能なオブジェクトがいくつもあります。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
ワールド内のオブジェクトはすべてプレイヤーAによって生成されます。
|
18
|
+
|
9
|
-
|
19
|
+
プレイヤーAもBもオブジェクトを設置することが可能です。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
プレイヤーAが生成したものをプレイヤーAが破壊するのは問題なく実行されます。
|
24
|
+
|
25
|
+
また、プレイヤーBが生成したものはプレイヤーBが破壊できます。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
しかし、プレイヤーA(プレイヤーB)が生成したオブジェクトをプレイヤーB(プレイヤーA)が破壊するとエラーが発生し、正しく実行されません。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
#調べたこと
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
[Entity Ownership | Photon Bolt](https://doc.photonengine.com/en-US/bolt/current/in-depth/entity-ownership)
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
Photon Boltの公式ページを読んでみたところ、「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあります。~~これがこの質問の回答(つまり「この質問は解決不可能だ」)になっているような気もしますが...~~
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
#自分の考え(解決のための策の一つ)
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
僕としては所有権を譲与し合って破壊出来たら楽だな(従来のPhoton Engineだとこれができていた)と思っていたのですが...
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
それができないのでゲームオブジェクトをリストに入れて、**プレイヤーが破壊するオブジェクトのリスト番号を全プレイヤーに送信して、リスト内の同じ番号のオブジェクトを破壊させるやり方**を考えたのですが、
|
54
|
+
|
55
|
+
そもそもListの同じ番号に同じゲームオブジェクトを入れるのは現実的ではないし、
|
56
|
+
|
57
|
+
せっかく`BoltEntity`が存在するのでそれをうまく活用したいなと考えています。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
指定したオブジェクトを破壊するよう、**所有権を所持してるプレイヤーにリクエストする**ことは可能なのでしょうか。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
#発生するエラー
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
`BoltNetwork.Destroy()`を呼び出すタイミングで発生します。
|
10
72
|
|
11
73
|
|
12
74
|
|
@@ -29,13 +91,3 @@
|
|
29
91
|
BoltNetwork:Destroy(GameObject, IProtocolToken)
|
30
92
|
|
31
93
|
BoltNetwork:Destroy(GameObject)
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
他人が作ったオブジェクトを破壊するにはどうすればいいのでしょうか。
|
36
|
-
|
37
|
-
破壊リクエストみたいなものが存在するのでしょうか。
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
[Entity Ownership | Photon Bolt](https://doc.photonengine.com/en-US/bolt/current/in-depth/entity-ownership)
|
7
タイトルの修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
別プレイヤーによって生成されたオブジェクトをDestroy()したい | Photon bolt
|
test
CHANGED
@@ -2,11 +2,33 @@
|
|
2
2
|
|
3
3
|
「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあり、
|
4
4
|
|
5
|
-
他人がInstantiateしたオブジェクトをDestroyすることができません。
|
5
|
+
他人が`BoltNetwork.Instantiate()`したオブジェクトを`BoltNetwork.Destroy()`することができません。
|
6
6
|
|
7
7
|
|
8
8
|
|
9
9
|
どちらもBoltNetworkクラスの関数です。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
> Only the owner can destroy an entity, ignoring call to Destroy().
|
14
|
+
|
15
|
+
UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
|
16
|
+
|
17
|
+
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
|
18
|
+
|
19
|
+
UnityEngine.Logger:Log(LogType, Object)
|
20
|
+
|
21
|
+
UnityEngine.Debug:LogWarning(Object)
|
22
|
+
|
23
|
+
UnityWriter:BoltLog.IWriter.Warn(String)
|
24
|
+
|
25
|
+
BoltLog:Warn(String)
|
26
|
+
|
27
|
+
BoltInternal.BoltCore:Destroy(BoltEntity, IProtocolToken)
|
28
|
+
|
29
|
+
BoltNetwork:Destroy(GameObject, IProtocolToken)
|
30
|
+
|
31
|
+
BoltNetwork:Destroy(GameObject)
|
10
32
|
|
11
33
|
|
12
34
|
|
6
タイトルの修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
オ
|
1
|
+
他者が生成したゲームオブジェクトを破壊したい | Photon bolt
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Photon Boltの公式ページを読んでみたのですが、
|
2
2
|
|
3
|
-
「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあり
|
3
|
+
「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあり、
|
4
4
|
|
5
5
|
他人がInstantiateしたオブジェクトをDestroyすることができません。
|
6
6
|
|
5
タイトルの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,10 +3,6 @@
|
|
3
3
|
「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあり(タイトルとは矛盾しますが)、
|
4
4
|
|
5
5
|
他人がInstantiateしたオブジェクトをDestroyすることができません。
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
> BoltException: You can't access any Bolt specific methods or properties on an entity which is detached
|
10
6
|
|
11
7
|
|
12
8
|
|
4
画像の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,6 +3,12 @@
|
|
3
3
|
「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあり(タイトルとは矛盾しますが)、
|
4
4
|
|
5
5
|
他人がInstantiateしたオブジェクトをDestroyすることができません。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
> BoltException: You can't access any Bolt specific methods or properties on an entity which is detached
|
10
|
+
|
11
|
+
|
6
12
|
|
7
13
|
どちらもBoltNetworkクラスの関数です。
|
8
14
|
|
3
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,4 +14,4 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
[Entity Ownership | Photon Bol](https://doc.photonengine.com/en-US/bolt/current/in-depth/entity-ownership)
|
17
|
+
[Entity Ownership | Photon Bolt](https://doc.photonengine.com/en-US/bolt/current/in-depth/entity-ownership)
|
2
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,3 +11,7 @@
|
|
11
11
|
他人が作ったオブジェクトを破壊するにはどうすればいいのでしょうか。
|
12
12
|
|
13
13
|
破壊リクエストみたいなものが存在するのでしょうか。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
[Entity Ownership | Photon Bol](https://doc.photonengine.com/en-US/bolt/current/in-depth/entity-ownership)
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Photon Boltの公式ページを読んでみたのですが、
|
2
2
|
|
3
|
-
「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあり、
|
3
|
+
「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあり(タイトルとは矛盾しますが)、
|
4
4
|
|
5
5
|
他人がInstantiateしたオブジェクトをDestroyすることができません。
|
6
6
|
|