トップページgamedev
1002コメント432KB

【3Dゲームエンジン】Unity質問スレッド21 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2015/11/18(水) 00:53:16.90ID:6AegDlBR
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質問スレッド20 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1444194744/
0340名前は開発中のものです。2015/12/03(木) 00:59:38.69ID:jKybS+CM
エディタ拡張系の質問なのですが、
なるべくAttributeの拡張だけでInspectorの表示を整えたいのですが、
折りたたみや、MinMaxSliderのような複数の変数に関わる拡張は、
Attributeじゃできませんかね?
0341名前は開発中のものです。2015/12/03(木) 02:59:36.74ID:JvyMPJkl
Unity5.2.3のインストールしているとVisual StudioやMS net frameworkのインストール画面が出てきてインストーラー停止するんだけど
これ省けないですか?
0342名前は開発中のものです。2015/12/03(木) 03:27:45.67ID:YLpL1k0k
インストール選択したの?
0343名前は開発中のものです。2015/12/03(木) 04:39:41.21ID:JvyMPJkl
>>342
見落としてました・・・ありがとう
0344名前は開発中のものです。2015/12/03(木) 08:38:46.33ID:HJv0Qqkj
>>339
UE4さわりゃわかるがデフォルトのレンダリング性能で差がつきすぎだもん
まぁUE4でモバイルやWebプレイヤーはまだ厳しいものがあるし
ネットコードはUE4のが圧倒的に優秀だし作るゲームで使い分けるのが正義
0345名前は開発中のものです。2015/12/03(木) 08:57:24.67ID:Cw0hiiOI
レンダリング性能の差って具体的に何を指してるんだ?
0346名前は開発中のものです。2015/12/03(木) 10:20:11.31ID:z+lZgBRH
むしろレンダラに差がないと本気で思ってるならヤバイだろ
今の所両エンジンのカバー範囲は被ってないんだから作りたいものに併せて選べって話だろ
0347名前は開発中のものです。2015/12/03(木) 10:40:04.79ID:74kRDXmT
いつもながらUnrealとの比較になると
スカスカな話になるな。
0348名前は開発中のものです。2015/12/03(木) 14:32:28.38ID:+IQa1UHT
>>336
quarternionで合成ベクトルで頑張る
0349名前は開発中のものです。2015/12/03(木) 14:36:10.33ID:X/SX/RH1
無料で利用できるBGMやSEで3Dゲームでも使えそうなものって極端に少ない気がする
オススメのサイトとかある?
0350名前は開発中のものです。2015/12/03(木) 15:04:43.04ID:kkgGARlz
ゲームグラフィックが2Dか3DかでBGMの合う合わないが変わるか?
SEは多少リアルな方が合うかもしれんが
0351名前は開発中のものです。2015/12/03(木) 15:09:53.17ID:+IQa1UHT
ファミコン風の音楽だと確かに3Dゲームには向かない感じはするね
0352名前は開発中のものです。2015/12/03(木) 17:09:11.77ID:YLpL1k0k
クラシック曲とか、意外と条件に合致するぜ
0353名前は開発中のものです。2015/12/03(木) 17:30:49.01ID:FVAAXw7W
>>349
ニコニ・コモンズ(ドメインが2chNGワードになってるっぽい)
http://commons.nico video.jp/search/tag/BGM?s=d&o=d&ld=2&sc=1

まだ本格的に探してないけど、ポテンシャルは高いんじゃないかって印象持ってる
0354名前は開発中のものです。2015/12/03(木) 19:08:48.33ID:zV8iJfu3
ゲームでは使えないし、著作権フリーでもないけどな
0355名前は開発中の物です。2015/12/03(木) 19:14:19.00ID:FWVmqhf9
 unity5.2of3で2Dゲーム開発しているものです。製作しているジャンルは探索ゲーで、
プレイキャラを操作してマップを歩き回りオブジェクトを収集するような感じの作品です。
参考にmachinaliumといった同じジャンルの有名作品をプレイしたりしていて不思議に思った事があります。

 2Dの場合でNPCの周りを歩き回って、オブジェクトの後ろ側に行く場合は操作キャラが背面に、
前に行く場合は前面に出るというのはどうしたら良いのでしょうか?また、ソーティングレイヤーは関係ありますか?
0356名前は開発中のものです。2015/12/03(木) 19:23:28.80ID:gsygo5bm
y座標をもとにorder in layerの値をセットすればよくね
0357名前は開発中のものです。2015/12/03(木) 20:50:44.69ID:uuZKrhtQ
5.3でアプリ内課金が使えるようになるらしいけど、いつごろ来るんだろ
0358名前は開発中のものです。2015/12/03(木) 21:08:05.86ID:gsygo5bm
アプリ内課金自体はSoomlaで不自由ないけど、外部ライブラリ減らせるのは助かるよね
ついでにサーバサイド検証まで世話みてくれると嬉しいんだけどもw
0359名前は開発中のものです。2015/12/03(木) 21:50:13.44ID:RzBc1rD7
>>355
手段として良いかは置いておいて、Zで前後の制御はできるね
Yが上ならZを奥に、下ならZを手前に持ってくるように連動すれば

例えば縦16マスだとして、キャラなら画面上からZを1.00〜1.16の範囲に、
壁とかなら2.00〜2.16で、背景なら0.00〜0.16にという感じでYに連動させるとか
0360名前は開発中のものです。2015/12/03(木) 21:51:02.57ID:RzBc1rD7
アカン、0〜16じゃ17マスやん
0361名前は開発中のものです。2015/12/03(木) 22:18:51.09ID:YLpL1k0k
>>359
やっぱ2DでもZ軸を使っちゃうのが楽そうよね
ゲームによっては、ライトとかちょい修正が必要かもしらん
0362名前は開発中のものです。2015/12/03(木) 22:35:53.21ID:wMT3LI/N
ニコニコなんとかってとこにいる奴らのデータ使うの気持ち悪いなんとなく
0363名前は開発中のものです。2015/12/03(木) 23:57:00.86ID:wGCZChKT
>>357
一応、12月8日にリリース予定だってよ
0364名前は開発中のものです。2015/12/04(金) 00:01:01.03ID:WI4Qgc9H
今日の俺ぼけてるわ>>359
手前のほうがZ小さいから数値逆だわな
ともかく「基準値-Y/100な」どで計算してZに突っ込めば

>>361
重なり順で真っ先に思いつくのがCSSのz-indexだったもんで
これが個人的には分かりやすいし楽な手法だわ
ライトは確かに気をつけなきゃいけないね。意識してなかったわ、ありがとう
0365名前は開発中のものです。2015/12/04(金) 00:20:21.05ID:JhBH9r/s
>>363
サンクスもうすぐだな
今作ってるやつはそれで作れそうで助かった
0366名前は開発中のものです。2015/12/04(金) 00:27:18.50ID:9jpyH600
5.5の2D強化が楽しみだぜ
0367名前は開発中のものです。2015/12/04(金) 01:42:59.89ID:qTSzVmde
なんかエディタ上では問題なく動いてるのにWebプレイヤーやスタンドアロンでビルドすると挙動おかしくなるな
Webプレイヤーの方はGetAxisの入力が離しても0に戻らない感じで
スタンドアロンの方は一部オブジェクトが動かない
0368名前は開発中のものです。2015/12/04(金) 10:54:59.53ID:NNnsdri/
Unityはソシャゲ・ブラウザゲー用、UE4はコンシューマ・PCハイエンドゲーム用
もう完全に棲み分けが始まって両者ともこの方向性で進んでる
0369名前は開発中のものです。2015/12/04(金) 11:00:16.75ID:519YdUSN
まぁいいことだよね
0370名前は開発中のものです。2015/12/04(金) 11:27:45.35ID:KcUV2OvH
住み分けが始まっているというよりは最初からそういうものなんだよなぁ
Unityが開拓した「お手軽に3Dゲーを作る」っていうエンジン市場をUEが侵食しようとしてる
0371名前は開発中のものです。2015/12/04(金) 11:48:11.08ID:x5se+V8Z
結局どっちでも使える知識に進んでくものだし
切磋琢磨の発展はユーザにも嬉しいな
0372名前は開発中のものです。2015/12/04(金) 14:44:20.21ID:YiKbNb6/
どっちかに縛られず両方覚えればいいじゃんって感じ
C++とC#なら両立は楽だし

ただUE4はまだ未完成感あるから様子見した方がいいかもね
0373名前は開発中のものです。2015/12/04(金) 14:48:53.83ID:YZpvL1m9
5.1から使い始めた初心者です。
質問なのですが、MacのEl CapitanにOSをアップグレードしてからか
最近やたらUnityが重いです。
よく見たら、Unityエディタの右下に青いバーがあり、なにか処理をしているっぽいのです。
「7/11 Light Transport 5 jobs」など、〜 jobs という表示で、何種類かあるようです。
前から出ていたものかもしれませんが、公式リファレンスで「jobs」で検索しても何もヒットしないのですが
このバーは何でしょうか?
これのせいで重い気がするのですが・・・なかなか処理が終わりそうにありません。
環境は3年前の秋に出たMacBook、Retinaのやつです。メモリは16Gで今のところ十分足りてます。
0374名前は開発中のものです。2015/12/04(金) 15:00:13.62ID:a7mz3d1a
0375名前は開発中の物です。2015/12/04(金) 15:02:20.65ID:DDRlSPWz
>>356
>>359
>>361
アドバイスありがとうございます!

359さんのxyzの連動ってどうすればいいのでしょうか?メカニムでやるのでしょうか?
四方向の移動設定はわかるのですが、メカニムでやった時X,Yの設定しかできないようだったので。
0376名前は開発中のものです。2015/12/04(金) 15:03:16.41ID:a7mz3d1a
>>373
なぜjobsで検索w
unity light transportでググるとなんかでてくるとおもうよ
0377名前は開発中のものです。2015/12/04(金) 15:34:49.24ID:YZpvL1m9
>>376
たしかにその方が良かったかもです・・・
公式リファレンスで検索したところいろいろ出てきたのですが、どれが関係してるのかわからず…
Google先生に聞くべきでした。

その結果、どうやら大きいキューブがあることが原因っぽいような、そうでもないような・・・
大きいキューブ4つを消してみたら多少は改善されました。
ありがとうございます。
0378名前は開発中のものです。2015/12/04(金) 16:21:57.97ID:XLTAUkIE
UnityそのもののUIの大きさとかフォントサイズとか変更したいんだけど、何でググって良いのかさえわからなくて困ってます。

【Unity UI】とかで検索するとinspector部分とかの文字サイズじゃなくてゲームのUIをカスタマイズするページばかりが引っかかってしまいます。
PC買い換えたら解像度が上がったせいでソフトウェアのUIが軒並み小さい…
0379名前は開発中のものです。2015/12/04(金) 16:54:04.59ID:LhrOBBwU
>>378
できない。
来年5月に5.4でRetina対応した時に何とかなるのかもしれない、という期待もある。
http://forum.unity3d.com/threads/how-to-change-font-size-in-unity-editor.149481/
0380名前は開発中のものです。2015/12/04(金) 17:22:48.86ID:YZpvL1m9
C#での動かし方の質問です。

マップ上を自動で歩き回る敵のオブジェクトを作ろうと思っています。
各方向に壁があるかを調べるために、本体から前、左右、後の4方向に判定を伸ばします。
そのうち、例えば前方と右に壁がないことがわかった時、その2方向からどちらかを抽選して
そちらに移動する・・・ということをやりたいと思っています。
その時、前方は60%、左右は30%、後ろは10%など変化をつけたいと思っています。

それぞれの判定が壁にぶつかったかどうかの判定はできると思うのですが、
その中から「壁にぶつかった」ものを選び、その中で抽選をする・・・という部分が
どうやるべきかがなかなか思いつきません。

こういう時に使うべき命令や、手法など、ヒントでもいいので頂けると助かります。
C#、というかプログラム自体が勉強し始めたばかりなので
ifやforを使って変数をこねくり回すのがやっとというくらいなので
わかりやすい言葉で教えていただけるとなお助かります。
0381名前は開発中のものです。2015/12/04(金) 18:05:32.87ID:XLTAUkIE
>>379
素早い回答ありがとうございます。
画面全体の拡大率を上げつつ対応を待ってみようと思います。
0382名前は開発中のものです。2015/12/04(金) 18:55:00.77ID:LhrOBBwU
>>380
unityっていうよりアルゴリズムの話の気はするがな。
壁にぶつかったもの、じゃなくて壁にぶつからなかったもの、だろう。
命令的に使うべきものはRandom.Range(a,b)くらいだ。

例えばだが

前後左右に壁判定をして結果がbool[4] detectとかに格納されている。壁があればtrue
float[4] weightにそれぞれ前・右・左・後の順で重み付けが格納されている
として

float total=0f;
for(int i=0;i<4;i++){
if(detect[i]==false)total+=weight[i];
}
float probability = Random.Range(0,total);
int direct;
for(direct=0;direct<3;direct++){
if(detect[direct]==false)total-=weight[direct];
if(total<0)break;
}

とかやればdirectが0なら前、1なら右〜という結果が残る。
探索距離にもよるが全方面がふさがっていた場合どうすんのかとかそういう問題はあって
ゲームの内容によってはこのままではバグ化することは考えられるが。
0383名前は開発中のものです。2015/12/04(金) 19:05:04.10ID:LhrOBBwU
しまった、Random.Rangeのフロート版とイント版の範囲を勘違いしてた
if(total<=0)break;
だな
03843802015/12/04(金) 19:26:31.30ID:YZpvL1m9
>>382
なるほど!
基本的な命令だけでここまでできるんですね…ちょっと感動しています。
配列は使ったことはないですが、書かれていることは概ねわかる範囲です。
ちょっと下から2番目のifの行が難しいけど…
5行目のprobabilityで有効な方向のウェイトの中から抽選してるのはわかります。
でもその後使わない??
うーん、わからない部分もあるけどちょっとやってみます!
光明が見えたのと、プログラムってすげー!って思ったよありがとうございます!
0385名前は開発中のものです。2015/12/04(金) 19:29:02.93ID:LhrOBBwU
>>384
ゴメン、そこも間違ってるw
for(direct=0;direct<3;direct++){
if(detect[direct]==false)probability-=weight[direct];
if(probability<=0)break;
}
だな
0386名前は開発中のものです。2015/12/04(金) 19:39:09.72ID:YZpvL1m9
>>385
理解できました!(たぶん!)
あと、for文ってこう活用するのかと目から鱗です。
ありがとうございます、プログラム難しくてへこたれそうになってたけどやる気出てきたよ!
0387名前は開発中のものです。2015/12/04(金) 19:43:36.95ID:WI4Qgc9H
>>375
そのメカニムで移動させた直後に、別途自身の座標取得して書き換えるだけですよ
こんな感じ↓で

Vector3 pos = obj.transform.position;//objは移動させたキャラ自身(GameObject)
pos.z = 1f - pos.y / 100;//キャラ描画の奥行き基点を1.0としてます
obj.transform.position = pos;

…というか移動でtransform.positionいじるはずだから、そこにzも一緒に放り込む処理追加するだけかと
0388名前は開発中のものです。2015/12/04(金) 22:00:38.05ID:t/zKap4N
コントローラーで操作できるようにしたかったのでこんな感じに書いてみたのですが、
ベクトルの大きさを表示してみたところ、上下左右をぴったり入力すると1と出ますが
斜め入力だと最大1.5ぐらいの大きさになってしまいました。
ゲームパッドのジョイスティックって三角関数のような円単位で表せられるものでは
ないのでしょうか?
そうであれば斜め入力で上下と等速にするためには、加筆しないといけないですよね。



private Vector2 JoyStick;

void Update () {
JoyStick = new Vector2 (Input.GetAxis("Horizontal") , Input.GetAxis("Vertical"));

if (JoyStick.magnitude > 0) {
transform.position += transform.forward * JoyStick.x * Time.deltaTime;
transform.position += transform.right * JoyStick.y * Time.deltaTime;
}
print (JoyStick.sqrMagnitude);
}
0389名前は開発中のものです。2015/12/04(金) 22:33:23.42ID:LhrOBBwU
>>388
アナログスティックはともかく十字キーはOnかOffだけだろう。
まぁ加筆自体は
JoyStick = new Vector2 (Input.GetAxis("Horizontal") , Input.GetAxis("Vertical"));
joyStick.Normalize();
だけでいいだろうが。
0390名前は開発中のものです。2015/12/04(金) 22:36:03.89ID:LhrOBBwU
ああ、それじゃダメか…
if(joyStick.sqrMagnitude>1)joyStick.Normalize();
かな
0391名前は開発中のものです。2015/12/05(土) 01:09:13.49ID:Ip323cCd
Macでの質問です。
El Capitanにアップデートしたところ、今まで使っていた痛MonoDevelopが起動しなくなりました。
痛の方を使っていた理由は、日本語入力ができるからです。
一度削除して入れ直してみても同様で、起動しようとすると原因不明のエラーで落ちます。

そこで、いろいろネット上を調べると、Xamarin Studioなら日本語入力できるとのことで
早速入れてみました。
バージョンは5.10.1でおそらく最新です。
しかし、日本語入力はできませんでした。
El Capitanで日本語入力のできている環境の方、いらっしゃいますか?
また、解決法などわかる方いましたらお願いしますm(_ _)m
03923882015/12/05(土) 02:00:05.01ID:iKztX7xZ
>>389
質問の意図をうまく表現できなくて申し訳ありません。
変数名がジョイスティックなのでアナログではないです。
せっかくジョイスティックを使うので、傾きを考慮して
最大値を1とし、中間の傾きも考慮したいために
質問した次第です。
0393名前は開発中のものです。2015/12/05(土) 02:36:03.65ID:tPuulIVh
こんな感じで2D格闘ゲームみたいにアニメーションに併せて箱の組み合わせで当たり判定を付けたいのですが
http://www.capcom.co.jp/blog/sf4/development_blog/2011/02/22_3050.html
アセットストアなどに良さそうなものないでしょうか?
今はBOXコリダーを置いてon/offでやってるのですが膨大になりすぎて…
0394名前は開発中のものです。2015/12/05(土) 02:58:27.63ID:B0/pRd/x
>>392
機器としてのジョイスティックが吐き出す縦軸横軸の数値が
君の言う円単位的なもの(恐らく正規化されているかということだと思うが)
になっているかと言われると恐らく違う。
物理的な作りにもよると思うが基本的に斜めに倒せばX=1 Y=1の数値を吐き出す。
イマドキのゲームパッドについているアナログスティックも大体同様だろう。
斜めに倒せばベクトルの大きさはルート2=1.414とかになる。
0395名前は開発中のものです。2015/12/05(土) 03:17:31.29ID:qe0RLnbZ
>>391
一通りやってみた
確かにmono developでは日本語入力対応してなかったし
Xamarinも惜しいとこで入力できなかった
でも痛、、の方は動いたし、日本語入力できたよ
動かないというのがどう動かないのかわからんから調べようがないけど
未認証アプリは動作しない設定のせいだったらFinderでアプリケーションから
右クリックで開く、から1度でも動かしとけばいけると思う
そうでないなら動作しない状況を教えて
0396名前は開発中のものです。2015/12/05(土) 03:21:17.22ID:qe0RLnbZ
あ、動いた痛のほうのバージョンは5.9.6ね
03973912015/12/05(土) 09:45:01.07ID:Ip323cCd
>>395
ありがとうございます。
動かないという部分を詳しくいうと
・Unityから起動しようとしたら真っ白いウィンドウが1秒くらい出た後に消え、
 「MonoDevelop-Unity が予期しない理由で終了しました。」と表示が出る
・Finderから単体を起動しようとしても同じ
・古いのを消し、新しいものを「けいごのなんとか」ブログから落としてきてインストール後
 開こうとすると「ネットから落としたものだけどいい?」と聞かれるので許可
 →同じようにFinderからでもUnityからでも「白いウィンドウ→予期しない理由で終了」となる

今気づいたのですが、昨日ブログにあるリンクから落としたものはFinderで情報を見ると
5.9.4となっているのが気になります(5.9.6ではない?)
Finderから「情報を見る」でバージョン確認でも5.9.6になっていますか?

El Capitanは10.11.1、環境はMacBook Pro (Retina, 13-inch, Late 2013)、メモリは16Gです
0398名前は開発中のものです。2015/12/05(土) 11:30:18.55ID:A+8m8HuO
Unity5.1のカラーピッカーの質問です。

HSVの理解が足りてないのかもしれませんが、
HSV(0,255,255)とHSV(359,255,255)って別の色の筈ですよね?

Unityのカラーピッカーで359を指定して、
一旦カラーピッカー閉じて開くと0に戻っていて、
なんだか359と0を同一にしているような気がします

というかHexColor見ても、
HSV(0,255,255)でFF0000
HSV(359,255,255)でもFF0000
なので、

もしかして、UnityのHSVバグってます?
それとも自分の計算と頭がバグってます?

よろしくお願いします
0399名前は開発中のものです。2015/12/05(土) 12:31:35.64ID:0UL6qy5F
>>398
推測なんだが内部的にHSVの形では保存していないのだろう。
実際UnityEngineにはHSVカラーの構造体とかないしね。
HSVのインターフェース部分だけがHSV構造体をもってるだけで
実際にシリアライズされてるデータは変換されたColor32だったら
359=0という処理をしていても不思議ではない
0400名前は開発中のものです。2015/12/05(土) 15:59:48.53ID:vToW6z9I
3Dサウンドに関して質問です。
動画のサウンドは3Dサウンドに対応していないのでしょうか?
0401名前は開発中のものです。2015/12/05(土) 16:47:24.16ID:ocXKSXt2
スマホ実機で実行してみたら画像がそれぞれにしょぼくなってました
画像の1つにオーバーライドにチェック入れてTruecolorにしたら
直ったけど全部の画像にこれやるのが普通なんでしょうか?
0402名前は開発中のものです。2015/12/05(土) 17:36:38.15ID:TKKOGjwy
>>401
複数選択で一度に変更できるよ
フォルダ細かく分けてるとめんどいけど
0403名前は開発中のものです。2015/12/05(土) 17:44:36.90ID:ocXKSXt2
ありがとうございます!
まとめて変更できたとは
メモリ使用量がちょっと心配だけど全部変更しちゃいます
0404名前は開発中のものです。2015/12/05(土) 18:24:43.14ID:6BZRm6u4
複数のSpriteからAnimationClipを動的に生成したい
http://www.gaprot.jp/pickup/tips/unity5_for_2d/

> Sprite アニメーションの AnimationClip を作るには
> UnityEditor パッケージに含まれているクラスを使う必要があり、
〜中略〜
> いざ Build を行う際には UnityEditor パッケージは Build の対象外となるため
> Build が出来ないという結果で終わってしまいます。

上で話題になってた2D強化って、ここら辺の仕様も変わるんだろうか
Clip数百個とか作りたくないなぁ
0405名前は開発中のものです。2015/12/05(土) 21:40:07.17ID:iKztX7xZ
>>394
よく見たら1.5ではなく1.15ぐらいでした。
数値的には納得いかないのですが、以下のコードにて無事に動作しました。
ありがとうございました。

private Vector2 JoyStick;
void Update () {
JoyStick = new Vector2 (Input.GetAxis("Horizontal") , Input.GetAxis("Vertical"));

if (JoyStick.magnitude > 1) {
JoyStick.Normalize ();
}
transform.position += -1* transform.forward * JoyStick.y * Time.deltaTime;
transform.position += transform.right * JoyStick.x * Time.deltaTime;
}
0406名前は開発中のものです。2015/12/05(土) 22:52:19.63ID:5cP0RmJy
>>391
>>397
もう解決したかもしれないけど。
「MonoDevelop-Unity 5.9 Preview Release」でググったら出てくる
Unity Communityのやつをダウンロードすると幸せになれるかも。
上のフォーラムの「Minimun Requirements」に記載されているバージョンが
あなたの使っているUnityの条件に合えばだけど。

今のところうちのEl Capitanでは普通に日本語打てるし動作も問題ない。
ちなみに数日待つとUnity5.3が出るけどそれには上のMonoDevelopが含まれるってさ。
04073912015/12/05(土) 23:56:34.22ID:Ip323cCd
>>406
おおお!幸せになれました!
そこのをダウンロードしてみて、開く前に情報を見たところ
やっぱりなぜか「5.9.4」となってて、あーまたダメか…と思ったんですが
こっちは開くことができ、日本語入力もできました!
ありがとうございます!
04083912015/12/06(日) 00:04:50.30ID:SqhYBxP8
ちなみに開いてからAbout MonoDevelopで確認するとちゃんと5.9.6になってる…謎
04093982015/12/06(日) 12:37:32.08ID:Xo25Ei6c
>>399
ありがとうございます〜
コード書いてると、RGBよりHSVの方が出番多いような気もするので、
気持ち悪いなーと思ってしまいます
0410名前は開発中のものです。2015/12/06(日) 12:53:57.93ID:M7EELMn9
>>408
痛のほうも同様だy,多分中身は同じと思うコアの部分はね
0411名前は開発中のものです。2015/12/06(日) 13:41:50.12ID:uKAERiPd
ネット麻雀みたいなのを支えるBaasでやすいのってないかな?
Photon程のリアルタイム性がなくていい代わりに安くてUnityから使いやすいのがほしいんだけど・・・・だれか教えて!
0412名前は開発中のものです。2015/12/06(日) 14:44:59.63ID:698J1662
Google App Engineかな
Datastoreの使い方間違うと課金膨れ上がるけど、上手くやればユーザ増えるまでは無料枠で捌けると思うよ
0413名前は開発中のものです。2015/12/06(日) 18:17:22.09ID:uKAERiPd
Google App Engineは確かに忘れてました
料金を調べてみます
趣味でゲームを作ろうと思っているのですが毎月数万円マイナスだときついので安ければ安いほど助かるんです
0414名前は開発中のものです。2015/12/06(日) 18:24:04.50ID:tut05Xyo
void OnCollisionStay(Collision col)
{
if (col.gameObject.name == "Cube(Clone)")
{
Destroy(gameObject);
}
}

このScriptを破棄したいオブジェクトAにアタッチして
Cube(Clone)に接触したらオブジェクトAを破棄するようにしているのですが
"2つ以上のCube(Clone)と接触したら破棄する"といった条件はどう書いたらいいですかね?
0415名前は開発中のものです。2015/12/06(日) 19:02:41.83ID:5yO0Yl9X
新しいPCにUnity入れたんだけど30分毎に落ちる・・・
0416名前は開発中のものです。2015/12/06(日) 19:23:47.40ID:y/4U1a0N
>>414
いくつぶつかっている、みたいなのを判別してくれる便利関数はない。
自分でCollisionEnter,CollisionExitとかで数えるしかないな。
0417名前は開発中の物です。2015/12/06(日) 19:45:59.82ID:z4APy23j
>>387
すいません、スクリプト自体はコピペで書いてある文字は全然わからないです・・・。
下のスクリプトで動かしているのですが、どう書けば良いのでしょうか・・・
void Update () {
if(animator)
{
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
walking = true;
if (h > 0) {
directionX = 1;
directionY = 0;
} else if (h < 0){
directionX = -1;
directionY = 0;
} else if (v > 0) {
directionX = 0;
directionY = 1;
} else if (v < 0){
directionX = 0;
directionY = -1;
} else {
walking = false;
}
if (walking) {
transform.Translate(new Vector3(directionX, directionY, 0) * Time.deltaTime * 0.5f);
}
animator.SetFloat("DirectionX", directionX);
animator.SetFloat("DirectionY", directionY);
animator.SetBool("Walking", walking);
0418名前は開発中のものです。2015/12/06(日) 20:11:29.30ID:M7dP0Kw0
クイズに答えるだけで「プログラミングの勉強」ができるWebサービスたちにハマる!
http://plus.appgiga.jp/masatolan/2014/07/29/53133/
小学生でもゲーム制作を可能にするWeb統合エディタ「Tynker」が、
むしろ大人がハマると話題に!
http://plus.appgiga.jp/masatolan/2015/06/05/56144/
3Dゲームを直接ブラウザ上で制作・公開可能な「Goo Create」が楽しすぎる!
http://plus.appgiga.jp/masatolan/2014/11/28/54632/
プログラミングの勉強を本気でWebゲーム化した「CodinGame」が時間泥棒確定!
http://plus.appgiga.jp/masatolan/2014/10/03/53923/
スマホで、プログラミングが勉強できる3Dロボット対戦「Hakitzu」がヤバ過ぎる!
http://plus.appgiga.jp/masatolan/2014/12/12/54802/
0419名前は開発中のものです。2015/12/06(日) 20:39:51.98ID:c7kqWhqV
題名があると読まなくていい記事だと判断できて便利だな
0420名前は開発中のものです。2015/12/06(日) 20:56:01.16ID:mgi24f37
自作のクラスの、他のクラスからの読み込みについて質問です。

2Dシューティングゲーム - 第04回 敵を作成しよう
https://github.com/unity3d-jp-tutorials/2d-shooting-game/wiki/%E7%AC%AC04%E5%9B%9E-%E6%95%B5%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%82%88%E3%81%86

上記チュートリアルの「Spaceship.cs」は、
使う際は下記のようにインスタンス化?できています。(自分で試しても出来ました)
//----------------------------------
public class Player : MonoBehaviour
{
// Spaceshipコンポーネント
Spaceship spaceship;
IEnumerator Start ()
{
// Spaceshipコンポーネントを取得
spaceship = GetComponent<Spaceship> ();
spaceship.Shot (transform);
//---

対して、今自分で作ったソースでは下記のようにしないと
インスタンスがnullだと言われてエラー終了してしまいます。
//----------------------------------
public void Save() ←実際に使うメソッド
{
Spaceship spaceship = gameObject.AddComponent<Spaceship>();
spaceship.save(text);
//---

この挙動?の違いはどこからくるのでしょうか。
ご教示お願いしますm(_ _)m
0421名前は開発中のものです。2015/12/06(日) 22:07:18.04ID:e8MyX0tc
>>420
GetComponent<T>()はそのスクリプトが動いているGameObjectにアタッチされているTコンポーネントを取得する、なければnullが返る。
AddComponent<T>()はそのスクリプトが動いているGameObjectにTコンポーネントをアタッチして追加されたものを返す。
つまりそのスクリプトが動いているGameObjectにSpaceshipコンポーネントがアタッチされていないだけだと思う

とりあえずヒエラルキーでそのGameObjectを選択し、インスペクタからSpaceshipを追加すれば動くよ
このような別のコンポーネントがないとまともに動かないスクリプトの場合、付け忘れを避けるために[RequireComponent(typeof(T))]をつけておくといい

余計なお世話かもしれないが学び始めなら公式のマニュアルとリファレンスは読む習慣をつけることをお勧めしとくよ
わからない名前が出たらとりあえずググって公式のマニュアルとリファレンスを読めば自己解決出来るケースが増えるから自分のペースで開発出来る様になる
いちいち躓いて人に聞いてたらゲーム作る前に嫌になって挫折しそうな気がするから自己解決の方法を多く持つのは習得への近道だと思うよ

調べてもわからない事が出てきたらまたここに聞きに来ればわかる範囲で答えるから頑張れ
0422名前は開発中のものです。2015/12/06(日) 22:08:56.62ID:tut05Xyo
>>416
ありがとうございます
下のScriptで無事出来ました〜

int hitNum = 0; //cubeと接触した回数

void OnCollisionEnter(Collision col)
{
if (col.gameObject.name == "Cube(Clone)")
{
hitNum += 1; //接触したら接触回数を1増やす

if(hitNum >= 2) //接触回数が2回以上でオブジェクトを破棄
{
Destroy(gameObject);
}
}
}
0423名前は開発中のものです。2015/12/06(日) 23:00:24.87ID:jPU/1I8Z
ここまで丁寧に説明してくれる人がいる事と
それまでの無知全開の流れに良くも悪くもこのスレらしいなと思うのです
0424名前は開発中のものです。2015/12/06(日) 23:02:21.00ID:mgi24f37
>>421
チュートリアルの方調べたら、ご指摘の通りPlayerのprefabにスクリプトがアタッチされていました。
よくわかりました。

リファレンス、自分では調べたつもりなのですが折れるのが早いのかもしれません…
マニュアルは途中まで読んで飽きてチュートリアルに移ってしまったので、
読破するようにしますorz
助かりました、ありがとうございます!
0425名前は開発中のものです。2015/12/06(日) 23:11:08.96ID:mgi24f37
リファレンスにバッチリ載ってますね…
なんで見なかったんだろうorz
0426名前は開発中のものです。2015/12/07(月) 00:03:16.79ID:6i/uTLhj
>>424-425
マニュアルもリファレンスも全文読む必要はないというか読んでも最初はわからない単語だらけで理解出来ないで飽きると思う

チュートリアルなどをやっててわからなくなったらその部分を見る方が実体験に基づいて調べるから見落としにくいし覚えやすい
個人的には調べたついでに類似メソッドとの違いを把握出来るとより好ましいと思う

例えばGetComponent<T>を調べたらGetComponents<T>やGetComponentInChildren<T>などを理解しておくと応用が利くといった具合

小さなことから少しずつ覚えて行けばそのうち全体が把握出来る様になるさ
0427名前は開発中のものです。2015/12/07(月) 00:38:10.47ID:nzWuz8jB
複数のオブジェクトを仮置きしておいたのを、
いっぺんに指定のprefabに置き換える方法ってありますか?
0428名前は開発中のものです。2015/12/07(月) 01:17:30.55ID:kAr350d2
>>417
少なくともコピペしたコードが何をしてるのか理解しようとしてみましょう
そうすればできることがどんどん増えていきますよ

transform.Translate(new Vector3(directionX, directionY, 0) * Time.deltaTime * 0.5f);
ここで移動後の位置を設定してるのはわかるよね?
この「Vector3(directionX, directionY, 0)」がX,Y,Zの指定です

で、ここのZ(今「0」が設定されてる)を直接変えたいところだけど、
「Time.deltaTime * 0.5f」がかけてあり、0.5秒あたりの移動量で設定されてるから、
このtransform.Translateの処理直後に↓これ突っ込んでみたらと

Vector3 pos = transform.position;//今いる場所のxyz
pos.z = 1f - pos.y / 100;//z変更。キャラ描画の奥行き基点を1.0としてyで計算
transform.position = pos;//変更したxyzを上書き

プレイヤー以外のキャラが動くならそちらの処理にも対処入れておかないといけないね

あと2Dということはマップチップも配置してるよね?
ならばマップチップの座標にもZが要るかもね(マップチップは層が違うから基点を変える必要ありです)
マップなどはレイヤーで管理してるとは思うけど…影響がでるなら配置時に設定が必要

そもそもz使って管理するのがメカニムと相性良いかどうかは微妙だけど、作り次第かな
0429名前は開発中のものです。2015/12/07(月) 01:19:27.31ID:Uj4/ZsVJ
>>427
置き換えられる側のStartやAwakeで置き換えればいいんでないの?
Editorの話?
0430名前は開発中のものです。2015/12/07(月) 03:17:41.06ID:2ZS+ix9z
Editor想定でザクッと書いてみた
using UnityEngine;
using UnityEditor;
public class ReplaceToPrefab : EditorWindow {
[MenuItem(
0431名前は開発中のものです。2015/12/07(月) 03:28:42.76ID:2ZS+ix9z
ミスったので以下に置いてきた
http://www.dotup.org/uploda/www.dotup.org642133.txt.html
なお、ヒエラルキー上での順序等細かなことはしていない適宜修正されたし
0432名前は開発中のものです。2015/12/07(月) 03:42:13.20ID:2ZS+ix9z
>>431
自己レスすまん使い方書き忘れ、眠くてダメぽ

ソース読めばわかると思うが、一応以下使い方
メニュー>Window>ReplaceToPrefabという項目を選択
出てきたウインドウで置換先のプレハブを指定する
ヒエラルキーで置き換えたいオブジェクトを全て選択
Replaceボタンをクリックで置き換える

テキトーに書いたためアンドゥが出来ない
細心の注意を払いつつ自己責任で使ってくれ
0433名前は開発中のものです。2015/12/07(月) 12:28:22.25ID:OKonrqZH
質問です。

c#初心者で勉強中なのですが、よく使うであろう処理を関数にしてみようと思いました。
必要な時はそれに値を入れて、戻り値?をもらうような。
そこで、疑問が湧きました。
その「これこれこういう処理を○○という関数にする」という書き方はたぶん調べればわかるんですが
それを書いたスクリプトは、どこにどう置いておくものなのでしょう?
Unity上の、おそらくシーン上に置く必要がありますよね。
例えばその処理を実際に使用するスクリプトの上の方にでも書いておけばいいのでしょうか?
そうすると他のスクリプトからもその関数を使用する場合、わざわざ他のGameObjectを参照して…とか
やらなければいけないのでしょうか?
根本的なことだと思うのですが、調べ方もよくわからず困っています。
わかる方いましたら教えていただけると助かります。
0434名前は開発中のものです。2015/12/07(月) 12:56:19.37ID:Uj4/ZsVJ
>>433
いや、プロジェクトに含めて置けばクラスとして参照できるよ
便利関数をまとめとくだけなら、とりあえずstatic classにして静的メソッドとしておけば良いかと。

public static class Utils{
public static int Hoge(){
return 123;
}
}
別ファイルから「Debug.Log(Utils.Hoge())」とすれば123が得られる
0435名前は開発中のものです。2015/12/07(月) 13:00:57.01ID:Uj4/ZsVJ
調べ方だけど、とりあえずC#の基礎でぐぐればまとまったサイトいくらか見つかるだろうから、分かる範囲で斜め読みしておけば良いかと
Unityスレで言語の基礎知識聞くとスレ違い扱いされて仕方ないところなので、基礎的な質問はプログラム板で初心者スレ探してみて

MonoBehaviourやコンポーネント絡むとあちらではスレ違い扱いされるので、この辺はぐぐって出てくるのがUnityかどうかで判断すればいいかと
0436名前は開発中のものです。2015/12/07(月) 13:15:25.29ID:5Zo01j7L
unity5.2.1p4において、
player settingのiOS のsplash imageの設定で、
規定のサイズの画像を入れた後にXcodeで書き出して実機テストすると、
端末サイズ(自分の場合640×1136)のsplashの後に
640×960のsplashが表示されて困ってます。
(端末と画像の解像度が違うので画像が潰れている)
おそらくsplash画像をフェードアウトさせる為にunity側でsplashを表示してると思われるのですが、
解決方法はありませんか?
04374332015/12/07(月) 13:16:24.23ID:OKonrqZH
>>434,435
ありがとうございます。
プロジェクトフォルダに置いておけばいいのですね。
関数を作ってやってみます。

質問に関しては、Unity上のどこに置くのだろう?という質問だったのでここで聞きました。
不適切な質問でしたらすみませんでした…
0438名前は開発中のものです。2015/12/07(月) 16:24:10.23ID:IwWiwmZk
ゲームオブジェクトにアタッチするC#スクリプトで、
public変数を幾つかのグループ(この場合は効果音)に分け、
それぞれインスペクター上で折りたたみ表示にしたいと思います。

現在、以下のように内部にクラスを用意し、それを実現しています。

public class Player : MonoBehaviour
{
  [TooltipAttribute("効果音")]
  public SoundEffects sfx;

  [System.Serializable]
  public class SoundEffects
  {
    [TooltipAttribute("効果音:攻撃")]
    public AudioClip attack;

    [TooltipAttribute("効果音:ジャンプ")]
    public AudioClip jump;
  }
}

このコードでは SoundEffects クラスがありますが、一度しか使われておらず
なんだかモヤモヤしてしまいます。
より簡潔な書き方があれば教えてください。

エディタ拡張のFoldOutも考えましたが、変数をグループ分けするだけだと
ちょっと大げさすぎるように感じました。
([SerializeField]のような属性で表現できるなら良いのですが)
0439名前は開発中のものです。2015/12/07(月) 16:42:56.04ID:RRr2nEu0
>>438
折りたためなくてもいいなら[Header("効果音")]でもつけておけばいいと思う

折りたたみたいならエディタ拡張で表示を弄るかクラスを作るしかないが、インナークラスにせずにEnemyクラスとかで使いまわすとか再利用する事は想定されないのかな?
■ このスレッドは過去ログ倉庫に格納されています