トップページ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/
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
せめて人が読んで理解できる文章を書けよ
だから嫌われるんだよ
0521名前は開発中のものです。2015/12/11(金) 08:47:20.23ID:Az4gv7hK
5.3にしてから、プロジェクト選択画面で真っ黒(正確には濃いグレー)になってしまった。
同じようにそこから先に勧めないって人いる?

http://forum.unity3d.com/threads/unity3d-5-3-not-working.372682/
状況的にこれに似てる気がする。32ビット版Windowsでしか起こってないぽい?
でも自分の英語力&Unity知識では後半さっぱり分からん。

とりあえずエクスプローラからシーンファイル(*.unity)をダブルクリックすれば、
Preferencesでプロジェクト選択画面を出す設定にしてても飛ばして起動できるのは確認した。
また、最初から飛ばす設定にしてれば問題なく起動するぽい。
0522名前は開発中のものです。2015/12/11(金) 14:27:13.90ID:aGJdRLUp
>>518
似たようなものがない時は大体が「できない」からだと思ったほうがいい
物理演算てそもそも重たいものだから
0523名前は開発中のものです。2015/12/11(金) 15:50:37.61ID:zm6mejj3
>>521
俺も焦ったが

http://forum.unity3d.com/threads/unity3d-5-3-not-working.372682/
フォーラムの
https://mega.nz/#!29ICSLTb!bxNAxe7FxtAhp7UbPfrQy36wJexr-fXAYi1GSafl-k0
をダウンロードして中身の
unityeditor-cloud-hub-0.0.1.tgz
unity-editor-home-0.0.7.tgz
解凍して
それぞれのpackageの中身を
cloudはC:\Users\<ユーザー>\AppData\Roaming\Unity\Packages
homeの方はC:\Users\<ユーザー>\AppData\Roaming\Unity\Packages\node_modules\unity-editor-home
に配置してまた再起動すれば例のログイン画面が出てくる
node_modules\unity-editor-homeが無ければ自分で作る

まあここの連中は向こうのも日本法人の連中もゴミ見たな奴しか居ないわ
糞見たいなイベントなんかしてないでさっさとドキュメントの翻訳をしろよ クズが
0524名前は開発中のものです。2015/12/11(金) 15:53:26.99ID:/Tfpm4AI
>>522
実は今日検証用のミニゲームを作って試してみたんですがnexus7の2012バーションで
実にサクサク動きました
ブロックオブジェクトを100個位表示して爆発動作させてみてもfpsは40くらいで
一定を保っています
サクサクにならないゲームってひょっとしてメッシュコライダとか重いものを
使ってるんじゃないですかね?
俺のゲームはブロックとか球などのビルトインコライダで事足りるので十分いけると
思います
これから本格的に作り始めようと思ってます
0525名前は開発中のものです。2015/12/11(金) 15:55:04.54ID:zm6mejj3
おれも頑張ってサクサク作るわ
まあ今年は殆どはMAxでの作業になるが
0526名前は開発中のものです。2015/12/11(金) 16:51:51.73ID:Az4gv7hK
>>523
さんくす! 表示されるようになった!
お前さんも32ビットだったりする?
0527名前は開発中のものです。2015/12/11(金) 17:12:49.02ID:NWaqo9Yy
>>526
俺も32ビットのタブレットにインストールしたらなったけど無事解決
0528名前は開発中のものです。2015/12/11(金) 17:15:21.25ID:zm6mejj3
>>526
だね 7の32
これ32bitでまだ導入してない人は 修正版が出るまで待った方がいいかもしれない
0529名前は開発中のものです。2015/12/11(金) 23:02:51.18ID:TNWJHdul
質問です。
ラジコン操作をさせようと思って、ネットで見つけたコードを参考に以下のように組みました。
プレイヤーが前(Z方向)を向いている時は上下キーで前進、後退するんですが
左右で向きを変えると、変えた向きの分だけ前進・後退の角度がズレてしまいます。
具体的に言うと、右に20度回転してから上キーを押すと、PLから見て右20度に進むようになり、
右に90度回転した状態から上キーを押すと真横(右)に横滑りするようになります。
ラジコン操作にしたいので、向きを変えても前に進んでほしいのですが・・・
なぜそんなことになってしまうのか、お知恵をお貸しいただければm(_ _)m

void Update () {

if (Input.GetKey(KeyCode.RightArrow)){
this.transform.Rotate(new Vector3(0, 1f,0));
}
if (Input.GetKey(KeyCode.LeftArrow)){
this.transform.Rotate(new Vector3(0, -1f,0));
}
if (Input.GetKey(KeyCode.UpArrow)){
this.transform.Translate(this.transform.forward * 0.05f);
}
if (Input.GetKey(KeyCode.DownArrow)){
this.transform.Translate(this.transform.forward * -0.05f);
}
}
0530名前は開発中のものです。2015/12/11(金) 23:29:59.99ID:Az4gv7hK
言いたいことはわかるが、
「プレイヤーから見て右20度に進む」だと、「正しいじゃん?」と思ってしまうw
05315292015/12/12(土) 00:01:49.97ID:OCSYJa91
>>530
図解できれば伝わりやすいのですが;
つまり想定している方向からズレる、ぞのズレる角度が変えた方向の角度と一致する、ということですね。
向きを20度変えたのに、進む方向は40度変わっとるやんけ!という
0532名前は開発中のものです。2015/12/12(土) 00:14:36.58ID:2plOXWN4
>>529
まずRotateはnew vector3いらずに
Rotate(0,1,0)で良くなかったっけ?
ゲームアプリ20個以上リリースしても、たった一ヶ月Unity触らなかっただけでそんな事さえも忘れてしまってる自分が悲しい
0533名前は開発中のものです。2015/12/12(土) 00:22:09.87ID:2plOXWN4
>>529
で前進後退においても
Translateはもともとローカル軸だった気がするので
transform.Translate(0,0,0.5f)で真っ直ぐ進まないかな?
05345292015/12/12(土) 00:25:11.16ID:OCSYJa91
>>532
ほんとだ、new vector3無くてもいけますね。
症状はまったく変わらないですが・・・
ちなみに新しいプロジェクトにキューブ1個だけ置いて>>529のスクリプトつけても症状は同じでした。
何がいけないんだろう・・・
0535名前は開発中のものです。2015/12/12(土) 00:29:24.46ID:yC1kWMxQ
>>529
this.transform.Translate(this.transform.forward * 0.05f);

this.transform.Translate(Vector3.forward * 0.05f);
にするかもしくは
this.transform.Translate(this.transform.forward * 0.05f, Space.World);
にする。
05365292015/12/12(土) 00:30:54.36ID:OCSYJa91
>>533
それでいけました!
もともとローカルのものをローカル指定したから角度が2重にかかってたとかですかね・・・
とにかく
this.transform.Translate(this.transform.forward * 0.05f);
の部分を
this.transform.Translate(0,0,0.05f);
にしたらちゃんと正面に進むようになりました!
助かったありがとう!!
05375292015/12/12(土) 00:34:20.31ID:OCSYJa91
>>535
ありがとうございます、
this.transform.Translate(Vector3.forward * 0.05f);
でもしっかりいけますね!
うーん、こんな単純なスクリプトでも理解するのは難しいもんですね…
0538名前は開発中のものです。2015/12/12(土) 00:34:21.77ID:2plOXWN4
>>536
良かったねえ
Time.DeltaTimeするのを忘れないようにね
別の環境で遊ぶ時に高速になったり低速になったりしちゃうよ
0539名前は開発中のものです。2015/12/12(土) 00:35:37.88ID:yC1kWMxQ
つーか、
this.transform.Rotate(Vector3.up*rotSpeed*Time.deltaTime);
とか
this.transform.Translate(Vector3.forward *moveSpeed*Time.deltaTime);
とかそういう表現にした方がいいかとは思うがなぁ…
05405292015/12/12(土) 00:36:04.64ID:OCSYJa91
>>538
ありがとうです、*Time.DeltaTimeとかにするんでしたっけ…
それは手元の入門書にも書いてあったのでそれ見ながら入れておきます!
05415292015/12/12(土) 00:37:49.04ID:OCSYJa91
>>539
こんなに書き方が色々あるなんて・・・
全部メモっておいて調べてみます、ありがとうです!
0542名前は開発中のものです。2015/12/12(土) 00:47:17.51ID:2plOXWN4
まぁゆくゆくはRigidbodyで動かしたりもするようになるだろうけど、少しずつ分かっていけば良いと思うよ
あ、ここもこうすれば後々便利だ!とかそんな風に気付いていく喜びを楽しみつつね
敵のとかAI作ってて脳がほとんど溶けたのも良い思い出だわ
0543名前は開発中のものです。2015/12/12(土) 04:46:34.69ID:LX2Avmx5
残念ながら論点はそこじゃねえんだ

「漢字は一文字から意味をなすが、アルファベットは数文字必要」
って書けば日本語化の価値に気づけるか?
0544名前は開発中のものです。2015/12/12(土) 13:18:20.61ID:3GGIAwvU
Transoform関連はサンプルアセットのThirdPersoncharacterのスクリプトを徹底的に見れば良く判る
更に適当なアセットで戦闘時の前を向いたまま左右やバックの動きをカメラとの関連で理解して
最後にanimationでRootMotionの有無による違いを理解すればゲームで思った通りに動かせるようになる
0545名前は開発中のものです。2015/12/12(土) 16:42:34.69ID:NPVAYdih
5.3にしてみて気のせいかもしれないんだけどさあ
インスペクターでオブジェクトを見ると、貼り付けられたスクリプトの項目がすべてグレーアウトしてる
これって前からこうだったっけ・・・・?
0546名前は開発中のものです。2015/12/12(土) 23:19:06.90ID:6cVhaj81
unityを4.6から5.2.3f1にバージョンアップしたところ、Scenceが開けなくなりました。

開こうとすると「Merge scenes」というのがはじまるのですがどのボタンを押しても結局開けません。
エラーログは下記です。

Error running semantic merge
UnityEditorInternal.
InternalEditorUtility:INTERNAL_CALL_SceneViewDrag(Object, Vector3&, Vector2&, Boolean)

UnityEditorInternal.InternalEditorUtility:SceneViewDrag(Object, Vector3, Vector2, Boolean)
(at C:/buildslave/unity/build/artifacts/generated/common/editor/InternalEditorUtilityBindings.gen.cs:250)
UnityEditor.DockArea:OnGUI()

ちなみにCドライブ直下に[buildslave]のフォルダなど無く、なんのエラーかもわかりません。
解決方法わかる方いらっしゃったら助けていただけませんでしょうか。
0547名前は開発中のものです。2015/12/12(土) 23:54:00.78ID:pnfEa23s
Unity5.3.0f4にアップデートしたのですが、
今まで(5.2系列)上手く行っていたWebGLのゲームのロードに失敗するようになりました。

chromeのコンソールで見るとこんなエラーが出ており、
 ─────────────────────────
 * Failed to load resource: the server responded with a status of 404 (Not Found)

    http://hogehoge.com/Release/Build.js ←Build.jsは、実際にはBuild.jsgzという圧縮ファイルになっている
  Invoking error handler due to            UnityLoader.js:1
  
Uncaught unknown compression method
 ─────────────────────────


Uncaught unknown compression method」でググると
Apacheの設定で解凍失敗してるんでは?的な記事があって
httpd.confなどをその通りに設定したのですが改善しません。

自分で作っていた過去のビルド分を見なおしたところ、
そもそも前のバージョンでもjs等の圧縮は行われており
それは問題なく解凍できていたようです。
急に挙動が変わった原因は恐らく↓だと思うのですが、改善方法がわかりません。

Unity WebGLはサーバー側で圧縮の設定がされていない場合でも、自分で適切に圧縮をハンドリングするようになりました。
http://blogs.unity3d.com/jp/2015/12/07/unity-5-3-webgl-updates/

なにか改善策や問題点心当たりありましたら、ご教示お願いしますm(_ _)m
0548名前は開発中のものです。2015/12/13(日) 00:22:59.55ID:uiR6M1Lf
変な話ですまんがなんでバージョン上げたの
これまでのバージョン使いなよ
Unityわりと気楽にトラブル起こすよ
Android用のresフォルダ認識しなくなったのとか記憶に新しいところだ
サポートで解決できなかったから広告SDK側をAndroid Plugin形式に改造したったよ
その後パッチバージョン出たけど
0549名前は開発中のものです。2015/12/13(日) 00:31:44.57ID:5sytrhgf
そういうもんなんですか。。
WebGLはビルド対象にしようと思っているのと、今後出る2D強化に期待してるので
アップデートはしていきたい気がしています…

公式のコミュニティでWebGLで検索もしたんですが、
特にそういう話題なかったんで恐らく環境依存なのかな?と思うのですが
同じ境遇の方いらっしゃいませんでしょうかorz
0550名前は開発中のものです。2015/12/13(日) 00:46:50.76ID:uiR6M1Lf
今後の2D強化というとロードマップで来年June予定の奴かな?RPGツクール的なのとかSmartSprite
あれはすでにPro版あライセンスで触れるんだけど、まだまだ製品に使えるものになってないアルファ版だと思って問題ないよ
0551名前は開発中のものです。2015/12/13(日) 01:27:05.37ID:UxISlOla
具体的にどんなのだろう。
あとはタイルマップも気になってるんだけども…
0552名前は開発中のものです。2015/12/13(日) 02:18:50.42ID:T1PVLqMJ
新しくついたIn App Billingを試した人いる?
個人の俺は住所氏名をストアでさらすの嫌だから課金システムをつける気はないけど、いつかやってみたい機能ではある
0553名前は開発中のものです。2015/12/13(日) 18:33:33.10ID:JGp8cZyt
http://i.imgur.com/dviSrrZ.jpg
画像のような空白のエラーメッセージが出て、何もできなくなってしまいました。
同じような症状を経験した方はいらっしゃいますか?
Unityを再インストールしてもダメでした。
別のプロジェクトからスクリプトファイルをインポートしたらこうなったような気がします。
ググっても解決策は見つかりませんでした。
0554名前は開発中のものです。2015/12/13(日) 19:18:36.57ID:yWkumFwQ
インポートしたスクリプトが悪いとめぼしをつけてるならインポート前に戻せばいいんじゃね
0555名前は開発中のものです。2015/12/13(日) 19:21:59.61ID:JGp8cZyt
>>554
返信ありがとうございます。
スクリプトを削除しても再起動してもエラーは消えませんでした。
0556名前は開発中のものです。2015/12/13(日) 22:00:25.82ID:nrWSMJOj
ソース管理システム使えとは言わんがバックアップはこまめにしとこうぜ。
インポート前のプロジェクトがそのまま残ってないなら、最終的には新しくプロジェクト作って少しずつ移植かな。
0557名前は開発中のものです。2015/12/13(日) 22:22:57.67ID:UxISlOla
Dropboxの同期フォルダに突っ込んでおくだけでもだいぶ違うね
0558名前は開発中のものです。2015/12/13(日) 23:31:58.39ID:HGfclpxH
質問です。
player_win_x64.pdb
player_win_x64_s.pdb
上記のファイルって何でしょうか?
エンドユーザーの環境に入れないとダメですか?
0559名前は開発中のものです。2015/12/14(月) 00:59:45.74ID:H2lQWtd2
ttp://stackoverflow.com/questions/29359473/unity-5-pdb-file-on-build-development-build-turned-off

デバッグ用途のデータなのでエンドユーザに配布する必要はないよ
0560名前は開発中のものです。2015/12/14(月) 01:09:48.37ID:GIlDuD45
enemy.csを作成して敵キャラクターのオブジェクトに貼り付けた場合を想定してほしいのですが
この場合、ゲームコントローラー等からすべての敵キャラクターの同じメンバ関数を呼ぶにはどうすればいいのでしょうか?
0561名前は開発中のものです。2015/12/14(月) 01:16:30.04ID:H2lQWtd2
俺なら単にforeachで回すよ
あとEnemyManager.csみたいな敵キャラクター全体の管理クラス作ってそいつに全ての敵キャラクターを管理させる
ゲームコントローラからは管理クラスのメソッド呼ぶだけ
0562名前は開発中のものです。2015/12/14(月) 01:17:18.34ID:W90jgNlN
BroadcastMessage!
0563名前は開発中のものです。2015/12/14(月) 01:23:24.13ID:uyCW8aeP
このブロックとブロックの間の黒い線を消したいんだが
何をどうすればよいんでしょうか。
Standardのシェーダーに適当なテクスチャくっつけて
uvずらして切り貼りしてるかんじなんです

http://i.imgur.com/rclm0RB.jpg?1

だれかエスパーお願いしますうう
05645582015/12/14(月) 01:39:50.84ID:RTi2ffUX
>>559
ありがとうございました。
0565名前は開発中のものです。2015/12/14(月) 01:55:16.42ID:GIlDuD45
>>561
ありがとうございます
オブジェクトを取得するのはやはり、毎回GameObject.Findで探してやる感じになるのですか?
0566名前は開発中のものです。2015/12/14(月) 02:55:22.94ID:pzkPucZv
まあ>>561のやり方でちゃんと管理するのがいいのだが
単純な話であればenemy.csに
void Update(){
if(Input.GetKeyDown(Keycode.A)MethodA();
}
void MethodA(){
}
とか書いておけばそれでも呼べる。

ちゃんと管理するっていうのは生成も廃棄もちゃんと管理するってことだ。
>>561が想定しているのは恐らくManageEnemy.csというクラスをシングルトンで作っておいて
その中に例えばパブリックメンバとしてList<enemy> enemyListとかをもっておくとか追加削除メソッドをもって
enemy.csで
void Awake(){
ManageEnemy.instance.enemyList.Add(this);
}
void OnDestroy(){
ManegeEnemy,instance.enemyList.Remove(this);
}
と書いておくとかもっといえばEnemyを生成するのは必ずUnitManagerとかのクラスを通して行い
廃棄もそれを通して行うみたいな話ではあろうと思う。
0567名前は開発中のものです。2015/12/14(月) 04:08:56.91ID:ronnLmNu
逆にゲームコントローラのイベントに敵キャラがハンドラを登録する方法もある
0568名無しさん@そうだ選挙に行こう2015/12/14(月) 15:34:23.80ID:sO33dj3S
某書籍を買ったのですが、update関数の中でnew Vector3を使っています。
毎フレームnewするのは一見遅くなる気がしますが、unityではこれ普通に使いますか?
0569名無しさん@そうだ選挙に行こう2015/12/14(月) 15:48:13.55ID:aVVKebKg
C#だと普通
つか説明用のコードでそこまでシビアなことはしないし
最適化でどうなるか気になるなら実測してみては
0570名無しさん@そうだ選挙に行こう2015/12/14(月) 16:27:13.97ID:oYRBr8uT
Vectorを一時的に使う時にnewするのって抵抗あるよね
俺も最初はそう思ってた
いつからか面倒臭くなって今は当たり前に使ってるけども
別に気にする必要はなかったと思うね
0571名無しさん@そうだ選挙に行こう2015/12/14(月) 16:30:06.33ID:H+L3QWh3
Vector3はstructだからなぁ
0572名無しさん@そうだ選挙に行こう2015/12/14(月) 16:32:35.86ID:30LNT+hD
Updateでnew Vector3だと?
どんな動きを期待してんだ、普通にFixedUpdate使えよ
0573名無しさん@そうだ選挙に行こう2015/12/14(月) 18:37:35.29ID:H+L3QWh3
>>572
物理演算に干渉しないのであればUpdateでなんの問題もないしむしろFixedUpdateに書くべきじゃない
0574名無しさん@そうだ選挙に行こう2015/12/14(月) 19:02:45.96ID:DiZBL98b
そんな事は初めて3日の初心者でも知ってるだろ
ゲームではrigidbody使う基本から覚えたほうがいい
0575名無しさん@そうだ選挙に行こう2015/12/14(月) 19:33:31.97ID:sPRe/DZw
FixedUpdateの存在に気づいたの、いつだったかな…
0576名無しさん@そうだ選挙に行こう2015/12/14(月) 19:35:00.10ID:H+L3QWh3
元のVector3をnewすることによるオーバーヘッドとFixedUpdateに何の関係もないからどうでもいいか

Vector3はstruct=値型だから変数に代入した時点で値の複製によるオーバーヘッドが発生する
だからnewだけを気にしててもあまり意味がないって事な
0577名前は開発中のものです。2015/12/14(月) 20:43:31.62ID:x0H1eQQZ
>>563
きっちり切り抜こうとしてない?
マップチップみたいな画像を切り抜こうとして同じ症状が起きた気が。
一回り大きく描いておくか、一回り小さく切り抜くか、切り抜かず1枚のテクスチャを用意するか。
3DのUVの仕様だったと思うけど。違ったらスマソ
0578名前は開発中のものです。2015/12/14(月) 21:11:49.95ID:grDto/Iy
Unityに関係ない質問ですが、みなさんは
0579名前は開発中のものです。2015/12/14(月) 21:35:14.97ID:cdIsw3/o
FixedUpdateの話に便乗して質問
RigidBodyにFixedUpdateを使うのはいいとしてinput系がよくわからない

Input.GetAxisはマニュアルではUpdateで普通に使われててWEB記事の中にはUpdateがいいとか書いてあるものさえ
あるけどチュートリアルのスクリプトではFixedUpdateで使ってる場合が多い、どっちでもいいのか?
あとシューティングとかジャンプとかInput.GetButtonDownはFixedUpdateと別にわざわざUpdateでしてる
ちょっと作って見た程度ではどっちも大差ないんだよなあ、決まりがよく判らん?
0580名前は開発中のものです。2015/12/14(月) 22:01:33.06ID:pzkPucZv
>>579
Inputの各値は基本的にはUpdate()単位で更新されている。
http://docs.unity3d.com/ja/current/ScriptReference/Input.html

"Note also that the Input flags are not reset until "Update()", so its suggested you make all the Input Calls in the Update Loop."
インプットのフラグはUpdate()までクリアされないことに注意。インプットコールの全てはUpdateループの中で行うべきことを示しています。

つまりそのサイクルのUpdate()が終わった時点で更新される。
なのでFixedUpdate()で使うのには注意が必要で
例えばキーを押したとき一回実行したい場合に
if(Input.GetkeyDown(Keycode.A)MethodA();
なんかをFixedUpdate()に書いてしまうと場合によっては二度実行されて意図してない結果になりうる。
Input.GetAxis()なんかはそういう意味ではFixedUpate()内で使っても危険は少なそうではある。
0581名前は開発中のものです。2015/12/14(月) 22:41:56.11ID:uyCW8aeP
>>577
おおお、ありがとうございますううう。それでした!
一枚テクスチャにしてもちょっと小さく切り抜いた場合でも
つなぎ目消せました

http://imgur.com/a/RtaXc
0582名前は開発中のものです。2015/12/14(月) 23:03:28.13ID:5rWvx7gs
>>511
亀だけどサンクス
何となくわかったわ
0583名前は開発中のものです。2015/12/14(月) 23:16:18.52ID:nTj0Sz3S

わかってない
0584名前は開発中のものです。2015/12/15(火) 02:52:33.57ID:nZT54pCP
ブロック崩しを作っていて、
跳ね返ったりブロック消すところはできたのですが、
いざブロックをたくさん設置してみると
上に跳ね返らず、→の処で下に戻ってしまうのです。

こっちにこない

\ ■■■■
 \■■■■
→/■■■■
/ ■■■■
\ ■■■■
 \     
  ○スタート

球の速度を変えると上に行く時もあるのですが、
速度を変える以外に何か回避方法ありますか?
0585名前は開発中のものです。2015/12/15(火) 03:15:30.59ID:tajp4kV9
>>584
おそらく、その1つ上のブロックの角にボールが当たってるんだろうな。

ブロックを消さない場合も、同じように想定しない方向に跳ね返る?
それで発生しないなら、もしかすると「当たった瞬間には消さない」という姑息な手段で
問題が解決するかもしれない、
0586名前は開発中のものです。2015/12/15(火) 08:08:41.08ID:66uXxktO
admobuに関して質問よろしいでしょうか?

カメラだけの最小構成のサンプルプロジェクトでバナーを表示させるとでるのに
実際のアプリに組み込むとでません。

これって何かのアセットがいたずらしてたり画面の外に表示されてたりとかそういう可能性ってありますか?

解決法はどうしたらよいでしょうか?
0587名前は開発中のものです。2015/12/15(火) 10:07:44.89ID:uyndtwRG
>>568
transformのメンバ変数は直接書き換えることが出来ない。
vector3の値を変える時はvector3同士でないといけないから、こういう書き方になる。
05885842015/12/15(火) 13:23:33.44ID:dXUWUNx8
>>585
ブロック消さないようにしても軌道は同じでした
0589名前は開発中のものです。2015/12/15(火) 13:40:00.52ID:o8J25P/W
>>588
恐らく>>585が言った通りもうひとつ上のブロックにも当たっててそこに
跳ね返ってるのだろう
つまり同時に複数のブロックと当たってる
そこで一案だがまずボールに当たったブロックをすべてプールする
そしてプールしたブロックの中からボールとの位置関係に照らし合わせて適切な
あたるブロックを選んでそれを消しながらボールを反射させるというのはどうか
0590名前は開発中のものです。2015/12/15(火) 13:49:15.86ID:o8J25P/W
>>589
やっぱこの方法良くないね
先に上のブロックに当たった場合変な挙動になる
一つのブロックの上辺、下辺、左辺、右辺のどれに当たってるか検知するほうが
良いと思う
0591名前は開発中のものです。2015/12/15(火) 14:57:28.55ID:Aeg7fYna
ブロック崩しの問題って、ブロックとブロックの間に隙間があるから起きてる問題なんだよね?
これって隙間に見えないブロックを詰めてやれば解決するのかな
0592名前は開発中のものです。2015/12/15(火) 15:53:04.81ID:1PuSfyAW
隙間があるからよりもむしろ計算精度や頻度の問題だろう。
速度を変えると大丈夫な場合があるのだとすれば
物理特性マネージャやタイムマネージャの設定を見直してやれば解決する場合もありうる
0593名前は開発中のものです。2015/12/15(火) 16:37:29.85ID:PujoCYBK
当たり判定の間隔と処理順の問題やね、図にすると以下の様な感じ縦軸は時間

物理演算(ここでは当たってない)

↓ここでBに当たるが判定はまだされない

↓ここでAに当たるがこれはBにめり込んでいる状態

物理演算(ABと当たった判定、Aが先に処理されてる)

実行環境の処理能力が許すなら>>592の言う通り判定の頻度を上げればある程度改善すると思う
厳密にやろうとすると同時に当たった場合にちょっと工夫が必要になるかな
0594名前は開発中のものです。2015/12/15(火) 16:48:56.08ID:7/E0miQ5
Edit->ProjectSettings->Time->FixedTimesetp を0.01 (100fps)あたりにすればいいんじゃね
PCなら問題ないでしょ
0595名前は開発中のものです。2015/12/15(火) 16:56:28.86ID:PujoCYBK
Collision Detectionの変更で解消したりしないかねこれ
05965842015/12/15(火) 18:46:18.90ID:dXUWUNx8
みなさんありがとうございます。

>>594
0.01でマシにはなったんですが、続けているとやっぱりたまに発生します
精度を上げると確率減っていきました

>>595
そこらへんいろいろいじったのですが変わりませんでした。
Rigidbody2D版だとよくなったりしました(こっちも出るときは出る)
0597名前は開発中のものです。2015/12/15(火) 20:00:34.18ID:X0IxInAK
質問です。
Lightwaveでエンベロープとマテリアルを適用しまた、キーフレームでアニメーションをつけたモデルをFBXでunityにインポートし
vuForiaを利用してARで表示しようとしているのですが、
ビルドして実機で表示してみるとエンベロープとマテリアルが適用されていません。
Unity上でアニメーションを再生していた時は適用されていました。
理由がわかる方いましたら教えていただけますでしょうか。
0598名前は開発中のものです。2015/12/15(火) 20:37:30.30ID:ilr73Fja
2Dゲーム制作しています。
SpriteRendererが複数集まってできているアニメーションするキャラクターがいますが、
このrootあたりにスクリプトをつけて一括で色変更ってできますか?
色反転や全体的に明るくするなどです。
無敵状態の表示などに使います。

シェーダーってこういうときに使うのかなと想像してますが・・・
0599名前は開発中のものです。2015/12/15(火) 20:42:34.04ID:PX05T8Gm
>>598
2Dのチュートリアルにまんまな例があった気がする

https://github.com/unity3d-jp-tutorials/2d-shooting-game/wiki

> 第11回-エネミーのHP、弾の攻撃力、アニメーションの追加
> 11.2 ダメージを受けた時の表現
0600名前は開発中のものです。2015/12/15(火) 22:20:21.99ID:7/E0miQ5
>>598
一括Color操作は自前でコンポーネントを作ったほうが楽だよ
親から一括でやるか、子からrootを見るかは実装次第で
0601名前は開発中のものです。2015/12/15(火) 22:37:57.21ID:Pvh48dzj
今晩は。毎度お世話になっております。
座標99999たとかでキャラコン貼り付けたcubeがカタカタするんですが
そういうものでしょうか。
06025852015/12/15(火) 23:19:26.28ID:tajp4kV9
やっぱ>585の方法じゃダメだったかー。
それでうまくいくなら一番楽な方法だったのに。残念。

>>584
ブロックを大きくする(ボールを小さくする)ことで、隣のブロックの角に当たる確率を減らすとか、
必ず1マス以上あけてブロックを配置することで、変な方向に反射しても仕方ないとプレイヤーに思わせるとか、
更に姑息な方法はどうだろうか、ダメか。
0603名前は開発中のものです。2015/12/15(火) 23:39:43.60ID:1PuSfyAW
>>601
floatってのは有効桁数が7桁だからあと1で六桁という数になると小数点以下は事実上1桁しか使えない。
座標0.1単位程度でしか動かなくなるってこと。
0604名前は開発中のものです。2015/12/16(水) 00:03:14.70ID:j+S5csIr
uGuiでCanvas以下のレイヤーにマウスの位置に2Dオブジェクト生成しようと思ったのですが
Input.mousePositionで取得した値だと微妙にずれた座標が生成されてしまいます。
左下原点にして右上でタッチするほど座標がずれていくのですが、どうしたら正しい値を取得できるのでしょうか?
0605名前は開発中のものです。2015/12/16(水) 00:06:03.15ID:eYf8fnNA
http://docs.unity3d.com/ScriptReference/RectTransformUtility.html
割と変換負荷あるからプロファイラーには注意してね
0606名前は開発中のものです。2015/12/16(水) 00:16:48.31ID:2EXzHSA/
>>603
ありがとうございます。
なるほど有効桁数ですか。
本質的な問題のようなので
あまり大きな座標にならないように作りたいと思います。
0607名前は開発中のものです。2015/12/16(水) 00:40:38.94ID:VAD6hGXi
Input.GetButtonについての質問なのですが、
例えばオート連射のような物を実装しているのですが、

ボタンを押下している状態で、
現在のステージをloadLevelでリロードすると、
ボタンを押しているのにも関わらず、
ボタンを押している事を判定してくれないのですが何故でしょうか
(日本語やばかったらすみません)

つまり、オート連射のボタンを押しっぱなしにしたまま、
ステージをリロードしても、そのままオート連射していて欲しいのですが、
どうしたら良いでしょうか
0608名前は開発中のものです。2015/12/16(水) 02:30:43.20ID:YpuaDswn
>>607
どうやって連射の実装してるんだい?
フラグでやってるんならSceneが変わったときに連射用のフラグをいったん下ろしてやらなくては。
0609名前は開発中のものです。2015/12/16(水) 02:37:22.60ID:f8gP/AkE
FixedJointでくっつけたゲームオブジェクトが、オブジェクトを動かすとバラバラになって高速で移動しながら飛んでいってしまいます。
RigidbodyのDragなどを高い数値に変更してもその現象は改善されないのですがなぜでしょうか…?
0610名前は開発中のものです。2015/12/16(水) 09:28:03.07ID:kqjfOMz3
ゲームビュー(できれば任意のカメラ)の映像を一時的に静止画にして、
それをゲーム内で再利用する場合、どうやるのがスマートかな?

具体的な状況としては、
たとえばボス撃破の瞬間を切り取って、エンディングで表示させるとか。
楽に使えるなら、ポーズ画面なんかでも使いたいという人も居るかもしれない。

(1)Application.CaptureScreenshotで保存してから読み込む
(2)シーンの追加読み込みを行って、シーンをまるごと静止画っぽく表示する
(3)各オブジェクトの位置などを何らかの方法で保存しておき、再現する

というのをぱっと思いついたが、第4の選択肢は無いものかなって。
0611名前は開発中のものです。2015/12/16(水) 10:00:36.34ID:Vb3Sl3S3
Texture2D.ReadPixelsでスクリーンからテクスチャに直接引っこ抜くという手はある
レンダーテクスチャがPro版でしか使えなかった頃はオフスクリーンレンダリングで割と使われていた手法ではある

http://docs.unity3d.com/jp/current/ScriptReference/Texture2D.ReadPixels.html
■ このスレッドは過去ログ倉庫に格納されています