トップページ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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう
0616名前は開発中のものです。2015/02/15(日) 08:50:06.77ID:QwvTb0PL
>>603
元の質問に答えたの俺だけど、それはJavaじゃなくてJavaScriptね
Javaとは全く別物なので注意したほうがいいよ
0617名前は開発中のものです。2015/02/15(日) 08:56:31.37ID:QwvTb0PL
>>611
iOS向けに作る可能性が少しでもあるならMacにしといたほうがいいよ
今後絶対にないならWindowsでいいだろうけど
ちなみに自分もメインはノートだけど、スペックよりもモニタの解像度が重要
マルチモニタが理想だけど、フルHDあればとりあえず問題ない
0618名前は開発中のものです。2015/02/15(日) 10:24:36.60ID:ru5I4XVb
スクリプトのオブジェクトをプロジェクトビューで選択すると、
一部の変数を選択できるやん?

これって、エディター画面でゲームオブジェクトに追加した時は設定値が初期値になるっぽいけど、
スクリプトでaddcomponentした時は設定されないみたい。
そういうもん?

あとvector3とかはインスペクターに表示されないけど、
なんか属性指定すれば設定できるようになるの?
0619名前は開発中のものです。2015/02/15(日) 10:34:07.83ID:xIrvlcL9
>>618
publicな変数でクラス生成時に初期化されない、またはnullになってると設定できる
動的な追加では設定できないのが当たり前で、出来ることが便利機能だと考えた方がいい
0620名前は開発中のものです。2015/02/15(日) 11:13:24.69ID:dk3EfgeZ
>>619
ありがとうございます。
状況で挙動が変わる機能なんて混乱するだけですよね。
0621名前は開発中のものです。2015/02/15(日) 11:24:38.89ID:xIrvlcL9
>>620
いや、そう言うわけではなくて、使い分けが出来ると言う方が正しいかも
使い分けが解らないなら全部、GetCompornentしとけばおんなじだよ
0622名前は開発中のものです。2015/02/15(日) 15:17:07.76ID:FFcIOilT
>>614
>>615
今地方にいて、ほぼ裸一貫で上京して就職を目指そうと思ってて、
最初は三畳の部屋とかに住むことになると思うので…
最悪ノートでのデュアルディスプレイは考えています。

就職して落ち着いたら、デスクでデュアルディスプレイ、i5、GTX700〜あたりを考えてます。


>>617
自身では当面は開発予定はありません
就職先では可能性あると思うんですが、その場合は支給されると思ってます(希望的観測)
0623名前は開発中のものです。2015/02/15(日) 16:37:35.31ID:2tWXEZWy
すみません、少し質問したいんですが

配置されているobjectに対して銃弾を撃った時に、
弾が接触した瞬間にエフェクトを発生させそのオブジェクトの接触面とは反対側から
何事も無かったかのように侵入角度保ったまま弾を通す(はたから見てると貫通してるみたいな処理)
の場合どうすればいいんですかね?positionを変えてやっても角度変わるし……

istriggerは使わない方法でお願いします
0624名前は開発中のものです。2015/02/15(日) 16:38:26.41ID:jeOJtHGY
Oculus riftのSDKを使ってVRのゲームを作ってるんだけど、
OVRPlayerController.prefabをシーン内に配置して再生すると
左画面にmag uncalibratedってエラーが出て真っ黒になってしまう……
ググっても全く情報が出なくて困ってるんだけどどうすればいいんだろうか
0625名前は開発中のものです。2015/02/15(日) 17:45:22.88ID:wyzwpkn/
>>623
isKinematicを使う
06266242015/02/15(日) 18:23:44.56ID:jeOJtHGY
エラーが出てもエラー画面そのものを削除するという力技で自己解決しました
0627名前は開発中のものです。2015/02/15(日) 20:07:56.88ID:5j6iNpyi
ひとつ質問です。
Colliderの設定の中の"Is Trigger"をonにすると、その物体をすりぬけますよね。
その物体をすりぬけたものに対しSendMessageを使いたいのですが、
判定をどのようにして書けばいいでしょうか。できればJSでお願いします。
0628名前は開発中のものです。2015/02/15(日) 20:53:53.16ID:Q2iYFOAp
>>627
プログラムなんて使わずアセットを使った方が簡単ですよ
06296272015/02/15(日) 20:55:45.58ID:5j6iNpyi
>>268
アセットはすでに使っているんですよ。
0630名前は開発中のものです。2015/02/15(日) 20:59:33.15ID:wyzwpkn/
>>627
ttp://docs.unity3d.com/ScriptReference/Collider.OnTriggerEnter.html
そこの例文のDestroyをother.SendMessage()にしてやればいい
抜けた時に送りたいならOnTriggerExitでもいい
06316272015/02/15(日) 21:20:03.64ID:5j6iNpyi
>>630
ありがとうございます!
おかげで解決しました!
Trigger用の文もあるんですね…。知りませんでした。
0632名前は開発中のものです。2015/02/16(月) 00:47:57.34ID:0BQ1Muq+
>>581
ガタガタ揺れる床を作る時に床を直接動かすとモデルの動きがおかしくなるから描画位置だけ動したいなと思ったんだ。
0633名前は開発中のものです。2015/02/16(月) 05:07:01.88ID:2aCCCEIZ
頂点シェーダで動かせばいいんでないの
0634名前は開発中のものです。2015/02/16(月) 05:42:04.80ID:KNDKsl5H
>>632だけじゃないけど、変に抽象化して質問しようとする人って多いよね。

分かり易く伝えようとして空回りしてしまっているのか、
制作中の内容がバレたくない…的な自意識過剰なのか、
なんとなく初心者じゃない風にしたいのか。

何にしろ、質問は具体的に分かりやすく書いて欲しいところ。
0635名前は開発中のものです。2015/02/16(月) 11:23:41.99ID:bDlfzOlg
DestroydCityのTerrainをコピーして、別シーンにペーストすると、ライトマップとのリンクが切れてしまい、Terrainの見た目がコピー前より悪くなってしまいます。

ライトマップとのリンクが切れないように別シーンにコピーする方法はないでしょうか?
0636名前は開発中のものです。2015/02/16(月) 11:37:18.15ID:mc4PULKY
>>617
道路に丸い穴があいていて
通ったら落ちる様にしたいのですが
穴あきの道路オブジェクトを別途作るしかないでしょうか?
0637名前は開発中のものです。2015/02/16(月) 12:35:38.89ID:TwjzIkwe
どういう実装してるか伏せて「○○したいけど××」みたいなぼんやりした質問は
ぼんやりした返事をすればいいんだよな?

632みたいにさらに抽象化してて解消したい目的すら後出しだと返答も581くらいで精一杯だろ
コミュニケーションの勉強から始めて欲しい人が多すぎ
0638名前は開発中のものです。2015/02/16(月) 13:04:31.85ID:UmOo0eRX
くっそ素人な質問なんですが
Blender側でOrthographicにてモデリングしたものを
Unityで使うとパースがかかって形が変わると思うのですが
これが嫌な場合は、そもそもBlender側でPerspectiveにてモデリングする必要があるんですか?
どうやるのが一般的なのか知りたいです
0639名前は開発中のものです。2015/02/16(月) 13:23:29.11ID:IlMq3ak5
・からっぽのオブジェクトをヒエラルキービューに作成
・からっぽのJSファイルをプロジェクトビューに作成
・後者を前者にアタッチ
・Can’t add scriptエラー

このエラーの回避に必要な、JSファイルへ書き足すべき一文を教えてほしい。
何を要求されてるのか全くわからない。

ちなみにfunction NewBehaviourScript() {}じゃダメだった
0640名前は開発中のものです。2015/02/16(月) 13:56:46.12ID:m6a5mlH6
>>638
カメラのProjectionをPerspectiveからOrthgraphicに変えるだけ
0641名前は開発中のものです。2015/02/16(月) 14:06:32.50ID:WSJ1urCp
>>638
例えばサイコロをモデリングするのにOrthographとか関係あるのか?

>>639
多分他のスクリプトがエラー起こしてるんじゃないか?
0642名前は開発中のものです。2015/02/16(月) 14:14:37.41ID:OX20HRWK
スマホ(Android)でGameObjectをタッチしている位置に追従させたいのですが、以下のコードでおこなうと追従がコンマ数秒遅れる感じになってしまいます。
改善する方法はあるでしょうか?

Touch touch = Input.GetTouch(0);
transform.position = Camera.main.ScreenToWorldPoint(new Vector3(touch.position.x, touch.position.y, 10f));
0643名前は開発中のものです。2015/02/16(月) 14:23:59.59ID:UmOo0eRX
>>640
それって背景もOrthgraphicになりません?

>>641
あーそういうことですか!
理解しました
Orthgraphicでモデリングしたキャラクターに見慣れていたので
Perspectiveにすると違和感あったんですよね
Perspectiveになったときにどのように見えるのか意識してモデリングするようにしますわ

なんかUnityの質問とズレて申し訳ない
0644名前は開発中のものです。2015/02/16(月) 14:42:05.01ID:TwjzIkwe
>>642
スクリプト処理と描画のラグは改善できない気がする
見えている画面は1〜2フレーム前に描画されたもの、というレンダリングパス起因の
避けようがない問題だから
タッチパネルからの情報もラグ(バッファリング)されている可能性があるから
ここで発生するものも改善不可

目立たなくする為に高fpsで動作できるようなものにするしかないかもね
0645名前は開発中のものです。2015/02/16(月) 16:28:08.86ID:xdyyTiXX
>>642
Update() とLateUpdate()の両方に
処理書いたらどうかな?
0646名前は開発中のものです。2015/02/16(月) 17:32:30.68ID:OX20HRWK
>>644
そうなんですね。><
数フレームではなく数十フレーム以上遅れる感じですが、パズドラとかツムツムのような操作を軽快におこなわせるにはUnityは不向きなのでしょうか。

>>645
ダメでした。
0647名前は開発中のものです。2015/02/16(月) 17:37:36.28ID:mc4PULKY
ここで聞くのが適切出はないと思うけど、、。
アプリのアイコンてみなさんどうやって作ってますか?
0648名前は開発中のものです。2015/02/16(月) 18:38:38.51ID:TwjzIkwe
>>646
>数フレームではなく数十フレーム以上遅れる感じですが

それはちょっとおかしいと思う
似たような処理(オブジェクトから指の位置に伸ばしたスプライトで線を引く)をやってるけど
そこまで遅れていない
マルチタッチが必要ないなら
Vector2 TouchPos = Input.mousePosition;
みたいな感じでマウス入力に代えてみて(Androidでもタッチを拾える)

うちはこれで拾った値をカメラのワールド座標に変換してレイキャストの起点にし
レイキャスト→コライダ持ちのオブジェクトの接触点までライン、
的な処理をしてるけど大きなラグは感じてない
0649名前は開発中のものです。2015/02/16(月) 19:13:02.82ID:OX20HRWK
>>648

以下をおこなっているだけなのですが、何か使い方がおかしいんでしょうか。
マウスへの追従は早いのですが、タッチへの追従はすごく遅いのです。

2Dのプロジェクト作成
Cubeを配置してScriptを追加
コードは
void Update () {
Vector2 touchPos = Input.mousePosition;
transform.position = Camera.main.ScreenToWorldPoint(new Vector3(touchPos.x, touchPos.y, 10f));
}
0650名前は開発中のものです。2015/02/16(月) 20:20:19.66ID:JnS6vfCV
気合い
0651名前は開発中のものです。2015/02/16(月) 20:26:24.67ID:TwjzIkwe
>>649
うーん・・・端末の問題、とか?
こっちはF-01Fとペリアのz1とちょい型落ちのアクオス携帯では問題なく動いてる
0652名前は開発中のものです。2015/02/16(月) 20:33:26.38ID:xdyyTiXX
>>649
apkあっぷしてみたら?
0653名前は開発中のものです。2015/02/16(月) 21:15:02.43ID:Nat1f4Jb
>>649
色々キャッシュしても体感レベルで変わるか微妙だけど、どうかな

Transform cubeTrans;
Camera mainCam;
Vector3 touchPos;

void Awake () {
cubeTrans = gameObject.transform;
mainCam = Camera.main;
}

void Update () {
touchPos = Input.mousePosition;
touchPos.z = 10f;
cubeTrans.position = mainCam.ScreenToWorldPoint(touchPos);
}
0654名前は開発中のものです。2015/02/16(月) 21:33:04.06ID:bDlfzOlg
class hoge {
static GameObject prefab = Resources.Load("bee") as GameObject;
}

ってかんじでstaticメンバーに、Resources.Loadしたら
実際にLoadされるタイミングは

a) アプリケーションが開始した時に1回のみ
b) 最初にhogeクラスへのアクセスが発生した時に1回のみ

のどっちなんでしょうか?

まさかインスタンス生成毎にLoadされるってことはないと思うんですが。
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の時の星にも影響してくると思います。
そういうケースで一般的な方法は何かありますか?

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