teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

13

2020/07/29 09:14

投稿

hehebeb
hehebeb

スコア728

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

12

2020/07/29 09:14

投稿

hehebeb
hehebeb

スコア728

title CHANGED
File without changes
body CHANGED
File without changes

11

2020/07/24 08:58

投稿

hehebeb
hehebeb

スコア728

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

タイトルの修正

2020/07/24 08:58

投稿

hehebeb
hehebeb

スコア728

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

9

タイトルの編集

2020/07/24 05:47

投稿

hehebeb
hehebeb

スコア728

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

8

詳細の追加

2020/07/24 04:08

投稿

hehebeb
hehebeb

スコア728

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,40 @@
1
- Photon Boltの公式ページを読んでみのですが、
1
+ #根本的にやりいこと
2
- 「オーナー権限を他のプレイヤーに譲与することはできません。」と書いてあり、
3
- 他人が`BoltNetwork.Instantiate()`したオブジェクトを`BoltNetwork.Destroy()`することができません。
4
2
 
5
- どちらもBoltNetworkクラス関数
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

タイトルの修正

2020/07/24 04:08

投稿

hehebeb
hehebeb

スコア728

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

タイトルの修正

2020/07/24 03:06

投稿

hehebeb
hehebeb

スコア728

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

タイトルの修正

2020/07/23 09:50

投稿

hehebeb
hehebeb

スコア728

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

画像の追加

2020/07/23 04:41

投稿

hehebeb
hehebeb

スコア728

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

2020/07/23 04:40

投稿

hehebeb
hehebeb

スコア728

title CHANGED
File without changes
body CHANGED
@@ -6,4 +6,4 @@
6
6
  他人が作ったオブジェクトを破壊するにはどうすればいいのでしょうか。
7
7
  破壊リクエストみたいなものが存在するのでしょうか。
8
8
 
9
- [Entity Ownership | Photon Bol](https://doc.photonengine.com/en-US/bolt/current/in-depth/entity-ownership)
9
+ [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

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

2020/07/22 09:34

投稿

hehebeb
hehebeb

スコア728

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