[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/09 16:13 / Filesize : 271 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

【3Dゲームエンジン】Unity質問スレッド29



1 名前:名前は開発中のものです。 [2017/05/20(土) 22:21:02.39 ID:aiIGxq6k.net]
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

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

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
unity3d.com/jp
・マニュアル
 docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
 unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 unity3d.com/jp/unity/faq
・MSDN
 msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

前スレ
【3Dゲームエンジン】Unity質問スレッド28
echo.2ch.net/test/read.cgi/gamedev/1481636092/

299 名前:名前は開発中のものです。 [2017/06/13(火) 15:19:56.45 ID:K7hS8obO.net]
答えもう出てんじゃん
結局レスバトルしたいだけかよ

300 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 15:27:34.13 ID:RBVUwNqO.net]
>>291
それはアセットを買わないとだめですよ

301 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 15:38:36.05 ID:wVX+DJAY.net]
>>291
Unityが何してるかわからんからこんなアホな言葉が出てくる
アホはだまってアセット買っとけば幸せになれるよ

302 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 16:10:33.73 ID:6ha24yIF.net]
質問です。
同じ機種の2台のWebカメラの映像をWebCamTextureを使用して表示したいのですが、うまくいきません。
調べたところUnityでは同じ種類のWebカメラは1つしか使えないのですが、どうにかなりませんか?

303 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 17:15:19.22 ID:TAKEhRNn.net]
アセット買えばいいとか言ってる奴が多いけど
アセット買って全自動で問題解決なんてならないぞ
このケースは
具体的に何を買えばできるっていうんだ?

Unity標準機能でできることなんだからアセット買っても解決しない
単純にプログラミングスキルが低いせい

304 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 17:16:53.65 ID:AbTFsUsw.net]
アセットを買えば分かると思いますよ

305 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 18:03:14.78 ID:lzbnvdMV.net]
>>292
じゃあお前はメッシュコライダ以外使うなよw

306 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 18:22:37.14 ID:zfyIvA2/.net]
https://docs.unity3d.com/ScriptReference/MeshCollider.html

Colliderはboundsプロパティを持ってることを考えたら、その程度の高速化はすでに内部処理でやってると思うんだが
返って遅くするだけ

307 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 18:22:42.87 ID:YhT28W0H.net]
いかにも低能ニートって感じの煽りだな



308 名前:名前は開発中のものです。 [2017/06/13(火) 18:28:57.71 ID:K7hS8obO.net]
次スレからワッチョイ入れるか

309 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 22:18:53.18 ID:zSkxxv6I.net]
今から入れろよボケ

310 名前:276 [2017/06/13(火) 22:52:11.91 ID:AdsyBo0X.net]
>>280
元から平面ポリゴンでやってるのですが、トリガーにした時点で実際にポリゴンのない余白部分までもがあたり判定の範囲に含まれてしまいます。
川ポリゴンをterrainで作った溝の中に埋め込んでポリゴンのない部分にはプレイヤーが入れないようにするなどで
対処するしかないのかなぁ

311 名前:273 [2017/06/13(火) 22:53:59.21 ID:AdsyBo0X.net]
レス版間違えたので再投稿ですw汚しちゃってすいません

>>277
元から平面ポリゴンでやってるのですが、トリガーにした時点で実際にポリゴンのない余白部分までもがあたり判定の範囲に含まれてしまいます。
川ポリゴンをterrainで作った溝の中に埋め込んでポリゴンのない部分にはプレイヤーが入れないようにするなどで
対処するしかないのかなぁ

312 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 22:58:59.23 ID:zfyIvA2/.net]
>>305
MeshColliderのConvexプロパティはどうなってます?
true?

313 名前:名前は開発中のものです。 [2017/06/13(火) 23:26:13.82 ID:AdsyBo0X.net]
>>306
trueです。
というか、MeshColliderのisTrigerをtrueにしたいならConvexをtrueにしないと
isTrigerのチェックボックスが解放されませんよね

314 名前:名前は開発中のものです。 mailto:sage [2017/06/13(火) 23:52:35.63 ID:zfyIvA2/.net]
>>307
あ、そうなんだ
MeshColliderの経験少ないから知らなかった
軽く調べたらMeshCollider側で制約を回避するのは難しそうだね
川のMeshCollider側のIsTrigger&Convexはfalseにして、プレイヤー側のColliderで工夫したほうがいいのかも
プレイヤー側のColliderは簡単な形なのかな?
プレイヤー側で工夫したほうが楽チンな気がする
ただの勘だけど

315 名前:名前は開発中のものです。 [2017/06/14(水) 00:07:37.13 ID:KLD2ljQF.net]
>>308
アドバイスありがとうございます
色々試してみます

実際にunity使ってみると仕様上かゆいところに手が届かないというか、もどかしい部分がいくつか出てきますね。
パフォーマンス優先してこういう仕様になってるんだろうけど

316 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 01:20:45.16 ID:aj4pCFI6.net]
MeshColliderでConvex有効にしないとOnTriggerEnter取れないのは5.xから
physicsはNVIDIA PhysX SDKに丸投げだから、PhysX SDKのver違いによる
仕様変更の可能性はある

PhysX SDKは開発者泣かせなSDKだからPhysXが原因でも不思議はないかなと思う

317 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 02:33:52.50 ID:1sRsdZ3W.net]
>>309
こ、これは乙じゃなくてConvexなんだからね
www.dotup.org/uploda/www.dotup.org1281526.png

DCCソフト側でキューブを並べておいたらConvex入れても変形はしないみたい
Unityでやるよりちょっとマシ程度だけど、手間はどっちでやっても大差ないかもね



318 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 02:39:49.10 ID:26YMgC2v.net]
>>309
もう、アセットを買えばいいと思いますよ、そのレベルじゃ

319 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 03:32:22.45 ID:lWyAf2s4.net]
そのもどかしさわかるわー
MeshCollider + Rigidbody の組み合わせも CoverX=true強制になっててふざけんな状態だし
選択肢として可能にしておいてほしいもんだ
処理落ちどうのはこっちでカバーするし

320 名前:名前は開発中のものです。 [2017/06/14(水) 03:34:49.78 ID:+ijmGWca.net]
>>311
それだと変形しないんですね

自分でアセットストアから小物(野菜とか)のメッシュデータ落としてconvexつけてみたんですが、やはり川の時と同じように変形してしまいます。
何が違うのかな...

321 名前:名前は開発中のものです。 [2017/06/14(水) 07:15:07.65 ID:haEDSL54.net]
public static class GameObjectExtensions
{
public static void transformM(this Transform t){ 処理 }
}
void Start () {
gameObject.transformM (gameObject.GetComponent<Transform>());
}

このコードだとエラーになるんですが、Transform型の引数ってどうやって渡せばいいんですか?

322 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 09:22:06.14 ID:B7+VHkXF.net]
>>315
スクリプトが割り当てられたゲームオブジェクトなら
transformで取得できるよ
関係ないゲームオブジェクトなら
GameObject.Find("ゲームオブジェクト名").transform

あとMonoBehaviourを継承してないとStart()は呼び出されない。

public class Test : MonoBehaviour {
void Start () {
ChangeTransName(transform);
StaticTest.ChangeTransName(transform);
}

void ChangeTransName(Transform t) {
t.name = "ttt";
}
}

public static class StaticTest {
public static void ChangeTransName(Transform t) {
t.name = "test";
}
}

323 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 10:05:33.54 ID:26YMgC2v.net]
>>315
アセットを買えばいいと思いますが

324 名前:名前は開発中のものです。 [2017/06/14(水) 13:44:33.17 ID:haEDSL54.net]
>>316
出来ました。ありがとうございます。

325 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 14:21:39.03 ID:ip2y4rWT.net]
>>315
拡張メソッドの話ではなかったみたいだが一応拡張メソッドの話を書いておこう
拡張メソッドのthis修飾子が付いた第1引数は呼び出し元のオブジェクトのように指定する
これはコンパイル時にstaticメソッドの呼び出しとして展開される

>>315のコードなら呼び出しは以下が正しい。
gameObject.transform.transformM ();

ただまあGameObjectExtensionsという名前に反してTransformを拡張してるとかツッコミどころは多い

326 名前:名前は開発中のものです。 [2017/06/14(水) 19:17:17.67 ID:7PoPt8+e.net]
UNITYってC#とJavaScriptで記述するって言われたけど
JavaScriptどんな時必要になるの?

327 名前:名前は開発中のものです。 [2017/06/14(水) 19:19:42.12 ID:S/j3wJfD.net]
C#分からないやつが使うとき・・・・。



328 名前:名前は開発中のものです。 [2017/06/14(水) 19:26:51.44 ID:7PoPt8+e.net]
>>321
じゃあC#だけでいいのか

329 名前:名無し@キムチ [2017/06/14(水) 20:16:58.67 ID:1f23pPXc.net]
本日は晴天なり

330 名前:名無し@キムチ [2017/06/14(水) 20:20:50.84 ID:1f23pPXc.net]
あ、書き込めました。
しばらく書き込めない期間が続いていたので、ちょっとテストしてみました。ごめんなさい。
えっと初歩的な質問ですが、モノビヘイビアのスタート関数には行数制限があるのですか?
何か下のほうの行に書くと、その処理は無視されるみたいで、コピペして上のほうに持ってくるとちゃんと処理してくれるのですか?
これはいかなる理由に基づく現象なのでしょうか?

331 名前:名無し@キムチ [2017/06/14(水) 20:41:49.68 ID:1f23pPXc.net]
これが主人公につけた当方のスタート関数です。

// Use this for initialization
void Start()
{
・・・長すぎるため省略・・・
MainCam = GameObject.Find("MainCamera(2)");
SubCam = GameObject.Find("Camera(2)");

animator1 = GetComponent<Animator>();
audioSources = GetComponents<AudioSource>();
sound01 = audioSources[0];
sound02 = audioSources[1];
sound03 = audioSources[2];
sound04 = audioSources[3];
sound05 = audioSources[4];
//sound06 = audioSources[5];
particle = GetComponent<ParticleSystem>();
MainCam.SetActive(false);
SubCam.SetActive(true);
InfoBox.SetActive(false);
・・・長すぎるため省略・・・ }

この関数 InfoBox.SetActive(false);のところまでしか処理されません。
それはsound06 = audioSources[5];を消しているからで、
この//sound06 = audioSources[5];をつけるとInfoBox.SetActive(false);も処理されなくなってしまいます。
行数にすると24行目までしか処理されないようです。
Unityの規約にスタート関数は24行までという規約でもあるのですか?
当方理由がわからず途方にくれています。
よろしくお願いします。

332 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 20:52:09.23 ID:akYjCxEY.net]
>>325
24行目までしか実行されないというのはどうやって確かめました?
デバッガでステップ実行?

333 名前:名無し@キムチ [2017/06/14(水) 20:55:15.55 ID:1f23pPXc.net]
>>326
目視です。実際やってみて、それより下の処理が実行されてないことを確かめました。

334 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 21:09:30.23 ID:Y03yzoRK.net]
目視ってなんや?

335 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 21:22:32.25 ID:nxSO0imy.net]
処理されないなら、エラーコード出てないか?

336 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 21:24:09.50 ID:nxSO0imy.net]
あと、変数は、static連発してないよな?

337 名前:名無し@キムチ [2017/06/14(水) 21:45:43.56 ID:1f23pPXc.net]
>>329
エラーコードのようなものは出てないと思いますが、ワーニングのようなものはいくつか出ています。
>>330
変数38コのうち、public static にしているのは15コです。これは多いほうですか?普通ですか?



338 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 21:49:57.81 ID:nxSO0imy.net]
管理できてれば多い少ないはないよ。
スタートの中身全部コメントアウトして実行。
問題ないなら順にコメントアウトを外してみる。

339 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 21:55:46.14 ID:7PoPt8+e.net]
開発何でしてる?VS?JET?それ以外?

340 名前:名無し@キムチ [2017/06/14(水) 22:02:08.64 ID:1f23pPXc.net]
>>333
VS、JETのような言葉は当方見当がつきません。
開発はUnityで行っておりますが、これは質問の趣旨から外れた答えかもしれませんね…。

341 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 22:32:59.80 ID:ytlS3weq.net]
コードを書くときは、どれを使ってるの?って話だろ

342 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 22:35:27.18 ID:zWmihP7B.net]
ギャグじゃないとしたらリアクションに困る

343 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 22:37:17.42 ID:Y03yzoRK.net]
>>334
コーディングは どのソフトで やっていますか?

344 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 23:01:08.86 ID:nxSO0imy.net]
monodeveropじゃないの?

345 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 23:03:44.62 ID:Y03yzoRK.net]
ガイジか?

346 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 23:12:53.05 ID:VAdMibFx.net]
ガイジってどこのソフト?

347 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 23:15:59.03 ID:FVm03s/+.net]
winだと普通はVisualStudioだっけ?
macだとMonoDevelop
JETってJetBrainsのことかね?
しかしそれ聞いてどうする気だよデバッグ1から説明する気かねおまえら
と思わなくもない

単に
AudioSource[] audioSources = new AudioSource[5];
なんて宣言してて実行できてないって意味かなとちらっと思ったがどうですかね
5を6にしてだな・・・なんつて



348 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 23:16:46.70 ID:MFhtxVgH.net]
>>325
エスパーするならInfoBoxがnullかつaudioSource[]の長さが5とかじゃない?

349 名前:名前は開発中のものです。 mailto:sage [2017/06/14(水) 23:28:55.17 ID:FVm03s/+.net]
そんなオチを聞いてすっきりしたいもんだね

350 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 00:28:06.44 ID:dj3hkIbE.net]
>>340
ガイジとは、身体及び発達、精神、知的障害児(しょうがいじ)の略である。
(中略)見るに堪えない振る舞いをする人を、障害者に喩えて非難する意図で使われる蔑称のひとつである。

351 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 00:33:35.91 ID:Jh8sWOac.net]
>>344
ガイジ乙

352 名前:名前は開発中のものです。 [2017/06/15(木) 00:40:13.93 ID:ev6fHGrU.net]
>>333
Unity

353 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 00:46:37.23 ID:iUoohVv9.net]
何だろう滅茶苦茶平静さを失った奴がいるような気がするな

354 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 01:39:28.18 ID:Jn7H48Sn.net]
>>325
Start()内で処理がおかしくなるとき
処理されない行以降を別メソッドに分けて、
Invokeとかで遅延させるとうまくいく時がある。
他のスクリプトのStart()と処理の順番が原因?

355 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 02:16:35.65 ID:ubmL8zA0.net]
全部コード見せてくれませんか?

356 名前:名前は開発中のものです。 [2017/06/15(木) 02:18:11.24 ID:ev6fHGrU.net]
嫌です

357 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 02:24:24.64 ID:ubmL8zA0.net]
ほかの方が言ってる通り、コンパイルエラーが出てない限りそこの部分に
関しては正常だと思われます。

競合する処理などが別にある可能性があるので、いったん新規のプロジェクトなり、
シーンをつくり、該当の処理と必要なものだけ並べた状態で実行してみるといいかと



358 名前:名前は開発中のものです。 [2017/06/15(木) 02:31:22.85 ID:ev6fHGrU.net]
嫌ですって

359 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 02:38:29.49 ID:OJpX7+2n.net]
Assetsフォルダごと消せば足りないオツムで悩まなくて済む
どうせ出来ないんだから大して変わらないよ

360 名前:名前は開発中のものです。 [2017/06/15(木) 02:46:34.34 ID:ev6fHGrU.net]
いやって

361 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 07:55:14.51 ID:giY9RcgE.net]
>>351
ああ、そうだな。
そもそもの質問への回答でよかったんだよ。
行数制限はない。以上。

362 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 10:36:16.43 ID:5kTAyMiT.net]
アセット買えば?

363 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 12:15:04.10 ID:KqkrJRcr.net]
>>325
infoboxがもとから非アクティブ状態になってて
Findメソッドでサーチ出来ず実行時エラーでも起きてんじゃね

364 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 19:23:10.48 ID:+5V2K+/A.net]
初心者用の質問スレが見当たりませんでしたのでこちらでお聞きします。
簡単な通路(背景)とキャラを作成しておりまして、背景のライトマップの為に用意した
ライトをそのままキャラを照らすのにも流用できたらと思い、ライトのモードを
「Baked」から「Realtime」に変更したんですが、キャラを照らすことができなくて
困っておりまして・・・。
これってやっぱキャラ用に別途ライトを作成する必要があるってことなんでしょうか?

365 名前:名無し@キムチ [2017/06/15(木) 19:31:09.30 ID:HLTN1pmO.net]
あ、それでしたら開発はVisualStudioです。
えーと、みなさま、いろいろと回答ありがとうございます。
ですが、みなさまの回答ではどうも解決できないようです。
えーと、考えてみますに、やはりスタート関数の下のほうに書くとまずいのではないか?と思い直しました。
というのはスタートの下のほうに処理が写る前にシーンが起動してしまうと、以下の処理には実行が移らないはずで、起動してしまったらアップデート関数に処理が写ってしまうのではないか?と思った次第です。
それで処理されないスタート関数の下のほうのコードをコピペで、アップデート関数のほうに移したら大丈夫なのではないか?と思ったので、試してみます。

366 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 19:36:01.15 ID:WMhBIdhV.net]
お前の質問じゃ誰も解決できねーよ
エンジニアやめろ

367 名前:名無し@キムチ [2017/06/15(木) 19:39:46.42 ID:HLTN1pmO.net]
>>357
いいえ、それは違います。
infoboxをコピペで上のほうの行に移すとちゃんとfalseが有効になっていてキーを押した時にしか出ないんです。
ですが下のほうに書くと何故かfalseが無効になって、初めから出てしまうんです。
これは音声についても同じで上に書くとすとちゃんとfalseが有効になって音を出したい時にだけ出るんです。
でも下に書くと初めからBGMが出てしまうんです。



368 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 20:06:25.57 ID:MqJWwv/e.net]
検討違いも甚だしいけどヤル気はあるようだからトライ&エラーを繰り返すがいいよ

369 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 20:07:03.87 ID:ev6fHGrU.net]
>>359
とりあえず、アセット買えばいいんじゃない?

370 名前:名無し@キムチ [2017/06/15(木) 20:21:57.53 ID:HLTN1pmO.net]
とりあえずアセットに付属しているスクリプトが邪魔をしているのでは?と予測して全部削除しましたが、それでは直りませんでしたw

371 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:32:36.51 ID:ev6fHGrU.net]
>>364
じゃあ、アセット買えばいいと思いますよ

372 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:42:08.02 ID:MqJWwv/e.net]
デバッガの使い方を覚えようね
まずはステップ実行してみなさい

halcyonsystemblog.blog.fc2.com/blog-entry-351.html

373 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:47:40.04 ID:u6BBn+XE.net]
24行縛りなんか聞いた事ないし、だとしたら他のスクリプトがそのスクリプトかオブジェクトを消去してるかだ。
とにかく、そのソースだけじゃアドバイスはエスパでない限りほぼ無理っぽいので、ステップ実行で見てくださいな。

374 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:48:02.81 ID:WMhBIdhV.net]
キムチはスルーでいいよ

375 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:49:43.66 ID:MqJWwv/e.net]
中韓差別なんていつまで中世なんだよ頭ん中まだ江戸&明治か

376 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:52:44.86 ID:WMhBIdhV.net]
あ?
その半コテいっつも人の話聞かねーしトンチンカンなことばっかやってんだろ
人種じゃなくて

377 名前:っここに居着いてるクソコテに対して言ってんだよ []
[ここ壊れてます]



378 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:57:55.58 ID:MqJWwv/e.net]
>>370
あぁ名前欄気づいてなかったスマンな
何にしろ賑わいやから無視なんて哀しいこと言うなよ
煽って楽しみなw

379 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 23:08:28.32 ID:tbjN2528.net]
キムチが孔明の罠に引っ掛かり過ぎてどうしたらいいのか分からないw

380 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 23:14:40.89 ID:GyFtPUJw.net]
実はコルーチンで動かしてて、他のスレッドでオールストップしてるとか言うオチだったりね

381 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 23:32:05.77 ID:wF9Ns+99.net]
「俺は間違っていない!プログラムか仕様がおかしいんだ!」と思い込むのは初心者の時だれもが通る道だな
昔は誰にも聞けず自力で何とかするしかなかったんだし
分かりやすく質問できないのなら、あとは本人が頑張るしかないだろうね

382 名前:名前は開発中のものです。 [2017/06/15(木) 23:48:11.83 ID:vA8D14AN.net]
IEnumerator coroutine;
void Start ()
{
coroutine = Sample2 (10, 0.5f);
StartCoroutine (Sample1 ());
StartCoroutine (coroutine);
}
void Update ()
{
if (Input.GetKeyDown (KeyCode.Space)) {
StopCoroutine (Sample1 ());
}
if (Input.GetKey (KeyCode.Alpha1)) {
StopCoroutine (coroutine);
}
}
IEnumerator Sample1 ()
{
for (int i = 0; i < 100; i++) {
Debug.Log ("Sample1:" + i);
yield return new WaitForSeconds (0.5f);
}
}
IEnumerator Sample2 (int num, float interval)
{
for (int i = 0; i < num; i++) {
Debug.Log ("Sample2:" + i);
yield return new WaitForSeconds (interval);
}
}
サイトに載ってあったのをちょっといじったんですが、Sample1()がスペースを押しても止まりません。
どなたか回答宜しくお願いいたします。

383 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 00:58:31.25 ID:NRISneYy.net]
StopCoroutine("Sample1"); //止まる
StopCoroutine(Sample1()); //止まらない

理由は知らない

384 名前:名前は開発中のものです。 [2017/06/16(金) 01:16:37.99 ID:VwSQ55H3.net]
>>376
""派に改宗します。ありがとうございました。

385 名前:名前は開発中のものです。 [2017/06/16(金) 03:50:00.92 ID:BRMMaX+I.net]
素材が少なくて困ってるんですけどどうすればいいですか?

386 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 04:41:11.65 ID:mGgG4nl1.net]
自分で作れ

387 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 05:12:23.54 ID:0lsJXiZf.net]
素材の作成を依頼すればいいと思いますよ



388 名前:名前は開発中のものです。 [2017/06/16(金) 06:33:25.02 ID:Gpp7Q59K.net]
>>378
アセッてはいけません

389 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 08:17:36.16 ID:E6JM4SWs.net]
>>375-376
インスタンスを意識してない初心者にありがちなミスだが、
StartCoroutine (Sample1 ());
StopCoroutine (Sample1 ());
止まらないのはこの2つの引数に渡されてるIEnumeratorインスタンスが別物だからだな。

文字列引数はコルーチンに引数がひとつしか渡せない、リフレクションしてるのでオーバーヘッドが大きいなどの点でインスタンスを渡すより劣る。
また他の問題として文字列引数はタイプミスしてても実行時エラーになるまでミスが検出出来ない、リファクタリングでメソッド名変えたら引数を書き換えなきゃならないなどメンテナンス性が悪い。

Coroutine coroutine1 = StartCoroutine (Sample1());
StopCoroutine (coroutine1);

または

IEnumerator sample1 = Sample1 ();
StartCoroutine (sample1);
StopCoroutine (sample1);

とすればちゃんと止まる。
遅い、不便、ミスしやすいの3拍子揃った文字列引数は、実行時に呼び出すメソッド名文字列を生成するなどの無茶をしなければ必要ない。

390 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 10:10:27.55 ID:mGgG4nl1.net]
その文を理解するには

インスタンス
リフレクション
オーバーヘッド
リファクタリング
メソッド名

の5つを質問者が理解している必要があり
コルーチンはたぶん理解してると思われるが

391 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 10:39:38.15 ID:E6JM4SWs.net]
>>383
知らない単語をググって習得の機会とするのか
わからないままコードをコピペして満足するか
質問者がどっちを選ぶかはわりとどうでもいい

後者を選んでも問題解決するようにコードは書いてあるしな

392 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 10:48:53.84 ID:O6aBsQlK.net]
ScriptReferenceだとStartCoroutineもStopCoroutineも
IEnumeratorインスタンス作って使えになってんのな

公式tutorialは相変わらず動的コード生成のまんまじゃの
これではなくならん

393 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 16:32:56.58 ID:puc0wwL/.net]
find関数はupdate関数の中で使うなということですが、find関数使わずにどうやってオブジェクトの情報を取得するのでしょうか?

394 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 16:46:44.86 ID:E6JM4SWs.net]
>>386
Awake内でFindしてプロパティに参照を保持
Awake後に動的に生成されるものに関しては、生成されたインスタンス側のAwake内で渡し先をFindして参照を渡すなど

Updateは毎フレーム呼ばれるので毎フレームオブジェクトを探すのは無駄
Find系に比べれば軽いがGetComponent系も同様

395 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 17:36:38.42 ID:puc0wwL/.net]
>>387
わかりやすくありあり。

396 名前:名無し@キムチ [2017/06/16(金) 20:18:06.07 ID:GcEw8KU8.net]
>>366
デバッガというかデバッグ関数はいつも使っています。
ですが役に立った試しがありません。
というのは説明ではコンソールに表示されると書いてあるのですが、
コンソールはプロジェストの右にあるボタンを押すと出てくるウインドウのことですよね?
ですが、例えばDebug.Log("金玉");と書いてそこをいくら探しても何も表示されてないのですが…
当方の探し方が悪いのでしょうか?

397 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 20:43:24.72 ID:QsCI2dtA.net]
スルー推奨



398 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 21:59:31.08 ID:hsu73I1c.net]
>>389
そういうときは「unity Debug.Log 表示されない」ででも検索なさいな
初心者のうち、というか経験積んでも開発環境よりも先にまず自分を疑うのは基本だ

他の質問は割りと素直にアドバイス聞き入れて建設的な解決に向かうのに今回はやけに突っ掛かるね

399 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 22:00:19.70 ID:OyCZvXKK.net]
あらかじめインスペクタでアタッチするのと、AwakeとかでFind&GetCommentのとではどっちが効率いいんだろう






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

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

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