【3Dゲームエンジン】Unity質問スレッド36
■ このスレッドは過去ログ倉庫に格納されています
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートは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質問スレッド35
http://mevius.5ch.net/test/read.cgi/gamedev/1523771570/ >>98
ツクールやウディタ、アクエディ弄ったことありまふか?(^^
2Dゲーム制作には大抵レイヤーという概念があるんでふよ(^^
僕はタイルマップコライダー詳しくないので何とも言えまふぇんけどね(^^
話戻しまふ(^^
おそらく別に使うんだと思いまふよ(^^ >>99
押したときに点滅はしまふか?(^^
デフォルトだと点滅しまふ(^^
まさかでふがこれ設定してないってことはないでふよね(^^
https://i.imgur.com/HPUlqrW.png >>100
dicの致命的欠点は全体を回せないってこってす。
foreachとかご法度なんで、全体舐める可能性が万が一あるんならリストがええです。検索はindexofとかfind indexofがええです。linqとかパフォーマンス劣化要因でしか無いんで、アクション激しい所は辞めた方がええですよ >>103
foreachがダメなのはどんな理由なんでしょうか? >>95
標準の既存のシステムはありません。ほぼ物理エンジンツールです。
ただアセットと呼ぶアドオン群が非常に優れています。
他人や売ってるアセットをカスタマイズするのが有効です。
それらアセットの仕組み自体を改変しようとすると一気に大変になります。
unity 2018 超大型サンプル
で検索して、インポートして、チュートリアル見ながら自分なりのものにさしかえれば、ある程度のものは作れるかと思います。
他にもお金を出せば自分の作りたいものに似たものが有るかもです。
一から自作しようとすると、死ねます >>103
普通にDictionaryでforeach使えるんじゃね?
順序性を維持したいって言うならListだけど。
Dicをforeachしたときのパフォーマンスは知らん >>104
アセットを買えばそんなスクリプトに頭を使わなくてもすみますよ >>103
foreach使って参照してるんですが……
何か問題でもあったのですか? >>102
それを設定できないんです。
アイコンの箱が表示されなくて。どうすればいいのか解りません。 >>108
GCもわからない人は素直にアセットを買いましょう よく分からんバグが発生してるときは一回デリートしてもう一回配置するといいでふよ(^^
ただほかの所にアタッチしてたりするButtonが外れちゃうので付け直す必要がありまんこ(^^ >>109
ちょっと一回インスペクターの画像貼ってほしいでふ(^^
それでわかるかもしれまふぇん(^^ なるほどforeachは重いんですね。
まだ初めて間もないんで、GCのことはよくわかってませんでした。
素直にfor文使います。 それで取り付けたらあとはNo Functionってところで呼び出したい関数(メソッド)を呼び出してくらふぁい(^^
ボッキング!(^^ >>114
アセットおじさんが適当言ってるだけだから真に受けるなw
DictionaryをforeachしたってGC頻発しないよ。
ってかDictionaryをforループさせるほうがパフォーマンス落ちる >>115
うわあああああああああああああ!!!!!
ありがとうございます!ありがとうございます! >>117
ゴメン、昔話になってた。最近のforeachってGC出ないんすね知りませんでした。帰って試しますわあ。
>>114
すまんforeachでも問題ないぽい。 >>117
ああ、foreach使っても大丈夫なのですね!
ありがとうございます!
ところで、ターン制コマンドRPGのスピードの実装で悩んでいるのですが
スピードの速さ順の判定ってどうすれば一番いいのでしょうか。
自分はDictionary<string"名前", int "speed">でdecに入れてからソートして、
Speed値が大きい順にListにKeyを返しているのですが、
もっといい方法ありますか?
なんだかすっごい遠回りしているような気分です。 >>119
こっちこそすまん。Unity5.2では、最適化しきれてないところがあって、Dictionaryに限らずListもforeachのパフォーマンス悪かったのね。
Unity5.6で解消とのことだ。 >>120
結局list化する所でどうしてもゴミ出るんだよね。
俺の場合クイックソートわざわざ作って入れ替えてるわあ
ターン制とかならソートを 毎フレームでもしない限り、CPU有り余るんで、そのやり方で大丈夫。 ScrollRect.verticalNormalizedPositionに1を代入しても反映されません
ログに値を出力しても0が表示されます
Updateで毎フレーム1を代入してもずっと0のままです。
値を反映させるにはどうすればいいでしょうか。
Version 2017.2.1f1のウィンドウズビルドです foreachのパフォーマンスってことなら、dictionaryそのものを回すんじゃなくて、valuecollectionで回す方が早かったりするし、配列もlistよりarrayの方が早いのは常識だけどな >>124
俺のpcで15kループやってみた
listで1.3ms
foreachでkeyでぶん回して3〜4ms
foreachでvalueでぶん回して4〜5ms
いずれもGCフリーでした。
i7 8700kで unity2018 il2cppです。
keyでぶん回す方が若干良いね 俺はKeyValuePairで回す派だわ。
foreachするときは、KeyもValueも欲しい時だし。
スピード気にするゲームじゃないけど
>>120
俺も、その条件ならそのやり方だなぁ。 dictionaryでstring バンバン使おうぜ! アセットバンドルについて質問した者です。
オブジェクト等は追加DLCのように表示したりすることはできるようになたのですが、
第三者がMODをつくれるような環境にしたいと思っているのですが、ちょっと考えが行き詰ったのでお知恵をお貸しください。
例えばですが、キャラクターがオブジェクト(機械等)のある一定距離に近づいて右クリックをすると画面上にUIが表示されるとします。
そのオブジェクトを第三者がMODを作って配布したいと考えている場合、UIを表示するトリガーが必要になりますよね?
ゲームの全ソースコードを公開するわけにもいかない場合、MOD作成者はトリガーを取得してUIを表示するためにはどうすればいいか
というところで悩んでいるのですが、何かいい方法はないものでしょうか? Windows用にゲームを作ってUnity Analytics使ってみたら簡単でびっくりしました
ですがこれってスパイウェアみたいな不審な通信扱いされてしまうのでしょうか? 公式の2Dシューティングのチュートリアルを勉強している超初心者です。
素朴な疑問なんですが、
公式のソースなんですが↓
> // ぶつかった瞬間に呼び出される
> void OnTriggerEnter2D (Collider2D c)
> {
> // 弾の削除
> Destroy(c.gameObject);
> // 爆発する
> spaceship.Explosion();
> // プレイヤーを削除
> Destroy (gameObject);
> }
この関数の引数にある「c」なんですが、
本来は引数の中は、引数を受け取る変数を書きますよね?
この「c」は、プログラマが自由な英数字で決めても大丈夫ですか?
それとも「Collider2D c」というのは決まっている引数名なんでしょうか?
変な質問ですみません、なぜ「c」なんだろう?と思いまして。。 おそらくCollisionのCかな?と思いまふ(^^
そこは変えても問題ないでふが(^^
初心者はいきなり変えないでチュートリアルを一回クリアしたほうがいいでふよ(^^
思わぬバグが起きることがあるので(^^
ボッキング!(^^ >>131
ありがとうございます。
了解しました、頑張ります! DLしてまふぇんが(^^
SS見るとツクールの歩行グラでふか(^^
もしUnityで使ってるなら規約違反(^^
Unityじゃないならスレチだし感想乞食もスレチ(^^ スレチだが、キミたちはお絵かきアプリ「アートマトン」を知っているかな?
フィルターじゃなく、AIによる手書きだというのが最大の謳い文句だが、一般のペイントソフトの手書き風フィルターと少しも変わらないのだが、それはどうしてかな?
ぎゃはははははぁぁぁぁあああああーーーーーーっwwwww >>134
>もしUnityで使ってるなら規約違反
なぜですか? ツクールの素材はKADOKAWAがツクール外に使うなって規約出してるんでふよ(^^ グラで躓いたりする場合もあるから
既存のグラでとりあえず製作していって
グラ作りは後回しでいいと思う
そうすると必要なグラ、不必要なグラとかわかるし
ただ規約の関係で製作途中の画面を人に見せられないんだよな 久しぶりに来たけどいい感じの良スレになってるじゃないか
その調子でやってくれ こっちは良いスレになってまふけど総合スレは・・・(^^ ボッキングはそろそろ自分のスレに帰ってくれ。
変なのと戦いだしてキチガイの集会場になってる。 ごめんなふぁい(^^
もう総合スレはスレッドごとNGして開きまふぇん(^^
迷惑をおかけしまひた(^^
ボッキング!(^^ ダーク王鍬大使さんのおかげでここが正常な流れになってるんで
すみませんがこのスレにはいてほしいです! 日本語化してる人って少数派かな?
英語のままだとどうしてもとっつきにくくて…
日本語化のデメリット、しない方がいいとかあったら教えてください 公式の2Dシューティングのチュートリアルを勉強している超初心者です
https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/adding-audio?playlist=46524
><8.3 爆発音を付ける>
>最後に爆発した時の爆発音を実装します。
>Sounds/SEにあるboom(爆発音のSE)をExplosionのプレハブにアタッチしてください。
↑ここの「boomをExplosionのプレハブにアタッチ」の部分なんですが、
言う通りにアタッチしたところ、何度やってもExplosionにはアタッチされず、
そのboomという名前のゲームオブジェクトがヒエラルキーに作成されてしまいます。
で、仕方なく実行してみると、開始直後にboom音が鳴ってしまう、という状況なんですが、
これは、もしかして、Unity2017では音をプレハブに直接アタッチすることが
出来なくなったということでしょうか?
なぜなら、この項目では、ファイル作成もソース記述もなにも必要ない項目ですので
これができないこと自体、私やチュートリアル記述のミスでは無く、
Unityの仕様変更されているんじゃないか?、、と解釈したのですが
違いますか? >>147
幾度のサイトや参考書が英語版のまま解説します。
自分だけやりやすいからと日本語表記で慣れてしまうと
なにかの解説を受ける時や、自らなにかを説明する時に
支障が出るので日本語化はやめておいた方が良い、と皆さん言いますよ。
英語表記のツールなどと同じで、これは「慣れ」だと思います。
気合いで利用し続けるのが良いと思います。 >>148
そのままドラッグドロップするんじゃなくて
prefabのAudio Clipのとこにもってくんじゃね >>150
ありがとうございますっ。
自分で該当のprefabにAudio Sourceをアタッチして
おっしゃる通り、そこのAudio Clipに
SEファイルをセットすると理想通りの状況になりました。
「Sounds/SEにあるboomをExplosionのプレハブにアタッチしてください。」
この文からそこまでの作業を理解できませんでした。。。
またひとつ、勉強になりました。 Unityを調べだしてから「アタッチ」って言葉がよくでてきます。
意味は「取り付ける」だそうですが、この「アタッチする」ことに
まだまだ慣れていないので、スクリプト.csをドラッグでアタッチする要領で
BGMも考えてしまいました。。。 >>147
今は解説が英語の方が多いだろうけどそのうちワラワラと日本語版の解説が増えると思います
他のソフトでも軒並みそのパターンですし
何となくふわふわした不安感で使いづらいと感じる英語版を使うくらいなら、日本語版でさっさと理解しながら使った方が良いと思いますけど
あと英語の解説であってもメニューの位置は同じなので使えないという事はありませんし、途中からUIを英語版に変えて意味不明になることも普通は考えられません
UI言語はいつでも切り替え可能なのでもっと気楽に考えれば良いと思いますけど >>147
VisualStudioはもうかなり昔から日本語になってるけどエラーが起きた時とかは明らかに英語の方が検索しやすい。
母数が違いすぎて。
UIの言語とエラー出力の言語切り替えられるならまた別かもだけど。 >>154
パフォチューん時もそうだ。
日本人で余りプロファイラ気にする人少ないんか、記事に人気が出ないんか知らんが、フォーラム頼みだわ
斜め読みでも、英語に慣れないと遠回りし過ぎる >>155
ああそういうUnityの機能わかんねーよってぐぐる時も言語違うといくら場所とか同じにしてもやりにくそうね 基本的に昔から日本語化に強く反対していた人達がこのスレにはいるので客観的な意見が聞けるかは微妙だと思う
ただ開発元が日本語化に踏み切ったという事はトータルではそれを望む声は多いんだと推察出来るけど
エラーは原文で出てくるみたい、Uiのみ日本語になる 別に日本語化は反対はされてないんじゃ。好きにすればって感じで。 これから始める初心者には日本語のほうが入りやすいだろうな
でも既にUnityやってるここの人たちには関係ないだろうに
今までどうやってやってきたんだよと言いたい >>159
上で英語で使ってるけどとっつきにくくてって言ってるやん 初心者に毛が生えたような奴しかここには居ないからなw でもよく、中国語とかを差し置いて日本語に対応したな 馬鹿正直に売上を申告して課金してくれるのが日本人だからな。
中国とかだとUnity本体どころかアセットすら違法DLで済ませてそうw すみません、素朴な質問なんですが
シーンビューの中のオブジェクトにSE音をアタッチした後、
それからずっとこんな感じで白いマークがついたままになっています。
https://dl1.getuploader.com/g/zipcodezipcode/159/o1.jpg
このマークを非表示にする方法ないですか?^^;
シーンビュー内のオブジェクト画像が隠れて、ちょっと見づらいというか。 >>164
そのショットにあるgizmosってのがエディタ表記関連なんで、全部オフるか、サウンドオフってみてちょ >>165
ありがとうございます、gizmos確認しました。
チェック項目数に驚きましたがアイコンサイズを変更できるのが
相当気が利いてますね。
ますますUnity、覚えたくなりました! もうひとつ、解消されると嬉しい疑問があります。
https://dl1.getuploader.com/g/zipcodezipcode/160/o2.jpg
この赤い囲みのエリア、スイッチが六つありますが
みなさんは普段どれに合わせてるもんなんでしょうか。
というのも、どの項目も用途があってビュー内でのオブジェクトの表示や
ドラッグした時の効果が変わりますよね?
逆にどの項目も必要としない場合に
どれに合わせておけば、シーンビューの中にオブジェクトをアタッチしたり、
オブジェクトを移動させるだけ、などの時に邪魔にならないのか、
まだ自分で判断つかないのですが、
自分はとりあえず画像の様に右から二つ目の項目に合わせてます。
皆さんは、普段はどこに合わせて放置してますか? >>158
多数決ではそうだろう、言語切り替え出来るし誰も困らない
ただ日本語化の話になるとバカが増えるとか意味不明な理由で暴れだす人達がちらほら出てくるというパターンがここにはある
何と戦ってるか解らんよ お前らわかってねえなあ
日本語化はUNITYの多言語化に先駆けて作られているだけで
日本語以外もこれから作られるんだよ
俺は英語版でやるけどな >>169
常に表示されている緑と赤の矢印が
視覚的に邪魔に感じませんか? >>171
オブジェクトをチマチマ動かすことが多いから、いちいち変えてられない。
全体的に見渡すときはさすがに変えるけど。 >>167
俺も左から二個目だな。
角度やスケールはインスペクターの数値左脇ドラッグぐりぐりしとる。 ツールが英語(世界共通語だぞ?w)だから
とっつきにくいとか言うてる様な根性の人間が
実際日本語なったからってゲーム制作に取り掛かったところで続かないと思うがねw
そもそもソースコードは英語なんだから。
そんな奴らはすでにそれ自体に拒絶反応出てんだろ。 本格的にやってる奴はこんな糞スレには居ないと思え
最近はデレステやら3Dエロゲやらが軒並みUnity製だろ
MOD作ったり改造したりするために必要なとこだけかじってる奴とかも多いんだよ エディタを日本語対応にしたのは、日本の高卒を相手にゲーム制作教育ビジネスを始めたからだよ
ゲーム制作やゲーム開発環境ではなかなか稼げない時代になっていて、これからは高卒を相手にゲーム制作教育やゲーム制作資格で稼ぐんでしょ 汝らは相変わらず百姓言語の日本語しか理解できないのかね?
汝らは根っからのザコなんだねw 日本語しか理解できない根っからの底辺ザコが、一応は頭脳労働の範疇に入るゲームつくりに興味を持つという、不可解な社会・・・・
ど、どうなってんの!!!? ゲーム作りはゲームばかりやってる社会に出たことが無いヒキニートでもやれそうな幻想を抱くものの一つだろうに
下手に煽って絶望させて包丁持って外に出られたら大勢の人が迷惑するからやめれ 日本語も英語も好きにしたらいいじゃん
他人がとやかく言うだけ底が知れるぞ 日本語なんて世界中で嫌われてる劣等言語なのに
誰が好んで使うんだろうな キャラ作ってもキムチだとすぐ分かるあたりが草
今度は太子か 丸とか記号組み合わせた文字使ってる隣国よりはマシだろ 韓国人はエリートだらけだからこんなのやらないよ
ゲーム教育ビジネスが成り立つような高卒だらけの国とは違うんだろう スレチだったら申し訳ないが…
今例のたこやきチュートリアルやってるんだが
"たこ焼きの跳ね返り"が分からない
ソースコードではエラー出ないのに、画面の端で跳ね返らず画面外へ行ってしまう https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/adding-the-title?playlist=46524
ここの<10.1 タイトルの表示>をやってるところなんですが、
上記の説明にある「GUIText」について、
●現在推奨されておらず、実装してもフォントが表示されない
●5.5以降のバージョンではGameObject > UI > Text で代替する
というのは調べて理解しました(こーいうのは公式が記載すべきだと思うのですが。
今回その「Unity UI Text」について質問したいのですが、
作ってみると、実際に問題なくフォントは表示されはするのですが、
いまいち理解できない、ところがあります。
というのは、
ヒエラルキーにてこのテキストのオブジェクトを選択すると
シーンビューの画面上にて、ものすごく引きの画面になり、
他のオブジェクトが米粒より小さくなって左下角に置かれている状況になります。
画像は、Canvasを選択した状態でおもっきり引きの画面になっているところです
https://dl1.getuploader.com/g/zipcodezipcode/161/o3.jpg
(試しに、今度その状態からヒエラルキーのプレイヤーオブジェクトを選択すると、
シーンビュー画面は、ぎゅーんと左下を拡大してって元の正常?な位置表示になりますが
テキストオブジェクトはシーンビュー画面上に見えなくなります)
。。。。これは、どういう状態なんでしょうか?
よくわからないのが、見て頂ければわかる通り、ゲームビューの方では
テキストが他のオブジェクトとサイズと違和感なく表示されています。
Unity UI Textを作成し触る場合、シーンビュー上はこーいうもんだ、
と割り切るべきなんでしょうか?
それとも自分がなにかおかしいことをしているのでしょうか?
シーンビューでなにが起きている状況なのか、知りたいです。 >>195
UIをいじるときにゲーム内のオブジェクトをクリックしないためにUnityが取ってるものすごーくお粗末な方法
文句はUnity本社まで >>196
深夜でしたがお早い回答を頂け、感謝します。
これは仕様なのですね^^;
スッキリしました、ありがとうございます。 https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/adding-the-title?playlist=46524
<10.2 タイトル > ゲームスタート ( > 死んだら ) > タイトル のマネージャークラスを作る>
今、上記のこの部分を実装しています。
<もし NullReferenceException が発生してしまったら?>
>メニューの Edit -> Project Settings -> Script Execution Order
>「+」ボタンを押して Manager を選択してみましょう
>摘んで「Default Time」の上に移動させます。
>Applyを押して適用します。これで全スクリプトで一番最初に
>実行されるのは Manager.cs となりました。
これらを忠実に実行したのですが、
いまだにこのスクショにある様に「NullReferenceException」が発生します。
これは、どういうわけでしょうか。(Script Execution Orderの現在の状況も載せてます)
https://dl1.getuploader.com/g/zipcodezipcode/162/o4.jpg
しかも、このページの最後までは実装したのですが、
>ゲームを再生してみてください。
>タイトル表示中はプレイヤーも敵も出てませんか?
>Xキーを押すとゲームが開始されますか?
この「タイトル表示中はプレイヤーも敵も出てませんか?」はバッチリなんですが、
「Xキーを押すとゲームが開始」ができません。
Xキーを押す、というのはこのチュートリアルのゲームの中、初めてのボタン使用なんですが
macの設定によっては認識されてないって可能性はありますか?(でも方向キーは認識してるんで、、)
これが「NullReferenceException発生」による不具合ならいいんですが、、
チュートリアルの支持通り、実装しましたがなにが足りないんでしょうか。
ソースコードはこの不具合が出てから全てコピペ版にしてますので記述ミスは無いはずです。 今回ばかりは、やばいかもしれませんね、、
ここをクリアできるか不安です。
どうかお力添えをよろしくお願いします。 スクショみる限りTitleというゲームオブジェクトがヒエラルキーに見当たらないけど
どこかに隠れているのかい? ■ このスレッドは過去ログ倉庫に格納されています