【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/
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円か安いな
2017/11/26(日) 15:08:22.84ID:iX6Q2R5T
>>419
まずは買ってみたら?
いい悪いとか自分で感じないと先に進めないと思う。
2017/11/26(日) 15:30:15.72ID:3rpm77vO
初歩的な質問なのですが
uGUIでテキストを複数の解像度に対応させるにはどうするのがいいのでしょうか

具体的に躓いているところは
ボタンの子要素のテキストです
ボタン自体はアンカー設定で解像度が変わっても配置が相対的に同じ場所、大きさになるのですが
その子要素のテキストサイズが少しおかしいことになります
テキスト表示領域にかなり余裕がある場合は大丈夫なのですが
入力さるているテキストの行と列に表示領域がぴったりな感じのものは表示されなくなってしまいます(収まらないため)
表示場所も中央揃えとかにしていると、文末がはみ出しているのか、中央ではなく少し右にズレた位置に表示されます

どういった対処や設定をするのが良いのでしょうか
2017/11/26(日) 15:49:08.33ID:6nBybzVV
>>407
初心者でいきなりリアルタイムストラテジーとか、まあ頑張れとしかいいようがないが
きっとパニックになって投げ出すぞ
チャレンジし挫折も大事なので辞めろとは言わないが

ゲームの歴史がなぜ

ボードゲーム→シューティング→マリオ1(アクションゲーム)→シンプルなレースゲーム→ダンジョンゲーム→大戦略シミュレーション→JRPG→格闘ゲー→音ゲー→シミュレーションRPG→アクティブタイムバトル型RPG→リアルタイムストラテジー

と段階をおいて進化してきたか
そしてそれを行ってきたのは初心者でも素人でも個人でもなく
ゲーム制作最前線にいるプロ中のプロ→集団←だった事を忘れちゃいけない

解説本が販売されていないのは
それだけ君がやろうとしていることが相当難しいことの証しだよ
何故ならRTSは沢山のゲームジャンルの集合体だからね
個々のジャンルで必要なノウハウをある程度得た人にしか普通は作れない
2017/11/26(日) 16:44:55.09ID:J6fYNozJ
>>403
こっそり見てます。
勉強になりました。
2017/11/26(日) 17:01:07.35ID:Cz7u2dE1
プログラム文法とかアルゴリズムとかゲーム開発するには前提の能力だろ?
わかりきったこと書かれても邪魔なんだが
429名前は開発中のものです。
垢版 |
2017/11/26(日) 19:03:02.19ID:5UTT/Lbk
>>421
今C#の入門本を勉強しています
理解率はその入門本の範囲で三割程度です
最初Jsを勉強していたのですが
UnityがJsをサポートしなくなったので
仕方なくC#に切り替えました
430名無し@キムチ
垢版 |
2017/11/26(日) 19:26:38.70ID:LMN33dry
>>387
Googleスプレットシート、使ったことはないですが、何に使うのですか?
パラメータを別ファイルに切り出すと言われても何のことかわからないので、具体的にお願いします。
それはExcelではダメなのですか?
431名前は開発中のものです。
垢版 |
2017/11/26(日) 20:46:59.53ID:5UTT/Lbk
Unityで
TargetというタグがついたオブジェクトAを
newtargetというタグがついたオブジェクトBに追跡させる
スクリプトはどんな風に書けばいいですか?
2017/11/26(日) 20:55:28.10ID:BAm3Dec4
その宿題の答は先生が知ってますので先生に聞いてください
2017/11/26(日) 21:25:17.56ID:mmeFUc7t
安くなってるからplaymaker買ってみたけどクッソわかりにくくて心が折れそう

使い込んで慣れれば快適になるんだろうか
それともコーディングに苦手意識がない人にとっては不便なものだったりするのかな
2017/11/26(日) 21:40:15.59ID:GFRbwchg
>>431
そんな曖昧な要件だったらAのpositionをBに代入しろで終わっちゃうぞ
2017/11/26(日) 22:18:44.73ID:c487nB0v
>>431
Lookat と MoveTowards を検索してみて
2017/11/26(日) 23:52:52.31ID:WITDBxBc
>>435
すげー、こんなんあるんか。自分で別のメソッド作ってたわ
2017/11/27(月) 00:09:57.26ID:LX1anAQd
>>436
お前の問題改善能力と検索力が不足していることは良くわかった
2017/11/27(月) 00:10:48.77ID:P0dXNlTN
Survival ShooterのEnemyMovement.csとかどうして読まないんだろうな
チュートリアルも何もかもすっ飛ばしてりゃ分かる訳ないよ
2017/11/27(月) 02:43:37.85ID:IkbbC0Am
>>430
エクセルでもなんでもゲーム側で読み込んで変数に格納出来るなら何でも良いよ
Googleスプレッドシートの強みは無料で機能も十分なことと、出先でもデータ弄りやすいこと
2017/11/27(月) 06:36:29.91ID:SISIFabW
>>437
問題があったから自分で解いた訳だが?
2017/11/27(月) 07:04:02.04ID:a0HfS9om
>>425
CanvasコンポがアタッチされているGameObjectにCanvasScalerコンポ当ててますか?
CanvasScalerコンポのUI Scale Mode を Scale With Screen Sizeに設定して、
適切なReferences Resolutionを設定してあげて、それで改善されませんか?

>>入力さるているテキストの行と列に表示領域がぴったりな感じのものは表示されなくなってしまいます(収まらないため)
uGUIのってテキストをきれいに表示させるために、スケール小さくしてフォントサイズを上げるみたいなことをやる必要があったと思いますが、
それやるとテキストのRectTransformの矩形がすごく小さくなってしまって、かつUITextコンポのVerticalOverflowがデフォルト設定のTruncateだとテキスト表示が簡単に消えてしまいますね。
(UIテキスト関連は標準のよりTextMeshProの方が柔軟なのでおすすめです)
UITextコンポのHorizontan、Veritcal両方Overflowに設定してあげればとりあえず何も表示されないということはなさそうです。
2017/11/27(月) 12:42:44.25ID:0FCRYiRe
アセットをCドライブ直下かつ日本語名を含んでいないのにインポートエラーが出るのはどんな原因が考えられますか?
スタンダードアセットすらインポートできず困ってます
2017/11/27(月) 12:51:17.76ID:XTuXoZnA
エラーの文面コピって調べろ
2017/11/27(月) 14:37:17.67ID:FrA19Mnu
>>442
アセットをかえばいいと思います
2017/11/27(月) 21:21:50.46ID:TYxiAAK6
>>442
windows2000じゃだめよ
446名前は開発中のものです。
垢版 |
2017/11/27(月) 22:47:23.35ID:jcHTc4zP
Tankという名前のCreateEmptyで作った空のオブジェクトに(中に親子関係のオブジェクト有り)
project→createで作成したTankMovementという名前のC#スクリプトを
アタッチしたいのですが
Addコンポーネットからscriptを選んでC#スクリプトを追加しようとしても
TankMovementという名前のC#スクリプトが見つかりません
どうすればいいでしょうか?

C#スクリプトがデフォルトの名前NewBehaviourScriptだと認識します
nameが悪いのでしょうか?
447名前は開発中のものです。
垢版 |
2017/11/27(月) 22:51:04.79ID:jcHTc4zP
なんか自己解決
スクリプトを書く前にアタッチすればいいみたい
2017/11/27(月) 22:51:44.92ID:SK67KIi+
エスパーするとスクリプトの中身のクラス名がNewBehaviorScriptになってる
ファイル名とクラス名が一致してないとUnityは認識してくれない
449名無し@キムチ
垢版 |
2017/11/27(月) 23:21:16.41ID:ZBpaRK3Y
Unityの立体や球やUnitychanの顔マスクは、マテリアルが綺麗に貼れますが、
他からインポートした立体や球にマテリアルを貼ると、何だかわからないものになるのはどうしてですか?
UVが関係していることは想像できますが、具体的にどう違うのでしょうか?
450名無し@キムチ
垢版 |
2017/11/27(月) 23:26:04.38ID:ZBpaRK3Y
またUnitychanの顔マスクは、
Blenderに取り込んで曲げたり伸ばしたり変形だけする分には、
マテリアルが綺麗に貼れるままですが、
線や面を新たに追加するとその部分のメッシュにだけ、
マテリアルがつかなくなるのはどうしてでしょうか?
2017/11/27(月) 23:30:54.83ID:YpVy61QE
NG Addr/NG Name推奨 キムチ
2017/11/27(月) 23:46:26.15ID:TYxiAAK6
>>450
ぼうやだからさ
2017/11/28(火) 01:14:42.08ID:FYq6i9op
Unitychanのモデルを触ったことがないかつ、顔マスクのことを知らないんだけど、
>>449
メッシュの各頂点にUV座標というもの持ってて、それを読み込んでテクスチャ(マテリアルの中の)のどの部分を表示させるか決定しています。
UnitychanのメッシュのUV座標はUnitychanのテクスチャに合わせてUV座標が割り当ててあるのだから、ほかのメッシュにしたときにおかしくなるのは当然のことです。

>>450
線や面を追加したときに、UVの設定もしました?
2017/11/28(火) 13:17:32.04ID:2Hurwb5+
3DCGの基礎の基礎というか仕組みを司会してない奴に何話しても無駄だぞ
2017/11/28(火) 13:20:12.03ID:8Ugo8LDU
基地外とバカチョンが戯れるスレだから普通の人は関わらないように
456名前は開発中のものです。
垢版 |
2017/11/28(火) 14:53:39.03ID:wHSFA7r2
>>454
アセットを買えば日本語も上手くなれると思います
2017/11/28(火) 16:38:27.63ID:ioaufNCs
久々に来たがまだキムチの介護してんのかw
2017/11/28(火) 19:44:22.13ID:jdFfrrRm
はい、クソ野郎の皆さんこんばんは
第6回目の講義は変数の集合体である「配列」についての勉強となります。

下のようなプログラムがあったとします。

---例---
string mes0 = "よう。ここは武器屋だ";
string mes1 = "用件はなんだ";
Debug.Log( mes0 );
--------
これは「よう。ここは武器屋だ」と表示されます。
"Debug.Log( mes1 );"にすると「用件はなんだ」と表示されます。


配列を使用すると下のようになります

---例---
string[] mes = new string[2]{ "よう。ここは武器屋だ", "用件はなんだ"};
Debug.Log( mes[0] );
--------
最初のプログラムと書き方は変わりましたが結果は同じで「よう。ここは武器屋だ」と表示されます。

配列は複数個必要になりそうな変数を1つにまとめて扱いやすくする物です。
「mes0、mes1、mes2、mes3・・・・mes104」のように
変数を1個ずつ宣言していくのは無駄です
配列を上手に活用することでプログラムをスッキリと見やすくまとめる事ができます。
2017/11/28(火) 20:06:28.22ID:jdFfrrRm
先程は下のように配列を作りました
---例---
string[] mes = new string[2]{ "よう。ここは武器屋だ", "用件はなんだ"};
--------
配列を2つしか作成していないので"mes[2]"という存在しない物を使おうとするとエラーになります。
"mes[0]"の"0"部分を「配列の添え字」と呼びます。
添え字は1からではなく0からスタートするのでご注意を。
例えば配列が3個ある時は1〜3ではなく0〜2です。


配列の作り方(宣言)と値の入れ方(初期化)は色々方法があります。
それらについて説明します。
---例1---
string[] mes = new string[]{ "よう。ここは武器屋だ", "用件はなんだ"};
--------
このように配列を何個作るか省略もできます。
この場合勝手に2つ作られこちらの方が便利です。

---例2---
string[] mes = new string[2]; //この時点では2個の"mes"が作られているだけで中身はなし。
mes[0] = "よう。ここは武器屋だ"; //作ったmes配列に値を入れている(初期化)
mes[1] = "用件はなんだ";
--------
これは配列の宣言と作成、初期化を別々に分けた例です

---例3---
string[] mes; //宣言の時に配列は作らず… 
mes = new string[2]; //ここで配列の実態を作成
mes[0] = "よう。ここは武器屋だ"; //作ったmes配列に値を入れている(初期化)
mes[1] = "用件はなんだ";
--------
460名無し@キムチ
垢版 |
2017/11/28(火) 20:07:59.51ID:RhKscU2v
>>450
UVの設定は難しいですね。
解説サイトを読みながらその通りにしたのですが、途中で頭が飛びました・・・w
2017/11/28(火) 20:15:05.92ID:jdFfrrRm
続きです

---例4---
string[] mes;
mes = new string[]{ "よう。ここは武器屋だ", "用件はなんだ"};
--------

---例3---
string[] mes = { "よう。ここは武器屋だ", "用件はなんだ"};
--------
これが一番簡単な宣言と初期化の仕方ですが宣言と同時の時にしか使用できないという条件付きです。
どういう事かと言うと例4のように
---ダメな例---
string[] mes;
mes = { "よう。ここは武器屋だ", "用件はなんだ"};
--------
こういった使い方ができません。


このように宣言と初期化の方法は色々ありますが
自分にあった方法を使うとよいでしょう。
基本的には例2と例3をよく使うことになるかと思います。


次の例は配列が何個宣言されているのか知る方法です。

---例---
string[] mes = { "A", "B", "C", "D" }
Debug.Log("何個ある?=" + mes.Length);
--------

配列を4つ作成しているので「何個ある?=4」と表示されます。この「Length」は後々出てくる「ループ制御(for)」でよく使用しますので覚えておいて損はないでしょう。
2017/11/28(火) 20:33:20.79ID:jdFfrrRm
作成した配列は
プログラム終了時、又は、システムが不要と判断した時に勝手に削除(解放)してくれるので
基本的に作りっぱなしで大丈夫です。
律儀に手動で削除や解放をする必要はありません。

ですが手動で削除したい場面に出くわす時もあり
その場合は下のように"null"を入れると削除できます。

--例--
string[] mes = {"A","B","C","D"};
Debug.Log( mes.Length ); // 「4」と表示される
mes = null; // 配列を解放
Debug.Log( mes.Length ); // 配列は解放され存在していないのでここでエラーになる
------

今回は以上だクソども
2017/11/28(火) 20:41:08.15ID:jdFfrrRm
ミスを発見だクソども
>>461

---例3---
string[] mes = { "よう。ここは武器屋だ", "用件はなんだ"};
--------

は「例3」ではなく「例5」だ。
よってその下の説明は

(×間違い×)
「基本的には例2と例3をよく使うことになるかと思います。」

(〇正しい〇)
「基本的には例2と例5をよく使うことになるかと思います。」

となる。
悪かったなこのやろう。
2017/11/28(火) 23:08:46.80ID:tVPVY40R
もう誰も構ってねえだろ 本人以外は・・・w
2017/11/29(水) 01:07:16.97ID:f19geamt
>>463
ありがとうございます!!
2017/11/29(水) 01:39:08.25ID:p5I7DNKX
>>464
https://pbs.twimg.com/media/DLk8XUYVAAAwuul.jpg
2017/11/29(水) 02:05:41.39ID:WnFNBL3K
アニメ大ちゅき50のオッサン
老害は始末が悪い
468名無し@キムチ
垢版 |
2017/11/29(水) 12:57:27.46ID:18BDW4X1
>>461
>>462
>>463
狂った人が出てきましたねw

ただ当方も初心者なので言うのは何ですが、初心者の頃って、
string[] mes = { "きんたま", "おまんこ"};
とかついやりがちですよね?
469名前は開発中のものです。
垢版 |
2017/11/29(水) 23:01:07.32ID:oSizudki
assetstoreでFREEでダウンロードしてもいい
データを許諾を得ないで商用転用しても大丈夫なんでしょうか?
作ったゲームが万が一大ヒットしてしまった場合
権利関係でもめたくないので
そこらへんの事情を知りたいんですが・・・アメリカって訴訟大国だし
一応Unity関連本によるとAssetStoreのデータでゲーム作って
売ってもおkみたいな解説を見たのですが
2017/11/29(水) 23:03:38.98ID:Bs8gZldn
Unityの3D gameobject、プリミティブが少なすぎて困ってたけど、

他の3Dソフトで作ったオブジェクトをFBXで保存すれば、
AssetsフォルダにD&Dするだけで、2DのSpriteみたいに、
ガンガン取り込んで使えることをいまさら知った・・・

・・・けっこう便利だ
2017/11/29(水) 23:21:36.24ID:Hp+P7tm2
>>469
頭が大丈夫じゃないから病院池
2017/11/30(木) 00:48:24.49ID:Bca5C/au
>>469
おいキムチ
てめえは何回同じ質問すれば気が済むんだよ
自分でそのアセットの使用条件ライセンスを読めと何度言われてきている?
いい加減にしろよてめえ!!
2017/11/30(木) 01:12:49.53ID:p+zCm6Ig
すみません、多分すごいしょうもないことやってるんだとは思うのですが
いつの間にかプロジェクトからヒエラルキーやシーンにドラッグドロップできなくなってしまいました
逆の、プロジェクトに落としてprefab化もできません
何か原因のお心当たりありますか?
2017/11/30(木) 02:45:37.46ID:K8T1j9f7
Pcごと再起動して同じことを試す
新規プロジェクトで同じことを試す
Unity再インストールして試す

検討つかないけど自分ならこの順番でチェックしてみるかな
2017/11/30(木) 12:47:34.82ID:3pWvqrrU
どなたかアセットの宴3を使っている人はいませんか?
インポートした場合、トップメニューにToolsのメニューが表示されるはずなんですがありません。
初めてアセットを買ったので基本的な使い方がわかっていないのかもしれませんが、、、。
2017/11/30(木) 13:25:40.52ID:qg45Wal1
>>475
開発者、結構レスポンスくれる人だから聞いてみたら
時村良平 @rodostw
2017/11/30(木) 14:02:25.58ID:3pWvqrrU
>>476
ありがとう。直接尋ねてみます。
478名無し@キムチ
垢版 |
2017/11/30(木) 18:23:37.00ID:zEiwiU74
>>472
おい、>>469の質問は当方ではありませんぞ!!
>>468の書き込みが当方のものだぞ。
おい、間違えないように頼むぞ!!!
479名無し@キムチ
垢版 |
2017/11/30(木) 19:51:06.16ID:zEiwiU74
>>475
その人のwebサイトを見てみました。
Unitychanを使っていますね。それよりちょっとダサめのキャラは自作キャラですか?
で「宴3」ですが、読んでも結局、何のソフトなのかわかりませんでしたw
こんなわけのわからないものを買うなんて、あなたも相当変な趣味の人ですね
480名無し@キムチ
垢版 |
2017/11/30(木) 20:06:19.98ID:zEiwiU74
当方もいま自作キャラを開発中です。
名前はヨナchanです。
まだベースがunitychanから出ていなくて、開発途上なんですけど・・・
ベースをどんどんつくりかえてていって、完全にオリジナルのところまで持っていけばゴールです。

https://youtu.be/LRQDRvAIL9o
2017/11/30(木) 20:08:08.22ID:klV+8e3v
この絵は無いだろ。
さすがにレベルが…
2017/11/30(木) 20:21:19.37ID:p+zCm6Ig
>>474
ありがとうございます、PC再起動で直りました
Unity自体は再起動したり新規プロジェクトで試したりしたのですが改善せず困ってました
まずはPC再起動大事ですね
2017/11/30(木) 20:24:27.76ID:/yHwibrl
宴って日本発assetで一番売上あるんじゃね?
他に有名所あるかも知れんけど
こんだけunity触っててaseetの内容すらわからないってやばくない?
2017/11/30(木) 20:30:05.01ID:O2HojGoN
ノベルゲームつくーるみたいなもんだよ

レベルの低い開発者を相手に商売するのが一番儲かる
数が多いから
485名無し@キムチ
垢版 |
2017/11/30(木) 20:40:06.97ID:zEiwiU74
>>480
確かにこの絵は一般ウケする絵ではないようだ。
だが眉を太くしてキツネ目にしないと、どうしてもキムヨナに似ないのだよ。
かといってキムヨナ以外のキャラつくっても、自分的にまったく意味ないし・・・
何かいい解決策はありますか?
2017/11/30(木) 20:43:51.25ID:Bca5C/au
キムチはライセンス違反と法律違反をしたいようだな
自分で読めと言ってるのを無視し続けるそうなる
馬鹿じゃねーのコイツ
487名前は開発中のものです。
垢版 |
2017/11/30(木) 22:29:27.08ID:zEiwiU74
>>486
おい、間違いじゃないのか?

>>469の質問は当方ではなく、
>>468の書き込みが当方のものだ。

改変して配布するとダメなことは わかっているよ。
配布するときにはにはunitychanから離れるから大丈夫だよw
2017/11/30(木) 22:56:12.96ID:YMRLYe89
違約金ビジネスでガッポリ荒稼ぎ
何で読まないんだろねw
2017/12/01(金) 01:57:58.72ID:bFQS/Q0Q
初心者ですが、UNITYで面白いゲームは制作できますか?
すでにあるゲームでUNITY製の名作って有りますか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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