1 名前:名前は開発中のものです。 mailto:sage [2016/01/11(月) 01:24:43.29 ID:r4suKLTg.net] 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。 Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他 次スレは>>970 を踏んだ方が建て
79 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 16:39:51.58 ID:+kzMhI7R.net] >>74 なるほど。任天堂発想で落とし込むと、北が定位置なキャラ脇の妖精かな 方向音痴でなくても同じ模様の壁に囲まれたダンジョンとかで便利そうだね
80 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 16:43:35.84 ID:+xz5jQa5.net] iTweenを使ってguiのテキストを透明にしたく、iTween.FadeTo(this.gameObject,iTweenHash("alpha",0,"time",3f)) というスクリプトを書いたのですが透明になりません。 調べたところシェーダーがtransparentになっていないと透明にならないと書いてあったのですが、初心者なものでよくわかりませんでした。 どこをどう弄ればいいのか、どなたか教えてください。 すいません途中で切れてしまいました。
81 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 16:58:41.50 ID:+43sny4h.net] ttps://github.com/unity3d-jp-tutorials/2d-shooting-game/wiki/%E7%AC%AC06%E5%9B%9E-%E8%83%8C%E6%99%AF%E3%82%92%E4%BD%9C%E3%82%8B
82 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 17:00:41.45 ID:a9erWYiN.net] 初心者と言えば許されると思ってるのか その程度の事さえ自分で調べられないなら何やっても無駄だから止めてしまえ
83 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 17:05:01.44 ID:+43sny4h.net] >>78 すみません、途中で送信してしまいました。 上記のHPのチュートリアルをやってるんですが、5までは順調に推移していたんですが 6のテクスチャのスクロールのところで全く同じようにやっていたんですが、テクスチャがスクロールしません。 どうしても無理だったので、そこまでの完成したファイルを開こうとしましたが 「Your project was opened with older version of Unity」と出て、プロジェクトを最新版にアップデートしようとする 警告文が出てきました。 この内容の中に、何かアップデートで使えなくなったファイルがあるんでしょうか……?
84 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 17:28:17.82 ID:a9erWYiN.net] Your project was opened with older version of Unit はバージョンが違えば出てく
85 名前:るから気にしなくてそのまま進めばいい 詳細を見たわけじゃないけどチュートリアルレベルで5.2から5.3で変わるようなスクリプトは無いと思うけど 正しくコンパイルされててコンソールにエラーも出てないのに動かないなら 完成ファイルの中身と自分で作ったのを一つづつ比較してみたら 時間が掛って大変だろうけど他人に答えを教えて貰うよりは身につく [] [ここ壊れてます]
86 名前:名前は開発中のものです。 [2016/01/17(日) 18:49:53.47 ID:pAhTthsg.net] 初心者ですがゲームUnityの使い方を教えてください。
87 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 19:01:54.07 ID:rFoPwY3o.net] 無理です諦めてください。
88 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 19:08:21.85 ID:DAlQvnAS.net] >>72 z軸を昇順降順それぞれ入れ替えて試してみたのですが、 やはり片方のオブジェクトしか反応してくれませんでした…。 ドラッグではなく単にクリック(mouseDown)を取る場合は 下記のようにレイヤー名で指定するため SortingLayerではなく普通のLayerも入れ替えたりしてみたのですが、 やはり状況は変わりませんでした。 ─── Physics2D.Raycast( AppUtil.GetTouchWorldPosition(Camera.main), Vector2.zero, 1, LayerMask.GetMask(LayerMask.LayerToName(gameObject.layer)) ); ─── 現状の知識で思いつく方法としては、 ドラッグ時にオブジェクトA、オブジェクトBそれぞれ分けたレイヤーでRaycast判定を行い、 AB両方ある場合はBを無視してAのみ動かすようにするというロジックになるのですが 皆さんこのようなことをしているのでしょうか。 または、ドラッグしたオブジェクトが重なる場合があるという設計自体避けているのでしょうか。
89 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 19:51:26.76 ID:+43sny4h.net] >>81 回答ありがとうございます! 1時間くらいかけて解法を探してたんですけど、stringの中に書く分のアンダーバーが抜けてただけでした……
90 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 20:52:49.36 ID:ivdxLFD3.net] >>84 raycastを使うなら docs.unity3d.com/ja/current/ScriptReference/Physics2D.RaycastAll.html RaycastAllで全部拾って条件に合致したものを使えばよろしいかも
91 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 21:10:02.28 ID:DAlQvnAS.net] >>86 すみませんありがとうございます! そういう関数があるってことは、ソートとか多分関係ないっぽいですね… ありがとうございました。それで判定するように実装することにします。
92 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 21:38:42.76 ID:ivdxLFD3.net] ちょっと色々忘れてるのでちゃんと調べた方がいいかも Phisics2DはXY平面上のレイを飛ばすものだった気がするので 始点からゼロベクトル方向に飛ばす、とかできたか覚えてない そもそもRaycastは始点から指定方向にたいしての指定距離内の一番近くを返すものだから 使い方がおかしい気がする ちょっとみた感じ Phisics2D.OverlapPoint() が目的の動作かも
93 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 21:47:17.72 ID:DAlQvnAS.net] >>88 ありがとうございます。今私も色々ググってます。 そもそもはOnMauseDragにいづれかのlayerのプライオリティが効いてないって言うことが疑問でしたので… ここまで用意されてるのにプライオリティ判定がないはずがない!と言いますか。 どうも小細工は必須っぽいので、ちゃんと考えることにします。
94 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 22:03:33.77 ID:/C9FtGOs.net] >>76 非没入型インタフェースを、没入型である「妖精」に落とし込める、 その発想力がほしい
95 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 22:28:05.23 ID:jXqnY7Lp.net] ボタンを押した時のイベントで、Input.GetButtonDownでbool判定を行うのは分かるのですが、ボタンを押したときに呼び出されるメソッドありますか?
96 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 22:28:58.85 ID:jMHdVRNn.net] public class SnapScrollRect : ScrollRect と宣言しているC#のスクリプトをAddComponentしようとすると Can't add'SnapScrollRect' to SnapScroll because a 'ScrollRect'is already added to the game object! と怒られてしまいます。 「: ScrollRect」の部分を「MonoBehaviour」にすると追加できるので一時的にスクリプトを変更する、ということをしているのですが、随分遠回りしている気がします。 一発で追加できる方法ってどうすればよいでしょうか。
97 名前:名前は開発中のものです。 mailto:sage [2016/01/17(日) 23:38:19.92 ID:D8rmv3fX.net] raycastで2dは距離が0だからダメだよ。他の方法考えてみてね。
98 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 00:24:53.61 ID:+E6s9jCC.net] UnityでMOとかFPSとかのルームを作ってゲームをプレイする感じにしたいんだけど、 UnetってどちらかというとMinecraftみたいなP2P形式っぽい感じの説明しか見当たらないんですが、 クライアントとサーバーを分けて、サーバーにルーム作ったり、座標計算させたりってことは できないものでしょうか?
99 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 00:33:25.32 ID:apbtC/3M.net] >>92 他につけてるScrollRectを外せばいいんじゃないのか >>94 できるよ MMOのサンプルプロジェクトとかUnityで配ってなかったっけ?
100 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 09:35:20.76 ID:OTEbnEnH.net] Unity5かUnity4+photon使えばできるよ。Unity4はNATパンチスルーがあるしP2Pで4人までしか対応してない。
101 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 09:38:06.73 ID:OTEbnEnH.net] RPCビシバシ飛ばしたいんなら、Unity4だとめんどくさいよ。
102 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 09:51:18.26 ID:4zoyRg4X.net] つか>>94 のレス見る限りド素人に毛が生えたレベルの奴がよくわからんけど作りたいなあってレベルじゃね もっと具体的に質問してもらわんとなんとも
103 名前:名前は開発中のものです。 [2016/01/18(月) 10:23:42.81 ID:0t5SJ9VL.net] unityにてjavascriptで作業しています。 javascriptとC#間でのやり取りにつきまして、 質問させてください。 例えばjavascript同士でしたら、 他のオブジェクトにセットさせているスクリプトに アクセスするさいは、下記のように書いているのですが、 C#にアクセスするさいはどのように書けばよいでしょうか。 宜しくお願いいたします。 var goalObj:GameObject; var goalScript:GoalScript; function Start () { if(!goalObj){ goalObj=GameObject.FindGameObjectWithTag("Goal00"); } goalScript=goalObj.GetComponent(GoalScript); }
104 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 10:58:45.77 ID:jtAtnSB8.net] >>99 やり方は同様、注意すべきはスクリプトを置く場所だけ The script you want to have access must be inside the Standard Assets or the Plugins folder. www.41post.com/1935/programming/unity3d-js-cs-or-cs-js-access けど止めとけ、どっちかに統一しろ、混在とかそのうち混乱するだけ 処理速度向上のためにネイティブプラグイン(C/C++)を使うのとは違う
105 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 11:27:26.95 ID:+E6s9jCC.net] >>98 仰るとおり、オフラインゲームはいくつか作ってみたことがあるのですが、 オンラインの知識がなく、unity5で初めて触ったので仕組みがよくわかってない 部分が大きいです。 やろうとしていることを簡略化して具体的に出しますと、 A,B,C,D,E,Fというプレイヤーが居たとして、Aがルーム1を作成。 B,Cがルーム1に入る。ゲーム開始(シーン移動) シーン内でA,B,Cがスポーンし、移動や攻撃(いわゆるPVPをする) Dがルーム2を作成。E,Fが入り、ゲームスタート(シーン移動) シーン内でD,E,Fがスポーンし、PVPを行う。 サーバーではルーム管理、ルーム1とルーム2の座標、生成の受け渡しを別々に 処理する。 サンプルやチュートリアルはすべてのクライアントが同期しているものしか 見つけられなかったのでサーバーが特定のクライアントとのみ、接続して やり取りする方法が分からないといった状況です。
106 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 11:35:43.47 ID:jtAtnSB8.net] 横からだけど↓にある教材で一番下が日本語訳的な物で細かくて初心者にも判りやすい tips.hecomi.com/entry/2015/08/14/220030 【Unity9】UNETでマルチプレイヤーなオンラインゲーム開発【UNET1】 - Unity5(C#)初心者・入門者向けチュートリアル ひよこのたまご チュートリアル動画の内容を図解付きで丁寧に記事にまとめてくださっています、多分今のところ日本語で一番詳しい。 手を動かしながら覚えたい人は、まずこちらを実践すると感触が掴めると思います。 hiyotama.hatenablog.com/entry/2015/07/06/153000
107 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 14:13:40.43 ID:fV7TMRFc.net] unity5 C#で画像読み込みをやりたいのですがうまくいきません "Assets/Resources/bg"下に"hoge"画像を配置 sp = Resources.Load<Sprite> ("Sprites/bg/hoge"); とやってもspがnullとしか返ってきません 画像をResourcesやSprites直下に置いてもダメでしてお助けください
108 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 14:26:29.35 ID:s4UlSgzH.net] エスパーさんを召還しなければ
109 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 14:30:44.78 ID:fV7TMRFc.net] あれ すいません Resouces/Sprites/bg とやったらできました… お騒がせしました
110 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 14:42:33.18 ID:PRY8YhQ6.net] あれじゃねえよ Resources/bg"下に"hoge で "Sprites/bg/hog とか Spritesはどっから出てきたんだよw レスってる最中で気がつかないとかどんだけおっちょこちょいなんだ
111 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 14:43:01.81 ID:5AH5lJEU.net] >>105 言葉が足りなくて意味不明だがAssets/Resources/bg下にあった"hoge"画像をAssets/Resources/Sprites/bg下に移したら読めたならそれで正しい Resources.Loadに渡すパスはAssets フォルダー内にある Resources フォルダーから相対的なパスとなる。パスが違えば違うものが取れるかなければnullが返る。 本当に"Assets/Resources/bg"下に"hoge"画像が配置されてるなら以下で取れるはず sp = Resources.Load<Sprite> ("bg/hoge");
112 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 15:02:24.22 ID:vApH2xUB.net] 質問失礼します。 AndroidとiPhone両方に対応したゲームを作成しています。 AndroidはETC1 iPhoneはPVRTC に対応すれば、ファイルサイズが小さく高品質なテクスチャーが生成できる所までは理解しました。 他のツール(例えばOPTPiX)でテクスチャーをETC1もしくはPVRTCへ変換した後、何というファイルで出力したらUnityが正常に読み込めるのでしょうか? PVRTCは*.pvr、ETC1は*.pkmみたいな記述があったので、それにしましたが、pvrは上下が反転しαが消えたようになっており、pkmはそもそもバイナリファイルと判断されているようです。 PVRTCとETC1はどのようなツールで出力したら良いでしょうか? また拡張子は何で出力するのが一般的でしょうか? 分かる方、よろしくお願いします。
113 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 15:17:46.05 ID:s4UlSgzH.net] OPTPiXのとならウェブテクノロジに聞くべきじゃないですかね?
114 名前:名前は開発中のものです。 [2016/01/18(月) 21:51:21.27 ID:/pw77E+L.net] 完成せないよー。 個人開発者はどんだけ時間費やしてるんだろう
115 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 22:04:49.49 ID:apbtC/3M.net] キミのは仕様盛りすぎなんだよ 内容的にその半分、完成度的にその4分の1が 個人開発に適切な規模ってもんだ
116 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 22:31:29.79 ID:OTEbnEnH.net] 一発アイディアなら3日、会社の後に6時間くらいで。 土日なら金曜から徹夜して小規模の物なら。 FPSとかはやっぱり2−3か月かかるかな。
117 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 22:33:26.88 ID:1b9ZJrDu.net] ゲームってなんだろうって理想にもよるよね 最初に作ったRPGもどきは半年かかった ミニゲーム的なのにはそもそも魅力を感じない
118 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 22:33:42.51 ID:OTEbnEnH.net] 仕事で48時間以内でプロトタイプ作らされたりしたよ。完徹。もういや。
119 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 22:34:10.59 ID:1l0qjMjr.net] 今年で1つのゲームに2年かかってる俺「・・・・。」
120 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 22:34:44.53 ID:1b9ZJrDu.net] 趣味はそれでいいと思う
121 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 22:38:19.00 ID:OTEbnEnH.net] 僕の場合は、仕事のストレス発散でゲーム作ってるから。Unity5でMMOならサンデーと睡眠時間削って6っか月ぐらいかな。 曲は自分で作って、モデルとリグとアニメの人はフリー(無職)だから、そのペースに合わせんと。
122 名前:名前は開発中のものです。 mailto:sage [2016/01/18(月) 22:49:34.58 ID:OTEbnEnH.net] そういや、みんなUnity5ではVS2015使ってるの?コミュニティー入れられるの嫌だからVS2015Pro買ったから、 ADDベースじゃなくて課金もでる考えんとなー。自宅にLAMP環境構築するかぁ。
123 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 00:21:04.15 ID:5KZLYtCT.net] アプリ作る時にキャラクターのサイズ設定どうしてますか? gameobjectに対して数値を直打ちかスクリプト側でアスペクト比を計算してサイズ変えてますか?
124 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 09:12:05.55 ID:ObRK3duI.net] 作りたい物によって違うから好きにしろとしか それより3Dモデルをインポートする場合は子オブジェクトのトランスフォームが狂ってないか気をつけろ
125 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 09:20:17.48 ID:wup3ZEc0.net] FBXのスケールファクターで大小を設定するか、プレファブのサイズ指定でアスペクト値を変えるか、スクリプトから画面モード取得して変えるかのどれかってこと? ケースバイケースなんじゃないかな?
126 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 09:24:18.44 ID:wup3ZEc0.net] >>101 Photonだとシーンシンクロ機能があるから、後から入ってきたやつも何も考えずにgameObjectが作成されるけど、 Unity5のUNETはまだ触ってないから解んないな。 Photonがラクっちゃらく。
127 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 09:29:39.51 ID:wup3ZEc0.net] ルームを作成して、一斉にゲームスタートならUnity5のUNETでいいと思う(推測)。 Photonは資料が少ないし、日本語のド
128 名前:キュメントも古すぎる。 英語は最後にPhoton触ったときにはほぼ現行の1.5のドキュメントだったけど日本語ドキュメントは1.2で、 機能が追加されてて英語読めんときついよ。 UNETは横の人が資料くれたから、僕も時間を見て触ってみるつもり。 [] [ここ壊れてます]
129 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 14:23:15.93 ID:irQcXyP+.net] javascriptで作業しています。 少し省略してお伝えします。 オブジェ名"modelA"(タグ名:model00) にスクリプト"tex"をつけてテクスチャを管理しています。 −−− var playerTexture1 : Texture; function Start () { GetComponent.<Renderer>().material.mainTexture = playerTexture1; } −−− "var playerTexture1"には"red"というテクスチャを当てはめています。 こちらを、"maincamera"から "var playerTexture1"に当てはめられている"red"を"blue"にかえる 指示を書きたいのですが、どのように書けばよいでしょうか。 オブジェクトの指定までは書けるのですが、 GameObject.Find("modelA"); "var playerTexture1"を指定して当てはめられている要素の変更の 書き方がわかりません。 宜しくお願いいたします。
130 名前:名前は開発中のものです。 mailto:age [2016/01/19(火) 15:17:04.44 ID:sLJiHyA0.net] Unityエディタ上で プレハブ化されたオブジェクトの元プレハブがどこにあるか調べる機能ない? オブジェクトのC#ソースをダブルクリックすると、そのC#ソースにアクセスできるみたいな
131 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 15:24:51.65 ID:tPcjAZn+.net] >>124 "blue"のテクスチャをResourcesフォルダの中(サブフォルダ切っても可)に入れて Resources.loadで呼び出すかvar playerTexture2をもうけてそこに設定しておけばいいんじゃね docs.unity3d.com/ja/current/ScriptReference/Resources.Load.html >>125 右クリからSelectPrefab
132 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 17:53:57.62 ID:4u0QTOzr.net] 質問です。 たとえば車のタイヤとボディがポリゴンでつながっていない場合など、 ポリゴンが分かれて複数ある物を、一つのオブジェクトとして使用するといったことは せず、(推測ですが、影の計算などが無駄に行われるなどの理由で)出来るだけ一つの オブジェクトにはひと纏りのポリゴンを使用したほうがいいのでしょうか? それとも、複数個のポリゴンで生成されているオブジェクトを使用しても、 問題ないのでしょうか?
133 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 18:06:04.61 ID:tPcjAZn+.net] >>127 どっちでもいいがドローコールがどうこう言われてた時期は可能な限り一個にせよとは言われていた。 今でもそれが問題になるようなものであればそうした方がいい面はある。 部分破壊するようなものなら分割せざるを得ないだろうし。
134 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 18:35:56.81 ID:csn6amJm.net] タイヤのポリゴン 車体のポリゴン 路面のポリゴン 街路樹のポリゴン とか言ったりするのかなこの人は
135 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 19:04:21.94 ID:4u0QTOzr.net] >>128 >>129 ありがとうございます
136 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 20:19:39.80 ID:r6xk1mVe.net] ポリゴンとか何時の時代の人? 作るゲームによって異なるからUnityやる上でその質問は意味がない Unityやる気なら初心者チュートリアルからやったほうがいいよ
137 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:02:54.20 ID:KaD8/WvL.net] ボールを分裂させる処理を作ってるのですが、Instantiateで分裂させた際に分裂したものが真っ黒になります。 画像を設定した際にはなんともなかったのですが、ボールにマテリアルの色設定で指定すると分裂した際に真っ黒になります どなたか原因が分かりますでしょうか?
138 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:04:53.12 ID:LqkzbRj0.net] 間違った使い方してるわけでもないのに言葉尻捉えて馬鹿にするのは 自分に教養がない事を喧伝しているに等しい行為
139 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:16:08.54 ID:KaD8/WvL.net] すみません、自己解決しました
140 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:17:50.16 ID:rr6jrjnn.net] うん。意味わかるから困らない ここんとこ最適化はあぐらかいてるなぁと我が身振り返ってた
141 名前:101 mailto:sage [2016/01/19(火) 21:34:09.63 ID:s6sVwUZK.net] >>123 回答ありがとうございます。 たしかにPhotonが楽っちゃ楽なんですが、趣味で作っているゲームに 月に万単位がサーバー代だけで飛んで行くのはチョットと思いまして。 一斉スタートでなくても、Unityが用意してくれているリレーサーバー使って マッチした人の中で、ホスト(部屋立てた人)がクライアントと繋がれば 途中参加もできるんでしょうが、ホストが途中で落ちたり、無線の場合は ゲームがまともに出来ないだろうから、C/S方式で尚且つ、MO形式にできればいいのですが、 探してもなかなか情報がでてきません。 荒業として、port別にクライアントを100ほど立ち上げて、1portに1つの部屋とすれば できなくもないのでしょうが、通信の監視、マシンパワーという点から見るときついですし・・・ サーバーで座標なんかを送ってきたユーザーのデータをルームごとに振り分けて、 NetworkServer.SendToClientでも使って、状態、座標、その他をルームに居るメンバー に送るぐらいか方法ないんでしょうかね?
142 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:38:22.25 ID:OjzOAN1h.net] >>134 些細な原因であったにしろ、自己解決したならどう解決したかは書いておこうね
143 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:52:20.97 ID:6q36Y+uR.net] >>136 自分の知ってる範囲でしか考えないのかよ 他の人が教えてくれてるUNETのtutorialで詳しく説明されてるぞ
144 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:55:49.54 ID:QSjYw52q.net] このスレって自演つーか意味不明の質疑応答多いよね
145 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 22:00:59.30 ID:fJhkRQ1L.net] >>139 自演でもなんでもなく意味不明な質問ばかりだからエスパーして答えてるだけだと思うが…
146 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 22:23:24.32 ID:x5xvopmt.net] Photon使ってる人って月に数万もサーバ代出してんの?
147 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 22:38:22.18 ID:qR8VyKrd.net] そもそも面白いゲームならすぐにスポンサーつくからそんなこと気にするだけ時間の無駄やで 面白いゲームなら
148 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 23:04:43.73 ID:g+vBs3hm.net] 大体プログラミングで、しかもゲーム制作の質問なんて、 数行で一つの答えになる質問ができるようなら、答えがわかってるようなもんだからな 答えてる人のバックグラウンドによって捕らえ方は違う
149 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 00:02:44.19 ID:HwNY0XlP.net] macで使ってるんですが、plane置こうとすると毎回フリーズして強制終了するしかない…。同じことが起こる人いませんか?何もできなくて困る…
150 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:02:46.42 ID:HwNY0XlP.net] 144です。駄目元でOSのバージョン上げたら動くようになりました。失礼しました。
151 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:04:03.91 ID:Km+MRY0/.net] Serverライセンス買い切りプランがあるでしょ>Photon サーバ用意して(クラウドサーバでもいいし)、それにぶち込めばいいのでは? テスト用なら10人くらいまでならただで使えるよ。 サーバのソースもC#だから、そこまで難しくないよ。
152 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:04:57.44 ID:Km+MRY0/.net] とは言ってもUNET,根気よくやってみたら? セッションの勉強、し直したほうがいいよ。
153 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:20:23.19 ID:EmNi4jHz.net] >>138 ひよこのたまごのUNETのチュートリアルですよね? 一応、全部読んでは見たのですが、全クライアントに データ送信しているところしか見つからなかったのですが、 どの辺に記載されてるか教えていただけないでしょうか。
154 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:42:38.65 ID:Km+MRY0/.net] 送信データの頭に暗号化したクライアント番号付けて、そのキーを持っているクライアントだけが受け取ればいいだけでは?
155 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:53:5
] [ここ壊れてます]
156 名前:1.85 ID:Km+MRY0/.net mailto: 何なら、ログオンプレーヤーネームが重複しなようにして、サーバから送るデータにプレイヤーネームとデータ長を付けたら? ログオンプレーヤーネームとデータを暗号化しないと改ざんされる可能性があるけど、 とりあえずそこから始めたら? 後は自分で考えなよ。 [] [ここ壊れてます]
157 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:57:33.36 ID:Km+MRY0/.net] 新規は仮のログオンプレーヤーネームを付ける。記号を含んだ規則性のあるやつで。 そうすりゃどうにかなるでしょ。でもこれくらいならだれでも考えられると思うけど。
158 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 09:38:39.92 ID:I8697KQ+.net] >>148 マルチプレイの基本から勉強しなおしたほうがいい 全クライアントにデータを送るって送らなきゃマルチじゃないでしょ マルチプレイで同期を取るには動きがあったら全ブレイヤーにデータ送って 送られた側は自分に関係するデータか判断してそれぞれ処理する 個々はNetwork Identityで識別されるとひよこの初回に書いてある、本当に見たの?
159 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 10:33:51.47 ID:F2qWqBIY.net] 元の質問は、クライアント同士の通信はしたくない、、ってことじゃないのかいな
160 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 14:10:42.72 ID:EmNi4jHz.net] よくある、co-op型の対戦ゲームや、協力型ゲームは サーバー兼クライアント形式で同期(チュートリアルと同じ) MMO、MO、FPSなどは、C/S方式で、特定範囲のキャラクター同士 あるいは、ルームにいるキャラクターにのみデータ送受信。 このような考え方をしていたのですが、根本的に自分がネットゲームの 概念が間違っているのでしょうか?FPSやMMOって1サーバーに 数十〜数百人が接続してると思うのですが、1プレイヤーが動いただけで 全ユーザーにデータを送信したらサーバー回線に負担がかかると思って いたのですが。
161 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 15:11:31.92 ID:F2qWqBIY.net] >>154 全員に送ろうが一部に送ろうがC/SはC/Sでしょ
162 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 15:14:27.48 ID:llRDgG//.net] >>154 根本的な話じゃないけどFPSはロビーでマッチング後にP2Pになるものが多いし MOもものによってはそうなるね
163 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 15:25:54.48 ID:QQ9OX2Sr.net] >>154 MMOは全員に送る必要があるけど、すべての情報を送るわけじゃ無い。 見えていないキャラクタの情報は送らないとかの工夫がされている(というかサーバサイドの処理がLocationのEchoだけじゃない) FPS系はメインのサーバはマッチング(ロビーサーバ)だけ行って、クライアント側がゲーム中にサーバ(ゲームサーバ)として機能する 一部のFPSだとサーバ役が抜けたり回線落ちしても継続可能なように接続されていたクライアントがセカンダリサーバになったりするような工夫もあったりする。
164 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 15:48:16.61 ID:F2qWqBIY.net] MMOはサーバ上だけでゲームが進行してるわけで クライアントは自分の必要な情報を要求したりアクションを送ってるだけ この部分はUnityの守備範囲外だから、、アセットにはあるかもだが
165 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 16:15:02.04 ID:EmNi4jHz.net] 回答有り難うございます。 >>155 確かにそうですね。 >>156 >>157 自分が以前やっていたFPSはP2Pが廃止とかされていたので、 MOやFPSはサーバーで処理されて送受信のみをクライアントでやっていると 思っていたのですが、レスから察するにリレーサーバーを使った擬似P2Pのように なっていたのかもしれませんね。チュートリアルのままではサーバーが落ちたら クライアントはお手上げなので、登録型にして落ちやすい人はホストにしないとか、 接続が切れても続行できるように工夫してみたいと思います。 >>158 MMOのチュートリアル動画でUnetではなく、c#でサーバーのコードを書いてる人が居たのは そのためだったんですね。アセットなども探してみます。
166 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 23:24:08.83 ID:chluFFqp.net] 送信フレーム単位でのゲーム世界の情報があって、 それをパッケージしたものをユーザーの影響範囲ごとに等しく送るイメージだった
167 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 23:28:46.03 ID:nfrCzEjX.net] プログラマーと言うよりもゲーマー的な思考の人が多すぎ 本気でゲーム作るつもりならきちんと基礎は学んだほうがいいよ
168 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 23:50:12.05 ID:qftZA2Do.net] InputFieldについて教えてください InputFieldに入力した文字列をボタン押下でtextに表示したいのですが 日本語入力をすると確定時に文字が二重で表示されてしまいます 例)「ゴリラ」→「ゴリラゴリラ」 どのように対処するべきでしょうか? public void OnButton() { text.text = inputfield.text; }
169 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 00:22:51.76 ID:/AFrWo2g.net] 学名みたいで草
170 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 00:25:28.03 ID:Qsrq/khY.net] >>162 その代入してるとこにログでも差し込んでホントにゴリゴリなってるか見てみた?
171 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 04:11:21.20 ID:E46BlbkM.net] RectMask2Dが動いてくれない Canvas └ Mask(空gameobject) →RectTransform、RectMask2Dを設定済み └ 抜いた先に見える予定の絵 これを実行するとMaskが効かず普通に絵が全部見えてるんだけど 何が悪いか分かる人いますか
172 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 04:17:32.39 ID:E46BlbkM.net] 書いた直後に自己解決しました Spriteじゃなくて、UIのImageでやったら出来た
173 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 15:29:57.49 ID:B5LCX1Zf.net] 前スレで話に挙がった、透明度の一括変更なんかもImageじゃないとダメだっけね
174 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 16:02:38.86 ID:mkwT5Bp5.net] おすすめの参考書とかありますか?
175 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 16:22:05.66 ID:B5LCX1Zf.net] それだけ言われても、公式見ろとしか返せんぞ
176 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 16:33:26.43 ID:tfp/bifY.net] 実際に公式が一番情報量多いんだから仕方ない 日本語公式チュートリアルの2Dシューティングさえも理解できないレベルなら初心者本見てみるのも一興だけど
177 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 16:36:24.70 ID:M/1mm2Jv.net] 2dRectMaskはシェーダで処理してるから 対応するSprite向けのシェーダを書けば使える気がする 試してないけど
178 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 17:41:36.67 ID:js6IWsbH.net] ノウハウ本とかなら需要あるんだろうけど、 そうなってくると大体企業のセミナーとかになるよな どうせ水物だからすぐ変わってしまうんだろうけど
179 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 18:18:05.22 ID:CKuK/WdP.net] UNET、ざっと触ったけどPhotonより良いね。 serverのコードもUnityで組めるし、NPCとかはserver側で簡単にコントロールできるね。 あとはlamp環境に繋げて上手くいけばMMOも作れるんじゃ無いかな。 アトリビュートが結構多いけど、お約束みたいな物だし、サーバはlampじゃなくてwindowsでも良いってのが楽だね。 とりあえず、今は実験段階だけどよさそう。 Photon同様、シーンシンクロ機能もあるっぽいね。