[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 11/24 14:54 / Filesize : 179 KB / Number-of Response : 634
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【3Dゲームエンジン】Unity質問スレッド13 [転載禁止]©2ch.net



1 名前:名前は開発中のものです。 mailto:sage [2014/11/01(土) 14:21:34.61 ID:PIUwqvpm]
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質問スレッド12
peace.2ch.net/test/read.cgi/gamedev/1411226395/

■本スレ
【3Dゲームエンジン】Unity総合スレッド23
peace.2ch.net/test/read.cgi/gamedev/1404212872/

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう

85 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 17:10:17.01 ID:ZalTWdnC]
>>83
回答ありがとうございます!まさに処理の重さが気になっていたので・・。
Staticチェックでやってみます。

86 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 17:23:20.28 ID:pKOnaeze]
>>85
staticでバッチングされるのはプロ版の機能だから
freeの場合、自力なりアセットなりでメッシュ纏めないとドローコール減らせないから注意な

87 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 18:34:49.00 ID:UX/W+J+Q]
unityにむかしついてたエディタどこ行った
もしかしてもう入ってない?

88 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 18:56:31.16 ID:c1VdDso3]
>>87
unity4.xから消えた
必要ならunity3.xダウンロードして入れてから他の場所に移すしか

89 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 19:51:01.60 ID:XtQX/B4C]
>>87
アセットをかえばついてくるかもしれませんよ?

90 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 20:30:22.53 ID:UX/W+J+Q]
unityアップデートしたらmonodevelopでbooファイルが開けないC#はいけるのに何でだ・・・

91 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 20:38:01.60 ID:1NQoX3lD]
5からBooは切り捨てられたのだ

92 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 21:09:20.43 ID:33Ydw1+c]
スプライトアニメーションについての質問です。
SpriteRendererのcolorプロパティを用いてカラー設定をしたいのですが
Animatorに該当オブジェクトへのカラー設定のアニメが含まれていると
該当アニメを再生してなくてもスクリプト側からの設定が反映できないようで悩んでます。

カラー関係無いアニメを再生してる時くらいスクリプトから制御出来るのではと思ってたのですが
ちょっとしたカラー設定でもアニメーションクリップを作成してAnimatorでの管理を考えるべきなのでしょうか?

93 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 22:33:10.49 ID:UX/W+J+Q]
jsも開けない 5からのことも考えてC#だけにするか



94 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 22:51:41.01 ID:z+J54s7P]
アセット爺さん>>81を華麗にスルーw

95 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 23:21:57.13 ID:UO5ltJmw]
「アセットおじさん」だろいいかげんにしろ

96 名前:名前は開発中のものです。 mailto:sage [2014/11/04(火) 23:28:39.21 ID:edbC8IP7]
いつから「アセットおじさん」が男だと勘違いしていた…?

97 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 00:42:58.89 ID:QiKCmYZg]
アセットおじさんがツンデレの金髪ツインテ美少女なら萌える

98 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 01:54:20.57 ID:Xo+vLE1P]
すみません、Physics2.OverlaAreaAll並びにRayCast系の命令は、各オブジェクトにアタッチ出来ないんでしょうか。

複数あるオブジェクトA,Bがあって、Aをタッチ(クリック)するとAで指定した範囲内で最もそのAに近いオブジェクトBを消す
というモノを作っているんですが、上手く動作しません。

B   B
 B^         B
A1     A2

B     B

A1,A2共に範囲は周り1文字とし、A1をタッチ(クリック)すると上図のB^が消えます。
このAの範囲に入っているか判別する処理にOverlaAreaAllやRayCastを使用してみたのですが

99 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 02:02:42.76 ID: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();
}
}

100 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 02:06:11.19 ID:Xo+vLE1P]
すいません、コードに記述ミスが・・・
hits[lessIndex].collider.GetComponent<Note>().Dest();

hits[lessIndex].collider.GetComponent<Script>().Dest();

BにアタッチされたScriptで自分自身を消すメソッドに飛びます

101 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 02:38:04.93 ID:FpIyV9JB]
>>100
プログラムが組めないなら、アセットをかいましょう。プログラムなしでもゲームが出来ますよ

102 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 04:42:56.56 ID:4xIm1SN9]
Cameraに追加したSKyboxをスクリプトで
offにしたいのですが、どのように書けばいいでしょうか?
色々試してみましたが、うまくいきません。

function Updatet () {

Skybox.SetActive(false);

}

宜しくお願いします。

103 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 05:12:38.80 ID:RQsBm2BP]
Updatet → Update



104 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 08:47:30.28 ID:LjolvEE6]
>>97
真相は赤ら顔のデブオタ

105 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 09:45:17.06 ID:FpIyV9JB]
>>102
アセットをかえば動くと思いますよ

106 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 09:48:57.59 ID:R43J7O3Q]
>>102
その一行っていやホントに色々試したんかいw
JSはよく知らんが

function Update(){
if(Time.time>3f){
var a:Skybox = gameObject.GetComponent("Skybox");
a.enebled=false;
}
}

とかやれば多分開始から3秒でオフになる、と思う。
試してない、すまんw
もちろんこのままだと毎フレームゲットコンポーネントして
毎フレームオフにし続ける訳だが。

107 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 10:05:48.07 ID:YVnuShCp]
>>92
colorに限らずアニメーションに含まれてるとキーを打ってなくても逐一初期状態に変更されるんだよな確か
昔はまったわ

で、今ちょっと調べてみたらLateUpdateはアニメーション計算の後に実行されるみたいだから
毎フレームLateUpdateで上書きすればいけそう
docs-jp.unity3d.com/Documentation/Manual/EventFunctions.html

scriptとアニメーションの両方から制御しようとすると後々追いづらくなってバグの温床になりそうだからどちらかに纏められるなら纏めたほうがよい気はするが

108 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 10:20:52.57 ID:PPS40SQB]
>>99
↓を読んでOverlapAreaAllとOverlapAreaNonAllocの違いを確認してください
docs-jp.unity3d.com/Documentation/ScriptReference/Physics2D.OverlapAreaAll.html
docs-jp.unity3d.com/Documentation/ScriptReference/Physics2D.OverlapAreaNonAlloc.html

OverlapAreaAllは検出したCollider2Dの配列を生成してメソッドの戻り値として返してくれますが
OverlapAreaNonAllocは結果を格納するCollider2D配列は使用する側が用意しないといけません

109 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 12:41:09.68 ID:Xo+vLE1P]
>>108
ありがとうございます。
無事動かすことが出来ました。

原因はスクリプトをアタッチするオブジェクトにRigidBodyを付加していなかったことだったようです。
そしてRigidBodyをつけていてもOverlapAreaNonAllocでは配列の中身は返してくれませんでした
OverlapAreaAll+RigidBodyでなんとかColliderの配列を取得することに成功しました。

OverlapAreaAllとOverlapAreaNonAllocって似たような処理だと思ったんですが別物みたいですね

110 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 13:59:28.25 ID:CfcgvaT2]
セール中のParticle Playground 2ってフリー版で使える?
実際に設定してるとこ映した動画見当たらないんだけど、これ本当に簡単にエフェクト作れるの?

111 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 15:27:37.51 ID:R43J7O3Q]
プロ版が必要、と条件になければ使えるだろう。
見た感じ簡単に出来る、というタイプではなく
凝ったものが作れる、という感じっぽいけどなぁ。
セールにかかってるものでお手軽にそのまま使いたいとかなら
Realistic Effects Pack 2とかの方がそれっぽい感じはする

112 名前:名前は開発中のものです。 [2014/11/05(水) 17:22:13.03 ID:dneqDBzs]
>>82
すみません、上手くいきました!
勉強します。。。

113 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 18:53:31.18 ID:U3Wm6MKx]
痴呆のアセット爺さんはちゃんと>>110に答えてやれよw



114 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 19:36:11.41 ID:2Gb7sIf4]
察してやれよ。アンインストールしてるのバレちゃうだろw

115 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 22:13:16.80 ID:FpIyV9JB]
>>110
アセットをかえば簡単にエフェクトをくれると思いますよ

116 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 22:40:42.96 ID:U3Wm6MKx]
>>115
くれるって何?
日本語の表現おかしくね?
百歩譲って「作れる」
普通なら「手に入る」じゃね?

117 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 23:12:46.74 ID:2Gb7sIf4]
察してやれよ。在日朝鮮人ってバレちゃうだろw

118 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 23:25:25.11 ID:ckLqigRY]
マジレスするとつくれるのつが抜けただけじゃないかと

119 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 23:42:04.84 ID:2Gb7sIf4]
何で動揺してんの?w

120 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 23:53:49.63 ID:Znbarsi0]
今日も元気な中学生w

121 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 00:29:12.35 ID:2I+M5i79]
エフェクトをくれると思いますよ(キリッ

122 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 00:36:46.25 ID:fNSWnrNC]
せっせと手打ちで粘着する姿に泣いた

123 名前:92 mailto:sage [2014/11/06(木) 01:22:21.32 ID:terXi/GU]
>107
なるほどLateUpdateで設定してしまえば一応反映出来るんですね
試しにサンプル作って動作させてみてLateUpdateでのカラーの反映を確認出来ました。
最後に仰ってる事も最もなのでAnimatorで制御するかスクリプトで制御かは
きっちり分けて考えてみようと思います。



124 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 05:14:12.82 ID:B5I5W2i/]
MonoDevelopやばくない?
ファイルが見つからないとか読み込めないとか多い気がする。
つーかGUIが使えなくなった
Labelが定義されてないとか言われて意味不明なんだけど

125 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 06:17:27.87 ID:B5I5W2i/]
自己解決。やばいのは俺の頭だった。
すげー昔のサンプルスクリプトがGUIをオーバーライドしてやがった。
予測がまったく出てこないわけだ。

126 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 07:31:17.33 ID:87sJAJ+/]
書き込む前に一呼吸おかない間抜けは
これからも苦労するだろうねw

127 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 08:43:05.29 ID:qYw6ezhl]
>>126
わざわざそんなこと書かんでも…

128 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 12:59:44.82 ID:F7RERGXP]
人生経験に基づく貴重なアドバイスやで

129 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 15:44:18.30 ID:gwGfn7pW]
3Dのカートゥーンチックな子供向けアクションゲーム作るんだけど、良い感じのお勧めアセット無い?
TidyMapperとFXmakerとNGUIは使ってる

130 名前:名前は開発中のものです。 [2014/11/06(木) 17:58:53.87 ID:5lVD+Jhh]
unityの既存にあるエフェクト素材を
試しているのですが、
全体拡縮が上手くいきません。
こちらは、エフェクトのパラメーターを
一つ一つ調整していくしかないのでしょうか?
宜しくお願いします。

131 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 19:08:02.94 ID:nyUimD88]
いやmonodevelopやばいよ
何か変なエラーでまくる

132 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 19:21:44.90 ID:IwoS640y]
>>130
Unityのエフェクト調整はアセットをかえばいいと思いますよ

133 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 20:02:49.09 ID:wRkTYMZ/]
Unity初心者です
3dsmaxで作ったキャラをvre.4.5にfbxで読み込み、idle・walk・run設定をしたのですが
モーションは問題なく動くのですが、原点から移動せず、ずっと原点で足踏み状態です
コリジョン設定も確認し、地面と接していないので、なぜ前後左右へ進めないのか分かりません
本やネットでいろいろ調べたのですが解決策が見当たらず、こちらに書かせていただきました

すごく初歩的なことで恐縮ですが、何かお心当たりのある方がいましたら教えていただけたら助かりますmm



134 名前:名前は開発中のものです。 [2014/11/06(木) 20:35:04.31 ID:5lVD+Jhh]
>>109
トップノードにアニメキーがはいっているとか?

135 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 21:06:36.82 ID:IwoS640y]
>>133
キャラクターの移動関連は、本など読まなくても、アセットを買えば簡単に解決しますよ

136 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 21:18:50.19 ID:2I+M5i79]
>>132
>>135
エフェクトをくれると思いますよ(キリッ

137 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 22:16:16.46 ID:wRkTYMZ/]
>>135
ありがとございます(ペコリ
初心者なので、まずアセットに頼らずやろうとしたのですが、ちょっと敷居が高かったですね
色々とアセットを探してみようと思います

138 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 22:24:34.27 ID:ul+n67HV]
「Unityではじめる2Dゲーム作り徹底ガイド」発売して1週間になりますが
まだ改修されませんか?まず著者は謝るべきでは?

こんなに厚い本でも内容が間違いだらけでは凶器にしか使えませんよ

139 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 23:07:08.75 ID:/jM2k/6c]
>>133
同じことで躓いてます。もし解決策分かりましたら教えてください

140 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 23:09:07.29 ID:ixMJSalV]
>>133
そもそも何を使ってどう移動させようとしているのか
によって原因が異なるのでそれだけでは原因はわからない。
Mecanimでやろうとしているならアニメーション自体が
移動していなければならない。
キャラコンやMecanimだけどキー操作で移動、にしている場合には
何かしらコードがおかしい。

141 名前:名前は開発中のものです。 mailto:sage [2014/11/06(木) 23:58:50.28 ID:wRkTYMZ/]
>>140
説明が足らずすみませんmm
Autodesk Maya トレーニングブック3のサンプルキャラ(女性)と同じ動作をさせようと思い、MAXでモーションまでつけた自作キャラをFBXで読み込みました
アニメーション(idle・walk・run)をcaractor walkで設定し、caractor controlerでコリジョン付け、PLAYを押して十字キーでいざ動かしてみるとモーションせず棒立ちのまま、移動はできました
なぜモーションが作動しないのかと、あれこれいじって、リグをLegacyに設定したらモーションがきちんと動くようになったのですが、今度は十字キーを押しても移動されず原点でモーションするだけでした

そして不思議なことに、子供にしているカメラの視界からキャラを消した状態では、移動しているようなので、キャラがロックされているのかとも思いましたが、どこを見たらいいかもよく分からず・・・
本のサンプルキャラと同じように設定をしているはずなのですが、今現在どこが違うのかわからない状態です
同じようなことで悩んでいるお方がいらっしゃったら、ご経験を聞かせていただけたらなと思い、こちらで質問させていただきましたmm

142 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 00:02:57.99 ID:bIbPab/p]
追記:Mecanimは使用していません

143 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 00:43:21.42 ID:YWJL8vD5]
>>141
まぁ途中で何をしているか判らない時点で
完全に最初から組みなおしたほうがいい。
一からやっても10分くらいで終わる作業だ。
今おかしくなってる原因を探るより絶対早い。



144 名前:98 mailto:sage [2014/11/07(金) 01:36:11.92 ID:jPeS+PJT]
>>134
Animatorとかですか?確かにコンポーネントに入ってます。周期的にアニメーションするようになっていました。

145 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 01:37:18.97 ID:bIbPab/p]
>>143
そうですね、やはりそのほうがいいですね
ありがとでした(ペコリ

146 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 03:22:20.99 ID:m62G8wV2]
セーブデータ作るときの暗号化はどうやっていますか?

暗号化アルゴリズム実装するのは正直面倒(というか誤った実装したらやばい)ので、セールやっているEasySave2というアセットの購入も考えています
こちら使っているひといたら使用感どうでしょう?

147 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 05:32:30.03 ID:ffzpO2Jl]
子にタグを一括で適用する方法ってありませんか?
ひとつひとつ階層開いて選択してやるしかないでしょうか

148 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 05:52:38.00 ID:2af3gaIi]
UnityちゃんとSample Asset Betaをインポートして、
Sample 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に変更すると、
モーションは実行されますが足踏み状態で前に進みません。
これは何が原因なのでしょうか?

149 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 08:29:12.82 ID:M6VHzB4P]
>>136
やめて!アセット爺さんだって人間なのよ!
生きているのも恥ずかしい程の間違いはアセットを買っても消せないのよ!

150 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 10:49:23.87 ID:YWJL8vD5]
>>147
ない。自分でExecuteInEditModeで書けばいい。

>>148
実物見てないがそういうモーションなんだろう。
Mecanimはモーションの中に移動もふくまれていて
その移動量にしたがってキャラも動かすが
そうじゃなくてキーで移動を決定したい場合は
その場足踏みのモーションが欲しいから
そういうモーションが入ってるんだろう

151 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 12:44:46.95 ID:KOV6xguN]
>>147
アセットをかえばできるかもしれませんよ

152 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 13:57:52.79 ID:rn7z7wOV]
アイテムのシステムってどうやって作ってますか?
アイテムを名づけたり改造したり腐らせたりしたいのですが良い方法などあったらアドバイスお願いします。

153 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 14:17:44.09 ID:a7b7Q0yI]
そんなことがわからないようじゃゲーム作り向いてない



154 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 14:50:25.67 ID:2af3gaIi]
>>150
ありがとうございます
Run00_Fは足踏みモーションではないと思うのですが・・

すみませんどなたかお暇な方、Sample Asset BetaとUNITY-CHANをダウンロードして試してみて頂けませんか

155 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 16:06:18.95 ID:klvd4dxU]
>>152
この辺理解できるように頑張れ。
www.techscore.com/tech/DesignPattern/Decorator.html/

156 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 16:43:16.89 ID:KOV6xguN]
>>152
アイテムの管理はアセットをかえば簡単です
プログラムなんていりません

157 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 17:26:26.24 ID:M6VHzB4P]
>>152
例えばアイテムAとアイテムBを合成してアイテムCを作る場合何が必要だと思う?
これが分からないなら背伸びしないでブロック崩しみたいな簡単な物から作ることをオススメする
それも最後まで完成させられないようではRPG的なものなんてとてもじゃないが完成させられない

158 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 20:26:36.84 ID:6Net4/RL]
どういうゲームの中でのアイテムなのかもわからないのに教えられない
腐る以上ダンジョン系なんだろうけど

159 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 20:50:13.06 ID:rn7z7wOV]
>>155
機能別に作ってどんどん追加しているんですね。
デザインパターンとかまともに考えたことがないので参考にしてみます。

>>157
簡単なゲームなら何個か作ったんですが今回作ってるのは自分にとって難し過ぎました
アイテムの変化は無くてもゲームにはなるので最悪IDとデータベースで作ろうかと思います。

>>158
仰るとおりのローグライクのマップを元に3DDungeon作ってFPSRPGみたいな感じで作ってます。
時間経過で食料が腐っていったり銃の機能を合成で変化させたりとか考えていました。

160 名前:名前は開発中のものです。 転載ダメ©2ch.net mailto:sageteyon [2014/11/07(金) 21:31:28.68 ID: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);
});

161 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 22:47:37.49 ID:qNVmZNJq]
>>151
>>156
エフェクトをくれると思いますよ(キリッ

162 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 22:56:02.78 ID:KOV6xguN]
>>160
ソートは、アセットをかうと簡単にできると思いますよ

163 名前:名前は開発中のものです。 転載ダメ©2ch.net mailto:sageteyon [2014/11/07(金) 23:09:41.36 ID:MBxwHkrL]
んー
Item_Body自体をリストにしてやればエラーにならないけど、
削除するときのこととか考えたらゲームオブジェクトの方をソートしてそれを元にItem_Bodyのリストを作りたいなあ・・・
アセットおじさんじゃなくてまともな人、なにかわかったら教えてくれ・・・



164 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 23:38:12.19 ID:ybUFLXZa]
>>163
どうやってリストを作成したのかわからんので推測だけど
エラーメッセージが示す通り、ゲームオブジェクトが消えてるのが原因だろう
ソートする前にリストから無効なゲームオブジェクトの参照を削除すればいいんじゃないの?

ソート処理自体は間違ってないと思う

165 名前:名前は開発中のものです。 転載ダメ©2ch.net mailto:sageteyon [2014/11/07(金) 23:38:31.63 ID:MBxwHkrL]
LINQでやっても一緒やな・・・

166 名前:名前は開発中のものです。 転載ダメ©2ch.net mailto:sageteyon [2014/11/07(金) 23:42:00.53 ID:MBxwHkrL]
>>164
例えば実行前にMap_Trophy.Countってすると数が表示されるし、別処理でMap_Trophy.xxxって何かしら処理すると表示されるんですよね・・・
自前の関数の引数だとこういうエラー出た時は引数のゲームオブジェクトにrefつければ回避できるんですが、上記のケースだと付けれない
元のゲームオブジェクトはメソッド内で生み出してるんで、消えてる可能性もあるんですが、メモリから消えたわけじゃなさそうという

167 名前:名前は開発中のものです。 mailto:sage [2014/11/07(金) 23:45:23.03 ID:HKwuhtbN]
頭の悪さがにじみ出てますな

168 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 00:25:33.54 ID:VUCtvIDh]
>166
DestroyしたGameObjectを経由してGetComponentするから落ちるんだよ
死んだオブジェクトがListに残らないようにしないと駄目

169 名前:名前は開発中のものです。 転載ダメ©2ch.net mailto:sageteyon [2014/11/08(土) 00:43:47.95 ID:qZ7K1tQP]
>>168
ゲームオブジェクト自体をリストにしたものとスクリプトをリストにしたものと両方使っていて
今回のケース以外ではどちらもデータを引き出せるのですが、これも死んでいる状態なのです?

Awakeでメソッドを呼んでその中でゲームオブジェクトを宣言してリストに加える事が多いので、消えているんじゃないかと言われればそうなのですが
普段呼べる理由がよくわからなくなります
仮にメソッドが終わる場合に自動でDestroyされていて、Destroyされてもデータが呼べることが一般的なら、
スクリプト上でDestroyせずに宣言するにはメソッド以外で呼ぶしかないのでしょうか

170 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 00:54:19.10 ID:VUCtvIDh]
>>169
エラーメッセージ見れば一目瞭然だよね?
ソート対象のリストに入っているGameObjectがすでにDestroy済みなのが問題なんだよ
GameObjectの参照はListに残っているけどDestroy済みだとGetComponentは動作しないってだけ。
Itemのリスト管理してる部分とItemのGameObjectをDestroyしてる箇所と連携とらないと駄目って事
C#のobjectなら参照が残っていれば生きてるけどGameObjectにひっついたComponentを取得しようとしてもGameObjectがDestroy済みだとGetComponent関数がそれを拒否するように作られてるから出来ないってだけ

171 名前:名前は開発中のものです。 転載ダメ©2ch.net mailto:sageteyon [2014/11/08(土) 01:13:33.09 ID:qZ7K1tQP]
>>170
詳しくありがとうございます
参照は生きているけどデストロイはされているのですね

連携というとメソッドで呼んだ場合、具体的にはどうすれば大丈夫みたいな具体例はありますでしょうか?

172 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 01:59:02.39 ID:2LZBdkJq]
>>169
アセットをかえば簡単に解決すると思いますよ

173 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 02:03:38.10 ID:BsbRj464]
>>171
具体例も何も、どこかしらでリスト内のGameObjectをDestroyするようにしてるはずだから、
同じタイミングでリストからRemoveしてあげればいいだけでは?



174 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 02:29:31.93 ID:SVyLxskE]
>>159
FPSRPGなんて高度なことするのにアイテムで引っかかるのか、と思ったけどUnityだから出来るんだなあ
腐らせるなら、一定時間ごとに全アイテムでループして、それぞれの時間経過によるアクションを実行する
(delegateとか使ったり)
合成なら、どんなインターフェイスかわからないけど、合成素材を選択したら合成状態フラグ建てて、
その状態で武器を選んだら武器の性質を変化させればいいんじゃない?

175 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 04:12:37.19 ID:tGji8wEW]
昨日、キャラが前後左右に移動しない原因を質問した者です
お陰様でアレコレいじって、ようやく移動ができました、ありがとうございました(ペコリ
そして今度は、Unityに読み込んだキャラの片方の手足がポリゴン反転しているのですが、両面ポリゴンにするしか方法はないのでしょうか
Reverse Mesh Normalsをいうアセットをネットで拾ったので使ってみたのですが効果がなく、またこちらで質問させていただきましたmm

176 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 04:19:38.88 ID:YZolAzX7]
>>155
デコレーターパターンなんかVBAみたいなクソ言語でしかつかわねーよ。

177 名前:175 mailto:sage [2014/11/08(土) 04:49:59.11 ID:tGji8wEW]
自己解決しましたmm

178 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 09:29:28.83 ID:bnfdi8o5]
>>169
C#のDestructorとUnityのDestroyを混同してるように見える
すでにシーンから削除されたGameObjectに対してGetComponentを呼んでない?

179 名前:名前は開発中のものです。 [2014/11/08(土) 15:03:42.23 ID:fWKcc7Yv]
terrainの上ではAddtorqueがしっかり機能してくれるのに、Planeの上では機能してくれません
何故こうなるのかわかりません
誰か教えてください

180 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 15:41:24.88 ID:QbMDKJQG]
GameObject obj = Instantiate(prefab,transform.position,transform.rotation) as GameObject;
if (!obj) Debug.Log("null");

とするとゲーム画面ではオブジェクトが表示されているにも関わらずnullと出力されるのですが、何故objに格納されないのでしょうか
これより前に何か操作が必要なのでしょうか

181 名前:名前は開発中のものです。 転載ダメ©2ch.net mailto:sageteyon [2014/11/08(土) 16:11:12.43 ID:qZ7K1tQP]
レスありがとう!

>>173
そのGameObjectは今も使っているのでリムーブは厳しかったり・・・
正確にはGameObjectのスクリプトを別に格納したリストですが
ゲームオブジェクト自体のリストは余り使わんものなのかな・・・たしかにスクリプトのリストがあればなくても今のところは困らない

>>178
ゲームオブジェクトもスクリプトのリストもシーンから削除されないように設定されているのですが、
(staticのゲームオブジェクトでこれを生成したクラスとそのクラスをアパッチしたゲームオブジェクトを削除しないようにしている)
後ほど確認してみます

182 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 16:58:00.24 ID:hD/mnMZ6]
>>180
プログラムは難しいですね。アセットをかいましょう。すぐにゲームが完成しますよ

183 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 17:09:11.64 ID:lAxlo+1t]
しませんよ。
低能アセットじじぃw



184 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 17:46:03.80 ID:wG7CbVZh]
>>181
>そのGameObjectは今も使っているのでリムーブは厳しかったり・・・
現在作成中のシーンで試さなくてもそれを複製して試験用のシーンを作ればいい
で、不具合が起こる最小の構成を突き止めましょう
人に聞くのはそれからにした方が結局は早く解決するよ

185 名前:名前は開発中のものです。 mailto:sage [2014/11/08(土) 17:49:12.31 ID:olZYcwo/]
スレチだったらすみません。
unityでOculusのゲームつくるとき、カメラの向いてる方に弾を撃ちたい(目からビームのイメージ)のですが、カメラの方向ではなく、モデルの正面にしか弾がでません。
たとえば普通のカメラならカメラのrotationを取ればよかったのですがOculus用のカメラ(OVRCameraRig)は顔を振ってもrotationが変わりません。

なにかいい方法はないでしょうか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<179KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef