1 名前:名前は開発中のものです。 [2014/03/10(月) 20:41:34.44 ID:xK0J6QXw.net] 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。 Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他 次スレは>>970 を踏んだ方が建てること。ダメなら>>980 か>>990 が建てて下さい。 ■前スレ 【3Dゲームエンジン】Unity質問スレッド7 toro.2ch.net/test/read.cgi/gamedev/1389102625/ ■本スレ 【3Dゲームエンジン】Unity総合スレッド21 toro.2ch.net/test/read.cgi/gamedev/1388200821/ ■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 ←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
113 名前:名前は開発中のものです。 mailto:sage [2014/03/16(日) 21:43:46.87 ID:FeVWz7D2.net] >>111 申し訳ありません、自分のレスを読み返したらすごく言葉足らずでした 2Dのアクションゲームのように 走っている人の横で並走してカメラで撮っているようなイメージなのです なので速度が一定になってない時に一瞬ブレてしまうのかなと思ったのです 分かりにくくてすみません 今一度、値の様子を見てみたいと思います。失礼いたしました
114 名前:名前は開発中のものです。 mailto:sage [2014/03/16(日) 21:58:02.79 ID:XxgxqIAL.net] PlayerがFloor(Cube)の上に立っていた場合、 ジャンプできるようにしたいのですが、 現在は以下のようにしてフラグを立てています。 function OnCollisionEnter (obj : Collision) { if (obj.gameObject.name == "Floor") { isJump = true; } } ただこの場合、Floorの側面に触れている場合でも ジャンプできてしまいます。 Floorの上部に触れている場合のみジャンプさせたいのですが、 どのようにしたらよいでしょうか?
115 名前:名前は開発中のものです。 mailto:sage [2014/03/16(日) 22:27:41.45 ID:XDfZsHLe.net] >>112 プレイヤーの動作→カメラに座標反映→描画ならブレないんじゃね カメラ→プレイヤー→描画になってるかも知れないから 描画順を明示的に指定してみたらいいんじゃね masa795.hatenablog.jp/entry/2013/04/04/100833
116 名前:名前は開発中のものです。 mailto:sage [2014/03/16(日) 23:09:45.41 ID:FeVWz7D2.net] >>114 ありがとうございます。参考にさせて頂きます。 移動中の対象物とカメラの距離の値を確認いたしますと 突然大きな値(5→7など)
117 名前:になることがあり その時に対象物が揺れているように見えていたようです (すぐにまた元の値まで下がります) スクリプトの数式も関係しているかもしれませんので引き続き調べてみます ありがとうございました [] [ここ壊れてます]
118 名前:名前は開発中のものです。 mailto:sage [2014/03/16(日) 23:25:03.49 ID:/edEyusa.net] >>113 Playerのy座標が、Floorのy座標+Floorの高さであれば上に立っているとみなす Floorの高さは Floorのトランスフォーム.GetComponent<MeshFilter>().mesh.bounds.size.y * Floorのトランスフォーム.localScale.y で求められる もしくは、空のゲームオブジェクトを作ってFloorの子にして、 コライダを追加し、そのコライダをFloorのちょうど上部のみに設定するとか
119 名前:名前は開発中のものです。 mailto:sage [2014/03/16(日) 23:42:51.01 ID:RZASdfq4.net] 下にレイ飛ばしとけばいいんじゃないの?w
120 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 01:53:54.96 ID:soW1W3eA.net] NGUIでUILabelシステムフォントを使う際、デフォルトだとArialを設定するしかないですが、 これをシステムのデフォルトフォント(iPhoneだとヒラギノ角ゴ ProN W3、AndroidだとDroidSansFallback)にする方法ってないでしょうか
121 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 01:59:50.31 ID:WFdjJy90.net] >>118 ttps://github.com/imkira/unity-sysfont/tree/unity4x これじゃだめなのか?
122 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 02:39:53.65 ID:bChTRHhW.net] >>110 ない。 4.xからプレファブのネストは廃止された
123 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 03:22:44.62 ID:2jAQ20qR.net] >>88 テキストカラーを表裏で変える件、 丁寧に教えて頂いたおかげでできました、遅れましたがありがとうございます 3DTextが常に前面に表示されることを防ぐシェーダーをスクリプトで呼んでいたのを忘れていたため、 最初動かなくて焦りましたが、それを外すとちゃんと動きました、これちゃんと前後関係もキープ出来て優秀ですね ありがとうです
124 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 10:37:27.51 ID:soW1W3eA.net] >>119 ありがとうございます、 現在これを使ってるんですがComponent毎にDrawCallが増えて割りとカクカク問題に頭を悩ませてる状態でして、 そんな中Unity4xで必要文字だけ1テクスチャに動的レンダでDrawCall抑えてる公式良いじゃんって状態で今試してる状態なのです。 PS 現在はDroidSansFallbackフォントは手に入ったけどiPhoneのヒラギノやHelveticaフォントが手に入らずで、 もうArialで良いんじゃね?、とデフォルトフォントを取得するプラグイン書く?、ともうDroidSansFallbackやヒラギノを直接指定で良いんじゃね? で迷ってる状態です。
125 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 11:13:34.60 ID:9rLNHxFH.net] >>113 一般的にはキャラクターObj自体でコライダしないで、フロアチェック用の小さめの空Objをコライダにするよ。 側面と下面で同じ障害物に対する処理変えるのも簡単だし。
126 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 15:43:59.50 ID:JM7PP3qJ.net] TextArea以外でテキスト入力する方法ってありませんか? TextAreaでも透明にできたらそれでよいのですが、あの見た目は変えれないものでしょうか?
127 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 18:13:19.09 ID:JM7PP3qJ.net] GUIStyle適用で自己解決!と思ったら改行できなくなった なんでやねん
128 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 19:10:43.06 ID:JM7PP3qJ.net] やりたいことできたけどデフォルトのGUISkinいじっちゃった///
129 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 19:27:44.65 ID:WFdjJy90.net] >>124 TextEditor(PC等),TouchScreenKeyboard(mobile)とか何の為にあるのか小一時間
130 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 22:59:24.04 ID:WFdjJy90.net] >>122 別にarielでも良いんじゃ無いの? そこまでデバイスのシステムフォント必須ならWebVie
131 名前:w経由でやれば良いと思うのだけど。 モバイルデバイスのGame上のUIでフォントにこだわるのは解るけど、それがSystem fontってのは解せないよ。 [] [ここ壊れてます]
132 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 23:14:11.60 ID:+s3dED5b.net] OnTriggerEnterとかってrigidbodyコンポーネントがないと正常に動作しないんだっけ
133 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 23:20:55.75 ID:bhO4sSwZ.net] ,,,..-‐‐‐-..,,, /::::::::::::::::::::::::ヽ _,..-‐‐-..,,, l::;;-‐‐-:;;::::::::::::ヽ//-‐,,__ /:::::::::::::::::::::ヽ l:l ヽ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ ヽ / :::::::::::::::::::::::::::::::::::::;-'^~~^'‐;;:l ~ヽ/ ::::::::::::::::::::::::::U::ヽミ .ll / / ̄^ヽ ::::::::::::::::::::::U:::ヽ ,.ノ ∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧ / | ・ .| :/ ̄^ヽ:::::::l'^~ .< ‐/-,, ヽ,_,,ノ | ・ |:::::::l < l ~^'' `‐' ヽ.,_,,ノ :l < | ヽ / ̄ ̄\ '''l^^~~~ / ̄ ̄ヽ -‐‐‐--l- < | ヽ __ | ヽ、 ,,,, | |||!|||i||!| | ~^'‐..,,_/ < / \ |ノ ―――― / / (:::::} | | |ll ll !!.| | ,,,, イ~''' < / \ 丿 アアァァ | l: ~~ | |!! ||ll| || | {:::::) ::l .< ● l: | | ! | l ~~ l < l、 ヽ`ニニ'ノ ,l> V V V V V V V V V V V V V V V V VV V V V V /^‐-,,____,,,,,,,,..................,,,,,,,__,,,.--ヽ ~‐‐'~ ^'‐‐~
134 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 23:31:01.21 ID:+s3dED5b.net] OnTrigger2Dの挙動がおかしいから適当に調べたらなんかバグっぽいな 日本サイトにこれについて言及してるとこなかったから2D機能使ってる人まだ全然いないのかな
135 名前:名前は開発中のものです。 mailto:sage [2014/03/17(月) 23:41:52.92 ID:bhO4sSwZ.net] ,,,..-‐‐‐-..,,, /::::::::::::::::::::::::ヽ _,..-‐‐-..,,, l::;;-‐‐-:;;::::::::::::ヽ//-‐,,__ /:::::::::::::::::::::ヽ l:l ヽ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ ヽ / :::::::::::::::::::::::::::::::::::::;-'^~~^'‐;;:l ~ヽ/ ::::::::::::::::::::::::::U::ヽミ .ll / / ̄^ヽ ::::::::::::::::::::::U:::ヽ ,.ノ ∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧ / | ・ .| :/ ̄^ヽ:::::::l'^~ .< ‐/-,, ヽ,_,,ノ | ・ |:::::::l < l ~^'' `‐' ヽ.,_,,ノ :l < | ヽ / ̄ ̄\ '''l^^~~~ / ̄ ̄ヽ -‐‐‐--l- < | ヽ __ | ヽ、 ,,,, | |||!|||i||!| | ~^'‐..,,_/ < / \ |ノ ―――― / / (:::::} | | |ll ll !!.| | ,,,, イ~''' < / \ 丿 アアァァ | l: ~~ | |!! ||ll| || | {:::::) ::l .< ● l: | | ! | l ~~ l < l、 ヽ`ニニ'ノ ,l> V V V V V V V V V V V V V V V V VV V V V V /^‐-,,____,,,,,,,,..................,,,,,,,__,,,.--ヽ ~‐‐'~ ^'‐‐~
136 名前:名前は開発中のものです。 [2014/03/18(火) 10:35:27.40 ID:n60DNl4U.net] unityで3Dゲームを作成しています。 javaスクリプト初心者です。 以下のような制御をしたいのですが、 上手くいきません。 アドバイスをいただけますでしょうか。 あるキャラクターで 走る(Mot_run)モーションを再生し、 スペースキーを押すと、ジャンプ(Mot_jump)モーションを 再生する。 ジャンプモーション再生後に走るモーションに戻る 下記が、現在書いてみた式に成ります。 function Start () { animation.Play("Mot_run"); if (Input.GetButtonDown("jump")) { animation.Stop("Mot_run"); animation.Play("Mot_jump"); yield WaitForSeconds(1.0); } } すみませんが、 宜しくお願いします。
137 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 10:39:47.20 ID:pDVGxoMo.net] なぜStartに書く
138 名前:名前は開発中のものです。 [2014/03/18(火) 10:47:37.31 ID:n60DNl4U.net] >>134 133です こいうことでしょうか function Start () { animation.Play("Mot_run"); } function Update () { // ジャンプボタン(キーボードではスペースキー)が押されていたら…… // if (Input.touches.length > 0) { if (Input.GetButtonDown("jump")) { animation.Stop("Mot_run"); animation.Play("Mot_jump"); // yield WaitForSeconds(2.0); } }
139 名前:名前は開発中のものです。 [2014/03/18(火) 10:48:31.64 ID:n60DNl4U.net] 133です //は無視してください。。。
140 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 11:00:24.42 ID:rKb58tri.net] キーを話したら戻すコードがどこにもみつからないようだ… あと、最近はキー入力や位置やコリジョンでステートを変えて、メカニムでアニメ制御するのが主流だよ
141 名前:名前は開発中のものです。 [2014/03/18(火) 11:01:34.53 ID:n60DNl4U.net] 133です 下記の式で、ジャンプ出来るようになしましたが、 ジャンプモーション再生後に Mot_runに戻るには、どう書いたらよいでしょうか? function Start () { animation.Play("Mot_run"); } function Update () { if (Input.GetButtonDown("Jump")) { animation.Stop("Mot_run"); animation.Play("Mot_jump"); } }
142 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 11:05:26.38 ID:rKb58tri.net] ヒント: ジャンプ中フラグ
143 名前:名前は開発中のものです。 [2014/03/18(火) 11:06:48.48 ID:n60DNl4U.net] 133です メカニムの制御が上手くいかず 簡単な動作なので、javaで書けないかなと模索したしだいです。
144 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 11:22:12.68 ID:/owfhMDy.net] こんなところか? jsは普段使ってないのでどうもよくわからなくなる #pragma strict var jumpflg=false; function Update () { if(jumpflg==false){ animation.Play("Mot_run"); if(Input.GetButtonDown("Jump")){ jumpflg=true; StartCoroutine("Jumping"); } } } function Jumping(){ animation.Play("Mot_jump"); yield WaitForSeconds(1.0); jumpflg=false; } ボタンダウンの名前はJumpかjumpかは環境によるからあれかも
145 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 11:28:46.88 ID:/owfhMDy.net] レガシーでの他のやり方を試してる人もいた ttp://ameblo.jp/knors/entry-11152990897.html まぁ色んな書き方がありえるやね
146 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 13:59:33.53 ID:BE05TWya.net] おまえらBasicからはじめろ マジでw
147 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 14:38:21.08 ID:H1iZhyNC.net] >>127 こういうのあるんですね 自己解決後でしたがありがとう gamesonytablet.blogspot.jp/2013/09/unity-tips-25-textareatextfieldgetset.html
148 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 14:56:27.76 ID:4jfRt3Wk.net] >>141 キャラのアニメーションはメカニムでやった方が楽だと思うよ。 ググるか>>3 の1番上の本買えばいい。 javaもcも微妙に書式が違うだけだから、解説本のソース程度なら言語違っても中学生でも変換できる。
149 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 17:29:08.67 ID:rKb58tri.net] Unity5が明日からプレオーダー開始って、これ本当? www.joystiq.com/2014/03/17/unity-5-revealed-includes-improved-lighting-audio/
150 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 19:00:55.08 ID:pXoYNSqV.net] え、昨日NGUI買ったんだけどタイミング悪すぎた?
151 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 19:21:48.23 ID:oxPpYWWq.net] 何か素晴らしい新機能でもついてるのか?
152 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 19:26:23.18 ID:rKb58tri.net] ああDevDayで発表してるのか。 いろんな所で記事になってるからUnity5がすぐ来るのは本当らしいや。 こんだけメジャーアップが早いと、Proの更新タイミング難しいな。 venturebeat.com/2014/03/17/unity-technologies-unveils-next-version-of-its-game-development-engine-to-make-thousands-of-3d-games-more-realistic/
153 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 20:09:56.86 ID:p9/r2rsO.net] 英語がわからないせいで諸々の規約などがチンプンカンプンなのですがどうしたらいいでしょうか? web翻訳を利用しようかと最初は思っていたのですが、細かい部分を誤解していたりすると 途上での製作中止やトラブルに巻き込まれたりしそうで二の足を踏んでいます
154 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 20:13:23.76 ID:QbLk1yXx.net] >>150 それはunity Japanのセールス担当にメールしてみた方がいいよ 回答のレポヨロ
155 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 22:37:00.29 ID:YmT1wzFE.net] たいした進化もせずバージョンだけ上がっていくな
156 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 23:26:40.30 ID:P/D14p+m.net] 広く浅く金をしぼろうと思っていたけど、思っていたより広さが確保できなかったから 深く金をしぼろうとし始めているのか……? これでさらにユーザーが離れた場合、半年に一回メジャーバージョンアップするようになる? firefoxが一時期毎月メジャーバージョンアップしてたけど、Unityも……w
157 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 23:51:56.37 ID:hcNoBiy2.net] Adobeは2年、Autodeskは毎年バージョンアップして市場を独占してるから Unityもその道を行くのかな
158 名前:名前は開発中のものです。 mailto:sage [2014/03/18(火) 23:55:58.34 ID:BE05TWya.net] そしてアセットでチョンが稼ぐ ここの底辺どもは売国奴 底辺で売国奴ってひどくね?w
159 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 01:18:02.78 ID:2G6YNL7a.net] >>145 いや単に質問者のやりたかったであろうことを書いただけで 別に自分でそういうやりかたでアニメーション制御を しようと思っている訳ではないw メカニムは悪くないがスタイリッシュな手付けアニメーションには 使えんよな〜。ルートの動作を無視するのはそれはそれで 都合悪い面もあって現状どうにも扱い辛いという感じ。 配布してるメカニム用のデータ使って手早く作りたい場合には すごくいいけどね
160 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 01:41:01.37 ID:wDPoGAy0.net] そう、便利機能使ってると細かく制御したい場合とかにやたら制限があって使えねーんだよな スクリプトから触れない部分がある分、全部スクリプトからやるしか無い
161 名前:Animationの方がまだ マシに思える FootIKとかLocomotionとか言ってるからフットプレースメント自動でやってくれるのかと思ったら IKどころかLookAtもProのみ、しかも自分で実装しろだし 触る前からなんとなくそうじゃないかと思ってたけど、方向性がコレだとバージョンアップに期待 持てないな [] [ここ壊れてます]
162 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 02:02:08.05 ID:VG97fKdy.net] 今UnityのPro版を買ったら、Unity5が出た時にまた15万必要になるの?
163 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 02:29:36.86 ID:2G6YNL7a.net] 今買えば5のProも使える、んじゃないかな
164 名前:名前は開発中のものです。 [2014/03/19(水) 02:47:34.16 ID:SDSqNHTe.net] Unity使うときの言語ってみなさん何使ってます? やっぱりC#? そもそもJavaScriptでファイル入出力とかネットワークとかって実装されてるんですか?
165 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 02:51:22.35 ID:slHDE+1D.net] >>160 Boo一択
166 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 06:03:40.27 ID:2G6YNL7a.net] どうせ中間言語に変換されるんだからなんでもいっしょ 最初から「その人がわかりやすい」ことだけが選択の基準
167 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 07:50:52.86 ID:RPRrKser.net] Unity5だと、かなりメカニム便利になるっぽいな
168 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 08:27:12.87 ID:X/tsZDyC.net] そんなに?
169 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 08:28:43.07 ID:2G6YNL7a.net] え?そう?メカニムの話ってそんなになかったような…。 ルートアニメーションをいじって、とかはできるようになるみたいだが。 あとブレンドシェイプは多分ある程度キー打ったら補完とかはしてくれそう。 今までは自分で補完だったからなw
170 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 08:40:55.28 ID:X/tsZDyC.net] キャラアニメグリグリさせたい人には嬉しいバージョンアップなのか?
171 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 08:50:30.36 ID:RPRrKser.net] ごめん、かなりって言うのは言い過ぎだったようだ でもFeaturePreviewのムービーの3:40あたりをみると、 アニメーションの細かいステートに対して、個別にスクリプト付けれるみたいだから、自分的には便利機能。
172 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 10:17:06.06 ID:THOa4Ppp.net] >>167 >アニメーションの細かいステートに対して、個別にスクリプト付けれるみたいだから、自分的には便利機能。 マジか!
173 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 11:26:50.49 ID:YsWXBeum.net] UnityコールバックでUpdate -> コルーチン -> LateUpdateと呼ばれる中で、 複数のコルーチンのうちで常に最後に呼ばれるコルーチンを登録する良い方法ないでしょうか。 今のところは新しくStartCoroutineをしたコルーチンから先に呼ばれるのを利用して、 ゲーム開始時にDontDestroyなGameObjectでそれ用にコルーチンを走らせて用意しておくって手が浮かんだんですが、他にもないかなと思いまして。
174 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 15:12:59.70 ID:Vx0M5hZZ.net] コルーチンを呼ぶコルーチンを作る
175 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 16:17:11.80 ID:2IaDzqEd.net] >>168 だったらいっそステートマシンクラス用意してスクリプトで遷移でええやん それなら糞UIでパラメータの型や条件式制限される事も無いし
176 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 16:52:32.63 ID:/GU4WbeQ.net] どっちにしろメカニムは単純なアニメーション管理にしか使えない
177 名前:名前は開発中のものです。 mailto:sage [2014/03/19(水) 17:10:23.11 ID:THOa4Ppp.net] >>172 人形限定で大量にアニメーション買っ たり作ったりしたものを繋ぐのにはすごい向いてるんよ で、ちょっと特殊なことするのにステートにスクリプトはれるとものすごく楽ができそうってのが魅力
178 名前:名前は開発中のものです。 [2014/03/20(木) 02:58:20.98 ID:v1/C7TpB.net] 00000100001000 00000100001000 00000000000000 11111111111111 こういうのをオブジェクトに変える(実体化する?)のってどうすれば できますか? 以前どこかのサイトで見た気がしたんですが、忘れてしまいまして・・・。
179 名前:名前は開発中のものです。 [2014/03/20(木) 07:03:00.21 ID:7BlISmN8.net] こんにちは。 javaスクリプト初心者です。 unity上で、設定したトリガーに、「point」とタグがついたオブジェクト が入った時、”Mot_run”というモーションが流れているキャラAに、 ”Mot_ide”というモーションを流したいのですが、 どのように指定すればよいでしょうか。 トリガーが入った判定まではかけたのですが、 モーションを流す書き方がわかりません。 下記のスクリプトをトリガーに設定しています。 すみませんが宜しくお願いします。
180 名前:名前は開発中のものです。 [2014/03/20(木) 07:04:18.06 ID:7BlISmN8.net] 175です javaスクリプトは以下の記述になります。 ”if (cleared == true) {”からどう書けばいいかわかりません。。。 private var ballCount : int; // pointの総数。 private var counter : int; // ゴールに触れたボールを数えるカウンター。 private var cleared : boolean; // trueならクリアした状態。 // 初期化。 function Start() { // "point"タグが付いているゲームオブジェクトの個数を調べる。 ballCount = GameObject.FindGameObjectsWithTag("point").length; } // トリガーにゲームオブジェクトが入ったときに実行される関数。 function OnTriggerEnter(other : Collider) { // まず、相手がpointであるかどうかを調べる。 if (other.gameObject.tag == "point") { counter++; // カウンターがボールの数に等しくなり、 // なおかつ、またクリアしていない状態だったら…… if (counter == ballCount && cleared == false) { // クリア成立。 cleared = true; } } } function OnGUI () { // クリアした状態であれば…… if (cleared == true) { animation.Play("Mot_ide”) } }
181 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 07:51:17.82 ID:SgGcRy2D.net] これがプレイヤーにつけるスクリプトだと仮定して ゲームクリアはプレイヤーにつけた変数や関数で 判定すべきなのだろうか、 それはOnGUI()でやるべきことなのだろうか、 あとそのやり方だと同じポイントに何度も触れただけで 回数をこなせばそれでクリアにならないだろうか、 という話を別にすればクリアーフラグを使って モーションを分岐させればいいんじゃね? function Update(){ if(cleared==false){ animation.Play("Mot_run"); } else animation.Play("Mot_ide"); }
182 名前:名前は開発中のものです。 [2014/03/20(木) 08:22:58.76 ID:7BlISmN8.net] >>177 175です ご指摘、ありがとうございます。 OnGUI() →こちら、もともと「クリア」という文字を表示させようとして 使っていたものなので、確かに違いますね。 また、ご連絡いただきました記述に変更すると モーションがないという指定が出てしまいます。 こちらのスクリプトはトリガーに設定しするので、 アニメを流す対象の指定が必要だと思うのですが、 その記述方法がわかりません。 宜しくお願いします。
183 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 08:29:09.41 ID:SgGcRy2D.net] どうしてもOnGUI()でやりたいなら ステートを設定してそれでモーションを 管理すればいい。 private var charaStatus=0; Update(){ if(Input.Get switch(charaStatus
184 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 08:30:39.41 ID:SgGcRy2D.net] しまったw うっかりしてミスったw
185 名前:名前は開発中のものです。 [2014/03/20(木) 08:39:17.58 ID:7BlISmN8.net] >>179 175です OnGUI()は使わなくて大丈夫です。 ちょっとこんがらがってきましたが、 function Update(){ if(cleared==false){ animation.Play("Mot_run"); } else animation.Play("Mot_ide"); } こちらの指定を、現在のスクリプトに追記するとしたら、 "Mot_ide"を流すキャラ指定はどうしたらよいでしょうか? それとも、このやり方では難しいですか?
186 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 08:39:34.06 ID:SgGcRy2D.net] ゴール側に設定するスクリプトなら むしろそれをプレイヤー側から 参照してアニメーションを分岐させた方が いい気はする。 どっちにしてもプレイヤーのUpdate()の中に animation.Play("Mot_run")が記述されてたら それに上書きされてしまうんで
187 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 08:47:10.21 ID:SgGcRy2D.net] ゴール側からコントロールするなら プレイヤーオブジェクトにPlayerタグを設定して var PlyObj:GameObject; (略) function Start(){ if(!PlyObj){ PlyObj=GameObject.FindGameObjectsWithTag("Player"). (略) } function Update(){ if(cleared==false){ PlyObj.animation.Play("Mot_run"); } else PlayObj.animation.Play("Mot_ide"); } とでもしとけば動くかも。 ちょっと試してないからわからんが。 いずれにしてもプレイヤー側のUpdate()に animation.Playで他の
188 名前:アニメーション再生が 記述されてたらどうしようもないとは思う。 [] [ここ壊れてます]
189 名前:名前は開発中のものです。 [2014/03/20(木) 08:49:17.32 ID:7BlISmN8.net] >>182 175です。 アドバイスありがとうございます。 それでは、プレイヤー側から参照するには、 どのようにすれば宜しいでしょうか? 度々お聞きする形で申し訳ないです。
190 名前:177 mailto:sage [2014/03/20(木) 12:35:28.28 ID:q0+N0x+8.net] >>184 ゴールオブジェクトにGoalタグを設定して スクリプト名はGoalScriptだとして clearedはprivateじゃないとして var goalObj:GameObject;//←ここにインスペクタでゴールオブジェクト設定してもいい private var goalScript; function Start(){ if(!goalObj){ goalObj=GameObject.FindGameObjectsWithTag("Goal");//複数あるならFind("Name") } goalScript=goalObj.GetComponent("GoalScript"); } function Update(){ if(goalScript.cleared==false){ animation.Play("Mot_run"); } else animation.Play("Mot_ide"); } とかで動かん?
191 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 13:08:24.36 ID:LTHxr9yn.net] >>174 配列にして処理する
192 名前:名前は開発中のものです。 [2014/03/20(木) 13:45:29.36 ID:NfUKts76.net] >>185 175です ご連絡いただきましたスクリプトを試しますと 下記のエラーが出てしまいます。 設定としては、 ・先ほどの式を「GoalScript」とする ・「GoalScript」をアニメーションを流したいオブジェクトに設定 ・トリガーに「Goal」タグを設定 になります ・Assets/Scripts/GoalScript.js(6,42): BCE0022: Cannot convert 'UnityEngine.GameObject[]' to 'UnityEngine.GameObject'. ・Assets/Scripts/GoalScript.js(12,15): BCE0019: 'cleared' is not a member of 'Object'.
193 名前:177 mailto:sage [2014/03/20(木) 13:48:25.75 ID:q0+N0x+8.net] 悪いw goalObj=GameObject.FindGameObjectWithTag("Goal"); に直してくれw FindGameObjectsWithTagだとゲームオブジェクト配列が返ってくるっていうエラーだそれは
194 名前:名前は開発中のものです。 [2014/03/20(木) 13:55:27.31 ID:NfUKts76.net] >>188 175です 一つ目のエラーは消えましたが ・Assets/Scripts/GoalScript.js(12,15): BCE0019: 'cleared' is not a member of 'Object'. が直らないですね…
195 名前:177 mailto:sage [2014/03/20(木) 14:22:31.15 ID:q0+N0x+8.net] ああ〜すまない。説明不足だった気がする。 まずトリガーオブジェクトにGoalタグを設定する。 OnGUI()の部分を除いた176のスクリプトをGoalScriptという名前にしてclearedはprivateを外す。 var cleared:boolean; になるってことね。 で、185に書いたスクリプトは名前は何でもいいけどプレイヤーにつける。 ということ。
196 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 14:53:05.43 ID:csxXQxSq.net] 175はまずプログラムの基礎やらんとどもならんぞ
197 名前:177 mailto:sage [2014/03/20(木) 15:55:29.72 ID:q0+N0x+8.net] ちょっと調べたんだが確かにおかしくなるな。 #pragma strictが書いてあるならとりあえず外してみてくれ。 そしたら ・Assets/Scripts/GoalScript.js(12,15): BCE0019: 'cleared' is not a member of 'Object'. がなくなると思う。 どうもネームスペース関係のエラーなんだがjsでどうすりゃいいのかわからんw
198 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 16:07:59.75 ID:YcsT/uUP.net] お、また底辺どもの質問なのかい? なになに?配列がわかりません?w だからBasicから勉強しろよwおまえら いくらUnityがおもちゃでも失礼すぎるぞw
199 名前:名前は開発中のものです。 mailto:sage [2014/03/20(木) 16:08:59.59 ID:csxXQxSq.net] BASICとかBrain Damagedな言語ありえねぇ
200 名前:177 mailto:sage [2014/03/20(木) 16:29:16.93 ID:q0+N0x+8.net] なんか訳わからなくなってきた。 なんかのバグじゃねぇのかこれw とりあえず試してみたものを上げておいた ttp://www1.axfc.net/u/3199313 手前の直方体をwasdで立方体に 触れさせればアニメーションが変化する。
201 名前:名前は開発中のものです。 [2014/03/20(木) 17:55:36.16 ID:7BlISmN8.net] >>192 >>195 175です そうですね、 「#pragma strict」は消しているのですが、 ご連絡いただいた設定をしてみましたが、上手くいきませんね。。。 unityの入門書を見ながら作成しておりますが、 ちょっと別のことをやろうとすると、すぐに分からなくなってしまいます。 初めて1ヶ月2ヶ月じゃ中々難しいです。 厚かましい質問ばかりして、本当に反省しております。
202 名前:名前は開発中のものです。 [2014/03/20(木) 17:57:59.50 ID:7BlISmN8.net] >>195 175です ご連絡いただきましたデータ、 ためさせていただきます!
203 名前:177 mailto:sage [2014/03/20(木) 18:06:10.38 ID:q0+N0x+8.net] ・Assets/Scripts/GoalScript.js(12,15): BCE0019: 'cleared' is not a member of 'Object'. に関してはMonoDevelopかなんかのバグだと思う。 195であげたものではそのままの構造で動い
204 名前:ているので。 実はまったく同じエラーが出てよくわからなかったのだが #pragma strictからvar cleared:boolean;の行まで消して 書き直したらエラーが出なくなったんで#pragma strictのなんかか? と思ったんだけどその後書き足してもエラーでなかったんだよねw 上げた奴ではまた消してあるけど。 とにかくそれは理解できてないからとかじゃないよ。 明らかにソフトウェアがおかしな動作をしている。 自分が悪いとか思うべきではない。 [] [ここ壊れてます]
205 名前:名前は開発中のものです。 [2014/03/20(木) 18:10:55.46 ID:v1/C7TpB.net] >>186 ありがとうございます!! 配列について勉強してみます
206 名前:名前は開発中のものです。 [2014/03/21(金) 14:55:12.25 ID:u714flnR.net] >>195 175です 遅くなりましたが、 無事動かすことができました。 サンプルデータまで作成していただき、誠に有り難うございます。 こちらを参考に、学ばせていただきます!
207 名前:名前は開発中のものです。 mailto:sage [2014/03/21(金) 15:43:04.93 ID:YBntm0MA.net] AnimationでPositionを現在位置から相対的に操作するのって 空のオブジェクトの子要素にする以外に方法がありますか?
208 名前:名前は開発中のものです。 mailto:sage [2014/03/21(金) 16:14:20.74 ID:I/tIA+/9.net] スクリプト内で基準位置を記録して操作しても 勿論できると思うが結局のところ 「どうであれ座標計算はしなければならない」 ということを考えれば子供にするのが一番楽なら それでいいんじゃないか。 Unityがネイティブで計算してくれてるなら 多少なりともスクリプト上での計算よりは早いだろうし。 まぁ何がやりたいのかさっぱりわからんからアレだが
209 名前:名前は開発中のものです。 [2014/03/21(金) 16:25:45.85 ID:fBTRNxEa.net] var ob[4] : GameObject; function FixedUpdate(){ if(Time.frameCount % 200 == 1){ var x : int = Random.Range(0,4); Instantiate(ob[x],transform.position,transform.rotation); } } これはどうして動かないんですか?
210 名前:名前は開発中のものです。 [2014/03/21(金) 16:28:51.04 ID:fBTRNxEa.net] >>203 自決しました
211 名前:名前は開発中のものです。 mailto:sage [2014/03/21(金) 16:47:39.72 ID:7DZfmW2a.net] ↑また死人がでたのか
212 名前:名前は開発中のものです。 mailto:sage [2014/03/21(金) 16:49:52.23 ID:xb823en3.net] 大航海時代がUnityでワロタ
213 名前:名前は開発中のものです。 mailto:sage [2014/03/21(金) 17:14:32.04 ID:a7pMEZ2l.net] void Update () { if (Mathf.Abs(Input.GetAxisRaw("Vertical")) > 0.5) { rigidbody.MovePosition(transform.position - transform.up * Input.GetAxis("Vertical") * speed); } if (Mathf.Abs (Input.GetAxisRaw ("Horizontal")) > 0.5) { Quaternion nowAngle = Quaternion.Euler( transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y, transform.rotation.eulerAngles.z ); Quaternion afterAngle = Quaternion.Euler( nowAngle.eulerAngles.x, nowAngle.eulerAngles.y + circle_speed * Input.GetAxis("Horizontal"), nowAngle.eulerAngles.z ); rigidbody.MoveRotation(afterAngle); } } 水平方向のみに移動したいのでFreeze PositionのYとFreeze RotationのXとZをONにしています。 WASDで前進後進旋回をしたいのですが、壁にぶつかるとキーを入力していなくても勝手に旋回をしてしまいます。 どうすれば壁にぶつかっても勝手に移動しなくなりますか?