1 名前:名前は開発中のものです。 mailto:sage [2016/01/11(月) 01:24:43.29 ID:r4suKLTg.net] 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。 Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他 次スレは>>970 を踏んだ方が建て
701 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 00:00:58.21 ID:jXhVptvz.net] 今あったことで、解決はしたんだけど謎の現象 GameObject.FindGameObjectWithTag(
702 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 00:06:52.64 ID:jXhVptvz.net] 失礼、なんか切れてしまった GameObject.FindGameObjectWithTag("Player")でプレイヤーを取得、これが今までまったく問題なく出来ていたのに あるスクリプトファイル一つだけが、なぜかその方法で取得できなくなっていた それ以外の全てのスクリプトファイルからはちゃんと今までどおり取得できる で、試しにtestタグを新設して、Playerタグをそれに切り替えたら普通に GameObject.FindGameObjectWithTag("test")なんて感じで取得できる 仕方ないからいったんUnityとVC落として気分転換して、再度立ち上げて実行したら ちゃんとGameObject.FindGameObjectWithTag("Player")で取得できていた これの直前にやったことといえば、3Dモデルとでもシーンだけ含まれたアセット落としたのと 新しいAnimatorControllerとAvatarMaskを作ったぐらい まあ解決したっぽいからいいんだけど、ちょっと納得いかない現象でした 皆さんはこれと似たようなことはありましたか? あったとしたら、どう解決しましたか?
703 名前:名前は開発中のものです。 [2016/02/14(日) 02:39:42.70 ID:AFeuiLuV.net] 面白いスマホゲームを遊びたい人とゲームを遊んでもらいたい制作者の 双方にメリットのあるサイト www.game-smartphone.com/ 個人のアプリ開発者が集まって作る新しいプラットフォーム houkago-no.appspot.com/ アンドロイダー ユーザーと公認アプリ開発者が一緒になって情報発信していくアンドロイドアプリ情報サイト https://androider.jp/
704 名前:名前は開発中のものです。 [2016/02/14(日) 08:37:29.42 ID:GA0JRD4a.net] グラボ入れたらUnity全く動かなくなった… 黒い画面から進まない ナイスブラックって感じっす もうBlenderしよ…
705 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 16:03:09.01 ID:jsVLIggR.net] animatorとanimationを使い、キャラクターが移動をするアニメを作りました。 ks.c.yimg.jp/res/chie-que-1066/1/066/846/865/i320 このようなチップセットで一番左上の侍の上下左右移動アニメを作りました。 キャラクターのゲームオブジェクトを流用し、忍者のアニメも作りたく思います。 このとき、animationとanimatorは流用して、スプライトのみ変更ということはできるのでしょうか。 もしかして、上記上げた画像のキャラクター8体作成しようとすると animator 8パターン animation 8*4=32パターン 用意しないといけないのでしょうか。 例えばここに攻撃モーションを追加するとなった時に8パターンのanimatorを全部編集して……というのはできれば避けたく思います…… 良い知恵をおかしいただけませんでしょうか。
706 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 16:21:06.82 ID:MV7IrGrz.net] >>692 animationに
707 名前:つけるスプライトパターンは、Unity的にはclipって名前 AnimationClipの動的な差し替えは可能 clip自体の動的な生成は出来ない…はず UnityEditor機能だから [] [ここ壊れてます]
708 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 16:41:28.89 ID:BJfxAvBi.net] >>692 AnimatorについてはAnimatorOverrideControllerを使う、というのが大体の作法だろう。 docs.unity3d.com/ja/current/Manual/AnimatorOverrideController.html docs.unity3d.com/ja/current/ScriptReference/AnimatorOverrideController.html 2Dの方は俺はあんまりよくわからないのでアレなのだが EditorScript書けば量産自体は可能だろうと思う。 例えばこのページ ttp://qiita.com/RyotaMurohoshi/items/5cb865c23a50055cf92f もっとも結構古い記事なのでそのままは使えないかもしれない。 Editor系のクラスは割とざっくり変更されたりするのでカスタムエディタースクリプトも頻繁な見直しを強いられる。 Clip自体の動的な生成も少なくとも3Dでは出来るんだが2Dのはわからん。 けど出来ない理由はないと思うがな。 docs.unity3d.com/ScriptReference/AnimationClip.SetCurve.html
709 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 16:42:52.56 ID:lypsNsp3.net] たかが数パターンの2DアニメならAnimetor使わなければいいだけだと思うんだが
710 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 16:44:29.60 ID:MV7IrGrz.net] Clipの動的な生成ってできたのか… 出来ないもんだと思ってた
711 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 16:55:09.51 ID:MV7IrGrz.net] AnimationClip.SetCurve ここも確か個人的に通った道で、 その先さんざん調べまくってどっかでUnityEditorが必要な場面が出てきて諦めた記憶がある
712 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 17:05:01.55 ID:BJfxAvBi.net] 多分だが直接RuntimeAnimatorControllerにクリップを入れようとしたんじゃないか。 確かにあれに直接いれようとするとEditorになっちまうんだ。
713 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 17:13:33.04 ID:MV7IrGrz.net] いや、そこは動的に入れ替えできる それ出来ないと表示中に差し替えできなくなっちゃうし 最終的には、↓の65ページ目あたりを参考にした japan.unity3d.com/unite/unite2015/files/DAY2_1400_room2_Ando.pdf
714 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 17:16:55.71 ID:MV7IrGrz.net] 72ページ目が、ちょうど>>692 のケーススタディだね
715 名前:691 mailto:sage [2016/02/14(日) 17:47:05.97 ID:jsVLIggR.net] 回答有り難うございます。 AnimatorOverrideControllerにたどり着きましたのでこちらでアニメーションを変更させようと思います。 お知恵をお貸し頂き、ありがとうございました
716 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 20:49:32.29 ID:MV7IrGrz.net] uGUIのボタンをAnimationのスプライトに変えたいのですが docs.unity3d.com/ja/current/Manual/script-SelectableTransition.html 上記「Animation」で設定してもスプライトが表示されず、悩んでいます。 表示方法をご存知のかたいましたら、ご教示お願いしますm(_ _)m
717 名前:名前は開発中のものです。 [2016/02/14(日) 20:59:07.81 ID:chGNXPM5.net] Water4Advanced_cityで海を作ったんだけど 再生すると、それに付随するカメラで何度も以下のエラーが出る UnityEngine.Camera:Render() UnityStandardAssets.Water.PlanarReflection :RenderReflectionFor(Camera, Camera) (at Assets/Standard Assets/Environment/Water/Water/Scripts/PlanarReflection.cs:200) このエラーの正体は何ですかね?再生した後console見ると、何百とこのエラーが出現する
718 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 21:14:30.25 ID:ZA1oCLSd.net] >>702 根本的に何か勘違いしてないか? とりあえずエスパーしてみるが… uGUIでスプライトアニメーションを表示し、それをボタンとして動作させるのなら まずuGUIでスプライトアニメーションを表示させる仕組みを実装する必要がある uGUIでスプライトを表示するのはImageコンポーネントだが、スプライトアニメーションをさせる仕組みは標準では存在しない >>703 Assets/Standard Assets/Environment/Water/Water/Scripts/PlanarReflection.csの200行目周辺で何をしてるか確認すればいいと思うよ
719 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 21:17:20.36 ID:MV7IrGrz.net] >>704 まじですかorz ボタンを作って、TransitionをAnimationにして、「Auto Generate Animation」をクリックすると 中身が空っぽのステートマシンが出力されるのですが… これがAnimationじゃないとすると、どういう用途のものなんでしょうか
720 名前:名前は開発中のものです。 [2016/02/14(日) 21:48:52.09 ID:chGNXPM5.net] プログラミングはよくわからない初心者なんですが ショートムービーが作りたく、GAMEで再生してるものを キャプチャーして、アフターエフェクトかプレミアに 取り込んで、あとでテロップなどを入れて完成させたいです。 録画か連番キャプチャーでおススメはありますか?
721 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 22:19:48.46 ID:ZA1oCLSd.net] >>705 それはAnimationControllerそのものだからAnimationClipをImage.spriteを毎フレーム書き換えるように作れば勿論スプライトアニメーションとして動くよ ただUnityでのスプライトアニメーションの仕組みは基本的には2Dで使われる前提で用意されたものなのでSpriteRenderer.spriteを書き換える様な形で生成される SpriteRendererはそのままではuGUIの世界に持って来れないからそのままでは表示されない もし2D用のAnimationClipをそのまま使うなら まずSpriteRendererをアタッチして2Dのスプライトアニメーションを動かしておいて、適当なスクリプトで void Update(){ image.sprite=spriteRenderer.sprite; } とかやれば一応アニメーションは表示されるはず。効率の良い方法でないからお勧めはしない 俺なら2D用のスプライトアニメーション(AnimationClip)をuGUI用のスプライトアニメーションに変換するエディタスクリプトを書くかなぁ
722 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 22:29:07.10 ID:b6sa9rdO.net] 多重スクロールさせるため、3Dのカメラに2Dスプライトの背景を置いています。 遠いものほどZ軸に遠くに配置し、スケールを大きくすることで、 疑似的な3D感を出せるのですが、毎回スケールを調整するのが手間なので、 どんなZの位置になっても、カメラから見て元の大きさになるスケールの値の 計算方法を教えてほしいです。
723 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 22:33:58.22 ID:ZA1oCLSd.net] >>708 これの改造で行けると思う docs.unity3d.com/ja/current/Manual/DollyZoom.html
724 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 22:37:43.19 ID:MV7IrGrz.net] >>707 なるほどSpriteRendererがuGUIと繋がらないんですね… ありがとうございます もうSpriteでOnMouseDownでもいいかなぁ ご教示いただいたのも含めて、代替方法悩んでみます。ありがとうございました
725 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 23:02:17.41 ID:MV7IrGrz.net] >>707 すみませんもう一点だけ質問させて下さい UI上でSpriteを管理するためにはImageを使うということはわかったのですが、 同じようにUI上でParticleを使いたい場合、適切なコンポーネントはあるのでしょうか。 RPGのステータス画面で魂っぽいものをParticleで出しており、まだ着手していないのですがこれもボタン化しようとしています。
726 名前:名前は開発中のものです。 mailto:sage [2016/02/14(日) 23:30:31.65 ID:BJfxAvBi.net] >>708 基準になるスケールがs0としてその時のカメラからの距離のZ軸分がz0として現在のZ距離がz1とすれば その地点で見かけの大きさが等しくなるためのスケールの値s1は s1=s0*z1/z0 になる。
727 名前:名前は開発中のものです。 mailto:sage [2016/02/15(月) 00:53:11.79 ID:WVKoljbQ.net] >>711 流石にパーティクルはuGUIじゃ無理なので一旦RenderTextureに描画してRAWImageに表示かね
728 名前:名前は開発中のものです。 mailto:sage [2016/02/15(月) 01:06:24.95 ID:lEb1B1aG.net] >>711 最近Unity触ってないから詳しくは忘れたけど、キャンパスの奥行き位置のルールを決める設定があって そこを弄ればGUIだろうがイメージだろうが3Dモデルだろうがパーティクルだろうが手前に表示出来たはず オーダーレイヤーの管理が少し面倒になるけどね
729 名前:名前は開発中のものです。 mailto:sage [2016/02/15(月) 02:02:10.05 ID:jG8XJvHU.net] >>713 ありがとうございます RawImageについて調べてみます >>714 ありがとうございます 最悪それでやろうと思ってました… 多重でサブウインドウ開く場合は動的にプライオリティ変更する感じで
730 名前:名前は開発中のものです。 mailto:sage [2016/02/15(月) 20:20:23.54 ID:bslrDr3A.net] 動的なNavMesh生成をするために 平面1枚の巨大なNavMeshから大量のNavMeshObstacleで好きな形に整えてみましたが NavMeshの頂点が無駄に多くなってしまいました(直線なのに途中に頂点が多数乗っている状態) このメッシュを最適化する方法ってありますでしょうか?
731 名前:名前は開発中のものです。 mailto:sage [2016/02/16(火) 01:33:03.02 ID:UYXvXO0b.net] >>716 リアルタイムじゃなくて良いならある、計算幾何学系の本読むとよいかも
732 名前:名前は開発中のものです。 mailto:sage [2016/02/16(火) 09:51:39.44 ID:/t0eiuWk.net] >>717 ナビメッシュの頂点を操作する方法はあるんでしょうか? リファレンスを見ても一度作ったメッシュに手を加える方法が見つからないのですが…
733 名前:名前は開発中のものです。 mailto:sage [2016/02/16(火) 10:22:58.62 ID:8AOr0Xt8.net] >NavMeshの頂点が無駄に多くなってしまいました NavMeshがどういう物かも良く知らんくせに何故頂点が無駄に多いと思うんだよw
734 名前:名前は開発中のものです。 mailto:sage [2016/02/16(火) 13:48:26.73 ID:lHM7esNH.net] 公式の「SDユニティちゃん 3Dモデルデータ」ってのを落として動かしてみてるんですが 何故かHumanoidリグ版にCharacter Controllerを付けると接地せず微妙に浮く… Genericでは特にそういった事は無さそうなんですけどこれは何が原因なんでしょうか
735 名前:名前は開発中のものです。 [2016/02/16(火) 18:23:49.12 ID:ZJyPriQc.net] uGuiで躓いているので質問させてください。書出しはAndroidです。 UI>panel>スクリプトでプレハブを並べる、という流れです。(5x5でプレハブを並べたアイテムインベントリ) プレハブはPanelの子要素として並べています。 PC上ではPanelに合わせて1個あたりでプレハブのサイズが拡大されるのですが実機(Android端末)ではプレハブを作成したときの小さなサイズのままです。 なぜこうなってしまうのかわからず、手がかりをいただければと書き込みさせていただきました。 質問が拙いのですが何か「これじゃね?」的なものありましたらよろしくお願いします。
736 名前:名前は開発中のものです。 mailto:sage [2016/02/16(火) 18:58:35.83 ID:qVknYHUh.net] むしろ質問者が手がかりを提示すべきなんじゃないですかね? Canvasの設定とか
737 名前:名前は開発中のものです。 mailto:sage [2016/02/16(火) 19:23:16.85 ID:ZJyPriQc.net] 仰るとおりでございます(;´Д`) Canvas Scaler > Scale With Screen size , 1600*900 , Expand ,Peference Pix Per 100 その他Canvasにアタッチされたコンポーネントは初期値のままです。 Canvas>Panelの子として複製されるプレハブはUI>Imageを元にしたもので、アイテムイメージ表示のスクリプトをアタッチしてあるだけのものです。 Panelはプレハブを並べ、アイテムをドラッグしたりするスクリプトをかいてあります。 YoutubeのPiDiさんという方のチュートリアルを動画を見つつPart5まで打ち込み、実機での動きを確認してる状態です。
738 名前:名前は開発中のものです。 [2016/02/16(火) 23:00:35.64 ID:Qd5CqjhQ.net] AndroidでランキングにLobi、広告にappcを利用しようと実装しているのですが、AndroidManifest.xmlの位置がAssets/Plugins/Android/AndroidManifest.xmlとAssets/Plugins/Android/LobiCore/AndroidManifest.xmlにそれぞれある状況です。 これを片方にまとめたいのですが、片方にまとめてもうまく動作しません。AndroidManifest.xml側でパスの編集とかをしないといけないのでしょうか? Lobiを適用すると変な階層にAndroidManifest.xmlがあるため同じ経験をした方はご教授おねがいします。
739 名前:名前は開発中のものです。 mailto:age [2016/02/17(水) 15:38:37.29 ID:l3sG+XyU.net] public TextAsset txt = null; private string[] text = new string[100]; void Start() { text = txt.text.Split( '\n' ); } Inspectorでtxtにテキストファイルを入れて text配列に改行を一区切りして文章を入れたいんだが ひらがなが入らない… ひらがなや漢字を入れる方法を教えてください
740 名前:名前は開発中のものです。 mailto:sage [2016/02/17(水) 15:47:55.32 ID:w2r2iz14.net] >>725 テキストはUnicodeを使用すること。 あと環境によると思うがsplitは(System.Environment.NewLine.ToCharArray()) にした方がいい気がする。stringのsplit引数はstringでもいい筈なんだが 少なくとも4の時は何故かchar[]じゃないと通らなかったんだよな〜。
741 名前:724 mailto:age [2016/02/17(水) 16:33:27.95 ID:l3sG+XyU.net] >>726 UTF-8 にしたらできた サンクス
742 名前:名前は開発中のものです。 mailto:sage [2016/02/17(水) 17:49:22.80 ID:HjnSRaCZ.net] 質問失礼します。 iPhone用のゲームを制作中です。 @Application.dataPath AApplication.persistentDataPath BApplication.temporaryCachePath ファイルの保存場所は上記3か所あるようですが、 サーバーからダウンロードしたゲームで使用する画像ファイル等は、 どちらに入れないといけないのでしょうか? 現在はAに入れているのですが、@とAは「容量が大きすぎるとリジェクトされる事もある」という情報を得て困惑しています。 Bなんですかね? temporaryって名称だったので一時的なファイル置き場で、ある日突然システムから消されるものと勝手に思ってたのですが、違うのでしょうか?
743 名前:名前は開発中のものです。 mailto:sage [2016/02/17(水) 18:21:14.12 ID:CiQJMAsM.net] >>728 基本的にはBのApplication.temporaryCachePathが正解 ユーザー操作に依らないでサーバーからダウンロードしたゲームで使用する画像ファイルは なかったらサーバに再取得しに行けば再構築出来るデータなので一時的なキャッシュとして扱うのが適切 またテンポラリファイルである以上、消えている可能性を考慮して存在チェックと再取得の処理を用意しなければならない @のApplication.dataPathはアプリ本体に内包したデータファイルを指すパスでありapkやappの中になるため特別な理由がない限り書き込みはすべきでない AのApplication.persistentDataPathはアプリ単体では再構築出来ないセーブデータ等を保存するパス。再構築可能なファイルを保存すべきではない 例外として、ユーザーがURLやファイル指定で設定したプロフィール画像など再取得が不可能な物は セーブデータとしてpersistentDataPath以下に置くことが好ましい
744 名前:727 mailto:sage [2016/02/17(水) 18:25:33.44 ID:HjnSRaCZ.net] >>729
745 名前:727 mailto:sage [2016/02/17(水) 18:27:51.21 ID:HjnSRaCZ.net] >>729 詳細な情報ありがとうございました!
746 名前:名前は開発中のものです。 mailto:sage [2016/02/17(水) 19:21:03.73 ID:RqlewXbY.net] >>1 のwikiってずいぶん前に更新が止ってるけど ここ数年は特記すべき変化がないってことなんです?
747 名前:名前は開発中のものです。 mailto:sage [2016/02/17(水) 19:49:32.80 ID:pXcKHMIe.net] わざわざ編集してやろうとおもうような奇特な奴がいなくなってしまって すっかり忘れ去られた遺跡だからね 貴方が編集してくれてもいいんだぜ
748 名前:名前は開発中のものです。 [2016/02/17(水) 19:51:50.70 ID:Q/7ANjt6.net] JavaScriptでマウスエイムを作ろうとしていますが、いくら検索してもC#ばかりで出てこず、 座標取得やスタンダードアセットを参考にしても分かりませんでした。 どうやったらマウスエイムができるのでしょうか?
749 名前:名前は開発中のものです。 mailto:sage [2016/02/17(水) 19:55:35.80 ID:VTFpwTqM.net] C#のコード読むのが手っ取り早いかと
750 名前:名前は開発中のものです。 mailto:sage [2016/02/17(水) 21:02:03.22 ID:w2r2iz14.net] せめて自分なりに書いたコードあげて「こう動かない」とかじゃないと 単に「コピペすれば動くコード寄越せ」って言ってるのと変わらん…
751 名前:名前は開発中のものです。 [2016/02/17(水) 21:11:25.76 ID:HvVp5T2l.net] 今自分のゲームにmp3のファイルをインポートしようとしたらなぜか必ずクラッシュします バージョンは5.3.2を使ってます 前のバージョンでゲームを作っててなんともなかったのに新しいバージョンにして 初めて音楽ファイルをインポートする作業をやり始めたのですがつまってます 同じ症状の人おられますか?
752 名前:名前は開発中のものです。 [2016/02/18(木) 00:00:38.97 ID:7cjKoaWF.net] Unity初心者です。 初歩的な質問で申し訳無いのですが、よろしくお願いします。 衝突判定の数秒後にゲームオーバ処理を行うため、コルーチンを使ってみたのですがどうも動いてくれません。 以下コードの一部です。 _void OnCollisionEnter(Collision col) ____{ ________if (col.gameObject.tag ==
753 名前:名前は開発中のものです。 [2016/02/18(木) 00:01:08.85 ID:7cjKoaWF.net] Unity初心者です。 初歩的な質問で申し訳無いのですが、よろしくお願いします。 衝突判定の数秒後にゲームオーバ処理を行うため、コルーチンを使ってみたのですがどうも動いてくれません。 以下コードの一部です。 _void OnCollisionEnter(Collision col) ____{ ________if (col.gameObject.tag == "TheBoard") ________{ ___________StartCoroutine(LateTime(3.0f)); ________} ____} ____private IEnumerator LateTime(float time) ____{ ________Debug.Log("呼び出し"); ________Destroy(this.gameObject); ________Debug.Log("呼び出し破壊"); ________GameObject exp = (GameObject)Instantiate(detonator.gameObject, transform.position, Quaternion.identity); ________Debug.Log("呼び出し爆発"); ________yield return new WaitForSeconds(time); ________Debug.Log("呼び出し遅延"); ________SceneManager.LoadScene("GameOver"); ____} 衝突→オブジェクト消滅→爆発処理→数秒待機→画面変遷という流れです。 なんで動かないのか調べるため、試しに衝突後の処理を全てコルーチンに入れてみたのですが、 どうもyieldから呼ばれていないようです。 何か解決策有りましたらよろしくお願いします。
754 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 00:31:48.05 ID:dT69GB31.net] >>739 その状況から察するに、そもそもスタートコルーチンが呼ばれてないんじゃないの? タグ名間違えてたりしない?
755 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 00:37:14.37 ID:dT69GB31.net] >>739 ごめん 酔ってたからちゃんと読んでなかった コルーチンを実行してるゲームオブジェクトが、先に破棄されてるんじゃないの? ゲームオブジェクトはコルーチンが終了してから破棄するか、破棄されるゲームオブジェクトとは関係ない別のゲームオブジェクトからコルーチンを実行してあげるかしないとダメだよ
756 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 01:07:06.84 ID:VlmBiCT7.net] >>737 です unity入れ直したりosを再起動させたりインポートの方法をメニューのassetの 所からやるように変えたら上手くいきました 何が上手くいった理由なのかはわかりませんがw
757 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 03:07:48.85 ID:nu+A7gPa.net] >>739 コルーチン使わなくてもfloat変数作ってそれをTime.deltaTimeで引いた方が早いんじゃない?
758 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 07:32:24.95 ID:eRvToBvZ.net] >>739 コルーチンは StartCoroutine("LateTime",3.0f); で呼び出すんじゃないの?
759 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 09:08:54.92 ID:AQpi5nFT.net] >>744 メソッド名が変わった時エラーダンプされないからstring引数は絶対やめたほうがいい
760 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 10:36:59.10 ID:TdEi2HK+.net] unity3d.com/jp/learn/tutorials/modules/intermediate/scripting/coroutines?playlist=17117 日本語字幕の短いチュートリアルくらいはやりましょう
761 名前:名前は開発中のものです。 [2016/02/18(木) 13:55:32.05 ID:GiMk5ehq.net] スクリプトからUIのImageオブジェクトの色を変更したいのですがどうすればよいでしょうか。 this.gameObject.color や GetComponent<Image>() とやってみましたが上手くいきませんでした。 よろしくお願いします。
762 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 14:03:44.62 ID:lCecrzSR.net] また調べるの面倒なのでコピペすれば動くスクリプト貼ってかよ せめて>>739 程度に自分で書いたスクリプト貼ってどこでつまずいたのか書けよ
763 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 14:12:47.31 ID:ojlsCmOr.net] 書いてあるように見えるが
764 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 14:13:17.30 ID:prkk2VAO.net] >>747 Image.color
765 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 14:37:11.25 ID:lCecrzSR.net] きちんと GetComponent<Image>()とUIオブジェクト群って コンポーネントと理解してるんだから >>750 のように取得したのに.color指定すればいいだけなのに何処で間違うのかって話 例えば targetImage = child.gameObject.GetComponent<Image>(); target.color = new Vector4(0, 0, 0, 1);
766 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 14:38:49.58 ID:lCecrzSR.net] 例えば TargetImage = child.gameObject.GetComponent<Image>(); TargetImage.color = new Vector4(0, 0, 0, 1); とかすればいいだけでしょ
767 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 14:52:38.84 ID:prkk2VAO.net] まあ暗黙的にColorに変換されるからいいんだが 何故Colorのコンストラクタ使わないん?
768 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 15:01:23.95 ID:ojlsCmOr.net] 質問文よく読まず文句 他人に後乗りで説明 その上我流の変なプログラム教えるとか 害にしかなってないじゃないですか…
769 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 15:07:49.69 ID:lCecrzSR.net] 適当に書いただけだから特段意味はないのにそこまで言わるるとはw foreachとかのスクリプトがなきゃchildのほうも意味不明だろうけどそっちは何もいわないんだね
770 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 15:34:38.72 ID:YlmhAb8a.net] .>>754 が文句だけ言ってるアホな子 Vecto4はUnityマニュアルやチュートリアルのcolor値設定でも使われる
771 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 16:00:53.04 ID:GiMk5ehq.net] すいません、Image.color でやってみましたがだめでした。 今、別オブジェクトから、 public UnityEngine.UI.Image hoge; からドラッグ&ドロップで持ってきたのを、 hoge.color = new Color(1f, 1f, 1f, 1f); で、やってみたら一応変更は出来ました。 ですが、結局自身からは取得できずじまいが現状です。 (transform.localPositionみたいに簡単にいじれると思っていたのですが)
772 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 16:05:01.59 ID:IDSt+o7p.net] >>757 Image.colorは完全に嘘だぞw public UnityEngine.UI.Image hoge; void Start(){ hoge=GetComponent<UnityEngine.UI.Image>().color=new Color(1,0,0,1); } とかだろ
773 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 16:09:58.48 ID:YlmhAb8a.net] Image.colorに合わせて>>755 がわざわざforeach使う手法示してるのにな colorの問題じゃなくて単にUIのImageが取得出来てないだけだろ そもそもUIの下にImageが幾つあるのかって話からだし >>748 じゃないけどスクリプト貼ったほうが早いと思うよ
774 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 16:15:52.44 ID:prkk2VAO.net] >>755 いやまあ俺も>>750 しか書いてないから別に完全なコードを書けと言ってるんじゃないよw だだまあ初心者に教える場合に型を意識させる事はそれなりに意味のある事だと思う それをわざわざ黙示的変換噛ませ
775 名前:トVector4使うって事はそこに俺の知らないなんらかの優位性が あるのかと思ったから聞いたんよ まさか理由なく初心者に非効率なやり方教える奴がいるとは思わんかったw >>758 >>750 が示したのはImageクラスのメンバ変数colorに値をセットすればいいって事 そもそもコードにコピペして動く様には書いてないからw http://docs.unity3d.com/ja/current/ScriptReference/UI.Graphic-color.html これなw ImageはGraphicを継承してるからImage.colorでなんの問題もないw [] [ここ壊れてます]
776 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 16:20:55.71 ID:YlmhAb8a.net] すごく簡単な事に揉め過ぎだな Image.colorにあわせてサンプル、これで動くはずだから終わりにしろ public Canvas canvas; void Start () { Image hoge = null; foreach (Transform child in canvas.transform){ if(child.name == "MainImage"){ hoge = child.gameObject.GetComponent<Image>(); hoge.color = new Color(0, 0, 0, 1); } else if (child.name == "SubImage") { hoge = child.gameObject.GetComponent<Image>(); hoge.color = new Color(1, 1, 1, 1); } } }
777 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 16:44:07.58 ID:prkk2VAO.net] >>761 Canvasの参照持つぐらいなら直接Imageの参照持つべきだし そもそもこのコードだとCanvasの直下の子にあるImageしか取れないし 文字列リテラル決め打ちとかヒエラルキーで名前弄られたら簡単に動かなくなるし 見事な糞コードだなw
778 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 17:12:14.19 ID:9yZU1I7x.net] お?喧嘩かぁ?!
779 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 17:16:44.10 ID:+YpOWldA.net] >>762 が今完璧なコードを書いてる途中なんだから茶化さず待ってろ
780 名前:760 mailto:sage [2016/02/18(木) 18:16:55.76 ID:XVXWqMLX.net] 孫以下簡略改善版 色変え条件判らんからそこはそのまま Unity立ち上げて起動確認までしたからどんどん不足分言ってくれ private Component[] hogeImage; void Start () { hogeImage = GameObject.Find("Canvas").GetComponentsInChildren<Image>(); foreach (Image child in hogeImage ) { if(child.name == "MainImage"){ child.color = new Color(0, 0, 0, 1); } else if (child.name == "SubImage") { child.color = new Color(1, 1, 1, 1); } else if (child.name == "NextImage") { child.color = new Color(1, 0, 0, 1); } } }
781 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 19:43:17.00 ID:prkk2VAO.net] ヒエラルキーの構造も想定する呼び出し条件もわからんのでは作りにくいなw マネージャ的にインスペクタから全て設定できる様にしてみた Graphicが対象なのでImageだけでなくTextなどの色変更も可能 どこに置いても動くので呼び出し元と同じオブジェクトにアタッチしておいて色を変えたいところで↓呼べばおk GetComponent<GraphicsColorChanger>().DoColorChange(); Graphicを動的生成する場合は生成元でtargetsにセットすること public class GraphicsColorChanger: MonoBehaviour { //色とGraphicを保持するクラス [Serializable] public class GraphicColor{ public Graphic graphic; public Color color; //色の適用処理 //バーチャルなのは色変化アニメーションをさせる等の拡張を想定 public virtual void Apply(){ graphic.color=color; } } public List<ImageColor> targets; //色変更はApply()呼ぶだけ public void DoColorChange(){ foreach(var t in targets){ t.Apply(); } } } 個人的にはGraphicColorのカスタムプロパティドロアー書いてリスト表示を単一行にしたい感じだ
782 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 19:45:57.31 ID:kYQYNaDj.net] 質問がぼけてると回答もぼけるという わかりやすい例というか 質問者さんもうちょいちゃんと情報を載せような?
783 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 19:48:18.80 ID:prkk2VAO.net] む、途中でGraphic対象にしたのでクラス名間違ってるな 誤)public List<ImageColor> targets; 正)public List<GraphicColor> targets;
784 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 20:20:36.06 ID:Ar9aRBLZ.net] 作ってたら、いつの間にか下記メッセージが出るようになっていました > Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy?) もちろんOnDestroyで何かを作っているということはなく どこでメモリリーク?しているのか見当がつかないのですが こういう場合に場所を特定する手法ってありますでしょうか
785 名前:名前は開発中のものです。 [2016/02/18(木) 22:45:44.93 ID:1s7I/TKd.net] こちらでの質問すみません。 周りに聞ける人もいなくて・・・。 uGUIで配置したボタン画像の変更をしたいです。 (現在、以下のような形です。) Canvasに以下のソースをアタッチして、Multiple Spriteを追加。 public class SpritesChange : MonoBehaviour { public Sprite[] sprites; } ボタンがタッチされた時に SpritesChange sprite = GetComponent<SpritesChange> (); buttonImage.sprite = sprite.sprites[0]; みたいなスクリプトを書いてみたのですが、nullとエラーが出てしまいます。 こういった場合、どのように変更するのでしょうか。
786 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 22:56:06.94 ID:mxgCWiU9.net] >>770 せめて何がnullか確認してくれ。 デバッガで止めるなりヌル判定してログ出すなりしてspriteかspritesかsprites[0]かbuttonimageどれかがnullか見るんや。 言ってる意味わからんかったらまずc#の勉強してくれ。
787 名前:名前は開発中のものです。 [2016/02/18(木) 23:00:02.17 ID:1s7I/TKd.net] >>771 さん 失礼しました。 GetComponentしたspriteはnullではないみたいです。 sprites[0]がnullになっております。 アタッチ後、ドラッグで追加はしているのですが取得できていないみたいです。 レスありがとうございます。
788 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 23:24:25.96 ID:mxgCWiU9.net] >>772 なんやろね。 少なくとも俺の環境ではうまく動くよ
789 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 23:26:24.10 ID:Eij3fMYq.net] >>769 https://drive.google.com/file/d/0B-7GdJw4zKrqT0NFSGs2QmVOWVE/view?usp=sharing 面白そうなのでヒエラルキー上に残ったゴミを探すエディタスクリプトを書いてみた。 インポートするとWindowメニュー>GomiCheckerというメニューが出るので選択 [Search]押す>デバッグ実行>止める>エラー出る>[Check]押す>Gomiにリスト表示される どんなゴミができてるか分かれば調べるのも比較的楽になるんでないかね? GomiMakerのほうはテスト用に使ったものなので不要なら捨てておk
790 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 23:32:00.55 ID:Ar9aRBLZ.net] >>774 すません何もしていないのに直っちゃいました。。 でもありがとうございます そうか視認できる範囲ならヒエラルキービュー見りゃ良かったのか…
791 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 23:34:14.22 ID:1h44uY0V.net] >>774 追記、リスト右にある[x]ボタンでGameObjectをDestroyImmidiate出来るが、必要なオブジェクトも破壊出来るので使用時は注意してくれ またOnGUI()でヒエラルキーにある全てのオブジェクトを舐めるのででかいシーンでやると危険かもしれないw やっつけで書いたので色々テキトーですまんね 多少は助けになると良いんだが
792 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 23:36:48.97 ID:1h44uY0V.net] >>775 GomiMaker使って試すとわかるけど、このタイミングで作られたゴミはヒエラルキービューに表示されないことがあるんよ だからエディタスクリプトで全チェックして探す形にしたけどまあ治ったなら良かった
793 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 23:38:36.09 ID:Ar9aRBLZ.net] ファイル落とせないかも 「↓」ボタン押すと、「GomiChecker.unitypackage」単体で落ちてきます
794 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 23:44:06.12 ID:1h44uY0V.net] >>778 unitypackageなのでアセットメニューからインポートするか、プロジェクト開いた状態でダブルクリックすれば取り込めるよ
795 名前:名前は開発中のものです。 mailto:sage [2016/02/18(木) 23:57:57.64 ID:Ar9aRBLZ.net] >>779 ありがとうございます 参考にさせていただきます!
796 名前:名前は開発中のものです。 [2016/02/19(金) 00:22:45.63 ID:Dv6DILVN.net] >>773 さん すみません・・・再起動かけたら動きました・・・。 スプライトを分割したのを設定したら方法が違うのかと。 わざわざテストまでさせてしまい申し訳ないです。
797 名前:名前は開発中のものです。 mailto:sage [2016/02/19(金) 00:32:59.88 ID:uTMPkILb.net] >>781 良かった。稀にunityよくわからん動きすることがよくあるよね。 最悪なのは実行時にフリーズする現象。 復旧しないしかといって強制終了すると作業ロールバックしたり悲しいことになるジレンマ。 バックアップはこまめに。
798 名前:名前は開発中のものです。 [2016/02/19(金) 01:51:27.71 ID:Dv6DILVN.net] >>782 そうなんですね! ようやく1冊目の本の写経が終わり 自分なりに処理を書いていた所なので助かりました。 バージョン管理しっかりします。
799 名前:名前は開発中のものです。 mailto:sage [2016/02/19(金) 02:03:36.10 ID:fxV/61+B.net] >>782 実行時にフリーズってプログラム側でデッドロックか無限ループに入ってんじゃねえの? なお、エディタを落さずに脱出したいならこんな物もあるらしい tsubakit1.hateblo.jp/entry/2015/10/01/050626
800 名前:名前は開発中のものです。 mailto:sage [2016/02/19(金) 06:50:46.50 ID:uTMPkILb.net] >>784 そんなアセットあるのな。