トップページ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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0340名前は開発中のものです。2014/05/28(水) 19:17:36.30ID:i+JbWbxQ
>>339
だよなあ。具体的な金額なんて出せるわけないから、挙げるなら適当な金額を挙げるしかない
つまり>>330は偉そうに言ってるけど実際は具体的な金額なんて挙げられるということも知らない
プロどころか同人以下の知ったかだったってことでおk?
0341名前は開発中のものです。2014/05/28(水) 19:20:49.54ID:i+JbWbxQ
日本語が少し乱れたな。大半は文脈から補完できるだろうけど
>>330に限っては日本語の読解力に難があるきらいがあるから
念のためちゃんとしとこう

つまり>>330は実際は具体的な金額なんて挙げられないということも知らない
プロはもちろん同人以前の知ったかぶりです
0342名前は開発中のものです。2014/05/28(水) 19:52:08.90ID:OlSOWigq
お前が役に立たないことは分かったからもう相手はしないよ
0343名前は開発中のものです。2014/05/28(水) 20:35:08.74ID:i+JbWbxQ
わざわざ相手にして相手にしない宣言……うーん、この
0344名前は開発中のものです。2014/05/28(水) 20:54:19.39ID:YNAlMEyH
どうでもいいのでゲームを作りましょう
0345名前は開発中のものです。2014/05/29(木) 01:46:15.88ID:Wl4hx8Z2
お前ら此処は質問スレッドだからな
0346名前は開発中のものです。2014/05/29(木) 02:28:29.51ID:JKyJCh+Z
では質問です
皆さんはゲームを作っているのですか?
0347名前は開発中のものです。2014/05/29(木) 02:45:34.77ID:yoLERhlG
うん
0348名前は開発中のものです。2014/05/29(木) 03:20:27.54ID:YcC+dCaD
>>346
もちろんだ
Unity ver 2.6買ってから2本しかないけど(非Unityは結構出荷した)
0349名前は開発中のものです。2014/05/29(木) 06:13:36.79ID:INLczVJu
仕事でっていうならYesだなぁ。
Unityの案件も関わったことがあるが
基本的に3Dデザイナーだと出力はFBXで、ってだけなんだよなw
プライベートでもUnityは今作ってるのが最初だ
というかピンで作ってるのは今回が最初だな
0350名前は開発中のものです。2014/05/29(木) 09:29:21.15ID:XuEmoUpU
>>346
もう少し踏み込んだ質問の方がよくね?
皆さんはゲームを完成させて販売したことがあるのですか?
って。おそらくYesが1/10まで減るぞw
0351名前は開発中のものです。2014/05/29(木) 10:20:52.59ID:INLczVJu
そりゃへるだろうな〜。10分の1どころではなく。
売るってのはかなりハードルになる。
なんだそりゃ?wみたいなのをフリーゲームで、
FlashとかWebPlayerで、とかとは明らかにステージが変わるからね。
0352名前は開発中のものです。2014/05/29(木) 12:49:12.61ID:k2lnMObv
『作ったゲームがヒットする』 >>>>>(見たことの無い地平)>>>>> 『初めてゲームをリリースする』 >>>>>(超えられない壁)>>>>> 『Unityはじめる』
0353名前は開発中のものです。2014/05/29(木) 13:58:03.47ID:cYuItPVB
まぁ、何を持ってヒットとするかだな
0354名前は開発中のものです。2014/05/29(木) 16:56:48.14ID:F5aBAF/u
次回作を待望される立場
0355名前は開発中のものです。2014/05/29(木) 20:01:28.48ID:v/JIkf6i
unityで使う画像全部truecolorじゃだめなんすか?
0356名前は開発中のものです。2014/05/29(木) 22:01:39.18ID:dA771EPb
小物アプリ作ってんのかい
動きゃ別に問題ないよ

圧縮フォーマット選んだり色数落とすのは、ロード時間や枚数制限、アプリ容量をリニアに軽減出来るから
規模が大きくなると上限を先に割り出さんと破綻するので、綿密なリソース計画とテストが必要になりこの辺の設定はどうしても必須になる
モバイルだと尚更
0357名前は開発中のものです。2014/05/29(木) 23:40:00.52ID:v/JIkf6i
すっげぇ詳しく
あざす!
0358名前は開発中のものです。2014/05/30(金) 00:15:51.02ID:JhaXgB1+
2Dゲー作るならunityとcocos2d-xどっちがオススメですか?
iPhoneとAndroidのクロスプラットフォームに対応していればそれ以外でもいいのですが…
C#とC++はどっちも触ったことがあってC#の方が若干詳しい程度であまり言語のこだわりはないです
0359名前は開発中のものです。2014/05/30(金) 00:57:08.08ID:zmSb+Zsd
NGUIにUIPlaytweenが無いのですが有料版だけでしょうか?
0360名前は開発中のものです。2014/05/30(金) 00:59:48.03ID:ThDySUKv
>>358
ここで聞くなよとも思うけど、ぶっちゃけ2Dしかやらんのならcocos。
Unityにはエディッタ上で実行してヒエラルキ上の挙動を確認できるというモダンなデバッグヘブンもあるけど、この辺は2Dなら工夫で乗り切れる物でもある
俺はNGUIで仕事してるけど、JavaなAndEngineと比べてもUnityは遅い。
がつがつ弄って最適化できるAndEngineと比べるのは酷だとおもうけど、NGUIでパーティクル設計するとどうにも0.013秒に収まらない負荷が出て悩む

cocos2d-xの最新はc++1x取り込んでて使いやすくなってるのだけど、出たばかりで自己責任部分が伴う
でも自前で色々馬鹿な設計組み込んでも、c++不慣れな方でも速度差を体感できると思う

つーか簡易パーティクルコードでも書いて自分で体感して自分で判断するのが一番ですよボケが
0361名前は開発中のものです。2014/05/30(金) 01:32:41.51ID:aWmJAl+k
360コンの振動機能って使うことできないのかな
0362名前は開発中のものです。2014/05/30(金) 01:40:28.21ID:KaLCFWeU
できないことは何もない
0363名前は開発中のものです。2014/05/30(金) 02:51:57.68ID:qwGaQBl2
>>361
ちょっとやってみた。DLLをインポートしてXInputを呼べばできたよ。当然Windows限定だけど
0364名前は開発中のものです。2014/05/30(金) 12:35:46.67ID:S7iI5Qw3
初心者のunity javaに関する質問ですが、

クリックするとアニメーション1を再生、
2回目のクリックでアニメーション2を再生。
といったスクリプトは

#pragma strict
static var d : int;
function Start()
{d=0;}

function Update(){
if(d==0&&Input.GetMouseButtonDown(0)){
animation.Play("Action");
d+=1;}

if(d==1&&Input.GetMouseButtonDown(0)){
animation.Play("Action2");
d-=1;}
}

といった形で書いたのですが、Actionが常に再生されます。

どのように直したらいいのかご教授願えると大変助かります。
0365名前は開発中のものです。2014/05/30(金) 12:47:56.66ID:D5eV0d0u
>>364

どうして、javascriptをjavaって省略するの?
バカなの?

> といった形で書いたのですが、Actionが常に再生されます。

animation.Play("Action") より先に d+=1 する。
0366名前は開発中のものです。2014/05/30(金) 13:03:36.50ID:8visgsuI
&ampって文字表示用のエスケープシーケンスじゃないのか?
JSだとそういうときにも使うの?
てかそれでコンパイル通るのか。
いずれにせよその書き方じゃif文の中の;以降が評価されるだけなのではなかろうかと。

#pragma strict
static var d : int;
function Start()
d=0;

function Update(){
if(d==0&&Input.GetMouseButtonDown(0)){
animation.Play("Action");
d=1;}

if(d==1&&Input.GetMouseButtonDown(0)){
animation.Play("Action2");
d=0;}
}

とかでどう?
0367名前は開発中のものです。2014/05/30(金) 14:25:31.02ID:8visgsuI
悪い、スタートのところ、コピペミスって自分で書いたからブレイスが抜けてるわw
0368名前は開発中のものです。2014/05/30(金) 16:10:29.29ID:C55dZBwA
GetMouseButtonDown二度も判定する必要ないだろ
0369名前は開発中のものです。2014/05/30(金) 18:25:30.32ID:8visgsuI
え〜。わかりました。じゃあ

function Update(){
if(Input.GetMouseButtonDown(0)){
if(d==0){
animation.Play("Action");
d=1;
}
else{
animation.Play("Action2");
d=0;
}
}
}

で。
0370名前は開発中のものです。2014/05/30(金) 18:42:27.42ID:S7iI5Qw3
>>365-369

大変参考になりました。
ありがとうございました。

まだまだ先は長いですね。。。。。
0371名前は開発中のものです。2014/05/30(金) 23:29:55.89ID:AV0br0eK
if(Input.GetKeyDown(KeyCode.PageDown))
↑とか使ってキーボードによる入力を作っています

で、テキストフィールドにもFocus当ててテキスト入力できるようにしました
ここまではよいのだけど、テキスト入力から抜け出せなくて困ってます
具体的には上のKeyCode.PageDownとか押してもテキストエリア内で動くだけで抜け出せない
F12みたいな入力に使わないボタンならいけるかな?と思ったら、テキスト入力中は反応しない

一応別のGUIを直接クリックすれば抜け出せるのですが、キーボードの操作はキーボードの操作で完結したいのです
解決法知ってる方いたら教えて下さい
0372名前は開発中のものです。2014/05/31(土) 07:38:57.65ID:7m/ngr53
具体的にどうしたいのかよくわからんけど
unity textfield enter
とかでググればそのキーコードでのイベントの取り方とかは
結構出てくると思うんだが。

参考になりそうなのはこの辺か?
ttp://answers.unity3d.com/questions/178117/check-if-enter-is-pressed-inside-a-gui-textfield.html

>試してないなら
if (Event.current.Equals (Event.KeyboardEvent ("return"))) enter = true;
のコードをテキストフィールドを作るGUIコールの「前に」置いてみろ。

If it's not already, try putting your if (Event.current.Equals (Event.KeyboardEvent ("return"))) enter = true; line before your GUI call to create the text field.
0373名前は開発中のものです。2014/05/31(土) 07:51:03.48ID:7m/ngr53
日本語でもあった。

ttp://unityrakku.blog.fc2.com/blog-entry-20.html

ページ中段あたり。この例ではエンター押すと
ファイル保存処理が走る、ということのようだけど
0374名前は開発中のものです。2014/05/31(土) 09:21:55.05ID:sKyod9Iz
>>371
アセット買えばいいと思いました
0375名前は開発中のものです。2014/05/31(土) 13:14:19.24ID:uok9VxId
GUIStyleって配列使えないの?
0376名前は開発中のものです。2014/05/31(土) 13:24:40.44ID:uok9VxId
あ解決したわ
0377名前は開発中のものです。2014/05/31(土) 15:27:50.29ID:kZfxGZNh
>>372-373
やりたいことが出来ました!ありがとう!
0378名前は開発中のものです。2014/05/31(土) 21:54:29.74ID:3xfru9YZ
やりたい女と出来ました!ありがとう!
0379名前は開発中のものです。2014/06/01(日) 17:04:00.07ID:senP/r3j
ゲームオブジェクトを選択したらそのアニメーションが再生されるようにしたいのですが、

static var select : GameObject;

function Update () {
var ray : Ray;
var hit : RaycastHit;
if(Input.GetMouseButton(0)){
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, hit, 100)) {
select = hit.collider.gameObject;
} else {
select = null;
}
}
}

相手側は

#pragma strict

var d :int;
function Update () {
if (this.gameObject == one.select) {
animation.Play("ugoki");
Debug.Log("select");
}
}

にしましたが、上手く動きません。どうしたらよいでしょうか?
0380名前は開発中のものです。2014/06/01(日) 18:01:38.04ID:senP/r3j
すいません
一番下のdebug.logは無視してください。
0381名前は開発中のものです。2014/06/01(日) 18:16:45.94ID:p/ute3p/
アセットを購入すればいいと思う
0382名前は開発中のものです。2014/06/01(日) 20:02:44.76ID:CzOQ+eIi
>>379
コピペしただけで動くよ。
アニメーションの名前が間違ってるとか
あるいは他の要素がおかしい
0383名前は開発中のものです。2014/06/01(日) 21:02:39.48ID:rblEfkwU
はw
0384名前は開発中のものです。2014/06/01(日) 21:28:39.19ID:EM8XxEHa
Aというシーンファイル(.unity)にある任意の数のゲームオブジェクトを
Bというシーンファイルにコピペしたいんですが、どうやって移動させたらよいのでしょうか…
0385名前は開発中のものです。2014/06/01(日) 21:35:57.79ID:p/ute3p/
>>384
アセット買えばいいんじゃないかなあ?
0386名前は開発中のものです。2014/06/01(日) 21:57:23.81ID:rYmG7+bF
>>385
English de OK(USO)
0387名前は開発中のものです。2014/06/01(日) 22:40:11.76ID:cLfIXC+i
超超初歩なんですが
今unity2Dでアンドロイドアプリ作ってて参考書に「解像度は1280×800」とあります。
それで画像やらをそのサイズに合わせて作ってるんですが、あんな小さい画面でこんな大きな画像を作る必要あるんでしょうか?
みなさんはスクリプトで解像度を下げたりしてるんでしょうか。
0388名前は開発中のものです。2014/06/01(日) 23:02:17.47ID:rYmG7+bF
ヒント:4.7inchの画面は小さいかもしれないが、10.05inchの画面は決して小さくはない
0389名前は開発中のものです。2014/06/01(日) 23:41:42.19ID:Wu1HGgXX
>>387
確かに大きい画像だと思うかもしれないが
今のスマホはこの程度の解像度は持っています。
0390名前は開発中のものです。2014/06/01(日) 23:54:56.85ID:Hg61Vj6L
>>384
prefabにするか普通にヒエラルキーでA.sceneの中身をコピーしてからB.sceneでペースト
0391名前は開発中のものです。2014/06/02(月) 02:11:01.79ID:TNhLZKdz
Avatarの手や肩の位置を取得する方法を教えて下さい
0392名前は開発中のものです。2014/06/02(月) 03:15:36.29ID:K5ZMDY5S
>>390
ああ、プレファ部にするってのもありなんですね、ありがとうございます
0393名前は開発中のものです。2014/06/02(月) 14:48:38.78ID:TST9LXYg
どんな部活動してるのか気になる
0394名前は開発中のものです。2014/06/02(月) 15:25:29.70ID:ZqP9W1Vs
部室はプレハブ製か
0395名前は開発中のものです。2014/06/02(月) 17:07:43.94ID:5rUTb0ca
質問があります
今人間型のモデルに頭に可動式のボンボンみたいなのを付けてアニメーションさせたいのですが
animation typeをhumanoidにした時にそのボンボンの部分のモーションが
まったく働かず固定されたままになってます
humanoidタイプにしたモデルには普通の人間の手や足や頭以外の部分に
ボーンを付けてアニメーションさせる事は出来ないのでしょうか?
0396名前は開発中のものです。2014/06/02(月) 17:21:01.78ID:K/3IBsUz
>>395
アセット買えばいいんじゃないかなあ?
0397名前は開発中のものです。2014/06/02(月) 17:23:21.61ID:5rUTb0ca
>>396
アセット無しじゃ無理ですか?
0398名前は開発中のものです。2014/06/02(月) 17:34:50.83ID:HFTLkBNS
初歩的な質問ですがitweenはandroidでも使用可能でしょうか?
よろしくお願いします
0399名前は開発中のものです。2014/06/02(月) 17:58:53.75ID:K/3IBsUz
>>398
アセット買えばどうにかなると思うよ
0400名前は開発中のものです。2014/06/02(月) 18:19:28.48ID:bKScHq+o
>>395
ボンボンのモデルとアニメーションをgenericで作って
humanoidのモデルの手足にアタッチすればいいと思う
0401名前は開発中のものです。2014/06/02(月) 18:27:19.40ID:5rUTb0ca
>>400
回答ありがとうございます
その場合はやっぱりアニメーターコントローラーはボンボンと手足の二つ必要に
なるんですよね?
0402名前は開発中のものです。2014/06/02(月) 18:31:49.06ID:bKScHq+o
>>401
そうです
0403名前は開発中のものです。2014/06/02(月) 18:46:12.82ID:5rUTb0ca
>>402
ありがとうございます
0404名前は開発中のものです。2014/06/02(月) 18:50:52.13ID:EN+Ir0CJ
2日前にはじめた者です
スクリプト言語についてお聞きしたいです

私はC#もjavascriptも使った事ないのですが、公式のリファレンスや
unityやってる個人ブログにある初心者向け講座やサンプルスクリプトは
javascript(正確にはjavascriptに似た言語との事ですが)が基本のようです

ここまで調べた感じ、サンプルやリファレンス的にjavascriptで書いた方がいいのかな、
という気がしていますが、C#で書いた方がいいとか、javascriptでは書かない方がいい、
というような理由とかありますか?

C#、javascriptどちらでも関係ない、というのであればjavascriptで勉強しようと思っています

なにかアドバイスやご教授いただければ幸いです
0405名前は開発中のものです。2014/06/02(月) 18:54:00.81ID:+fBdINaq
>>404
特にないです。やっていくうちに
書くことはできなくても、どちらも読めるようになっていくと思われます。
0406名前は開発中のものです。2014/06/02(月) 20:09:10.81ID:EN+Ir0CJ
>>405
レスありがとうございます。
では、まずはjavascriptで頑張ってみようと思います。
ありがとうございました。
0407名前は開発中のものです。2014/06/02(月) 20:27:26.89ID:aS4p/dtz
Unityではパフォーマンスの為に型明示が必要だからJSを使うメリット全く無いと思うぞ
後、JSは作られた当初から変態仕様なんだけど、更に方々で拡張されて仕様が滅茶苦茶
分かり難いし
0408名前は開発中のものです。2014/06/02(月) 20:40:27.19ID:Ay+am4Ju
>>396
アセット犬いつもご苦労
0409名前は開発中のものです。2014/06/02(月) 21:29:41.07ID:5I2OSzs6
>>395
別に作るという方針で決定してるならそれで問題はないけど
動かない訳ではない。

インポートセッティングのアニメーションタブ、
それぞれのアニメーションの項目について
Mask>Transformで出てくるボーン全てに
チェックを入れてやれば動くようになる
0410名前は開発中のものです。2014/06/02(月) 21:38:51.38ID:EN+Ir0CJ
>>407
正直、見てるコードがjavascriptなのかC#なのかの区別すら分かってないのですが
ttp://unity3d-study.seesaa.net/article/365776158.html
この当たりのサンプルゲームのコードの記述ってjavascriptですよね?
0411名前は開発中のものです。2014/06/02(月) 21:49:07.29ID:5I2OSzs6
それはjavascriptだね。
頭がusingなんちゃらとか
そのあとあたりに
public class XXX : MonoBehavior
とかあったりするとC#

まぁ実際unity scriptはゼロからだと
かえって勉強しにくそうな印象はあるな。
0412名前は開発中のものです。2014/06/02(月) 21:57:26.21ID:EN+Ir0CJ
>>411
レスありがとうございます。
私が今日一日で回った初心者サイトや入門サイトのほとんどは
こういう記述だったので、javascriptでまずはやろうと思います

>>407様はパフォーマンス的な理由でC#が良いとの事ですが
初心者の私にはひとまずパフォーマンス面は考えなくていい(考えられない)と思うので
0413名前は開発中のものです。2014/06/02(月) 22:08:27.75ID:jFKVQN2M
>>408
こいつすごいよな。
どんなに疎まれても病的に続ける遺伝子。
日本人「私は人が嫌がることをすすんでやります」
朝鮮人「私は人が嫌がることをすすんでやります」
アセット君は典型的な後者の遺伝子を持っている。日本人には到底理解できないメンタル。すごい。
0414名前は開発中のものです。2014/06/02(月) 22:21:10.88ID:K/3IBsUz
>>410
アセット買えばどうにかなると思うよ
特に韓国製は最高!
0415名前は開発中のものです。2014/06/02(月) 22:23:53.13ID:aS4p/dtz
>>410
varで変数宣言するのはJS
ま、プログラミングやったこと無いんだったら言われても何も分からんだろうから、自分で
やってみて判断すればいい、どの道、同梱アセットとかどっちか一方でしか提供されて
ない場合が多いからソース読んで勉強する気ならどっちも分からんと困る部分はある
0416名前は開発中のものです。2014/06/02(月) 22:27:04.12ID:K/3IBsUz
>>413
前者と後者の違いがわかりません
アセット購入したらわかりますか?
0417名前は開発中のものです。2014/06/02(月) 22:54:24.77ID:EdLqyx4V
アセットおじさんは
ホント無知で役立たずだなあ
0418名前は開発中のものです。2014/06/02(月) 23:14:33.63ID:5rUTb0ca
>>409
ありがとうございます
試してみます
0419名前は開発中のものです。2014/06/03(火) 00:00:54.63ID:1QGZsiej
>>415
レスありがとうございます。
一応、普通のCは1年ほどやっていたのでごく普通の関数、変数、ポインタ
くらいは分かります。
とりあえず、慣れるためにサンプルゲーム理解する所からやってみます。
0420名前は開発中のものです。2014/06/03(火) 00:24:53.65ID:qeHdX0ZU
>>415
C#だってvar使うじゃんよーとかいってみるテスト
0421名前は開発中のものです。2014/06/03(火) 00:39:49.50ID:B2scxBWm
C#の型推論なんて使えるってだけで使う意味ないだろ
対してJSの場合、文法的にローカル変数宣言にはvarが必須
0422名前は開発中のものです。2014/06/03(火) 01:29:01.14ID:qeHdX0ZU
>>421
でもUnityのというか.NetなJSだと varに型宣言必須に近いよね。
0423名前は開発中のものです。2014/06/03(火) 03:01:24.11ID:z1ep9OdU
ダークおじさんがアセットおじさんにキャストしたんか?
0424名前は開発中のものです。2014/06/03(火) 04:51:17.46ID:2JU+/4Xk
javaスクリプトで、すごく初歩的な質問なのですが、
"a"というモーションの再生修了後"b"というモーションを流したいのですが、
どう書けば良いでしょうか?

animation.Play("a");
animation.Play("b");

宜しくお願いいたします。
0425名前は開発中のものです。2014/06/03(火) 10:56:56.94ID:ndg8wmnU
一回aを流したあとbを流しっぱなしでいいのか
キーを押したら切り替えたいとか色々ある訳だが
とりあえずこの辺か?
ttp://ameblo.jp/knors/entry-11152990897.html

あとこの辺が自分で読めるようにならないとどうにもならない
ttp://docs.unity3d.com/ScriptReference/Animation.html

UnityJapanで日本語リファレンスも作ってくれていたが
本家が更新されたので要確認。
4.5での変更は恐らく反映されていない
ttp://docs-jp.unity3d.com/Documentation/ScriptReference/Animation.html
0426名前は開発中のものです。2014/06/03(火) 13:12:02.02ID:yKR/2PQH
UIPickerViewのようなもの使いたいのですがありますでしょうか?
標準でなければASSETS STOREにあるものでも構いません。
0427名前は開発中のものです。2014/06/03(火) 14:45:34.86ID:2JU+/4Xk
>>425
ありがとうございます。
参考にさせていただきます!
0428名前は開発中のものです。2014/06/03(火) 14:46:33.51ID:2JU+/4Xk
>>425
ありがとうございます。
参考にいたします!
0429名前は開発中のものです。2014/06/03(火) 15:33:24.65ID:qeHdX0ZU
>>426
見かけが同じになるものが欲しいならiPhone用にplugin書くのが一番なんだが、プラットフォーム依存になる。
見かけにて無いけどNGUIで実装されているものなら
ttps://www.assetstore.unity3d.com/en/#!/content/10024
これくらいしかない

つかDatePicker系は殆ど見ないな
0430名前は開発中のものです。2014/06/03(火) 22:51:15.04ID:MprFx/72
C#で同じオブジェクトについているスクリプトからboolを引っ張ってきてリンクさせたいのですがよい方法はないでしょうか?

public class A_Script : MonoBehaviour {

public bool HIT;

void OnTriggerEnter2D(Collider2D col ){
HIT = true;
}
}

public class B_Script : MonoBehaviour {


public bool HIT_UKETORITAI; 

void Update () {
    bool HIT_UKETORITAI GetComponent<A_Script>().HIT;
}
}

こんな感じの事をやりたいです
0431名前は開発中のものです。2014/06/03(火) 23:00:47.33ID:ndg8wmnU
書いてあるそれじゃダメなん?w

まぁ毎回ゲットコンポーネントとか重いだろうから

public class B_Script : MonoBehaviour {

A_script ascript

void Start(){
ascript=gameObject.GetComponent<A_Script>();
}

void Update () {
if(ascript.HIT==true){
処理
}
}

とかの方が一般的かとは思うが
0432名前は開発中のものです。2014/06/03(火) 23:27:57.03ID:ndg8wmnU
すまない、
A_Script ascript;
だ。
0433名前は開発中のものです。2014/06/03(火) 23:42:13.28ID:MprFx/72
ありがとうございますGetComponentは重いのですか
こんな感じで毎フレームの結果が欲しいのですがA_Scriptからコピペした方が良いでしょうか?

public class A_Script : MonoBehaviour {

public bool HIT;

void Update ()

//-------着地---------
if(Physics2D.Linecast(transform.position + transform.up * 1,transform.position - transform.up * 1f,groundLayer)){
HIT =true;
}else{
HIT = false;
}
}
}
}

public class B_Script : MonoBehaviour {


public bool HIT_UKETORITAI; //

void Update () {
    bool HIT_UKETORITAI GetComponent<A_Script>().HIT;
if(HIT_UKEROTITAI){
    処理
}}
}
0434名前は開発中のものです。2014/06/03(火) 23:54:08.99ID:k/6hu66m
>>433
>>431 さんは貴方のやっていることは、
同じ相手に電話をかけるために、毎回104で電話番号を問い合わせる様なもの
だったら初めに番号登録しておいた方がはやいですよ。と、論理的、効率的な仕事の進め方を教えてくれているのです
0435名前は開発中のものです。2014/06/04(水) 07:26:32.13ID:Q3rHarV8
>>433
いや、431で書いたようにスタートでゲットコンポーネントしておけばそれでいいんだって。
毎フレームやる必要はなくなる。
newしている訳ではないので新しいインスタンスができる訳ではない。

ttp://forum.unity3d.com/threads/is-using-getcomponent-slow.37548/
ここでサンプルに示してある。

ただ正直ゲットコンポーネントどのくらい重いの?ってのは
どうもよくわからん部分もあって昔のマニュアル見ると
transformとかもキャッシュしておくと早いよって話だった。

ttp://docs.unity3d.com/410/Documentation/ScriptReference/index.Performance_Optimization.html
このページ中段 3. Cache component lookups の項。
>The latter code will run a lot faster since Unity doesn't have to find the transform component in the game object each frame
"後のコードは毎フレームトランスフォームコンポーネントを見つける必要がないからずっと速い"

でも先日改定されたマニュアルにはその辺の話は載ってなかったりする。
内部的に何か変わったのかもしれない。
なのでよくわからなかったら毎フレームゲットコンポーネントしちゃっていい気がする。
重くて動かねぇ、ってなったら考えれば。
0436名前は開発中のものです。2014/06/04(水) 08:08:32.65ID:Lbw1ASRl
内部のアーキテクチャを推測すると
変数に直接アクセスするのにかかる時間を1とした場合
GetComponentでアクセスするのにかかる時間=100〜150
GameObject.Findでゲームオブジェクトを探すのにかかる時間=500以上

という印象。しかもGameObject.Findはシーン中のゲームオブジェクトの数に比例して
探すのにかかる時間が増える
0437名前は開発中のものです。2014/06/04(水) 08:14:12.05ID:8KIZKPRb
真顔で寝惚けてんのか
0438名前は開発中のものです。2014/06/04(水) 12:21:00.66ID:nMbazG+P
衝突した時のスクリプトで質問があります

・ピンボールを作りたい
・問題点:真横や真縦にボールが反射すると永久的に真横、真縦にしかボールが反射しない

サンプルを探すとそれを解消する記述がありました。

rigidbody.velocity = rigidbody.velocity.normalized * 2; //よく分からないが減速を防ぐらしい
if (Mathf.Abs(rigidbody.velocity.y) < 6) { //y角度が6を下回ったら現Y値に定数を乗算して角度を付ける
 rigidbody.velocity.y = rigidbody.velocity.y * 12;
}
if (Mathf.Abs(rigidbody.velocity.x) < 6) { //上のX軸版
 rigidbody.velocity.x = rigidbody.velocity.x * 12;
}
0439名前は開発中のものです。2014/06/04(水) 12:23:21.92ID:nMbazG+P
>>438のスクリプトで確かに問題点は解消したのですが、ボールのscaleを
1→3に3倍とかすると効かなくなります。

「Mathf.Abs(rigidbody.velocity.y) < 6」の6や
「rigidbody.velocity.y * 12;」の12などの定数値を2とか9とか30とか
色々いじってもみたのですが、どうも解消しません。

スケールを変えると何か変わるんでしょうか?
解決策でもアドバイスでもなんでもいいので教えて頂きたいです
■ このスレッドは過去ログ倉庫に格納されています