■ このスレッドは過去ログ倉庫に格納されています
【3Dゲームエンジン】Unity質問スレッド23
- 1 :名前は開発中のものです。:2016/03/08(火) 17:08:01.75 ID:k9REU5f/.net
- 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/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質問スレッド22
http://echo.2ch.net/test/read.cgi/gamedev/1452443083/
- 178 :名前は開発中のものです。:2016/03/28(月) 16:28:34.00 ID:8b0xkWFK.net
- 問題はそこじゃなくて
void Update ()
{
}
をデフォとしなかったのかだよ、チュートリアルでもわざわざ直してる人が多い
- 179 :名前は開発中のものです。:2016/03/28(月) 16:36:35.88 ID:Q+R/00Bg.net
- 俺もいちいち直してる、面倒だけど位置があわないと気持ち悪い
- 180 :名前は開発中のものです。:2016/03/28(月) 16:39:22.56 ID:YgQLZstd.net
- VisualStudioをエディタにしてるなら、 Ctrl+K, Ctrl+D でいいしな
- 181 :名前は開発中のものです。:2016/03/28(月) 16:44:58.01 ID:YgQLZstd.net
- ってMonoDevelopみてみたら Ctrl+I か、、、関数名と()の隙間は埋まらんけど
- 182 :156:2016/03/28(月) 22:54:53.47 ID:4IvOmwMt.net
- >>169
ありがとうございます。
Slackもこんな風にオープンなチャットとして利用する方法もあるのか。
興味が湧きました
- 183 :名前は開発中のものです。:2016/03/28(月) 23:40:20.81 ID:bqxnr7xz.net
- <summary>とか加えたテンプレートファイル用意してるな
- 184 :名前は開発中のものです。:2016/03/29(火) 00:14:06.66 ID:2hbvQHiT.net
- コメントの//がラグって連打してるうちに///って打っちゃって<summary>が出る
- 185 :名前は開発中のものです。:2016/03/29(火) 11:21:59.46 ID:o4q6XP5V.net
- 学習度はいまいちだけどVSのコメントアウト・解除のショートカットだけは身についたw
- 186 :名前は開発中のものです。:2016/03/29(火) 12:55:46.66 ID:9x6HEfDV.net
- >>184
サーマリコメント使ってないの?
- 187 :名前は開発中のものです。:2016/03/30(水) 00:42:37.26 ID:IY2frVeR.net
- 基本的に自分用でしか書いてないからめんどくさがって使ってないかな
あれってVSの関数一覧に説明文かける機能だもんね
- 188 :名前は開発中のものです。:2016/03/30(水) 01:03:41.49 ID:F02zt5XF.net
- ///<summary>やらないかおじさん</summary>
[TooltipAttribute("やらないかおじさん")]
public GameObject charlesFrancis;
同じ文章を2回書くことが結構多い俺…
なんかこう、自分で書いてて凄くもやもやする。
- 189 :名前は開発中のものです。:2016/03/30(水) 03:27:01.20 ID:7nMTIbyi.net
- skyboxにcubemapという円形のテクスチャがありますけど、アレってどうやって作るんでしょうか?
スレ違いですかね?
- 190 :名前は開発中のものです。:2016/03/30(水) 03:29:03.74 ID:RKUrxJ+/.net
- 検索してもよく分からなかったので質問させていただきます
スレ違いならすみません
UnityではES6準拠のJavaScriptは対応している or 対応する予定が明確にされているでしょうか?
- 191 :名前は開発中のものです。:2016/03/30(水) 04:33:05.46 ID:7nMTIbyi.net
- 動く空っていうのはキューブをぐるぐる回すんでしょうか?
どういうロジックで作ればいいのでしょうか
- 192 :名前は開発中のものです。:2016/03/30(水) 05:25:57.53 ID:64bIt5Ga.net
- >>191
あれはタダの画像だ。だから動かす方法は「ない」。
天球画像の作成方法はいくつかあるがいずれにせよUnityで作るものではない。
cubemapとかその辺は3Dの基礎知識でunity固有の話ではないし
お手軽に思ったように作成する方法はそれなりの金出して全球撮影用のカメラ買う以外ない。
- 193 :名前は開発中のものです。:2016/03/30(水) 05:44:31.86 ID:7nMTIbyi.net
- >>191
画像を動かすのではなく、skyboxが適用されているオブジェクト自体を動かすしか無いということですか?
- 194 :名前は開発中のものです。:2016/03/30(水) 06:42:05.51 ID:7nMTIbyi.net
- あとキューブマップ(丸い画像)をskyboxに適用しても、方向がおかしいのですが、
回転は出来ないでしょうか?
rotationのスライダーを動かしても横に回転するだけです。
縦に回転出来ないのでしょうか?
たびたびすみません。
- 195 :名前は開発中のものです。:2016/03/30(水) 07:57:42.46 ID:7nMTIbyi.net
- ↑失礼、解決しました
- 196 :名前は開発中のものです。:2016/03/30(水) 12:20:20.56 ID:Vc9Hvy+G.net
- (イラッ・・・)
- 197 :名前は開発中のものです。:2016/03/30(水) 13:15:01.96 ID:nuQhisp1.net
- 自己解決してその解決法書かないバカは滅びればいいのに
- 198 :名前は開発中のものです。:2016/03/30(水) 13:35:54.03 ID:MqOBwk1B.net
- うんまあ、あまりにアホらしい質問だから誰も興味ないと思うぜ
- 199 :名前は開発中のものです。:2016/03/30(水) 14:52:09.28 ID:Jz8yRTNi.net
- >>190
UnityのJavascript(UnityScript)と言われている物はMSの言うところの.Net版JScriptって奴だ
ブラウザに採用されているプロトタイプベースの言語じゃなくクラスベースの言語なのでES6とかまるっきり関係ない
- 200 :名前は開発中のものです。:2016/03/30(水) 15:28:56.89 ID:BkgDgL93.net
- TNET 3やForge Networkingって誰か買ってみた人いたら教えてほしいんだけどさあ
ネット将棋みたいなソフトを作りたいんだけど、それほどシビアなリアルタイム性が必要なわけじゃないし、Photon代は無料枠を超えたらペイ出来ないので気になってるんだけど・・・・
PhotonやUnityMultiPlayerに比べて使い勝手はどんな感じかな?
あと、もっと安いゲームサーバーがあったら教えて!
TNet 3
https://www.assetstore.unity3d.com/jp/#!/content/56798
Forge Networking
https://www.assetstore.unity3d.com/jp/#!/content/38344
- 201 :名前は開発中のものです。:2016/03/30(水) 16:49:11.42 ID:Jz8yRTNi.net
- >>200
リアルタイム性が重要じゃないならWWWクラスとPHPのコレ https://github.com/panique/php-long-polling
とID発行(ゲーム中の対戦者認証)関係だけで良くない?
- 202 :名前は開発中のものです。:2016/03/30(水) 17:18:55.47 ID:Xlsx4RPm.net
- >>200
帯域気にしなくていいなら、
node.jsが入るレン鯖(サクラサーバの月500円やつとか)で何とかなりそうだけど、
- 203 :名前は開発中のものです。:2016/03/30(水) 17:43:05.02 ID:BkgDgL93.net
- >>201
こんな簡単なのがあるなんて驚いたよ、特にソースコードの短さにはビビった!
機能的にはほんとこんなのがほしかったんだけど、コードを見た感じセキュリティーには全く配慮していないようで実際に動かすには修正が要るかな
だけどセキュリティー絡みのコードを書く能力は俺には無いんだなこれが・・・・
>>202
本当にそれが理想的ですよね
サーバを自分で書くことも考えたものの、現状ではセキュリティー面の能力が足りないので書くのは厳しいんです
- 204 :名前は開発中のものです。:2016/03/30(水) 18:02:36.82 ID:Jz8yRTNi.net
- >>203
そんなに気張る事無いはず
たとえばアカウント無しでもゲーム起動時にサーバにアクセスしてIDを発行してもらうようにするだけで良いって考えれば
httpsならAPIで必要なのって次だけで足りない?
URL 引数 戻り値 サーバ側で覚えておく物
/game/join (あればニックネームとか) IDとpairなランダム値 IDとランダム値を元にhashしたキーとキーに対するIDのペアとニックネーム
/game/match IDとランダム値を元にhash値 対戦相手の情報 マッチした2つのIDの情報と先行後攻の情報
タイムアウトならその情報クライアントコードは待ち受け延長指示
/game/move 将棋なら駒の移動情報と手順のシリアル 対戦相手の操作待ち、 手順を棋譜にするなら覚えておく
同時にIDとランダム値のhash 手順のシリアルや無い駒を動かしたならエラーを返す
または勝敗の結果
盤面評価をサーバがやると大変かもしれないけど、移動のチートだけ防げばこれだけでも良い気がするんだけど
matchとmoveだけlong pollingでやれば良い気がするんだけどなー
つねにhash値を使ってやればID番号とかも伏せられるし、hash値の生成に手順シリアル番号つけた検証とかで不正検出もできると思うのだけど
- 205 :名前は開発中のものです。:2016/03/30(水) 18:18:39.29 ID:Xlsx4RPm.net
- レスが怖い件
- 206 :名前は開発中のものです。:2016/03/30(水) 18:22:16.17 ID:RKUrxJ+/.net
- >>199
なるほど、完璧に思い違いしていました
ありがとうございます
- 207 :名前は開発中のものです。:2016/03/30(水) 18:39:14.80 ID:BkgDgL93.net
- >>204
セキュリティーがらみで一番気になるのは変なデータを食わされた時かと思ってて
データを$_GETで受け取ったときに変な文字列が入れられていたら安全に処理する能力が俺にないぽ・・・・
- 208 :名前は開発中のものです。:2016/03/30(水) 20:14:29.30 ID:Jz8yRTNi.net
- >>207
リクエストに含まれている文字列を丸ごとSQLに突っ込んだりするような無謀な事の事だと思うけど、ちゃんと汚染されていない状態に(escape処理)してからDBアクセスとかすれば問題ないよ
つか件のゲームサーバならSQLDBつかわんで済むでしょ。(redisとかmongodbでよくね?)
- 209 :名前は開発中のものです。:2016/03/31(木) 09:53:54.52 ID:+k60iuKF.net
- 教えてください。
地形の一部地域だけにfogというか近づかないと見えない場所を作りたいのです。
その場合はパーティクルとfogのどちらをどう使うのが効果的でしょうか?
パーティクルで地域一帯を覆うと処理が重く、fogだと全体にかかってしまいます。
globalFogならぬ一部分fogなるものはあるのでしょうか?
- 210 :名前は開発中のものです。:2016/03/31(木) 10:08:48.57 ID:7+gwOzCL.net
- 当たり判定で囲って判定が働いた時のみレンダラーを動かす
見えない場所とやらのオブジェクトとプレイヤーとの距離を測って一定以下ならレンダラーを有効化
とかな
部分的なフォグについては…わからん
- 211 :名前は開発中のものです。:2016/03/31(木) 10:18:04.66 ID:+k60iuKF.net
- >>210
あたり判定で有効化。
それ一番簡単そうですね。
ありがとうございます。
あー、でもそれだと遠くだと見えるけど近づくとモヤモヤか、、。
もし他にもあれば何卒m(_ _"m)
- 212 :名前は開発中のものです。:2016/03/31(木) 10:36:28.69 ID:0nCq0ZA4.net
- その一部の場所だけフォグが掛かるマテリアルにするだけじゃないの
- 213 :名前は開発中のものです。:2016/03/31(木) 15:55:45.43 ID:U80HRrin.net
- Photonで質問があるのですが、マスターがPhotonNetwork.Instantiateで
InstantiateしたオブジェクトをクライアントがFindやFindWithTagやGetocomponentで
掴む事ってできないんでしょうか?
やってみたら出来なかったのですが、やり方があるのか、悪いのか、そもそもできないのかが
分かりません
一応、クライアントからはちゃんとマスターがPhotonNetwork.Instantiateした
オブジェクト自体は見えています。
- 214 :名前は開発中のものです。:2016/03/31(木) 17:16:06.76 ID:+k60iuKF.net
- >>212
ありがとうございます。
そういうやり方があるんですね。
まだそっち関係まで詳しくないので調べてみます。
でもfogにマテリアルなんて適用できましたっけ?
- 215 :名前は開発中のものです。:2016/03/31(木) 20:25:25.80 ID:GQlnZ4Ki.net
- 質問失礼します。
metaファイルをC#で書き換えたいです。
metaファイルの書式ってJsonっぽいんですけど、何か有名な書式なんでしょうか?
どこかに Windows C# で利用できるmetaファイルパーサとか無いのでしょうか?
- 216 :名前は開発中のものです。:2016/03/31(木) 21:43:44.37 ID:AV88npp6.net
- ビュー上でマテリアルをクリックして選択は出来ないんですか?
以前は選択出来た気がしますが。
- 217 :名前は開発中のものです。:2016/03/31(木) 22:20:42.69 ID:Su/s1wEb.net
- >>215
JSONじゃなくてYAMLじゃね?
- 218 :名前は開発中のものです。:2016/03/31(木) 22:48:31.63 ID:Su/s1wEb.net
- >>213
やったことないから合ってるかわからないけど、下記のイベントで拾えたりしない?
void OnPhotonInstantiate(PhotonMessageInfo info)
- 219 :名前は開発中のものです。:2016/03/31(木) 23:09:31.39 ID:U80HRrin.net
- >>218
ありがとうございます。
今、出先なので帰宅次第試してみます
- 220 :214:2016/04/01(金) 10:01:47.94 ID:TCAllijB.net
- >>217
ありがとうございます!
YAMLって形式、知りませんでした。
C#で動くYAMLパーサで調べてみます!
- 221 :名前は開発中のものです。:2016/04/01(金) 12:25:56.85 ID:TqNtk5LM.net
- Windowsstoreのuniversal 10でビルド、インストールとか出来た人いる?
俺パッケージ作業が出来ず、ビルド出来ねー…
- 222 :名前は開発中のものです。:2016/04/01(金) 22:44:21.86 ID:TqNtk5LM.net
- >>221ですが、解決しました
というより、納得しました
- 223 :名前は開発中のものです。:2016/04/02(土) 07:31:55.75 ID:lvtDFyJ0.net
- すみません入門者で質問なのですが
Unityのキー入力は書籍サンプルとか読むと
Update()の中で逐一監視して入力があったら
動かすとかの例がよく見られたのですが、
他の言語の様に入力はイベント監視関数にその変数値変更を任せて
Uodate()内ではマシン速度に応じた状態変更のみ行うという事は
しないのでしょうか?
- 224 :名前は開発中のものです。:2016/04/02(土) 08:10:07.03 ID:9JvOl1q6.net
- 複数端末の解像度に対応するマニュアル通りにしてみたのですが極端に背景が小さくなります
複数端末の解像度に対応させるためにはどのようにすればいいのでしょうか
https://github.com/unity3d-jp-tutorials/2d-shooting-game/wiki/第02回-複数の解像度に対応する(引き伸ばす)
- 225 :名前は開発中のものです。:2016/04/02(土) 10:54:49.14 ID:fZLLuuFM.net
- >>223
結局のところInputクラス自体の動作がUpdate()単位で入力の更新をしているので
もしInputクラス自体にイベントが仕込まれていれば
Input.KeyDownA+=hoge;
とかやればいいんだろうけど「そういうつくりにはなっていない」ということなので
そういうのがいいと思えば自分で入力を監視してイベントを発行するクラスを作って
そこで集中管理するしかないね。
- 226 :名前は開発中のものです。:2016/04/02(土) 11:55:40.38 ID:TyPA6B1B.net
- いずれ.netのバージョンが4.5あたりに上がるっぽいけど、これがあるとPersonalでも.net Framework側の機能を使ってSocket.ioとか使えるようになるんかな?
- 227 :名前は開発中のものです。:2016/04/02(土) 12:19:12.69 ID:P+xkQjtI.net
- >>223
UIならイベントベースの方が楽だけどゲームだとコントローラの扱いはだいたいプレイヤーを操作するGameObject単体の処理だろう?
ならイベントよりも直接状態を扱う方が楽じゃ無いのか?
- 228 :名前は開発中のものです。:2016/04/02(土) 12:45:41.19 ID:ysYzq0U0.net
- 好みの問題だな
C言語でPC98やWindowsのAPIでゲームを作っていた世代なら
直接状態を扱うやり方に違和感を感じないけど
今のWindowsプログラミングに慣れきっていると
Xボタンがどうなっているとか、アナログスティックがどうなっているとかを
ループで監視するという概念が理解できないというか、気持ち悪いかもしれない
俺は前者だったから逆にWindowsのイベントの概念が随分長い間気持ち悪かった
- 229 :名前は開発中のものです。:2016/04/02(土) 13:48:15.28 ID:AtkHAZ/y.net
- 他の言語だと〜ってあるけど
例えばUE4とかだとイベントドリブンだったりするのん?
- 230 :名前は開発中のものです。:2016/04/02(土) 14:33:37.03 ID:AsjlxODb.net
- 更新と入力の監視別にしたら、負荷高まった時に前に入力したものが残ったりするだろ
- 231 :名前は開発中のものです。:2016/04/02(土) 19:19:28.24 ID:wmpv51nt.net
- FixedUpdateでKeyDownとかKeyUpとか取得したら2回とか3回とか連続で取れちゃうから面倒だ
- 232 :222:2016/04/02(土) 20:56:57.37 ID:lvtDFyJ0.net
- ありがとうございます。
どうやらゲームエンジン特有の処理法みたいですね。
自分Javaやjavascriptの開発から入ったので違和感を感じてました。
ループ監視方法をこれから勉強してみます。
あとUIのみでゲームが作れなるかも研究してみます。
- 233 :名前は開発中のものです。:2016/04/02(土) 21:20:07.65 ID:AtkHAZ/y.net
- ああ、そういうことか。
連打だの同時押しだののときに、細かい挙動まで制御したかったりするだろうしね
- 234 :名前は開発中のものです。:2016/04/02(土) 22:25:08.92 ID:zkB3aUtQ.net
- いやJavaやjavascriptでゲーム作るにしてもイベントハンドラ内では入力フラグのセットのみを行い実際の処理はメインループ内で行うのは普通だよ?
Unityではそのフラグのセットとメインループの基本構造をエンジン側が最初から持ってるから
開発する側はメインループ内でフラグの読み出しと処理を記述するだけで実装できる
ゲームというプログラムの性質上イベントドリブンよりもフレームベースの進行の方が向いてるから多くのゲームエンジンがこれを採用してるってだけの話
- 235 :名前は開発中のものです。:2016/04/02(土) 23:58:50.33 ID:Phje8vbJ.net
- >>234
javaやjavascriptでゲーム開発してたとは言ってないだろ
- 236 :名前は開発中のものです。:2016/04/03(日) 20:16:55.30 ID:q7FLoILA.net
- バッファローのゲームパッド買ったんだけれど、ほんのちょっとスティックを傾けただけでGetAxisの値が±1になるんだがなんなんこれ……
ニュートラルで既に+0.01くらいになってるのはDeadで対処できるとしても、これじゃ十字ボタンと変わらん
- 237 :名前は開発中のものです。:2016/04/03(日) 20:27:00.36 ID:IAddX4M3.net
- 真っ先に疑うのはデジタルモードになってるとかだけど
そこはとっくに調べてるだろうしなあ
- 238 :名前は開発中のものです。:2016/04/03(日) 20:29:13.53 ID:BKSoncQL.net
- いやいやこのスレで聞くことで全然何もやってない糞っぽさが半端ねえけどw
- 239 :名前は開発中のものです。:2016/04/03(日) 21:11:53.63 ID:q7FLoILA.net
- ごめんSensitivityをどの程度に調整すれば良いのか分かってないだけだった
デフォルトの3から、0とか1000とか極端な値にしたりして調整してみたけど全然ダメで、1にしてみたらちゃんと出来た
この辺のパラメータ、色々ググっても具体的な値とか分からんかった
あとリファレンス見て「GetAxisRawで取得すればGravityとかDeadとかSensitivityのパラメータを無視したナマの値を取得できるんだろ?」って勘違い(?)しててパラメータの調整放棄してた
Rawにしても普通に影響されるやん
パッド初めて使うんだけど次からは書き込む前にもう少し調べてから首吊ってしにます
- 240 :名前は開発中のものです。:2016/04/03(日) 21:38:42.23 ID:3jFQFOr0.net
- 死ななくていいよ。むしろこれがUnityを使う人間の標準的な姿勢と知性だから
死ぬべきはUnity使いにふさわしくない高い知性と豊富な知識を持っている人間だ
- 241 :名前は開発中のものです。:2016/04/03(日) 21:57:16.25 ID:Jg1eGoj6.net
- 可哀想に
- 242 :名前は開発中のものです。:2016/04/03(日) 22:21:51.81 ID:Htbn15el.net
- たとえば絵描きスレだと
ワコム使ってる奴に技術とセンスはない とか野次り屋さんいるのかな
いそうな気がする
- 243 :名前は開発中のものです。:2016/04/03(日) 22:25:37.47 ID:m2ZMdeY9.net
- 挫折者の数は絵描きの方が多そうだしな
- 244 :名前は開発中のものです。:2016/04/03(日) 22:34:08.83 ID:BKSoncQL.net
- 競争相手減らしたいだけのヘイトだから気にするな
ユニティちゃんを走らせるくらいまでは初心者でも馬鹿でもチョンでも可能なすごいツールなのは間違いない
更にすごいことは走らせるだけのスマホゲーが結構ストアに出てることw
- 245 :名前は開発中のものです。:2016/04/04(月) 00:37:59.00 ID:Bny0r9r9.net
- intの値を保持したままシーンを移動したいのですがどうすればいいのですか
DontDestroyOnLoadを使うとintからUnityEngine.Objectへ変換することはできませんと出ます
- 246 :名前は開発中のものです。:2016/04/04(月) 00:54:44.07 ID:hXsrSHJl.net
- 方法は山程あるちょっとはググレカス
一例
http://tsubakit1.hateblo.jp/entry/2015/11/07/024350
- 247 :名前は開発中のものです。:2016/04/04(月) 01:13:31.42 ID:Bny0r9r9.net
- そこにある方法は試してみたもののできませんでした
- 248 :名前は開発中のものです。:2016/04/04(月) 01:49:57.65 ID:7ElMLh3h.net
- テラシュールさんみたいな超絶親切記事であっても通じないとはw
そこにある方法を試しても出来ないなどということはありえない。
君が書いているコード、その他やり方がおかしいだけ
そもそも言語を理解できていればDontDestroyOnLoadの引数に
intをぶち込むなどということも考え付かない
http://docs.unity3d.com/ja/current/ScriptReference/Object.DontDestroyOnLoad.html
君は全く言語を理解できていないし残念なことだが
Untiyは見かけに反して言語を出来ない人間が使うには厳しいツールだ
Unityをやる前にちゃんと言語の勉強をした方がよいよ
- 249 :名前は開発中のものです。:2016/04/04(月) 02:05:02.02 ID:Bny0r9r9.net
- ありがとうございます
勉強不足でした
勉強し直します
- 250 :名前は開発中のものです。:2016/04/04(月) 10:28:40.56 ID:XpHjSau9e
- 夜通し考えましたができません
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
public class ScoreScript : MonoBehaviour {
public static int score = 0;
public bool gameover = false;
private int point;
void Awake()
{
DontDestroyOnLoad(this);
}
void Start()
{
GetComponent<Text>().text = "SCORE:" + score.ToString();
}
public void ScoreUp(int point)
{
score += point;
GetComponent<Text>().text = "SCORE:" + score.ToString();
}
}
- 251 :名前は開発中のものです。:2016/04/04(月) 10:29:03.10 ID:XpHjSau9e
- これだとDontDestroyOnLoad only work for root GameObjects or components on root GameObjects.と出ます
どのようにすればいいのでしょうか
何度も初歩的な質問を申し訳ございません
- 252 :名前は開発中のものです。:2016/04/04(月) 10:32:40.93 ID:FySTl+cx.net
- >>249
競争相手減らしたいだけのヘイトだから気にするな
ユニティちゃんを走らせるくらいまでは初心者でも馬鹿でもチョンでも可能なすごいツールなのは間違いない
更にすごいことは走らせるだけのスマホゲーが結構ストアに出てることw
- 253 :名前は開発中のものです。:2016/04/04(月) 10:44:24.47 ID:Bny0r9r9.net
- 場所間違えました
夜通し考えましたができません
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
public class ScoreScript : MonoBehaviour {
public static int score = 0;
public bool gameover = false;
private int point;
void Awake()
{
DontDestroyOnLoad(this);
}
void Start()
{
GetComponent<Text>().text =
- 254 :名前は開発中のものです。:2016/04/04(月) 10:45:33.52 ID:Bny0r9r9.net
- GetComponent<Text>().text = "SCORE:" + score.ToString();
}
public void ScoreUp(int point)
{
score += point;
GetComponent<Text>().text = "SCORE:" + score.ToString();
}
}
これだとDontDestroyOnLoad only work for root GameObjects or components on root GameObjects.と出ます
どのようにすればいいのでしょうか
何度も初歩的な質問を申し訳ございません 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
- 255 :名前は開発中のものです。:2016/04/04(月) 11:01:21.94 ID:HfY2ufRo.net
- >これだとDontDestroyOnLoad only work for root GameObjects or components on root GameObjects.と出ます
これはエラーログだろ
エラーログっていうのは、どこが間違っているのか教えてくれてる文章の事
このエラーログを日本語に直せば「ルートオブジェクトでしかDontDestroyOnLoadは動かない」
って書いてあるからルートオブジェクト以外のコンポに書いているからこのエラーが出ているという事と
ルートオブジェクトに書けば解決するという事が分かる
というかエラーログが全く意味を成してないなw
- 256 :名前は開発中のものです。:2016/04/04(月) 11:24:00.32 ID:Bny0r9r9.net
- エラーログの意味はわかったのですが実際にどのようなコードを書けばいいかわかりません
- 257 :名前は開発中のものです。:2016/04/04(月) 11:27:38.75 ID:hXsrSHJl.net
- 要はプログラムなんて勉強したくない答え教えてってことかよ
>>248に戻るだなw
- 258 :名前は開発中のものです。:2016/04/04(月) 11:31:24.11 ID:HfY2ufRo.net
- すごろくかよ
- 259 :名前は開発中のものです。:2016/04/04(月) 11:32:30.37 ID:FySTl+cx.net
- >>256
>>257は競争相手減らしたいだけのヘイトだから気にするな
ユニティちゃんを走らせるくらいまでは初心者でも馬鹿でもチョンでも可能なすごいツールなのは間違いない
更にすごいことは走らせるだけのスマホゲーが結構ストアに出てることw
質問スレなんだからどんどん質問してくれ
つか、答える能力を持ってるヤツいないのかよ、このスレ……無能の集まりだな
- 260 :名前は開発中のものです。:2016/04/04(月) 11:34:17.59 ID:m3XCBibL.net
- ここは質問するスレで答えるスレじゃないからね。
- 261 :名前は開発中のものです。:2016/04/04(月) 11:37:35.09 ID:HfY2ufRo.net
- >>256
分かった分かった
じゃあプロジェクトごとどっかにアップしてよ
俺がその部分作るから
どうせ今日休みだし
- 262 :名前は開発中のものです。:2016/04/04(月) 11:42:07.59 ID:szpYHwDE.net
- 基地外が湧いて人が去った印象
- 263 :名前は開発中のものです。:2016/04/04(月) 11:54:24.67 ID:FySTl+cx.net
- 確かに。Unityのレベルと集まる人材層を端的に表している現象だよな
- 264 :名前は開発中のものです。:2016/04/04(月) 12:03:28.41 ID:+KDgUMPh.net
- >>256
そのエラーログでコードって言う時点で、
エラーログは理解できていない。
hierarchyで修正できるので、ちゃんと調べた方が良いよ。
- 265 :名前は開発中のものです。:2016/04/04(月) 12:17:08.15 ID:jwc1b3E3.net
- >>255
そんなエラーあるんだ。
初めて知った。
当然っちゃ当然か
- 266 :名前は開発中のものです。:2016/04/04(月) 12:41:54.53 ID:UfyIKhsV.net
- >>264
UIのヒエラルキーの下部にぶら下がってるから分離するならstaticなデータだけ保持したクラスに単離しないと駄目だろうね。
- 267 :名前は開発中のものです。:2016/04/04(月) 12:42:25.99 ID:ipZlx+2D.net
- githubにあげとけ、みんながみてくれるぞ。
- 268 :名前は開発中のものです。:2016/04/04(月) 12:53:51.35 ID:UfyIKhsV.net
- うごかしちゃ居ないがこんな感じ
まずクラスを2つに分ける
StaticGameData.cs
public class StaticGameData {
public static int score = 0;
public static bool gameover = false; // 他にもゲーム全体を通して必要なものはここにまとめてpublic staticで置いておく
public static void InitGameData() {
score = 0;
gameover= false;
//他にもあればゲーム開始時に初期化するようにここにまとめて書く
}
}
--
- 269 :名前は開発中のものです。:2016/04/04(月) 12:54:07.61 ID:UfyIKhsV.net
- ScoreScript.cs
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
public class ScoreScript : MonoBehaviour {
private Text cachedComponent = null;
void Start()
{
cachedComponent = GetComponent<Text>();
this.RedrawScore();
}
void RedrawScore()
{
cachedComponent.text = "SCORE:" + StaticGameData.score.ToString();
}
public void ScoreUp(int point)
{
StaticGameData.score += point;
this.RedrawScore();
}
}
- 270 :名前は開発中のものです。:2016/04/04(月) 13:04:07.93 ID:CM3MwaUq.net
- それで判ったならそのままの答えがないと出来ない子なんだな
そもそも一番最初にあった>>246のテラシュールさんのstatic(静的な)オブジェクトとして保持するサンプルのほうがスマートだと思うのだが
- 271 :名前は開発中のものです。:2016/04/04(月) 13:51:20.05 ID:4EKB9Ufw.net
- ちょうど自分もserializableとかjsonなどの魔法の言葉を調べてた
まあ本番では素直にEasy Save買うと思うけど
- 272 :名前は開発中のものです。:2016/04/04(月) 14:18:24.51 ID:7ElMLh3h.net
- >>253
それはコードが間違っているのではなくやり方が間違っている。
DontDestroyOnLoad only work for root GameObjects or components on root GameObjects
"DontDestroyOnLoadはルートのゲームオブジェクトまたはルートのゲームオブジェクト上のコンポーネント上でのみ機能します"
ここでルート、というのは他のオブジェクトの子供ではない、ということ。
Unityでは親オブジェクトがDestroyされるとその子供のオブジェクトもDestroyされる。
まぁ全部を一々指定しないとDestroyされないのではメンドクサ過ぎるのは明白なので
妥当な設計だと思うしだからDontDestroyOnLoadはそのオブジェクトがぶら下がっている一番上の親オブジェクトに対して行わなければならない、ということになっている。
それを取得する方法はプログラムで一番上を辿ってもいいし名前でFindしてもいいしpublicにしておいてインスペクター上でD&Dして指定しておいてもいい。
あともう一ついえばそこではscoreという変数をstaticで宣言している。
だからDontDestroyOnLoadはそもそも行う必要はない。
何もせずに、というよりも「何もしなければ」そのまま次の面までscoreの値は引き継がれる。
staticというのはあるメモリのアドレスが固定的に使われるものだ。
10番地にscoreの値が書き込まれていてそれはゲームが起動してから終了するまで変わらない。
だからそのクラスが破棄されて、また構築されてもscoreという変数の中身はずっと10番地に書かれている。
もっといえばそのクラスが破棄されて再構築されていなくても10番地の中身はそのままだ。
だからpublicなら他のオブジェクトからScoreScript.scoreと指定すればその値は見ることが出来る
逆にゲームが終了した時、或いは新しくゲームが開始された時、など適切な場面でscoreの値をリセットしなければいつまでもその値は残り続ける。
>>246で示されたテラシュールさんのページにある
"例えばスコアをstaticに格納しスコアを加算し続けた場合、2週目から前回のスコアを引きついた強くてニューゲームになってしまいます"
というのはそういうこと。
- 273 :名前は開発中のものです。:2016/04/04(月) 14:36:22.43 ID:Bny0r9r9.net
- 皆さんありがとうございます
なんとかできました
本当に申し訳ありませんでした
- 274 :名前は開発中のものです。:2016/04/04(月) 16:30:23.50 ID:ipZlx+2D.net
- とりあえずチャットアプリでもつくるがいい
- 275 :名前は開発中のものです。:2016/04/04(月) 16:35:21.86 ID:ZgRCxNtc.net
- モバイルでオンラインゲームを作るにはphoton pun+(有料アセット)
が必要と思っていたんですが、
photonの無料アセットでも、モバイルでオンラインゲームは
作れるのでしょうか?
スマホ(andorid)買ってきたので、photonの無料アセットで
試しにPCからスマホへケーブルつないで
実機テストしてみたんですが。普通に出来ました。
スマホ2台は持っていないので1台はスマホ。
対戦相手はWeb Playerから。問題なくオンライン通信できている模様。
デバッグ用ではなく、正式リリース用(PlayストアUp時)にすると、
オンライン通信できなくなるのでしょうか?
- 276 :名前は開発中のものです。:2016/04/04(月) 16:44:01.82 ID:9uo0zuKP.net
- >>275
どっちも大丈夫
だけど無料のやつを使ってPhotonを契約するんだったら、有料の方を買ったほうが100ccu分ついてくる分お得だよ
- 277 :名前は開発中のものです。:2016/04/04(月) 16:47:16.85 ID:ZgRCxNtc.net
- >>276
ありがとう。
無料でスマホオンラインゲーム作れるんですね!最高!
自分は大したゲーム作れないので今は無料で。
目標はPlayストアへ上げて、広告つけるところまでやってみたいなあ。
収益出たら有料考えます。
- 278 :名前は開発中のものです。:2016/04/04(月) 16:50:46.52 ID:VNFRA7Mk.net
- デジャブってより定期的に似たようなレスがあるようなんだけどひょっとしてこれphotonの宣伝?
英語のファーラムはUNET vs photon で賑わってるようだけど簡単に日本語でまとめると最新状況はどうなってんの?
総レス数 1009
291 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200