トップページgamedev
1001コメント352KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/05/08(木) 08:44:31.15ID:3QHRiisF
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他

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

■前スレ
【3Dゲームエンジン】Unity質問スレッド8
http://toro.2ch.net/test/read.cgi/gamedev/1394451694/

■本スレ
【3Dゲームエンジン】Unity総合スレッド22
http://toro.2ch.net/test/read.cgi/gamedev/1395140574/

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0071名前は開発中のものです。2014/05/12(月) 16:20:02.71ID:QlRR3zr7
読み方とかあんのかw
えふびーえっくすとしか読んでなかったw
元はFilmBoxというソフト(今のMotionBuilder)で使っていた形式だからそういう拡張子になった。
0072名前は開発中のものです。2014/05/12(月) 16:40:45.03ID:oMo0NPfK
>>70
ふぁぼぅぁっくはふぅうぅぅぅー
と読むのが常識
0073ファッ!?2014/05/12(月) 18:33:46.15ID:R9/iYHdL
てっきりプレファブのfabがなんか影響してるかと思ってた。
エフボックスと読もうかな。
0074名前は開発中のものです。2014/05/12(月) 20:13:39.99ID:5rPawWfh
>>67
ASSETを買えばいいんじゃないかなあ?
0075名前は開発中のものです。2014/05/12(月) 22:22:32.09ID:m7HHc1jd
>>69
ありがとうございます。

頂いたソースを試したところ、
そのままのコピペでローカルHTMLにアクセスできました!
「. / 」を使った相対パスによるリンク移動もできます。

非常に助かりました、ありがとうございました。
0076名前は開発中のものです。2014/05/12(月) 22:51:50.34ID:YJc0YCae
すみません超初心者的な質問で申し訳ないですが
新しいプロジェクトを作りboxなど色々と設置していたのですが、
オブジェクト二つともにcolliderをつけて衝突させているのに何故かすり抜けます
昔作ったプロジェクトで同様にさせるとその場合はちゃんと衝突してくれます
一体何が悪いのでしょうか?
0077名前は開発中のものです。2014/05/12(月) 23:27:10.91ID:znnKJntU
rigidbodyがついてないのでは?
0078名前は開発中のものです。2014/05/12(月) 23:48:45.17ID:QlRR3zr7
同じになっていない、というだけの話だろうw
0079名前は開発中のものです。2014/05/13(火) 00:14:16.12ID:LvvTXgTr
申し訳ないです
isTriggerをつけていたのとMassがおかしかったせいでした……
0080名前は開発中のものです。2014/05/13(火) 19:57:43.82ID:u1gdOD4l
初めてインストールして使ってみようと思ったんですが
プレイボタン?を押すとフリーズしてしまうのですがなぜでしょうか
0081名前は開発中のものです。2014/05/13(火) 20:56:17.70ID:SgT4YkN2
再生しようとしたのはサンプルプロジェクト?
再生ボタンもう一回押しても効かない?
0082名前は開発中のものです。2014/05/13(火) 21:01:02.02ID:u1gdOD4l
再生使用としてるのは新規プロジェクトで作ったプロジェクトです
ボタンを押すと少し暗くなってフリーズします
再生ボタンをもう一度押しても効きませんでした・・・
あと右上の閉じるボタンを押してもフリーズしてしまうのを確認しました
PCの問題なのかな・・・
0083名前は開発中のものです。2014/05/13(火) 22:09:04.35ID:x2dhaw1S
>>82
問題を解決するために、第三者が同じ状況を再現できる最小限の情報というものを考察しなさいな
どのOSで?
インストールしたUnityのバージョン
新規プロジェクトで何を入れ、どのようにスクリプトを組んだのか

そういうつまらないような事が答えにたどり着く為の最短チケットになる。
0084名前は開発中のものです。2014/05/13(火) 22:11:04.65ID:+wBrWUW9
おまえらUnityでどんなアプリ作ってるのん?
晒せや
0085名前は開発中のものです。2014/05/13(火) 23:33:21.54ID:83/ryvKC
プログラミング初心者なんですけどc#を勉強したいと思います
unityに活かすなら何の本を買えばいいですか?
0086名前は開発中のものです。2014/05/14(水) 00:04:25.26ID:/c2F2ujj
初心者はまずBASICから。プチコンを買え
0087名前は開発中のものです。2014/05/14(水) 00:52:32.90ID:bPskNic8
using System.Collectionsっているの?
消しても平気?
0088名前は開発中のものです。2014/05/14(水) 01:21:57.32ID:xHdRaz/C
>>85
本当に初心ならC#のMicroSoftの書籍買え
>>87
System.Collections名前空間のclassを使ってないなら消してもOK(ListとかDictionaryとか)
0089名前は開発中のものです。2014/05/14(水) 02:56:31.27ID:/c2F2ujj
「Unity2Dガイドブック誰でもできる簡単ゲーム制作」という本の
ゲームを作っていくところを本の通りに操作していってるねんけど

アニメーションを終了したところに白い印をつけて、そこを右クリックして
Edit Animation Event
を選んでダイアログが出てくる、というところまではいいんけど
そこで
さっきソースに書いたAttackAnimationFinish()
が出てこなくて(本にはそれを選ぶとある)もう勧めなくなったので誰か教えて!

正誤表とかもないしこの本作ったアホはなんなの!?
0090名前は開発中のものです。2014/05/14(水) 03:03:56.67ID:VHjN/zdE
ああ、その本、買ってしまったんだ…
0091名前は開発中のものです。2014/05/14(水) 04:03:38.12ID:4myNBpiG
>>89
この本じゃないんだけどこういう事ってパソコン関係書籍だと多いよな。
どうしたらいいの?
0092名前は開発中のものです。2014/05/14(水) 06:43:28.68ID:b6hvlQvI
>>83
OSは7
unityのバージョンは4.3.4
スクリプトは起動してから一切弄ってないです
0093名前は開発中のものです。2014/05/14(水) 06:48:49.78ID:ENeZ33ee
頭を抱えてしゃがみこむ、そしてバンホーテンココアを飲んで全て忘れる。
0094名前は開発中のものです。2014/05/14(水) 09:25:18.52ID:BOgDHoC2
>>89
同じオブジェクトに付いてるスクリプトなら呼び出せるはずだけどな
Event設定する前にビルドしたか?
0095名前は開発中のものです。2014/05/14(水) 19:14:35.26ID:wd07Ux3I
unity2Dはじめたんですが、ゲームのスタートボタンを押したあとに
3,2,1ってカウントダウンさせたいんです。
3,2,1はそれぞれ独立した画像で。
どうしたらいいですかね。
0096名前は開発中のものです。2014/05/14(水) 20:00:17.92ID:VHjN/zdE
普通にテクスチャ差し替えれば?
画像がでかくてResourceからロードだと待ちが発生して
アレだっていうなら最初から配列にしてもっていてもいいだろうし
0097名前は開発中のものです。2014/05/14(水) 20:04:51.61ID:wd07Ux3I
2dのspriteの場合差し替えってどうやるんでしょうか。
SpriteRenderer hoge = GameObject.Find("timer").GetComponent(typeof(SpriteRenderer)) as SpriteRenderer;
hoge.sprite = Instantiate(Resources.Load("timer2"));

こんな感じでやってみたらエラーでます。
0098名前は開発中のものです。2014/05/14(水) 20:10:15.96ID:bidaLGmK
知恵遅れなのによくもまぁゲーム作ろうと思ったもんだな
0099名前は開発中のものです。2014/05/14(水) 20:13:55.31ID:wd07Ux3I
すみません自己解決しました。>>96さんありがとう
0100名前は開発中のものです。2014/05/14(水) 23:05:07.32ID:IliVOSoq
unityでマウスイベントOnMouseDown()が発生しません
Box Coliderをコンポーネントに貼り付けた場合でも
Cubeなどのコンポーネントを新しく追加した場合でも同様です
どうすればよいのでしょうか
0101名前は開発中のものです。2014/05/15(木) 01:05:38.58ID:yj7JPGI1
俺のところでは発生してるんだよなぁw
Box Coliderをコンポーネントに貼り付けた場合でも
Cubeなどのコンポーネントを新しく追加した場合でも同様です。

つまりここには何故そのような状況に陥ってるのかを推測させる為の情報が
一切語られていないw
0102名前は開発中のものです。2014/05/15(木) 02:36:08.55ID:gy7eFt4Y
すいません、メカニムの話なんですが
アニメーションクリップにイベントをつけてクリップの途中から二倍速にしたいと思ったので
アニメーションイベントの呼び出し関数に下記を書いたのですが上手く作動しません


public void JumpSpeedUp (){
 animation["Jump"].speed = 2;
}

これってもしかしてレガシーの方法だから上手く動かないとか?
誰かメカニムでスクリプトからクリップのスピードを変える方法教えてもらえないでしょうか
0103名前は開発中のものです。2014/05/15(木) 04:00:41.35ID:PzQCCPza
メッシュのコピーについて質問です

blenderで作ったキャラAとBをUnityにインポートして
キャラAが持つメッシュ(キャラAのアクセサリー)をコピーしてキャラBの子としてペーストすることで
キャラBにも同じアクセサリーを持たせようとしたのですが

ペーストしたメッシュがキャラAの位置から動かず、キャラBに追従させることができません
どうしたらキャラBにメッシュを追従させることができるでしょうか
ご教授のほどをお願いします
0104名前は開発中のものです。2014/05/15(木) 10:19:28.49ID:YU6rX58i
>>103
それ素直にキャラとアクセサリ別に出力して読み込んじゃダメなの?
0105名前は開発中のものです。2014/05/15(木) 12:01:03.65ID:PzQCCPza
>>104
すみません、アクセサリーといってもボーンにウェイト付けがされているものでして
読み返してみたら質問内容が意味不明で申し訳ないので言い換えますと

あるメッシュのボーンウェイトを他のキャラのボーンに適用させる方法はありますでしょうか
お互いのボーンの名前と構造は同じなのでメカニムのように上手くいくと思ったのですが
メッシュのSkinnedMeshRendererのRootBoneを適用させたいキャラのものに置き換えても上手くいきません
0106名前は開発中のものです。2014/05/15(木) 12:04:54.07ID:yj7JPGI1
>>102
この辺とか
ttp://answers.unity3d.com/questions/418854/getting-a-list-of-mecanim-states-in-animator.html

現状メカニムは個別のステイトをスクリプトで
コントロールするという発想にはたってないっぽいよなぁ。
0107名前は開発中のものです。2014/05/15(木) 12:48:13.87ID:PzQCCPza
度々すみません自己解決しました

スクリプト上でボーンの関連付けをしたら上手くいきました
var render : SkinnedMeshRenderer; //アクセサリーメッシュ
var element : SkinnedMeshRenderer; //適用させたいキャラのメッシュ
function Start () {
render.bones = element.bones;
}
0108922014/05/15(木) 15:20:33.16ID:01rWa81p
>>92ですけど
再インストールしてもやっぱり同じタイミングでフリーズしてしまいました
それからスクリプトをいじろうとスクリプトファイル?をダブルクリックしてもフリーズしてしまいました・・・

他に提供するべき情報は何でしょうか・・・
0109名前は開発中のものです。2014/05/15(木) 15:33:46.02ID:sdJMj0I0
>>108
>>83 をもう1回読んでそれでも他に出さないんならどうしようもねえよ
0110名前は開発中のものです。2014/05/15(木) 15:34:56.68ID:yj7JPGI1
Unityは開かずにMonoDevelop起動してみてビルドとかのタイミングで
おかしくなるようならそっち関連かも、という切り分けはできる、かもしれない。
そうではなく実行時に止まるならグラフィックドライバ関連とか

よくある事例ではないと思うので「その環境」の問題である可能性は高いと思う。
細かく切り分けていくしかないと思うけど最終的に原因がわかったとき
新しい環境を用意する以外解決不可、ということがわかる、って可能性は否定できない。
0111名前は開発中のものです。2014/05/15(木) 15:55:12.74ID:01rWa81p
MonoDevelopを使ったみたところ、ビルドを行ってもフリーズはしませんでしたが
どういうわけかツールバーの"Run"をクリックすると確実にフリーズしてしまいました
0112名前は開発中のものです。2014/05/15(木) 16:02:35.66ID:yj7JPGI1
じゃあUnityのランタイムを動かすとおかしくなるってことだなぁ。
とりあえず常駐してるようなソフトがあったら落としていって
それでもダメならタスクマネージャーから不要そうなプロセス落としていって、
とかやってくしかないなw
0113名前は開発中のものです。2014/05/15(木) 16:40:45.53ID:01rWa81p
そうですか・・・あるがとうございました
0114名前は開発中のものです。2014/05/15(木) 16:45:37.56ID:HSeTJRQl
テクスチャからスプライトを作る方法はあるけど
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5F, 0.5F), 1F);

スプライトからテクスチャを作る方法ってないんだろうか
Texture2D texture = ??????
0115名前は開発中のものです。2014/05/15(木) 16:49:59.22ID:YLn7UAmt
>>114
アセットを買えばいいと思う
0116名前は開発中のものです。2014/05/15(木) 17:16:20.28ID:yj7JPGI1
>>114
スプライトはピクセルを切り出すためのツールではない、でFAではないかw
0117名前は開発中のものです。2014/05/15(木) 18:15:14.17ID:lIUO2qzv
>>114
スプライトはテキスチャの表現を変えてるだけなので
スプライトの元テキスチャからテキスチャを作りなさい
0118名前は開発中のものです。2014/05/15(木) 19:47:50.89ID:h4rDt/Tu
Blenderでアニメーションをつけているのですが、髪の毛の揺れなどを物理演算させるにはUnity側で工夫しないといけないですか?
Blenderで設定した物理演算をそのままUnityで動かすことはできないですよね?
0119名前は開発中のものです。2014/05/15(木) 19:59:16.02ID:PzQCCPza
>>118
blenderから持ってこれるものは限られているので
参考http://docs-jp.unity3d.com/Documentation/Manual/HOWTO-ImportObjectBlender.html
髪の毛や服などの揺れはUnity側でSkinnedClothコンポーネントを使う

対象がキャラクターの場合はコリジョンも付くInteractiveClothは使えない
揺らしたいものにボーンが通ってるのならジョイントを使う方法もあるらしい
0120名前は開発中のものです。2014/05/15(木) 20:32:03.00ID:HSeTJRQl
>>116>>117
らじゃった。ありがとん

>>115
特に君のアドバイスは最高に役に立ったよ
朝鮮式で恐縮だが1000年にわたる感謝の意を捧げたい
0121名前は開発中のものです。2014/05/15(木) 20:36:06.39ID:h4rDt/Tu
>>119
なるほど、ありがとうございます。

MMD4MecanimだとBulletエンジンをプラグインとしていれておけば物理が効くようなので、似たことができないかなと思ったんですが、Blenderでは無理なんですね。
0122名前は開発中のものです。2014/05/15(木) 21:21:57.16ID:YLn7UAmt
アセットかったらできるのに
0123名前は開発中のものです。2014/05/15(木) 23:24:52.69ID:CBheOSPs
私もMMD4Mecanimでアクションゲームを作成しているのですが
アニメーション自体がx軸移動するものの場合
boxCollider2DがAnimation(モデル)について来るように出来ないのでしょうか?

初歩的な質問かも知れませんがお願い致します。
0124名前は開発中のものです。2014/05/16(金) 00:37:22.02ID:7zws8Arq
MMD4mecanimの仕様はしらんがApplyRootMotion入ってれば
勝手についてきてくれるんじゃないのか。
別にスクリプトでやったってどうってことはないだろうとは思うけど
0125名前は開発中のものです。2014/05/16(金) 01:32:06.60ID:0UTB2jJ7
GUIテクスチャーとGUIって関連付けられないの?
0126名前は開発中のものです。2014/05/16(金) 01:33:30.96ID:0UTB2jJ7
つまりGUIテクスチャー使ってGUIのHoverやDownのイベントを取得したいんだけど、できるの?
0127名前は開発中のものです。2014/05/16(金) 01:48:52.48ID:NddkWnFi
>>124 お返事ありがとうございます。
ApplyRootMotionをオンにすると動作がおかしくなり
調べてみたところ 2Dのモードで作成してしまっているため
使用できないという事がわかりました・・・
ttp://d.hatena.ne.jp/SandRiver/20140409/1397065490

これ使えたら無茶苦茶便利ですね・・・。ありがとうございました。
0128名前は開発中のものです。2014/05/16(金) 02:02:46.56ID:7zws8Arq
>>126
OnMouseOverやOnMouseDownとかはとれるよ
0129名前は開発中のものです。2014/05/16(金) 02:14:17.63ID:+CqGqMER
>>106
思ったより面倒そうですね
おっしゃる通り個別のステートではなくanimator自体のスピードを変える方が融通は効かないものの楽そうです
ありがとうございます
0130名前は開発中のものです。2014/05/16(金) 02:25:30.20ID:0UTB2jJ7
>>128
GUIテクスチャーがGUIの裏に隠れてOnMouseDownが機能しないんだけど
0131名前は開発中のものです。2014/05/16(金) 02:35:58.14ID:UMn0tTBz
>>130
GUIのハンドリングをWindowシステムのGUIやスクラッチビルドのゲームライブラリみたいに扱いたいなら黙ってNGUI買っとけ
0132名前は開発中のものです。2014/05/16(金) 02:41:53.66ID:0UTB2jJ7
GUIテクスチャが使えないとなるとマウスとrectconinsで判定するしかないか・・・
0133名前は開発中のものです。2014/05/16(金) 02:43:24.88ID:7zws8Arq
>>130
そら前になんかあったらそっちにイベントとられるだろw
0134名前は開発中のものです。2014/05/16(金) 02:44:27.37ID:0UTB2jJ7
つまり共存はできないと
なんでGUIに標準でhoverとdownついてないんだよ・・・
0135名前は開発中のものです。2014/05/16(金) 04:32:27.41ID:0UTB2jJ7
EventType.Repaintってあるけど再描画ってどういうこと?
0136名前は開発中のものです。2014/05/16(金) 05:45:48.15ID:7zws8Arq
再描画以上に何を説明しろってんだw
具体的に言えば必要な前処理をしてGPUに描画命令を出して
VRAMのバックバッファに描画データを生成して
描画バッファとフリップして画面表示を行う、その一連の処理だろう。
0137名前は開発中のものです。2014/05/16(金) 08:20:51.26ID:P0YiCb+B
spriteを差し替えようとしているのですが変わってくれません

sprite_renderer = GameObject.FindWithTag("Player").GetComponent<SpriteRenderer>();
とコンポーネントを取得しているのですが

試しに
Debug.Log ("name : " + sprite_renderer.sprite.name);
sprite_renderer.sprite = sprite_2;
Debug.Log ("name : " + sprite_renderer.sprite.name);

と見て見ると、ちゃんと
name : sprite1
name : sprite2
と変わっていますが、ゲーム実行中のシーンのインスペクタ上では変わっていません

Playerは一体しか居ないので他に変わるものは無いはずなのですが
何故変わってくれないのでしょうか?
0138名前は開発中のものです。2014/05/16(金) 09:13:06.41ID:7zws8Arq
別に、それで変わるなぁ。
つまりおそらく原因はそこにはないw
0139名前は開発中のものです。2014/05/16(金) 09:35:58.30ID:0UTB2jJ7
スクロールビューのGUIStyleにバグあるの?
0140名前は開発中のものです。2014/05/16(金) 10:39:08.82ID:P0YiCb+B
>>137,138

では、そのPlayerは

public GameObject player;
void Awake(){
if(GameObject.FindWithTag ("Player") == null) player = (GameObject)Instantiate(player);
DontDestroyOnLoad (player);
}
と、プレハブで生成しているのですが、そちらが原因でしょうか…?
他には特殊なことはしていないと思うのですが…
0141名前は開発中のものです。2014/05/16(金) 10:58:30.42ID:P0YiCb+B
>>140
PlayerにAnimatorを張っているのを忘れていました
多分これで常にデフォルトの状態になってるんだと思います
お騒がせしました
0142名前は開発中のものです。2014/05/16(金) 17:18:18.86ID:r3ic+8HT
みんなアセット買おうよ
ぜんぶ解決だよ
0143名前は開発中のものです。2014/05/16(金) 19:09:53.56ID:uo33UwJK
>>124
ApplyRootMotionってそんな機能だったっけ?
アニメーションの動きにRootボーンのtransform情報を追従させるだけじゃない?
CharacterControllerの制御が変になるから普段は切っててよく知らないが
0144名前は開発中のものです。2014/05/16(金) 19:29:44.60ID:OKY6welW
rootBoneっていうかAnimatorがくっついてる
ゲームオブジェクトのtransformが動く。
実は俺も3D方面なので2D関係はよくわからんで答えてたんだが
3Dキャラクターでいえばインポートした最上位にAnimatorが
くっついてるからそれを子供にして、とかそういう構築をしなおさないなら
基本的にそのまま動く。そこにコリダーがついていれば当然それも動く訳で。
ただやっぱリジッドボディやキャラクタコントローラとは相性悪い訳で
俺もApplyRootMotionは切ってる。
0145名前は開発中のものです。2014/05/17(土) 02:29:19.20ID:G/VzeCRh
GUIのscrollbarかscrollviewにスクリプト指定でGUIStyle貼れてる人いる?
リファレンス読んでもよくわからないんだけどどうやるの?
0146名前は開発中のものです。2014/05/17(土) 02:55:48.52ID:JRBFJ5S/
>>145
asset storeで解決するよ
0147名前は開発中のものです。2014/05/17(土) 03:21:21.09ID:G/VzeCRh
>>146
asset storeじゃないと解決しないの?
0148名前は開発中のものです。2014/05/17(土) 10:31:20.83ID:/N5vZpGe
asset馬鹿は進歩がない猿
0149名前は開発中のものです。2014/05/17(土) 11:16:49.68ID:G/VzeCRh
GameObjectのemptyって容量どうなの? 整理のためのフォルダ代わりに使っていいの?
0150名前は開発中のものです。2014/05/17(土) 11:21:39.62ID:KTDmZnCB
心配ならStatsで確認してみればいい
0151名前は開発中のものです。2014/05/17(土) 12:10:38.04ID:hsJGd2Mp
>>148
でもUIでウダウダ言ってる彼にはNGUIが必要と思われるので今回だけは的外れじゃないんだよね。
0152名前は開発中のものです。2014/05/17(土) 12:16:48.38ID:VutIi5Mv
他人のPCを遠隔操作できるASSETはありますか?
よろしくお願いします
0153名前は開発中のものです。2014/05/17(土) 15:34:07.16ID:/Cn/LPAN
blenderからのマテリアルのインポートの仕組みどうなってるんだコレ…
UV画像エディターで面ごとのテクスチャを正確に指定したのに
Unityに移すとマテリアルの名前が入れ替わってやがる…
0154名前は開発中のものです。2014/05/17(土) 16:25:57.41ID:hsJGd2Mp
>>153
Blenderからのimportはイマイチなのは結構前から言われてるけど治ってない
FBX出力できるエディタが無いとかなり辛いと思う
0155名前は開発中のものです。2014/05/17(土) 17:50:17.86ID:/Cn/LPAN
>>154
Prefabからblender開けて、編集したらすぐ反映してくれるテンポのよさがいいのだが
素材の編集は外部ツール頼みなんだから早く改善してほしいもんだ
0156名前は開発中のものです。2014/05/17(土) 18:12:46.15ID:VoUpwMPD
そんなレベルの改善はあり得ないので安心して欲しいw
0157名前は開発中のものです。2014/05/17(土) 21:22:03.26ID:1SUrLkeU
サウンドコントロールやフェードコントロールなどのマネージャクラスを作成し、シングルトンにしました。
ゲーム内のほぼすべてのシーンで使うので、シーンを作成するときは、
下記のようにこれらのマネージャ用オブジェクトをひとつひとつ手動で GameObject として作成しています。

1) 空の GameObject をヒエラルキーに作成する。
2) 名前をそれぞれのマネージャ名にし、スクリプトを割り当てる
3) 1と2をマネージャの数だけ繰り返す

これらのオブジェクト追加の手動操作を、ソースコードなどで代替することはできないでしょうか。
0158名前は開発中のものです。2014/05/17(土) 22:00:32.10ID:iN82Kybn
この辺か?
ttp://docs.unity3d.com/Documentation/ScriptReference/ExecuteInEditMode.html
0159名前は開発中のものです。2014/05/17(土) 22:00:33.82ID:hsJGd2Mp
>>157
そのマネージャを保持したGameObjectに固有名を当てた後でプレファブ化する
プレファブをResourcesフォルダに突っ込む
全てのシーンで固有名のオブジェクトが存在するかをテストしてから実行するように調整する。
もしシーン実行時に存在しなければResourcesからInstantiateして名前を割り当てなおす(名前にcloneってのがついちゃうから)

もう一つはDontDestroy指定をそのゲームオブジェクトに対して実行して常に持ち回るって言う方法がある。

どちらにしてもシーンを跨ぐように繋げるにはちょっとしたUnity固有のテクニックが必要になるので、ここはどうしようもないかもしれない。
0160名前は開発中のものです。2014/05/17(土) 22:12:07.66ID:Np0SwYK/
FPSのゲームを人に見てもらうというデモンストレーション目的でノートPC購入を考えてるんですが、
処理速度の面でおすすめありますか?
予算は20万くらいでAppleのMacBookProに(出来ればwindowsを入れて)使うことを考えてるんですが
最近のPC事情に疎いのでこの予算帯で他に何かありましたら
0161名前は開発中のものです。2014/05/18(日) 06:08:59.96ID:/8kbbPIM
PuroductName(起動しているゲームのタイトル)をゲーム起動後に変える方法ってありますか?
void Awake(){
PlayerSettings.productName = "name2";
}
を使うにはUnityEngineをusingするしか無いのですが
これはEditorフォルダ内でしか機能しないので、ゲーム中では反映されません…
0162名前は開発中のものです。2014/05/18(日) 09:08:46.37ID:4xf7lYJL
セーブどうやってる?
標準のレジスタに書き込むやつ使ってる?
0163名前は開発中のものです。2014/05/18(日) 09:20:28.65ID:VKl8Z8xM
ゲームによる。
シューティングみたいにスコアとか軽いものはplayerprefsだしちょっと情報が多いのはローカルDBやな。
さらに規模が大きいとかクラックに対抗するなら鯖になるんかな、これはよく知らんけど。
0164名前は開発中のものです。2014/05/18(日) 11:28:50.50ID:DpQrJofS
>>160
アンドロイドで出力すれば、
〇万人単位でDLして感想くれるよ。

端末はtegra K1に合わせてやれ
0165名前は開発中のものです。2014/05/18(日) 17:31:02.33ID:kgqo2yk+
プレファブ内にpublicな変数を作成しました。
呼び出す側で、プレファブをInstantiateするとき、こんな感じで作成しています。

GameObject インスタンス名 = (GameObject)Instantiate (プレファブ名);

こうしたとき、作成したインスタンス内の変数にアクセスするにはどうしたらいいでしょうか。
下記ではエラーになりました。

インスタンス名.作成した変数 = "abc";  ※変数がStringだった場合
0166名前は開発中のものです。2014/05/18(日) 17:32:40.83ID:ylkorF/V
GetComponentして該当クラスにキャストすればいいと思うよ
0167名前は開発中のものです。2014/05/18(日) 17:32:46.84ID:kgqo2yk+
プレファブ(に設定したスクリプト)内にpublicな変数を作成しました。
0168名前は開発中のものです。2014/05/18(日) 17:34:25.84ID:R8ENLrUb
>>165
インスタンス名.GetComponent<アタッチしてるスクリプト>().作成した変数 = "abc"
0169名前は開発中のものです。2014/05/18(日) 17:44:04.25ID:kgqo2yk+
作ったクラス名 xxx = GetComponent<作ったクラス名>();
xxx.作成した変数 = "abc";

で出来ました。ありがとうございます。
GetじゃなくてSetしたいんだけど、と思い、GetComponentを勘違いしていました。

と書こうとおもったら、1行で済ませる方法もありがとうございます。
こちらも試して上手く行きました。ありがとうございます。
0170名前は開発中のものです。2014/05/18(日) 19:06:20.79ID:Yb4BleYx
MAYA2014で作ったキャラクターのFBXデータをUnityで読み込んだら
何故かモデル透けて裏側が見えてしまう
法線が裏返ってるのかと思って確認したんだけど問題ないみたいだし
ぐぐっても似たような事例が見つからなくて困ってる
■ このスレッドは過去ログ倉庫に格納されています