【3Dゲームエンジン】Unity質問スレッド21 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2015/11/18(水) 00:53:16.90ID:6AegDlBRWindows/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/
0339名前は開発中のものです。
2015/12/03(木) 00:57:56.01ID:IjCFo0mtたまにいるけどこういうUnityでハイエンドやってみたい人を頑なに拒む奴らって何なんだろ。
既にモバイル系以外でもUEと競合し始めてるのに。
日本しか見てないのかねえ。
0340名前は開発中のものです。
2015/12/03(木) 00:59:38.69ID:jKybS+CMなるべくAttributeの拡張だけでInspectorの表示を整えたいのですが、
折りたたみや、MinMaxSliderのような複数の変数に関わる拡張は、
Attributeじゃできませんかね?
0341名前は開発中のものです。
2015/12/03(木) 02:59:36.74ID:JvyMPJklこれ省けないですか?
0342名前は開発中のものです。
2015/12/03(木) 03:27:45.67ID:YLpL1k0k0343名前は開発中のものです。
2015/12/03(木) 04:39:41.21ID:JvyMPJkl見落としてました・・・ありがとう
0344名前は開発中のものです。
2015/12/03(木) 08:38:46.33ID:HJv0QqkjUE4さわりゃわかるがデフォルトのレンダリング性能で差がつきすぎだもん
まぁUE4でモバイルやWebプレイヤーはまだ厳しいものがあるし
ネットコードはUE4のが圧倒的に優秀だし作るゲームで使い分けるのが正義
0345名前は開発中のものです。
2015/12/03(木) 08:57:24.67ID:Cw0hiiOI0346名前は開発中のものです。
2015/12/03(木) 10:20:11.31ID:z+lZgBRH今の所両エンジンのカバー範囲は被ってないんだから作りたいものに併せて選べって話だろ
0347名前は開発中のものです。
2015/12/03(木) 10:40:04.79ID:74kRDXmTスカスカな話になるな。
0348名前は開発中のものです。
2015/12/03(木) 14:32:28.38ID:+IQa1UHTquarternionで合成ベクトルで頑張る
0349名前は開発中のものです。
2015/12/03(木) 14:36:10.33ID:X/SX/RH1オススメのサイトとかある?
0350名前は開発中のものです。
2015/12/03(木) 15:04:43.04ID:kkgGARlzSEは多少リアルな方が合うかもしれんが
0351名前は開発中のものです。
2015/12/03(木) 15:09:53.17ID:+IQa1UHT0352名前は開発中のものです。
2015/12/03(木) 17:09:11.77ID:YLpL1k0k0353名前は開発中のものです。
2015/12/03(木) 17:30:49.01ID:FVAAXw7Wニコニ・コモンズ(ドメインが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:zV8iJfu30355名前は開発中の物です。
2015/12/03(木) 19:14:19.00ID:FWVmqhf9プレイキャラを操作してマップを歩き回りオブジェクトを収集するような感じの作品です。
参考にmachinaliumといった同じジャンルの有名作品をプレイしたりしていて不思議に思った事があります。
2Dの場合でNPCの周りを歩き回って、オブジェクトの後ろ側に行く場合は操作キャラが背面に、
前に行く場合は前面に出るというのはどうしたら良いのでしょうか?また、ソーティングレイヤーは関係ありますか?
0356名前は開発中のものです。
2015/12/03(木) 19:23:28.80ID:gsygo5bm0357名前は開発中のものです。
2015/12/03(木) 20:50:44.69ID:uuZKrhtQ0358名前は開発中のものです。
2015/12/03(木) 21:08:05.86ID:gsygo5bmついでにサーバサイド検証まで世話みてくれると嬉しいんだけどもw
0359名前は開発中のものです。
2015/12/03(木) 21:50:13.44ID:RzBc1rD7手段として良いかは置いておいて、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:RzBc1rD70361名前は開発中のものです。
2015/12/03(木) 22:18:51.09ID:YLpL1k0kやっぱ2DでもZ軸を使っちゃうのが楽そうよね
ゲームによっては、ライトとかちょい修正が必要かもしらん
0362名前は開発中のものです。
2015/12/03(木) 22:35:53.21ID:wMT3LI/N0363名前は開発中のものです。
2015/12/03(木) 23:57:00.86ID:wGCZChKT一応、12月8日にリリース予定だってよ
0364名前は開発中のものです。
2015/12/04(金) 00:01:01.03ID:WI4Qgc9H手前のほうがZ小さいから数値逆だわな
ともかく「基準値-Y/100な」どで計算してZに突っ込めば
>>361
重なり順で真っ先に思いつくのがCSSのz-indexだったもんで
これが個人的には分かりやすいし楽な手法だわ
ライトは確かに気をつけなきゃいけないね。意識してなかったわ、ありがとう
0365名前は開発中のものです。
2015/12/04(金) 00:20:21.05ID:JhBH9r/sサンクスもうすぐだな
今作ってるやつはそれで作れそうで助かった
0366名前は開発中のものです。
2015/12/04(金) 00:27:18.50ID:9jpyH6000367名前は開発中のものです。
2015/12/04(金) 01:42:59.89ID:qTSzVmdeWebプレイヤーの方はGetAxisの入力が離しても0に戻らない感じで
スタンドアロンの方は一部オブジェクトが動かない
0368名前は開発中のものです。
2015/12/04(金) 10:54:59.53ID:NNnsdri/もう完全に棲み分けが始まって両者ともこの方向性で進んでる
0369名前は開発中のものです。
2015/12/04(金) 11:00:16.75ID:519YdUSN0370名前は開発中のものです。
2015/12/04(金) 11:27:45.35ID:KcUV2OvHUnityが開拓した「お手軽に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質問なのですが、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:a7mz3d1a0375名前は開発中の物です。
2015/12/04(金) 15:02:20.65ID:DDRlSPWz>>359
>>361
アドバイスありがとうございます!
359さんのxyzの連動ってどうすればいいのでしょうか?メカニムでやるのでしょうか?
四方向の移動設定はわかるのですが、メカニムでやった時X,Yの設定しかできないようだったので。
0376名前は開発中のものです。
2015/12/04(金) 15:03:16.41ID:a7mz3d1aなぜjobsで検索w
unity light transportでググるとなんかでてくるとおもうよ
0377名前は開発中のものです。
2015/12/04(金) 15:34:49.24ID:YZpvL1m9たしかにその方が良かったかもです・・・
公式リファレンスで検索したところいろいろ出てきたのですが、どれが関係してるのかわからず…
Google先生に聞くべきでした。
その結果、どうやら大きいキューブがあることが原因っぽいような、そうでもないような・・・
大きいキューブ4つを消してみたら多少は改善されました。
ありがとうございます。
0378名前は開発中のものです。
2015/12/04(金) 16:21:57.97ID:XLTAUkIE【Unity UI】とかで検索するとinspector部分とかの文字サイズじゃなくてゲームのUIをカスタマイズするページばかりが引っかかってしまいます。
PC買い換えたら解像度が上がったせいでソフトウェアのUIが軒並み小さい…
0379名前は開発中のものです。
2015/12/04(金) 16:54:04.59ID:LhrOBBwUできない。
来年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マップ上を自動で歩き回る敵のオブジェクトを作ろうと思っています。
各方向に壁があるかを調べるために、本体から前、左右、後の4方向に判定を伸ばします。
そのうち、例えば前方と右に壁がないことがわかった時、その2方向からどちらかを抽選して
そちらに移動する・・・ということをやりたいと思っています。
その時、前方は60%、左右は30%、後ろは10%など変化をつけたいと思っています。
それぞれの判定が壁にぶつかったかどうかの判定はできると思うのですが、
その中から「壁にぶつかった」ものを選び、その中で抽選をする・・・という部分が
どうやるべきかがなかなか思いつきません。
こういう時に使うべき命令や、手法など、ヒントでもいいので頂けると助かります。
C#、というかプログラム自体が勉強し始めたばかりなので
ifやforを使って変数をこねくり回すのがやっとというくらいなので
わかりやすい言葉で教えていただけるとなお助かります。
0381名前は開発中のものです。
2015/12/04(金) 18:05:32.87ID:XLTAUkIE素早い回答ありがとうございます。
画面全体の拡大率を上げつつ対応を待ってみようと思います。
0382名前は開発中のものです。
2015/12/04(金) 18:55:00.77ID:LhrOBBwUunityっていうよりアルゴリズムの話の気はするがな。
壁にぶつかったもの、じゃなくて壁にぶつからなかったもの、だろう。
命令的に使うべきものは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:LhrOBBwUif(total<=0)break;
だな
0384380
2015/12/04(金) 19:26:31.30ID:YZpvL1m9なるほど!
基本的な命令だけでここまでできるんですね…ちょっと感動しています。
配列は使ったことはないですが、書かれていることは概ねわかる範囲です。
ちょっと下から2番目のifの行が難しいけど…
5行目のprobabilityで有効な方向のウェイトの中から抽選してるのはわかります。
でもその後使わない??
うーん、わからない部分もあるけどちょっとやってみます!
光明が見えたのと、プログラムってすげー!って思ったよありがとうございます!
0385名前は開発中のものです。
2015/12/04(金) 19:29:02.93ID:LhrOBBwUゴメン、そこも間違ってる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理解できました!(たぶん!)
あと、for文ってこう活用するのかと目から鱗です。
ありがとうございます、プログラム難しくてへこたれそうになってたけどやる気出てきたよ!
0387名前は開発中のものです。
2015/12/04(金) 19:43:36.95ID:WI4Qgc9Hそのメカニムで移動させた直後に、別途自身の座標取得して書き換えるだけですよ
こんな感じ↓で
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アナログスティックはともかく十字キーはOnかOffだけだろう。
まぁ加筆自体は
JoyStick = new Vector2 (Input.GetAxis("Horizontal") , Input.GetAxis("Vertical"));
joyStick.Normalize();
だけでいいだろうが。
0390名前は開発中のものです。
2015/12/04(金) 22:36:03.89ID:LhrOBBwUif(joyStick.sqrMagnitude>1)joyStick.Normalize();
かな
0391名前は開発中のものです。
2015/12/05(土) 01:09:13.49ID:Ip323cCdEl Capitanにアップデートしたところ、今まで使っていた痛MonoDevelopが起動しなくなりました。
痛の方を使っていた理由は、日本語入力ができるからです。
一度削除して入れ直してみても同様で、起動しようとすると原因不明のエラーで落ちます。
そこで、いろいろネット上を調べると、Xamarin Studioなら日本語入力できるとのことで
早速入れてみました。
バージョンは5.10.1でおそらく最新です。
しかし、日本語入力はできませんでした。
El Capitanで日本語入力のできている環境の方、いらっしゃいますか?
また、解決法などわかる方いましたらお願いしますm(_ _)m
0392388
2015/12/05(土) 02:00:05.01ID:iKztX7xZ質問の意図をうまく表現できなくて申し訳ありません。
変数名がジョイスティックなのでアナログではないです。
せっかくジョイスティックを使うので、傾きを考慮して
最大値を1とし、中間の傾きも考慮したいために
質問した次第です。
0393名前は開発中のものです。
2015/12/05(土) 02:36:03.65ID:tPuulIVhhttp://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機器としてのジョイスティックが吐き出す縦軸横軸の数値が
君の言う円単位的なもの(恐らく正規化されているかということだと思うが)
になっているかと言われると恐らく違う。
物理的な作りにもよると思うが基本的に斜めに倒せばX=1 Y=1の数値を吐き出す。
イマドキのゲームパッドについているアナログスティックも大体同様だろう。
斜めに倒せばベクトルの大きさはルート2=1.414とかになる。
0395名前は開発中のものです。
2015/12/05(土) 03:17:31.29ID:qe0RLnbZ一通りやってみた
確かにmono developでは日本語入力対応してなかったし
Xamarinも惜しいとこで入力できなかった
でも痛、、の方は動いたし、日本語入力できたよ
動かないというのがどう動かないのかわからんから調べようがないけど
未認証アプリは動作しない設定のせいだったらFinderでアプリケーションから
右クリックで開く、から1度でも動かしとけばいけると思う
そうでないなら動作しない状況を教えて
0396名前は開発中のものです。
2015/12/05(土) 03:21:17.22ID:qe0RLnbZ0397391
2015/12/05(土) 09:45:01.07ID:Ip323cCdありがとうございます。
動かないという部分を詳しくいうと
・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+8m8HuOHSVの理解が足りてないのかもしれませんが、
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推測なんだが内部的にHSVの形では保存していないのだろう。
実際UnityEngineにはHSVカラーの構造体とかないしね。
HSVのインターフェース部分だけがHSV構造体をもってるだけで
実際にシリアライズされてるデータは変換されたColor32だったら
359=0という処理をしていても不思議ではない
0400名前は開発中のものです。
2015/12/05(土) 15:59:48.53ID:vToW6z9I動画のサウンドは3Dサウンドに対応していないのでしょうか?
0401名前は開発中のものです。
2015/12/05(土) 16:47:24.16ID:ocXKSXt2画像の1つにオーバーライドにチェック入れてTruecolorにしたら
直ったけど全部の画像にこれやるのが普通なんでしょうか?
0402名前は開発中のものです。
2015/12/05(土) 17:36:38.15ID:TKKOGjwy複数選択で一度に変更できるよ
フォルダ細かく分けてるとめんどいけど
0403名前は開発中のものです。
2015/12/05(土) 17:44:36.90ID:ocXKSXt2まとめて変更できたとは
メモリ使用量がちょっと心配だけど全部変更しちゃいます
0404名前は開発中のものです。
2015/12/05(土) 18:24:43.14ID:6BZRm6u4http://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よく見たら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>>397
もう解決したかもしれないけど。
「MonoDevelop-Unity 5.9 Preview Release」でググったら出てくる
Unity Communityのやつをダウンロードすると幸せになれるかも。
上のフォーラムの「Minimun Requirements」に記載されているバージョンが
あなたの使っているUnityの条件に合えばだけど。
今のところうちのEl Capitanでは普通に日本語打てるし動作も問題ない。
ちなみに数日待つとUnity5.3が出るけどそれには上のMonoDevelopが含まれるってさ。
0407391
2015/12/05(土) 23:56:34.22ID:Ip323cCdおおお!幸せになれました!
そこのをダウンロードしてみて、開く前に情報を見たところ
やっぱりなぜか「5.9.4」となってて、あーまたダメか…と思ったんですが
こっちは開くことができ、日本語入力もできました!
ありがとうございます!
0408391
2015/12/06(日) 00:04:50.30ID:SqhYBxP80409398
2015/12/06(日) 12:37:32.08ID:Xo25Ei6cありがとうございます〜
コード書いてると、RGBよりHSVの方が出番多いような気もするので、
気持ち悪いなーと思ってしまいます
0410名前は開発中のものです。
2015/12/06(日) 12:53:57.93ID:M7EELMn9痛のほうも同様だy,多分中身は同じと思うコアの部分はね
0411名前は開発中のものです。
2015/12/06(日) 13:41:50.12ID:uKAERiPdPhoton程のリアルタイム性がなくていい代わりに安くてUnityから使いやすいのがほしいんだけど・・・・だれか教えて!
0412名前は開発中のものです。
2015/12/06(日) 14:44:59.63ID:698J1662Datastoreの使い方間違うと課金膨れ上がるけど、上手くやればユーザ増えるまでは無料枠で捌けると思うよ
0413名前は開発中のものです。
2015/12/06(日) 18:17:22.09ID:uKAERiPd料金を調べてみます
趣味でゲームを作ろうと思っているのですが毎月数万円マイナスだときついので安ければ安いほど助かるんです
0414名前は開発中のものです。
2015/12/06(日) 18:24:04.50ID:tut05Xyo{
if (col.gameObject.name == "Cube(Clone)")
{
Destroy(gameObject);
}
}
このScriptを破棄したいオブジェクトAにアタッチして
Cube(Clone)に接触したらオブジェクトAを破棄するようにしているのですが
"2つ以上のCube(Clone)と接触したら破棄する"といった条件はどう書いたらいいですかね?
0415名前は開発中のものです。
2015/12/06(日) 19:02:41.83ID:5yO0Yl9X0416名前は開発中のものです。
2015/12/06(日) 19:23:47.40ID:y/4U1a0Nいくつぶつかっている、みたいなのを判別してくれる便利関数はない。
自分でCollisionEnter,CollisionExitとかで数えるしかないな。
0417名前は開発中の物です。
2015/12/06(日) 19:45:59.82ID:z4APy23jすいません、スクリプト自体はコピペで書いてある文字は全然わからないです・・・。
下のスクリプトで動かしているのですが、どう書けば良いのでしょうか・・・
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:M7dP0Kw0http://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:c7kqWhqV0420名前は開発中のものです。
2015/12/06(日) 20:56:01.16ID:mgi24f372Dシューティングゲーム - 第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:e8MyX0tcGetComponent<T>()はそのスクリプトが動いているGameObjectにアタッチされているTコンポーネントを取得する、なければnullが返る。
AddComponent<T>()はそのスクリプトが動いているGameObjectにTコンポーネントをアタッチして追加されたものを返す。
つまりそのスクリプトが動いているGameObjectにSpaceshipコンポーネントがアタッチされていないだけだと思う
とりあえずヒエラルキーでそのGameObjectを選択し、インスペクタからSpaceshipを追加すれば動くよ
このような別のコンポーネントがないとまともに動かないスクリプトの場合、付け忘れを避けるために[RequireComponent(typeof(T))]をつけておくといい
余計なお世話かもしれないが学び始めなら公式のマニュアルとリファレンスは読む習慣をつけることをお勧めしとくよ
わからない名前が出たらとりあえずググって公式のマニュアルとリファレンスを読めば自己解決出来るケースが増えるから自分のペースで開発出来る様になる
いちいち躓いて人に聞いてたらゲーム作る前に嫌になって挫折しそうな気がするから自己解決の方法を多く持つのは習得への近道だと思うよ
調べてもわからない事が出てきたらまたここに聞きに来ればわかる範囲で答えるから頑張れ
0422名前は開発中のものです。
2015/12/06(日) 22:08:56.62ID:tut05Xyoありがとうございます
下の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チュートリアルの方調べたら、ご指摘の通りPlayerのprefabにスクリプトがアタッチされていました。
よくわかりました。
リファレンス、自分では調べたつもりなのですが折れるのが早いのかもしれません…
マニュアルは途中まで読んで飽きてチュートリアルに移ってしまったので、
読破するようにしますorz
助かりました、ありがとうございます!
0425名前は開発中のものです。
2015/12/06(日) 23:11:08.96ID:mgi24f37なんで見なかったんだろうorz
0426名前は開発中のものです。
2015/12/07(月) 00:03:16.79ID:6i/uTLhjマニュアルもリファレンスも全文読む必要はないというか読んでも最初はわからない単語だらけで理解出来ないで飽きると思う
チュートリアルなどをやっててわからなくなったらその部分を見る方が実体験に基づいて調べるから見落としにくいし覚えやすい
個人的には調べたついでに類似メソッドとの違いを把握出来るとより好ましいと思う
例えば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少なくともコピペしたコードが何をしてるのか理解しようとしてみましょう
そうすればできることがどんどん増えていきますよ
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置き換えられる側のStartやAwakeで置き換えればいいんでないの?
Editorの話?
0430名前は開発中のものです。
2015/12/07(月) 03:17:41.06ID:2ZS+ix9zusing UnityEngine;
using UnityEditor;
public class ReplaceToPrefab : EditorWindow {
[MenuItem(
0431名前は開発中のものです。
2015/12/07(月) 03:28:42.76ID:2ZS+ix9zhttp://www.dotup.org/uploda/www.dotup.org642133.txt.html
なお、ヒエラルキー上での順序等細かなことはしていない適宜修正されたし
0432名前は開発中のものです。
2015/12/07(月) 03:42:13.20ID:2ZS+ix9z自己レスすまん使い方書き忘れ、眠くてダメぽ
ソース読めばわかると思うが、一応以下使い方
メニュー>Window>ReplaceToPrefabという項目を選択
出てきたウインドウで置換先のプレハブを指定する
ヒエラルキーで置き換えたいオブジェクトを全て選択
Replaceボタンをクリックで置き換える
テキトーに書いたためアンドゥが出来ない
細心の注意を払いつつ自己責任で使ってくれ
0433名前は開発中のものです。
2015/12/07(月) 12:28:22.25ID:OKonrqZHc#初心者で勉強中なのですが、よく使うであろう処理を関数にしてみようと思いました。
必要な時はそれに値を入れて、戻り値?をもらうような。
そこで、疑問が湧きました。
その「これこれこういう処理を○○という関数にする」という書き方はたぶん調べればわかるんですが
それを書いたスクリプトは、どこにどう置いておくものなのでしょう?
Unity上の、おそらくシーン上に置く必要がありますよね。
例えばその処理を実際に使用するスクリプトの上の方にでも書いておけばいいのでしょうか?
そうすると他のスクリプトからもその関数を使用する場合、わざわざ他のGameObjectを参照して…とか
やらなければいけないのでしょうか?
根本的なことだと思うのですが、調べ方もよくわからず困っています。
わかる方いましたら教えていただけると助かります。
0434名前は開発中のものです。
2015/12/07(月) 12:56:19.37ID:Uj4/ZsVJいや、プロジェクトに含めて置けばクラスとして参照できるよ
便利関数をまとめとくだけなら、とりあえず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/ZsVJUnityスレで言語の基礎知識聞くとスレ違い扱いされて仕方ないところなので、基礎的な質問はプログラム板で初心者スレ探してみて
MonoBehaviourやコンポーネント絡むとあちらではスレ違い扱いされるので、この辺はぐぐって出てくるのがUnityかどうかで判断すればいいかと
0436名前は開発中のものです。
2015/12/07(月) 13:15:25.29ID:5Zo01j7Lplayer settingのiOS のsplash imageの設定で、
規定のサイズの画像を入れた後にXcodeで書き出して実機テストすると、
端末サイズ(自分の場合640×1136)のsplashの後に
640×960のsplashが表示されて困ってます。
(端末と画像の解像度が違うので画像が潰れている)
おそらくsplash画像をフェードアウトさせる為にunity側でsplashを表示してると思われるのですが、
解決方法はありませんか?
0437433
2015/12/07(月) 13:16:24.23ID:OKonrqZHありがとうございます。
プロジェクトフォルダに置いておけばいいのですね。
関数を作ってやってみます。
質問に関しては、Unity上のどこに置くのだろう?という質問だったのでここで聞きました。
不適切な質問でしたらすみませんでした…
0438名前は開発中のものです。
2015/12/07(月) 16:24:10.23ID:IwWiwmZkpublic変数を幾つかのグループ(この場合は効果音)に分け、
それぞれインスペクター上で折りたたみ表示にしたいと思います。
現在、以下のように内部にクラスを用意し、それを実現しています。
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折りたためなくてもいいなら[Header("効果音")]でもつけておけばいいと思う
折りたたみたいならエディタ拡張で表示を弄るかクラスを作るしかないが、インナークラスにせずにEnemyクラスとかで使いまわすとか再利用する事は想定されないのかな?
■ このスレッドは過去ログ倉庫に格納されています