【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/ >>69
その話にならない事をするのがunityなんよ
だから早くやめてUE4かVANTAN入った方がいいよ >>69
何かオブジェクトAの子にオブジェクトBを生成するとBはAからの相対座標0になりまふ(^^
あとトランスフォームの数値の所をマウス押しっぱなしで動かすと(^^
オブジェクトを動かすことができまふよ(^^
ズレた回答でひたら申し訳ないでふ(^^
ボッキング!(^^ >>71
オブジェクトA子ってアニメが昔あったなぁ
って気がした >>71
確認できました^^
便利ではありますね、、
教えてくださってありがとうございます。
ただ、この薄暗い黒丸を
不透過的なものに変更したりできないんでしょうか?
実行したら弾の画像で実行されるんですが
いじってる時は画像じゃ無くて、非常に見えにくいので。 オブジェクトをある程度作ったあとに、
アニメーションに不満があり、新たに選び直した画像で作った
Animation ControllerとAnimation Clipのファイルを
その既存のオブジェクトに反映(上書き?)させる方法がわかりません。
古い方のAnimation ControllerとAnimation Clipのファイルはすでに
デリートしたあとなんですが、
オブジェクトのinspectorからAnimator自体を一度デリートしないと無理なんでしょうか?
Controllrの項目に入れなおせばいいだけかと思ったんですが反映されません。
現在、Animatorの下段にエクスクラメーションマークが出ています。 諦めず、飽きず、
もう5時間くらいチュートリアル頑張り続けています。
助けて下さい>< インスペクターのAnimatorにあるcontrollerって項目分かりまふか?(^^
そこの右にあるまんまるを押してくらふぁい(^^ >>76
ありがとうございます。
まんまるを押して該当のファイルを選択しましたが
実行後、反映されませんでした。
おかしいなとちょっとAnimationControllerファイルを選択し
インスペクターの右の「Open」をクリックしたところ
Default state がNot setと記載されています。
これはAnimationController自体うまく作成できてないのでしょうか?
AnimatorのBaseLayerの場所も緑のEntryが表示されています。
もしかして、僕のAnimationController空っぽなんでしょうか >>76
自己解決しました!
発生させた時に、そのスクリプトのフォルダないで
発生させた内部がちゃんとセットされてるファイルになりました。
そしてそれをあなたの言うように選択したらいけました!
ありがとうございます! Unityで拡張パックみたいなものを作るいい方法ってないですかね?
ゲームでよくある、例えばダンジョンを後で追加するとか、マイクラのような
MODを後で追加や変更するみたいな(マップ、オブジェクト、オーディオ等)
参考になりそうなチュートリアルなどのページでもいいのでご存知の方が居たら教えていただきたいです。 アセットじゃなくてアセットバンドルだなw
ググれば一発なのにと思ったが拡張でググるとエディタがひっかかるんだね
公式マニュアル読んで概要掴んでテラシュールでも読んで実戦してみれば判るはず
内容自体は複雑なものじゃない >>83
こんな機能が用意されていたなんてしらなんだ、情報ありがとうございます。
MOD関連に近い単語でしらべてたせいなのか、日本語では検索はしてなかったんですが
DLLとか逆アセンブルで無理やり読み込ませる方法ばかり出てきて困ってました。
今からちょっと触ってみます、ありがとうございました。 >>85
アセットバンドルは結構沼だから気をつけて下さい。
昔の情報も多いし、一年毎に結構発展してる。新しい情報を検索してください ステータス管理はListとDictionaryのどっちで実装するといいですか?
もしくは別の方法があったりしますか? >>87
いや状態を管理するのに適した型使えよ。
状態用に暮らすなり構造体なり作ってもえーんやで 同じディスク内に違うバージョンのUnityインストールできますか インストール時にフォルダ名を変えればできるで。
わいも3バージョンぐらい使いわけてる。 >>90
ですなあ、取り回しはそれぞれ。
クラスのnewやtolistやtoarrayはガベコレガバガバだから要注意やで、1番良いのは最初から設計仕切って、最初から箱用意し切るのがええんやで 公式がここ数年力を入れてるのはScriptableObjectだな
慣れるといろいろ便利だよ rpgって既存のシステムとかあるんでしょうか?
自作でしょうか?
あと、このゲームって3d空間で作ってるんでしょうか
http://tn.smilevideo.jp/smile?i=17527241.L >>95
アセットを買えばできますよ--------------------------------! バージョンをUnity2017.2からUnity2018.1に変えたら
PersistentDataPath以下に保存していたファイルが読み込めなくなって
前のバージョンのセーブデータが使用出来なくなってしまった
バージョン2018で何かデータ保存周りで注意すべき変更点ありますか? タイルマップコライダーに関してですが、これはタイルマップ全体にコライダーがかかるんでしょうか?
コライダーなしのタイルマップはまた別に使わないといけない感じですか? >>90
ありがとうございます。
ターン制を想定しているので、ソートしてもキーを返せるdictionaryを使うことにしました。
キーを返せるので判定が楽になります! >>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の多言語化に先駆けて作られているだけで
日本語以外もこれから作られるんだよ
俺は英語版でやるけどな ■ このスレッドは過去ログ倉庫に格納されています