[過去ログ] 【3Dゲームエンジン】Unity質問スレッド14 [転載禁止]©2ch.net (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(2): 2014/12/09(火)19:29 ID:x9Izo6T5(1/3) AAS
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質問スレッド13
省20
921(1): 2015/01/16(金)18:30 ID:CleK3PYn(5/6) AAS
>>917
918には悪いけど答えそのまま言ってしまうが
そんな難しいこと考えなくてもカメラの方向ベクトルtransform.fowardと
カメラからそのオブジェクトへの方向ベクトルを正規化したものの内積が
もっとも大きいもの、で選定すればそれで足りる。
レイとの「距離」ではなく「角度」が問題なはずだ。
ゲームで扱うような数学って殆ど高校数学の課程範囲内なのよ。
省1
922: 2015/01/16(金)18:48 ID:mkwfQAQj(3/3) AAS
>>918-921
ありがとうございます!
高校は普通科では無かったので、「ゲーム数学」みたいな本から漁るようにします
長々とお付き合いいただいてすみません。
923(1): 2015/01/16(金)19:21 ID:lUfxxJ/Y(1/2) AAS
leap motion 届いたのでなにか作って見ようと思うんだけど、不安なことが。。。
leap motion ってこんなに発熱するのが普通なの?
冬なのに結構温かくて夏になったら壊れそうな予感。
924(1): 2015/01/16(金)19:25 ID:+bwYcgHW(2/2) AAS
>>923
それで普通
夏場やばいかとおもったけどそんなことなかった
どっちかっつーと窓から差し込む日光が大敵、冬でも「外部赤外線が?」って言われる
925: 2015/01/16(金)19:47 ID:lUfxxJ/Y(2/2) AAS
>>924
不良品かと思って心配したけど、安心した。
ありがとう!
926: 2015/01/16(金)19:55 ID:1VTsmxOR(2/2) AAS
>>911
たびたび貴重な情報をありがとうございます。
Pointだと中間色での補完がまったくされないんですね。
0.5ピクセルずれで波打つことに注意すればピクセル使うゲームでかなり重宝しそうです。
927(1): 2015/01/16(金)21:56 ID:3iyv/fOu(1/3) AAS
複数のpublicフィールドを持つクラスがあり、そのクラスをnewした2つのインスタンスがあった場合、
その2つのインスタンスのpublicフィールドに同一の値が入っているか否かを簡単に判断する方法ないでしょうか?
getHasnCodeとかで実現出来ないかと思って試したのですが、
Publicフィールドの設定値にかかわらず同一の値しか返ってこず駄目でした。
何がしたいかというと、インスペクタ上の値が変更されたか否かを判断したく、
変更反映前に特定のボタンを押すと、「変更されているからコミットしてから再度実行してね」的なメッセージダイアログを表示させたいのです。
928(2): 2015/01/16(金)22:28 ID:CleK3PYn(6/6) AAS
FindObjectsOfType()で取得して比較かな。
簡単かどうかは知らんが
外部リンク[html]:docs.unity3d.com
929: 2015/01/16(金)22:32 ID:3iyv/fOu(2/3) AAS
>>928
見てみます、有難うございます!
930: 2015/01/16(金)22:38 ID:3iyv/fOu(3/3) AAS
>>928
自分のコードには当てはまらない感じでしたので、別の方法を考えることにしました。
2つのインスタンスをシリアライズしてstringに変換し、そのstringの比較でチャレンジしてみます。
931: 2015/01/16(金)23:21 ID:f1JsiNGj(1) AAS
>>927
アセットをかえば簡単に解決しますよ
932(2): 2015/01/17(土)01:08 ID:g+XaTeUR(1/3) AAS
初歩的な質問でごめんなさい
オブジェクトのどの部分がtransformのpositionの値の部分にくるか、
というのはどのように決まっているのでしょうか
(たとえばCubeを0,0,0に置くとちょうど真ん中が0,0,0になるようになっています)
Meshあたりの設定だと思うのですが、具体的なところが分からず困ってます
933(1): 2015/01/17(土)01:23 ID:s26xMmxA(1) AAS
>>932
それは考えが逆でその基点に対してそれぞれの頂点がどこにあるのか、
を定めているのがMeshデータなんだよ。
だからそれをずらしたいならメッシュの全ての頂点をずらすしかない。
もしくは空オブジェクトの子供にするか、かな。
934(1): 2015/01/17(土)02:13 ID:g3PHzIMj(1/4) AAS
スクリプトでuGuiのonClickに登録したイベントを
RemoveListener(関数名)でイベントを削除しようとしたのですが、
ボタンを押してもイベントが実行されてしまってます。
RemoveAllListenersではイベントが削除されたのですが、RemoveListenerで削除できないのは何故でしょうか
関数名はコピペしてるので間違ってないのですが、原因分かりますか?
935(2): 2015/01/17(土)02:15 ID:g+XaTeUR(2/3) AAS
>>933
ありがとうございます
なるほどー、勘違いお恥ずかしい。。
割と大量に生成するオブジェクトなので出来たらメッシュのほうで解決してprefub化したいです
meshのverticesを弄ればいけるかなとやってみましたがそう簡単にはいかないようで。。
もうちょっと頑張ってみます
936(1): 2015/01/17(土)03:42 ID:Y7Mf1eFe(1) AAS
>>934
絶対に関数名のミスじゃない→引数は関数名じゃないのか?
って気付きそうなもんだが。
っていうかリファレンス読みなさい。
CallBackもついでに調べるんだよ。
外部リンク[html]:docs.unity3d.com
937: 2015/01/17(土)11:17 ID:XHyVYcVD(1) AAS
>>935
たまに立方体とか基本図形で中心がここじゃない方がいいのにと思うことはある
変更は出来ないからあきらめろ
気に入らないなら自分でモデリングすべし
938(1): 2015/01/17(土)12:54 ID:g3PHzIMj(2/4) AAS
>>936
どうやら私の勘違いでした。
AddListener1行で複数のイベント登録してたけど、1つずつAddListenerしたら関数名指定して消せました。
ラムダ式は試したことが無いのでどうなるかわかりません。
正直イベント関連の処理はわからんですが、想定どおり動いてるので今のところ良しとします(バグの温床と言われるでしょうが
それに付随して気になるのが、登録されたイベントの数をGetPersistentEventCountで調べようと思ったら
どうもインスペクタに登録された永続的リスナーしか調べないっぽいんですが
省1
939(1): 2015/01/17(土)13:45 ID:OEfnOHEb(1/2) AAS
Android向けのビルドで使用しているSpriteや音源のの合計ファイルサイズは2Mにも満たないのに
Androidにビルドされたファイルのサイズは40Mを超えてるのは何でだろう?
GooglePlayServiceとAdmobのプラグイン入れてるんだけど、そのソース使用して大きくなってんのかな?
940: 2015/01/17(土)14:26 ID:i3DergpZ(1) AAS
チャットウィンドウをuguiで作って見たんだけどDrawcall食いすぎじゃないですかね?
チャットウィンドウだけで、drawcallが9って……
941(1): 2015/01/17(土)14:40 ID:ftxwZ6ug(1/3) AAS
>>938
調べる方法はありますよ。アセットをかえばどうでしょうか?
942: 2015/01/17(土)16:11 ID:PTpnE6mE(1) AAS
わからんけど、
その中のテキストラベルとか、
ボタンとか、パネルとかでも消費してるんでない?
943: 2015/01/17(土)16:26 ID:qgoUzNB2(1) AAS
テクスチャをアトラス化してマテリアルも1個にすれば減ったりしない?
uGUIつかってないからしらんけども
944(1): 2015/01/17(土)17:24 ID:g+XaTeUR(3/3) AAS
>>932,935です
Cubeの設定をコピってverticesだけ変更する形で実現できました
(直接meshやsharedmesh弄ると他のCubeも全て変わっちゃうので。。)
具体的には下記だけ変更して、作ったGameObjectにMeshFiltrerとMeshRendererだけAddComponent後に
MeshRendererのsharedmeshに変更したmesh,MeshRendereのmaterialにCubeのをそのままコピればおっけーでした
Mesh→vertice(変更),triangles,uv,normals(他はコピー)
あと最後にRecalculateBoundsを。。
省2
945(2): 2015/01/17(土)17:54 ID:hrso/nP8(1) AAS
2Dスプライトのアニメーションについて質問なのですが、
アニメーションのコマごとに当たり判定の大きさを変更する方法はありますか?
PolygonCollider2Dとかセットしておけばフレームごとに更新してくれるのかな
946: 2015/01/17(土)18:34 ID:ftxwZ6ug(2/3) AAS
>>945
アニメーションのコマごとに当たり判定の大きさを変更するなら、アセットをかうのがいいですよ
947(1): 2015/01/17(土)18:40 ID:5Ngkk5pp(1/2) AAS
uGUIのボタンを作ったのですが、iPone4Sでは表示されるのですがNEWiPad(第3世代)では表示されません
原因は何が考えられるのでしょうか?
948(1): 2015/01/17(土)18:53 ID:g3PHzIMj(3/4) AAS
>>941
なんのアセット買えばいいんですかね?
949: 2015/01/17(土)19:41 ID:V5mX1ftf(1) AAS
>>948
その人にレスしちゃダメ
ただの荒らしだから
950: 2015/01/17(土)19:50 ID:s+tQZj0c(1) AAS
>>944
なにがしたいのかいまいちわからないんだけどキューブの中心点をずらしたいだけなら空オブジェクトの子にしてしまえばいいんじゃない?そのうえでプレファブ化
>>911
実機でシェーダが機能しない問題、一応解決したような気がします。
やはり実機とエディタではだいぶ勝手が違うということを思い知らされました。
重ねてお礼申し上げます。
951: 2015/01/17(土)19:51 ID:OEfnOHEb(2/2) AAS
Googleplay Serviceの公式プラグイン使っているのですが
アプリ内でGoogleplay Serviceにサインインがあった場合
戻るキーでアプリ終了した際にスタックして
終了まで10秒ほどかかってしまいます。
海外のForumだと、プラグインのバグでしょうがないとコメントがありましたが
改善した方いますでしょうか?
952(1): 2015/01/17(土)21:25 ID:dwLv03F1(1/2) AAS
>>945
アニメーションウィンドウを開いて、アニメーションデータの中身を見ると、キーフレームごとに、各コンポーネントの項目の値を変えることができる。
これでキーフレームごとに、SpriteRenderの画像を差し替えて2Dアニメーションは成立する。
要は、キーフレームごとに、2DColliderの大きさを設定していけばOK
953(1): 2015/01/17(土)21:28 ID:dwLv03F1(2/2) AAS
>>947
実機持ってないから、なんとも言えんが、
anchorの設定を見直したりしてみたら?
画面サイズをリサイズした時に、canvas外になったのかも
954: 2015/01/17(土)22:05 ID:5Ngkk5pp(2/2) AAS
>>953解決しました!ありがとうございます!
955(2): 2015/01/17(土)22:05 ID:x6XAxgBy(1/2) AAS
おそらく基本的すぎる質問で恐縮なのですが
質問させて下さい。
スクリプトでマウスを操作する方法が分かりません。
マウス移動で画面を回転させるようにシステム(というほどでもないですが)
を組んだのですが、
そのままだとマウスが画面外から出てしまうので、何とかしたいのです。
リファレンス見てもどうすべきなのか良く分からず…。
省2
956(1): 2015/01/17(土)22:13 ID:ftxwZ6ug(3/3) AAS
>>955
スクリプトを使わずとも、アセットをかってつかえばいいですよ
957: 2015/01/17(土)22:41 ID:g3PHzIMj(4/4) AAS
>>956
中学生ですか?そんな事してたらロクな大人にならないですよ。
958(1): 2015/01/17(土)22:44 ID:uzVlN7gW(1) AAS
>>955
外部リンク:arket789.hatenablog.com
959(1): 2015/01/17(土)22:46 ID:wkaCZoXy(1/3) AAS
MathfやVector3、Quaternionで使えるLerp()とSlerp()の違いって何でしょうか
APIを見た感じSlerpは始めと終わりを円形に滑らかに補完してくれるものだと思っていましたが
例えばMathf.Slerp(0, 1, t);の値を、tを0〜1で調整しながら確認してみたら
常にtと等しい値が出力されていました
これだとLerpと特に変わらない機能のように思えますが
何か他の違いがあるのでしょうか?
960(1): 2015/01/17(土)23:04 ID:WMMZKcd2(1) AAS
>>959
Lerpは位置の変化量が一定になる線形補間、Slerpは角度の変化量が一定になる線形補間
後、MathfにSlerp無いぞ
961: 2015/01/17(土)23:05 ID:wkaCZoXy(2/3) AAS
すみません例えのプログラムはMathfではなく
Vector3.Slerp(Vector3(0,0,0), Vector3(0,0,1), t);で、z軸の座標とtの値を比較していました
962(1): 2015/01/17(土)23:26 ID:wkaCZoXy(3/3) AAS
>>960
返信ありがとうございます
Vector3.Slerpはオブジェクトを原点を中心に回転して目標に動かす機能のようですが
この場合回転の中心を原点以外にすることは可能でしょうか?
親を変えたりしてみたのですがどうしても原点中心に回転してしまいます
963(2): 2015/01/17(土)23:55 ID:x6XAxgBy(2/2) AAS
>>958
ありがとうございます。
しかし、その手の情報はたくさんあったのですが、
それではダメなのです。
前フレームのマウスの座標との差からマウスの動きを検出して
画面回転させるようにしているので、
画面端で止まる様にだけしたら、途中からそれ以上回転させられなくなってしまうということになってしまいます。
964(1): 2015/01/18(日)00:07 ID:uRuvl0m3(1) AAS
>>962
2点を補間するだけでそれ以外の事はしない
回転の中心座標を引いて原点中心に回転させて中心座標を足せばお望みの結果が得られるよ
965: 2015/01/18(日)00:14 ID:mcgSaIZ6(1) AAS
>>952
おお、気づかなかった!
そんな機能があったんですね
返信ありがとうございます!
966: 2015/01/18(日)00:21 ID:etQwXpGD(1) AAS
>>964
なるほどそんな手が
ありがとうございますこれで思ってた機能が実現できそうです
967: 2015/01/18(日)01:00 ID:vmorMhQL(1) AAS
>>939
ビルドした後にログを見るとファイル、ソース毎に何byte使用しているのか書いてある
968: 2015/01/18(日)01:41 ID:yjS4Lv1S(1) AAS
>>963
だったら、アセットを買えばいいんじゃない?
969(1): 2015/01/18(日)02:46 ID:Fk29jtKD(1/4) AAS
>>963
Unity自体にはそういう機能はない。だから全て自前で実装する必要がある。
ただOSへの要求になるからWindowsならWinAPIを使うことが前提になる。
Pro版ならできる。他のプラットフォームでできるかはわからん。
有料アセットはあるね。
外部リンク:www.assetstore.unity3d.com
どれも嫌なら
省3
970(2): 2015/01/18(日)03:45 ID:AZYu0uGD(1/2) AAS
float型の変数をuGuiのTextコンポーネントに表示していたのですが、
加算し続けたら値が-21474836となってそれ以降は値が加算されなくなってしまいました。
知りたい事は以下の3つになります。
float型の範囲を超えてしまったようなのですが、この場合は始めからdoubleを使うのが正しいのでしょうか?
UnityのPlayerprefsでdoubleが保存できないのでfloatを使ってたのですが、double型の保存はどのように対処しているのでしょうか。
double型でも毎秒数千億加算し続けると範囲を超えそうな気がするのですが、その場合に値を正しく表示する手段はあるのでしょうか?
初心者なので恐縮ですが、どなたかお答えいただけると助かります。
971(1): 2015/01/18(日)04:42 ID:Fk29jtKD(2/4) AAS
>>970
・最初からdoubleを使った方がいいだろうな〜
但しそれはfloatの範囲を超えた訳じゃなくて足している数が
floatの精度的に有効な数でなくなっただけ。
そのくらいの大きさの値になると1とかは認識できなくなる。
浮動小数点には常に誤差がありfloatなら有効桁は7桁、doubleなら15桁
数千億加算しようとしても数が大きくなればそれすら誤差の範囲内になる。
省10
972(1): 2015/01/18(日)06:13 ID:mQP9dGAV(1) AAS
2Dゲームでspriteのを、あるパーティクルより上に、別のパーティクルより下にひょうじさせたいんだけど、
パーティクル側の表示順はどこを弄るんだろう?
973: 2015/01/18(日)06:22 ID:Fk29jtKD(3/4) AAS
>>972
インスペクターから直接ソーティングレイヤーをいじることはできないが
内部的にはデータ持っててスクリプトからいじるのは可能
外部リンク[html]:answers.unity3d.com
974: 2015/01/18(日)12:14 ID:AZYu0uGD(2/2) AAS
>>971
文字列で保存すれば上限なんてないですね…なんで気づかなかったんだろう
目からウロコです助かりましたありがとうございます
975: 2015/01/18(日)13:13 ID:aboq3YDe(1/2) AAS
毎秒数千億の値が操作されるパラメータの用途が気になるわ
976: 2015/01/18(日)13:14 ID:KaPi7z7c(1) AAS
文字列の入力に関してです。
GUIのテキストボックスを使って文字列を編集する方法は分かったのですが、
Update()内から、文字列を編集するにはどうすれば良いのでしょうか?
ReadLineとか試してみたのですが、駄目みたいで……
977: sage 2015/01/18(日)13:24 ID:LJbH/Dsd(1) AAS
monodevelopで変数を打ち込んでドットを押した場合に、勝手に自動補完
されてしまうのですがこの設定を変えることはできるのでしょうか?
また、変更できる場合どこを変えれば良いのでしょうか?
978(1): 2015/01/18(日)13:40 ID:NZxvcQyS(1/2) AAS
データをJSONで書き込んだら丸見えだったので暗号化しようとしたのですが
そもそもキーをソースに書いててすぐばれることはないのでしょうか?
979(1): 2015/01/18(日)13:53 ID:hTm9ijA3(1) AAS
>>969
なるほど、ありがとうございます!
思ったより大変そうですね…。
何とか思ったとおりの動作が出来ないか考えてみます。
980(2): 2015/01/18(日)15:01 ID:KSRpGyGF(1/3) AAS
基本的な質問だと思いますがどなたかよろしくお願いします。
Updateメソッドの中でtransforme.positionの値を変えることでオブジェクトAをキー操作できるようにしています。
またAにはMecanimで攻撃モーションのアニメも付けています。
攻撃モーション中はキー操作を受け付けないようにしたいのですがどうすれば良いでしょうか?
981(1): 2015/01/18(日)15:08 ID:KSRpGyGF(2/3) AAS
新スレたてときました
【3Dゲームエンジン】Unity質問スレッド15 [転載禁止]2ch.net
2chスレ:gamedev
982(1): 2015/01/18(日)15:26 ID:4bj5aNez(1) AAS
>>980
立ち=1、歩き=2、攻撃=3のint型変数か
攻撃中か否かのbool型変数を用意してif文で状態≠攻撃中の時に動かすみたいにすればいいんじゃない?
983(1): 2015/01/18(日)15:29 ID:KSRpGyGF(3/3) AAS
>>982
なるほど、int型を使えばたしかに重複しませんね
ありがとうございました
984: 2015/01/18(日)15:56 ID:aboq3YDe(2/2) AAS
>>983
外部リンク[html]:docs-jp.unity3d.com
設計によってはこういうステートを取得してできる処理を別ける、て方が合ってるかも?
985: 2015/01/18(日)15:58 ID:QMmlAeW6(1) AAS
intでやるなら、const定数にしとくんだぞ…
986: 2015/01/18(日)16:44 ID:E8+i/l54(1) AAS
water4の海メッシュにはライト当てることはできないの?
987: 2015/01/18(日)17:24 ID:eaKOi92d(1) AAS
>>981
次スレをたてるならアセットを買った方が良いですよ
988(1): 2015/01/18(日)19:36 ID:Fk29jtKD(4/4) AAS
>>978
どれくらいすぐにばれるかって話だろうけど
逆コンパイルすれば解読は可能。
完全に防ぐのは無理だが誰でも彼でもって程ではないだろう。
ソースコードの難読化の話はこの辺に出てる
外部リンク:gomiba.co.in
989: 2015/01/18(日)21:42 ID:NZxvcQyS(2/2) AAS
>>988
ありがとうございます
外部リンク:yukimemo.hatenadiary.jp を見ると
private const string AesKey = 〜
のように宣言してしまっていたのですぐ分かってしまうのか気になったのですが
単なるセーブデータなので解読されても仕方ないと思ってやってみます
990(3): 2015/01/19(月)09:41 ID:pDEJCegk(1) AAS
iOS向けにカメラのアス比を固定するようにしました
unityとxcodeのシミュレーター上だと問題は無いのですが実機では動作せずアス比が固定できません
原因としては何が考えられますか?
991: 2015/01/19(月)11:00 ID:9AyXDCns(1/2) AAS
マウスカーソルが変な所に行くのが気になるなら消しちゃえばいい。
Screen.showCursor = false;
Screen.lockCursor = true;
こんな感じで。
あと、
Input.GetAxis("Mouse X")
と
省3
992: 2015/01/19(月)11:01 ID:9AyXDCns(2/2) AAS
ごめん上のは>>979
993: 2015/01/19(月)12:34 ID:6U2CSUOP(1) AAS
>>990
アスペクト比の固定は、アセットをかえば簡単ですよ
994(1): 2015/01/19(月)16:59 ID:Y1AjdTR9(1/2) AAS
>>990
アセットおじさんに与するのも業腹だが、実際アスペクトレシオとかで悩むくらいなら
動画リンク[YouTube]
これ見てから決めるといいかもしれない。(使ってるから言うけど便利だよ)
995: 2015/01/19(月)19:27 ID:bBdoC4ZS(1/2) AAS
>>994
ちゃんと教えてくれるとはいいアセットお兄さんなのです。
996: 2015/01/19(月)19:44 ID:TsU57g/N(1) AAS
そりゃ情弱乞食にとって見ればそうなんだろうけど。
997: 2015/01/19(月)20:51 ID:bBdoC4ZS(2/2) AAS
怨念と化したおじさんよりよほど有益なのですよ。
998: 2015/01/19(月)21:09 ID:ShtNJO6F(1) AAS
そろそろ埋めか?
999: 2015/01/19(月)22:00 ID:GIYs10JO(1) AAS
1000ならゲーム完成する。
1000: 2015/01/19(月)22:09 ID:Y1AjdTR9(2/2) AAS
1000ならUnity5が来週出荷
1001: 1001 Over 1000 Thread AAS
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s