【3Dゲームエンジン】Unity質問スレッド22 [無断転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2016/01/11(月) 01:24:43.29ID:r4suKLTgWindows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
次スレは>>970を踏んだ方が建てること。ダメなら>>980か>>990が建てて下さい。
■本スレ
【3Dゲームエンジン】Unity総合スレッド27 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1441891966/
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・ユーザーガイド
http://docs.unity3d.com/ja/current/Manual/UnityManualRestructured.html
・チュートリアル
http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
http://unity3d.com/jp/unity/faq
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
前スレ
【3Dゲームエンジン】Unity質問スレッド21
http://peace.2ch.net/test/read.cgi/gamedev/1447775596/
0063名前は開発中のものです。
2016/01/17(日) 05:57:11.69ID:D8rmv3fX殆どttp://www.ne.jp/asahi/kenji/pda/のUnityの所に乗ってるよ。
0064名前は開発中のものです。
2016/01/17(日) 06:28:48.09ID:UxvOqHZn0065名前は開発中のものです。
2016/01/17(日) 06:50:18.59ID:lacF+cXD0066名前は開発中のものです。
2016/01/17(日) 09:18:42.57ID:OULLJDowやっぱりすでにやってるゲームはあったんだね
>>62
東西南北を示す杭。分かりにくいけど、北を示す杭は赤く塗ってあるわ。
画面の隅っこに出してるコンパスより分かり安くなるかな、と
今のアイデアのままだと没入感が薄れるのが難点だけど
0067名前は開発中のものです。
2016/01/17(日) 09:42:48.67ID:YnhJRfyzUnity5でSUNの機能が充実してるから太陽の位置や陰の出来方で方向を知るのがより現実に近いw
0068名前は開発中のものです。
2016/01/17(日) 10:03:06.89ID:fgh+HXHY年輪だろ
0069名前は開発中のものです。
2016/01/17(日) 13:48:53.86ID:/C9FtGOs例えば街の中なら、印象的な建物や遠くに見える大きな山、
ダンジョンなど屋内でも、中央に広めの空間を置くとか、
そういう手法があるのだ
0070名前は開発中のものです。
2016/01/17(日) 14:42:18.47ID:OULLJDowなるほど
0071名前は開発中のものです。
2016/01/17(日) 15:07:22.95ID:XD9ZIbZ31回増やしたら出さないってプログラムがこの部分になるんだったらダメだな
配列はcountで個数とれる。Fires.count で破壊されてない個数はとれる。
つまり、Fires.count >= 1 の条件だけで完結する話だ
Destroyの節も、この部分だけだとここに書く意味がわからない
秒数で消えるとか、非破壊エリア作ってそこから出たときに破壊判定するとか、
破壊判定は別にもっておくのが普通なんじゃないかな
ソース書けるなら片っ端からチュートリアルやってUnity自体になれたほうがいいぞ
非ゲーム系プログラマほど得るものが多いと思う
0072名前は開発中のものです。
2016/01/17(日) 15:34:15.44ID:ivdxLFD3order in layer = 描画の登録順番
マウス系イベント レイキャストが当たる順番(手前から)
だったはず
0073名前は開発中のものです。
2016/01/17(日) 15:52:47.86ID:+kzMhI7R操作キャラの周りに杭が浮いてるの?画面に張り付いてるの?
杭を越えた移動や「没入感が薄れる」を考えるとランドマークではないよね
0074名前は開発中のものです。
2016/01/17(日) 16:15:17.96ID:OULLJDow0075名前は開発中のものです。
2016/01/17(日) 16:38:14.46ID:+xz5jQa5iTween.FadeTo(this.gameObject, iTween.Hash(
0076名前は開発中のものです。
2016/01/17(日) 16:39:51.58ID:+kzMhI7Rなるほど。任天堂発想で落とし込むと、北が定位置なキャラ脇の妖精かな
方向音痴でなくても同じ模様の壁に囲まれたダンジョンとかで便利そうだね
0077名前は開発中のものです。
2016/01/17(日) 16:43:35.84ID:+xz5jQa5というスクリプトを書いたのですが透明になりません。
調べたところシェーダーがtransparentになっていないと透明にならないと書いてあったのですが、初心者なものでよくわかりませんでした。
どこをどう弄ればいいのか、どなたか教えてください。
すいません途中で切れてしまいました。
0078名前は開発中のものです。
2016/01/17(日) 16:58:41.50ID:+43sny4h0079名前は開発中のものです。
2016/01/17(日) 17:00:41.45ID:a9erWYiNその程度の事さえ自分で調べられないなら何やっても無駄だから止めてしまえ
0080名前は開発中のものです。
2016/01/17(日) 17:05:01.44ID:+43sny4hすみません、途中で送信してしまいました。
上記のHPのチュートリアルをやってるんですが、5までは順調に推移していたんですが
6のテクスチャのスクロールのところで全く同じようにやっていたんですが、テクスチャがスクロールしません。
どうしても無理だったので、そこまでの完成したファイルを開こうとしましたが
「Your project was opened with older version of Unity」と出て、プロジェクトを最新版にアップデートしようとする
警告文が出てきました。
この内容の中に、何かアップデートで使えなくなったファイルがあるんでしょうか……?
0081名前は開発中のものです。
2016/01/17(日) 17:28:17.82ID:a9erWYiN詳細を見たわけじゃないけどチュートリアルレベルで5.2から5.3で変わるようなスクリプトは無いと思うけど
正しくコンパイルされててコンソールにエラーも出てないのに動かないなら
完成ファイルの中身と自分で作ったのを一つづつ比較してみたら
時間が掛って大変だろうけど他人に答えを教えて貰うよりは身につく
0082名前は開発中のものです。
2016/01/17(日) 18:49:53.47ID:pAhTthsg0083名前は開発中のものです。
2016/01/17(日) 19:01:54.07ID:rFoPwY3o0084名前は開発中のものです。
2016/01/17(日) 19:08:21.85ID:DAlQvnASz軸を昇順降順それぞれ入れ替えて試してみたのですが、
やはり片方のオブジェクトしか反応してくれませんでした…。
ドラッグではなく単にクリック(mouseDown)を取る場合は
下記のようにレイヤー名で指定するため
SortingLayerではなく普通のLayerも入れ替えたりしてみたのですが、
やはり状況は変わりませんでした。
───
Physics2D.Raycast(
AppUtil.GetTouchWorldPosition(Camera.main),
Vector2.zero,
1,
LayerMask.GetMask(LayerMask.LayerToName(gameObject.layer))
);
───
現状の知識で思いつく方法としては、
ドラッグ時にオブジェクトA、オブジェクトBそれぞれ分けたレイヤーでRaycast判定を行い、
AB両方ある場合はBを無視してAのみ動かすようにするというロジックになるのですが
皆さんこのようなことをしているのでしょうか。
または、ドラッグしたオブジェクトが重なる場合があるという設計自体避けているのでしょうか。
0085名前は開発中のものです。
2016/01/17(日) 19:51:26.76ID:+43sny4h回答ありがとうございます!
1時間くらいかけて解法を探してたんですけど、stringの中に書く分のアンダーバーが抜けてただけでした……
0086名前は開発中のものです。
2016/01/17(日) 20:52:49.36ID:ivdxLFD3raycastを使うなら
http://docs.unity3d.com/ja/current/ScriptReference/Physics2D.RaycastAll.html
RaycastAllで全部拾って条件に合致したものを使えばよろしいかも
0087名前は開発中のものです。
2016/01/17(日) 21:10:02.28ID:DAlQvnASすみませんありがとうございます!
そういう関数があるってことは、ソートとか多分関係ないっぽいですね…
ありがとうございました。それで判定するように実装することにします。
0088名前は開発中のものです。
2016/01/17(日) 21:38:42.76ID:ivdxLFD3Phisics2DはXY平面上のレイを飛ばすものだった気がするので
始点からゼロベクトル方向に飛ばす、とかできたか覚えてない
そもそもRaycastは始点から指定方向にたいしての指定距離内の一番近くを返すものだから
使い方がおかしい気がする
ちょっとみた感じ Phisics2D.OverlapPoint() が目的の動作かも
0089名前は開発中のものです。
2016/01/17(日) 21:47:17.72ID:DAlQvnASありがとうございます。今私も色々ググってます。
そもそもはOnMauseDragにいづれかのlayerのプライオリティが効いてないって言うことが疑問でしたので…
ここまで用意されてるのにプライオリティ判定がないはずがない!と言いますか。
どうも小細工は必須っぽいので、ちゃんと考えることにします。
0090名前は開発中のものです。
2016/01/17(日) 22:03:33.77ID:/C9FtGOs非没入型インタフェースを、没入型である「妖精」に落とし込める、
その発想力がほしい
0091名前は開発中のものです。
2016/01/17(日) 22:28:05.23ID:jXqnY7Lp0092名前は開発中のものです。
2016/01/17(日) 22:28:58.85ID:jMHdVRNnと宣言しているC#のスクリプトをAddComponentしようとすると
Can't add'SnapScrollRect' to SnapScroll
because a 'ScrollRect'is already added to the game object!
と怒られてしまいます。
「: ScrollRect」の部分を「MonoBehaviour」にすると追加できるので一時的にスクリプトを変更する、ということをしているのですが、随分遠回りしている気がします。
一発で追加できる方法ってどうすればよいでしょうか。
0093名前は開発中のものです。
2016/01/17(日) 23:38:19.92ID:D8rmv3fX0094名前は開発中のものです。
2016/01/18(月) 00:24:53.61ID:+E6s9jCCUnetってどちらかというとMinecraftみたいなP2P形式っぽい感じの説明しか見当たらないんですが、
クライアントとサーバーを分けて、サーバーにルーム作ったり、座標計算させたりってことは
できないものでしょうか?
0095名前は開発中のものです。
2016/01/18(月) 00:33:25.32ID:apbtC/3M他につけてるScrollRectを外せばいいんじゃないのか
>>94
できるよ
MMOのサンプルプロジェクトとかUnityで配ってなかったっけ?
0096名前は開発中のものです。
2016/01/18(月) 09:35:20.76ID:OTEbnEnH0097名前は開発中のものです。
2016/01/18(月) 09:38:06.73ID:OTEbnEnH0098名前は開発中のものです。
2016/01/18(月) 09:51:18.26ID:4zoyRg4Xもっと具体的に質問してもらわんとなんとも
0099名前は開発中のものです。
2016/01/18(月) 10:23:42.81ID:0t5SJ9VLjavascriptとC#間でのやり取りにつきまして、
質問させてください。
例えばjavascript同士でしたら、
他のオブジェクトにセットさせているスクリプトに
アクセスするさいは、下記のように書いているのですが、
C#にアクセスするさいはどのように書けばよいでしょうか。
宜しくお願いいたします。
var goalObj:GameObject;
var goalScript:GoalScript;
function Start () {
if(!goalObj){
goalObj=GameObject.FindGameObjectWithTag("Goal00");
}
goalScript=goalObj.GetComponent(GoalScript);
}
0100名前は開発中のものです。
2016/01/18(月) 10:58:45.77ID:jtAtnSB8やり方は同様、注意すべきはスクリプトを置く場所だけ
The script you want to have access must be inside the Standard Assets or the Plugins folder.
http://www.41post.com/1935/programming/unity3d-js-cs-or-cs-js-access
けど止めとけ、どっちかに統一しろ、混在とかそのうち混乱するだけ
処理速度向上のためにネイティブプラグイン(C/C++)を使うのとは違う
0101名前は開発中のものです。
2016/01/18(月) 11:27:26.95ID:+E6s9jCC仰るとおり、オフラインゲームはいくつか作ってみたことがあるのですが、
オンラインの知識がなく、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の座標、生成の受け渡しを別々に
処理する。
サンプルやチュートリアルはすべてのクライアントが同期しているものしか
見つけられなかったのでサーバーが特定のクライアントとのみ、接続して
やり取りする方法が分からないといった状況です。
0102名前は開発中のものです。
2016/01/18(月) 11:35:43.47ID:jtAtnSB8http://tips.hecomi.com/entry/2015/08/14/220030
【Unity9】UNETでマルチプレイヤーなオンラインゲーム開発【UNET1】 - Unity5(C#)初心者・入門者向けチュートリアル ひよこのたまご
チュートリアル動画の内容を図解付きで丁寧に記事にまとめてくださっています、多分今のところ日本語で一番詳しい。
手を動かしながら覚えたい人は、まずこちらを実践すると感触が掴めると思います。
http://hiyotama.hatenablog.com/entry/2015/07/06/153000
0103名前は開発中のものです。
2016/01/18(月) 14:13:40.43ID:fV7TMRFc"Assets/Resources/bg"下に"hoge"画像を配置
sp = Resources.Load<Sprite> ("Sprites/bg/hoge");
とやってもspがnullとしか返ってきません
画像をResourcesやSprites直下に置いてもダメでしてお助けください
0104名前は開発中のものです。
2016/01/18(月) 14:26:29.35ID:s4UlSgzH0105名前は開発中のものです。
2016/01/18(月) 14:30:44.78ID:fV7TMRFcすいません Resouces/Sprites/bg
とやったらできました…
お騒がせしました
0106名前は開発中のものです。
2016/01/18(月) 14:42:33.18ID:PRY8YhQ6レスってる最中で気がつかないとかどんだけおっちょこちょいなんだ
0107名前は開発中のものです。
2016/01/18(月) 14:43:01.81ID:5AH5lJEU言葉が足りなくて意味不明だがAssets/Resources/bg下にあった"hoge"画像をAssets/Resources/Sprites/bg下に移したら読めたならそれで正しい
Resources.Loadに渡すパスはAssets フォルダー内にある Resources フォルダーから相対的なパスとなる。パスが違えば違うものが取れるかなければnullが返る。
本当に"Assets/Resources/bg"下に"hoge"画像が配置されてるなら以下で取れるはず
sp = Resources.Load<Sprite> ("bg/hoge");
0108名前は開発中のものです。
2016/01/18(月) 15:02:24.22ID:vApH2xUBAndroidとiPhone両方に対応したゲームを作成しています。
AndroidはETC1 iPhoneはPVRTC に対応すれば、ファイルサイズが小さく高品質なテクスチャーが生成できる所までは理解しました。
他のツール(例えばOPTPiX)でテクスチャーをETC1もしくはPVRTCへ変換した後、何というファイルで出力したらUnityが正常に読み込めるのでしょうか?
PVRTCは*.pvr、ETC1は*.pkmみたいな記述があったので、それにしましたが、pvrは上下が反転しαが消えたようになっており、pkmはそもそもバイナリファイルと判断されているようです。
PVRTCとETC1はどのようなツールで出力したら良いでしょうか?
また拡張子は何で出力するのが一般的でしょうか?
分かる方、よろしくお願いします。
0109名前は開発中のものです。
2016/01/18(月) 15:17:46.05ID:s4UlSgzH0110名前は開発中のものです。
2016/01/18(月) 21:51:21.27ID:/pw77E+L個人開発者はどんだけ時間費やしてるんだろう
0111名前は開発中のものです。
2016/01/18(月) 22:04:49.49ID:apbtC/3M内容的にその半分、完成度的にその4分の1が
個人開発に適切な規模ってもんだ
0112名前は開発中のものです。
2016/01/18(月) 22:31:29.79ID:OTEbnEnH土日なら金曜から徹夜して小規模の物なら。
FPSとかはやっぱり2−3か月かかるかな。
0113名前は開発中のものです。
2016/01/18(月) 22:33:26.88ID:1b9ZJrDu最初に作ったRPGもどきは半年かかった
ミニゲーム的なのにはそもそも魅力を感じない
0114名前は開発中のものです。
2016/01/18(月) 22:33:42.51ID:OTEbnEnH0115名前は開発中のものです。
2016/01/18(月) 22:34:10.59ID:1l0qjMjr0116名前は開発中のものです。
2016/01/18(月) 22:34:44.53ID:1b9ZJrDu0117名前は開発中のものです。
2016/01/18(月) 22:38:19.00ID:OTEbnEnH曲は自分で作って、モデルとリグとアニメの人はフリー(無職)だから、そのペースに合わせんと。
0118名前は開発中のものです。
2016/01/18(月) 22:49:34.58ID:OTEbnEnHADDベースじゃなくて課金もでる考えんとなー。自宅にLAMP環境構築するかぁ。
0119名前は開発中のものです。
2016/01/19(火) 00:21:04.15ID:5KZLYtCTgameobjectに対して数値を直打ちかスクリプト側でアスペクト比を計算してサイズ変えてますか?
0120名前は開発中のものです。
2016/01/19(火) 09:12:05.55ID:ObRK3duIそれより3Dモデルをインポートする場合は子オブジェクトのトランスフォームが狂ってないか気をつけろ
0121名前は開発中のものです。
2016/01/19(火) 09:20:17.48ID:wup3ZEc0ケースバイケースなんじゃないかな?
0122名前は開発中のものです。
2016/01/19(火) 09:24:18.44ID:wup3ZEc0Photonだとシーンシンクロ機能があるから、後から入ってきたやつも何も考えずにgameObjectが作成されるけど、
Unity5のUNETはまだ触ってないから解んないな。
Photonがラクっちゃらく。
0123名前は開発中のものです。
2016/01/19(火) 09:29:39.51ID:wup3ZEc0Photonは資料が少ないし、日本語のドキュメントも古すぎる。
英語は最後にPhoton触ったときにはほぼ現行の1.5のドキュメントだったけど日本語ドキュメントは1.2で、
機能が追加されてて英語読めんときついよ。
UNETは横の人が資料くれたから、僕も時間を見て触ってみるつもり。
0124名前は開発中のものです。
2016/01/19(火) 14:23:15.93ID:irQcXyP+少し省略してお伝えします。
オブジェ名"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"を指定して当てはめられている要素の変更の
書き方がわかりません。
宜しくお願いいたします。
0125名前は開発中のものです。
2016/01/19(火) 15:17:04.44ID:sLJiHyA0プレハブ化されたオブジェクトの元プレハブがどこにあるか調べる機能ない?
オブジェクトのC#ソースをダブルクリックすると、そのC#ソースにアクセスできるみたいな
0126名前は開発中のものです。
2016/01/19(火) 15:24:51.65ID:tPcjAZn+"blue"のテクスチャをResourcesフォルダの中(サブフォルダ切っても可)に入れて
Resources.loadで呼び出すかvar playerTexture2をもうけてそこに設定しておけばいいんじゃね
http://docs.unity3d.com/ja/current/ScriptReference/Resources.Load.html
>>125
右クリからSelectPrefab
0127名前は開発中のものです。
2016/01/19(火) 17:53:57.62ID:4u0QTOzrポリゴンが分かれて複数ある物を、一つのオブジェクトとして使用するといったことは
せず、(推測ですが、影の計算などが無駄に行われるなどの理由で)出来るだけ一つの
オブジェクトにはひと纏りのポリゴンを使用したほうがいいのでしょうか?
それとも、複数個のポリゴンで生成されているオブジェクトを使用しても、
問題ないのでしょうか?
0128名前は開発中のものです。
2016/01/19(火) 18:06:04.61ID:tPcjAZn+どっちでもいいがドローコールがどうこう言われてた時期は可能な限り一個にせよとは言われていた。
今でもそれが問題になるようなものであればそうした方がいい面はある。
部分破壊するようなものなら分割せざるを得ないだろうし。
0129名前は開発中のものです。
2016/01/19(火) 18:35:56.81ID:csn6amJm車体のポリゴン
路面のポリゴン
街路樹のポリゴン
とか言ったりするのかなこの人は
0130名前は開発中のものです。
2016/01/19(火) 19:04:21.94ID:4u0QTOzrありがとうございます
0131名前は開発中のものです。
2016/01/19(火) 20:19:39.80ID:r6xk1mVe作るゲームによって異なるからUnityやる上でその質問は意味がない
Unityやる気なら初心者チュートリアルからやったほうがいいよ
0132名前は開発中のものです。
2016/01/19(火) 21:02:54.20ID:KaD8/WvL画像を設定した際にはなんともなかったのですが、ボールにマテリアルの色設定で指定すると分裂した際に真っ黒になります
どなたか原因が分かりますでしょうか?
0133名前は開発中のものです。
2016/01/19(火) 21:04:53.12ID:LqkzbRj0自分に教養がない事を喧伝しているに等しい行為
0134名前は開発中のものです。
2016/01/19(火) 21:16:08.54ID:KaD8/WvL0135名前は開発中のものです。
2016/01/19(火) 21:17:50.16ID:rr6jrjnnここんとこ最適化はあぐらかいてるなぁと我が身振り返ってた
0136101
2016/01/19(火) 21:34:09.63ID:s6sVwUZK回答ありがとうございます。
たしかにPhotonが楽っちゃ楽なんですが、趣味で作っているゲームに
月に万単位がサーバー代だけで飛んで行くのはチョットと思いまして。
一斉スタートでなくても、Unityが用意してくれているリレーサーバー使って
マッチした人の中で、ホスト(部屋立てた人)がクライアントと繋がれば
途中参加もできるんでしょうが、ホストが途中で落ちたり、無線の場合は
ゲームがまともに出来ないだろうから、C/S方式で尚且つ、MO形式にできればいいのですが、
探してもなかなか情報がでてきません。
荒業として、port別にクライアントを100ほど立ち上げて、1portに1つの部屋とすれば
できなくもないのでしょうが、通信の監視、マシンパワーという点から見るときついですし・・・
サーバーで座標なんかを送ってきたユーザーのデータをルームごとに振り分けて、
NetworkServer.SendToClientでも使って、状態、座標、その他をルームに居るメンバー
に送るぐらいか方法ないんでしょうかね?
0137名前は開発中のものです。
2016/01/19(火) 21:38:22.25ID:OjzOAN1h些細な原因であったにしろ、自己解決したならどう解決したかは書いておこうね
0138名前は開発中のものです。
2016/01/19(火) 21:52:20.97ID:6q36Y+uR自分の知ってる範囲でしか考えないのかよ
他の人が教えてくれてるUNETのtutorialで詳しく説明されてるぞ
0139名前は開発中のものです。
2016/01/19(火) 21:55:49.54ID:QSjYw52q0140名前は開発中のものです。
2016/01/19(火) 22:00:59.30ID:fJhkRQ1L自演でもなんでもなく意味不明な質問ばかりだからエスパーして答えてるだけだと思うが…
0141名前は開発中のものです。
2016/01/19(火) 22:23:24.32ID:x5xvopmt0142名前は開発中のものです。
2016/01/19(火) 22:38:22.18ID:qR8VyKrd面白いゲームなら
0143名前は開発中のものです。
2016/01/19(火) 23:04:43.73ID:g+vBs3hm数行で一つの答えになる質問ができるようなら、答えがわかってるようなもんだからな
答えてる人のバックグラウンドによって捕らえ方は違う
0144名前は開発中のものです。
2016/01/20(水) 00:02:44.19ID:HwNY0XlP0145名前は開発中のものです。
2016/01/20(水) 01:02:46.42ID:HwNY0XlP0146名前は開発中のものです。
2016/01/20(水) 01:04:03.91ID:Km+MRY0/サーバ用意して(クラウドサーバでもいいし)、それにぶち込めばいいのでは?
テスト用なら10人くらいまでならただで使えるよ。
サーバのソースもC#だから、そこまで難しくないよ。
0147名前は開発中のものです。
2016/01/20(水) 01:04:57.44ID:Km+MRY0/セッションの勉強、し直したほうがいいよ。
0148名前は開発中のものです。
2016/01/20(水) 01:20:23.19ID:EmNi4jHzひよこのたまごのUNETのチュートリアルですよね?
一応、全部読んでは見たのですが、全クライアントに
データ送信しているところしか見つからなかったのですが、
どの辺に記載されてるか教えていただけないでしょうか。
0149名前は開発中のものです。
2016/01/20(水) 01:42:38.65ID:Km+MRY0/0150名前は開発中のものです。
2016/01/20(水) 01:53:51.85ID:Km+MRY0/ログオンプレーヤーネームとデータを暗号化しないと改ざんされる可能性があるけど、
とりあえずそこから始めたら?
後は自分で考えなよ。
0151名前は開発中のものです。
2016/01/20(水) 01:57:33.36ID:Km+MRY0/そうすりゃどうにかなるでしょ。でもこれくらいならだれでも考えられると思うけど。
0152名前は開発中のものです。
2016/01/20(水) 09:38:39.92ID:I8697KQ+マルチプレイの基本から勉強しなおしたほうがいい
全クライアントにデータを送るって送らなきゃマルチじゃないでしょ
マルチプレイで同期を取るには動きがあったら全ブレイヤーにデータ送って
送られた側は自分に関係するデータか判断してそれぞれ処理する
個々はNetwork Identityで識別されるとひよこの初回に書いてある、本当に見たの?
0153名前は開発中のものです。
2016/01/20(水) 10:33:51.47ID:F2qWqBIY0154名前は開発中のものです。
2016/01/20(水) 14:10:42.72ID:EmNi4jHzサーバー兼クライアント形式で同期(チュートリアルと同じ)
MMO、MO、FPSなどは、C/S方式で、特定範囲のキャラクター同士
あるいは、ルームにいるキャラクターにのみデータ送受信。
このような考え方をしていたのですが、根本的に自分がネットゲームの
概念が間違っているのでしょうか?FPSやMMOって1サーバーに
数十〜数百人が接続してると思うのですが、1プレイヤーが動いただけで
全ユーザーにデータを送信したらサーバー回線に負担がかかると思って
いたのですが。
0155名前は開発中のものです。
2016/01/20(水) 15:11:31.92ID:F2qWqBIY全員に送ろうが一部に送ろうがC/SはC/Sでしょ
0156名前は開発中のものです。
2016/01/20(水) 15:14:27.48ID:llRDgG//根本的な話じゃないけどFPSはロビーでマッチング後にP2Pになるものが多いし
MOもものによってはそうなるね
0157名前は開発中のものです。
2016/01/20(水) 15:25:54.48ID:QQ9OX2SrMMOは全員に送る必要があるけど、すべての情報を送るわけじゃ無い。
見えていないキャラクタの情報は送らないとかの工夫がされている(というかサーバサイドの処理がLocationのEchoだけじゃない)
FPS系はメインのサーバはマッチング(ロビーサーバ)だけ行って、クライアント側がゲーム中にサーバ(ゲームサーバ)として機能する
一部のFPSだとサーバ役が抜けたり回線落ちしても継続可能なように接続されていたクライアントがセカンダリサーバになったりするような工夫もあったりする。
0158名前は開発中のものです。
2016/01/20(水) 15:48:16.61ID:F2qWqBIYクライアントは自分の必要な情報を要求したりアクションを送ってるだけ
この部分はUnityの守備範囲外だから、、アセットにはあるかもだが
0159名前は開発中のものです。
2016/01/20(水) 16:15:02.04ID:EmNi4jHz>>155
確かにそうですね。
>>156
>>157
自分が以前やっていたFPSはP2Pが廃止とかされていたので、
MOやFPSはサーバーで処理されて送受信のみをクライアントでやっていると
思っていたのですが、レスから察するにリレーサーバーを使った擬似P2Pのように
なっていたのかもしれませんね。チュートリアルのままではサーバーが落ちたら
クライアントはお手上げなので、登録型にして落ちやすい人はホストにしないとか、
接続が切れても続行できるように工夫してみたいと思います。
>>158
MMOのチュートリアル動画でUnetではなく、c#でサーバーのコードを書いてる人が居たのは
そのためだったんですね。アセットなども探してみます。
0160名前は開発中のものです。
2016/01/20(水) 23:24:08.83ID:chluFFqpそれをパッケージしたものをユーザーの影響範囲ごとに等しく送るイメージだった
0161名前は開発中のものです。
2016/01/20(水) 23:28:46.03ID:nfrCzEjX本気でゲーム作るつもりならきちんと基礎は学んだほうがいいよ
0162名前は開発中のものです。
2016/01/20(水) 23:50:12.05ID:qftZA2DoInputFieldに入力した文字列をボタン押下でtextに表示したいのですが
日本語入力をすると確定時に文字が二重で表示されてしまいます
例)「ゴリラ」→「ゴリラゴリラ」
どのように対処するべきでしょうか?
public void OnButton()
{
text.text = inputfield.text;
}
■ このスレッドは過去ログ倉庫に格納されています