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

【3Dゲームエンジン】Unity質問スレッド15 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2015/01/18(日) 15:07:35.72ID:KSRpGyGF
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質問スレッド14
http://peace.2ch.net/test/read.cgi/gamedev/1418120993/

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

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう
0655名前は開発中のものです。2015/02/16(月) 21:41:33.35ID:Z0OsqIxj
a
0656名前は開発中のものです。2015/02/16(月) 21:41:56.22ID:Nat1f4Jb
>>654
ログ出してタイミング見ればいいよ。
static初期化タイミング云々は結構深くて、
「bかそれより前」という答え方になると思う。
0657名前は開発中のものです。2015/02/16(月) 21:51:29.10ID:2IYbTJ7l
>>655-656
なるほど、了解です!
有難うございました。
0658名前は開発中のものです。2015/02/16(月) 22:45:34.86ID:fIWuOMSy
GameObject obj に AnimationClip animClip を設定してアニメーションを表示させたいです。
このコードを実行したのですが、アニメーションは表示されませんでした。

一時停止して Animation コンポーネントの値を見ると
Animation が none (Animation Clip) になっています。
Animations には設定した Animation1 が入っていました。

Animation animation = obj.AddComponent("Animation") as Animation;
animation.AddClip(animClip, "Animation1");
animation.Play("Animation1");
animation.wrapMode = WrapMode.Loop;
animation.transform.position = new Vector3(-2, 0, -1);

間違いを指摘していただけると助かります。
0659名前は開発中のものです。2015/02/17(火) 00:43:54.95ID:EKF8Hxv8
>>658
何も間違っていない。
それでそのまま動く。
つまり他の何かが間違っている。
例えばアニメーションのキーに何も、もしくは有効な
アトリビュートのキーがはいっていない。
クリップのタイプが間違っている(プロジェクトビューで
アニメーションクリップを選んでインスペクターをデバッグモードにしたとき
Animation Typeが1になっていない、等々、色々考えられるが
他の全ての情報がなければ原因はわからない。
0660名前は開発中のものです。2015/02/17(火) 01:03:32.63ID:EKF8Hxv8
>>658
少し追記しておくとその文はStart()にそのまま書いてやってみた。
ちょっと気になるのは「animation」の識別子は本来
MonoBehaviourで定義されている。
勿論継承先で再定義すればオーバーライドされるだけだと思うし
実際そのまま動いているが書き方によっては
何かおかしなことになっているかもしれない。
0661名前は開発中のものです。2015/02/17(火) 02:36:05.80ID:2n27txD/
>>658
プログラムなんて無駄なことなんてせずにアセット使いましょうよ
0662名前は開発中のものです。2015/02/17(火) 08:15:28.59ID:MECuMyr0
>>654
コンストラクタに書いたらクラスが生成される度に実行されるよ
最初に一回にしたければ、クラス内のメソッド外に書けばいい
勿論スタティックにしないといけない
0663名前は開発中のものです。2015/02/17(火) 08:16:31.71ID:MECuMyr0
>>662
ごめん、なぜかコンストラクタに見えてた
それであってる
0664名前は開発中のものです。2015/02/17(火) 09:52:17.26ID:KhMWXerU
FBXのAnimation("Take 001"というクリップ名)が再生終了したら敵を削除したいのだけど、
うまく消えてくれません。。。
*********************************
function makeEnemy()
{
if(currentEnemy == null)
{
//敵 インスタンス複製処理
currentEnemy = Instantiate(Prefab_A, Prefab_A.transform.position, Prefab_A.transform.rotation);
}

//// アニメ再生終了したときに消したい)////
if(currentEnemy.animation["Take001"].normalizedTime == 1.0)
{
Destroy(currentEnemy);
currentEnemy = null;//カラに初期化
}
}


function Update ()
{
makeEnemy();
}
***************************************
0665名前は開発中のものです。2015/02/17(火) 10:40:04.69ID:qLqQg8Su
>>651-653

Nexus7(2013)とXperiaZ3で確認しても同様ですので端末の問題ではないと思います。
画面いっぱいを1秒で1周させるくらいの早さで指をくるくる回しても指先にくっついてくる感じですか?
こちらでは指先から完全に離れてしまって、0.3〜0.5秒くらい遅れてついてくる感じになってしまいます。
0666名前は開発中のものです。2015/02/17(火) 11:05:00.23ID:2n27txD/
>>664
アセットをかえば問題解決すると思いますよ
0667名前は開発中のものです。2015/02/17(火) 11:31:37.55ID:G8APQ3uB
>>664
//// アニメ再生終了したときに消したい)////
のif文はどこに置いているんだい?
0668名前は開発中のものです。2015/02/17(火) 12:07:26.71ID:T/HrOegi
>>664
小数の値って==で比較していいん?(´・ω・`)
0669名前は開発中のものです。2015/02/17(火) 12:45:28.87ID:2swKsT4k
>>667
敵を作成した後にです...??

>>668
え!ダメなの!?
0670名前は開発中のものです。2015/02/17(火) 12:51:59.60ID:Aj4qymuu
Unity無料版とネイティブプラグインについて質問なんですが、ネイティブ
プラグインはiOS/AndroidではUnity無料版でも利用できるというのは
理解してるんですが、iOS/Android向けネイティブプラグインの開発も
Unity無料版で可能なのでしょうか?
0671名前は開発中のものです。2015/02/17(火) 13:03:51.21ID:+/iTCq2X
>>669
浮動小数点数値は誤差を含むから積算結果が等値って方が珍しいんじゃないの?
積極的な対応は最小値epsilonを考慮した比較とか使うのが普通

>>670
AndroidはAndroid StudioとかiOSはXCodeで作る
Androidはjarにしてプラグインフォルダに持ち込み、iOSはビルド時にプラグインフォルダに突っ込んだソースファイルやlibがXCodeに渡されてコンパイルされる。
0672名前は開発中のものです。2015/02/17(火) 13:07:44.26ID:Aj4qymuu
>>671
ありがとうございます、Unity Pro版を持ってなくてFree版だけでも、
そういうふうにしてXcodeとかEclipseとかでネイティブプラグイン
作って実機デバッグ実行できる、というので合ってますか?
0673名前は開発中のものです。2015/02/17(火) 13:14:05.38ID:T/HrOegi
>>669
浮動小数点を含む等号演算子
http://docs-jp.unity3d.com/Documentation/ScriptReference/Mathf.Approximately.html
0674名前は開発中のものです。2015/02/17(火) 13:18:33.41ID:Zjjcxn9x
>>664
あ〜、ちょっと見てみたがどうもanimation.normalizedTimeは
再生が終わると0に即戻りするみたいだな。
かといって
if(currentEnemy.animation["Take001"].normalizedTime == 0.0)
ではその場で消えるw
まぁこの場合は
if(!currentEnemy.animation.isPlaying){

}
あたりが妥当なのだろう。
なにかのアニメーションが再生中か、なら
if(!currentEnemy.animation.IsPlaying("Take001"))
とかでもいいだろう。
まぁ再生を0.01から始めるようにセットしておいて0で判定とか
色々メンドクサイやり方も出来るとは思うが。
0675名前は開発中のものです。2015/02/17(火) 14:25:12.99ID:ecDuu/zi
>>672
あなたはとりあえずアセットを買うべきです
0676名前は開発中のものです。2015/02/17(火) 14:55:06.06ID:2swKsT4k
>>674
if(!currentEnemy.animation.IsPlaying("Take001"))
でやってみると、今度は、敵自体が発生しなくなりました...
0677名前は開発中のものです。2015/02/17(火) 15:00:05.58ID:2swKsT4k
676です。うそです。敵発生しました。すいません。でもやはり、消えてくれません...
0678名前は開発中のものです。2015/02/17(火) 15:04:31.22ID:mcIYbzPY
ユニテェイベントでシービューからイベントを送るか、スクリプトで送るか設計思想を整理できないんだが
0679名前は開発中のものです。2015/02/17(火) 15:05:03.82ID:Zjjcxn9x
ちなみに俺のところでは普通に出来た。
まぁC#でやってるんで何か動作上違いがあるのかもしれん。
0680名前は開発中のものです。2015/02/17(火) 15:06:23.78ID:Zjjcxn9x
あと当然だけどアニメーションがループモードだったりしたらどうにもならんな
0681名前は開発中のものです。2015/02/17(火) 15:07:52.43ID:+/iTCq2X
>>675
実機デバッグできんこたぁねぇが、Pluginは単体でUnitTestなどで完了させて置く方が良いよ。
Buildしないとデバッグできないから時間食ってしょうが無い
0682名前は開発中のものです。2015/02/17(火) 15:11:38.32ID:3tzJ35kx
>>641
ありがとう。シーンに使ってないスクリプトのエラーだった
0683名前は開発中のものです。2015/02/17(火) 18:31:25.37ID:v0NP1e2d
C# で MonoBehaviour の中で new GameObject() で作ったプレハブがヒエラルキーに大量に出てしまうのを防ぐにはどうすればいいですか?
Unity のエディタでいうとヒエラルキーのオブジェクトの右クリックのメニュー Create Empty のように入れ子にしたいです。
0684名前は開発中のものです。2015/02/17(火) 18:49:49.92ID:kxgu6e1v
質問よろしいでしょうか。
すごい初歩的な質問なのですが、立方体のオブジェクトをスナップで並べてみて
その上をAddforceで立方体で移動させると敷き詰めた立方体の継ぎ目に引っかかります。
いつもはその上に大きなコリジョンを作成し対応していますが、ランダム生成で
他のオブジェクトのマップを作成しようとした場合、対応が手間になる気がします。
敷き詰めたオブジェクトのPosition、Rotationを調べてみてもおかしな点はないように思えます。
移動させている立方体のY座標は小数点第五位以降で変動しているため、
何かしら問題が起きているようなのですが。。。
この原因と改善策に心当たりがおありの方はいますでしょうか。
長文失礼しました。よろしくお願いします。
0685名前は開発中のものです。2015/02/17(火) 18:51:22.42ID:BzlPeNOo
>>683
ヒエラルキ上でオブジェクトの子にしてるのと同じ状態にしたいなら
C#でも子にすればいいだけだよね

go = new GameObject;
go.transform.SetParent( this.transform,false );
で実行中のGameObjectの子になる
詳しくは
http://docs-jp.unity3d.com/Documentation/ScriptReference/Transform.html
とかで
0686名前は開発中のものです。2015/02/17(火) 19:06:07.64ID:tcro3/XJ
スクリプトいじったら自動的にコンパイルされるけど
たまにコンパイルされるまで時間かかるというか
されているのかされて無いのかわからないので
手動で確実にしたいんですが何か方法ありますでしょうか?
0687名前は開発中のものです。2015/02/17(火) 19:24:55.47ID:v0NP1e2d
>>685
できました!ありがとうございます!
0688名前は開発中のものです。2015/02/17(火) 20:08:29.74ID:2swKsT4k
ひとつのオブジェクトに2つのAudioSourceコンポーネントを設置して、
どちらかの効果音をランダムに再生したいのですが、GetComponents の行で、
"BCE0044: unexpected char: 0x0."
というエラーでひっかかります。
なぜでしょうか??

***************************
var splash_snd01 : AudioSource;
var splash_snd02 : AudioSource;
var sndRandomNum : int;

var audioSource : AudioSource[] = GetComponents(AudioSource);

sndRandomNum = Random.Range(1,2);
if(sndRandomNum == 1)
{
splash_snd01.PlayOneShot(splash_snd01.clip);
}
else if(sndRandomNum == 2)
{
splash_snd02.PlayOneShot(splash_snd02.clip);
}
0689名前は開発中のものです。2015/02/17(火) 20:25:23.18ID:Zjjcxn9x
>>688
var audioSource : AudioSource[] = GetComponents("AudioSource");
ということではなく?

>>686
F8を押すとかそういうことではなく?

>>684
それはもう引っかかるものなんだわ。自分で衝突判定と
衝突した時にどう処理するかを考えて書いてみればわかる。
多分立方体じゃなく板を置いても引っかかるときは引っかかるはず。
基本的にはどうにもならない。
移動側にスフィアコリダー使うとかそのくらいかな
0690名前は開発中のものです。2015/02/17(火) 21:01:58.00ID:kxgu6e1v
>>689
ご回答ありがとうございます。
そうですよね。物理演算な以上仕方ない気はしていました。
スフィアコリダー等で軽減すべきなんですね。
というかこの場合設計に問題ありということで別の対応を考えます。
ありがとうございます!スッキリしました!
0691名前は開発中のものです。2015/02/17(火) 21:07:19.74ID:jYihhmb+
>>688
なんか日本語とか使ってね?(´・ω・`)
0692名前は開発中のものです。2015/02/17(火) 21:28:11.20ID:Zjjcxn9x
>>688
JSはそのオーバーロードもあるんだな、すまん。
ttp://answers.unity3d.com/questions/502670/unexpected-char-0x0.html
あたり見るとコピペとかしてどこかにnullバイト文字がまぎれてるとそうなる、
とかは書いてあるな
0693名前は開発中のものです。2015/02/18(水) 01:40:25.99ID:bPlg12Jm
基本的で恐縮ですが教えてください。
ダメージを受けたらゲージを減らすように作っています。

canvas/HP1(Image)の中にあるスクリプトのImageを無効にしてゲージを減らそうとしています。


Component HP;

void Start()
{
  HP = GameObject.Find ("Canvas/gage/HP1");//.gameObject.GetComponent<Image>();
}

void OnCollisionEnter(Collision col){
  if (col.gameObject.CompareTag ("Teki"))
  {
     HP.enabled = true;
  }

何となくこんなかんじかなとやってみたのですが
どうも上手く行きません。
お願いします。
0694名前は開発中のものです。2015/02/18(水) 02:08:49.99ID:nsPP62eV
>>693
ダメージのゲージ表示は、アセットをかえば簡単に実装できますよ
0695名前は開発中のものです。2015/02/18(水) 02:22:18.85ID:DVC0Q3lM
enabled = trueでは無効にならないのでは?
というか、ゲージを減らす方法として画像を有効/無効で切り替えるのは得策ではないかと

http://qiita.com/T_2/items/fcbcbf4a5cb816330263
適当にググったけど良さそうなのはこれかな?
「Unity ゲージ」でググるだけで色んな方法が見つかるので自分に合ったのをどうぞ
0696名前は開発中のものです。2015/02/18(水) 03:20:47.21ID:niH5Cdll
Androidアプリ作ってみてるんですが
Application.Quit()してもバックグラウンドにいくだけでアプリが終了しないのですが
別の方法で終了させることはできますか
0697名前は開発中のものです。2015/02/18(水) 03:49:16.99ID:6Y085bEt
Unityのコツの1つはアニメーションというアニメーションを
MechanimとiTweenでやってしまうことだと思う。

自前スクリプトでアニメーションさせるなんて、どうしても!って場合以外は悪だよ。
0698名前は開発中のものです。2015/02/18(水) 07:59:45.74ID:R2AlrmjC
App StoreにあるVISUAMUSIOというアプリのようにオブジェクトを動かしても必ず左から順番に音を鳴らしたくて色々試したのですが、どうもうまくいかなかったので質問させてください。
ヒントだけでもいいのでぜひお願いします。
有料アプリなので、デモ動画のURL貼っておきます
https://www.youtube.com/watch?v=cvHXcur-WrM
0699名前は開発中のものです。2015/02/18(水) 09:17:49.49ID:X48MqoAR
オブジェクトを鳴らす用の見えない当たり判定オブジェクトを左から右に流してるとか?
0700名前は開発中のものです。2015/02/18(水) 09:42:17.06ID:R2AlrmjC
まさかそんな単純な仕組みなんですかね?
ちょっと難しく考えすぎていました・・・
トライしてみます
0701名前は開発中のものです。2015/02/18(水) 09:54:26.58ID:nsPP62eV
>>698
アセットをかえば問題に解決すると思いますよ
0702名前は開発中のものです。2015/02/18(水) 10:30:06.14ID:fk+T0nHR
>>698
Arrayに突っ込んでオブジェクトが生成とか移動終了(スクロールでの移動は含まない)したときに毎回X座標でソートすれば良いだけ
0703名前は開発中のものです。2015/02/18(水) 10:52:09.54ID:j27NJCTJ
>>693
Imageコンポーネントをインスペクタから設定
ImageType Filled
FillMethod Horizon(横ゲージ、縦ゲージ、円なども選べる)
FillOrigin Left (どこから増えるか、ゲージタイプで異なる)
FillAmount (0.0~1.0 の範囲でゲージの埋まり具合を指定できる)

エディタで色々いじって機能を確かめてみて
http://docs.unity3d.com/ScriptReference/UI.Image.html

ちなみに
HP.enabled = true;
これはインスペクタの Image の横にあるチェックのオンオフをスクリプトから操作していることになり、
この場合は「有効」になるだけ。
falseをいれて「無効」にすればお手軽にImageだけ非表示にできるから便利
0704名前は開発中のものです。2015/02/18(水) 13:42:16.28ID:ch9amzFx
ネットワーク越しのAnimator同期処理を作っていて、同期先はAnimator.CrossFadeを実行することでAnimationStateを再生しています。

このCrossFadeのパラメータについて質問です。

public void CrossFade(string stateName, float transitionDuration, int layer = -1, float normalizedTime = float.NegativeInfinity);

第2パラメータである、transitionDurationを同期元と同じにしたいのですが、Scriptでの取得方法が分かりません。
TrasitionInfoから取得できるかと思っていたのですが、そんな情報なさそうですし……。

同期元のAnimatorのどの情報を利用すれば、同期先のCrossFadeに設定すべきtransitionDurationを取得できるでしょうか?
0705名前は開発中のものです。2015/02/18(水) 14:20:49.04ID:j27NJCTJ
>>665
1~2回の描画のズレを感じるくらいで付いてくる
作ってるものの処理が重めなでfpsが高くないけど0.1秒も遅れてないと思う

そっちも、そもそものfpsが低いとかない?
滑らかに動いて0.3秒遅れるというのはその時間分だけ入力のバッファリングがいるし
ありえないと思うんだけども

・・・UnityRemoteでした!とかないよね?
0706名前は開発中のものです。2015/02/18(水) 15:21:15.53ID:44fss7cY
目に前髪が被らないシェーダーってアセットにあります?
0707名前は開発中のものです。2015/02/18(水) 17:11:22.69ID:zXQHatwg
>>695
>>703
ありがとうございます。
それらをふまえてもう一度よく考え直してみます。

あと同じくUIにあるsliderでもいけそうですね。
早く毛が生えた程度の素人になります。
0708名前は開発中のものです。2015/02/18(水) 21:12:42.74ID:KaXuDjWj
>>705
そうですか><
60FPS以上になっていますし、apk作ってインストールしても同じです。
Unityが無償版だから遅いのでしょうか・・・
0709名前は開発中のものです。2015/02/18(水) 22:38:14.17ID:OBU4oW22
>>708
アセット買いました?
0710名前は開発中のものです。2015/02/18(水) 23:03:04.90ID:89B377j2
他に考えられるとしたらAndroidManifest.xml辺りかね
とりあえず無償版が原因ってことはないと思うよ
0711名前は開発中のものです。2015/02/19(木) 00:28:24.65ID:+N0iJjD4
Unityで作ったゲームのバージョンを判定するためにProductNameを取得しようと思ったんですけど、リファレンスに取れる手段が書いてなかったです。
作ったゲームのバージョンを判別する方法は何がありますか?
0712名前は開発中のものです。2015/02/19(木) 00:57:22.77ID:0qWUOGsT
下の様なSpriteを組み合わせたキャラクターを複製した際、perspectiveのカメラで見るとZ座標に関係なくOrder in Layer順に
描画されてしまうのですが、個々の描画順はそのままにカメラに近い方を優先して描画するにはどうすればいいでしょうか
http://i.imgur.com/qPVGcfJ.jpg
0713名前は開発中のものです。2015/02/19(木) 02:41:39.93ID:VCvl5whg
>>712
SortingLayer > OrderInLayer > position.z
っていうのがUnityの仕様だから、
z値の小数の位でキャラパーツの前後を設定するとか?

というか自分はたまたまそういうのをやったことがないけど、
2Dゲームだとかなり有りがちな状況だよね。
もっと綺麗な方法があるかも…。
0714名前は開発中のものです。2015/02/19(木) 04:16:48.12ID:YF3fukQr
>>711
アセット買えば簡単に解決すると思いますけど
0715名前は開発中のものです。2015/02/19(木) 08:45:50.74ID:ZnCvTFO2
stagesceneでとったアイテム数によって
ゴールsceneで表示される星の数を変えたいです。

取得アイテム数をstaticにしたとき
stage2のゴールsceneの時の星にも影響してくると思います。
そういうケースで一般的な方法は何かありますか?

おねがいします。
0716名前は開発中のものです。2015/02/19(木) 09:28:50.97ID:zG6bD0B4
>>715
stage2の初期アイテム数じゃなくてゴールの星の数に影響するの?
取得アイテム数はゴールsceneで使ったら初期化じゃだめなの?
0717名前は開発中のものです。2015/02/19(木) 10:28:19.32ID:7w2tG7Mh
>>716
、、、、それだ!
初期化すっかり抜けてました。

すみません、
ありがとうございました。
0718名前は開発中のものです。2015/02/19(木) 11:58:06.80ID:0qWUOGsT
>>713
ありがとうございます。Layer順を全て0にし、左右パーツをz座標に0.1ずらして試してみたのですが
今度は単体がカメラに映る時、角度によって描画順がめちゃくちゃになってしまいました
例えば右斜めから見る時、Spriteは中心からカメラ近い順に描画されるので右パーツ、中央、左パーツに映されてしまうのです

2Dキャラクターと3Dワールドは相性が悪いのでしょうか…
0719名前は開発中のものです。2015/02/19(木) 12:10:48.39ID:S7F+iGeT
これはアセットで多パーツスプライトが実現できるものを探すか作るのがいいと思うわ
まさかその2DスプライトでビルボードじゃなくYROTもするとはなー
0720名前は開発中のものです。2015/02/19(木) 12:59:39.67ID:0qWUOGsT
>>718です。そのまま正面が常にカメラの方に向くようにy軸を回転させることで解決できました
少しいびつに映る気がしますがそこは2Dキャラクターなので大した問題でもなさそうです
毎回この処理をするのも手間がかかりそうなので、そういうAssetも探してみたいと思います
ありがとうございました
0721名前は開発中のものです。2015/02/19(木) 13:25:13.27ID:zM8pukhC
>>720
普通のビルボードゲームの様にビルボードは使えないのでしょうか?
使ったことがないので解らないので聞いてみたかったです
0722名前は開発中のものです。2015/02/19(木) 13:33:42.32ID:mDE0Rv8U
>>706
普通にテクスチャのアルファ値でぼかした感じで透けるようにしたら?
0723名前は開発中のものです。2015/02/19(木) 14:06:08.09ID:DwkEKKJL
続けてunity自体のインターフェースについて教えて下さい

hierarchyやらprojectやらの地色が灰色ですが
YouTubeなどでリファレンスを見ると
黒っぽくなっていますがどこでいじってるのですか?

なんかかっこいいよね!
と思います。
0724名前は開発中のものです。2015/02/19(木) 14:08:32.34ID:pih8i4bo
>>723
Pro版にするとその色に変えられるようになる
0725名前は開発中のものです。2015/02/19(木) 15:30:53.12ID:7w2tG7Mh
>>724
orz...
0726名前は開発中のものです。2015/02/19(木) 17:02:18.56ID:fHWjWr31
>>658です。 >>659, >>660 さん、レスありがとうございます。

AnimationClip の中身が問題である可能性が高いという指摘を受け、
AnimationClip を動的に作成している部分を調べていましたがよくわかりませんでした。
animation という変数名は myAnimation に変更しました。

問題の部分だけを Unity の Asset の形でまとめましたので、出来ましたらご意見をお聞かせください。

次の cs ファイルとフレーム画像で構成されたフォルダをアップロードしましたので、試していただきたいです。

http://www.dotup.org/uploda/www.dotup.org174411.zip.html
Assets の下に import して、空の GameObject を用意して
フォルダの Animation2DGenerator.cs をそのコンポーネントに追加してください。

「1」「2」「3」という画像がアニメーションすれば成功ですが、「3」だけ表示されます。
これは 31, 32 行目でスプライトが読み込めたことを確認するために SpriteRenderer に設定しています。

cs ファイルのみを見たい場合は、 https://ideone.com/NBdhnr をご覧ください。

次のようなメッセージがでていて、AddClip, Play 関数で渡している Anim1 が無効なようなのですがよくわかりません。

The animation state Anim1 could not be played because it couldn't be found!
Please attach an animation clip with the name 'Anim1' or call this function only for existing animations.
UnityEngine.Animation:Play(String)
Animation2DGenerator:Start() (at Assets/Animation2DGenerator/Animation2DGenerator.cs:71)

よろしくお願いします。
0727名前は開発中のものです。2015/02/19(木) 17:37:14.04ID:240Qarwq
canvas/imageのimage(script)の横のぽちぽちをスクリプトからいじれるようにするにはどうすればよいのでしょうか?
おねがいします。
0728名前は開発中のものです。2015/02/19(木) 18:14:15.90ID:S7F+iGeT
GetComponent<Image>().enable = false;
703で出た話題な
0729名前は開発中のものです。2015/02/19(木) 18:15:16.79ID:XEj3XwlB
pro版って今でもunity4が付いてきますか?
そのために頑張ってアプリ作っていまやっと収益が16万たまりそうなんです
その作ってるアプリはunity4で作ってるから、なるべく5には移行したくないんです…
0730名前は開発中のものです。2015/02/19(木) 21:29:38.70ID:XChwBQKB
>>729
広告?
どのくらいの期間で16いった?
0731名前は開発中のものです。2015/02/19(木) 23:04:18.72ID:XkE0S5ud
Animatorで任意の時間のモーションにするのはどうすればいいの?
例えばモーション開始から0.5秒の姿勢にするとか。
リファレンス見てもぐぐっても全然出てこないんだけど…
0732名前は開発中のものです。2015/02/20(金) 00:07:35.43ID:+RjgBizn
>>729
過去バージョンのダウンロードで任意のバージョンを使える
4.xならライセンスコードの移動も楽

つかまだ5正式版でてない
0733名前は開発中のものです。2015/02/20(金) 01:08:25.18ID:5Injnwfe
>>731
多分この辺。
ttp://docs.unity3d.com/ScriptReference/Animator.Play.html
normalizedTimeを指定。

GetCurrentなんちゃら
ttp://docs.unity3d.com/ScriptReference/Animator.GetCurrentAnimatorStateInfo.html
でお目当てのステートネームだったら○○、とかもできるかもね〜。
正直その辺はレガシーな方が使いやすい。
0734名前は開発中のものです。2015/02/20(金) 01:10:30.66ID:/Me6ofjs
AndroidのApk作ろうとしてんだけど、
Error building Player: UnityException: Bundle Identifier has not been set up correctly
Please set the Bundle Identifier in the Player Settings. The value must follow the convention 'com.YourCompanyName.YourProductName' and can contain alphanumeric characters and underscore.
Each segment must not start with a numeric character or underscore.
ってエラーが出ちゃうのは何なんでしょう?

ぐぐると、PlayerSettingで会社名/プロダクト名入れろってあったんで、
com.hoge.hogehoge/sample
みたいに変えてみたけど状況かわらず・・・。
0735名前は開発中のものです。2015/02/20(金) 01:15:38.71ID:TthPCyor
>>698です
なんとか配列にぶっこんでX座標でソート出来るようになったのですが
ソートした順番で音をならすのはどうすれば良いのでしょうか・・・
0736名前は開発中のものです。2015/02/20(金) 01:18:01.65ID:dpZlVirY
>>735
少しは自分で考えろ
0737名前は開発中のものです。2015/02/20(金) 01:30:27.00ID:TthPCyor
ひたすらググって調べて分からなかったから聞いたんだ
気を悪くしたらすまんな
0738名前は開発中のものです。2015/02/20(金) 01:34:51.52ID:5Injnwfe
>>735
何のためにソートしたんや…
0739名前は開発中のものです。2015/02/20(金) 01:41:06.18ID:dpZlVirY
>>737
やっぱり考えてなじゃないか
0740名前は開発中のものです。2015/02/20(金) 01:50:41.54ID:5Injnwfe
>>737
例えばだが
float timeLine=-100,minX=-100f,maxX=100;
GameObjetct[] soundObj;//オブジェクトの配列ね
int cnt=0;


void Update(){
timeLine+=Time.deltaTime;
if(sounbObj[cnt].transform.position.x<timeLine){
soundObj[cnt].audio.Play();
cnt++;
if(cnt==soundObj.Length)cnt=0;
}
if(timeLine>maxX)timeLine=minX;
}
とかかな。確認はしてないのでバグってるとおもうがw
まぁ配列だと長さ変えるのがあれなので
Listとかにしたほうがいい気はする。
あとこのやり方だと和音が出来ない。

なので実は前に出てた板を動かしてあたったら
OnTriggerEnter()で鳴らすってのはめんどくさくなくていい。
勿論ちゃんと書けば自前で同じことは出来るけどね。
音符に当たるオブジェクトがどんなデータを持つべきなのかとか
色々考えられるしね。
0741名前は開発中のものです。2015/02/20(金) 01:53:07.06ID:U4qVwvoK
>>737
「ソートの仕方」「音の鳴らし方」が分かっているなら考えれば作れるだろう
『こんな感じのプログラムなら思いつくけど、多分もっと賢いやり方があると思うんですがどうですか』
とかじゃないとやっていけんで

ソートした順にSendMessageで音鳴らす関数呼ぶとかじゃダメなんか?
関数ないとか言うなよw
0742名前は開発中のものです。2015/02/20(金) 01:58:21.79ID:5Injnwfe
実はタイムラインとの比較で音を鳴らすならソートする必要ないんだよねw
フレーム毎に総当りすればいいし実際当たり判定でやっちゃうというやり方は
ソートも何もしていない。
0743名前は開発中のものです。2015/02/20(金) 02:08:04.57ID:grd08K9x
>>734
スラッシュ "/" はいらんだろ
0744名前は開発中のものです。2015/02/20(金) 02:12:31.21ID:/Me6ofjs
>>743
”/”は入れてないです

会社名を"com.hoge.hogehoge"
プロダクト名を"sample"

です
0745名前は開発中のものです。2015/02/20(金) 02:16:28.34ID:S1nf06r3
>>744
エラーメッセージをよく読んでみ。
Bundle Identifier に入れろと書いてあるズラ(´・ω・`)
0746名前は開発中のものです。2015/02/20(金) 02:26:56.68ID:vgaTTwcE
>>735
プログラムは諦めて、アセットをかいましょう
0747名前は開発中のものです。2015/02/20(金) 02:28:48.45ID:TthPCyor
>>740
>>741
おとなしくトリガー駆動で鳴らします
もっと勉強してからまた挑戦する
ありがとう
0748名前は開発中のものです。2015/02/20(金) 03:02:36.53ID:rGHJs1+S
標準のPlayerPrefsが重かったんでPreviewLabs.PlayerPrefs使ったけど
IO使えないWebビルドだと必ずレジストリ通すからPreviewLabs.PlayerPrefsでもセーブの高速化がされてない?
0749名前は開発中のものです。2015/02/20(金) 16:26:12.91ID:hnK2+Ak8
質問です
GameObject.Find("player").gameObject.GetComponent<FPSInputController>().enabled = false;
と、書くのと
Start()にplayer = GameObject.Find("player");と書いて
player.gameObject.GetComponent<FPSInputController>().enabled = false;
と書くのはどちらがいいですか?
ちなみに、この処理はtrueするやつも含めて複数回出てきます
0750名前は開発中のものです。2015/02/20(金) 16:36:46.19ID:u9puDU/I
>>749
どっちがいいとは一概には。メモリと速さのトレードオフっていういつもの話題なので。
まぁ多くは下を推奨していると思う。Findは結構重い処理だと言われている。
もっといえばStartでGetComponentまでしてキャッシュしといたっていい訳で。
あと書き方として
GameObject.Find("player").GetComponent<FPSInputController>().enabled = false;
player.GetComponent<FPSInputController>().enabled = false;
とかでいいのでは…。
0751名前は開発中のものです。2015/02/20(金) 20:37:04.37ID:unuSZtYd
C#でuguiを使って画面を押したらボタンが生成されるようにしたいのですがどうすればいいのでしょうか?
OnGUIでは常に表示されてしまうのですが………
0752名前は開発中のものです。2015/02/20(金) 20:42:26.15ID:xxUWIOUM
SE Natural Bloom &amp; Dirty Lensを導入したのですが、Unity内のdemo sceneではパッケージと同じような光方をしておらず、パーティクルの発光はどのようにしたら良いのでしょうか?
また、Androidには対応していないのでしょうか?

ちなみにdemoの発光具合は以下の感じです。
http://i.imgur.com/pzXKduu.png?1

よろしくお願いします。
0753名前は開発中のものです。2015/02/20(金) 21:16:39.67ID:u9puDU/I
>>751
例えば空のオブジェクトに
void Update(){
if(Input.GetMouseButtonDown){
//キャンパスとかボタンとか生成
//必要だったらスクリプトとかAddComponentでアタッチ。
}
}

つースクリプト書いてくっつけときゃいいんじゃね?
そんな単純だとクリックするたびに生成するけどw
作っておいたUIをInstantiateとか
置いてあるものをSetActive()とかでもいいだろうし。
とりあえずOnGUI()みたいに数行書けば、という類のものではない。


>>752
Editor内で光ってないとかだと
・ビデオカードがすごく古い
・Pro版じゃない
くらいしか考えにくい気がする
0754名前は開発中のものです。2015/02/20(金) 21:27:32.01ID:asPlAX7G
>>751
アセットをかえばいいと思いますよ
■ このスレッドは過去ログ倉庫に格納されています