質問編集履歴

13

2020/07/29 09:14

投稿

hehebeb
hehebeb

スコア728

test CHANGED
@@ -1 +1 @@
1
- プレイヤーによってInstantiateされたオブジェクトをDestroyしたい
1
+ プレイヤーによってInstantiateされたオブジェクトをDestroyしたい | Photon Bolt
test CHANGED
File without changes

12

2020/07/29 09:14

投稿

hehebeb
hehebeb

スコア728

test CHANGED
File without changes
test CHANGED
File without changes

11

2020/07/24 08:58

投稿

hehebeb
hehebeb

スコア728

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

タイトルの修正

2020/07/24 08:58

投稿

hehebeb
hehebeb

スコア728

test CHANGED
@@ -1 +1 @@
1
- プレイヤーによってInstantiateされたオブジェクトをDestroyしたい | Photon bolt
1
+ プレイヤーによってInstantiateされたオブジェクトをDestroyしたい
test CHANGED
File without changes

9

タイトルの編集

2020/07/24 05:47

投稿

hehebeb
hehebeb

スコア728

test CHANGED
@@ -1 +1 @@
1
- プレイヤーによって生成されたオブジェクトをDestroy()したい | Photon bolt
1
+ プレイヤーによってInstantiateされたオブジェクトをDestroyしたい | Photon bolt
test CHANGED
File without changes

8

詳細の追加

2020/07/24 04:08

投稿

hehebeb
hehebeb

スコア728

test CHANGED
File without changes
test CHANGED
@@ -1,12 +1,74 @@
1
- Photon Boltの公式ページを読んでみのですが、
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
- どちらもBoltNetworkラスの関数です。
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

タイトルの修正

2020/07/24 04:08

投稿

hehebeb
hehebeb

スコア728

test CHANGED
@@ -1 +1 @@
1
- 他者が生成ゲームオブジェクトを破壊したい | Photon bolt
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

タイトルの修正

2020/07/24 03:06

投稿

hehebeb
hehebeb

スコア728

test CHANGED
@@ -1 +1 @@
1
- ーナー権限譲与したい | Photon bolt
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

タイトルの修正

2020/07/23 09:50

投稿

hehebeb
hehebeb

スコア728

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

画像の追加

2020/07/23 04:41

投稿

hehebeb
hehebeb

スコア728

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

2020/07/23 04:40

投稿

hehebeb
hehebeb

スコア728

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

2020/07/22 09:34

投稿

hehebeb
hehebeb

スコア728

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

2020/07/22 09:34

投稿

hehebeb
hehebeb

スコア728

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