1 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 23:02:03.72 ID:t35CWy1R.net] 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。 Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他 次スレは>>970 を踏んだ方が建てること。ダメなら>>980 か>>990 が建てて下さい。 ■前スレ 【3Dゲームエンジン】Unity質問スレッド9 peace.2ch.net/test/read.cgi/gamedev/1399506271/ ■本スレ 【3Dゲームエンジン】Unity総合スレッド22 toro.2ch.net/test/read.cgi/gamedev/1395140574/ ■Unity 2ch Wiki(まとめ、過去ログ、リンク集) www24.atwiki.jp/unity2ch/ ●リンク ・Unity(日本公式サイト) unity3d.com/japan/ ・ユーザーガイド&リファレンス japan.unity3d.com/developer/document/ ・チュートリアル japan.unity3d.com/developer/document/tutorial/ ・スクリプトリファレンス docs-jp.unity3d.com/Documentation/ScriptReference/ ・FAQ answers.unity3d.com/index.html ・MSDN msdn.microsoft.com/ja-jp/ms348103 ←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
22 名前:名前は開発中のものです。 [2014/06/27(金) 14:43:13.90 ID:D9vvOnzL.net] >>21 一応、今は「Input系はAのみ」「処理はBのみ」程度の区分分けはできているのですが、 obj_AがInput判定する → InputされたらフラグAを立てる → AがフラグAを立てたかobj_Bが見る →AがフラグAを立てていればobj_B内でフラグBを立てる → フラグBが立っていればBが処理をする とobj_A〜obj_B相互間でフラグ立てあって、それを確認しあって・・・とやっていて 明らかにおかしなやり方なので何とかした
23 名前:いと思っています 互いのフラグの連携にちょっとでもミスがあれば不具合でますし [] [ここ壊れてます]
24 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 14:54:36.85 ID:sTfUEdhy.net] obj_AがInput判定する Bのゲームオブジェクト取得 Bのスクリプト実行 おわり
25 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 15:00:50.53 ID:2FBemm2K.net] Unity的にはそういうときにSendMessageを使うんでないの? 自分はSendMessageは処理を追い辛くなってあまり好きじゃないから 参照を持つかマネージャクラスを介してメソッドコールしてしまうけど
26 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 15:07:37.00 ID:D9vvOnzL.net] >>23 なるほど・・・ものすごくスマートにできそうです ありがとうございます >>24 メッセージングの使い所がイマイチよく分からないです 同じ名称の処理が複数ある場合は全てコールするとか コール元はコール先処理が終わるまで待機するなど基本的な仕様は分かるのですが 簡単なゲーム作る程度ならメッセージングは必要ないのかなと思って あまり理解していないです・・・
27 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 15:08:17.69 ID:D9vvOnzL.net] すみません、気付かずずっとスレ上げてしまっていました
28 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 15:39:19.45 ID:cmQQ2ePk.net] >>25 ASSETSTOREで検索してみるといいよ
29 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 20:02:36.15 ID:sTfUEdhy.net] ニコ生放送終了〜
30 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 20:37:53.61 ID:vLZp1tNm.net] unity上では全く問題ないのですが、androidやPCで書きだすとキャラクターがモーションを行った際 ポリゴンが変にねじれたりバキバキになったりと表示がおかしくなります。 特にひねるような動作を行った際に目立って起こり、blend weightsの問題かと思ったのですがいじっても直りませんでした。 何が原因なのでしょうか?
31 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 21:09:10.80 ID:cmQQ2ePk.net] >>29 アセットストアに行けば解決するとおもいますよ
32 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 23:26:55.74 ID:Cr00NVpI.net] するわけねーだろバーカ
33 名前:名前は開発中のものです。 [2014/06/27(金) 23:59:36.38 ID:VBUbAcMd.net] Unityを勉強するもうまくいかず 必死に煽って新人を蹴落とそうとするアセットおじさん もう歳だな
34 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 02:10:37.48 ID:tHwGlC5o.net] ここしか居場所が無いんだよ。 受け入れてあげようよ。
35 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 02:24:38.88 ID:5+vThgL8.net] 病人にあなた病気ですねと言っても受け入れたくない気持ちの方が大きいんじゃないかな 病人というのはそういうものだ
36 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 02:31:48.42 ID:yLKDa6TH.net] 今ゲームつくってかなり完成に近くなったんだけど、テストプレイとか研磨に協力してくれるような板おしえて
37 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 05:37:02.47 ID:87q0oUAI.net] NGUIのSpriteからRayを飛ばす方法ってありますか? マウスクリックでRayを飛ばす時のマウスの代わりにSpriteの座標を使いたい のですが座標の変換がうまく出来ません。
38 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 05:59:22.52 ID:TXgKbcyL.net] >>36 Screen座標が取りたいだけならこうやって取れる Vector3 SpriteScreenPos(Transform targetSprite) { BoxCollider bc = targetSprite.GetComponent<BoxCollider> (); Vector3 pt = bc.transform.TransformPoint (bc.center); pt = UICamera.currentCamera.WorldToScreenPoint(pt); Debug.Log("PT:"+pt); return pt; } 事前条件はUISpriteやUI2DSpriteのtransformを知っている事とそのスプライトにBoxColliderがある事
39 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 07:34:48.44 ID:87q0oUAI.net] >>37 無事座標を取得出来ました。 ありがとうございます!!
40 名前:名前は開発中のものです。 [2014/06/28(土) 10:13:38.08 ID:Yk7bXAg4.net] unityちゃんのアニメーションのFBXを3DCGツールで開いて編集したいんだけど できた人いる? ブレンダーだと再生できないようなんだが
41 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 11:52:31.81 ID:LZ7/FrJO.net] 再生ボタン押したあと非アクティブだと一時停止するのをしないようにできる方法はありませんか
42 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 12:25:50.62 ID:02xn01kM.net] >>39 Maya2014では編集できた
43 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 13:08:19.11 ID:h58mMhhZ.net] >>40 アセットをかえばいいと思うよ
44 名前:名前は開発中のものです。 [2014/06/28(土) 13:34:08.82 ID:Yk7bXAg4.net] >>41 mayaだとできるのか・・・ ブレンダーだと無理なんかな インポートのFBXは欠陥品なのか
45 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 14:38:51.36 ID:g+sRFGLs.net] RPGで味方のパラメータを管理するマネージャクラスを作りたいんですが この場合って普通、抽象クラスって作るもんなんですか? 抽象クラス ┗(抽象クラス継承)主人公 ┗(抽象クラス継承)味方キャラ1 ┗(抽象クラス継承)味方キャラ2 ってするのがいいんですか?セオリー的に 今はDontDestroyOnLoadのマネージャークラス一つだけ作ってシングルトンにして そのオブジェクト1つに全ての味方のパラメータを乗せてるんですが、こういう管理は問題ありますか?
46 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 14:41:19.59 ID:g+sRFGLs.net] 続きです シングルトンクラス(DontDestroyOnLoad) ┗主人公パラメータHP ┗主人公パラメータMP ┗主人公パラメータSTR・・・・以下略 ┗味方1パラメータHP ┗味方1パラメータMP ┗味方1パラメータSTR・・・・以下略 ┗味方2パラメータHP ┗味方2パラメータMP ┗味方2パラメータSTR・・・・以下略 今はこうしています 必要な時(戦闘時など)は主人公オブジェクトからこのクラスの パラメータをリダイレクトで読み込んで使う、という感じにしています
47 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 14:58:34.55 ID:h58mMhhZ.net] >>44 ASSETSTOREでいいのが売ってるよ
48 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 15:50:24.89 ID:KY7SHBNC.net] >>44 ポリモーフィックに使いたいメソッドがあればそれでいい。無ければそうする必要ない 仕様に依るとしか言えない 44に書いた内容だけで継承の是否を判断できる人はいません シングルトンの方は必然性が感じられない。普通にクラスを実装してインスタンスを作ればいい 無用にグローバルアクセスできるパラメータを増やすのは混乱の元
49 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 17:01:21.42 ID:g+sRFGLs.net] >>47 ありがとうございます 了解しました
50 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 17:06:07.88 ID:ClpQhuQb.net] >>44 そういった実装面での知識はをつけたいなら「Effective C++」 がとても良い。 ほかにもコーディングスタンダードとか、コードデザインの本は色々あるぞ。 グローバルスタンダード的には、 ・インターフェース継承はやるけど、クラス継承はなるべくやらない ・まずはコンポジションで表現できないか検討 ってのがセオリー。 セオリーで行けば、 たとえば「体力」「攻撃力」を管理するクラスを作って、各キャラタイプで内臓(コンポジション) C#なら chara.status.hp = 10 とかで利用。 キャラクターはすべて ICharacter でも作ってIF継承。 じゃないかなぁ。 明確な理由があれば別にセオリーに反して継承してもいいけど、 自分の配下の若い人が継承を使って表現してたら、何で継承したのかは聞くだろうな。 ポリモーフィズム派IFを継承してれば済む話。 継承はコードが読みづらくなるのよ。
51 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 17:11:47.22 ID:TXgKbcyL.net] >>49 そこはGoFのデザインパターンも一緒に勧めるべき つか>>49 の解説自体デザパタ語彙が入ってるって気付いて欲しい感じ #ちなみに純粋にデザパタ学ぶとUnityのクラスツリーに疑問を抱く事もあるかもしらん
52 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 19:46:49.19 ID:g+sRFGLs.net] >>49 レスありがとうございます。 なんというか、インターフェイスって実体を持てないので変数宣言できませんよね? なので普通プロパティを使うんですよね(get;set) この辺りと、RPGにおけるHPなどの仲間共通のパラメータがどのような 実装になるのかイメージが湧きません・・・ HPとかMPって変数に入れるキャラ単位の定数であって処理じゃないので それをインターフェイスでどのようにすれば・・・と数時間考えてましたが ちょっと今の私には技術的に難しいようですし、作りたいものもそんな複雑な ゲームじゃないので、全味方のパラメータをコンテナ化したコンテナクラス一つ作って 各キャラは、そのコンテナにある自分のパラメータを見に行くようにする、という結論に達しました まだはじめて間もないので今後C#に慣れてきて、インターフェイスとか抽象クラスを もっと理解できてきたら、処理を変更しようと思います せっかくアドバイス頂いたのにすみません
53 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 20:55:09.08 ID:TXgKbcyL.net] >>51 public interface IPlayerParty { int hp { get; set; }; int dex { get; set;}; // bra bra bra } public class SomeNPCanForPartyCharacter : MonoBehaviour , IPlayerParty { // bra bra bra } こんなふうに組んでおいて, public class PlayerCharactor : MonoBehaviour { private List<IPlayerParty> _partyMember; } こんな事をプレイヤーが制御するキャラクタで持っていればパーティメンバーは扱えるよね?
54 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 20:58:56.31 ID:LZ7/FrJO.net] Timeクラスのtimeを目視したいんですが Debug.Log(Time.time)とかキャストして表示させようとしてもエラーがでます 一体どうなってるんですか
55 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 21:08:22.02 ID:13iiBkAp.net] unityってメソッドの最初の一文字が大文字なのが違和感ありまくり。 あと、変数名も。 最近はこれがスタンダードなの? おじさん困惑中。
56 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 21:14:30.19 ID:TXgKbcyL.net] >>54 C#文化なんでソコに文句言われても困る。 自分もメソッド名は小文字で始めたいわいと思うけどコーディングルールのMS標準に合わせるとそう成らざるを得ないよ。 Javaだったら非難囂々だよねー
57 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 21:25:06.89 ID:LZ7/FrJO.net] クラス名と同じTimeをスクリプトのファイル名にしてたせいでした 事故解決
58 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 21:30:21.05 ID:g+sRFGLs.net] >>52 ありがとうございます。 正直、そのコードの理解も厳しいので、もうちょっとUnityというか C#について頑張ってきます そのコードについての質問はUnityでなくC#の質問になると思うので ここでの質問は控えます ありがとうございました
59 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 21:39:39.95 ID:1D2Rjobc.net] え?Javaってメソッドや変数名が小文字なの?キモすぎる C#に慣れ過ぎだとこれ
60 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 21:40:52.45 ID:1D2Rjobc.net] 小文字じゃねえ小文字から始まるの、です
61 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 21:50:15.58 ID:GbXFYWlE.net] あれ、俺変数名やプロパティはパスカルケースじゃなくキャメルでやってた 混ざってたのかw
62 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 22:36:30.61 ID:UYHm+SxB.net] AnimatorのトランジションInspector上でatomicのチェックを外しておくと 複数のトランジションが伸びているステートなら、一方のトランジションを再生中でも中断して他のトランジションに移れるそうですが 移行するトランジション優先度はどうやって指定するのでしょうか
63 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 22:37:37.38 ID:ClpQhuQb.net] >>57 ほかの人が答えてくれてた。 今は、コードデザインに興味を持つ若手が非常に不足してます。 将来のメインプログラマ不足につながってしまうので、ぜひ頑張ってくれー。
64 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 22:43:40.91 ID:h58mMhhZ.net] >>61 ASSETをかえばできるんじゃないでしょうか
65 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 23:14:23.88 ID:LZ7/FrJO.net] これ何時間くらい勉強すればUniのスクリプトマスターできる? まだtransformとかtimeとかグラビチィとかLookAtとかのレベルなんだけど
66 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 23:38:07.68 ID:ClpQhuQb.net] ゲームプログラマは、かかっても1週間もあれば自由に使えるようになるな。 後は調べながらだよ。
67 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 23:58:38.04 ID:g+sRFGLs.net] >>64 プログラム全くやった事ないド素人で、1日2時間くらいやって 今3週間目くらいですけど、上手なプログラムとかやり方を選ばなければ ウインドウ処理以外のRPGの基本処理はできるようになりました ウインドウ(UI)処理(NGUI)はほんと意味が分からない・・・ unityのスクリプトよりNGUIを使えるか、という方がはるかに不安です
68 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 00:07:22.26 ID:j0JGUa9n.net] ライブラリはひと月もあればだいたい把握できるだろうけど それができるようになるレベルまでには、全力でやる気注げても2年くらいはかかりそう 全力が続かず散発的に触ってたらさらにもりもり時間かかりそう
69 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 01:28:06.84 ID:xlD1U1/P.net] >>66 アセットを買えばプログラムの知識はいりませんよ
70 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 01:38:41.87 ID:sLVZnAPY.net] >>55 MSのコーティング規約かー。なるほど。 Java専門だったけど、郷に入っては郷に従え。MSコーディング規約に合わせるべさ。
71 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 02:13:04.41 ID:PBgWw+BZ.net] オブジェクトの回転がむずい
72 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 02:18:13.46 ID:xlD1U1/P.net] >>70 アセットを買うと回転も簡単だよ
73 名前:61 mailto:sage [2014/06/29(日) 02:50:01.03 ID:V0nwOHaK.net] 自己解決しました これマニュアルに載ってない気が・・・
74 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 09:31:00.80 ID:sLVZnAPY.net] >>72 どう解決したのか、わたし気になります!
75 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 10:50:05.17 ID:ID49xzQdJ] 助けてぇ。。。。ビルド出来るけど出来ないよぉ(困惑) Unityエディタ上での実行は問題ないのに、WebPlayerやexe形式などでビルドしようとすると error CS0103: The name `UnityEditor' does not exist in the current context error CS1061: Type `object' does not contain a definition for `path' and no extension method `path' of type `object' could be found (are you missing a using directive or an assembly reference?) とかで怒られる。MonoDeveloperで見る限りは Assembly-CSharp Assembly-CSharp-Editor Assembly-CSharp-firstpass のそれぞれのReferencesにUnityEditor.dllはちゃんと存在してる感じ。 詳細な経緯は以下のとおりです。 1) Unity4.3.4からUnity4.5.1へアップデート 2) そのまま平和な日々が過ぎていく 3) Windowsが起動失敗→復元ポイントまで戻すで復元 4) Unityのバージョンが4.3.4まで巻き戻る 5) 4.5.1へアップデート 6) 上記のビルド出来ない病が発病 7) 4.5.1アンインストール後、4.3.4インストール 8) 治らない; 9) 4.3.4アンインストール後、4.5.1インストール 10) 治らない;;
76 名前:74 mailto:sage [2014/06/29(日) 12:54:21.90 ID:ID49xzQdJ] >>74 自己解決しました。 原因は経緯と全く関係なく、スクリプトのファイル形式でした。 どこで、そうなったかわかりませんが、 UTF-8(BOMなし)形式で保存されていたのを、 UTF-8(BOMあり)形式に変換して保存しなおしたら問題なくWebPlayerやexe形式へビルドできるようになりました。 お騒がせしました。 よかったよおおおお;;
77 名前:名前は開発中のものです。 [2014/06/29(日) 17:05:58.70 ID:W6QLaLK8T] 初心者ですjapan.unity3d.com/developer/document/tutorial/2d-shooting-game/mobile/04.html 上記の公式チュートリアル通りに2Dシューティングにバーチャルジョイスティックを実装してみました。 androidで動作確認してみると、ジョイスティック入力と画面上での自機の移動に少しズレができてしまい操作性が悪く困っています。 良い方法はありますか? 低レベルな質問かもしれませんがお願いします。
78 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 18:39:51.50 ID:V0nwOHaK.net] アニメーションステートのInspectorにTransitionのリストがあって 遷移先はリストの上にあるものが優先される(Atomicを外したTransitionを再生中の時のみ) リストはドラッグ&ドロップで入れ替えられる メカニムでキャラの動き制御するなら結構重要だと思うんだけどマニュアルにも載ってないしググっても出ない
79 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 18:42:12.58 ID:4QjtsUPR.net] >>77 アセットストアで検索したらいいと思いますよ
80 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 18:47:37.07 ID:tXtNTezB.net] ここは「氷菓」のウンカス、チタンダエルを愛でるスレです。 ★チタンダエル (CV:くぱぁマン子) 成り上がりチョン名家のひとつ、剛毛恥嘆惰毛の一匹。 普段は黒々としたウンコだが、一度興味をひかれる男に出会うと その細く吊り上がった瞳を濁らせて劣情の権化と化す、性欲旺盛なビッチ。 決まり文句は「わたし、痔になります」。
81 名前:名前は開発中のものです。 [2014/06/29(日) 18:58:55.51 ID:n5E22NIZY] 意味がわからないよ〜 GameObject retChild = gameobject.transform.FindChild("子の名前").gameObject; このプログラムや他のオブジェクトを取得する文を入力するのだけど、 どうやっても改善できないよ〜 エラー文は以下の通りです。 Assets/waveenemy.js(19,19): UCE0001: ';' expected. Insert a semicolon at the end.
82 名前:名前は開発中のものです。 [2014/06/29(日) 19:02:52.93 ID:n5E22NIZY] すみません、80ですがやりたいことを記入してなかったので、追記します。 HPのバーをダメージを受けるたび減らしたいのですが、 バーを呼び出そうとするとエラーになりました。 キャラ本体とバーは別物なので、どうするといいでしょうか? セミコロンはつけてるのに、エラーになります。 functionのすぐ下に書いても同じです。
83 名前:名前は開発中のものです。 [2014/06/29(日) 20:24:40.34 ID:BwfVhPXR.net] シーン遷移時にフェードアウトさせてるんですが、 フェードアウト中に他のボタン、例えば前のシーンに戻るボタンや別ステージへ移動するボタンを無効にしたいです。 現在は一つ一つにpublicなboolをつけてシーン遷移時に全てfalseする方法をとっています。 もっと簡潔な方法あったらお願いします。
84 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 20:59:25.18 ID:4QjtsUPR.net] >>82 アセットを買うのが一番簡潔な方法ですよ
85 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 22:19:39.43 ID:9oDHnJ4j.net] >>82 NGUIなら不可視の全画面のWidget作ってコリダーを付けておき一番手前に置いておけば良いだけ
86 名前:名前は開発中のものです。 [2014/06/29(日) 22:55:19.03 ID:BwfVhPXR.net] >>84 unityの2dでやってます。 コライダー付きのゲームオブジェクトをフェード前に配置する感じにしてみます。 ありがとう。
87 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 23:27:23.66 ID:9oDHnJ4j.net] >>85 基本はUIイベントに到達するまえにタップやクリックを食って捨てるだけなので、ButtonMaskとか言うオブジェクトをヒエラルキーのTopLevelに置いておいてそれをSetActiveでOn,Offするのが楽かもね GameObject mask = GameObject.Find("/ButtonMask"); で持ってくる感じ
88 名前:名前は開発中のものです。 [2014/06/29(日) 23:38:39.13 ID:BwfVhPXR.net] >>86 やり方まで書いてもらってどうもありがとうございます。 これでやってみます。
89 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 01:08:56.97 ID:1W4uEawq.net] NGUIのUIって普通にインスタンスで呼び出し→Destroyで消去 していいんですよね? 「スペースキー押すとUIをInstantiateで表示し、表示した状態で もう一回スペースキーを押すとDestroyでUI消去する」という処理を作りました 結果は、表示は問題ないのですがスペースキーを押してもUIが消えない 事があります。 正確には、消えたり消えなかったりという感じです。 スペースキー連打してたら消えるのですが・・・。 そのUI表示時にスペースキー押してUIを消そうとした時、デバッグのエラーに 「Destroying GameObjects immediately is not permitted during physics trigger /contact, animation event callbacks or OnValidate. You must use Destroy instead.」 というエラーメッセージが必ず出ます 何が悪いんでしょうか?(もしかしてNGUIのUIはDestroyしたらダメなんですか?)
90 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 01:12:17.67 ID:i9hyodfO.net] >>77 なるほど、ありがとん!
91 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 01:35:52.30 ID:mwLmwaX9.net] >>88 簡単に書くとNGUIのイベントの中で自分をDestroy してはいけませんって事 もしすぐにぶちこわしたいのなら gameObject.SetActive(false); で非表示にしてから StartCoroutine("DeleyedDestroy"); みたいにコルーチンを呼び出して IEnumerator DeleyedDestroy() { yield return null; Destroy(gameObject); } と1フレーム遅くに破壊しないと駄目
92 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 01:45:56.31 ID:A3spulFo.net] 俺は親のPanelにSendMessageするなりメソッド直接呼ぶなりしてDestroyしてる そういうエラーは出てないからこれでいいはず…いいよね?
93 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 01:59:32.14 ID:gCDT1VPE.net] >>78 それ質問じゃないですよアセットおじさん
94 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 02:04:49.85 ID:Q4WnWElN.net] >>92 Assetを購入すれば質問になりますよ
95 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 02:17:23.83 ID:1W4uEawq.net] >>90-86 ありがとうございます。 NGUIって、普通に文章を表示する、ボタンを付けるという 凝った使い方しない場合はNGUI -> Scripts内のスクリプトって 弄る必要ないですか? インスペクタだけ弄ってれば一般的なUI機能は使えますか?
96 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 02:28:54.98 ID:mwLmwaX9.net] >>94 Assets/NGUI/Scripts/*/*.csの事? 余程特殊(継承したクラスで継承元のprotectでない変数見たいとか)な事しないかぎり普通変更しないよ
97 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 02:30:18.33 ID:1W4uEawq.net] >>95 はい、その事です 通常はやはりインスペクタで調整するのですね ありがとうございました。
98 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 02:51:01.55 ID:1W4uEawq.net] すみません、>>90 を実行してみたのですがやはり同じエラーが出て すんなりとはUIが消えてくれません。 デバッグ見るとNGUITools.csの static public void DestroyImmediate (UnityEngine.Object obj) { if (
99 名前:obj != null) { ★if (Application.isEditor) UnityEngine.Object.DestroyImmediate(obj); else UnityEngine.Object.Destroy(obj); } } ★でエラーが出ていました。 これはNGUIどうのではなく、UIの呼び出し条件、もしくは消去条件のif文あたりが 問題あるのでしょうか? [] [ここ壊れてます]
100 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 02:56:27.05 ID:Q4WnWElN.net] >>97 Assetを購入することでエラーも出なくなりますよ
101 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 04:27:24.95 ID:PlJB/HNp.net] このレベルの人間がアプリ作る時代だもんな Unityは罪深いソフトだよ
102 名前:名前は開発中のものです。 mailto:aaa [2014/06/30(月) 05:17:10.38] 現在2Dで開発しています、 壁に当たった際に、キャラを右移動から下移動に切り替えるようにプログラム していますが、よく見ると下だけではなく跳ね返って左側にも少し移動しています。 これは仕様なのでしょうか? 跳ね返り係数は0にしているはずですが、壁に当たり摩擦したように 速度が落ちることがあるのでないようにしたいです。 ちなみに、移動のための文は以下の一文の向きを変えてます。 transform.Translate(Vector3.right * 3 * Time.deltaTime);
103 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 06:06:06.66 ID:xbMO5WXk.net] 裾野が広がるのはいいことだけど 何でもかんでも質問する人には困るよな ヒントもらったら自分で何とかしろ
104 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 06:26:37.61 ID:PlJB/HNp.net] 教えて君はダメだな
105 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 09:08:37.35 ID:A3spulFo.net] とりあえずNGUIを入れ直した方がいいんじゃないか
106 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 09:22:50.74 ID:PtdaEyYt.net] 敵をtransform.LookAtでこちらを向かせ transform.forwardでこっちに向かって来るというようにしたいのですが、 床に沈んでしまいます。 colliderの調整、rigidbodyのconstraintsのfreeze positionのYにはチェックを入れています。 床に沈まないようにするためにはどのようにすればよろしいのでしょうか?
107 名前:98 mailto:sage [2014/06/30(月) 09:32:55.86 ID:PtdaEyYt.net] >>104 自己解決いたしました。 ありがとうございます。
108 名前:名前は開発中のものです。 [2014/06/30(月) 12:04:32.92 ID:tC9m33Xe.net] ◎2chスレッド勢いランキングサイトリスト◎ ★+ニュース板 ・ 2NN (推薦) ・ 2chTimes ★+ニュース板新着 ・ 2NN新着 ・ Headline BBY ・ unker Headline ★+ニュース板その他 ・ Desktop2ch ・ 記者別一覧 ★全板 ・ 全板縦断勢いランキング (推薦) ・ スレッドランキング総合ランキング ・ ログ速 ★全板実況込み ・ 2勢 (推薦) ・ READ2CH ・ i-ikioi ※ 要タイトル名検索 ※ 2chブラウザ併用推奨
109 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 14:20:06.55 ID:ALw2LC0O.net] アセットを買おうとしたらガムロードに誘導されたんですが ここはPayPalは使えないんでしょうか? アセットストアから買ったほうがいい?常に最新ではないみたいだけど
110 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 19:35:37.91 ID:UQ1OJf+x.net] maかfbxからライトのデータを取り込むことってできますかね ライティングはunity内で調整するしかない?
111 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 19:40:15.99 ID:MG2Qxsma.net] >>108 アセットを買えばできるとおもいますよ
112 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 21:54:47.32 ID:mwLmwaX9.net] >>97 遅延評価しても駄目って事?(遅延評価の意味わかんないとちょっと論外) エラーが自分を起点にしている呼び出しの中でImmidiate(即時)のDestroyは駄目って言う事を理解している? ゲーム用のUIコードをUnity以外で書いた事あればすぐに何が悪いかわかるんだけど、コレは説明が難しいかもしらん。
113 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 22:42:41.46 ID:1W4uEawq.net] >>110 すみません、ゲーム制作した事ないので初心者です・・・ 完全に知識不足のようなので、とりあえずこの問題は後回しにしようと思います ボタン連打すれば一応、閉じる事はできるのでゲーム進行不能になるわけではないですし >エラーが自分を起点にしている呼び出しの中でImmidiate(即時)のDestroyは駄目って言う事を理解している? 半分は理解しているつもりです 「自分を起点」というところがちょっと理解できてないです
114 名前:名前は開発中のものです。 [2014/06/30(月) 23:03:48.33 ID:PlJB/HNp.net] あきらめろん
115 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 23:07:26.15 ID:mwLmwaX9.net] >>111 ボタンスクリプトのイベント拾ってその中でDestroy呼んでるのが駄目って事(発生元と消失が一緒) そうなってない?
116 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 23:08:14.89 ID:MG2Qxsma.net] >>111 アセットを買えばそんなの気にしなくてすむよ
117 名前:名前は開発中のものです。 mailto:sage [2014/06/30(月) 23:38:22.83 ID:1W4uEawq.net] >>113 なるほど でも発生元はオブジェクトAのInstantiateで消す時は 同じオブジェクトA内で>>90 ですね Instantiateしてからオ同じブジェクトAでDestroyしても 発生元と消失が同じとなるんでしょうか
118 名前:85 mailto:sage [2014/07/01(火) 03:55:59.52 ID:nHreHfmg.net] >>115 そりゃ君の書いたコードに依存してるので僕からは何とも言えない。 どうしても添削して欲しいならどこかでコードを晒す以外に無いよ。
119 名前:名前は開発中のものです。 [2014/07/01(火) 11:11:04.26 ID:85UR2RLR.net] javascriptで作業しています。 "open_switch"が"false"の場合 "motion_00"を再生します。 2秒したら再生としたいのですが、 下記のように書くとエラーが出てしまいます。 どのように書けばよいでしょうか。。。 宜しくお願いいたします。 var obj:GameObject; var script:window_control; function Start () { if(!obj){ obj=GameObject.FindGameObjectWithTag("untagget"); } script=obj.GetComponent("window_control"); } function Update () { if(script.open_switch==true){ animation.Play("motion_01"); } else{ yield WaitForSeconds(2.0); animation.Play("motion_00"); } }
120 名前:名前は開発中のものです。 [2014/07/01(火) 11:12:58.80 ID:85UR2RLR.net] 111 です。 説明が足りませんでした。 2秒後ということで、 ”yield WaitForSeconds(2.0);”と書くとエラーがでます。 こちらを書かないと、実行可能です。 宜しくお願いします。
121 名前:名前は開発中のものです。 mailto:sage [2014/07/01(火) 12:14:02.96 ID:wmLFBxvR.net] 天安門事件
122 名前:名前は開発中のものです。 mailto:sage [2014/07/01(火) 12:30:14.74 ID:pEsB09th.net] そのyieldはどこに制御を返してるんだよ