【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/ >>27 Terrain 何て読むか知ってる? まさかとは思うけど「てらいん」なんて読んでたりしないよねw >>30 その可能性はわかっていたのですが、いい記事が見つかりませんでした {でいけました ショートカットではなくて、GUIで表示させておくことや、ショートカットのヘルプなどを表示させることは出来ないんでしょうか >>32 フォニックスに当てはめてテレインでひょうか?(^^ 英語圏のものでふひ(^^テラインは流石にないと思いまんこ(^^ でも英語は規則に当てはまらないものも多いそうなのであってるかはわかりまふぇん(^^ 知ったか失礼ボッキング!(^^ カメラをオシロにしてみそ。 正直ショットくらいのは3Dプロジェクトでいいべ。 どうしてもファミコンチックにしたいときのみ2Dにしたら良い思いまう >>31 ねぇねぇ まさか答えれないの? ねぇねぇ シェーダーグラフのノードを自作できるみたいなんで以下の感じでテクスチャをRGBAでアウトプットする ノードを作ってみたのですが、 Preview shader for graph has 1 error: Shader compilation error in graph at line 47 (on d3d11): undeclared identifier '_MyCustomNode_93134358_Sampler' とエラーがでてしまいます。調べてもそれらしい情報がみつからずに手詰まり状態です。 シェーダーにテクスチャが宣言されていなバグだろうとは思うのですが、どなたか情報もってる方おられませんでしょうか? using UnityEngine; using UnityEditor.ShaderGraph; using System.Reflection; [Title("Custom", "My Custom Node")] public class NewBehaviourScript : CodeFunctionNode { public NewBehaviourScript() { name = "My Custom Node"; } protected override MethodInfo GetFunctionToConvert() { return GetType().GetMethod("test", BindingFlags.Static | BindingFlags.NonPublic); } static string test( [Slot(0, Binding.None)] Texture2D Texture, [Slot(1, Binding.MeshUV0)] DynamicDimensionVector UV, [Slot(2, Binding.None)] SamplerState Sampler, [Slot(3, Binding.None)] out ColorRGBA Out) {return @"{Out = SAMPLE_TEXTURE2D(Texture, Sampler, UV);}";} } >>25 二番目の画像の右下の Show Package Details をチェックして Android SDK Build-Tools のインストールされているバージョンを表示させる。 28.0.0にチェックされていないなら、チェックしてApllyを押す。 インストールされたら、Unityのビルドを試してみて。 初めてUnityダウンロードして、今このチュートリアルをやってるんですが https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/creating-sprites-and-sprite-animations?playlist=46524 >図1.10: >するとAnimation Clip ファイルと対応するAnimationControllerファイルが >Spaceshipのフォルダに作成されます。 >AnimationController ファイルの名前をPlayerに、 >Animation Clipのファイルの名前をNormalに変更して、 >Animations/PlayerフォルダにDrag & Dropして移動しましょう。 ここで詰まっています。というのも、Animations/Playerフォルダにすでに 「Player」と「Normal」というファイルが存在しているんです。 Drag & Dropさせても、同じ名前のファイルが居座っているせいか、 弾かれるんですが、、、、、、 これはすでにそれらのファイルは用意されている状態だった、ということでしょうか。 このプロジェクトファイルのセット内容、ミスってるんですか? 初心者相手に、しかも難易度初級を銘打ち いきなり用意したファイルでイレギュラーなことすんなって言いたいんですが。。 パーティクルのTexture Sheet Animationを使ってるんですが、再生してみると妙にチラつくというか点滅してます アニメーションがスムーズに流れずに、1フレーム毎に表示しないフレームが差し込まれている様な なにかパーティクルもしくはUnityの設定で弄るべきところがありますか? >>41 今プロジェクトダウンロードして指示通りにやってみたが、普通にできたぞ? まぁ文章には書いてないが君がプレイヤーのファイルがどうこういってるのは、親フォルダが_Completed-Assetsだろ? つまりアセットが完成されてるやつなんだからファイルがあって当然だろ。 チュートリアルで言いたいのは要は新しくフォルダ作って入れろってことなんじゃねえの? しょうもないいちゃもん付ける前にフォルダ名ぐらい読んで意味を理解する努力ぐらいしろよw >>41 公式のチュートリアルはいろいろ説明省いてて難しいので 他のサイトで勉強したほうがいいと思う DLしたものはスクショと違うので自分でフォルダを作る必要がある アクションRPG作る場合は、自分でシステム作らないと厳しいのですか? >>40 エラー文をgoogle検索すれば解決策が書いてあるので試してみて。 英文をわからないままにせず、google翻訳と検索にかけて内容を確かめるくせをつけるといいかも。 >>46 unityは大変だからUE4にした方がいいよ タイルマップエディタの消しゴムのサイズは変えられないでしょうか >>41 >今プロジェクトダウンロードして指示通りにやってみたが、普通にできたぞ? Animationsフォルダを自分で作成して、そこに作って、保存していったということですか? >親フォルダが_Completed-Assetsだろ? その通りです。確かに意味を考えたらそうでした。 しかしチュートリアルのページではそこに触れてないので、、 ということは、落としたフォルダ内の_Completed-Assetsってフォルダを 抜いてからプロジェクトとして開けば、よかったんでしょうか? じゃないと自分でもフォルダ作って制作していたら、完成後ファイルが二重に存在する奇妙な状況になりますよね? 自分初心者なんですみません。でも、ちゃんとこのチュートリアルを学びたいんです。 説明お願いします。。 >>44 2Dアクションやシューティングのチュートリアル的な勉強をしたいのですが 他のサイトで良いのありましたら教えて下さい。 たくさんやって、成長したいんです。 例えば、Completed-Assetsフォルダを抜いて、 チュートリアル上で足りないフォルダを自分で作りながら 進めればいいよって言われたらそれはそれでやりやすいです。 だって、超初心者たちって、 初めて触るわけで、チュートリアルなんて 向こうの言いなりに進めるだけだと思うんですよ。 間違っちゃまずい、さらにわけわからなくなる、というプレッシャーとも 戦いながら読み進めているのです。 正直、そこで、いきなり説明にないことを自分で判断して、 しかも独自に判断してフォルダを作成してなどと 書いても無いことを行動させられるのは、 初心者には勇気がいる行動です。 これは、指示待ち人間かよ的な話じゃありません、 まだこちらはそこの域では無いのです。 一番最初じゃないですか、言いなりで進めて当然ですよ。 そういう臨機応変な対応を求めるなら求めるでもいいんです。 でも、それなら補足として一言でもそう記載すべきだと 私はあの公式ページに思いました。 それだけで、ああ自由に判断していいのか、とこちらもなるんで。 というかいきなり判断力を求めるんじゃなくて チュートリアルなんてのは初めてゲームエンジンを触る人を想定して そういう初心者にどこまでも優しいページであってほしいと思いました。 unityでカメラ追従を勉強してるんですが public Transform target; というコードが出てきました インスペクターからターゲットを指定出来るようになりますが、 Transformという部分はなんと呼ばれているものでしょうか? 型、などというんでしょうか 今まで通りにUnityAds を導入したアプリを作ったんだけども、テスト端末そのまま使ってるのに 新しいアプリのみテスト広告が流れずに本番広告が流れるんだけども なんか抜けてそうな設定とかわからないかしら? ちなみに端末の広告IDが変わってないことは確認済み インスペクターからはスクリプトを作る場所を指定できませんが、後から移動させる方式なのでしょうか フォルダに移動してから作ればいいだけではありますが https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/moving-the-player?playlist=46524 <2.3 プレイヤーを動かす準備>をやっています。 プレイヤーのゲームオブジェクトを選択して、 インスペクター上に表示される情報にRigidbody2Dがありません。 なので、Gravity Scaleの設定ができずにいます これは先ほどの無ければ追加すればいいという問題では無いので 非常に困惑しています。 そのゲームオブジェクトにRigidbody2Dをアタッチする方法を教えて下さい。 それとも、Rigidbody2Dは名前が変わったのですか? ああ、Add Componentで各コンポーネントを 追加できるんですね!! HPの記載とか、書いてないからとかいうならVANTANとかで習った方がいいよ HPの記事とか記載とか云々は初心者がとかいうレベルではない そこに間違った記載があっても初心者なので、で済むないのが某ツイッターで懲戒請求とかに繋がるからなぁ 他の質問も解決策はVANTANだね! >>53 チュートリアルを読んで理解できるなんてキミは優秀だよ。 当方なんか、スキンメッシュレンダラーのメッシュを加工できるレベルになっても、いまだにチュートリアルは理解できないからねw >>63 キムチは早く>>37 に答えろよ そしたら書き込みしてもいいぞ >>64 何だ!?Terrainがタレインと読むってことか!? バカか!? あと、スキンメッシュレンダラーをいじるとFBXが壊れると言ってたバカがいたけど、アセットのFBXが壊れるだけだよw 再インポートすれば大丈夫だよ。 コツは変形させた後はゲームを終了する前に必ず元に戻すことだよ。それさえ気をつければ何も問題ないよ。 バカか!?w 2D制作上ですが、 空のオブジェクトを作った際に、発生した座標が気に入らないので 変更したいのですが、画像有オブジェクトみたくドラッグで〜みたいなことができません。 (うっすら黒い丸です)置きたい座標を調べて手打ち、なんてのじゃ話になりませんし、 どうすれば解決できるのでしょうか。 教えて下さい。 >>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」なんだろう?と思いまして。。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる