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