トップページgamedev
1002コメント392KB

Unity5質問スレ [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2015/07/08(水) 21:37:53.68ID:GwI4cIXA
質問スレがないから立てた
今では反省している
0122名前は開発中のものです。2015/08/18(火) 20:36:11.69ID:KXKFIM4A
いいからファイル選択画面のサンプルだせや。
01231142015/08/18(火) 21:31:47.97ID:Cm1DMGey
>>118
ご提示いただいた内容でうまくいきました。ありがとうございます。
早速修正した際、ハンドラ関数が呼び出されるタイミングが自分が思っていたより遅く、
うまくいきませんでしたが最終的に望んだ結果が得られました。勉強になりました。
0124名前は開発中のものです。2015/08/18(火) 23:59:35.41ID:QtV9bWWE
>>102
無事透過されずにできました、ありがとうございました!
0125名前は開発中のものです。2015/08/19(水) 04:20:57.73ID:3CmB+EAf
>>121
いったんビルドしてXcodeプロジェクトとして開いて編集とデバッグ
動くようになったらUnityプロジェクトに反映とかやってた記憶がある
0126名前は開発中のものです。2015/08/19(水) 13:06:55.78ID:5jE5diiY
すっごく基本的な質問なんだけどアセットの管理ってどうやるの?
製作中のシーンはセーブすることで管理出来るけど
アニメやマテリアルetcは変更した後にどうやって前のに戻したらいいか解らない
削除する時には戻せないよとかprefab変更時はホントにいいの?とか脅してくるし
0127名前は開発中のものです。2015/08/19(水) 13:11:21.80ID:ecgJ4ZSu
昨日始めた初心者なのですが、MultipleSpriteを用いて、特定のスプライトをクリックした時にそのスプライトだけスライスで作った別のものに置き換えたいのですが、衝突判定をした後、

void Update () {
if (Input.GetMouseButtonDown (0)) {
Vector2 tapPoint = Camera.main.ScreenToWorldPoint (Input.mousePosition);
Collider2D collider = Physics2D.OverlapPoint (tapPoint);
if (collider != null) {
// ここの部分をどう記述すれば良いのか悩んでいます
}
}
}

よろしくお願いします
0128名前は開発中のものです。2015/08/19(水) 13:16:44.37ID:y3vbPYEp
>>127
colliderのGetComponentメソッドで必要なスクリプトとかコンポーネントを取り出して処理する
0129名前は開発中のものです。2015/08/19(水) 13:28:13.08ID:ecgJ4ZSu
>>128
解決しました、ありがとうございました
0130名前は開発中のものです。2015/08/19(水) 20:42:16.48ID:oPnf9eHC
>>126
自力でバックアップとってチマチマやろう
0131名前は開発中のものです。2015/08/19(水) 20:45:53.53ID:Xk+AlGha
Unityってオブジェクト数の上限ってどの位なんだろう?
とりあえす、ビルをぶっ壊したいと思って、Cube一個分のビルのパーツと壊すアニメーションをBlenderで作って、そのパーツを組み立ててビルを作ったんだけど、
ビル一つで288個のパーツになる。ビルを5つ程作ったらその時点で動作が重いんだけどこんなもん?

マテリアルは全部共通で、全部にコライダとビル破壊用のスクリプト付けてるだけなんだけどな。
0132名前は開発中のものです。2015/08/19(水) 21:38:40.99ID:r5BoUtWe
そんなん環境と実装によるだろ、と思うけど
よくある物理演算のエンジンて
一定時間動かなかったものはstatic化して処理を軽くする
UnityのPhsycsが内部でそうやってくれてるかは知らんが
やってないならそんなもんじゃね
0133名前は開発中のものです。2015/08/19(水) 21:42:48.19ID:Xk+AlGha
>>132
勝手にstatic化してくれてると思ってたんだけど、そうじゃ無いみたいね?動きとしてはCube一個ずつ壊れてくれた方が爽快なんだけどな。
やっぱりビル一個のオブジェクトにして壊すしか無いか。
0134名前は開発中のものです。2015/08/19(水) 22:17:45.56ID:OqhYdZV3
UnityでスクリプトをC#で書く場合参考になる書籍って何でしょうか?
特にUnityの基本を押さえてある入門書みたいなのがいいんですがないでしょうか?
0135名前は開発中のものです。2015/08/19(水) 22:30:42.43ID:y3vbPYEp
>>134
Unityの基本を押さえた本ならUnity4用のは高橋啓治郎さんの本が良いのだけどUnity5向けでは無いからちょっと注意が必要かもしれない。
C#と併用する本だと日本語書籍だと無いのでC#に付いてはMSの書籍を併用するのが良い(ググれば済む話ではある)
英文でも良いならPacket PubのUnity本がお勧め epubとpdfの電子版があるので買うのは楽
0136名前は開発中のものです。2015/08/20(木) 00:14:09.15ID:Fb50snmM
>>135
なるほど、探してみます

次いで質問なんですが、
スクリプトAとBがあり、オブジェクト1にその両方をはりつけてるんですが、
AでSEの設定、Bで鳴らす条件を書いたんですが、AからBを読込む場合
private スクリプトB 名前; で宣言して
名前=GameObject.Find("オブジェクト1").GetComponent<スクリプトA>()
こんな感じでいいんでしょうか?
0137名前は開発中のものです。2015/08/20(木) 00:17:19.27ID:SY7Ghhg6
>>136
同じオブジェクトに付いてるならGetComponentだけで行けるしpublicで宣言しておいてinspectorから設定しても良い(この方がCPUコスト食わない)
0138名前は開発中のものです。2015/08/20(木) 00:29:01.93ID:Fb50snmM
>>137
すいません、ガチ初心者なのでよくわかんないんですが
GetComponent(A).Aの音鳴らす設定をBの中で処理すればいいんでしょうか?
0139名前は開発中のものです。2015/08/20(木) 00:34:01.56ID:SY7Ghhg6
>>138
AとBのスクリプト見せてもらったわけでもないのに、そんな事きかれても困る
0140名前は開発中のものです。2015/08/20(木) 00:38:04.07ID:X9W507lI
つかチュートリアルもやらずに意味不明で聞いてるのは時間の無駄杉
なぜ初歩からきちんとやろうとしないのか不思議
0141名前は開発中のものです。2015/08/20(木) 00:39:55.54ID:Fb50snmM
>>139
これは申し訳ない

スクリプトA
public class A: MonoBehaviour {
public AudioClip SoundA;
public AudioClip SoundB;

public void PlaySoundA()
{GetComponent<AudioSource>().PlayOneShot(SoundA);}
public void PlaySoundB()
{GetComponent<AudioSource>().PlayOneShot(SoundB);; }
}

スクリプトB
public class B: MonoBehaviour {
void OnTriggerEnter(Collider other)
{
if (other.tag == "otherObj")
{
Destroy(other.gameObject);
GetComponent(B).PlaySoundA;
}
}


こんな感じでいいんでしょうか?
0142名前は開発中のものです。2015/08/20(木) 00:49:02.28ID:lD3r9fHl
C++をずっと使ってきたのですがUIが取っつきにくく
ある程度簡単な処理なら別のライブラリを使うか、自分で書いた方が楽しいのですが
この機能はUnityを使わないと実現できなかっただろうなと思う機能を教えてください
0143名前は開発中のものです。2015/08/20(木) 00:50:11.11ID:lD3r9fHl
楽しい→楽な
0144名前は開発中のものです。2015/08/20(木) 00:57:35.22ID:SY7Ghhg6
>>141
しょうじきに聞くけどそれ分ける意味あるのかな?
効果音系を集めて管理したいなら別のやり方があるけどサンプル提示しても意味を理解してもらうのには不都合があるし。
一度Tutorial全部やってみるべきじゃないかな?
作りたい物があるときにTutorialに時間かけるのがもったいないとかめんどくさいとか思っているととっても遠回りする事になるだけだよ。
0145名前は開発中のものです。2015/08/20(木) 01:16:47.08ID:Fb50snmM
>>144
今まさにチュートリアルのブロック崩し作ってて
音を鳴らしたいのでいろいろやってみてわかんなかったんで質問してみたんですよ・・・
音を分けたのは、ブロックに当たった時、バーに当たった時、壁に当たった時で分けたくて
別に作ったんです。ただ、聞く限りどうやらこれ一つにまとめられる感じですね・・・
0146名前は開発中のものです。2015/08/20(木) 03:44:12.65ID:Tih3aTZa
>>142
C++とUnityは比較できるものじゃないよ
DirectXと比較したいならまだ話はわかるが
0147名前は開発中のものです。2015/08/20(木) 03:48:58.82ID:nzcLkhVo
UI言ってるからVC++かなんかと比べてるのでは
0148名前は開発中のものです。2015/08/20(木) 09:58:56.62ID:BkxF/hOM
音を鳴らしたいっていろいろ聞いたものです。友人の協力あって
何とか鳴らす事が出来ました。そこで新たな質問なんですが、
TriggerEnterとCollisionEnterって何が違うんでしょうか?
ここが友人と意見分かれました・・・・
0149名前は開発中のものです。2015/08/20(木) 10:21:09.12ID:WBy70L5c
monodevelopで該当の文字を囲ってからCTRL+SHFT+7を押すと
あら不思議詳しく説明してるドキュメントが現れる
このスレでアホみたいに聞く時間が大幅に節約されるよw
0150名前は開発中のものです。2015/08/20(木) 10:25:12.89ID:SY7Ghhg6
>>148
ColliderのisTriggerをOnにすると当たり判定だけ発生するようになる(物理演算には寄与しない)
そのときの当たり判定がOnTriggerXXXXの呼び出し
isTriggerがOffの時はOnCollisionXXXXの呼び出し用になる
0151名前は開発中のものです。2015/08/20(木) 10:32:26.42ID:KEB/Yes9
友人とかまだ宿題が終わらないのか
専門学校の先生もこんな奴ら相手にしてるとかすごく大変そう
0152名前は開発中のものです。2015/08/20(木) 12:03:00.85ID:UQv8bJyo
プログラミング初心者、英語だめ、頭の出来は人並み以下の人向きで
簡単過ぎるかと思ったけどこの流れならおすすめ出来る
テラシュールブログでタイミングよく紹介した

『ゲームの作り方 Unityで覚える遊びのアルゴリズム』
http://www006.upp.so-net.ne.jp/chewee/uni-mini-hon/workshop.htm
0153名前は開発中のものです。2015/08/20(木) 13:17:23.60ID:8uiBXb47
これサンプルがたくさんあるけど
説明が無いから初心者向きじゃないんだよな
0154名前は開発中のものです。2015/08/20(木) 13:38:28.29ID:GF+M0fHr
Unityのカメラの操作が難しいです
簡単に思った通りの場所が映せる方法ないですか?
0155名前は開発中のものです。2015/08/20(木) 14:27:46.54ID:UQv8bJyo
ターゲットが決まってるならCamera Follow Scriptとかで検索して適当なスクリプト持ってくる
もしくはStandardAssetsにあるプレハブ使う
http://www.atmarkit.co.jp/ait/articles/1505/18/news011.html
0156名前は開発中のものです。2015/08/20(木) 18:02:36.65ID:o+CJMlU8
>>154
俺もほんと今これで悩んでる
3次元空間で360度色んな向き写すから今カメラとオブジェクトの位置関係が
どうなってるのかとか、カメラがどこ向いてんのかとか、空間認識が全くできない

映したいものが全くカメラに映らん・・・
0157名前は開発中のものです。2015/08/20(木) 18:51:07.85ID:Ble4AJoH
public Transform from;
public Transform to;
public float speed = 0.1F;
void Update() {
transform.rotation = Quaternion.Slerp(from.rotation, to.rotation, Time.time * speed);
}

公式のスクリプトリファレンスにあった回転のスクリプトなんですが、特定軸のみ回転をやる場合どうすればいいのでしょうか?
0158名前は開発中のものです。2015/08/20(木) 18:55:56.24ID:gYEj5a8r
>>157
例えばこれ
http://docs.unity3d.com/ScriptReference/Transform.Rotate.html
まぁでも正直数学とプログラムをちゃんとやったほうがいいとは思う。
0159名前は開発中のものです。2015/08/20(木) 21:17:36.99ID:3cNgYC3u
unityremoteを使い、Android端末上でゲームを再生してたのですが、再生が始まって数秒で端末側の映像が停止、その後直ぐにremoteの待機画面に戻ってしまいます。

不具合の原因が分からないのでアドバイスお願いします。


Unity5、windows8.1で作業しています。
Androidのバージョンは4.1.2です。
0160名前は開発中のものです。2015/08/20(木) 23:34:50.40ID:CdNqfl6J
unityで作成したゲームを起動するとデフォルトでレジストリを変更したりしますか?
0161名前は開発中のものです。2015/08/21(金) 02:05:49.33ID:TXjV6IoG
初歩的なことですいませんがskyboxを何度インポートしてもマテリアルがありません
どうすればいいでしょうか
0162名前は開発中のものです。2015/08/21(金) 11:12:29.81ID:g9CKnLaS
Unity4か5か、5ならどこのskyboxインポートしたか
回答者はエスパーじゃないんだから詳しく書け
0163名前は開発中のものです。2015/08/22(土) 00:41:05.97ID:g9NAnDd4
uLua
https://www.assetstore.unity3d.com/jp/#!/content/13887
って、日本語テキストを扱わせても大丈夫ですか?
買おうとしたものの、Luaは標準では多バイト文字対応してないと知って不安に……
0164名前は開発中のものです。2015/08/22(土) 01:47:16.68ID:9eA2l1Ef
>>163
ulua-support@polynationgames.REMOVE-THIS.com
ここに聞けばいいだろ
Could I use this asset with multi byte strings? Like a Chinese charactors.
とかつたない一言で事足りるんだし。
0165名前は開発中のものです。2015/08/23(日) 02:07:09.69ID:LHtdBgVg
2Dボーンアニメーションツールを探しているんですが、
IK・スクリプトからテクスチャ入れ替えができるツールって何がありますか?
できれば、メッシュ変形・イベントトリガも欲しいけど必須ではないです
0166名前は開発中のものです。2015/08/23(日) 03:02:30.58ID:N4+wf26b
自作したモデルにアニメーション付けてUnityでつかえるようにしたいけど
いい方法を紹介してるサイトってないだろうか?成る丈初心者向けのが知りたいです
0167名前は開発中のものです。2015/08/23(日) 04:05:58.29ID:cU95akrV
オープンワールドとかに使えそうな地形をterrainで作れるのはわかったけど凝った構造物を作りたい時はどうすればいい?
どう調べて何を学べばいいの?
0168名前は開発中のものです。2015/08/23(日) 04:54:47.61ID:BoPoBPLW
>>166
自分の使用ソフト+unityとかでようつべ検索してみ
外人ビデオでも発見の山やで
>>167
3Dモデリングソフトでモデル自作してunityへインポート
テラインは凹凸のみ表現可能だが
テラインにしかできない事もある
0169名前は開発中のものです。2015/08/23(日) 05:59:18.05ID:PndBQK9j
>>166
www.youtube.com/watch?v=h8oI0n5kAIg
このシリーズ勉強になるよ。英語分からなくてもやってる事を
追ってれば何とかなる。足のIKはすっとばしたいレベルだけど・・・

Terrainは基本凹凸しか表現できないけど、表面に沿ったメッシュ作って
透過させるなんてやり方や、Voxel地形みたいにして穴あけたりできる
有料アセットがあるみたいだが、使いこなせる気がしないな
0170名前は開発中のものです。2015/08/23(日) 09:39:32.23ID:P2+yAH9P
>>166
簡単に済ますかつお金かかっても良いならMixamo使うと良いかも(モデル毎にお金払うバージョンと通算ライセンスのプロ版のAssetがある)
ただモーション毎にお金かかるのが難点

自前でモーション全部定義するなら上の方のレスに従う方が良いし、自分の力にもなるよ
0171名前は開発中のものです。2015/08/23(日) 10:34:57.88ID:ZZw+S+j1
ゲーム製作の基礎をすっ飛ばしてオープンワールドとかすげぇ時代になったな
便利ツールも考えもの
0172名前は開発中のものです。2015/08/23(日) 10:40:32.46ID:bRxAlAmZ
基本はstarndardassetsにあるのを使い尽くす、次にassetstoreのUnity Essentialsを使い尽くす
ユニティちゃんの動きも基本これ、それで足りないなら全体で検索すれば無料のは山ほどある

ダンス等をやりたいならMMD4MecanimでMMDのモーションが使える
BLENDER介すれば更にBVHとか無数のモーションが使える

プログラムやりながらモーションとかどんだけ時間があっても足りないよ
簡単なモーションを幾つか自前でやるのは理解する上でも有りだけど必要なのを全部自前で作ったら年寄りになってる
0173名前は開発中のものです。2015/08/23(日) 16:08:02.81ID:BoPoBPLW
unityの場合、オープンワールドめんどそうだなあ
非同期プールや読み書きだけでお爺ちゃんになるわ
移動とかナブメッシュに丸投げしてるんだけど
焼いたナブメッシュって小分けできないから
地形とかランダム制御するわけにいかないし
(見た目だけなら変える事出来るだろうけど)
視界にないナブメッシュとか無駄なんだよね…

unityで本格的なオープンワールド作るなら
移動も接触もAIも自作しなきゃだめそう
0174名前は開発中のものです。2015/08/23(日) 16:16:32.49ID:sSDxOta/
固定されたプレートAの下にランダムで直方体B,Cを二つくっつけたいのですが上手くいきません…
プレートAの大きさは一定なのでY=0.5のところから直方体Bを伸ばしているのですが、その下に直方体Cを付けようとすると必ず間に隙間のようなものが空いてしまいます。
public GameObject MiddleObject;
public GameObject BottomObject;

float middleheight;
float bottomheight;

// Use this for initialization
void Start () {

middleheight = Random.Range (0.5f, 3.0f) * -1.0f;
bottomheight = Random.Range (0.5f, 3.0f) * -1.0f;

Vector3 midpos = new Vector3 (this.transform.position.x, 0.5f, this.transform.position.z);

Instantiate (MiddleObject, midpos , Quaternion.identity);
MiddleObject.transform.localScale = new Vector3(1.0f, middleheight , 1.0f);

Vector3 botpos = new Vector3 (this.transform.position.x, 0.5f + middleheight + 0.1f + bottomheight / 10f , this.transform.position.z);

Instantiate (BottomObject, botpos , Quaternion.identity);
BottomObject.transform.localScale = new Vector3(1.0f, bottomheight , 1.0f);


}

直方体BがMiddleObjectで直方体CがBottomObjectです。
どうすれば直方体BとCを綺麗にくっ付けることができるのでしょうか、分かる方よければアドバイスお願いします
0175名前は開発中のものです。2015/08/23(日) 16:45:02.13ID:P2+yAH9P
>>173
オープンワールド作るには辛いのは皆知ってる模様
そんなせいかアセットストアにないけどツールが別売で売ってたりする
今リンク失念してるのでかけないけど生成型マップで無制限の領域生成出来る奴(ビデオしか公開されてなくて詳細はメールでって売り方なのでお試しできないのが困るのだけど)
0176名前は開発中のものです。2015/08/23(日) 16:56:26.82ID:vqdu988J
CityEngine以外に同等の機能があるツールってあんの?
道路の線引くだけで建物とか自動生成してくれるらしいんだけどあれ高すぎだわ
0177名前は開発中のものです。2015/08/23(日) 17:58:55.76ID:PndBQK9j
>>174
上に寄せて拡大縮小してるように見えるんだが
いまいちやりたい事伝わらんけど、何か適当に置いとくわ
・空のGameObjectにアタッチして使うスクリプト。
・プレハブ1インスタンスの下に2インスタンスが、
 2インスタンスの下に3インスタンスが並ぶ
public Object obj1; //Inspectorにて、プレハブをドラッグ&ドロップ
public Object obj2;
public Object obj3;
void Start(){
//インスタンスをGameObjectへ変換しつつ代入
var instance1 = Instantiate(obj1, Vector3.zero, Quaternion.identity) as GameObject;
var instance2 = Instantiate(obj2, Vector3.zero, Quaternion.identity) as GameObject;
var instance3 = Instantiate(obj3, Vector3.zero, Quaternion.identity) as GameObject;
//obj2の移動先
var pos_Instance2 = new Vector3(
instance1.transform.position.x,
instance1.transform.position.y - (instance1.GetComponent<Renderer>().bounds.size.y + instance2.GetComponent<Renderer>().bounds.size.y)/2,
instance1.transform.position.z);
//obj3の移動先
var pos_Instance3 = new Vector3(
instance2.transform.position.x,
pos_Instance2.y - (instance2.GetComponent<Renderer>().bounds.size.y + instance3.GetComponent<Renderer>().bounds.size.y)/2,
instance2.transform.position.z);
//移動
instance2.transform.Translate(pos_Instance2);
instance3.transform.Translate(pos_Instance3);
}
0178名前は開発中のものです。2015/08/23(日) 18:03:26.57ID:bRxAlAmZ
答えそのまま教えるようなやり方はためにならんぞ
参照サイトかキーワード教えて自分で考えるようにさせないと>>174のようにいつまでも初心者未満のまま
0179名前は開発中のものです。2015/08/23(日) 20:22:45.38ID:sRP2SB63
累計のスコアってどうやって書けば記録できるのでしょうか?
今まで対象のオブジェクトを何回タップしたか記録したいです。
playerprefsをロードして、スコアをプラス
、セーブのようにしたいのですが上手くいきません。初心者にも分かるように教えて欲しいです。
0180名前は開発中のものです。2015/08/23(日) 20:38:35.43ID:9l0A+MkA
初心者向けチュートリアルのSurvival Shooter 8. Scoring pointsで詳しく説明されてる
これを理解できるまで何度もやるんだ
0181名前は開発中のものです。2015/08/23(日) 21:35:51.09ID:jxHq9mHo
rigidbodyを使用しない場合の軸移動を制御するにはどうすればいいのでしょうか?
わからなかったので調べたのですが、rigidbodyを使った方法しか見つからなかったので質問させていただきました。
0182名前は開発中のものです。2015/08/23(日) 22:02:12.87ID:PndBQK9j
>>181 軸制限制御関数とかは特にないはず
Mathf.Clamp(value,min,max)で移動量を矯正するなり、
Vector3クラスの変数
ttp://docs.unity3d.com/ja/current/ScriptReference/Vector3.html
を使ってローカル軸移動するなり、好みでどうぞ
0183名前は開発中のものです。2015/08/23(日) 22:03:35.10ID:PndBQK9j
ごめんVector3クラスのはワールド軸だった
ローカル軸移動はこっちね
ttp://docs.unity3d.com/ja/current/ScriptReference/Transform.html
0184名前は開発中のものです。2015/08/23(日) 22:05:10.86ID:sRP2SB63
>>180
そのゲームワンプレイ中のハイスコアではなく、何回ものプレイで積み上げてきた累計のポイントを記録したいのですが、ここに書いてあるのでしょうか?見てもよく分からないのですが。
0185名前は開発中のものです。2015/08/23(日) 22:31:36.64ID:sRP2SB63
解決しました。最初は0を入れておけばいいんですね!
0186名前は開発中のものです。2015/08/24(月) 03:40:36.25ID:C4eqAqez
Collider2D.shapeCount:コライダー2Dの分割数。例えばコライダーの頂点動かして2つに別れたら2になる
0187名前は開発中のものです。2015/08/24(月) 05:19:52.29ID:6t+cqKgW
簡単な処理が書けるようになったから自分のキャラとかにアニメーションつけたり
制御してみたいなーと思ってblenderでキャラ作ってunityで読み込ませてみたんですが
.blender→z軸とy軸がキャラだけ入れ替わってたり親子関係がおかしい(親子少し変えるとなおる?)
.FBX →Rotationが0,0,0のはずが -90,-180,0になってる。
エクスポートのときにトランスフォームを適応にチェック入れると3つ目以降の子オブジェクトが荒ぶる。

調べてみても自分の状況と違うことが書いてあるためよくわからず。
blenderと同じ座標や回転軸、親子関係の状態でunityで読み込ませるためにはどうすればいいのでしょう?
0188名前は開発中のものです。2015/08/24(月) 07:42:48.46ID:C4eqAqez
>>187
回転000スケール111基準でアニメーションしたいなら
空Objに入れて空Objをアニメーションすればいいだけ
なぜメッシュに回転やスケーリングがかかるかは
両ソフトの座標系や単位系についてもう一回ちゃんと調べてみたらいい
0189名前は開発中のものです。2015/08/24(月) 11:24:15.40ID:OUpui1KT
unityで
=
//

こういった曲線のオブジェクトを作ることは可能ですか?(分かりづらくてすみません
blenderなどのソフトで作るしかないでしょうか?
0190名前は開発中のものです。2015/08/24(月) 11:25:52.55ID:OUpui1KT
上手く貼れなかったんですけど滑らかなカーブを作りたいです。。。
0191名前は開発中のものです。2015/08/24(月) 11:54:47.83ID:pJX0Se3K
>>187
ブレンダーは座標軸事態がUnityと違うから逆になる。
防ぐにはブレンダーの方でオブジェクトの座標を逆にする必要がある。
そのままエクスポートする方法は有ったような無いような。
頑張れ。
0192名前は開発中のものです。2015/08/24(月) 11:58:21.82ID:pJX0Se3K
>>189
Unityは流石に出来ないのでは?
やるならブレンダーとかのツールを使った方が速いかもね。
Unityはあくまでも保有する材料を組み立てるツール。
と思う。
0193名前は開発中のものです。2015/08/24(月) 12:04:22.25ID:P534nfLV
sendmessageはあまり使わない方がいいらしいのですが、皆さん使用頻度はどんなもんですか?
文字列引数の問題さえクリアできれば便利だと思うのですが・・・

それともやっぱり極力使わない(避けた)方がいいですかね?
0194名前は開発中のものです。2015/08/24(月) 12:14:41.97ID:D46f7Rcj
>>193
呼び出しコストが高いので1フレームの処理中にガシガシ呼び出すのならやらない方が良い
タワーディフェンス系ゲームの移動完了時とか中継地点経過時やUIなどからなら使いやすいと思われる場合は使う程度かな
0195名前は開発中のものです。2015/08/24(月) 12:15:40.23ID:OUpui1KT
>>192
ありがとうございます。
やっぱり難しいのですね。
blenderで作ってみたいと思います。
0196名前は開発中のものです。2015/08/24(月) 12:16:46.08ID:D46f7Rcj
>>189
Path(経路)からオブジェクトを作る時は内部でMesh生成して作ったりするけど結構なコード量になるよ。(拾ってきたものでもできるかもしれないけど)
形状が確定してるならモデリングソフトでやっておくべき事だと思うぞ
0197名前は開発中のものです。2015/08/24(月) 12:31:55.54ID:P534nfLV
>>194
コストよりリファクタリングによる修正が効かないという危険性が
気になったので聞いてみました
単純に計算メソッド読んだり引数送りつける程度なら使ってもいいですかね
0198名前は開発中のものです。2015/08/24(月) 12:34:57.33ID:D46f7Rcj
>>197
なら尚更つかっちゃダメじゃね?
0199名前は開発中のものです。2015/08/24(月) 14:26:30.22ID:ij8NM9BZ
GetComponentがいまいち分かりません。

http://hiyotama.hatenablog.com/entry/2015/04/24/210000
このサイトにあるソースコードなんですけど
「rb = GetComponent<Rigidbody2D>();」でコンポーネントを取得しているのは分かります。
でも、「Collision2D 」とか「Physics2D」とかは何故GetComponentせずに使えるのでしょうか?
Rigidbody2DもCollision2DもPhysics2Dもクラスなのに、この違いはなんなのですか?
0200名前は開発中のものです。2015/08/24(月) 14:39:36.54ID:xpkjZXNP
Unityエンジンの内部でよく使われるものが
キャッシュされてるんじゃないかと思われる
0201名前は開発中のものです。2015/08/24(月) 15:24:23.84ID:GuW/yGM5
>>199
それはUnityの話じゃなくてC#の話なのでそっち方面をちゃんと勉強した方がいい。
答えを言ってしまえばPhysics2D.Linecastとかは静的関数だから、なのだが
そういってすぐわかるなら最初からわかるはずだろうし
0202名前は開発中のものです。2015/08/24(月) 17:50:09.69ID:hxztok7J
unityでオリンピックのマークはどのように作れますか?
0203名前は開発中のものです。2015/08/24(月) 20:12:51.77ID:esNiSOsC
paint.netとかgimpみたいなフリーの画像編集ソフトじゃなくてUnityで作らなきゃだめ?
0204名前は開発中のものです。2015/08/24(月) 20:44:34.95ID:R21lQ6+7
>>177
言葉足らずで申し訳ありません……
複数の固定されたプレートAに現在スクリプトを付けており、そこから下にランダムなYの大きさのオブジェクトBを付け、さらにその下にまたランダムなYの大きさのオブジェクトCを付けたいと考えております……
なのですが、Aは全て同じ大きさなのでその下に綺麗にBが付くのですがBの大きさがランダムなせいでCがBと重なってしまうことやだいぶ離れてしまうことがあります……
>>178
よければサイトやキーワードを教えて頂けないでしょうか?
0205名前は開発中のものです。2015/08/24(月) 20:55:12.46ID:6t+cqKgW
>>187 です。
とりあえずunityでインポートした今現在の状況ですが、
blender形式をインポート rotation x -90となる(blenderがz upのため読み込み時回転?)
fbxでインポート rotation x -90 y -180 ができる(z upのblenderと同じように見せるため回転してる)
fbxでインポート(Apply Transform チェック) 2階層目までは正常 rotationも(0,0,0)
しかし、4以降のrotationがfbxで普通に出力してrotation(0,0,0)に移動させた方向に向く。
といった謎現象が起きています。

一応、Apply Transformにチェックを入れて全ての階層のrotationを0にすれば
blender上の状況と同じにはできるのですが、もう少し効率のいい受け渡し方法とかないものでしょうか?
0206名前は開発中のものです。2015/08/24(月) 21:07:57.78ID:6t+cqKgW
>>205
修正
4以降のrotationじゃなくて3以降のrotation
0207名前は開発中のものです。2015/08/24(月) 21:26:16.59ID:P534nfLV
public void Move()
{
StartCoroutine("PanelSelect"); ★
}
public IEnumerator PanelSelect()
{
while (true)
{
yield return 0;
}
}

実装前のスケルトンなんですが、★の行で実行時エラー出ます
何が原因でしょうか
エラーはNullReferenceExceptionですが、一度だけInner loopというエラーが出ました
今は何度やっても出なくなりNullReferenceExceptionだけになりました
0208名前は開発中のものです。2015/08/25(火) 14:07:40.81ID:Emq2p8oa
>>207

StartCoroutine(PanelSelect());
という風に、呼び出したいコルーチンの末尾に()をつけて試してみてくれ
0209名前は開発中のものです。2015/08/25(火) 14:45:16.94ID:X8Sea92A
は?
0210名前は開発中のものです。2015/08/25(火) 15:22:54.48ID:jeZOwyIc
知らない奴が試しもしないで「は?」とか書いてもなw
0211名前は開発中のものです。2015/08/25(火) 16:33:43.76ID:jGOJGpU+
Unityのエディター上で、現在選択されているGameObjectを取得する方法はありますでしょうか?
0212名前は開発中のものです。2015/08/25(火) 16:51:05.78ID:kQ1TlK/I
エスパーを募集したい時は書き込みをするよりも
PCに向かって思念を飛ばした方が効率がいいぞ

効率を重視していない、エスパーじゃなくてもいい場合は
他人が読んでも意図がちゃんと理解できる文章を書くように
心がけた方がいい
0213名前は開発中のものです。2015/08/25(火) 18:12:50.03ID:fVf0Vtva
unityで正方形を立方体へするように、インポートした2dデータを3dモデルにすることは可能ですか?2dデータをy軸方向へ引き伸ばしたいです。もし可能なら方法を教えて欲しいです。
02142112015/08/25(火) 18:27:45.71ID:jGOJGpU+
すみません。意図が分かりにくかったかもしれません。

Unityのエディター上で作ってるゲームを動かしてる間、SceneウィンドウやHierarchyウィンドウから、マウスのクリックでゲームオブジェクトを選択できますよね。
その、現在選択状態になっているGameObjectを、スクリプトから取得したいんです。

方法は御座いませんでしょうか?
0215名前は開発中のものです。2015/08/25(火) 18:28:49.42ID:csnc0BGW
>>213
Unity本体にはextude機能はない
アセットストアにそういう機能を売りにしてるProBuilderってのが売ってるが、これも2DObjectを立方体にするものじゃなく平面3Dオブジェクトに対しての操作を提供するものだ
0216名前は開発中のものです。2015/08/25(火) 18:29:51.04ID:csnc0BGW
>>214
http://docs.unity3d.com/jp/current/ScriptReference/Selection.html
0217名前は開発中のものです。2015/08/25(火) 20:14:56.15ID:EYE0vlnf
マウスホイールの回転量を数値に変換して変数に入れたいのですが
どう書いていいものやらサッパリなので教えて下さいませ
0218名前は開発中のものです。2015/08/25(火) 20:57:00.06ID:fVf0Vtva
>>215
外部ツールを使わないと出来ないんですね。
ありがとうございました。
0219名前は開発中のものです。2015/08/25(火) 21:42:07.12ID:95qKmhxP
>>217
Edit -> ProjectSettings -> Input で、
マウスホイールに関する項目があるかチェック
InputクラスのAxis関数(マウスホイール名)とかで入力を受け取る
0220名前は開発中のものです。2015/08/25(火) 23:41:37.05ID:hme6GXx2
質問です。

Unity 5.1.1f1 personal
OS:windows7

android用のミニゲームを制作しています。
画面をタッチして、そのタッチ時間によって処理を変えたいと思っています。

タッチ時間が0〜600ミリ秒だとAという処理を行い、タッチ時間が600ミリ秒以上はBという処理を行いたいです。

悩んでいるのはタッチの時間をどのようにとるか、という点です。

タッチ判定にInput.GetMouseButtonDownを使っています。
これでタッチ判定は取れているのですが、そもそも
Input.GetMouseButtonDownを使うこと自体間違っているのでしょうか?


function Update () {

if (Input.GetMouseButtonDown(0)) { …}

}
ご存知の方いらっしゃいましたらご教示いただけたらと思います。
0221名前は開発中のものです。2015/08/25(火) 23:59:08.73ID:csnc0BGW
>>220
間違ってない
なのでタッチ検出のトリガー判定とかが含まれるif文の中身が間違ってる事になる
float pressTime;
bool alreadyPressed;
void Update() {
if(alreadyPressed) {
if(Input.GetMouseButtonDown(0)) {
pressTIme+=Time.deltaTime;
} else {
alredyPressed = false;
if(pressTime > 0.6f) {
// 600ms over
} else {
// under 600ms
}
}
} else if(Input.GetMouseButtonDown(0)) {
pressTime = 0;
alreadyPressed = true;
}
}
ボタンが押される前にフラグで処理分けしないとだめなんじゃないかな
■ このスレッドは過去ログ倉庫に格納されています