【3Dゲームエンジン】Unity質問スレッド32

■ このスレッドは過去ログ倉庫に格納されています
1名無し@キムチ
垢版 |
2017/10/30(月) 05:05:35.00ID:xnHTCaF3
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
 http://docs.unity3d.com/ja/current/Manual/index.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質問スレッド31
https://mevius.5ch.net/test/read.cgi/gamedev/1504366121/
2017/11/21(火) 19:43:58.69ID:dD3YbNuq
>>323
バカとは何だ!バカとは!
バカじゃない、初心者様だぞ、もっと敬え!

って言われるぞw
2017/11/21(火) 20:06:53.58ID:AIxAZwMT
ならバカ初心者と言えば双方納得すんだろ
つかこのスレで初心者って断り入れる奴にまともな奴は居ないなあ
2017/11/21(火) 20:09:34.17ID:E7p1THmM
>>322
どれを買っても解決するでしょう
全部買えば、完全解決です!
2017/11/21(火) 21:13:41.37ID:rwRP2E/s
目糞鼻糞
2017/11/21(火) 21:51:39.33ID:NRtFNwDq
>>321
アホ
使える使えないはそれぞれ決まってるんだが
買ったこと無い乞食か?
329名無し@キムチ
垢版 |
2017/11/21(火) 22:54:13.43ID:2LKvKcg0
>>314
確かに5chに出入りするよりもエンジニアと関わりを持ったほうがためになると思うな。
しかしそのエンジニアにしても国連には出たことすらないザコばかりだろ?
そう考えると国連で平和を主張して北にも平昌五輪参加を呼びかけたキムヨナは、もはや現人神だね!!
国連に出たことすらないキミたちだって、そう思うよな?(最後の「よな」は「ヨナ」のしゃれではない)
2017/11/22(水) 01:20:32.10ID:HI8GsQM2
キムチ君が今日は随分と強気じゃないか
2017/11/22(水) 01:21:15.23ID:Hj/zPAxR
番号飛び過ぎwww
332名前は開発中のものです。
垢版 |
2017/11/22(水) 03:40:21.27ID:lcdZQYTv
高卒だらけすぎだろ
5chはもう終わりだな
2017/11/22(水) 04:16:40.53ID:AdtHFaRB
MONO DEVEROPで条件は不明なんだけどたまに入力欄の下の方になんか英語でメッセージとボタンが出てよく読まずに消しちゃったんだけど何でしょうか?
スクリプトの入力内容自体は間違ってないと思うんだけど、インテンスか何かを整えるみたいな感じのことが書いてあったような気がします
2017/11/22(水) 07:17:41.09ID:89RwEEvA
わかるかーい
2017/11/22(水) 08:40:46.05ID:7/f01k2P
俺らを超能力者かなにかと思ってるのかな?
2017/11/22(水) 08:52:09.01ID:Ya+raxGs
国連に出たことないとかいう謎のマウント取りで草生えまひた(^^
キムチは何でキムヨナをよくネタに出すんでふか?(^^

僕もUnityで凄いゲーム作って皆をあっと言わせたいでふ(^^
337名前は開発中のものです。
垢版 |
2017/11/22(水) 14:29:23.53ID:kyr3HzlP
久しぶり(1年ぶりかな)Unityのチュートリアルの続きをやろうと
起動するとアップデートしろって バージョン538になったんだけど

5.6が5の最終リリースってなってる
これって64bitのエディタだけ落として使えばいいのかな
インストーラーって何?
2017/11/22(水) 14:50:48.84ID:jTZqoW45
安心しろ
スクエニや任天堂のエンジニアでも国連に出ることは無い
2017/11/22(水) 15:13:54.28ID:utbLj+4m
>>337
久しぶりなら環境構築からやればいいじゃん
何でそんなとこで手抜きしようとすんの?
340名前は開発中のものです。
垢版 |
2017/11/22(水) 15:39:42.42ID:kyr3HzlP
え?環境?
538動くのに??そりゃ自分には無理
それならフルスクラッチでUnityなんか使わない選択に行っちゃうわ

まあ、レスしてくれてありがとう
2017/11/22(水) 18:06:51.42ID:utbLj+4m
>>340
別にwindowsクリーンインストールしろってんじゃないぞ
チュートリアルするレベルなんだから横着せず希望verのunityを入れりゃいいじゃないかってだけ
342名前は開発中のものです。
垢版 |
2017/11/22(水) 18:14:07.61ID:kyr3HzlP
>>341
あ!そうか
2017/11/22(水) 18:19:34.52ID:jTZqoW45
でもチュートリアルするレベルの奴にとっては複数verのインストールは敷居が高いよな
馬鹿正直に最新版入れて対応できずに挫折してやめていく初心者をよく見かける
2017/11/22(水) 18:30:09.77ID:5f+MdVCx
単にインストールフォルダ名変えるだけだろ
そこまでのバカはUnityをやること自体が無駄
どうせ挫折して時間を浪費するだけ
2017/11/22(水) 18:53:47.03ID:ApxFGvUX
つまらないコント
346名無し@キムチ
垢版 |
2017/11/22(水) 19:01:28.26ID:tfI8pigO
>>336
>キムチは何でキムヨナをよくネタに出すんでふか?(^^

当方がゲームをつくる動機はキムヨナだからです。
いろんな角度からキムヨナが活躍するゲームをつくりたいのですが、いまのところキャラはUnitychanの借り物です。
目標としては自作のキャラヨナちゃんを世に出したいですね。韓国のキムヨナの銅像の画像を見たりして、どうつくればいいかいろいろ研究しています。
究極的には宇宙一やわらかくて宇宙一強靱な肉体を持ったヨナちゃんを、他の強そうなキャラと思い切りぶつけ合って、興奮するゲームをつくりたいのですが、
そこへたどり着くまでにはまだ何年もかかりそうです。
とりあえあずはひとつひとつ積み重ねていくだけですね・・・
2017/11/22(水) 20:39:13.44ID:/VB6By5Z
>>328
すまねえ、クリエイティブコモンズの存在があった
2017/11/22(水) 20:58:56.31ID:eejsxAcQ
ドット絵の素材で上下左右向きのある素材教えてください。
2017/11/22(水) 23:38:32.90ID:iE8jtKZG
>>348
素材提供スレじゃねえけど、そういうのツクール素材で探せばええんちゃう?
2017/11/23(木) 00:14:59.97ID:QRNVPncp
新しくC#スクリプトを作ったら
オブジェクト参照がオブジェクトインスタンスに設置されていませんというエラーが出て
テストプレイしてもコンパイルエラーで実行できなくなったのだけど
なにか工程を忘れているのでしょうか?
2017/11/23(木) 00:36:03.73ID:RZCCd0Fm
はい
352名前は開発中のものです。
垢版 |
2017/11/23(木) 02:39:25.06ID:aJavQgtq
>>350
たぶん、アセットを買い忘れたのでしょう
2017/11/23(木) 02:44:43.05ID:wLnswzoG
Unityのシェーダーで質問です
カスタムラインティング(lighting○○)の記述方法で困っています。
イメージとしては標準であるシェーダーのUnlit>Textureのような
元のテクスチャと同じ色をカスタムライティングで表現がしたいです

void surf(Input IN, inout SurfaceOutput o){
 o.Albedo = tex2D(_MainTex, IN.uv_MainTex).rgb;
}

fixed4 Lighting○○(SurfaceOutput s, fixed3 lightDir, fixed atten){
 half4 c;
 c.rgb = ■■;
 c.a = s.Alpha;
 return c;
}

■■の部分に0.0を入れた場合本来のテクスチャより大分黒くなってしまいます。
かといって1.0を入れてみても真っ白になってしまいます。

数字の問題じゃなくてどこかの設定をかえるべき場合
シェーダーのどこを修正すれば良いでしょうか
それらしい単語や参考となる資料何かないでしょうか
2017/11/23(木) 03:03:25.14ID:RZCCd0Fm
0.5をいれろ
355名前は開発中のものです。
垢版 |
2017/11/23(木) 03:05:23.42ID:aJavQgtq
>>353
アセットを買いましょう
2017/11/23(木) 03:08:03.33ID:hlwE+o0N
>>353
俺、シェーダーのことは何も知らんけど、RGBで0黒くなったり1で白くなったりするなら
明暗制御してそうだし、0.5でも入れて試してみればいいんじゃないの?
試した上で書いてるなら申し訳ない
357353
垢版 |
2017/11/23(木) 03:19:53.80ID:wLnswzoG
https://docs.unity3d.com/jp/540/Manual/SL-SurfaceShaderLightingExamples.html
ちなみにマニュアルのこのページを参考にしています

>>354
0.5や0.1をいれても元のテクスチャの色では表示されないんですよね…
(0.01刻みで全て試しました)


>>355
アセットかわないと作れないのでしょうか?
2017/11/23(木) 05:31:31.55ID:VzY+3J1y
surf 関数の中でSurfaceOutputのAlbedoにテクスチャ色を代入してるんだから、Lighting関数ではs.Albedoを使わないとそりゃテクスチャ色は反映されないでしょ

o.Albedo = s.Albedo.rgb * 0.5;

でも試してみ
2017/11/23(木) 06:55:29.34ID:VzY+3J1y
おっとo.Albedoじゃないや
寝ぼけてるな

c.rgb = s.Albedo * 0.5;

だった
2017/11/23(木) 07:46:55.69ID:Fif9lAfv
ID:wLnswzoG
質問のテンプレが完全にキムチw
361名前は開発中のものです。
垢版 |
2017/11/23(木) 09:12:04.34ID:iDiAdE9o
fps一人で作れるか
2017/11/23(木) 11:16:27.66ID:81qTUW9X
359は男前
363353
垢版 |
2017/11/23(木) 12:30:35.78ID:wLnswzoG
>>358
回答ありがとうございます
その場合でも若干元の色よりくすんで表示されるようです
どうやら調べてみたらLightingのScene->SkyBoxのAmbientが影響しているようでした

シーン全体に影響はでますが
insensityを0にした状態でc.rgb = s.Albedo * 1.0にしたら
Unlit>Textureとまったく同じ色合いになり解決しました
2017/11/23(木) 13:07:49.35ID:VzY+3J1y
>>363
Unlit/Textureとほぼ同じ動作をさせたいなら元ソースから改変したらどうだい?

https://unity3d.com/jp/get-unity/download/archive

ここからビルトインシェーダーのソースをダウンロードしてUnlit-Normal.shaderの中身を確認してみ
ライティングの影響受けるサーフェスシェーダーじゃなくてバーテックス/フラグメントシェーダーになってる
2017/11/23(木) 13:19:54.07ID:VzY+3J1y
どうしてもサーフェスシェーダーでやるなら
#pragma surface surf 〜の行に noambient を足せば出来るらしい
試したら出来た
366353
垢版 |
2017/11/23(木) 13:33:04.69ID:wLnswzoG
>>364
厳密に言うとそこからさらに独自の影をかけたいのでUnlit/Textureそのままじゃダメなんですよね
Unlit/Textureのソースだとたしかlightning offとなっていて
ライティングシェーダーそのものがOffになってました

>>365
貴方が神ですありがとうございます!
Lightingのinsensityを下げる以外は頂点・フラグメントシェーダー以外方法がないかと諦めていたのですが
この方法ならサーフェスシェーダーだけでも出来るんですね
助かりました

というわけで質問〆ですありがとうございました。
367名無し@キムチ
垢版 |
2017/11/23(木) 19:44:42.09ID:zG98k7/b
>>348
ドット絵の素材で上左右向きのものはたくさんありますが、上下左右向きのものはちょっとないと思います。
2017/11/23(木) 20:27:26.39ID:0DStohp5
いやあるでしょ
むしろ3方向素材より4方向素材のほうが多いっしょ
2017/11/23(木) 20:38:24.49ID:8VVO/uAT
はい、というわけで
「左右後頭部だけのドット絵なんか使えないだろキムチ君」と心でツッコミいれてROMってる人達
こんばんは

本日の講義のお時間です

前回に引き続き「IF分の色々」です
2017/11/23(木) 20:44:56.20ID:8VVO/uAT
IF分は次のように"多重"にすることもできます。


if( a == 1 ){
if( b == 1 ){
Debug.Log("aとb両方が1だよ");
}
}

こうすることにより1つだけではなく複数の条件がそろった時にIFを成立させる事ができるわけです。
上の例では2重ですが当然ながら3重にも4重にも無制限に行えます。
ただしとても見づらくなっていきます。


if( a == 1 ){
if( b == 1 ){
if( c == 1 ){
if( d == 1 ){
Debug.Log("aとbとcとd、全部が1だよ");
}
}
}
}

そこで算術演算子である「&&(アンドと呼ぶ)」を使う事で同じ事が見やすく行えます。


if( a == 1 && b == 1 && c == 1 && d == 1 ){
 Debug.Log("aとbとcとd、全部が1だよ");
}

この2つの例は見た目は違いますが実行結果は同じになります。
2017/11/23(木) 20:50:51.07ID:8VVO/uAT
if( a == 1 && b == 1 && c == 1 && d == 1 ){
 Debug.Log("aとbとcとd、全部が1だよ");
}

はaもbもcもdも"1"の時にifが成立します。
4つのうちどれか1つでも"1以外"だとifが成立しなくなります。

次の例では、「a、b、c、dのどれか1つでも1ならばifを成立させたい」やり方です。
算術演算子の「||(オアと呼ぶ)」を使います。


if( a == 1 || b == 1 || c == 1 || d == 1 ){
 Debug.Log("aかbかcかdのどれかが1だよ");
}

このように「&&」「||」を使う事でさらに柔軟な条件分岐を行えます。
2017/11/23(木) 20:59:09.92ID:8VVO/uAT
if文は基本は「条件が成立した時に実行したい」処理を書くわけですが
逆に「条件が不成立の時に実行したい」処理を書くこともできます。
それには「else節」を使用します。
まずはelse節がないif文の例です。


Debug.Log("IFの前");
if( a == 1 ){
Debug.Log("aは1");
}
Debug.Log("aは1ではない");
Debug.Log("IFの後");

これを実行すると「a = 1」の時は
"IFの前"、"aは1"、"aは1ではない"、"IFの後"
と4つ表示されます。
"aは1ではない"が不要です。

"else節"を使う事で次のようにできます。


Debug.Log("IFの前");
if( a == 1 ){
Debug.Log("aは1");
} else {
Debug.Log("aは1ではない");
}
Debug.Log("IFの後");

これを実行すると「a = 1」の時は"IFの前"、"aは1"、"IFの後"と3つ表示されます。
「a = 1」ではない時は"IFの前"、"aは1ではない"、"IFの後"と3つ表示されます。
理想的な結果です。
2017/11/23(木) 21:05:31.97ID:8VVO/uAT
最後に「if〜else if」を説明します。
else節の後にさらにifを使い条件判定(分岐)をさせる事が出来ます。


if( a == 1 ){
Debug.Log("aは1");
} else if( a == 2 ){
Debug.Log("aは2");
} else if( a == 3 ){
Debug.Log("aは3");
} else {
Debug.Log("aは1でも2でも3でもない");
}
Debug.Log("IFの後");

例えば「a = 1」の時は十字キーの左を押した時の処理を、
「a = 2」の時は十字キーの右を押した時の処理を、
「a = 3」の時は十字キーの下を押した時の処理を行い時などに使うことができる書き方です。

if文の章は以上です。
ここまでで貴方はif文の使い方はほぼマスターしています。
ほとんどの条件をあなたは実現できることでしょう。

わかったかクソども
2017/11/23(木) 21:06:32.13ID:8VVO/uAT
誤字は愛嬌だ
わかったかクソども
2017/11/23(木) 21:08:52.41ID:W9y7pNcP
ライティングについて教えてください
android端末をターゲットとしています。
密室で壁や天井をある程度明るく照らしたいのですが、結果としては「VR脱出ゲーム2」Blacksmith DoubleCircleさんが作っているような感じにしたいのです。
Directional lightを上からと下からと照らす方法を考えたのですが、他に何か良い方法はありますか?
ポイントライトですと、壁や天井の反射がきつい感じです。
2017/11/23(木) 21:27:06.97ID:KgDCdD6L
アンビエントライトを付けろよ。
377名前は開発中のものです。
垢版 |
2017/11/23(木) 21:31:06.48ID:ClP9LjDh
       /::::)(:::)(:::::::::::)(::::::^::::::::::\
      (::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::\
     /::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ:::::::::::::::)
     (::::::::::/  ):::ノ::::ノ ) ソ ヾ::::::::::::丶::::ヽ
    (:::::::::/ 彡  ノ   ノ  :: 彡:/)) ::::::::::)
   (::::::::::/彡彡彡彡彡   ミミミミミミミ :::::::::::)
   ( :::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |:::::::::)
     | =ロ   -=・=-  ‖ ‖ -=・=-   ロ===
     |:/ ‖    / /ノ  ヽ \     ‖ ヽ|ヽ       _________
     |/  ヽ`======/ .⌒ ` ========ノ.   ..| |     /
    .( 。 ・:・‘。c .(●  ●) ;”・u。*@・:、‘)ノ  /アンビエントライトを付けろよ。
   ( 。;・0”*・o; / :::::l l::: ::: \ :。・;%:・。o ) <
    (; 8@ ・。:// ̄ ̄ ̄ ̄\:\.”・:。;・’0.)   \
   .\。・:%,: )::::|.  ̄ ̄ ̄ ̄  | ::::(: o`*:c /..    \_________
    \ ::: o :::::::::\____/  ::::::::::   /
      (ヽ  ヽ:::: _- ::::: ⌒:: :::::::: -_    ノ
       \丶\_::_:::::_:::: :::::_/::::  /
        | \ \ ::::::::::: :::::::::: ::: ::__/ |
    ̄ ̄\ 丶  ̄ ̄ ̄ ̄ ̄ ̄ ̄    / ̄ ̄
2017/11/23(木) 21:48:03.30ID:8VVO/uAT
>>377
https://pbs.twimg.com/profile_images/895371387904245760/_8QNhwDX_400x400.jpg
379375
垢版 |
2017/11/23(木) 21:56:20.80ID:W9y7pNcP
ありがとうございました。
アンビエントライトの設定でうまくいきました。
最初はskyboxだったので白くなりすぎたのですが、Gradientにして色を設定したら思った明るさになりました。
2017/11/23(木) 21:56:54.48ID:aJavQgtq
>>375
ライト関係のアセットをかえばいいのでは
2017/11/23(木) 23:01:22.59ID:yNi8m4dC
>>309

2Dなら、intとfloat,Vector2で事足ります。
文字列を表示するなら、stringもかな。

3Dなら、float,Vector3,Quaternionを使います。
基本的に、UIは数値表示のintと文字表示のstringです。

Vector4は、Matrix4x4という行列を使用する際に使います。
あるいは、Quaternionに直接数値を入力する場合でしょうか。

でも、行列計算は、Vector3で入力して、
Vector3で出力する関数が用意されているので、
Vector4はまず使う必要がありません。

Quaternionも、オイラー角で入出力するなら、Vector3で十分です。
Quaternion積もVector3で計算する関数があるし、
角速度もVector3だし、Vector4はメッシュやシェーダー用でしょう。
2017/11/24(金) 07:21:18.19ID:F3KQBR4Q
>>350
無茶苦茶なコード書いてるんじゃねーの?
ググれば一瞬で答え出るからggrks
383名前は開発中のものです。
垢版 |
2017/11/24(金) 08:01:07.39ID:9WQWnRQq
大作よりはほのぼの系のゲーム作った方がいいのか
2017/11/24(金) 10:45:57.99ID:pP3PeJel
敵オブジェクトを操作するのに共通のスクリプトをアタッチするより、
一つのマネージャ用オブジェクトに全部の敵オブジェクトを操作するスクリプトをアタッチした方が
動作軽くなりそうだと思うんだけど、皆さんはどうしてますか?
2017/11/24(金) 10:59:19.54ID:aXB5JEdr
モノによるから意味はない。
やりたいことに対してなら意味がある。
386名無し@キムチ
垢版 |
2017/11/24(金) 20:24:41.52ID:g/8l/UEF
>>383
大作やほのぼの系ゲームよりも、人の欲望をそそるゲームのほうが絶対受けるはず!!
欲望といっても金欲はゲーム内だけじゃ満たされんし、かといってゲームクリアした人に賞金やるわけにはいかんから没。

すると残るのは無茶苦茶性欲そそるゲームしかないわけだが・・・w
2017/11/25(土) 12:10:33.67ID:dm9F8M7M
割と大作寄りのゲーム作ってるが、正直バランス調整自分でやれる気がしない
何から何までGoogleスプレットシートで調整できる様にはしているが、その要素が多過ぎる
カジュアルだけどついつい遊んでしまう程度のものを個人制作以上のクオリティで作る方が可能性を感じる

ただ、大作作るとめちゃくちゃ制作技術が伸びるよ
388名無し@キムチ
垢版 |
2017/11/25(土) 18:13:30.44ID:BMYtVJuo
>>368
>いやあるでしょ
>むしろ3方向素材より4方向素材のほうが多いっしょ

いやないっしょ
4方向素材ってのは前後左右のことでしょ。
また上から見下ろした素材はあるけど、キャラの足元から見上げた素材ってないっしょww
ないっしょwないっしょwないっしょwww
2017/11/25(土) 18:52:52.64ID:BwFivc9s
>>388
すまんが何を伝えたいのかさっぱりわからんわ
390名無し@キムチ
垢版 |
2017/11/25(土) 19:28:03.00ID:MsZJXsKS
>>389

それは>>348からたどってみないとわかりませんね。

まず、「ドット絵の素材で上下左右向きのある素材教えてください。」という質問があったのです。

当方は上から見下ろした素材はあるが、キャラの足元から見上げた素材はないと思ったので、
「ドット絵の素材で上左右向きのものはたくさんありますが、上下左右向きのものはちょっとないと思います。」
と答えたわけです。

すると>>368が「いやあるでしょ
むしろ3方向素材より4方向素材のほうが多いっしょ 」と反論してきたのですよ。

当方考えるに>>368がいう4方向素材とは、前後左右のことではないか?と・・・
だってキャラを下から見上げた素材っていままで見たことがないですから!!

つまり最初の質問で発せられた上下左右がいつの間にか前後左右にすりかわっていたわけで、
当方としてはそれを指摘したかったのでありますな!!
2017/11/25(土) 19:39:11.35ID:tNOe2BPS
「キムチ君、制作物は細かい所手抜きなのに言葉は潔癖かよ!」と思いながらROMってる皆さんこんばんは。

講義のお時間です。

今回も"条件分岐"についての講義です。

前回は「if文」を使いました。
今回はもう一つの条件分岐文である「switch文」をやります。
2017/11/25(土) 19:43:30.85ID:kleZK8qr
下から見た女の子はパンツ丸見えでふ(^^
だから何だと言われたらそれまででふが(^^
2017/11/25(土) 19:48:36.66ID:h5kxWxfc
最初の質問が言葉足らずで誤解された
誤解された回答でさらに誤解が進んだ

どっちもごめんなさいで進めればいいと思う
解決したいのは誤解されてないほうの質問でしょうし

下から(足裏側からキャラを)見ているドット絵素材は俺も見たことないかな
2017/11/25(土) 19:57:24.02ID:tNOe2BPS
前回、"if(){ } else if(){ }"の説明で下のような例を出しました


if( a == 1 ){
Debug.Log("aは1");
} else if( a == 2 ){
Debug.Log("aは2");
} else if( a == 3 ){
Debug.Log("aは3");
} else {
Debug.Log("aは1でも2でも3でもない");
}

"switch文"を使用するとこれを下のように書けます。
実行結果はif文でもswitch文でも両方同じです。


switch( a ){
case 1:
 Debug.Log("aは1");
 break;
case 2:
 Debug.Log("aは2");
 break;
case 3:
 Debug.Log("aは3");
 break;
default:
 Debug.Log("aは1でも2でも3でもない");
 break;
}
2017/11/25(土) 20:01:49.33ID:OBqKDnCd
どうでもいい
https://www.gamasutra.com/db_area/images/feature/3520/dq430.png
2017/11/25(土) 20:03:44.03ID:BwFivc9s
元の質問者は帰ってこんだろうから真実はどうでもいいとして

こういう質問内容で上下左右と言われたらキムチの言う前後左右を指す、と思うのは俺だけ?
見下ろし2Dゲームで上を向いたキャラと後ろを向いたキャラ、どっちが伝わりやすいかって言えば前者だと思うんだけどなぁ

確かに言葉狩りをして下から見上げるものを含む素材と取れなくもないけど、そういった素材より前後左右の方がよく使われるだろうから、そちらを希望していると解釈しただけ

というか3方向の素材て汎用素材としてあるの?
3方向しか使用しないゲームは山ほどあるけど素材提供として3方向に限定してるようなもんがあるのか疑問なんだけど
2017/11/25(土) 20:05:41.19ID:tNOe2BPS
見て分かる通りswitch文で出来る事はif文でも可能です。
そのせいでswitchって使い所がイマイチわからないという初心者が多いです。

switch文はif文の簡易バージョンと思ってください。

「switch( a >= 1 )」とか
「switch( a == 1 )」とか
「switch( a == 1 && b == 1)」とか

if文並みの複雑な条件式は記述できません(エラーになります)

『1つの変数の値の変化で実行させたいプログラムを変えたい時に使う』物です。
複雑な条件分岐はIF文に任せましょう。

ちなみに先程の例では「if else if文」側より「switch文」側の方が多少処理速度が速いです。
早いと言っても0.0001秒という微々たる差ですが。
2017/11/25(土) 20:17:13.50ID:tNOe2BPS
"default:"は"case"のどれにも一致しなかった場合に実行される部分です。
if文のelseに相当します。
if文でelseを書かない事が出来たように不要ならば"default:"も書かなくて大丈夫です。


switch( a ){
case 1:
 Debug.Log("aは1");
 break;
case 2:
 Debug.Log("aは2");
 break;
}

"case"は「変数がその値だったら」という意味合いで記述します。
上の例ですと
"case 1:"は"if( a == 1 )"と同じで"case 2:"は"if( a == 2 )"と同じです。
もう少し分かりやすくすると下のようになります。


string mode = "OPENING";
switch( mode ){
case "OPENING":
 Debug.Log("オープニングだよ");
 break;
case "ENDING":
 Debug.Log("エンディングだよ");
 break;
}

上の場合「オープニングだよ」と表示されます。
変数"mode"の中身を例えば"hello"と適当な文字に変えるとどれにも一致しなくなるため何も表示されなくなりなります。これは"default:"を記述していないからです。
2017/11/25(土) 20:25:18.25ID:tNOe2BPS
"break;"は重要です。
下に"case 1:"の"break;"を削除した例を書きます。


switch( a ){
case 1:
 Debug.Log("aは1");
case 2:
 Debug.Log("aは2");
 break;
}

この場合"a"の中身が1の時に「aは1」と「aは2」両方表示されます。
"break;"を付けないと処理が止まらず次の"case"も実行される仕組みです。

この特性を生かし「aの中身が1か2の時に実行させたい」などの変わった使い方もできます。


switch( a ){
case 1:
case 2:
 Debug.Log("aは1か2");
 break;
}

当然ですが「switchの中にさらにswitch」、「switchの中にif文」なども可能です。
ただし見づらくなるのであまり多少はしない方がいいでしょう
2017/11/25(土) 20:27:35.93ID:tNOe2BPS
<switch文の中にさらにswitch文の例>
int a = 1, b = 1;
switch( a ){
case 1:
 switch( b ){
  case 1:
   Debug.Log("aは1でさらにbは1");

case 2:
 Debug.Log("aは2");
 break;
}

この場合"a"の中身が1の時に「aは1」と「aは2」両方表示されます。
"break;"を付けないと処理が止まらず次の"case"も実行される仕組みです。

この特性を生かし「aの中身が1か2の時に実行させたい」などの変わった使い方もできます。


switch( a ){
case 1:
case 2:
 Debug.Log("aは1か2");
 break;
}

当然ですが「switchの中にさらにswitch」、「switchの中にif文」なども可能です。
ただし見づらくなるのであまり多少はしない方がいいでしょう
2017/11/25(土) 20:28:57.24ID:tNOe2BPS
これは書き途中で送信したミス投稿なので無視するように>>400
2017/11/25(土) 20:32:59.12ID:tNOe2BPS
<switch文の中にさらにswitch文の例>
int a = 1, b = 1;
switch( a ){
case 1:
 switch( b ){
  case 1:
   Debug.Log("aは1でさらにbは1");
  break;
  case 2:
   Debug.Log("aは1でさらにbは2");
  break;
 }
case 2:
 Debug.Log("aは2");
 break;
}

<switch文の中にさらにif文の例>
int a = 1, b = 1;
switch( a ){
case 1:
 if( b == 1 ){
  Debug.Log("aは1でさらにbは1");
 } else if( b == 2 ){
  Debug.Log("aは1でさらにbは2");
 }
 break;
case 2:
 Debug.Log("aは2");
 break;
}
2017/11/25(土) 20:37:39.60ID:tNOe2BPS
複雑になってきましたね

実は>>402
「<switch文の中にさらにswitch文の例>」には"break;"が1つ抜けており
「a = 1」の時の結果が正しくならないバグを今見つけました。

このように見づらい&ミスをしやすくなるため
switch文の中にさらにswitch文を入れる事はあまり良い方法とはいえず推奨はされていません。

以上だクソども
2017/11/25(土) 23:09:11.61ID:ZrgJVSji
書き込み多いと思ったら講座()の人かw
2017/11/25(土) 23:16:37.99ID:7JdNfh5M
これ本気でやってるの?
2017/11/25(土) 23:18:53.08ID:4b1JTNED
>>387
>何から何までGoogleスプレットシートで調整できる様にはしているが、その要素が多過ぎる

その気持ち、わかるぞ
つっても自分の場合、大作でもないんだが、パラメータを別ファイルに切り出すと、それだけでなんか安心してしまう。これは結局、問題を先送りしているだけなのか
しょうがないけど自分でやるしかないと思ってやってる
407名前は開発中のものです。
垢版 |
2017/11/26(日) 00:51:44.80ID:5UTT/Lbk
RTSを作りたいのですが
Unityの入門本で(初心者向け)
オブジェクトAにオブジェクトBを追跡移動させたり
移動制御に関する、初心者向けの良い解説本って知りませんか?
いくつかUnityの解説本を買ってみたのですが
どれも「落ち物ゲー・パズルゲー・迷路ゲー」という簡単なゲームの作り方のみで
RTSに使われそうな技術(オブジェクトにオブジェクトを追跡させるやりかたや移動制御)を
解説したUnity入門本がなかなかありません

1つだけあったのですが
その本はJavascriptを使っての解説だったので
C#となった今となっては使えません
そこら辺の技術を解説した初心者向けの良い良書はありませんでしょうか?
2017/11/26(日) 01:20:38.64ID:BAm3Dec4
良い良書はありません
2017/11/26(日) 02:05:32.78ID:5UTT/Lbk
そうですか・・・
地道に探す事にします・・・。
2017/11/26(日) 02:47:24.15ID:GFRbwchg
>>407
そういった技術、というかノウハウって言語に依存しないと思うけどJSの本じゃだめなの?
コードをまるごとコピペする気しかないってのならそりゃC#の本がほしいかもしれないけど
2017/11/26(日) 03:36:03.78ID:Yzdmzfbm
いい解説本ってことはないけど単純にやり方を知りたいだけなら
しょぼい迷路の外から敵が最短ルートを目指して追ってくる簡易ドットイーターゲームのサンプルみたいなのが
unityちゃんが大きく描かれた本に書いてあったような気がする
2017/11/26(日) 08:14:56.89ID:OJg4uSUJ
unityで10人vs10人のネットゲーはつくれますか?
2017/11/26(日) 09:33:52.12ID:JL2gBItz
作れますよ。
2017/11/26(日) 10:36:45.95ID:cF7BTTy9
人による
2017/11/26(日) 10:59:10.19ID:jn3nJ8dF
アソビモの「GODGAMES」が最大同時30人対戦でUnity製だった
既にサービス終わってるけどなー
2017/11/26(日) 11:06:29.81ID:G53UyFfK
unityで10人vs10人のネットゲーをつくりたいのですが
何かシステム的な制約はありますか?
2017/11/26(日) 11:27:29.50ID:Tki9OkQ3
416が最大の制約
2017/11/26(日) 11:34:53.33ID:jn3nJ8dF
Unity Multiplayerの使用料がかかるっぽい
自分も興味があったんで調べてみただけなので 使ったことある人 補足よろしく
ttps://docs.unity3d.com/ja/current/Manual/UnityMultiplayerService.html
419名前は開発中のものです。
垢版 |
2017/11/26(日) 13:14:35.79ID:5UTT/Lbk
>>410
初心者なもんで
やり方を1から解説してくれる解説書が欲しいのです
JsのはJsの文法ですし
それだとC#に転用する際に不具合が発生すると
対処しにくいし、どこが間違ってるのか分からないので
C#のはC#の文法で解説した解説所がほしいです

>>411
ユニティちゃんで作る本格アクションゲームってやつですか
amazonのレビューを見る限り
あんまり評判は良さそうではないですね
2017/11/26(日) 13:49:10.49ID:Yzdmzfbm
>>419
多分それ
技術書は専門性が高くないと意見が割れるから評判は気にすんな
だいたいサンプルがダウンロードできるからそれで有用か判断できるはず
2017/11/26(日) 14:02:13.20ID:SKl9hZ8R
プログラミングの基本さえ知っていれば
言語がなんであれすぐ応用効くでしょう
もし、プログラミングを初めて触るっていうなら
unityの前に何か一つのプログラミング言語使って勉強してみたら?
2017/11/26(日) 14:03:05.06ID:cF7BTTy9
>>419
UdemyでUnityの講習受けてみれば?
今なら1200円で受講できるキャンペーンやってるぞ
2017/11/26(日) 14:53:06.99ID:BAm3Dec4
こないだアンリアルフェス行ったらアンリアルを教えてくれるところが
1か月15マンとか書いてあったけど
Unityは1200円か安いな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況