【3Dゲームエンジン】Unity質問スレッド13 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2014/11/01(土) 14:21:34.61ID:PIUwqvpmWindows/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質問スレッド12
http://peace.2ch.net/test/read.cgi/gamedev/1411226395/
■本スレ
【3Dゲームエンジン】Unity総合スレッド23
http://peace.2ch.net/test/read.cgi/gamedev/1404212872/
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/japan/
・ユーザーガイド&リファレンス
http://japan.unity3d.com/developer/document/
・チュートリアル
http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
http://answers.unity3d.com/index.html
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう
0069名前は開発中のものです。
2014/11/03(月) 23:07:25.08ID:swhGcf29アセットをかうとできると思いますよ
0070名前は開発中のものです。
2014/11/03(月) 23:12:13.99ID:Zquztyc2パン表示とオービット表示じゃないの?
0071名前は開発中のものです。
2014/11/03(月) 23:17:25.59ID:WKfpui6oマウスホイールドラッグが平行移動だよ。
それは違うんだと主張したいならどうしようもないが。
一般的にそういうカメラ操作は
タンブル(回転)、ズーム(前後)、ドラッグ(上下左右)と呼ぶ。
Unityのそれは基本Alt+3ボタンの各ドラッグに設定されていて
これはMayaと同じになるように作られている。
Blederでも基本的に同じことだが違うように見えるといわれると
キミの目が節穴なだけだ以外には答えようがない。
マウスホイールドラッグが平行移動だということは
XYZのギズモの下のPersp/IsoをIsoにしてみればわかる。
この二つはカメラでの投影の仕方を変えているだけで
仮想的に作られているシーンビュー用のカメラの動かし方は同じだ。
0072名前は開発中のものです。
2014/11/03(月) 23:21:48.20ID:pO4lDJ5kその文意がよく読み取れなく、かつ単語の正確な定義もよくわからないことをまず謝罪しますが、
一般的な撮影技法で言うとパンは固定位置での振りですよね
それの近接技法で言うとフォローパンやあるいはドリーになると思うんですが、
オービットというのは何でしょうか?
また、AorBではないのか?という文章が指し示すところの内容を理解することが出来ませんでした、すみません
0073名前は開発中のものです。
2014/11/03(月) 23:32:36.38ID:pO4lDJ5k平行移動という言葉を最初に選んだ自分のミスでした
ややこしくしてしまってすいません
たしかにIsoにすると思った動きをするんですが、
このIsoって角度がXYZの三軸固定なんでしょうか?
斜めから見たい場合でもIsoにすると途端にド正面とか真横とかに強制的に視点変換されてしまいます
Blenderでは任意の角度からIso表示出来てそれに慣れてるからUnityは不便だと感じてしまうのですが、
それが仕様ならしょうがないですね
ありがとうございます
0074名前は開発中のものです。
2014/11/03(月) 23:36:11.09ID:WKfpui6oIsoの状態でもタンブルできるよ
Isoにした状態でAlt+ドラッグで回らない?
回らないようだとなにかしら不具合が起きている可能性はある
0075名前は開発中のものです。
2014/11/03(月) 23:38:51.87ID:pO4lDJ5kあー、これです、これこれ
これが他の方が言っていたAltを使えってことだったんですね
Perspectiveモードで出来なかったからIsoでAlt使うの忘れてました
ありがとうございます
0076名前は開発中のものです。
2014/11/03(月) 23:51:21.43ID:TN4x4IA3CHAPTER3以降もやってみましたが誤植まだまだありますね。
参考にされないためどこかは書きませんケド
この本を褒めてる人がいたら関係者か
本を読まないバカか詐欺師ですね
0077名前は開発中のものです。
2014/11/04(火) 00:11:40.33ID:24JeIy7jなくても十分作れるんだが?
0078名前は開発中のものです。
2014/11/04(火) 00:36:01.23ID:59Xj0yxH49 名前:名前は開発中のものです。[sage] 投稿日:2014/11/03(月) 14:30:44.24 ID:TN4x4IA3 [2/3]
>>48
UEを知らないおじさんは黙ってろ
0079名前は開発中のものです。
2014/11/04(火) 02:56:39.97ID:xEuWNGmo0080名前は開発中のものです。
2014/11/04(火) 10:20:29.35ID:C9Sixvewこれもう解決してると思うけど
大体アーマチュアをポーズモード(水色状態)のまま
セーブ、もしくはエクスポートしてるってのが原因。
0081名前は開発中のものです。
2014/11/04(火) 14:14:25.27ID:FaZOih+X0082名前は開発中のものです。
2014/11/04(火) 16:11:22.54ID:ZalTWdnC0083名前は開発中のものです。
2014/11/04(火) 16:19:25.40ID:1NQoX3lDただスクリプトで動的に行うことは可能。
自分でエディタ拡張で実装すればエディタ上でも可能。
また動かないオブジェクトで同じマテリアルならStaticをチェックしておけば
自動で結合してドローコールは減らしてくれる。
0084名前は開発中のものです。
2014/11/04(火) 16:51:27.46ID:XtQX/B4C複数のCubeとかを、1つのObjectとして結合するには、アセットをかうのがいいでしょう。できると思いますよ
0085名前は開発中のものです。
2014/11/04(火) 17:10:17.01ID:ZalTWdnC回答ありがとうございます!まさに処理の重さが気になっていたので・・。
Staticチェックでやってみます。
0086名前は開発中のものです。
2014/11/04(火) 17:23:20.28ID:pKOnaezestaticでバッチングされるのはプロ版の機能だから
freeの場合、自力なりアセットなりでメッシュ纏めないとドローコール減らせないから注意な
0087名前は開発中のものです。
2014/11/04(火) 18:34:49.00ID:UX/W+J+Qもしかしてもう入ってない?
0088名前は開発中のものです。
2014/11/04(火) 18:56:31.16ID:c1VdDso3unity4.xから消えた
必要ならunity3.xダウンロードして入れてから他の場所に移すしか
0089名前は開発中のものです。
2014/11/04(火) 19:51:01.60ID:XtQX/B4Cアセットをかえばついてくるかもしれませんよ?
0090名前は開発中のものです。
2014/11/04(火) 20:30:22.53ID:UX/W+J+Q0091名前は開発中のものです。
2014/11/04(火) 20:38:01.60ID:1NQoX3lD0092名前は開発中のものです。
2014/11/04(火) 21:09:20.43ID:33Ydw1+cSpriteRendererのcolorプロパティを用いてカラー設定をしたいのですが
Animatorに該当オブジェクトへのカラー設定のアニメが含まれていると
該当アニメを再生してなくてもスクリプト側からの設定が反映できないようで悩んでます。
カラー関係無いアニメを再生してる時くらいスクリプトから制御出来るのではと思ってたのですが
ちょっとしたカラー設定でもアニメーションクリップを作成してAnimatorでの管理を考えるべきなのでしょうか?
0093名前は開発中のものです。
2014/11/04(火) 22:33:10.49ID:UX/W+J+Q0094名前は開発中のものです。
2014/11/04(火) 22:51:41.01ID:z+J54s7P0095名前は開発中のものです。
2014/11/04(火) 23:21:57.13ID:UO5ltJmw0096名前は開発中のものです。
2014/11/04(火) 23:28:39.21ID:edbC8IP70097名前は開発中のものです。
2014/11/05(水) 00:42:58.89ID:QiKCmYZg0098名前は開発中のものです。
2014/11/05(水) 01:54:20.57ID:Xo+vLE1P複数あるオブジェクトA,Bがあって、Aをタッチ(クリック)するとAで指定した範囲内で最もそのAに近いオブジェクトBを消す
というモノを作っているんですが、上手く動作しません。
B B
B^ B
A1 A2
B B
A1,A2共に範囲は周り1文字とし、A1をタッチ(クリック)すると上図のB^が消えます。
このAの範囲に入っているか判別する処理にOverlaAreaAllやRayCastを使用してみたのですが
0099名前は開発中のものです。
2014/11/05(水) 02:02:42.76ID:Xo+vLE1PこのAの範囲に入っているか判別する処理にOverlaAreaAllやRayCastを使用してみたのですが
----
格納されるはずのCollider2Dの配列にnullしか入っていません。nullを返されたのか、宣言したまま使われずにnullなのかはわかりませんが
Physics2Dがグローバル変数も持ってることから、個々のオブジェクトにアタッチ出来ないのではないかと見ています。
Physics2Dを使わずに範囲内のコライダーを特定する方法、またはいまアタッチしているコードでおかしいところがありましたらご指摘お願いします...
public Collider2D[] hits;
public Vector2 pointA;
public Vector2 pointB;
public int index;
public int lessIndex;
void Start(){
pointA = new Vector2 (gameObject.transform.position.x+5.25f,7f);
pointB = new Vector2 (gameObject.transform.position.x-5.25f,-7f);
Physics2D.raycastsHitTriggers = true;
}
void Update(){
Physics2D.OverlapAreaNonAlloc(pointA,pointB,hits);
index = hits.Length;
if (index <= 0) return;
else if(index > 0){
lessIndex = 0;
for(int i = 1; i< index; i++){
if(hits[lessIndex].collider.GetComponent<Script>().myposition() > hits[i].collider.GetComponent<Script>().myposition()){
lessIndex = i;
}
}
hits[lessIndex].collider.GetComponent<Note>().Dest();
}
}
0100名前は開発中のものです。
2014/11/05(水) 02:06:11.19ID:Xo+vLE1Phits[lessIndex].collider.GetComponent<Note>().Dest();
↓
hits[lessIndex].collider.GetComponent<Script>().Dest();
BにアタッチされたScriptで自分自身を消すメソッドに飛びます
0101名前は開発中のものです。
2014/11/05(水) 02:38:04.93ID:FpIyV9JBプログラムが組めないなら、アセットをかいましょう。プログラムなしでもゲームが出来ますよ
0102名前は開発中のものです。
2014/11/05(水) 04:42:56.56ID:4xIm1SN9offにしたいのですが、どのように書けばいいでしょうか?
色々試してみましたが、うまくいきません。
function Updatet () {
Skybox.SetActive(false);
}
宜しくお願いします。
0103名前は開発中のものです。
2014/11/05(水) 05:12:38.80ID:RQsBm2BP0104名前は開発中のものです。
2014/11/05(水) 08:47:30.28ID:LjolvEE6真相は赤ら顔のデブオタ
0105名前は開発中のものです。
2014/11/05(水) 09:45:17.06ID:FpIyV9JBアセットをかえば動くと思いますよ
0106名前は開発中のものです。
2014/11/05(水) 09:48:57.59ID:R43J7O3Qその一行っていやホントに色々試したんかいw
JSはよく知らんが
function Update(){
if(Time.time>3f){
var a:Skybox = gameObject.GetComponent("Skybox");
a.enebled=false;
}
}
とかやれば多分開始から3秒でオフになる、と思う。
試してない、すまんw
もちろんこのままだと毎フレームゲットコンポーネントして
毎フレームオフにし続ける訳だが。
0107名前は開発中のものです。
2014/11/05(水) 10:05:48.07ID:YVnuShCpcolorに限らずアニメーションに含まれてるとキーを打ってなくても逐一初期状態に変更されるんだよな確か
昔はまったわ
で、今ちょっと調べてみたらLateUpdateはアニメーション計算の後に実行されるみたいだから
毎フレームLateUpdateで上書きすればいけそう
http://docs-jp.unity3d.com/Documentation/Manual/EventFunctions.html
scriptとアニメーションの両方から制御しようとすると後々追いづらくなってバグの温床になりそうだからどちらかに纏められるなら纏めたほうがよい気はするが
0108名前は開発中のものです。
2014/11/05(水) 10:20:52.57ID:PPS40SQB↓を読んでOverlapAreaAllとOverlapAreaNonAllocの違いを確認してください
http://docs-jp.unity3d.com/Documentation/ScriptReference/Physics2D.OverlapAreaAll.html
http://docs-jp.unity3d.com/Documentation/ScriptReference/Physics2D.OverlapAreaNonAlloc.html
OverlapAreaAllは検出したCollider2Dの配列を生成してメソッドの戻り値として返してくれますが
OverlapAreaNonAllocは結果を格納するCollider2D配列は使用する側が用意しないといけません
0109名前は開発中のものです。
2014/11/05(水) 12:41:09.68ID:Xo+vLE1Pありがとうございます。
無事動かすことが出来ました。
原因はスクリプトをアタッチするオブジェクトにRigidBodyを付加していなかったことだったようです。
そしてRigidBodyをつけていてもOverlapAreaNonAllocでは配列の中身は返してくれませんでした
OverlapAreaAll+RigidBodyでなんとかColliderの配列を取得することに成功しました。
OverlapAreaAllとOverlapAreaNonAllocって似たような処理だと思ったんですが別物みたいですね
0110名前は開発中のものです。
2014/11/05(水) 13:59:28.25ID:CfcgvaT2実際に設定してるとこ映した動画見当たらないんだけど、これ本当に簡単にエフェクト作れるの?
0111名前は開発中のものです。
2014/11/05(水) 15:27:37.51ID:R43J7O3Q見た感じ簡単に出来る、というタイプではなく
凝ったものが作れる、という感じっぽいけどなぁ。
セールにかかってるものでお手軽にそのまま使いたいとかなら
Realistic Effects Pack 2とかの方がそれっぽい感じはする
0112名前は開発中のものです。
2014/11/05(水) 17:22:13.03ID:dneqDBzsすみません、上手くいきました!
勉強します。。。
0113名前は開発中のものです。
2014/11/05(水) 18:53:31.18ID:U3Wm6MKx0114名前は開発中のものです。
2014/11/05(水) 19:36:11.41ID:2Gb7sIf40115名前は開発中のものです。
2014/11/05(水) 22:13:16.80ID:FpIyV9JBアセットをかえば簡単にエフェクトをくれると思いますよ
0116名前は開発中のものです。
2014/11/05(水) 22:40:42.96ID:U3Wm6MKxくれるって何?
日本語の表現おかしくね?
百歩譲って「作れる」
普通なら「手に入る」じゃね?
0117名前は開発中のものです。
2014/11/05(水) 23:12:46.74ID:2Gb7sIf40118名前は開発中のものです。
2014/11/05(水) 23:25:25.11ID:ckLqigRY0119名前は開発中のものです。
2014/11/05(水) 23:42:04.84ID:2Gb7sIf40120名前は開発中のものです。
2014/11/05(水) 23:53:49.63ID:Znbarsi00121名前は開発中のものです。
2014/11/06(木) 00:29:12.35ID:2I+M5i790122名前は開発中のものです。
2014/11/06(木) 00:36:46.25ID:fNSWnrNC012392
2014/11/06(木) 01:22:21.32ID:terXi/GUなるほどLateUpdateで設定してしまえば一応反映出来るんですね
試しにサンプル作って動作させてみてLateUpdateでのカラーの反映を確認出来ました。
最後に仰ってる事も最もなのでAnimatorで制御するかスクリプトで制御かは
きっちり分けて考えてみようと思います。
0124名前は開発中のものです。
2014/11/06(木) 05:14:12.82ID:B5I5W2i/ファイルが見つからないとか読み込めないとか多い気がする。
つーかGUIが使えなくなった
Labelが定義されてないとか言われて意味不明なんだけど
0125名前は開発中のものです。
2014/11/06(木) 06:17:27.87ID:B5I5W2i/すげー昔のサンプルスクリプトがGUIをオーバーライドしてやがった。
予測がまったく出てこないわけだ。
0126名前は開発中のものです。
2014/11/06(木) 07:31:17.33ID:87sJAJ+/これからも苦労するだろうねw
0127名前は開発中のものです。
2014/11/06(木) 08:43:05.29ID:qYw6ezhlわざわざそんなこと書かんでも…
0128名前は開発中のものです。
2014/11/06(木) 12:59:44.82ID:F7RERGXP0129名前は開発中のものです。
2014/11/06(木) 15:44:18.30ID:gwGfn7pWTidyMapperとFXmakerとNGUIは使ってる
0130名前は開発中のものです。
2014/11/06(木) 17:58:53.87ID:5lVD+Jhh試しているのですが、
全体拡縮が上手くいきません。
こちらは、エフェクトのパラメーターを
一つ一つ調整していくしかないのでしょうか?
宜しくお願いします。
0131名前は開発中のものです。
2014/11/06(木) 19:08:02.94ID:nyUimD88何か変なエラーでまくる
0132名前は開発中のものです。
2014/11/06(木) 19:21:44.90ID:IwoS640yUnityのエフェクト調整はアセットをかえばいいと思いますよ
0133名前は開発中のものです。
2014/11/06(木) 20:02:49.09ID:wRkTYMZ/3dsmaxで作ったキャラをvre.4.5にfbxで読み込み、idle・walk・run設定をしたのですが
モーションは問題なく動くのですが、原点から移動せず、ずっと原点で足踏み状態です
コリジョン設定も確認し、地面と接していないので、なぜ前後左右へ進めないのか分かりません
本やネットでいろいろ調べたのですが解決策が見当たらず、こちらに書かせていただきました
すごく初歩的なことで恐縮ですが、何かお心当たりのある方がいましたら教えていただけたら助かりますmm
0134名前は開発中のものです。
2014/11/06(木) 20:35:04.31ID:5lVD+Jhhトップノードにアニメキーがはいっているとか?
0135名前は開発中のものです。
2014/11/06(木) 21:06:36.82ID:IwoS640yキャラクターの移動関連は、本など読まなくても、アセットを買えば簡単に解決しますよ
0136名前は開発中のものです。
2014/11/06(木) 21:18:50.19ID:2I+M5i79>>135
エフェクトをくれると思いますよ(キリッ
0137名前は開発中のものです。
2014/11/06(木) 22:16:16.46ID:wRkTYMZ/ありがとございます(ペコリ
初心者なので、まずアセットに頼らずやろうとしたのですが、ちょっと敷居が高かったですね
色々とアセットを探してみようと思います
0138名前は開発中のものです。
2014/11/06(木) 22:24:34.27ID:ul+n67HVまだ改修されませんか?まず著者は謝るべきでは?
こんなに厚い本でも内容が間違いだらけでは凶器にしか使えませんよ
0139名前は開発中のものです。
2014/11/06(木) 23:07:08.75ID:/jM2k/6c同じことで躓いてます。もし解決策分かりましたら教えてください
0140名前は開発中のものです。
2014/11/06(木) 23:09:07.29ID:ixMJSalVそもそも何を使ってどう移動させようとしているのか
によって原因が異なるのでそれだけでは原因はわからない。
Mecanimでやろうとしているならアニメーション自体が
移動していなければならない。
キャラコンやMecanimだけどキー操作で移動、にしている場合には
何かしらコードがおかしい。
0141名前は開発中のものです。
2014/11/06(木) 23:58:50.28ID:wRkTYMZ/説明が足らずすみませんmm
Autodesk Maya トレーニングブック3のサンプルキャラ(女性)と同じ動作をさせようと思い、MAXでモーションまでつけた自作キャラをFBXで読み込みました
アニメーション(idle・walk・run)をcaractor walkで設定し、caractor controlerでコリジョン付け、PLAYを押して十字キーでいざ動かしてみるとモーションせず棒立ちのまま、移動はできました
なぜモーションが作動しないのかと、あれこれいじって、リグをLegacyに設定したらモーションがきちんと動くようになったのですが、今度は十字キーを押しても移動されず原点でモーションするだけでした
そして不思議なことに、子供にしているカメラの視界からキャラを消した状態では、移動しているようなので、キャラがロックされているのかとも思いましたが、どこを見たらいいかもよく分からず・・・
本のサンプルキャラと同じように設定をしているはずなのですが、今現在どこが違うのかわからない状態です
同じようなことで悩んでいるお方がいらっしゃったら、ご経験を聞かせていただけたらなと思い、こちらで質問させていただきましたmm
0142名前は開発中のものです。
2014/11/07(金) 00:02:57.99ID:bIbPab/p0143名前は開発中のものです。
2014/11/07(金) 00:43:21.42ID:YWJL8vD5まぁ途中で何をしているか判らない時点で
完全に最初から組みなおしたほうがいい。
一からやっても10分くらいで終わる作業だ。
今おかしくなってる原因を探るより絶対早い。
014498
2014/11/07(金) 01:36:11.92ID:jPeS+PJTAnimatorとかですか?確かにコンポーネントに入ってます。周期的にアニメーションするようになっていました。
0145名前は開発中のものです。
2014/11/07(金) 01:37:18.97ID:bIbPab/pそうですね、やはりそのほうがいいですね
ありがとでした(ペコリ
0146名前は開発中のものです。
2014/11/07(金) 03:22:20.99ID:m62G8wV2暗号化アルゴリズム実装するのは正直面倒(というか誤った実装したらやばい)ので、セールやっているEasySave2というアセットの購入も考えています
こちら使っているひといたら使用感どうでしょう?
0147名前は開発中のものです。
2014/11/07(金) 05:32:30.03ID:ffzpO2Jlひとつひとつ階層開いて選択してやるしかないでしょうか
0148名前は開発中のものです。
2014/11/07(金) 05:52:38.00ID:2af3gaIiSample Assets > Sample Scenes > Scenes > Third Person Characterを開いて、
Sample Assets > Characters > Third Person Character > Animator > Third Person Animator ControllerのGroundedの
Blend TreeのMotionの中のアニメーションRunをUnityChan > Animations > Run00_Fに変更すると、
モーションは実行されますが足踏み状態で前に進みません。
これは何が原因なのでしょうか?
0149名前は開発中のものです。
2014/11/07(金) 08:29:12.82ID:M6VHzB4Pやめて!アセット爺さんだって人間なのよ!
生きているのも恥ずかしい程の間違いはアセットを買っても消せないのよ!
0150名前は開発中のものです。
2014/11/07(金) 10:49:23.87ID:YWJL8vD5ない。自分でExecuteInEditModeで書けばいい。
>>148
実物見てないがそういうモーションなんだろう。
Mecanimはモーションの中に移動もふくまれていて
その移動量にしたがってキャラも動かすが
そうじゃなくてキーで移動を決定したい場合は
その場足踏みのモーションが欲しいから
そういうモーションが入ってるんだろう
0151名前は開発中のものです。
2014/11/07(金) 12:44:46.95ID:KOV6xguNアセットをかえばできるかもしれませんよ
0152名前は開発中のものです。
2014/11/07(金) 13:57:52.79ID:rn7z7wOVアイテムを名づけたり改造したり腐らせたりしたいのですが良い方法などあったらアドバイスお願いします。
0153名前は開発中のものです。
2014/11/07(金) 14:17:44.09ID:a7b7Q0yI0154名前は開発中のものです。
2014/11/07(金) 14:50:25.67ID:2af3gaIiありがとうございます
Run00_Fは足踏みモーションではないと思うのですが・・
すみませんどなたかお暇な方、Sample Asset BetaとUNITY-CHANをダウンロードして試してみて頂けませんか
0155名前は開発中のものです。
2014/11/07(金) 16:06:18.95ID:klvd4dxUこの辺理解できるように頑張れ。
http://www.techscore.com/tech/DesignPattern/Decorator.html/
0156名前は開発中のものです。
2014/11/07(金) 16:43:16.89ID:KOV6xguNアイテムの管理はアセットをかえば簡単です
プログラムなんていりません
0157名前は開発中のものです。
2014/11/07(金) 17:26:26.24ID:M6VHzB4P例えばアイテムAとアイテムBを合成してアイテムCを作る場合何が必要だと思う?
これが分からないなら背伸びしないでブロック崩しみたいな簡単な物から作ることをオススメする
それも最後まで完成させられないようではRPG的なものなんてとてもじゃないが完成させられない
0158名前は開発中のものです。
2014/11/07(金) 20:26:36.84ID:6Net4/RL腐る以上ダンジョン系なんだろうけど
0159名前は開発中のものです。
2014/11/07(金) 20:50:13.06ID:rn7z7wOV機能別に作ってどんどん追加しているんですね。
デザインパターンとかまともに考えたことがないので参考にしてみます。
>>157
簡単なゲームなら何個か作ったんですが今回作ってるのは自分にとって難し過ぎました
アイテムの変化は無くてもゲームにはなるので最悪IDとデータベースで作ろうかと思います。
>>158
仰るとおりのローグライクのマップを元に3DDungeon作ってFPSRPGみたいな感じで作ってます。
時間経過で食料が腐っていったり銃の機能を合成で変化させたりとか考えていました。
0160名前は開発中のものです。 転載ダメ©2ch.net
2014/11/07(金) 21:31:28.68ID:MBxwHkrL以下のソースを書いたのですが「The object of type 'GameObject' has been destroyed but you are still trying to access it.」エラーが出て困っています。
(もうそれデストロイ済みだよエラー)
エラーはスクリプトをGetComponent<>()で呼び出した段階で出ます。
修正方法か、あるいはより適切なソート方法をご存じの方がいたら教えて下さい。
//List<GameObject>型のMap_TrophyをスクリプトItem_BodyのName変数の順で並べ替えます。
//※string型で一旦宣言しているのは別の要素に応じて比較する文字列を変えたいからです。
Map_Trophy.Sort(delegate(GameObject G01, GameObject G02){
string a=G01.GetComponent<Item_Body>().Name;
string b=G02.GetComponent<Item_Body>().Name;
return string.Compare(a, b);
});
0161名前は開発中のものです。
2014/11/07(金) 22:47:37.49ID:qNVmZNJq>>156
エフェクトをくれると思いますよ(キリッ
0162名前は開発中のものです。
2014/11/07(金) 22:56:02.78ID:KOV6xguNソートは、アセットをかうと簡単にできると思いますよ
0163名前は開発中のものです。 転載ダメ©2ch.net
2014/11/07(金) 23:09:41.36ID:MBxwHkrLItem_Body自体をリストにしてやればエラーにならないけど、
削除するときのこととか考えたらゲームオブジェクトの方をソートしてそれを元にItem_Bodyのリストを作りたいなあ・・・
アセットおじさんじゃなくてまともな人、なにかわかったら教えてくれ・・・
0164名前は開発中のものです。
2014/11/07(金) 23:38:12.19ID:ybUFLXZaどうやってリストを作成したのかわからんので推測だけど
エラーメッセージが示す通り、ゲームオブジェクトが消えてるのが原因だろう
ソートする前にリストから無効なゲームオブジェクトの参照を削除すればいいんじゃないの?
ソート処理自体は間違ってないと思う
0165名前は開発中のものです。 転載ダメ©2ch.net
2014/11/07(金) 23:38:31.63ID:MBxwHkrL0166名前は開発中のものです。 転載ダメ©2ch.net
2014/11/07(金) 23:42:00.53ID:MBxwHkrL例えば実行前にMap_Trophy.Countってすると数が表示されるし、別処理でMap_Trophy.xxxって何かしら処理すると表示されるんですよね・・・
自前の関数の引数だとこういうエラー出た時は引数のゲームオブジェクトにrefつければ回避できるんですが、上記のケースだと付けれない
元のゲームオブジェクトはメソッド内で生み出してるんで、消えてる可能性もあるんですが、メモリから消えたわけじゃなさそうという
0167名前は開発中のものです。
2014/11/07(金) 23:45:23.03ID:HKwuhtbN0168名前は開発中のものです。
2014/11/08(土) 00:25:33.54ID:VUCtvIDhDestroyしたGameObjectを経由してGetComponentするから落ちるんだよ
死んだオブジェクトがListに残らないようにしないと駄目
■ このスレッドは過去ログ倉庫に格納されています