1 名前:名前は開発中のものです。 [2013/06/25(火) 03:51:44.47 ID:vfI8rCSw] 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。 Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他 次スレは>>970 を踏んだ方が建てること。ダメなら>>980 か>>990 が建てて下さい。 ■前スレ 【3Dゲームエンジン】Unity質問スレッド4 toro.2ch.net/test/read.cgi/gamedev/1362821620/ ■本スレ 3Dゲームエンジン】Unity総合スレッド19 toro.2ch.net/test/read.cgi/gamedev/1368814728/ ■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 ←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
148 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 16:16:53.88 ID:FccQ5igj] >>136 2D限定ならUnity使わないで他のツールを使った方が速いし捗ると思う。
149 名前:名前は開発中のものです。 mailto:sage [2013/07/13(土) 17:24:53.42 ID:XTuQRntR] >>148 他のツールっつってもあんまりこういうドラッグ&ドロップ+スクリプトみたいなので使い勝手良いのないよね。 AdobeのFlashツールでそのまま使えれば2D系の人は幸せなんだろうけど。
150 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 00:36:57.15 ID:waX78rJm] すみません、主観カメラの制御をしてるんですが、
151 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 00:37:27.23 ID:waX78rJm] Z軸を固定する方法を是非教えて下さい
152 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 01:12:18.38 ID:utrMSTzY] xとYしか動かないようにしろ
153 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 09:41:13.61 ID:HgMOf7f6] >>144 ネットオークションは基本的に特定多数だろ 落とした特定の個人に発送するんだから これだから屁理屈ばかりこねる割れ厨(予備軍を含む)は困る
154 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 12:02:34.63 ID:3t5B+JKS] >>150 カメラにrigidbodyを付けて、Freeze Positionを適当に弄る
155 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 13:01:15.50 ID:dqftsLKd] >>153 早く教えてよ〜 知らないなら黙ってろks
156 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 16:05:28.82 ID:36wpqnGV] なんかよーわからんが会社のPCに入ってるProでビルドしてもバレんっぽいな
157 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 18:11:33.27 ID:hvhxsvI6] お前の所はデータ持ち込み持ち出し自由なのか?
158 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 18:49:29.15 ID:VEwP4MSU] 零細なんだろw
159 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 18:53:48.72 ID:36wpqnGV] >>157 スマホをPCにUSB接続してても「充電してます」で通る現場がまだまだ大多数だぜ 通らない現場でもせいぜい誓約書に禁止事項として書かれてるくらい 社内セキュリティシステムにそれを検出する機構まであるのは極限られた大企業だけってのが現実さ
160 名前:名前は開発中のものです。 mailto:sage [2013/07/14(日) 22:32:39.36 ID:3t5B+JKS] Unityのkeystore生成機能、もう修正されてるんかな 昔はkeytoolで生成しないとエラー吐いたから使ったけど、正直面倒臭い
161 名前:名前は開発中のものです。 mailto:sage [2013/07/15(月) 00:18:48.20 ID:bMLmHnWQ] 壁に銃弾痕を作りたいんですが、銃弾痕を作りたいコリダ―の上にキャラをせき止めるコリダ―を重ねたら rayが銃弾痕のコリダ―に届きませんでした。何かいい方法はないでしょうか?よろしくお願いします。
162 名前:名前は開発中のものです。 mailto:sage [2013/07/15(月) 00:23:32.32 ID:ib03ItJj] レイヤー分ければできそう
163 名前:名前は開発中のものです。 mailto:sage [2013/07/15(月) 00:46:25.84 ID:DiwhCf2d] >>162 ありがとうございます!レイヤマスクでできました!
164 名前:名前は開発中のものです。 [2013/07/15(月) 00:59:43.56 ID:JqG7KO3m] またコリダー君かw
165 名前:名前は開発中のものです。 mailto:sage [2013/07/15(月) 10:03:26.15 ID:7KYx5vHJ] 男根が届きませんでしたってどんだけ短小なんだよ
166 名前:名前は開発中のものです。 mailto:sage [2013/07/15(月) 10:27:42.81 ID:YjYA+KAM] 9cmってことか
167 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 13:48:32.91 ID:3hHtctOV] >>136 金なさ過ぎ。 石はcoreシリーズで、グラボ2万くらいの載せろよ。 Unity以外でも使うんだろ
168 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 16:03:44.22 ID:Lx/3xIoQ] 昨年春の薄型ノート(Intel HD 4000)で開発してるけど、 PS3ソフトでやるようなよっぽどのエフェクトでも使わん限り、 ぜんっぜん問題なくサクサク動いてるよ。
169 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 16:10:39.42 ID:hTCJSU2K] 開発マシンは性能が高い方がいいけど 動作保証性能ギリギリのマシンも動作確認用に欲しいな しかし、わざわざ性能の低いマシンを買うのも勿体ない気がする そういう意味では今現在ゴミマシンをタダで手にしている>>136 がうらやましい
170 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 21:12:13.27 ID:a2BRLGv6] 流れのある水の中に一円だまを投げ入れるような物を作りたいのですが、 Unityで流体の動きを再現するのは難しいですか?
171 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 21:30:53.93 ID:1XcUDVcl] お前なら出来る!
172 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 21:44:21.20 ID:bKg+NUEV] まともに計算は無理だろうからそれっぽくつくれば
173 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 21:49:01.52 ID:Lx/3xIoQ] Unityベースの水流ゲームがあった気がするけど かといってUnityなら簡単にとかっていう話ではないな
174 名前:名前は開発中のものです。 mailto:sage [2013/07/16(火) 22:05:52.86 ID:a2BRLGv6] やっぱ機能にないしUnityだけでやるのは難しいんですかね。 となると別の開発方法で検討してみます
175 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 00:23:51.49 ID:yMVagp7E] aniso level を9にしても、テクスチャがボケることがあるのですが これはもうどうしようもないのでしょうか?
176 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 02:23:41.17 ID:/9+L7Ybt] どういう状況でボケて表示されるかを明らかにしないと答えようがない 伸縮率があまりに違えばボケるのは当たり前。でも他に原因があるかもしれない
177 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 15:42:28.37 ID:36r5SVlx] >>172 文化や芸術を理解するには知識ではなく知性が必要だからね テストでいい点取って喜んでいるうちは所詮朝鮮人レベル 日本人としてはそれより一段高い知的水準になければ達しているとは認められないだろう
178 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 15:53:30.91 ID:PTeAk2qR] >>177 そんな事いってるとしばき隊がくるよってばぁちゃんが言ってた
179 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 18:33:55.34 ID:W2G1ims3] 少し前から、一般論を振りかざしてドヤ顔してる奴がスレに貼り付いてるな
180 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 19:19:23.52 ID:m3NBmkT8] ゲーム専門学校生よりマシになったね
181 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 19:40:20.82 ID:0BuFjOmK] そもそも日本語理解できてなさそう
182 名前:名前は開発中のものです。 mailto:sage [2013/07/17(水) 19:43:03.31 ID:R1zTtRxc] 日本語は難しいからなぁ
183 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 14:59:37.82 ID:yqhKyrBF] すみません、今Unityでタワーディフェンスにチャレンジしているのですが、 敵を目標に向かって、自動的に移動するスクリプトにチャレンジしているのですが、 動かす予定である、enemyタグを付けたオブジェクトを座標(0,0,0)に移動させるため、以下のJavaScript(後でC#に最適化予定)を適応させました。 けれども、プログラムに問題がありスクリプトが実行されませんでした。 var spd:float = 0.05; GameObject enemy = GameObject.Find("enemy"); function Update () { // x座標が0以下なら移動する。 if(0>enemy){ transform.position.x += spd; } // z座標が0以下なら移動する。 if(0>enemy){ transform.position.z += spd; } } 問題点としては、 1.座標データ書き方を間違えた 2.オブジェクトのタグを取得できなかった と、考えているのですが、どのようにすれば直るでしょうか。
184 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 15:15:14.46 ID:uifWrfR0] >>183 if(0>enemy){ ってなんなんだ? 最初からC#で書くといいかもよ? 型を意識できるから。ケアレスミスも減る。
185 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 15:26:39.03 ID:uMCEidxp] enemy.x enemy.z とかじゃないの? enemyで参照するとスカラー値かなんか帰ってくるのかな?
186 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 15:33:42.16 ID:imnTIcj9] 一定のルートを移動するだけなら 透明のコリダーとかを配置して通路を作って、そこに敵を放り込むのがいいと思うよ。
187 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 16:37:04.60 ID:UbedvFXW] テストしてないし、仕様上全角スペース入れてるから、多分コピペしても動かないけど using UnityEngine; using System; public class EnemyAi : MonoBehaviour { Vector3 toGoPoint = new Vector3(0.0f, 0.0f, 0.0f); // 目指す座標 float spd = 0.05f; GameObject enemy = gameObject; void Update() { transform.LookAt(toGoPoint); // toGoPointの座標へ向く transform.Translate(Vector3.forward * spd * Time.deltaTime); // 1秒間にspdメートル正面へ移動 } }
188 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 16:47:05.01 ID:UbedvFXW] enemy はGameObject型だから、以下のメンバしか参照できない docs.unity3d.com/Documentation/ScriptReference/GameObject.html もし座標を直接参照したいなら、 こんな感じで辿ってく必要がある enemy ← GameObject型 docs.unity3d.com/Documentation/ScriptReference/GameObject.html enemy.transform ←Transform型 docs.unity3d.com/Documentation/ScriptReference/Transform.html enemy.transform.position ←Vector3型 docs.unity3d.com/Documentation/ScriptReference/Vector3.html enemy.transform.position.x ←float型
189 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 18:05:26.28 ID:UbedvFXW] gameObject や transform と書くだけで参照できるのは、EnemyAiがComponentを継承しているから。 Componentクラスには、gameObjectやtransformが定義されている docs-jp.unity3d.com/Documentation/ScriptReference/Component.html 「EnemyAi : MonoBehaviour」だから、MonoBehaviourしか継承していないんじゃないの?と思いきや、 MonoBehaviourも別のクラスを継承しているから、実際の継承の関係はこうなってる: Object←Component←Behaviour←MonoBehaviour←EnemyAi
190 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 21:51:26.85 ID:LH33bsJH] それ以前にこれOKだっけ? transform.position.x += spd; こうじゃね transform.position = new Vector3 (なんとか); Positionプロパティの返すコピーされた構造体を書き換えても全く無意味。 JavaScriptだといけるのか?
191 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 23:39:44.10 ID:yqhKyrBF] >>184 >>185 >>186 >>187 >>188 >>189 返信ありがとうございます。 C# 自動移動 でググッたのですが、見つからなくて、 JavaScriptでやりたいことを実行できるようにしてから、 C#に書き換えた方がいいのかなと思いました(Unityのスクリプト難しい)。 リンク先を見て、勉強していきたいと思います。 >>186 まず、ゴールに行くロジック作ってからのほうが楽かなと思いました。 ゴールの位置が変わっても、いつでもそこに向かって行くように設定すれば、 ゴールの位置や敵の出現位置を変えることができるので、ステージの幅が増えるかと考えました。
192 名前:名前は開発中のものです。 mailto:sage [2013/07/18(木) 23:50:44.21 ID:yqhKyrBF] >>190 JavaScriptではできました。 オブジェクトのx座標を変数spd分だけ増減させるので、 一方向に移動するなら、これだけで十分でした。
193 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 00:06:58.85 ID:doSR8nqv] すみません、初歩的な質問なのですが、 スクリプトの記述が誤っていると、 他の操作をすると、スクリプトが未編集と表示されて、 スクリプトを入れ替える等の操作ができなくなります。 今までは、ソースファイルごと削除して、対処したのですが、 ソースファイルの書き換えをしようとすると、余計な手間がかかるので、 どうしたらいいのでしょうか?
194 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 01:01:33.03 ID:/fmR9BxQ] コメントアウトでググりなさい
195 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 01:08:27.50 ID:doSR8nqv] 書いたところ全部、コメントアウトするということですか。 一応、間違っていると思ったところをコメントアウトするのですが、 それでも症状が変わらなかったです。
196 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 01:57:02.09 ID:h1RXLXQ4] > スクリプトの記述が誤っていると、 記述が誤ってるなら、エディタの下の方にエラーが表示されてるはずだから それを参考にスクリプトを修正して、エラーを消す。
197 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 02:45:45.41 ID:/fmR9BxQ] >一応、間違っていると思ったところをコメントアウトするのですが、 >それでも症状が変わらなかったです。 プログラム、勉強でググりなさい
198 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 05:48:19.14 ID:doSR8nqv] >>197 すみません、とりあえず、ソースコードを全てコメントアウトしたのですが、 編集中とあって、コンポーネントの編集ができませんでした。 やっぱり、スクリプトファイルを少しでも間違えると、 Unityは、他の作業ができなくなる仕様ということでしょうか?
199 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 06:50:15.07 ID:q4VUzOo/] >>198 そんなことは無い というか編集中だろうが何だろうが テキスト自体のデータは保存するまでは前の保存時のままのデータとして扱われるので関係ない ソースにミスがあるとコンパイルできないってだけ コンポーネントの編集ができないってのは何かがおかしい コンポーネントはいつでも編集できるやつだから コンポーネント自体のファイルを直接何かで開いてるって可能性もあるが、無料版だと普通はブラックボックス化されてるのでどれかわからないし無理 だからインストール時にファイルが破損した可能性の方が高いのでインストールしなおすのが良いと思う
200 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 07:11:32.19 ID:doSR8nqv] >>199 なるなる、インストールするときに破損した可能性を見落としてました。 いま、PC内のUnityをアンインストールして、インストールしなおしています。
201 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 08:18:05.88 ID:wcHxuvA4] 再インストールしても同じだよ コンパイルエラーのままじゃEditor操作出来ないよ とりあえずコメントアウトしてコンパイル通す程度のプログラミング能力をてに入れよう ソースコード全てをコメントアウトしようがエラー直さなきゃ駄目でしょ コンソールの情報を見て、その指摘内容を修正するていどの力がなきゃ いくらUnityでも使うレベルに無い人間だよ
202 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 10:14:50.87 ID:DQp16W20] >>183 基本的にunityはjavaScriptかC#が理解できて プログラム組める人じゃないと何も作れないと思うよ? コード見てると基礎的な部分が理解できてないから unityと並行してjavaScriptを勉強した方が良いと思う これから覚えるという段階ならC#はウインドウズアプリも 組みやすいというメリットがあるから、どちらが自分に合った言語か判断して選ぶと良い たぶん、それなりに長い道のりになるだろうけど頑張ってくれ
203 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 12:39:44.48 ID:pyZCHZMZ] > C# 自動移動 でググッたのですが、見つからなくて、 って言うレスを見た瞬間 >>202 のレスが妥当だと思った
204 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 13:24:23.21 ID:VBcDHjKs] 日系の釣りかと思ったらちがうっぽ
205 名前:名前は開発中のものです。 [2013/07/19(金) 14:57:57.24 ID:dN+9yzPm] すみません、初心者です。 プレビューしながらエフェクトなどを追加したり数値をいじったりして、 それをそのまま、シーン及びエフェクト、カメラの設定等、全部一括でセーブできる プラグインってないのでしょうか…><
206 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 16:06:08.83 ID:AP/s787v] >>205 https://www.assetstore.unity3d.com/#/content/188 コレは何?
207 名前:名前は開発中のものです。 mailto:sage [2013/07/19(金) 16:15:35.93 ID:AP/s787v] 間違えた。 https://www.assetstore.unity3d.com/#/content/2092 こっちか。
208 名前:名前は開発中のものです。 [2013/07/19(金) 16:20:21.59 ID:dN+9yzPm] これ、買ってから気づいたのですが、 イメージエフェクトはUnityの制限か何かで、数値をセーブできない みたいなんです。なのでリアルタイム(実際のゲーム画面?)で エフェクトを調整してマルっとセーブというのは、あきらめました。。。 ありがとうございました!!
209 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 08:07:38.10 ID:YkDTiyea] なるゲーム再生しながらプロパティーの数値いじったら変更されずに元に戻るUnityの仕様いらなくない? 普通に変更されて欲しいのだけど
210 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 09:17:59.78 ID:XqstlZ3g] 再生中なら普通に考えても無理じゃね 例えばVisualStudioなんかのIDE上でRunしてる時に、中のクラスメンバの値を 勝手に外部から書き換えできないのと同じ意味で
211 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 09:54:22.64 ID:66aalc6+] キャッシュに保存しといて、ベイクしますか?選択肢出せるようにしてくれればベスト 毎回はウザイだろうから変えた時だけ選択肢出てきてくれればいいなー
212 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 10:43:36.63 ID:rZcNKLpQ] paならできるぞ
213 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 10:51:26.57 ID:XqstlZ3g] PAはそんな枝葉末節以前の問題で却下
214 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 15:50:21.49 ID:yTQgtvQY!] >>209 それは困る。 色々数値変更してテストしてるうちに初期値忘れちゃうもん。
215 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 17:26:44.90 ID:ExCGSRAn] ソースの初期値を変えても反映されないとか 何回はまったことか
216 名前:名前は開発中のものです。 mailto:hiromi-and-3kids@po3.bunbun.ne.jp [2013/07/20(土) 20:43:26.05 ID:f5a+cjaK] 初心者のものです。みなさんはモデリングソフトに何を使っているんですか。
217 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 20:58:32.22 ID:yxu8a8Qt] blenderとzbrushかな GoBで連携出来てすげー便利
218 名前:名前は開発中のものです。 mailto:hiromi-and-3kids@po3.bunbun.ne.jp [2013/07/20(土) 21:04:51.86 ID:f5a+cjaK] ありがとうございます。>>217
219 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 21:20:39.64 ID:dJMvXjLa] maya mudbox
220 名前:名前は開発中のものです。 mailto:hiromi-and-3kids@po3.bunbun.ne.jp [2013/07/20(土) 22:19:35.88 ID:f5a+cjaK] ありがとうございます。>>219
221 名前:名前は開発中のものです。 mailto:hiromi-and-3kids@po3.bunbun.ne.jp [2013/07/20(土) 22:42:25.38 ID:f5a+cjaK] mayaの機能のムービーにロックマン的なのがありましたね。3Dのロックマンを作ろうかなと考えていたんです。
222 名前:名前は開発中のものです。 mailto:hiromi-and-3kids@po3.bunbun.ne.jp [2013/07/20(土) 22:43:10.86 ID:f5a+cjaK] 補足>>219
223 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 23:32:41.11 ID:yxu8a8Qt] 見逃してたけど、メールアドレスのとこに本当のアドレス入れなくていいよw 面倒なことになるかもしれないからさ 通常は半角でsageって入れておけばok
224 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 23:42:27.40 ID:zPKD8Loc] どーせ嫌いな奴のアドレス挿れてるんだろ
225 名前:名前は開発中のものです。 mailto:sage [2013/07/20(土) 23:47:11.30 ID:DAR6/vL1] 全然知らない人が使うと書いちゃうよなw
226 名前:名前は開発中のものです。 mailto:sage [2013/07/21(日) 00:03:55.78 ID:neHXkp6i] 大昔に書いた(ぺんぎんさんがいっぱい居る板)えらいめにあった
227 名前:名前は開発中のものです。 mailto:sage [2013/07/21(日) 11:59:22.11 ID:iWKsYeSy] 2chも初心者なもので…。すいません。
228 名前:名前は開発中のものです。 mailto:sage [2013/07/21(日) 21:08:31.33 ID:e6Q14lTp] >>223 >>225 sageとかを知らなくてもE-mailのところはもとから(省略可)って書いてあるんだから、 普通教えたくなければ書かないんじゃ・・・? っていうのは置いといて。 エラーが解決できないので質問させてください。 Unity+JavaScriptで神経衰弱を作っています。 神経衰弱自体は以前HTML+JavaScriptで作った経験があります。 めくったカードの確認やターンの制御などをさせている関数turns()があるのですが、 そのturns()の中でturns()を呼び出すと以下のエラーが2つずつ出ます。 「Assets/Script/sinkeisuijaku.js(205,49): BCE0070: Definition of 'sinkeisuijaku.turns()' depends on 'sinkeisuijaku.turns()' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.」 「Assets/Script/sinkeisuijaku.js(230,41): BCE0070: Definition of 'sinkeisuijaku.turns()' depends on 'sinkeisuijaku.turns()' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.」 turns()の中でturns()を呼び出している部分をコメントアウトすると、このようなエラーは出ません。 再帰が使えない可能性も疑いましたが、ネットで調べてみてそのような話は見かけませんでした。 この文章だけでは伝わらないと思うので、以下にすべてアップしてみました。 gmdev.xrea.jp/ [955.zip] 神経衰弱 エラー BCE0070 1.01MB 2013-07-21 sinkeisuijaku.zip スクリプトは↑にあるようにAssets\Scriptに入っているsinkeisuijaku.jsです。 現状まだコンピュータのAIを書いていないため、無駄にコンピュータ用の関数を呼び出していたりしています。 まだ順番に移植してスクリプトを手直ししている最中なので、もしかしたら他のエラーやバグが潜んでいるかもしれませんが、 上のエラーに関すること以外ならスルーでもかまいません。 シーンはAssets\Sceneに入っているsinkeisuijaku.unityです。 もとは別のプロジェクトの一部であるためかトランプのテクスチャーが破損(?)してピンク色(?)になってしまっているのはスルーしてください。 (トランプ52枚のテクスチャーを再設定させるのは面倒なので・・・; すいません。)
229 名前:名前は開発中のものです。 mailto:sage [2013/07/21(日) 22:07:51.38 ID:ltdkKzLm] >>228 ネットで調べる前に、Unityさんが再帰って言うか turns()の解決が出来ないから、そう言うコードを書くなって ちゃんと言ってるだろ 人の2chの使い方突っ込む前に、自分のunityの使い方を学びなよ その自身の設計が間違って無いって猛烈な自信はどっから沸いて来てるの?
230 名前:名前は開発中のものです。 mailto:sage [2013/07/21(日) 22:42:10.92 ID:O4y3qBSO] >>228 > 再帰が使えない可能性も疑いましたが、ネットで調べてみてそのような話は見かけませんでした。 残念ながらUnityは、ディープな話に関しては日本語の情報がまだまだ少ない unityscript recursion辺りでググれば出るんじゃない?
231 名前:名前は開発中のものです。 mailto:sage [2013/07/21(日) 22:54:53.59 ID:e6Q14lTp] >>229 >turns()の解決が出来ないから、そう言うコードを書くな turns()の中でturns()を呼ばなければエラーが出ないので、 なんとなく再帰呼び出しを疑ってみただけです。 >人の2chの使い方突っ込む前に 軽い気持ちで書いてしまってどうもすいませんでした。 >その自身の設計が間違って無いって猛烈な自信はどっから沸いて来てるの? 間違ってないっていう自信はないです。 移植もとがうまくいっても移植先でうまくいかない経験は何度もしています・・・; 今もturns()のなかでturns()を呼び出さずに実行させてみたら、配列の範囲外にアクセスしようとしていたエラーが1つ見つかりました。 あとはエラーは出ませんでしたが思ったところで処理が止まらないバグが見つかりました。 すべてを試す前に投げてしまってすいませんでした・・・
232 名前:名前は開発中のものです。 mailto:sage [2013/07/21(日) 23:14:18.33 ID:RN7Vswj9] >>231 turnsの呼び出しじゃなくて yield WaitForSeconds を削ったらうまくいきませんか?
233 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 01:22:43.63 ID:0n1C9rMd] function turnsの定義の戻り値をvoid指定して定義を他の呼び出しよりも先にしても駄目か? function turns(): void {にして、コードをもっと若い行に移動
234 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 01:29:21.30 ID:0n1C9rMd] 見直したらyield WaitForSeconds(ほげ)が原因っぽいなー それよりも普通に未定義変数が入っててコンパイルできないのもアレだわ
235 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 16:08:07.90 ID:k2lefDgM] >>232 >>234 turns()内のyield WaitForSecondsをコメントアウトしてみましたが、それでも同じエラーが出ました。 >>233 turns()の戻り値にvoidを指定してみたところ、 「Assets/Script/sinkeisuijaku.js(143,18): BCE0101: Return type 'void' cannot be used on a generator. Did you mean 'IEnumerator'? You can also use 'System.Collections.IEnumerable' or 'object'.」 と言われてしまい、どうやらvoidは使えずIEnumerableかobjectじゃないといけないみたいです。 (Document Outline見る限りUpdateやOnGUIなどはvoidらしいんですけどね・・・ 宣言しなければturns()もvoidのようですし・・・) そこで、わけもわからずですがStartと同じようにIEnumeratorに(エラー文が行っている方と違ってますね・・・;)を宣言してみると、 turns()の呼び出し位置そのままにエラーが出ることなく思った動作(カードめくって同じカードか判断したり、必要に応じてターンを切り替えたりなど)ができました。 また、書いてある通りの型―何も返すつもりはないのでobjectにはせずIEnumerableにると、エラーは出なかったもののそろってなかったときに戻すという動作が進みませんでした。 IEnumerableやIEnumeratorは知らなかったので、これから自分で調べてみようと思います。 そもそもfunction 関数名():型名で戻り値の型宣言ができること自体知りませんでした・・・; >>234 コンピュータの動作はまだ特に記述していませんが、関数自体は一応定義はしています。 呼び出されても何もしないものですけど。 呼び出されても何もしない関数を呼び出したということではエラーは出ていません。 戻り値の型宣言してエラーが出なくなってからも問題なく実行できています。 こんな私の質問に答えてくださってどうもありがとうございました。 ファイルの方は削除させてもらいました。
236 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 19:39:07.08 ID:/+YxDx6R] プログラムでCubeの個々の面に画像を貼り付けると言うことをやりたいのですが、 どうにかして作成する手段はないでしょうか?
237 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 19:56:27.40 ID:6KvB3EWw!] >>236 ランタイム時に画像変えたいって事? キューブの各面を独立した四角ポリゴンで作って、 スクリプトでマテリアルを変えれば可能だけど。
238 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 22:08:40.87 ID:/+YxDx6R] 囲うように付けるのがやっぱ簡単なんですね。 1オブジェクトだけで出来たら、ソースも管理しやすいのに、 そういう機能作ろうとする人って少いのかな
239 名前:名前は開発中のものです。 mailto:sage [2013/07/22(月) 23:28:57.61 ID:MWEehSx/] キューブもキャラクターもモデルのオブジェクトというくくりでは同じなので そう考えると、そのうちの指定した1面だけ切り替えるってあんまり需要がないと思う。 初心者はたしかにキューブとかから入るからわからないでもないけど、普通はただのキューブは余り使われないと思う。
240 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 01:50:34.86 ID:9kLZJ27e] モデルの幅などを取得するスクリプトはありませんでしょうか? キューブなどならはじめに生成したときUnity上で1mになると思うので そのままscaleからとってくれば幅を知ることができると思います。 ですがAsset Storeなどからimportしたモデルの幅をUnity上のワールドの幅で知ろうとするにはどうすればいいのでしょうか?
241 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 02:43:34.15 ID:FYcMuT1P] あるよ。
242 名前:名前は開発中のものです。 [2013/07/23(火) 06:31:33.24 ID:Doq68ah3] どうすればいいでしょうか、という質問に対して「あるよ。」と答えるアホ現る
243 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 06:37:27.89 ID:3rPJRvB1] >>222 ひろみさん(3人子持ち)か・・・
244 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 10:14:25.00 ID:SIy5//fq] Terreinに自作の木をつかいたいんだがよー 短小な俺にはチンプンだぜちくしょー どっかに短小でもわかる解説があれば教えてくれよー たのむぜビッグマグナム!
245 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 10:50:16.23 ID:FYcMuT1P] ないない。
246 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 11:25:26.94 ID:TLq+Yje1] >>240 これ使えばいいよ 俺も質問する事があると思うので答えてね docs-jp.unity3d.com/Documentation/ScriptReference/Mesh-bounds.html
247 名前:名前は開発中のものです。 mailto:sage [2013/07/23(火) 12:27:31.93 ID:bE+FYE9l] タイピングゲームを作りたいと思っています。 Input.GetKeyDown()で特定のキーが押されたかどうかを調べることができますが、 アルファベットだけで26文字あるので、それぞれについてif文を書くのは長くなるし面倒です。 入力されるであろうキーの情報を配列で持って置くなりすればif文を26個書いたりしなくてすむでしょうけど。 Input.AnyKey()だと不特定のキーが押されたときに反応しますが、何が押されたかを調べる方法を知りません。 キー判定をするには、それぞれのキーについて押されたかどうかを調べるしかないのでしょうか? 何かが押されたのを検知し、実際に何が押されたかを調べる方法があったりするでしょうか?
248 名前:240 mailto:sage [2013/07/23(火) 13:00:03.74 ID:9kLZJ27e] >>246 こんな関数があるんですね! 参考になりました。ありがとうございます。 自分の分かる範囲であれば、力になりたいと思います。