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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2015/11/18(水) 00:53:16.90ID:6AegDlBR
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

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

■本スレ
【3Dゲームエンジン】Unity総合スレッド27 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1441891966/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・ユーザーガイド
 http://docs.unity3d.com/ja/current/Manual/UnityManualRestructured.html
・チュートリアル
 http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 http://unity3d.com/jp/unity/faq
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

前スレ
【3Dゲームエンジン】Unity質問スレッド20 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1444194744/
0421名前は開発中のものです。2015/12/06(日) 22:07:18.04ID:e8MyX0tc
>>420
GetComponent<T>()はそのスクリプトが動いているGameObjectにアタッチされているTコンポーネントを取得する、なければnullが返る。
AddComponent<T>()はそのスクリプトが動いているGameObjectにTコンポーネントをアタッチして追加されたものを返す。
つまりそのスクリプトが動いているGameObjectにSpaceshipコンポーネントがアタッチされていないだけだと思う

とりあえずヒエラルキーでそのGameObjectを選択し、インスペクタからSpaceshipを追加すれば動くよ
このような別のコンポーネントがないとまともに動かないスクリプトの場合、付け忘れを避けるために[RequireComponent(typeof(T))]をつけておくといい

余計なお世話かもしれないが学び始めなら公式のマニュアルとリファレンスは読む習慣をつけることをお勧めしとくよ
わからない名前が出たらとりあえずググって公式のマニュアルとリファレンスを読めば自己解決出来るケースが増えるから自分のペースで開発出来る様になる
いちいち躓いて人に聞いてたらゲーム作る前に嫌になって挫折しそうな気がするから自己解決の方法を多く持つのは習得への近道だと思うよ

調べてもわからない事が出てきたらまたここに聞きに来ればわかる範囲で答えるから頑張れ
0422名前は開発中のものです。2015/12/06(日) 22:08:56.62ID:tut05Xyo
>>416
ありがとうございます
下のScriptで無事出来ました〜

int hitNum = 0; //cubeと接触した回数

void OnCollisionEnter(Collision col)
{
if (col.gameObject.name == "Cube(Clone)")
{
hitNum += 1; //接触したら接触回数を1増やす

if(hitNum >= 2) //接触回数が2回以上でオブジェクトを破棄
{
Destroy(gameObject);
}
}
}
0423名前は開発中のものです。2015/12/06(日) 23:00:24.87ID:jPU/1I8Z
ここまで丁寧に説明してくれる人がいる事と
それまでの無知全開の流れに良くも悪くもこのスレらしいなと思うのです
0424名前は開発中のものです。2015/12/06(日) 23:02:21.00ID:mgi24f37
>>421
チュートリアルの方調べたら、ご指摘の通りPlayerのprefabにスクリプトがアタッチされていました。
よくわかりました。

リファレンス、自分では調べたつもりなのですが折れるのが早いのかもしれません…
マニュアルは途中まで読んで飽きてチュートリアルに移ってしまったので、
読破するようにしますorz
助かりました、ありがとうございます!
0425名前は開発中のものです。2015/12/06(日) 23:11:08.96ID:mgi24f37
リファレンスにバッチリ載ってますね…
なんで見なかったんだろうorz
0426名前は開発中のものです。2015/12/07(月) 00:03:16.79ID:6i/uTLhj
>>424-425
マニュアルもリファレンスも全文読む必要はないというか読んでも最初はわからない単語だらけで理解出来ないで飽きると思う

チュートリアルなどをやっててわからなくなったらその部分を見る方が実体験に基づいて調べるから見落としにくいし覚えやすい
個人的には調べたついでに類似メソッドとの違いを把握出来るとより好ましいと思う

例えばGetComponent<T>を調べたらGetComponents<T>やGetComponentInChildren<T>などを理解しておくと応用が利くといった具合

小さなことから少しずつ覚えて行けばそのうち全体が把握出来る様になるさ
0427名前は開発中のものです。2015/12/07(月) 00:38:10.47ID:nzWuz8jB
複数のオブジェクトを仮置きしておいたのを、
いっぺんに指定のprefabに置き換える方法ってありますか?
0428名前は開発中のものです。2015/12/07(月) 01:17:30.55ID:kAr350d2
>>417
少なくともコピペしたコードが何をしてるのか理解しようとしてみましょう
そうすればできることがどんどん増えていきますよ

transform.Translate(new Vector3(directionX, directionY, 0) * Time.deltaTime * 0.5f);
ここで移動後の位置を設定してるのはわかるよね?
この「Vector3(directionX, directionY, 0)」がX,Y,Zの指定です

で、ここのZ(今「0」が設定されてる)を直接変えたいところだけど、
「Time.deltaTime * 0.5f」がかけてあり、0.5秒あたりの移動量で設定されてるから、
このtransform.Translateの処理直後に↓これ突っ込んでみたらと

Vector3 pos = transform.position;//今いる場所のxyz
pos.z = 1f - pos.y / 100;//z変更。キャラ描画の奥行き基点を1.0としてyで計算
transform.position = pos;//変更したxyzを上書き

プレイヤー以外のキャラが動くならそちらの処理にも対処入れておかないといけないね

あと2Dということはマップチップも配置してるよね?
ならばマップチップの座標にもZが要るかもね(マップチップは層が違うから基点を変える必要ありです)
マップなどはレイヤーで管理してるとは思うけど…影響がでるなら配置時に設定が必要

そもそもz使って管理するのがメカニムと相性良いかどうかは微妙だけど、作り次第かな
0429名前は開発中のものです。2015/12/07(月) 01:19:27.31ID:Uj4/ZsVJ
>>427
置き換えられる側のStartやAwakeで置き換えればいいんでないの?
Editorの話?
0430名前は開発中のものです。2015/12/07(月) 03:17:41.06ID:2ZS+ix9z
Editor想定でザクッと書いてみた
using UnityEngine;
using UnityEditor;
public class ReplaceToPrefab : EditorWindow {
[MenuItem(
0431名前は開発中のものです。2015/12/07(月) 03:28:42.76ID:2ZS+ix9z
ミスったので以下に置いてきた
http://www.dotup.org/uploda/www.dotup.org642133.txt.html
なお、ヒエラルキー上での順序等細かなことはしていない適宜修正されたし
0432名前は開発中のものです。2015/12/07(月) 03:42:13.20ID:2ZS+ix9z
>>431
自己レスすまん使い方書き忘れ、眠くてダメぽ

ソース読めばわかると思うが、一応以下使い方
メニュー>Window>ReplaceToPrefabという項目を選択
出てきたウインドウで置換先のプレハブを指定する
ヒエラルキーで置き換えたいオブジェクトを全て選択
Replaceボタンをクリックで置き換える

テキトーに書いたためアンドゥが出来ない
細心の注意を払いつつ自己責任で使ってくれ
0433名前は開発中のものです。2015/12/07(月) 12:28:22.25ID:OKonrqZH
質問です。

c#初心者で勉強中なのですが、よく使うであろう処理を関数にしてみようと思いました。
必要な時はそれに値を入れて、戻り値?をもらうような。
そこで、疑問が湧きました。
その「これこれこういう処理を○○という関数にする」という書き方はたぶん調べればわかるんですが
それを書いたスクリプトは、どこにどう置いておくものなのでしょう?
Unity上の、おそらくシーン上に置く必要がありますよね。
例えばその処理を実際に使用するスクリプトの上の方にでも書いておけばいいのでしょうか?
そうすると他のスクリプトからもその関数を使用する場合、わざわざ他のGameObjectを参照して…とか
やらなければいけないのでしょうか?
根本的なことだと思うのですが、調べ方もよくわからず困っています。
わかる方いましたら教えていただけると助かります。
0434名前は開発中のものです。2015/12/07(月) 12:56:19.37ID:Uj4/ZsVJ
>>433
いや、プロジェクトに含めて置けばクラスとして参照できるよ
便利関数をまとめとくだけなら、とりあえずstatic classにして静的メソッドとしておけば良いかと。

public static class Utils{
public static int Hoge(){
return 123;
}
}
別ファイルから「Debug.Log(Utils.Hoge())」とすれば123が得られる
0435名前は開発中のものです。2015/12/07(月) 13:00:57.01ID:Uj4/ZsVJ
調べ方だけど、とりあえずC#の基礎でぐぐればまとまったサイトいくらか見つかるだろうから、分かる範囲で斜め読みしておけば良いかと
Unityスレで言語の基礎知識聞くとスレ違い扱いされて仕方ないところなので、基礎的な質問はプログラム板で初心者スレ探してみて

MonoBehaviourやコンポーネント絡むとあちらではスレ違い扱いされるので、この辺はぐぐって出てくるのがUnityかどうかで判断すればいいかと
0436名前は開発中のものです。2015/12/07(月) 13:15:25.29ID:5Zo01j7L
unity5.2.1p4において、
player settingのiOS のsplash imageの設定で、
規定のサイズの画像を入れた後にXcodeで書き出して実機テストすると、
端末サイズ(自分の場合640×1136)のsplashの後に
640×960のsplashが表示されて困ってます。
(端末と画像の解像度が違うので画像が潰れている)
おそらくsplash画像をフェードアウトさせる為にunity側でsplashを表示してると思われるのですが、
解決方法はありませんか?
04374332015/12/07(月) 13:16:24.23ID:OKonrqZH
>>434,435
ありがとうございます。
プロジェクトフォルダに置いておけばいいのですね。
関数を作ってやってみます。

質問に関しては、Unity上のどこに置くのだろう?という質問だったのでここで聞きました。
不適切な質問でしたらすみませんでした…
0438名前は開発中のものです。2015/12/07(月) 16:24:10.23ID:IwWiwmZk
ゲームオブジェクトにアタッチするC#スクリプトで、
public変数を幾つかのグループ(この場合は効果音)に分け、
それぞれインスペクター上で折りたたみ表示にしたいと思います。

現在、以下のように内部にクラスを用意し、それを実現しています。

public class Player : MonoBehaviour
{
  [TooltipAttribute("効果音")]
  public SoundEffects sfx;

  [System.Serializable]
  public class SoundEffects
  {
    [TooltipAttribute("効果音:攻撃")]
    public AudioClip attack;

    [TooltipAttribute("効果音:ジャンプ")]
    public AudioClip jump;
  }
}

このコードでは SoundEffects クラスがありますが、一度しか使われておらず
なんだかモヤモヤしてしまいます。
より簡潔な書き方があれば教えてください。

エディタ拡張のFoldOutも考えましたが、変数をグループ分けするだけだと
ちょっと大げさすぎるように感じました。
([SerializeField]のような属性で表現できるなら良いのですが)
0439名前は開発中のものです。2015/12/07(月) 16:42:56.04ID:RRr2nEu0
>>438
折りたためなくてもいいなら[Header("効果音")]でもつけておけばいいと思う

折りたたみたいならエディタ拡張で表示を弄るかクラスを作るしかないが、インナークラスにせずにEnemyクラスとかで使いまわすとか再利用する事は想定されないのかな?
0440名前は開発中のものです。2015/12/07(月) 17:27:37.38ID:IwWiwmZk
>>439
最初はHeaderにしてたんですけど、
数が多くなるとどうしてもゴチャゴチャしちゃいまして。
変数グループ毎にスクリプトを分けてアタッチ、なんてのも試してました。

あ、もろちん使い回せる部分は使いまわせるようにしています。
0441名前は開発中のものです。2015/12/07(月) 18:41:47.89ID:kAr350d2
>>437
俺はプロジェクトのAssetsの中にScriptsってフォルダ作ってそこにcsファイル入れてるわ
他にもSpritesやPrefabsなどなど、判りやすく分類してる

あと、シーン上のオブジェクトに関連付けて使うクラスなら、
そのスクリプトをプロジェクトから掴んで該当オブジェクトにドロップすればいいっすよ

ここらへんのやり方はチュートリアルで説明あるからやったら分かるんじゃないかな
0442名前は開発中のものです。2015/12/07(月) 20:10:24.38ID:kAr350d2
あー、>>441は見当違いなレスだ
なんか読み間違いしてた、すみません
0443名前は開発中のものです。2015/12/07(月) 21:03:24.78ID:jBIJTjjk
自分が向いている方向(青軸)を0度として、
相手のオブジェクトのある位置の角度は求められるのですが
それが右側にあるのか、左側にあるのか、Angleを使って求めると
分からなくなってしまうのですが、いい方法はないでしょうか?
0444名前は開発中のものです。2015/12/07(月) 21:08:47.05ID:jBIJTjjk
連投すいません、右側、左側というのは、
青軸を0度として数学で言う第一象限〜第四象限の
どの位置にあるかを求めたいということです。
0445名前は開発中のものです。2015/12/07(月) 21:24:14.87ID:x8ZuNdat
XZ平面で三角関数解けや
0446名前は開発中のものです。2015/12/07(月) 21:41:52.72ID:mrT5kF6m
>>443
transform.rightとターゲットへのベクトルの内積が正なら右、負なら左
0447名前は開発中のものです。2015/12/07(月) 22:17:22.32ID:s5RZFjAL
くっそつまらんことで2週間ほど頭悩ましてるんやが、
指定したボールをボタンを押すたびに時計回りで同じ強さで発射したい

AddForce(initialVector, ForceMode.Impulse);

でinitialVectorの強さをかえると方向は変わるんやが、強さもかわっちまう。強くなる。
で、色々調べてrotateを変更すればとあるが変更してもなんら変わりなし。
rotate(0,20,0)とかrotate(20,0,0)

たぶん何らかの前提となる知識が必要なんだと思うけど、道筋だけでも教えてくれ
0448名前は開発中のものです。2015/12/07(月) 22:50:12.03ID:kAr350d2
>>447
Rotateで向きを変えて、AddForce(transform.forward * 20.0f)でどうだろうか
※20.0fは強さね

transform.forward で今の向き取得できるから、そこにチカラ加えてあげればいいんじゃないかな
0449名前は開発中のものです。2015/12/07(月) 22:56:30.23ID:jBIJTjjk
>>446
すぐに内積の事が出てこないとか恥ずかしい限りです。
ありがとうございました。
0450名前は開発中のものです。2015/12/07(月) 23:03:38.90ID:s5RZFjAL
>>448
返信どうも

ボタンが押されたら実行
{
CreateDummyBall();
_dummyBall.transform.Rotate(new Vector3(10, 0, 0));
//_dummyBallController.transform.Rotate(new Vector3(10, 0, 0));
_dummyBallController.Shot(Vector3.forward * 10);
}

private void CreateDummyBall()
{
_dummyBall = (GameObject)Instantiate(this.dummyBall, Vector3.zero, Quaternion.identity);
_dummyBallController = _dummyBall.GetComponent<dummyBallController>();
}

shotの中では

this.GetComponent<Rigidbody>().AddForce(initialVector, ForceMode.Impulse);

これでうまくいかん・・・
何が腐ってるんだろうか・・・
コメントアウトも試した

怪しんでるのはthis.GetComponentと_dummyBallの紐付き
0451名前は開発中のものです。2015/12/07(月) 23:24:44.15ID:kAr350d2
>>450
shotのAddForceを
AddForce(transform.forward *10, ForceMode.Impulse)ではだめですか?
0452名前は開発中のものです。2015/12/07(月) 23:29:23.77ID:s5RZFjAL
>>451
ごめんなさい

変に省いちゃったのがだめだった

public void Shot(Vector3 initialVector)
{
this.GetComponent<Rigidbody>().AddForce(initialVector, ForceMode.Impulse);
}


ってなってるんだ

で、先ほどのコードはこのショットを呼び出してる
0453名前は開発中のものです。2015/12/07(月) 23:53:25.18ID:kAr350d2
ごめんね、考え汲み取れなくて

じゃあ、
 _dummyBallController.Shot(Vector3.forward * 10);
  ↓
 _dummyBallController.Shot(_dummyBall.transform.forward * 10);
こうではないのん?
上で回転させた&打ち出したいボールは_dummyBallですよね

個人的には、shotに強さと向きを引数で渡して、
shotの中で回転させて、AddForceでforwardに強さかければスマートな気はします
0454名前は開発中のものです。2015/12/08(火) 00:00:36.93ID:YWarlEDs
>>453
こちらこそ省いて申し訳ない

>上で回転させた&打ち出したいボールは_dummyBallですよね

ですです。そうですね、ご指摘のとおりの実装が正しいと思います。

で、Startメソッドの中で_dummyBall.transform.forwardを取得すると

"(0.0, 0.0, 1.0)"

_dummyBall.transform.Rotate(10f, 0f, 0f);

実行後に_dummyBall.transform.forward

"(0.0, -0.2, 1.0)"

という値が取れて思うように回転してくれないっすね

この辺に関しては回転の概念を学ばなくてはならなそうです
0455名前は開発中のものです。2015/12/08(火) 00:08:29.98ID:LZ7q6pwb
壁だらけのダンジョンを歩き回る敵のアルゴリズムをちまちま作ってて、納得がいく動きになったから
意気揚々とマップに5体くらい配置してみたら途端に変な動きをするようになった・・・

単体だと問題ないけど複数配置しておかしな挙動になるってことは、ひょっとしたら
変数の値を共有しちゃってるのかな?と思ってc#入門とかを見ると
省略するとprivateになると書いてあるので、当てはまらなそうです(publicな変数は特に使ってません)

こういう現象って他にどんな原因が考えられますかね…??
0456名前は開発中のものです。2015/12/08(火) 00:25:15.51ID:YWarlEDs
>>454
自己解決

Rotateとは軸となる座標を指定するというのが味噌
Rotate(0,10,0)であれば、Y座標に軸、つまりこまみたいなイメージ
そこから指定した数字だけ回転(角度)する
0457名前は開発中のものです。2015/12/08(火) 00:27:27.59ID:YWarlEDs
>>455
情報が少ない気がする
0458名前は開発中のものです。2015/12/08(火) 00:32:23.88ID:lHB0dUDl
>>454
ああ、そうだ…すみません
最初に向いてる方向がZ方向だからそれを目的の時計回りになるところに
まず軸を初期化しないと、だ

ギズモが 
  ↑Y
←□→Z
  ↓   の状態でやるとわかりやすいけど、球のXを変えて力を加えれば球のZ方向に向かって動きます

なのでshotするのが自機だとしたら自機の向きでボールの向きを初期化してから
目的の向きへ回転させて力を加えてください
0459名前は開発中の物です。2015/12/08(火) 01:27:43.17ID:LoOIpgPp
>>428
アドバイスありがとうございます!
z値を利用した画像の前後ができました!

まだプレイヤーを上に動かすと他のオブジェクトより手前に出たりとか・・・。
上下キー以外にも、左右も押すだけでz値が奥行ってしまったりとか。
動画撮ってみました。元が趣味のアカウントで、申し訳ないのですが一番上の三つの記事
が今日の成果物です・・・。
http://8biskets.tumblr.com
0460名前は開発中のものです。2015/12/08(火) 01:49:12.14ID:k3T2AEQg
>>455
static変数を使ってると見た
0461名前は開発中のものです。2015/12/08(火) 02:21:41.66ID:tKLb4rQn
質問です。
ボールがあって、床を転がっている間に減速させたいのですが、
摩擦で遅くしようとすると壁に当たった時に(入射角と反射角の)角度が一致しなくなります。
モンOトのように動いて欲しいのですが摩擦で調整することは無理なのでしょうか?

最近始めたばかりの初心者なので、初歩的な質問だったらごめんなさい・・。
0462名前は開発中のものです。2015/12/08(火) 06:24:31.29ID:D5aX/sPt
>>461
RigidBodyでDragの設定をしてやればそれで減速は可能。
転がしてるならAnglerDragでもいい。
ただUnityは緻密な制御をしたいタイプのゲームには本当に不向きなので
そういうことがやりたくてまだ初めて間もないならUE4に鞍替えした方がいい
0463名前は開発中のものです。2015/12/08(火) 06:44:29.24ID:tKLb4rQn
>>462
アドバイスありがとうございます!
AngularDragは挙動が変わってしまいうまくいかず…orz
Dragの存在をなぜか忘れていたので試してみます!!

UE4ですか…調べてみます_φ(・_・ メモメモ
0464名前は開発中のものです。2015/12/08(火) 10:02:59.28ID:DCL7l9fw
>>455
始めにfindで自分を見つけてるけど、全部同じ人を見つけちゃってるか
全員が同じインスタンスを参照してる
private云々は関係ない
04654552015/12/08(火) 11:39:15.29ID:LZ7q6pwb
>>457
ごめんこれ以上なに書けばいいかわからなくて
コードは結構長いし

>>460
ありがとうです、staticは使ってません。
入門サイトなどを読んでも危険そうなものらしいので…(偏見かな)

>>464
インスタンスというのは調べてみます。
findは使ってるので怪しそうですね。その線も調べてみます、ありがとうです!
0466名前は開発中のものです。2015/12/08(火) 12:12:49.88ID:2F01qqB3
インスタンスはクラスを元にした実体だよ
変数の値を共用かもって書いてるけど、その通り同じオブジェクトを使ってるせいかと
Findはどこからやってるのさ
04674552015/12/08(火) 12:33:15.67ID:LZ7q6pwb
>>464
報告です、やはりFindでした。
それぞれの方向の判定用に、敵本体の四方に判定用の子を作ってたんですが
その判定を指定するとこでろでFindを使っていたのが原因のようで
これをFindChildにしたらみんなちゃんと動くようになりました。
昨日ずっとこねくり回しても解決せず悩んでたところが解決しました、ありがとうございます!

>>466
インスタンスやクラスや実体など、c#の文献を読んでもその辺がいつもピンとこないんですよね・・・
わかったようなわからないような、という
「取得できる」とか「参照できる」ってよく出てくる単語だけどどう違うの?とか
プログラムの勉強はなかなかに難しいです;
0468名前は開発中のものです。2015/12/08(火) 12:53:40.38ID:2F01qqB3
このケースで言えば、Hierarchyに載ってるのがインスタンス
FindはHierarchy全体から探してくるし、
FindChildはそのコードが乗ってるオブジェクトの下(▲がついてる下とか)から探してくる、、
というイメージでいいのかな。環境によるかもだけれど
0469名前は開発中のものです。2015/12/08(火) 13:02:28.95ID:LZ7q6pwb
>>468
あ、Findはどこからというのはそういう意味でしたか。
ヒエラルキーに敵本体の空オブジェクトがあり、その子に3Dオブジェクトや各方向の判定用オブジェクトがあり
スクリプトは本体(親)にアタッチしていたので、探す対象は子でした。
0470名前は開発中のものです。2015/12/08(火) 13:54:16.39ID:POPm1vgD
unityの4.xと5以降って互換性はありますか?
先輩からもらった本が全部4.xの本で、先輩には「unityの過去verもあるからそれDLして勉強しろ」と言われてます。
自分としては最新ver入れたいのですが、4.xのソースそのままでは動かないでしょうか?
0471名前は開発中のものです。2015/12/08(火) 14:01:17.85ID:nh5N6RSZ
どうしてわざわざ今から古いの勉強するのかしら
0472名前は開発中のものです。2015/12/08(火) 14:04:16.01ID:nh5N6RSZ
>>461
普通に摩擦係数を設定するのはやってみましたか
0473名前は開発中のものです。2015/12/08(火) 14:28:21.32ID:1/R/NX1z
>>470
4系は年末でサポート切れるというかパッチ提供終わるよ。互換性がないわけじゃないけどやる価値はないと思う
先輩に4系の古書押し付けられただけなんじゃね?

本を無駄にしたくないだけなら多少は意味あるけど。バージョン合わせて学べば学習中のトラブルは少ないし、リリースログ追いかけてどう進化したのか追いかけると知識にはなる
0474名前は開発中のものです。2015/12/08(火) 14:41:01.47ID:8dEZH0eU
先輩から何冊も本もらったら「いや別に使ってないっす」とは言いづらいよな
進捗とかいちいち聞かれるような状況なら4使っちゃうだろうな俺なら
実際は遠回りでしかないんだけど
0475名前は開発中のものです。2015/12/08(火) 14:45:37.37ID:D5aX/sPt
いや〜、4の本は使ってないっすでいいと思うよw
5になってどんだけたってるんだよって話なので(4をいじりながら…
0476名前は開発中のものです。2015/12/08(火) 14:58:25.26ID:2F01qqB3
練習コードくらいなら
5に4のコード入れると修正していいか聞いてくるからそれでやってもらえば修正箇所あまりないかと
0477名前は開発中のものです。2015/12/08(火) 15:09:25.36ID:ABVsuJ99
4と5で全く別物って訳じゃないんだから5入れて本の通りやってみればいいんじゃない?
本の通りに入力すると当然の様にエラーが出るからエラーメッセージ読んで対処するw

今更4系触る意味はないし古書押し付けられただけだと思うけど、エラーと格闘するのは確実に身になるよ

レガシーGUI周りだけはエディタ拡張ぐらいでしか使わないからスルー推奨
0478名前は開発中のものです。2015/12/08(火) 17:14:28.51ID:k3T2AEQg
バージョンの話とも関連するけどFindChildじゃなくてTransformのFindと覚えておかないと後で混乱するぞ
0479名前は開発中のものです。2015/12/09(水) 00:55:06.58ID:EADFfwHR
そういえば素朴な疑問なんだけどOnCollision、OnTriggerメソッド系ってどうして
ゲームオブジェクトにRigidbodyをアタッチしてないといけないんだろ。
重力とか衝突とかするつもりないけど触れたかどうかの判定したいだけなのに。
それとも俺がなんか勘違いしてるのかな
0480名前は開発中のものです。2015/12/09(水) 01:02:58.59ID:g4y1GMbr
コンポーネント志向の陰部

細かい機能に分けて依存しあってるってことだよね
ソースコードライセンス得られる方じゃなきゃ真相は分からんのかもな

なんでいちいちtextのサイズ調節でContent size fitterを別で付けなきゃいけないんだとか俺もよく思う
フレームまたがないと変更更新されないし
0481名前は開発中のものです。2015/12/09(水) 01:30:16.56ID:kyZA5n2X
PhysXに処理ぶん投げてるからじゃね?
bulletも同じでPhysicsWorldにブツが無い物は何も返らない
04824272015/12/09(水) 02:26:21.74ID:nPYSEZLJ
>>429
editorの話ですー
0483名前は開発中のものです。2015/12/09(水) 09:04:35.88ID:GXiFDqkj
>>482
>>431-432にとりあえず動く程度のエディタ拡張が置いてある、諸々テキトーなのでスクリプト読んで自己責任で使うなり修正するなりしてくれ
0484名前は開発中のものです。2015/12/09(水) 12:37:55.02ID:1+tFHWUE
Unity最新版64bitなのですが、スマホ用に縦画面でゲームを作成するにはどうすればいいのでしょうか?
というより、GameタブのAspectを変更して9*16とすると、サイズが232*412になってしまいます。
0485名前は開発中のものです。2015/12/09(水) 13:11:50.07ID:oRz1NHsF
>>484
エディタのゲーム画面のアスペクト比は単なるプレビュー用
その数字は9:16になってるから問題ないよ
あとはuGUIのRectTransformで、想定解像度で破綻しないようにレイアウトしていく感じ
0486名前は開発中のものです。2015/12/09(水) 15:17:46.22ID:1+tFHWUE
>>485
そういう仕様か・・・ありがとう
0487名前は開発中のものです。2015/12/09(水) 16:12:21.06ID:GXiFDqkj
>>484-486
一応、プレビュー設定を比率指定ではなくピクセル指定にしてGameウインドウを充分に大きくすれば指定解像度のドットバイドットの表示をプレビュー出来る
…だか最近のスマホを想定するなら相当でかいモニターが必要だから1/2ぐらいで使ってるわ

uGUIはCanvasScalerの設定でUI Scale ModeをScale With Screen Sizeにしてリファレンスサイズを想定する端末の解像度にするのが楽だと思う
0488名前は開発中のものです。2015/12/09(水) 19:41:12.17ID:9HIqqD8T
すんげー初歩的なこと聞くけど、
ゲームも基本的にapk
androidの場合

で、ゲームをプレイストアからダウンロードしてゲームを開始すると本格的なダウンロードがはじまるじゃん?

この本格的なダウンロードってなにをダウンロードしているのだろうか?

初めからapkとして提供できない?
apkに全て載せてしまうとアップデート時に都合がわるいのかな?

後、実際なにをダウンロードしてるのだろうか

この辺の仕組みについて詳しく解説してるサイトとかあったら教えて下さい。
0489名前は開発中のものです。2015/12/09(水) 19:46:43.93ID:oRz1NHsF
playには50MB制限なんてのもあるけど、主目的はアプリメイン部分の切り分け
バージョンアップやトラブル対策の便宜のため、アセットバンドルをあとからダウンロード出来るようにしてるってこと
ユーザーの端末見て、必要なアセットが高解像度か低解像度なのか振り分けたりもする

アセットバンドルで検索すれば公式ヒットするよ
0490名前は開発中のものです。2015/12/09(水) 19:54:36.20ID:9HIqqD8T
>>489
アセットバンドル

キーワードをありがとう
0491名前は開発中のものです。2015/12/09(水) 20:37:07.37ID:jkMpCA9+
2Dアドベンチャーゲームを作っています。
バストアップの表情変化って、
ベース+差分だけで管理する場合、
アニメーションでまとめた方が良いでしょうか。
それとも、スプライトにスプライトを重ねた方が良いのでしょうか。

どちらでも出来そうなのですが、
我流なので普通はどうするか知りたいです。
0492名前は開発中のものです。2015/12/10(木) 00:05:51.69ID:DsuWO57j
>>479
そういやrigidbodyがなくても動く場合って無かったっけ
0493名前は開発中のものです。2015/12/10(木) 00:11:38.90ID:zCufkP1o
あれ?結局5.3でSSRR載ったのか
0494名前は開発中のものです。2015/12/10(木) 01:21:55.63ID:KKtez6od
>>492
2Dだと必要
3Dならいらね
って感じだったはず
0495名前は開発中のものです。2015/12/10(木) 01:48:43.90ID:DsuWO57j
あれ、そうなのか…
2Dで動いてた記憶あるんだよな……うん、人間の記憶ってあてにならないな。
0496名前は開発中のものです。2015/12/10(木) 11:29:35.38ID:3/LLrULp
まぁお前みたいな阿呆は特にな
0497名前は開発中のものです。2015/12/10(木) 13:01:24.40ID:HRN/QTix
Windowsアップデートで寝てる間に勝手にPC再起動されていて
昨日のUnityでの作業がかなり消えたのですがもう戻せないのでしょうか
正直かなりショックなので復元方法知ってる方いましたら教えてくださいお願いします
0498名前は開発中のものです。2015/12/10(木) 13:37:40.05ID:XTMygCjy
saveしてないものは無理じゃなかろうか
残ってたら逆に怖い
0499名前は開発中のものです。2015/12/10(木) 13:58:18.18ID:S4D2WVxY
オートセーブ欲しいよな
俺もたまに無限ループでシーンの保存忘れやらかすw
たしかUnrealEngineにはついてたんだよなぁ。軽く触っただけだけど
0500名前は開発中のものです。2015/12/10(木) 14:30:01.11ID:iP5U2QPa
キャッシュに残ってる可能性あるけど、消えたことを確認したあとじゃ
もう消えてるな
0501名前は開発中のものです。2015/12/10(木) 15:27:19.74ID:B4QcIrx/
プレイ画面で必死に微調整したとか、そういう作業への救済策も作ってほしいっす・・・・
0502名前は開発中のものです。2015/12/10(木) 16:03:55.63ID:DsuWO57j
エディタ拡張でオートセーブにする場合、何をトリガーにして保存するのが無難だろう
0503名前は開発中のものです。2015/12/10(木) 16:34:15.99ID:iP5U2QPa
そりゃインターバル時間じゃないのかな
0504名前は開発中のものです。2015/12/10(木) 17:58:49.83ID:DsuWO57j
そういうものもあるのか!
ってググったら、いつものテラシュールさんとこでロールバック付きの公開してんじゃん
0505名前は開発中のものです。2015/12/10(木) 21:14:53.11ID:Cq7KoUL7
プロジェクトを削除するにはどうしたらいいでしょう
New Unity Project
New Unity Project 1
とかいらないプロジェクトを消したいです
Unityを通さずOSのエクスプローラとかでファイルをいじるとリンクが切れたりするのは知ってますが
ツールバーを探してもそれらしいメニューがありません
0506名前は開発中のものです。2015/12/10(木) 21:37:52.35ID:8wRu5fJZ
>>499
俺もよくあるわー
キャラクタ設置、スプリクト適応、微調整
休憩するために落とす、保存し忘れ、の無限ループ。
0507名前は開発中のものです。2015/12/10(木) 21:59:29.45ID:GF1rpicb
俺は逆になんかやったらCTRL+Sが癖になってるから、
たまに保存したくない時まで保存してしまう
0508名前は開発中のものです。2015/12/10(木) 22:59:35.99ID:B4QcIrx/
あとバージョン管理方法も誰か教えてほしいな
俺は半日ごとにzipに固めてるんだけど・・・・これ効率的じゃないよな
Windows版のgitとか使ってる人いたら使い勝手がどうか教えてくれんか
0509名前は開発中のものです。2015/12/10(木) 23:26:19.79ID:S4D2WVxY
おいおいgitは必須だよ何やってんだ
コマンドライン不慣れならSourceTreeでもいれとくといい
ただUnity側設定と.gitignoreミスると厄介なので、先にUnity Gitあたりでぐぐっといてね

そんな難しい物じゃない
すぐ慣れる
0510名前は開発中のものです。2015/12/10(木) 23:32:34.32ID:NGebudwa
完全に初心者で悪いんだけどインスペクタービューの開き方教えてくれ
unity5なんだが
0511名前は開発中のものです。2015/12/10(木) 23:40:11.70ID:S4D2WVxY
まず閉じてしまったなら単にメニューから開ける
Macならcmd+3

インスペクタがよく分からんだけなら、そのビューはヒエラルキーやプロジェクトビューで選択した物の詳細が開かれるだけの事だ。何も選択してなきゃ何も表示されないぞ
0512名前は開発中のものです。2015/12/11(金) 00:04:15.22ID:/Tfpm4AI
これからandroid向けで物理エンジンを駆使したゲームを作ろうと思ってるんですが
android機器で物理エンジンはどのくらいのスペックで動作するのか知りたいです
例えば「nexus7の2012年版で○○個のオブジェクトを動かしてもサクサク動く」
みたいな感じで教えてもらえないでしょうか?
0513名前は開発中のものです。2015/12/11(金) 00:11:49.26ID:auUWvctk
ちょうど2012Nexus7手元にあるけどさ
2D数十個でもサクサクいかん時はいかんよ。テクスチャやフィルレートとかなんでもボトルネックになり得るところだし
2012Nexus7なんてそれこそuGUI要求が多いだけでもモタつくときはモタる

常時60fpsじゃないとだめなのか(※これはほぼ無理ゲー)、たまに30fps切っても平気なのかとか、細かい基準出して欲しいかな
0514名前は開発中のものです。2015/12/11(金) 00:21:23.33ID:/Tfpm4AI
>>513
そうですね
できるだけ30fpsは維持したいです
ゲーム内容は大雑把に言えば3dゲームでオブジェクトの山に弾をぶつけて山を崩すようなものを予定してます
オブジェクトの数が多ければ多いほど楽しくなると思うのですが
0515名前は開発中のものです。2015/12/11(金) 00:26:59.56ID:yLemPvqT
rigidbodyを付けた球を坂から転がして、その後に摩擦係数を設定したPhysicMaterialを付けた平面を転がるような配置をしました。

しかし、球が止まりません。摩擦がきていないような挙動です。
どうすれば摩擦を有効にして球を止めることができるのか教えてください。
0516名前は開発中のものです。2015/12/11(金) 00:32:17.67ID:x+AP/k/7
PCゲームばっかやってて60FPS以上を見慣れてると
自分の作ったスマホゲーを30FPSに落とした時きつい
カックカクでゲームにならんって感じてしまうんだよ
一般のスマホゲーマー達はそう感じない事に期待してそのままリリースするが
0517名前は開発中のものです。2015/12/11(金) 00:51:15.98ID:x+AP/k/7
>>514
Unityで作られたその手のアプリをいくつかiPhone5Sで遊んだ事あるけど
重くて遊べたもんじゃないのばっかだったな
弾ける瞬間は1FPSも出てなかったり

まぁ無駄なコーディングで足引っ張ってそうなインディーばかりだったけど

物理コライダ持ってるオブジェクトが20個程度でそんなもんだったけど
参考にはならんと思う
ボーリングアプリくらい30分で作れるだろうしまずPCでどんくらい出るのか作ってみたら?
Androidにリリースするんなら実機持ってるんだろうし
0518名前は開発中のものです。2015/12/11(金) 01:01:15.99ID:/Tfpm4AI
>>517
返答ありがとうございます
5sって結構新しいのにそんなに厳しいんですか
これは本格的に作り始める前に自分で色々テストした方が良さそうですね
0519名前は開発中のものです。2015/12/11(金) 02:04:11.46ID:2yOpPUBV
5.3にしたらユニティちゃんのCandy Rock Starが変になったんだけど
多分ConfettiのParticle Systemが問題だと思うのだがどう直せばいいか判らん
同様の症状で直した人いる?
0520名前は開発中のものです。2015/12/11(金) 04:40:44.87ID:06Jnt7l7
せめて人が読んで理解できる文章を書けよ
だから嫌われるんだよ
■ このスレッドは過去ログ倉庫に格納されています