[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/09 21:51 / Filesize : 324 KB / Number-of Response : 1024
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました



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を踏んだ方が建て

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同様、シーンシンクロ機能もあるっぽいね。

180 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 18:18:24.68 ID:YKebtJOw.net]
private Number_type[] _Number_type = new Number_type[4];
void Start()
{
Numberset();
}
void Update()
{
Debug.Log(_Number_type[1].Number_name);
}
class Number_type
{
public string Number_name;
public string Number_Characteristic;
public string Number_Description;
}
void Numberset()
{
Debug.Log("Start");
_Number_type[0].Number_name = "てすと0";
_Number_type[1].Number_name = "てすと1";
_Number_type[2].Number_name = "てすと2";
_Number_type[3].Number_name = "てすと3";
}
上記のようにスクリプトを書いて、デバッグをログを出させたのですが、想定だと「てすと1」と出るはずがNullが帰ってきてしまいます。
「てすと1」が帰ってくるようにしたいのですが、どうすればよいでしょうか



181 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 18:35:49.62 ID:NXyXWqdf.net]
>>174
void Numberset()
{
Debug.Log("Start");
for(int i=0;i<_Number_type.Length;i++){
_Number_type[i]=new _Number_type();
}
_Number_type[0].Number_name = "てすと0";
_Number_type[1].Number_name = "てすと1";
_Number_type[2].Number_name = "てすと2";
_Number_type[3].Number_name = "てすと3";
}

182 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 19:00:15.89 ID:PXVR1dUV.net]
オブジェAに、タグ"Player"を設定したオブジェB
が接触したら"pointCounter=1"にし、
接触がはずれたら"pointCounter=0"にしたく、
下記のように記入したのですが、
"1"にはなるのですが、接触が外れたさい"0"にはなりません。
どのように書けばよいでしょうか?
宜しくお願いいたします。

var cleared:boolean;
var clearPoint:int=1;
var pointCounter:int=0;

function Start () {
cleared=false;
pointCounter=0;
}
function Update(){
if(pointCounter>=clearPoint)cleared=true;
else cleared=false;
}
function OnTriggerEnter(other:Collider){
if(other.gameObject.tag=="Player")pointCounter=1;
else pointCounter=0;
}

183 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 19:30:11.37 ID:NXyXWqdf.net]
>>176
function OnTriggerEnter(other:Collider){
if(other.gameObject.tag=="Player")pointCounter=1;
}
function OnTriggerExit(other:Collider){
if(other.gameObject.tag=="Player")pointCounter=0;
}

184 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 19:44:43.06 ID:PXVR1dUV.net]
>>177
ありがとうございます!

185 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 20:29:23.37 ID:YKebtJOw.net]
>>175
あぁ、見てわかりました。
インスタンス化ってやつですね……
すっかり忘れてました。ありがとうございます。

186 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 21:20:43.94 ID:VfzMyPLt.net]
公式か
ありがとう

皆さんがどうやって勉強したのか気になって…

187 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 21:52:34.57 ID:CIl6oh9K.net]
タッチザナンバーみたいな物を作ろうと思うのですが
正しい順番にタッチをするとオブジェクト破壊がされて
順番を間違えるとオブジェクトが再作成されるようにしたいのですが
デストロイでオブジェクトを破壊すると再作成時にエラーが発生します
何処かに参考になる文献などはないでしょうか。

188 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 22:21:43.49 ID:NXyXWqdf.net]
>>181
エディタ上で手動配置したものを参照して再作成しようとすればそうなる。
プレファブを使うべき。

189 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 22:38:03.36 ID:B5LCX1Zf.net]
時間差で3回爆発するエフェクト(Spriteを利用)を作りたいと思います。
爆発のゲームオブジェクトを3つ用意し、それらを1つの親オブジェクトの下に置くという形です。

0.5秒の間隔を空けて、それぞれ1秒かけて爆発するとします。(最初の爆発から2秒後に全終了)
3回の爆発が終わっったら、親オブジェクトをDestroyしたいと思っています。

このとき、どのような仕様にするのがスマートでしょうか。

 (1)生成後、親が2秒後以降に自殺する
 (2)3つ目の爆発オブジェクトから、親をDestroy()する
 (3)親が子オブジェクトの状態を何らかの方法で監視して、全終了後に自殺
 (4)その他、良い案があればお願いします


>>181
エラーが出るならそのエラーメッセージを添えましょう。
それはさておき、各数字パネルを1つの親オブジェクトの下に置いてプレハブ化、
それをDestroy&Instantiateでいけない?

190 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 00:07:30.46 ID:bpDx3HHV.net]
>>183
「どれでもいいのに君自身は何が気になっているのだろうか」ということではないかと思う。
一番単純なのは1のはずだ。
しかし何故2や3を思うかといえば例えば
・爆発の長さを変えたい
・何回爆発するかを変えたい
という仕様変更を容易にしたほうが別の場面で再利用できるかもしれないし
ゲーム的な調整でも必要になるかもしれない、という話なのではないかと思う

この手のものは色々考えようもあって例えばエフェクトジェネレータ的な包括的管理オブジェクトを作っておいて
それに「この場所に何番のエフェクトを出してくれ」と要求するとかそういうのもありうる。
どの種類の爆発が何回起こったのかとかそういう統計を取ったりしたけりゃそういうのがスマートだ。

大規模なゲームになったりあるいはゲーム内で色んなデータをスコアに利用したり
やろうとすればするほどそういう包括的な仕組みは必要になってくるし
逆にプロトタイプや小規模ゲームでそんなことを考える必要はない。
その手法がスマートか、はそのゲームの開発で何が必要とされているのか、と関連付けて
考えるべきなのでそれだけ提示されてもどれがスマートかとはいえないのではないか。



191 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 00:13:29.76 ID:2TuPGH+X.net]
ありがとう、確かにそうだな

192 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 06:56:54.99 ID:In9XXmPX.net]
>>181
そもそもデストロイする必要がある設計なの?
正解なら非アクティブにすれば良いのでは?
生成と削除を繰り返す様なシーンはなるべくそうしてるけどな

193 名前:名前は開発中のものです。 [2016/01/22(金) 08:23:48.99 ID:8IWrF892.net]
マリオのようなスクロールアクションを作るとして、
各ステージで使うコントローラとか基本的に一緒ですよね。
その場合、各ステージ(シーン)に同じオブジェクトをコピペで配置してますか?

194 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 08:45:45.68 ID:2TuPGH+X.net]
それでいいと思うけどプレハブ化しておこうぜ

DontDestroyOnLoadで使い回すなり、LoadSceneのAdditiveにするなり、
ステージをシーンに分けずにマップデータを読み込んで生成するようにするなりでも良さそうだけど

195 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 08:52:25.31 ID:3mP0Vk/8.net]
空のGameObject(Player)にPlayerのモデルデータ(FBX)を下位に配置して、
表示非表示を切り替えようとしたんですが、
GameObject gObj = GetComponentInChildlen<PlayerModel>();
とかやって、Re

196 名前:nderer.enabledをtrue/falseにしたり、
MeshRendererを取得しようとしてもFBXにMeshRendererが無いから取得できないのですが、
親のGameObjectから子のGameObjectのFBXを表示・非表示にするにはどうすれば良いでしょうか?
今はしょうが無いので、一端Destroyしてます。
[]
[ここ壊れてます]

197 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 09:21:32.11 ID:bpDx3HHV.net]
>>189
GameObject gObj = GetComponentInChildlen<PlayerModel>();
これ、コンパイル通ってんの?w
Playerの子供になってるオブジェクトが一つなら
transform.GetChild(0).gameObject.SetActive(false);
とかでいい。
名前がわかってりゃ
transform.Find("childname").gameObject.SetActive(false);
とかでもいいし。
GetComponentInChildrenを使うなら
GetComponentInChildren<MeshRenderer>()とかだが
直下の子供しか見て回ってくれないから
その下にあるとかもっと階層化されてるとかだと
自分で再帰関数とか作って拾ってくるしかないね

198 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 09:56:45.34 ID:OEWENA1Y.net]
>>190
>直下の子供しか見て回ってくれないから
GetComponentInChildren<T>()は深さ優先探索で子孫ノードすべてから探索される、再起関数を書く必要はない

199 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:17:36.21 ID:bpDx3HHV.net]
そのとおりやった、デマ流して済まん…。

200 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:30:15.68 ID:3mP0Vk/8.net]
ありがとうです。setActiveだと物理エンジンが消えてしまうので、ためらってましたが、
よくよく考えたらRiggedBodyとコライダーは空のGameObjectに付いているので、おっしゃられる方法で問題ありませんでした。
サンクスです。



201 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:40:00.07 ID:3mP0Vk/8.net]
そういえば、これ、FPSのスナイプモードの時の実装なんですが、自分の銃がPlayerModelの子オブジェクトなんですよね。
そこにスクリプト付けてましたが、実装方法変えてみます。どんな方法が良いと思いますか?
教えてちゃんですみません。

202 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:43:25.33 ID:3mP0Vk/8.net]
簡単な方法としては、銃のモデルは変更してsetActiveでfalseにして、
マズルフラッシュと発射位置と玉の管理を大本でやれば良いんですかね?

203 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:46:52.00 ID:3mP0Vk/8.net]
マルチプレイ対応なので、isMineとかで自分がスナイプモードの時だけSetActiveをします。ありがとです。

204 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 11:56:16.60 ID:9ujOu186.net]
>>192
GetComponentInChildren じゃなくて
GetComponentsInChildren にしないと全収集ができないので
189の要望を満たすならデマどころか間違いじゃなかろうか

205 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 11:58:29.74 ID:9ujOu186.net]
>>ID:3mP0Vk/8
とりあえず考えの整理を行いたいならここじゃなくて
メモとかOneNoteにでも書いておくのをお勧めするよ

206 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 13:49:28.35 ID:FablMv5z.net]
>>197
元発言を見るにひとつ取れればいいからそこは問題ないのでは?

207 名前:名前は開発中のものです [2016/01/22(金) 14:53:43.25 ID:nrQcArGu.net]
2Dゲーム開発中のものです。初心者の初歩的な質問に答えて下さりありがとうございます。
今回は、プレイヤーが特定の位置に移動するとマップを移動するシーン移動について
聞きたいのです。

空のゲームオブジェクトに、Colliderをつけて下のスクリプトを付けてマップに設置したのですが
プレイヤーが当たってもシーンが移動しません。

スクリプトが間違っているのか、そもそも方法が間違っているのか教えて下さい。

using UnityEngine;
using System.Collections;

public class SceneChange : MonoBehaviour {

// Use this for initialization
void Start () {

}

// Update is called once per frame
void OnCollisionStay ( Collision collision ) {

if (collision.gameObject.tag ==

208 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 15:36:55.47 ID:9ujOu186.net]
>>199
fbxから作られるプレハブが
MeshRendererをもつGameObjectが1個になるとは限らないですし

>>200
・シーン切り替え自体は単独で動作しているか
・colliderの接触は正しく出来ているか?
・質問を途中で送信して放置していないか?

209 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 16:24:07.02 ID:3mP0Vk/8.net]
どうにか事故解決しました。
それと、実装方法の質問ですが、FPSで武器を持ち帰るとき、モーションなどが変わりますよね?
僕は無駄なメモリ使ってますが、全ての武器用にプレファブ作って変更していますが、
これでは複数の武器を持ったときに対応できませんよね?
本体1体、アニメパターン群を数個、武器も数個って感じでやるのが良いかなと思いましたがどうでしょうか?

210 名前:名前は開発中のものです [2016/01/22(金) 16:37:18.90 ID:nrQcArGu.net]
>>201
途中で送信してました・・・スクリプト切れてる・・・。

using UnityEngine;
using System.Collections;

public class SceneChange : MonoBehaviour {

// Use this for initialization
void Start () {

}

// Update is called once per frame
void OnCollisionStay ( Collision collision ) {

if (collision.gameObject.tag == " Player")
Application.LoadLevel("road");
}
}
です。==から切れてました。
clliderの接触は大丈夫です。Is Triggerにチェックしています。
すいません、シーン切り替えの単独動作はどうチェックすれば良いでしょうか。デバック?



211 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 20:39:47.58 ID:bnWcsdXZ.net]
javascriptで書いています。
他のオブジェクトのスクリプト"GoalScript"を参照し、
2秒後に一度だけ"cleared"かどうか確認したいのですが
どのように書けばよいでしょうか?

下記が現状のスクリプトですが、
2秒後から常に確認する形になってしまいます。

宜しくお願いいたします。

function Start () {

if(!goalObj00){
goalObj00=GameObject.FindGameObjectWithTag("Goal00_01");
}
goalScript00=goalObj00.GetComponent(GoalScript);
collision00_mdl.SetActive(false);

function Update () {

StartCoroutine("Wait");

}

function Wait(){
yield WaitForSeconds(2.0);
if(goalScript00.cleared==true){
collision00_mdl.SetActive(true);

}
}

212 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 21:06:04.94 ID:OEWENA1Y.net]
>>204
そりゃあ毎フレーム2秒後に処理を呼んでいれば毎フレーム2秒後が来るよな
Waitの中身をwhile(true){}で囲んでStartで一回だけコルーチンを走らせればおk






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<324KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef