【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/
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;
}
0163名前は開発中のものです。
2016/01/21(木) 00:22:51.76ID:/AFrWo2g0164名前は開発中のものです。
2016/01/21(木) 00:25:28.03ID:Qsrq/khYその代入してるとこにログでも差し込んでホントにゴリゴリなってるか見てみた?
0165名前は開発中のものです。
2016/01/21(木) 04:11:21.20ID:E46BlbkMCanvas
└ Mask(空gameobject) →RectTransform、RectMask2Dを設定済み
└ 抜いた先に見える予定の絵
これを実行するとMaskが効かず普通に絵が全部見えてるんだけど
何が悪いか分かる人いますか
0166名前は開発中のものです。
2016/01/21(木) 04:17:32.39ID:E46BlbkMSpriteじゃなくて、UIのImageでやったら出来た
0167名前は開発中のものです。
2016/01/21(木) 15:29:57.49ID:B5LCX1Zf0168名前は開発中のものです。
2016/01/21(木) 16:02:38.86ID:mkwT5Bp50169名前は開発中のものです。
2016/01/21(木) 16:22:05.66ID:B5LCX1Zf0170名前は開発中のものです。
2016/01/21(木) 16:33:26.43ID:tfp/bifY日本語公式チュートリアルの2Dシューティングさえも理解できないレベルなら初心者本見てみるのも一興だけど
0171名前は開発中のものです。
2016/01/21(木) 16:36:24.70ID:M/1mm2Jv対応するSprite向けのシェーダを書けば使える気がする
試してないけど
0172名前は開発中のものです。
2016/01/21(木) 17:41:36.67ID:js6IWsbHそうなってくると大体企業のセミナーとかになるよな
どうせ水物だからすぐ変わってしまうんだろうけど
0173名前は開発中のものです。
2016/01/21(木) 18:18:05.22ID:CKuK/WdPserverのコードもUnityで組めるし、NPCとかはserver側で簡単にコントロールできるね。
あとはlamp環境に繋げて上手くいけばMMOも作れるんじゃ無いかな。
アトリビュートが結構多いけど、お約束みたいな物だし、サーバはlampじゃなくてwindowsでも良いってのが楽だね。
とりあえず、今は実験段階だけどよさそう。
Photon同様、シーンシンクロ機能もあるっぽいね。
0174名前は開発中のものです。
2016/01/21(木) 18:18:24.68ID:YKebtJOwvoid 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」が帰ってくるようにしたいのですが、どうすればよいでしょうか
0175名前は開発中のものです。
2016/01/21(木) 18:35:49.62ID:NXyXWqdfvoid 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";
}
0176名前は開発中のものです。
2016/01/21(木) 19:00:15.89ID:PXVR1dUVが接触したら"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;
}
0177名前は開発中のものです。
2016/01/21(木) 19:30:11.37ID:NXyXWqdffunction OnTriggerEnter(other:Collider){
if(other.gameObject.tag=="Player")pointCounter=1;
}
function OnTriggerExit(other:Collider){
if(other.gameObject.tag=="Player")pointCounter=0;
}
0178名前は開発中のものです。
2016/01/21(木) 19:44:43.06ID:PXVR1dUVありがとうございます!
0179名前は開発中のものです。
2016/01/21(木) 20:29:23.37ID:YKebtJOwあぁ、見てわかりました。
インスタンス化ってやつですね……
すっかり忘れてました。ありがとうございます。
0180名前は開発中のものです。
2016/01/21(木) 21:20:43.94ID:VfzMyPLtありがとう
皆さんがどうやって勉強したのか気になって…
0181名前は開発中のものです。
2016/01/21(木) 21:52:34.57ID:CIl6oh9K正しい順番にタッチをするとオブジェクト破壊がされて
順番を間違えるとオブジェクトが再作成されるようにしたいのですが
デストロイでオブジェクトを破壊すると再作成時にエラーが発生します
何処かに参考になる文献などはないでしょうか。
0182名前は開発中のものです。
2016/01/21(木) 22:21:43.49ID:NXyXWqdfエディタ上で手動配置したものを参照して再作成しようとすればそうなる。
プレファブを使うべき。
0183名前は開発中のものです。
2016/01/21(木) 22:38:03.36ID:B5LCX1Zf爆発のゲームオブジェクトを3つ用意し、それらを1つの親オブジェクトの下に置くという形です。
0.5秒の間隔を空けて、それぞれ1秒かけて爆発するとします。(最初の爆発から2秒後に全終了)
3回の爆発が終わっったら、親オブジェクトをDestroyしたいと思っています。
このとき、どのような仕様にするのがスマートでしょうか。
(1)生成後、親が2秒後以降に自殺する
(2)3つ目の爆発オブジェクトから、親をDestroy()する
(3)親が子オブジェクトの状態を何らかの方法で監視して、全終了後に自殺
(4)その他、良い案があればお願いします
>>181
エラーが出るならそのエラーメッセージを添えましょう。
それはさておき、各数字パネルを1つの親オブジェクトの下に置いてプレハブ化、
それをDestroy&Instantiateでいけない?
0184名前は開発中のものです。
2016/01/22(金) 00:07:30.46ID:bpDx3HHV「どれでもいいのに君自身は何が気になっているのだろうか」ということではないかと思う。
一番単純なのは1のはずだ。
しかし何故2や3を思うかといえば例えば
・爆発の長さを変えたい
・何回爆発するかを変えたい
という仕様変更を容易にしたほうが別の場面で再利用できるかもしれないし
ゲーム的な調整でも必要になるかもしれない、という話なのではないかと思う
この手のものは色々考えようもあって例えばエフェクトジェネレータ的な包括的管理オブジェクトを作っておいて
それに「この場所に何番のエフェクトを出してくれ」と要求するとかそういうのもありうる。
どの種類の爆発が何回起こったのかとかそういう統計を取ったりしたけりゃそういうのがスマートだ。
大規模なゲームになったりあるいはゲーム内で色んなデータをスコアに利用したり
やろうとすればするほどそういう包括的な仕組みは必要になってくるし
逆にプロトタイプや小規模ゲームでそんなことを考える必要はない。
その手法がスマートか、はそのゲームの開発で何が必要とされているのか、と関連付けて
考えるべきなのでそれだけ提示されてもどれがスマートかとはいえないのではないか。
0185名前は開発中のものです。
2016/01/22(金) 00:13:29.76ID:2TuPGH+X0186名前は開発中のものです。
2016/01/22(金) 06:56:54.99ID:In9XXmPXそもそもデストロイする必要がある設計なの?
正解なら非アクティブにすれば良いのでは?
生成と削除を繰り返す様なシーンはなるべくそうしてるけどな
0187名前は開発中のものです。
2016/01/22(金) 08:23:48.99ID:8IWrF892各ステージで使うコントローラとか基本的に一緒ですよね。
その場合、各ステージ(シーン)に同じオブジェクトをコピペで配置してますか?
0188名前は開発中のものです。
2016/01/22(金) 08:45:45.68ID:2TuPGH+XDontDestroyOnLoadで使い回すなり、LoadSceneのAdditiveにするなり、
ステージをシーンに分けずにマップデータを読み込んで生成するようにするなりでも良さそうだけど
0189名前は開発中のものです。
2016/01/22(金) 08:52:25.31ID:3mP0Vk/8表示非表示を切り替えようとしたんですが、
GameObject gObj = GetComponentInChildlen<PlayerModel>();
とかやって、Renderer.enabledをtrue/falseにしたり、
MeshRendererを取得しようとしてもFBXにMeshRendererが無いから取得できないのですが、
親のGameObjectから子のGameObjectのFBXを表示・非表示にするにはどうすれば良いでしょうか?
今はしょうが無いので、一端Destroyしてます。
0190名前は開発中のものです。
2016/01/22(金) 09:21:32.11ID:bpDx3HHVGameObject gObj = GetComponentInChildlen<PlayerModel>();
これ、コンパイル通ってんの?w
Playerの子供になってるオブジェクトが一つなら
transform.GetChild(0).gameObject.SetActive(false);
とかでいい。
名前がわかってりゃ
transform.Find("childname").gameObject.SetActive(false);
とかでもいいし。
GetComponentInChildrenを使うなら
GetComponentInChildren<MeshRenderer>()とかだが
直下の子供しか見て回ってくれないから
その下にあるとかもっと階層化されてるとかだと
自分で再帰関数とか作って拾ってくるしかないね
0191名前は開発中のものです。
2016/01/22(金) 09:56:45.34ID:OEWENA1Y>直下の子供しか見て回ってくれないから
GetComponentInChildren<T>()は深さ優先探索で子孫ノードすべてから探索される、再起関数を書く必要はない
0192名前は開発中のものです。
2016/01/22(金) 10:17:36.21ID:bpDx3HHV0193名前は開発中のものです。
2016/01/22(金) 10:30:15.68ID:3mP0Vk/8よくよく考えたらRiggedBodyとコライダーは空のGameObjectに付いているので、おっしゃられる方法で問題ありませんでした。
サンクスです。
0194名前は開発中のものです。
2016/01/22(金) 10:40:00.07ID:3mP0Vk/8そこにスクリプト付けてましたが、実装方法変えてみます。どんな方法が良いと思いますか?
教えてちゃんですみません。
0195名前は開発中のものです。
2016/01/22(金) 10:43:25.33ID:3mP0Vk/8マズルフラッシュと発射位置と玉の管理を大本でやれば良いんですかね?
0196名前は開発中のものです。
2016/01/22(金) 10:46:52.00ID:3mP0Vk/80197名前は開発中のものです。
2016/01/22(金) 11:56:16.60ID:9ujOu186GetComponentInChildren じゃなくて
GetComponentsInChildren にしないと全収集ができないので
189の要望を満たすならデマどころか間違いじゃなかろうか
0198名前は開発中のものです。
2016/01/22(金) 11:58:29.74ID:9ujOu186とりあえず考えの整理を行いたいならここじゃなくて
メモとかOneNoteにでも書いておくのをお勧めするよ
0199名前は開発中のものです。
2016/01/22(金) 13:49:28.35ID:FablMv5z元発言を見るにひとつ取れればいいからそこは問題ないのでは?
0200名前は開発中のものです
2016/01/22(金) 14:53:43.25ID:nrQcArGu今回は、プレイヤーが特定の位置に移動するとマップを移動するシーン移動について
聞きたいのです。
空のゲームオブジェクトに、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 ==
0201名前は開発中のものです。
2016/01/22(金) 15:36:55.47ID:9ujOu186fbxから作られるプレハブが
MeshRendererをもつGameObjectが1個になるとは限らないですし
>>200
・シーン切り替え自体は単独で動作しているか
・colliderの接触は正しく出来ているか?
・質問を途中で送信して放置していないか?
0202名前は開発中のものです。
2016/01/22(金) 16:24:07.02ID:3mP0Vk/8それと、実装方法の質問ですが、FPSで武器を持ち帰るとき、モーションなどが変わりますよね?
僕は無駄なメモリ使ってますが、全ての武器用にプレファブ作って変更していますが、
これでは複数の武器を持ったときに対応できませんよね?
本体1体、アニメパターン群を数個、武器も数個って感じでやるのが良いかなと思いましたがどうでしょうか?
0203名前は開発中のものです
2016/01/22(金) 16:37:18.90ID:nrQcArGu途中で送信してました・・・スクリプト切れてる・・・。
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にチェックしています。
すいません、シーン切り替えの単独動作はどうチェックすれば良いでしょうか。デバック?
0204名前は開発中のものです。
2016/01/22(金) 20:39:47.58ID:bnWcsdXZ他のオブジェクトのスクリプト"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);
}
}
0205名前は開発中のものです。
2016/01/22(金) 21:06:04.94ID:OEWENA1Yそりゃあ毎フレーム2秒後に処理を呼んでいれば毎フレーム2秒後が来るよな
Waitの中身をwhile(true){}で囲んでStartで一回だけコルーチンを走らせればおk
0206名前は開発中のものです。
2016/01/22(金) 21:08:03.41ID:9ujOu186Update() で毎回フレームコルーチン作ってるからでしょ
Start()で発生させればいいよ
Update() の振る舞いが理解できてないならチュートリアルか初心者本をどうぞ
0207名前は開発中のものです。
2016/01/22(金) 21:50:52.02ID:IFIoAPGoもしくは InvokeRepeating使うとかね
0208名前は開発中のものです。
2016/01/22(金) 22:14:11.62ID:WQ0m4g5cこのスレにお世話になりそうなので報告
(人によっては大いに役立つ情報なので一読して)
-------------------------------------------
だいぶ前のスレの話だけど、
アプリをAppStoreに出品するためにまず
「Apple Developer Program」に登録する必要があり、
その費用である \11,800 (税込 \12,744) を払う必要があり、
その支払方法が
・クレジットカードのみしかできない
・ギフトカードでもOK
等、議論があった。
==============
正解は・・・
==============
現時点の段階で支払方法は2種類あり、
ひとつはもちろんクレカで、
もう一つは「Apple Storeギフトカード」でいける。
注意点は「Apple Storeギフトカード」はコンビニとかで売ってる「iTuneカード」とか「App Storeカード」では無いという事
「Apple Storeギフトカード」はオンラインのAppleStoreで買える
AppleStoreの支払い方法が
クレカ、 銀行振込、 コンビニ払込、 代金引換 の4つ。
つまりクレカ持っていなくても大丈夫というのが結論。
ちなみに、企業でもクレカを嫌がる(様々な理由で)場合があるので、クレカ以外の支払い方法は
かなりアリガタイらしい
以上、長文失礼
0209名前は開発中のものです。
2016/01/22(金) 22:47:32.37ID:2TuPGH+X0210名前は開発中のものです。
2016/01/23(土) 00:04:40.91ID:1IDtmiqG速く質問しろカス
0211名前は開発中のものです。
2016/01/23(土) 00:07:15.21ID:udwg+4cB0212名前は開発中のものです。
2016/01/23(土) 10:59:16.65ID:SWPEQbI00213名前は開発中のものです。
2016/01/23(土) 17:01:24.74ID:oM6xCn14もしくはupdate系で自分でカウントして2秒ごとに実装するとか。
■ このスレッドは過去ログ倉庫に格納されています