2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :名前は開発中のものです。:2014/08/05(火) 22:02:24.88 ID:WCQkNfyP.net
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質問スレッド10
http://peace.2ch.net/test/read.cgi/gamedev/1403791323/

■本スレ
【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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

271 :名前は開発中のものです。:2014/08/21(木) 21:10:17.88 ID:1mqVsYYE.net
実行した時にいずれかのオブジェクトのインスペクタを表示していると
そのオブジェクトについてなるレフが出るみたいなバグがあったな

272 :名前は開発中のものです。:2014/08/21(木) 21:19:40.36 ID:F8+uwHwG.net
>>270
なるほど原因よく分かりました
ExcuteOrder設定するのが簡単で手早かったです
ありがとうございました!

273 :名前は開発中のものです。:2014/08/21(木) 22:32:15.10 ID:jIF4Pxw8.net
>>263
ttp://mcs.jp/flash/93
PCを動く床の子要素にしないやり方だが、俺が2Dで動く床を作るときに参考にした記事。
3Dでも考え方自体は使えると思うのだが、参考になるかな。

274 :名前は開発中のものです。:2014/08/21(木) 22:33:49.87 ID:uELHl3ca.net
>>263
俺も自分がやろうと思ってた実験がてら
ちょこまかいじってたがよくわからんかったな〜。
なんかどっちもできそうな感じなんだが。

ttp://www1.axfc.net/u/3302185

275 :名前は開発中のものです。:2014/08/21(木) 23:14:02.77 ID:Jqw6iCnU.net
>>267 >>273 >>274 
回答ありがとうございます。アングリーボッツはエレベーターの移動(は単に上下させているだけのようでしたが)以外の点も役に立ちそうです。雨を降らせられるというのが地味に発見でした。
271さんのは理屈の理解に役立ちそうです。
>>274さん ナイスです。しばらくいじらせてもらいます。

276 :名前は開発中のものです。:2014/08/22(金) 02:23:31.17 ID:sVGMtpYp.net
Unityを触り始めてとりあえずキャラをanimatorで動かそうとしてるのですが、
初心者講座を真似て
setBool(string,bool)でConditionsで設定した変数を書き換えようとしてもアニメーションが変わらないです…
初心者がやりがちなミスとかありますか?

Play(string)でアニメーション書き換えは動くんだけども…

277 :名前は開発中のものです。:2014/08/22(金) 03:17:23.85 ID:KCdPGFaf.net
>>276
アニメーション変移の矢印の設定は、確認した?

278 :名前は開発中のものです。:2014/08/22(金) 03:24:12.30 ID:xQWI6Sb9.net
>>257
そうですか、ありがとうございます。
(´・ω・`)

279 :名前は開発中のものです。:2014/08/22(金) 04:50:04.97 ID:xQWI6Sb9.net
「ボタンを用意して、
 押したらブラウザを立ち上げて指定のURLを開く」
ということをしたいのですが、
調べようにも取っ掛かりになるキーワードがわかりません。

どのリファレンスを見れば良いでしょうか。
もしくは、直接的なヒント貰えるとありがたいです。

280 :名前は開発中のものです。:2014/08/22(金) 05:15:30.28 ID:np7Y3ytG.net
http://jobinjapan.jp/job-listing/keyword-unity.html

281 :名前は開発中のものです。:2014/08/22(金) 05:18:43.83 ID:1m8E2c2I.net
>>279
スタンドアロンプレイヤーに関しては
ttp://docs.unity3d.com/ScriptReference/Application.OpenURL.html

AndroidとかiOSとかはわからん。
Androidに関してはこんなページもあった。
ttp://stackoverflow.com/questions/18410819/launch-url-in-android-browser-from-unity

282 :名前は開発中のものです。:2014/08/22(金) 05:21:54.69 ID:xQWI6Sb9.net
>>281
説明足りませんでした、iOS です。
でも、頂いたリンク、これから見てみます。
ありがとうございます。
Webviewとか大掛かりなことにならなければ良いんですが…

283 :名前は開発中のものです。:2014/08/22(金) 06:21:14.05 ID:1mQiZxIz.net
物理演算した結果の散乱した玉の配置とか、良い感じにシワの付いたclothとかをそのままの形でScene画面に持っていく方法ってあるのかな?

284 :名前は開発中のものです。:2014/08/22(金) 06:36:04.03 ID:xQWI6Sb9.net
>>281
Application.OpenUrl で普通に行けました!
ぜんぜん違うことを考えてたので、
とても助かりました。
ありがとうございます!

285 :名前は開発中のものです。:2014/08/22(金) 07:04:21.75 ID:1m8E2c2I.net
>>283
どこから?
3DのDCCツールからの話ならUnityの話というより
それぞれのツールにおけるデータのフリーズの問題で
それがどの程度fbx吐き出し出来るか、
どういうやり方があるかはツールによる。
Unity内の話なら、ってそれはないか。
そもそもシーン内にあるものだしなぁ。

286 :名前は開発中のものです。:2014/08/22(金) 08:08:53.09 ID:1mQiZxIz.net
>>285
あ、Unity内の話です
Unityで物理演算させても停止させるとまた元の状態に戻ってしまうので
その物理演算の結果をSceneに反映できないかなあと

287 :名前は開発中のものです。:2014/08/22(金) 08:26:33.31 ID:sVGMtpYp.net
>>277
指定できてますね
ボタンが押されてないとかは無いです。
ボタンが押された時に歩き出すっていうのをしたいのですが・・・

288 :名前は開発中のものです。:2014/08/22(金) 08:55:31.44 ID:GN0ZjNPs.net
>>287
アセットをかえばいいと思うよ

289 :名前は開発中のものです。:2014/08/22(金) 08:57:55.29 ID:1m8E2c2I.net
>>286
エディタ拡張が必須だしクロースにいたっては新しくメッシュを生成して保存しなければならない。
まぁ簡便な方法はない、と思って間違いない。

ちなみに物理演算で散らばったものの状態を保存するってタイプのアセットは有料ならある。
ttps://www.assetstore.unity3d.com/jp/#!/content/188

290 :名前は開発中のものです。:2014/08/22(金) 09:15:48.49 ID:1m8E2c2I.net
>>287
アニメーターウインドウをゲームウインドウと別に置いて
ボタン押したらセットブールがちゃんと動いてるのかとか
見るほかないんじゃないかな〜。
できないとかそういうことはあり得ない事例だし。

291 :名前は開発中のものです。:2014/08/22(金) 15:44:29.49 ID:g1NAWEJC.net
今使ってるパソコンから違うパソコンへ制作中のプロジェクトを移す場合はどんな方法がありますか?
ふつうにフォルダごとコピペしても開けないですよね?

292 :名前は開発中のものです。:2014/08/22(金) 16:04:22.39 ID:7jPcji1M.net
>>291
Assets > Export Package は?

293 :名前は開発中のものです。:2014/08/22(金) 16:11:28.61 ID:0wWnnEk+.net
>>291
アセットを買えばいいと思いますよ

294 :名前は開発中のものです。:2014/08/22(金) 16:17:43.76 ID:deKcb9FB.net
>>291
gitとかでプロジェクト共有できるので
その辺の設定とか調べれば大体わかるかとは。

でも丸々移しちゃうなら確かにエクスポートパッケージで
プロジェクト丸ごと出しちゃえばいいのか。

295 :名前は開発中のものです。:2014/08/22(金) 16:34:03.30 ID:g1NAWEJC.net
なるほどパッケージ化してインポートしなおせば良いんですね
盲点でした…ありがとうございます!

296 :名前は開発中のものです。:2014/08/22(金) 16:45:24.84 ID:vBGx3Mvn.net
今後のためにgit使えるようにするのおすすめ
移すどころか、両方のPCで同時に作業進められる

297 :名前は開発中のものです。:2014/08/22(金) 16:49:17.51 ID:g1NAWEJC.net
そんな便利な機能が…是非使ってみます!教えて頂き、ありがとうございます

298 :名前は開発中のものです。:2014/08/22(金) 18:46:59.43 ID:E+zspQ4b.net
git はバイナリファイルが多いと使いにくいと聞く

299 :名前は開発中のものです。:2014/08/22(金) 19:50:36.93 ID:deKcb9FB.net
差分とかは取れないからなぁ。
でも個人レベルでプロジェクト分だけなら全然いけると思う。
リソース分とかまでまとめてやってたんだけど
グラフィックリソースマジで作り始めるとかなりどうにもならんことに…。
バージョン管理するにしても別々にやった方がいいな〜って感じ

300 :名前は開発中のものです。:2014/08/22(金) 20:54:55.80 ID:yjYSmQzN.net
別のPCにもって行くだけならAssetsとProjectSettingsを丸まるコピー(zip化すると尚良い)するのが一番手っ取り早い
何度も行き来するならgitとか使った方がいいんだろうけど

301 :名前は開発中のものです。:2014/08/22(金) 21:05:21.54 ID:deKcb9FB.net
gitでやるとプロジェクトセッティングとか確認しながら合わせなきゃならんしね〜

302 :名前は開発中のものです。:2014/08/22(金) 22:32:39.34 ID:ZkZV2bws.net
uGUIのベータ試した奴いる?
使い勝手どうよ?

303 :名前は開発中のものです。:2014/08/22(金) 22:47:11.83 ID:deKcb9FB.net
入れてはみた。
パネル置いて部品配置してく感じでまぁ当然なんだろうけどnGuiライク。
組み付けだからかカメラ置かずともオーバーレイしてくれる。
もちろんカメラも置ける。
イベントリスナーみたいなオブジェクトとかあったな〜。
ボタン、スライダ、チェックボックス、テキストボックスとか色々部品入ってて
とりあえずUI作るのは大分楽になりそうだったよ。

304 :222:2014/08/22(金) 23:11:49.67 ID:2/+giryd.net
>>231

先日教えていただいた
using UnityEngine;
using System.Collections;
public class test : MonoBehaviour {
UISlider sl;
Vector3 pos;
void Start () {
sl = GameObject.Find("HorizonSlider").GetComponent<UISlider>();
pos = transform.position;
}
void Update () {
pos.x = (sl.sliderValue-0.5f)*10f;
transform.position=pos;
}
}

を実行するとprayerが特定の場所に飛んでいき
そこから動けなくなりました。
Updateの
transform.position = pos;
が原因のようです。

とりあえずUpdateを
transform.Translate (pos.x = (sl.sliderValue-0.5f)*50f*Time.deltaTime, 0, carspeed*Time.deltaTime);
(前に進みながらスライダーで左右に移動)
で目的のことができたのでひとまずO.Kなのですが
お教えいただいたのが上手く行かなかった理由がわかりません。

エスパーしていただかないとわからないことが多いと思いますが
思いつく範囲でお教えいただけますでしょうか。

305 :名前は開発中のものです。:2014/08/23(土) 01:07:44.68 ID:7Ja2HaqJ.net
>>304
原因も何もそれはプレイヤー以外のものが全てスクロールで
プレイヤーユニットは左右にのみスライダーに沿って動く、
という前提の処理なので。

何故動かせないかといえば
transform.positionの値を直接指定してしまっているから。
transform.Translate()は現在の位置からローカル座標で動く方向と量を指定して動かしている。
つまり命令の内容としては「ここから自分目線で前に1(Vector3.forwardとか)動かします」ということ。
しかし
transform.position=Vector3.forward;
とか書けば「座標(0,0,1)に移動しろ」ということになる。
直接いるべき座標を指示してしまっているのだからそこからは動けない。
ということ。

306 :名前は開発中のものです。:2014/08/23(土) 01:11:43.21 ID:h9HBdPcx.net
>>304
アセットをかえば動くと思うよ

307 :名前は開発中のものです。:2014/08/23(土) 02:40:33.39 ID:shCBB+Vm.net
相当シンプルなスクリプト組んだのにWebビルドとデスクトップビルドで
挙動が微妙に違う(っていうか一部スプライトがアニメーションしない)んだけど
Unityってこういうマルチプラットフォームで動作違いって結構あるの?

308 :名前は開発中のものです。:2014/08/23(土) 08:53:47.91 ID:dXNZu5QK.net
au氷水ディレクター戦争指名タイステーキ万国ニューヨークブカ牛肉直輸出制限業者議論病院雇用市議しょうゆダシマクッロスさむらい山雪光金ガンダム風ミックドラ社員あかうんとパズ豚骨のり塩肉マンつばめの巣担々麺野菜炒めラーメン

au氷水ディレクター戦争指名タイステーキ万国ニューヨークブカ牛肉直輸出制限業者議論病院雇用市議しょうゆダシマクッロスさむらい山雪光金ガンダム風ミックドラ社員あかうんとパズ豚骨のり肉マンつばめの巣塩担々麺野菜炒めラーメン

au氷水ディレクター戦争指名タイステーキ万国ニューヨークブカ牛肉直輸出制限業者議論病院雇用市議しょうゆダシマクッロスさむらい山雪光金ガンダム風ミックドラ社員あかうんとパズ豚骨のり肉マンつばめの巣塩担々麺野菜炒めラーメン

ニンニクヤーフォー低額土地NHK教授問題横浜名古屋遅延電池切れ福岡損保新規駐車近代ゲームフジワイプタレントリモコン転職提案ラーメン
abk公式審判漏洩安保険王なにあげてんだよ?「わー!ふーう?」↓↓★★↓↓宿題通調印鑑カウントダウンたまらんだけ労災募金額税金息子議員国会大学生

309 :名前は開発中のものです。:2014/08/23(土) 12:50:00.01 ID:T2BBJqwd.net
iPhone5用の640*1136の解像度をGameViewでプレビューする方法はありますか?

15 インチ(2880 x 1800)のRetina Macbook Proを使ってますが、
「Maximize on Play」をオンにしていても430*764までしか拡大されないようで…

UIのレイアウトを組みたいんだけど、結果がプレビューできなくて困ってます。

310 :307:2014/08/23(土) 13:13:52.06 ID:T2BBJqwd.net
ひょっとしてGameViewって、
解像度じゃなくてアスペクト比だけ指定して使うものなのかしら??

iPhone5縦持ちを想定していますが、カスタム設定で、
Fixed ResolutionじゃなくてAspect Ratioで9:16にして、
それを見ながら置いていけば正しい座標に置けているってことなのかな??

311 :名前は開発中のものです。:2014/08/23(土) 13:27:39.15 ID:JjW1vPOg.net
>>310
UnityのGameViewはそういうものだぞ
開発環境のピクセル数を一致させてるわけじゃないから

312 :307:2014/08/23(土) 13:37:17.29 ID:T2BBJqwd.net
>>311
そうなんですね。

だとすると、GUI.ButtonやGUI.LabelのRectの座標って、
どうやって正しい配置でプレビューしてるんですか?

GUI.Button(Rect(30, 40, 200 10))

↑この30,40が実機(実寸)だとどんな感じかなーというのを見ながら調整したいなと。

それとも、座標の絶対値じゃなくて、ディスプレイの何分の一あたり、みたいな相対指定の方法もあるんでしょうか。
教えてもらえたら助かります!

313 :名前は開発中のものです。:2014/08/23(土) 13:41:54.28 ID:JjW1vPOg.net
>>312
GameViewウィンドウの左上でPixcel数指定以外にもアスペクトレシオベースの表示設定あるだろ。
まさかFree Aspectのまま作ってるのか?

314 :307:2014/08/23(土) 13:48:28.89 ID:T2BBJqwd.net
>>313
308に書いた通り、9:16のAspect Ratioに設定してやってます。

Rectの引数として書く最初の二つの数字の意味を理解していないのかも…
あれって10=10pixelというわけではないんですかね?

315 :名前は開発中のものです。:2014/08/23(土) 13:54:47.21 ID:8wwhNy9o.net
Stats で Screen: 横x縦が表示されるから、フルスクリーンにしないでそれを見ながら
タブのサイズを調整して欲しい画素数になるようにしている。

316 :名前は開発中のものです。:2014/08/23(土) 14:05:08.02 ID:4AFhlQFQ.net
下記コードのwhile文の最初に
if(!spaceship.startShot)continue;
を書いたらフリーズするようになってしまったんですが原因分かりますでしょうか?



IEnumerator Start(){
//canShotがfalseの場合ここでコルーチンを終了する
if(spaceship.canShot == false)
yield break;


while(true)
{
if(!spaceship.startShot)continue;

//子要素を全て取得する
for(int i=0; i < transform.childCount; i++){
Transform shotposition = transform.GetChild(i);

//ShotPositionの位置、角度で撃つ
spaceship.Shot(shotposition);
}

//ShotDelay秒待つ
yield return new WaitForSeconds(spaceship.shotDelay);

}
}

317 :名前は開発中のものです。:2014/08/23(土) 15:20:10.86 ID:OM70Yo+9.net
>>312
標準のGUIはいちいちスクリーンサイズから計算してくださいよってやつ
NGUIならスプライトみたいにベタ貼りできますよ

318 :名前は開発中のものです。:2014/08/23(土) 15:21:23.78 ID:MWXg6eWB.net
>>316
原因分かりました! アセットをかうとわかりますよ

319 :名前は開発中のものです。:2014/08/23(土) 15:34:49.82 ID:gCLmSp1m.net
>>305
有難うございます。

自分でもtransform.positionの意味は調べてわかっていたので
なんでコレなんだろう・・・・。
と思いながらも素直にそうやっていました。

前提条件が違えばそりゃそうですね。
アセットかったのでわかったよ。

320 :名前は開発中のものです。:2014/08/23(土) 15:50:30.92 ID:7Ja2HaqJ.net
>>312
その辺のは別にやろうと思えばScreenクラスから情報取ってくれば
自由自在にできるんじゃないかとか。
毎フレームでなくても10フレ毎に解像度チェック関数動かして
保存してる解像度と異なれば大きさ、位置を調整してやるとか。
まぁiOS系とかだと別に初期化の時点でチェック、位置決定してやれば
それでいいんだろうけど。

321 :名前は開発中のものです。:2014/08/23(土) 15:54:46.18 ID:7Ja2HaqJ.net
>>316
フレームを経過しないままそこで無限ループするんだから
当然じゃないか?

322 :名前は開発中のものです。:2014/08/23(土) 16:10:54.24 ID:F0mmo1TI.net
コルーチン中の任意のタイミングでGUIボタンを呼び出したいんですが
どうやればいいですか?
別のスクリプトからOnGUI()を呼び出そうとしたのですが
できなくて困っています

323 :名前は開発中のものです。:2014/08/23(土) 16:14:04.33 ID:MWXg6eWB.net
>>322
OnGUIはアセットをかえば簡単に出来るよ

324 :320:2014/08/23(土) 16:19:37.36 ID:F0mmo1TI.net
すみません自己解決しました。
アセットもいりません

325 :307:2014/08/23(土) 16:25:40.00 ID:T2BBJqwd.net
>>317
やりたいのはそれほど複雑なUIじゃないので、
配置はスクリーンサイズから計算して設計できるんだけど、
それをUnityのGameview上で確認できないもんかなと

フル解像度での見え方は、実機で確認するしかないんですかね?

326 :名前は開発中のものです。:2014/08/23(土) 18:21:04.73 ID:4AFhlQFQ.net
>>321
ありがとうございます
continueだとそうですね・・

327 :名前は開発中のものです。:2014/08/23(土) 20:30:58.99 ID:7LFCfaJs.net
NGUIで負荷の少ない連続ダメージ表示をするにはどうすればよいのでしょうか?

私の今までのやり方では呼び出したい敵キャラが持っている空のgameobjectの下にLabelが入っており
Startの中でFind処理をしたGetcomponentを指定して、テキストを入れているのですが
複数の場合オブジェクトプール形式にしても、呼び出す度にgetcomponentしなければならず、頻度が高いダメージ表示ではゲーム中に結構負荷がかかってしまう気がするのですが
このやり方はよい(効率的な)またはベターなやり方なのでしょうか?

328 :名前は開発中のものです。:2014/08/23(土) 21:36:05.08 ID:ZW3zMHof.net
scriptじゃなくて普通のクラスをnewして使いたいんですが
どのようにすれば可能でしょうか、ご教授ください

↓こんなん
public class Person{

public Person(){
}

private int age;

public int Age{
get{
return this.age;
}
}
}

329 :名前は開発中のものです。:2014/08/23(土) 21:41:51.73 ID:Huj5ofTZ.net
>>328

こういっちゃなんだが、すごい質問が来るな
ここで教えてもらっても、かえって苦労しそうな気がするんだが・・・

言語の本1〜2冊買えばここよりずっとマシな回答得られると思うよ

330 :名前は開発中のものです。:2014/08/23(土) 21:43:58.53 ID:Huj5ofTZ.net
・・・今動く、じゅげむじゅげむの呪文としてのコードを教えてもらっても
仕組みが分らないと後で苦労するよって話

331 :名前は開発中のものです。:2014/08/23(土) 21:51:23.26 ID:Huj5ofTZ.net
using UnityEngine;
using System.Collections;

public class Test1 : MonoBehaviour
{

void Start ()
{
Person person = new Person ();
}
}

class Person
{
public Person ()
{
}

private int age;

public int Age {
get {
return this.age;
}
}
}

こういう形でも実装できるよ

332 :名前は開発中のものです。:2014/08/23(土) 22:08:25.64 ID:ZW3zMHof.net
MonoBehaviour継承しないクラス作ったら普通にできました
お騒がせしてすみません

333 :名前は開発中のものです。:2014/08/23(土) 22:25:26.35 ID:MWXg6eWB.net
アセットをかったら全てうまく行くよ

334 :名前は開発中のものです。:2014/08/23(土) 22:25:35.10 ID:5rE/CZW8.net
ちょうくだらないんですけど2Dでキャラ操作の処理はスクリプト書くしかないんですかね・・・

335 :名前は開発中のものです。:2014/08/24(日) 00:48:29.00 ID:bhoJowhf.net
>>334
アセット買えば解決しますよ(マジで)

336 :名前は開発中のものです。:2014/08/24(日) 00:57:02.89 ID:7y7zRVMh.net
>>335
アセット買えば解決しますよ(マジで)

337 :名前は開発中のものです。:2014/08/24(日) 01:01:23.87 ID:2aiXW34F.net
>>334
PlayMaker unity 2dgame
でググれば良いんじゃないかな
ツベのTutorial video見て買うかどうか決めれば良いし

338 :名前は開発中のものです。:2014/08/24(日) 01:02:33.71 ID:bhoJowhf.net
>>336
お前は無理。

339 :名前は開発中のものです。:2014/08/24(日) 01:27:19.67 ID:7y7zRVMh.net
>>338
アセット買えば解決しますよ(マジで)

340 :名前は開発中のものです。:2014/08/24(日) 04:49:25.01 ID:n3f2BPft.net
Unityフリーズしてしまって再起動したのですが
再起動後にエディタ拡張のメニュー(NGUI等)が表示されず
拡張アセットも無効化されてしまったみたいなんです。
これってどこかの設定で戻せます?
一応、インストール・インポートをやり直してみたけど直らなくて・・・・

341 :名前は開発中のものです。:2014/08/24(日) 08:04:56.91 ID:qxPEC7B6.net
>>340
アセット買えばいいと思います(マジで

342 :名前は開発中のものです。:2014/08/24(日) 11:51:50.32 ID:cudDVpD+.net
ツマラナイ流れができちゃったな…

343 :名前は開発中のものです。:2014/08/24(日) 11:52:47.49 ID:7y7zRVMh.net
>>341
アセット買えばいいと思います(マジで

344 :名前は開発中のものです。:2014/08/24(日) 12:12:08.02 ID:CLZDP1Av.net
初心者でかなり初歩的な質問申し訳ありません


"obj1"と"obj2"と言う名称のPNGファイルを取り込んでいます

それぞれスプライトとして配置し、
obj1に"ani1_1"・"ani1_2"、 obj2には"ani2_1"・"ani2_2"・"ani2_3"と言うアニメーションを作成しました

obj1はデフォルトでani1_1のアニメーションをしています
obj1に"ctrl_ani"というJavaスクリプトを付加し、
ani1_1内のアニメーションイベントで'chng_event()'を呼び出し
変数'chng_ani'が1の場合ani1_2を、2の場合ani2_3を再生したい場合どの様に表記すれば可能でしょうか?
'Start()'や'Update()'で前処理が必要な場合もどうすればいいのかお願いします

345 :名前は開発中のものです。:2014/08/24(日) 12:39:08.96 ID:2g205isg.net
>>344
アセットをかえばいいと思うよ(ガチで

346 :名前は開発中のものです。:2014/08/24(日) 12:47:10.69 ID:7y7zRVMh.net
>>345
アセットをかえばいいと思うよ(ガチで

347 :名前は開発中のものです。:2014/08/24(日) 13:04:46.15 ID:zcgvXy7w.net
>>344
アニメーションの切り替えならこれじゃねえの
http://blog.cshool.jp/2013/12/5215.html

348 :名前は開発中のものです。:2014/08/24(日) 13:15:45.99 ID:CLZDP1Av.net
>>347
それだと特定のスプライト内のアニメーション郡しか操作できないですし
まずそこに表示されている変数がどの場所なのかもいまいち分かりません

それよりも[animation].startと.stopの[animation]に当たる部分をどの様に表記すれば正解なのかがいまいち分からないんです
事前に処理がいるのかも曖昧ですし

349 :名前は開発中のものです。:2014/08/24(日) 13:22:27.36 ID:2g205isg.net
>>348
アセットかえばいいと思いますし

350 :名前は開発中のものです。:2014/08/24(日) 14:43:14.47 ID:dOeoSaIH.net
>>348
>それだと特定のスプライト内のアニメーション郡しか操作できないですし
任意のスプライトのアニメーションを再生できます

アニメーションとトリガートランジションを設定して
スクリプトでanimatorのSetTrigger("トリガー名")を呼べばいい

351 :345:2014/08/24(日) 14:53:46.09 ID:5M28MIoP.net
animatorが登録されたanimationクリップしかいじれないのはそういうものだと思ってるし
そういう使い方しかしてないから俺には分かりません
startだとかstopだとかも使ったことないす

352 :名前は開発中のものです。:2014/08/24(日) 15:52:57.59 ID:CLZDP1Av.net
>>350
値を持たないトリガーなんてのもあったんですね

SetTriggerを調べてstart・stopも同様なので解決できました

別スプライトのアニメーション操作は分かりませんが、スプライトのヒエラルキーで何とかできると思います

353 :名前は開発中のものです。:2014/08/24(日) 16:33:36.62 ID:qX3pQNQa.net
>>352

別スプライトなんだからまずそれを取得しないとだめ。
jsはわからんからC#で書いちゃうが

using UnityEngine;
using System.Collections;
public class ctrl_ani : MonoBehaviour {
GameObject sp2;
Animator ani1,ani2;
int chng_ani;//本当はこれはどこかにあって参照してる筈か?
void Start(){
chng_ani=0;
sp2=GameObject.Find(ojb2);
ani1=gameObject.GetComponent<Animator>();
ani2=sp2.GetComponent<Animator>();
}
void chng_event(){
switch(chng_ani){
case:1
ani1.SetTrigger("ani1_1");
break;
case:2
ani2.SetTrigger("ani2_3");
break;
default:
break;
}
}
}
みたいになるはず。
動作確認とかはしてないんで多分おかしいところもあると思うが。

354 :名前は開発中のものです。:2014/08/24(日) 19:15:55.31 ID:CLZDP1Av.net
>>353
参考にします

情報提供いただいた方ありがとうございます

355 :名前は開発中のものです。:2014/08/25(月) 01:46:10.38 ID:rv6Mqwpr.net
NGUIのLabelについてですが
デフォルトでは文字幅(カーニング)が均一になってるので縦読み出来てしまうので
なんとか対応したいのですが、解決法ありますか?

356 :名前は開発中のものです。:2014/08/25(月) 02:10:34.86 ID:C4dJ6ycf.net
>>355
アセットをかえば解決しますよ(マジで

357 :名前は開発中のものです。:2014/08/25(月) 03:52:07.31 ID:eXN2bGgs.net
下記コードのDebug.Logでエラーが出るんですが、何ででしょうか
二時間くらい同じとこでつまづいて解決しなかったので聞かせてください
NullReferenceException
UnityEngine.Component.get_gameObject () (at C:/BuildAgent/work/d3d49558e4d408f4/artifacts/EditorGenerated/UnityEngineComponent.cs:171)script.Update () (at Assets/script.cs:66)


HogeGOの位置は子のArmatureの中の子の子の子の子の子くらいです。
ちなみにルートにある"MainCamera"とかにtargetを変更すると問題なくちゃんと出力されます

private Transform target;

void Start ()
{
target= GameObject.Find ("HogeGO").transform;
}

void Update ()
{
Debug.Log(target.gameObject.name);
}

358 :名前は開発中のものです。:2014/08/25(月) 04:21:21.98 ID:zZDJF81/.net
そこまで聞いたら普通にHogeGOが取得できてない、
としか思えんのだけどw
targetをpublicにしてインスペクターで見れるようにして
ちゃんと取得できてるのか見てみれば?
あるいは
if(target!=null)Debug.Log(target.gameObject.name);
とでも書いてみるとか?

359 :名前は開発中のものです。:2014/08/25(月) 07:06:29.67 ID:LAZuisJX.net
>>356
アセットをかえば解決しますよ(マジで

360 :名前は開発中のものです。:2014/08/25(月) 07:08:36.97 ID:c9pZI9PC.net
transformのlocalScaleらへんが何時までたってもスッキリ理解できない

361 :名前は開発中のものです。:2014/08/25(月) 11:01:14.01 ID:eXN2bGgs.net
>>358
そうなんですよね
publicにしてインスペクタにドラッグして放り込むと問題なく出力されるんですが、
コード内からfindするとなぜか取得できません…

362 :名前は開発中のものです。:2014/08/25(月) 11:26:51.57 ID:zZDJF81/.net
>>361
じゃあもうそれはFindできないってだけの話だよなぁ。

Findできない理由としてありがちなのは
アクティブじゃないGameObjectはFindできない、とかその辺くらいだけど。
あと当然のことながらシーンのヒエラルキーに置かれていなければダメ、とかか。

363 :名前は開発中のものです。:2014/08/25(月) 12:07:20.17 ID:85djNAdW.net
Findに失敗しているなら
target= GameObject.Find ("HogeGO").transform;
のtransformへのアクセスでエラーが発生しているはず

そこでもエラーが起きているなら見つかってないんだろうし、そこではエラーが起きていないなら
そもそもStartが呼ばれていないか、もしくはStartとUpdateの間で何かが悪さをしているんだろう

ちなみに俺はOnDestroyをOnDestoryとミスタイプしていて「何故呼ばれないんだ!」と子一時間悩んだ事がある

364 :名前は開発中のものです。:2014/08/25(月) 12:38:36.44 ID:+kNIFk6H.net
>>363
おれはPrefabをInstantiateして後ろに"(clone)"が着くのを忘れて小一時間Findで悩んだことがある

365 :名前は開発中のものです。:2014/08/25(月) 13:25:48.37 ID:eXN2bGgs.net
>>364
>>363
>>364
Startの中身に複数のFindがあったのですが順番を入れ替えたら直りました、よくわかりませんがとりあえず直ってよかったです

targetA = GameObject.Find ("Main Camera").transform;
targetB = GameObject.Find ("OneCube").transform;
target = GameObject.Find ("HogeGO").transform;

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ↓ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

target = GameObject.Find ("HogeGO").transform; //先頭に持ってきた
targetA = GameObject.Find ("Main Camera").transform;
targetB = GameObject.Find ("OneCube").transform;

366 :名前は開発中のものです。:2014/08/25(月) 14:46:38.31 ID:P033IWQN.net
原因が説明できてないのに
直ってるわけねーだろ・・・

367 :名前は開発中のものです。:2014/08/25(月) 16:50:45.52 ID:85djNAdW.net
ありそうなのは上のときは
targetB = GameObject.Find ("OneCube").transform;
↑の行でエラーが発生していて
target = GameObject.Find ("HogeGO").transform;
まで実行されていなかったとかだろうか

368 :名前は開発中のものです。:2014/08/25(月) 17:00:42.60 ID:lK8Gu+Wf.net
>>360
それは親オブジェクトを1とした時の大きさの値。
ローカル座標と考え方は同じ

369 :名前は開発中のものです。:2014/08/26(火) 01:22:06.88 ID:ubohNnsso
uGui触ってみてるけど、Rectのアンカーの使い方に慣れさえすれば
>>312の言ってたような割合指定もコード要らずになったね。

2Dスマホアプリなんかはかなり簡単に形になるね。
ListやらTabやらFragmentやらが無いから、
ソシャゲ風なUIは手実装かAsset頼りだけど。

370 :名前は開発中のものです。:2014/08/26(火) 11:31:52.26 ID:ZshJx4zJ.net
>>365
他のスクリプトが絡んでFindする前にオブジェクトが消えてたり名前変えてたりしてたりしないよなぁ…

371 :名前は開発中のものです。:2014/08/26(火) 15:34:33.82 ID:QZb7WN82.net
途中経過を見るために一度apkにしたんだけどやたら容量がある。
使用していないけどprojectに入っている素材とかも全部含まれてるってこと?

あとゲームを作る上でモデルのサイズは実物の物と同じくらいの大きさや重さにするといい
って書いてあったから守ってるんだけど
同じモデルを動かすのでも
スケールが1,1,1の物と10,10,10のものじゃ
容量や動作に違いが出るのでしょうか?

総レス数 1007
310 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200