■ このスレッドは過去ログ倉庫に格納されています
【3Dゲームエンジン】Unity質問スレッド24
- 1 :名前は開発中のものです。:2016/05/02(月) 22:38:08.79 ID:EnZTTc62.net
- 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質問スレッド23
http://echo.2ch.net/test/read.cgi/gamedev/1457424481/
- 454 :名前は開発中のものです。:2016/05/17(火) 19:31:45.71 ID:MHr1tVrA.net
- Unityについて語れるのは
Unityで作品を完成させた者のみ
語るものは知らず
知るものは語らず
- 455 :名前は開発中のものです。:2016/05/17(火) 19:51:35.70 ID:JSGpve5o.net
- 上級者ぶる為にわざと難解な書き方してブログに載せる素人プログラマが多い印象
- 456 :名前は開発中のものです。:2016/05/17(火) 20:07:07.92 ID:pGNa23Ii.net
- Unity5にて…
角度の違うCubeを二つ用意して接触した状態にして、その接点に向かってSphereを落とした時、
跳ね返ったSphereの軌跡が二つに分かれるのですが、ひとつにする方法はないでしょうか?
データを取ると、どちらのCubeが先に衝突判定処理を通ったか、で変わっているように見られるので、
同時に衝突した場合用の優先度があれば、可能なのでは…と考えていますが、そのようなパラメータはあるのでしょうか?
もしくは、他に方法があれば、ご教示頂けると助かります…。
- 457 :名前は開発中のものです。:2016/05/17(火) 20:32:05.24 ID:FLvMyiRD.net
- >>456
同時の衝突はないからそうなる訳で同時に衝突した場合の、という方法はない。
すごい限定された対策だがSphereを落とすときに
Physics.IgnoreCollision(sphereCollider,cube2Collider);
とでもしておいてOnCollisionEnter()で
Physics.IgnoreCollision(sphereCollider,cube2Collider,false);
とかする。
.http://docs.unity3d.com/ja/current/ScriptReference/Physics.IgnoreCollision.html
あと見た目は二つのCubeが同じように配されているがコライダーは見た目とずれていて
どちらかが上になっている、とかかな。
これはSphereの落ちる速度によっては意味ないかもしれない。
- 458 :455:2016/05/17(火) 20:56:39.07 ID:pGNa23Ii.net
- >>457
回答ありがとうございます。
>同時の衝突はないからそうなる訳で同時に衝突した場合の、という方法はない。
確かに同時に衝突という書き方は誤認される書き方でした。すいません。
パラメータとしてはないようなので、他の方法を考えてみます。
>限定的された対策
この方法も一つの案として、参考にさせて頂きます。
ありがとうございました。
- 459 :名前は開発中のものです。:2016/05/17(火) 23:23:59.89 ID:kSn04VNU.net
- 全然別の物体に切り替えるか速度を望みの動作に強制設定とか?
- 460 :名前は開発中のものです。:2016/05/18(水) 01:49:51.51 ID:IxPQ81Oz.net
- 何言ってるか分からないけど親子関係を
動的に作ればいいとか適当なこと言ってみる
- 461 :名前は開発中のものです。:2016/05/18(水) 10:45:50.23 ID:/bN/mExs.net
- すまぬがプログラム板のC#スレで反応がなかったんで教えて欲しいだけどさあ
iOSでLINQを使った際、使えない機能一覧ってどっかにまとまってないかな?
- 462 :名前は開発中のものです。:2016/05/18(水) 16:02:45.09 ID:uzG6k9QN.net
- >>461
http://qiita.com/RyotaMurohoshi/items/6fb02e50d9e08b487f47
この辺
iOS csharp LINQ でググればいくらでもでてくる、ここで大事なのはC#だと当たりを引けないcsharpって書くのが大事。
- 463 :名前は開発中のものです。:2016/05/18(水) 16:16:28.70 ID:aFm3BHdm.net
- >>461
Unity iOSでLINQを使うと実行時にコケるってのはAOTコンパイラが古いMonoを使ってたのが原因で
IL2CPPに切り替わってからはこの手のエラーはほぼ出なくなったと思うんだが?
もし実行時にコケるならビルド設定でMonoが選択されていないか確認、選択されていたらIL2CPPに変更して試してみてくれ
- 464 :名前は開発中のものです。:2016/05/18(水) 16:42:24.84 ID:1q5c9kCV.net
- 座標系の計算で勉強になるサイトとかどこかに無いもんですかね
二つの位置からベクトル取って距離やら角度やら計算して動きに反映させる一連の流れを知りたい
- 465 :名前は開発中のものです。:2016/05/18(水) 17:04:11.09 ID:qQqol+Oq.net
- http://www.sousakuba.com/Programming/
- 466 :名前は開発中のものです。:2016/05/18(水) 17:09:10.16 ID:1q5c9kCV.net
- >>465
ありがとうございまする
- 467 :名前は開発中のものです。:2016/05/19(木) 11:27:39.89 ID:JapTkgvt.net
- Unity5で
@AB
A B C
D E F
って感じに表示して@が空欄の状態でAを押すと@がAに変わるみたいにして
パーティ選択的なことをしたいんだけどどうすればいい?
○の方の画像を入力した数字に応じて変化させるってのはできたんだけどAから○への数字の受け渡しがどうすればいいのかわからない…
- 468 :名前は開発中のものです。:2016/05/19(木) 11:44:52.80 ID:w/5fouEY.net
- >>467
せめて自分の書いてるコードを書けよw
画像を変化させるってことは何かの情報を「どこか」に受け渡してその画像を変化させてる訳だ。
その「どこか」に数字を受け渡せばいいってだけだろ。
あるいは「別のどこか」に数字を受け渡せばいいんだろ。
何の違いがあるんだ?
- 469 :名前は開発中のものです。:2016/05/19(木) 12:36:01.44 ID:JapTkgvt.net
- >>468
Aのボタンに
check = 0;
for (int i = 0; i < 3; i++) { //重複してたら6(空白状態の画像)にする
if (choice[i] == 0) {
choice[i] = 6;
check = 1;
break; } }
if (check == 0){ //重複がなければ空白の場所に0を入れる
for(int i = 0; i < 3; i++) {
if (choice[i] > 5) {
choice[i] = 0;
break; } } }
Choice0.SendMessage("choice0", choice[0]); }
@に
SpriteRenderer sr;
public Sprite[] c0;
void Start() {
sr = GetComponent<SpriteRenderer>(); }
public void Choice0(int choice0) {
sr.sprite = c0[choice0]; }
改行制限引っかかりそうだから{}のとこの改行はいじったけどこんな感じ
- 470 :名前は開発中のものです。:2016/05/19(木) 13:38:22.62 ID:HwpKTbFM.net
- ここスプライト変換は以前やったけど、ググれば出るぞ・・・
- 471 :名前は開発中のものです。:2016/05/19(木) 13:50:32.91 ID:w/5fouEY.net
- >>469
それだけ書ければ普通にわかりそうなもんだがなw
これはchoice[]はstaticになっててボタンBだと
if(choice[i]==1)とかなる訳?だな?
このメンバーが選ばれた、ということを@もしくはABに
送りたいということであればボタン側に
public GameObject[] thumnailObjs
とかしておいてそこにインスペクター上で@ABをD&Dしておいて
thumbailObjs[i].SendMessage("choice0", choice[0]);
とかやってやればいい。
- 472 :名前は開発中のものです。:2016/05/19(木) 13:52:25.98 ID:w/5fouEY.net
- うわあ、適当に書いたから誤字しまくりだよw
thumnailObjsとthumbailObjsはthumbnailObjsねw
- 473 :名前は開発中のものです。:2016/05/19(木) 16:08:56.10 ID:DrGbRApl.net
- デジャブの気がすんだけどどこぞの専門学校の宿題?
- 474 :名前は開発中のものです。:2016/05/19(木) 21:22:54.21 ID:JapTkgvt.net
- >>471
そう、ボタンBでは1とかになってる
上手くいかないから画像の表示がおかしいのか数値の受け渡しがうまくいってないのか調べてみたら数値の受け渡しがうまくいってないっぽいわ
>>473
俺は専門学校でも何でもないど素人が趣味で作ってみてるだけだよ
というか専門学校だったらきっと聞かなくてもできるはずなんだ…
- 475 :名前は開発中のものです。:2016/05/19(木) 21:30:53.08 ID:w/5fouEY.net
- >>474
あj〜数値の受け渡しがうまくいかないっていうのは
Choice0.SendMessage("choice0", choice[0]);
の部分がうまくいってないってことか?
もし本当にこれがソースのままだったら上手くいかないのは当然で
少なくとも
Choice0.SendMessage("Choice0", choice[0]);
でなければならない。
Choice0.SendMessageのChoice0イコール@のオブジェクトでなければならない、
ということが理解できていないならむしろそこが原因だともいえる。
- 476 :名前は開発中のものです。:2016/05/19(木) 22:52:03.99 ID:JapTkgvt.net
- >>475
そこか…
そこ直したら普通にできたわありがとう
- 477 :名前は開発中のものです。:2016/05/19(木) 23:58:38.62 ID:6QWM6BfZ.net
- アセットについて質問です。
エフェクト用の素材が欲しく、アセットでフリーで落とせる物を落としてこようと思うのですが、このエフェクトを使用する際に注意や守らないといけないことなどございますでしょうか。
スマホ用ゲームを作っていて完成したら公開(課金も実装する予定です)するつもりなのですが、アセットの物をそのまま使うといけないとか、逆に手を入れるといけない(火のエフェクトを青くするなどの変更)などございますでしょうか。
注意事項等読みたいのですが大体英語で書いてあって理解が出来なく困っています・・・
アセットを組み込んだゲームを公開した後にアメリカなどから突然メールが来て「うちのエフェクト誰の許可取って使ってんだオラァ!200万払えや!アメリカの法廷来いやぁ!」などメールが来ないか怖くてアセットになかなか手を出せないでいます・・・
ご教示お願いします。
- 478 :名前は開発中のものです。:2016/05/20(金) 00:32:26.68 ID:Jza1z3qo.net
- メールは来るよ。金払うしかないから金を準備しとけばいい。それだけ
- 479 :名前は開発中のものです。:2016/05/20(金) 00:44:05.98 ID:Po/p686/.net
- むしろ課金ゲーだと供託金払えメール来そう
- 480 :名前は開発中のものです。:2016/05/20(金) 01:08:26.02 ID:368p0L/N.net
- まあ売れるようなゲームに仕上がる確率は宝くじに当たるより低いだろうから心配しなくておk
公開してもほとんど誰にも知られず消えてくだけさ・・・
- 481 :名前は開発中のものです。:2016/05/20(金) 02:42:58.93 ID:imTmdaD1.net
- >>477
ライセンスは基本は
改変複製不可、
コンパイル済みのものは逆コンパイル不可
ビルドしたものは配布OK
商用利用もOK
あたりの筈、なんだけどどれも個別規約がなければ、の話なんだよねw
だからもうライセンスは読むしかないよ。他に手段はない。
金儲けしようと思うんだったら準備にもカネかけるしかないよ。
翻訳のサービスはググればすぐ出てくるよ。
質は値段次第ということにはなると思うけど。
あと改変不可と言っても例えばトランスフォームの位置を一切変えてはいけない
とかはそれこそライセンスで明示されていない限りあり得ない訳で
インスペクターからアクセスできるデータ部分は
「変更されることが予定されている」
と思っていいと思う。まぁそれもライセンス次第ではあるけど。
- 482 :名前は開発中のものです。:2016/05/20(金) 08:53:01.23 ID:3aKDqwdr.net
- 標準ライセンスって改変禁止だったのか
ローポリ化もソース改造も出来ないならもうエディタ拡張以外にアセットの使い道無いな
- 483 :名前は開発中のものです。:2016/05/20(金) 11:36:04.01 ID:9GkhEl9v.net
- ライセンスうんぬんの前に売れるゲームの一つも作れ
- 484 :名前は開発中のものです。:2016/05/20(金) 12:41:28.25 ID:Po/p686/.net
- 言えてる
昨日一日Light Probes調べてて消費した
もう面倒だからLegacy Shaderでいいわ
- 485 :名前は開発中のものです。:2016/05/20(金) 14:21:09.38 ID:ucZAkPXT.net
- 最新版インストールしようとするとネットワークから切断されて再試行って出てくるんだけどどうすればよろしいでしょうか
win10
- 486 :名前は開発中のものです。:2016/05/20(金) 18:59:05.23 ID:92qhpj6m.net
- モデルの形に沿ってきちんと当たり判定取る方法無いかな…
MeshCollderだと細かい部分が省かれて思った通りにいかない…
- 487 :名前は開発中のものです。:2016/05/20(金) 19:25:14.84 ID:imTmdaD1.net
- >>485
ネットワーク環境を見直す。
ただUnityはなんか昔からWeb関係は弱くてアセットストアにつながらねぇとか
落としたインストーラが壊れてるとか頻繁にあったので向こうの問題ならどうにもならないなw
>>486
自分で書くしかないね。
衝突判定処理の中身をちゃんと知れば恐らく今なぜ思った通りにいかないのかの理由もわかると思うよ。
- 488 :名前は開発中のものです。:2016/05/20(金) 19:58:38.82 ID:92qhpj6m.net
- わかりづらくて申し訳ないです
こういうことです
sssp://o.8ch.net/c3u6.png
- 489 :名前は開発中のものです。:2016/05/20(金) 20:57:55.85 ID:imTmdaD1.net
- >>488
MeshColliderをconvexにした場合そうなる。
convexというのは凸包という意味だ。
RigidBodyをつける場合にはこれにしなければならない。
なぜそういうことになるかというと凸包でない剛体のモーメント計算など
リアルタイムではやってられないからだ。
またメッシュコライダー同士の衝突も少なくとも片方は凸包にしなければならないのは
やはり計算が爆発的に増えるからだ。
MeshColliderの中身は推測するしかないが恐らく一面一面をコライダーとしている。
つまり100トライアングルのメッシュを使うということは100個コライダーをつけるということだ。
二つの100トライアングルメッシュ同士で衝突計算した場合1万回の衝突判定が行われることになる。
こういったことはリアルタイムゲームではやってられないので
そういうのは最初から無しにしようというのがUnityの仕様。
だからその事例でその形に判定をとりたかったら
Colliderに使うメッシュをあらかじめ凸包要素に分割した上で
複数のMeshColliderを使うくらいしか方法はない。
勿論Convexにしなくていい、という事情があればそれだけでもいい。
- 490 :名前は開発中のものです。:2016/05/20(金) 21:14:24.30 ID:92qhpj6m.net
- >>489
なるほど余計なチェック入れてたのが原因だったんですね!ありがとうございます!
- 491 :名前は開発中のものです。:2016/05/20(金) 22:10:05.81 ID:/E6CTDJa.net
- >>488
凹形状で困るというと歯車でも作ってるんかね?
Unityが採用しているPhysXエンジンはstaticでない凹(concave)な形状を扱わず、単純に凸(convex)形状に変換して演算するという仕様
convexにチェックを入れないとMeshCollider同士が衝突しなくなるので注意な
- 492 :名前は開発中のものです。:2016/05/21(土) 00:21:15.77 ID:o2apVCjl.net
- 質問です。
パズドラを作るとしてシーンをまたいで情報がほしい下の2つを実装するとしてみなさんはどう実装しますか?
@.全てのシーンで必要な情報、情報量は少ない。
すべてのシーンで必ず読み込む
ex.ユーザー情報(ユーザー名、魔法石の数、パーティ構成モンスター番号など設定してあるもの)
A.特定のシーンで必要な情報で、情報量は多い。
この情報を読み込まないシーンも有る。
ex.モンスターの情報。
パーティ構成モンスター番号の参照先。
全てのモンスターの画像、ステータス、レベルごとの伸び幅、成長経験値テーブル、スキル、スキルエフェクト……などなど情報が多い。
最初のタイトル画面から@もAも専用のGameObjectを用意しておいて「DontDestroyOnLoad(this);」でシーンをまたいでも壊れないようにしてそこに情報の読み込み、更新をかけようと思っています。
色々なシーンで使う情報を作るのは初めてでどうしようか悩んでいます。
- 493 :名前は開発中のものです。:2016/05/21(土) 00:42:29.32 ID:SWXbsePJ.net
- それで行けそうならいいんじゃないか?
俺は異論はないぜ
組み方に答えは無いからな
- 494 :名前は開発中のものです。:2016/05/21(土) 00:54:07.23 ID:XIKl4tZh.net
- なぜググったほうがずっと情報豊富で即回答が得られるような質問をすんだろうかねえ
ひょっとして教えたい君に気を使ってるの?
- 495 :名前は開発中のものです。:2016/05/21(土) 01:45:35.72 ID:OwBOct4Q.net
- >>494
上のような質問を的確にググるにはキーワード何さ
- 496 :名前は開発中のものです。:2016/05/21(土) 02:21:46.02 ID:LaEf0vmk.net
- 「何でしょうか」だろ!?
なんだその口の利き方は!!チョンか!?
- 497 :名前は開発中のものです。:2016/05/21(土) 08:44:22.39 ID:nPb62Y84.net
- >>492
PCのみの動作ならば全部読み込んで保持しとく富豪プログラミングでいいと思う
モバイル機での動作を考えているならメモリーを出来るだけ節約してゲームの方に回したいからシーンに必要のない情報をシーンに展開したくないな
この手のゲームはバージョンアップで要素や演出の追加が起こり得るので極力余裕を残した作りにしておきたいと考える
前者は常時展開しておくのに異論はない
後者は全ての情報を持つのではなく、最初に読むのは最小限に留め、Rerources.Loadで随時追加読み出来るようにしといて必要になる前の余裕のありそうなところで動的に先読みをかけるように組むかなぁ
数値やデータはともかくテクスチャは無駄に読み込んでおきたくないのでRerourcesのキャッシュもこまめに開放したいところ
「使わないシーン」がメモリ負荷の低いシーンであれば全て展開してしていても問題ないだろうし読み込み時間によるラグも考慮しなきゃいけない
この辺の設計は普遍的な正解があるわけじゃなくて、外部仕様次第で都度考えて内部仕様を書く感じになるから、作るものに合わせるのがベスト
- 498 :名前は開発中のものです。:2016/05/21(土) 09:35:48.01 ID:7exjwWsC.net
- ここまで自演?
なんでこんな事を偉そうに答えれるんだろうな
マニュアルかどっかのリンク貼ればいいだけだろ
- 499 :名前は開発中のものです。:2016/05/21(土) 09:53:07.23 ID:OwBOct4Q.net
- >>498
だからそのマニュアルなりリンクなり検索ワード頼むよ
- 500 :名前は開発中のものです。:2016/05/21(土) 09:56:00.90 ID:7exjwWsC.net
- 本気に言ってたのw
Unity データ保存 シーン遷移 シングルトン とか適当に組み合わせれば幾らでも出てくる
- 501 :名前は開発中のものです。:2016/05/21(土) 10:55:57.49 ID:vgTUIEiB.net
- データ保持用オブジェクトを作って、DontDestroyOnLoadを設定する
っていうのは定番だけど、エディタからの再生がちょっと面倒くさい気がする。
Awake()のタイミングなりで、データがなければ特定シーンに飛ばすとか、
シングルトン設定して各シーンに配置、それぞれに適したデフォルト値を設定するとか、
みんなはどうやってる?
あとはエディタ拡張を使う方法もあるみたいだけど、やったことないんで分からん
- 502 :名前は開発中のものです。:2016/05/21(土) 12:13:02.92 ID:gD6w+TQT.net
- Awakeでシーン飛ばすとか冒険過ぎる
何かあったら無限ループバグになるぞ
- 503 :名前は開発中のものです。:2016/05/21(土) 12:18:47.79 ID:vgTUIEiB.net
- まああくまで一例として。楽だしね。
- 504 :名前は開発中のものです。:2016/05/21(土) 12:37:50.84 ID:xhT3S4jm.net
- >>492
staticなデータ保存用のクラスを作って、そこの中のstaticな変数に保存したら良いのでは?
- 505 :名前は開発中のものです。:2016/05/21(土) 12:41:08.87 ID:h0WbG+T2.net
- >>500
バカでもわかるとか言って答え言わない類と思ってな。すまそ
けどユニティ界隈では知らんけどシングルトンはバッドノウハウだと思うぞ。
一番の理由はテスタビリティの欠如
- 506 :名前は開発中のものです。:2016/05/21(土) 12:45:08.18 ID:LaEf0vmk.net
- >一番の理由はテスタビリティの欠如
はいバカ確定
- 507 :名前は開発中のものです。:2016/05/21(土) 12:51:47.54 ID:h0WbG+T2.net
- うんだからどうバカか説明したら?
- 508 :名前は開発中のものです。:2016/05/21(土) 13:12:37.83 ID:vgTUIEiB.net
- 別にシングルトンを使いたいから使ってるってわけではないからなあ。
あくまで目的を達成するための手段でしかないわけで
手軽で適切で、かつ標準的な方法があれば、そちらに是非移行したいところ
- 509 :名前は開発中のものです。:2016/05/21(土) 13:51:08.41 ID:ge72jDbD.net
- さっきから何を問題視しているのか分からん
エディタから特定のシーンを再生出来ないってただの設計ミスじゃないのか?
- 510 :名前は開発中のものです。:2016/05/21(土) 14:46:17.47 ID:vgTUIEiB.net
- >>509
ざっくり言うと、面クリア型のゲームにおけるリザルト画面みたいなやつ。
他シーンから得点等を受け渡される前提のシーンだろ?
- 511 :名前は開発中のものです。:2016/05/21(土) 14:55:42.00 ID:Cznvtddf.net
- 俺は>>508や>>500じゃないけど
富豪プログラミングで、最初に全データをロードしてインスタンスも作っておけば
画面遷移時=ステータス遷移だけですむからシングルトンはいらないし、
スマホみたいにメモリが少なかったりデータ量が大きい場合は、画面遷移時にデータロードやインスタンス生成しなきゃいけないから
そこをシングルトンにしておけば(呼び出される側でインスタンスを1つになるよう制御してくれるので)
毎回インスタンス生成するようなコードにできて楽(呼び出し側の分岐も減るのでテストも楽)、
ってことじゃないの?
ちなみに俺は富豪プログラム専門。。。体がなまってくるぜw
- 512 :名前は開発中のものです。:2016/05/21(土) 15:14:56.99 ID:f1MT5Kg0.net
- >>510
それリザルトシーンに同じスコア管理クラスを置いておけば何も問題起きないはず
前シーンから何も引き継いでいなければ生成されたインスタンスを初期値で使う
引き継いでいれば重複してしまったインスタンスをAwakeでオブジェクトごと自殺させる
むしろシングルトン最高って叫ぶ場面だ
- 513 :名前は開発中のものです。:2016/05/21(土) 20:28:14.16 ID:vgTUIEiB.net
- >>512
あれ、自分(>501)は全く同じ話をしてたつもりだったんだけど
- 514 :名前は開発中のものです。:2016/05/21(土) 21:06:17.72 ID:2Y2rq4mW.net
- >>506
結局何でバカかの説明ないのか(´・_・`)
- 515 :名前は開発中のものです。:2016/05/21(土) 21:14:25.35 ID:DYC5g6rn.net
- プレハブのインスタンスを共有するだけでいいんじゃないの
isじゃなくてhasだぞ
- 516 :名前は開発中のものです。:2016/05/21(土) 22:09:09.68 ID:QIEQL/sm.net
- #pragma strict
public var target : Transform;
function Start () {
}
function Update () {
transform.position = target.position;
transform.LookAt(target);
if(Input.GetKey(KeyCode.Q)){
this.transform.Rotate(0,-120*Time.deltaTime,0);
}
if(Input.GetKey(KeyCode.E)){
this.transform.Rotate(0,120*Time.deltaTime,0);
}
if(Input.GetKeyDown(KeyCode.Z)){
this.transform.Rotate(-90,0,0);
}
if(Input.GetKeyDown(KeyCode.X)){
this.transform.Rotate(90,0,0);
}
}
上記のスクリプトをアタッチしたオブジェクトを親にし、子にMainCameraを持たせてキャラクターを追随させようとしたのですが、
キャラクターの細かなブレを読み取ったのか終始カメラがぶれてしまいます。
キャラクターのRigidbodyのisKinematicのチェックを外したらブレは無くなるのですが、キャラクターが他のオブジェクトに力を与えることができなくなってしまいます。
どうすれば解決できるでしょうか
- 517 :名前は開発中のものです。:2016/05/21(土) 22:14:51.32 ID:QIEQL/sm.net
- >>516
また、下記パラメータのCharacter Controllerを外したところブレは無くなります
Character Controller
Slope Limit 45
Step Offset 0.03
SkinWidth 0.0001
Min Move Distance 0
Center X:0 Y:0.8 Z:0
Radius 0.51
Height 1.6
- 518 :名前は開発中のものです。:2016/05/21(土) 22:18:00.80 ID:QIEQL/sm.net
- >>516
すみません、訂正です。
isKinematicにチェックを入れたところブレは無くなります
- 519 :名前は開発中のものです。:2016/05/21(土) 22:43:18.30 ID:zAGYzsp7.net
- >>516
まぁ正直何とも言えんのだが
CharactorControllerとRigidbodyを同時に使えば
基本的には必ずガタガタする。
なぜならば本来CharactorControllerというのはRigidbodyの代わりに使うものだからだ
http://docs.unity3d.com/ja/current/ScriptReference/CharacterController.html
"CharacterController は Rigidbdy による処理を持たなくてもコリジョンによって簡単に動きの制限を行うことが可能です。"
同じような働きをすべきコンポーネントが二つ付いているから2重に処理が行われる。
例えば地面の上に立っているというだけでも
・地面にめり込む→押し戻す
という処理が二回行われる。
当然次のフレームでは浮いているので今度は落ちる処理が入る。しかも2回。
次のフレームではまためり込むので押し戻される、2回。以下ループ
- 520 :名前は開発中のものです。:2016/05/21(土) 22:47:48.74 ID:7exjwWsC.net
- >>516
>子にMainCameraを持たせてキャラクターを追随させようとしたのですが
安直に子にせずカメラに追従スクリプトを付けましょう
スタンダードアセットにもあるしフリーのも色々ある
あと>>519の言う通りCharacterControllerとRigidbodyを両方使う意味はない
他にはjava以外やりたくないならともかく初心者ならjavaもどきは止めてC#がいい
無理せずにマニュアル読んでチュートリアルを基礎からやったほうがいいよ
- 521 :名前は開発中のものです。:2016/05/21(土) 23:09:28.41 ID:QIEQL/sm.net
- >>519
>>520
ありがとうございます。自分があまりに未熟すぎました。
しっかり勉強して出直してきます。
- 522 :名前は開発中のものです。:2016/05/21(土) 23:24:38.83 ID:vgTUIEiB.net
- そういやスタンダードアセットのカメラって使ったことなかったなあ。
単にイージングで追従するだけだったので、自前でさくっと書いてたレベルだけど
使ったらだいぶ便利になるのかな
- 523 :名前は開発中のものです。:2016/05/22(日) 02:07:18.91 ID:bOZC9QiH.net
- Unityで凄いゲーム作りたいから誰か詳しく作り方教えて!
当方ノースキルノーマネー
- 524 :名前は開発中のものです。:2016/05/22(日) 02:29:12.37 ID:rrDXaguW.net
- >>523
カネもないということなのでとにかく仕事なりなんなりしてカネを貯めろ。
100億あれば可能性はあるが絶対作りたいなら1000億は必要だ。
そして優秀な開発者を雇うか会社ごと買え。
そして「凄いゲームを作れ」と命令する。
- 525 :名前は開発中のものです。:2016/05/22(日) 03:05:12.79 ID:MktDUZnt.net
- この流れ、前も見たな
- 526 :名前は開発中のものです。:2016/05/22(日) 07:40:36.56 ID:aP4k/YHW.net
- 既視感パネェw
- 527 :名前は開発中のものです。:2016/05/22(日) 10:59:55.97 ID:zmf6Gw6g.net
- >>523
なんでそんなに正直者なんだw
- 528 :名前は開発中のものです。:2016/05/22(日) 13:44:57.67 ID:vBbcDpGF.net
- 公式チュートリアルすごく重くね?
おまえらがアホみたいにチュートリアルやれチュートリアルやれって繰り返すから
やるだけ無駄な馬鹿もチョンもチュートリアルやってんのか
- 529 :名前は開発中のものです。:2016/05/22(日) 21:25:38.92 ID:y1jgHGQG.net
- 質問なんやけど、今手元に裸のお姉ちゃんとその裸のお姉ちゃんに着せる服のモデルがあるんや。
で、両方ともhumanoidで動かせるボーンが入っておる。スキンメッシュになっとるっつーことや。
普通にお姉ちゃんに服着させて動かすと脚とか腕が服を突き抜けてまうんやけど、ここらへんなんとかする方法あらへんかな?
スカートならスカートに物理くっつければええんやが、ズボンでもそうなるんや。ズボンに物理は流石に無理やし。
- 530 :名前は開発中のものです。:2016/05/22(日) 21:32:31.23 ID:rrDXaguW.net
- >>529
残念ながらないなぁ。映像とかのプリレンダーの世界なら
1フレーム1秒とかかける高精細なクロースシミュレーションをかけるんだが
リアルタイムではどうにもならない。
普通ゲームとかの着せ替えモデルは裸のモデル自体をぶった切っておいて
パーツごとに置き換えていく。
- 531 :名前は開発中のものです。:2016/05/22(日) 21:34:54.95 ID:pJcUMrkC.net
- クラス設計について質問です
class static ObjectPool {
public static GameObject Player;
public static GameObject Camera;
public static GameObject Perticle[];
public static Transform _Player;
public static void SetPlayer(GameObject obj) {
Player = obj;
_Player = obj.transform;
}
}
こんな風な静的クラスでGameObjectのインスタンスを保持して、
各マネージャークラスから取り出して使う設計って何か不味い問題あったりしませんか?
ググって出て来るサンプルソースだと各スクリプトでpublic変数を宣言してインスペクターで設定するようなことしかやっていないのでちょっと不安なんです
- 532 :名前は開発中のものです。:2016/05/22(日) 21:49:31.07 ID:y1jgHGQG.net
- インスペクターでマウスポチーでオブジェクトを設定できるのがunityのええところやで。
なんで、通常1インスタンスしか持たないような変数も、クラスのメンバ変数にしてしまうのがunity流ってもんや。
大丈夫大丈夫。コントローラクラスやらマネージャークラス自体は二つ必要にならんやろ?
心配ならシングルトンにでもしておけばええねん。
staticで持つ必要なんて無くなるやで。
- 533 :名前は開発中のものです。:2016/05/22(日) 22:01:11.90 ID:24bqdgp6.net
- >>531
ObjectPoolは物によるからなー
正直Prefabを毎回作って仕舞う方が軽い場合もあるので(積極的にDestroyするオブジェクトね)
Particleなんてその最たる物な気がする(シューティングの弾だと結構効果ある)
- 534 :名前は開発中のものです。:2016/05/22(日) 22:53:30.54 ID:rrDXaguW.net
- >>531
問題がある、ということはないと思う。
まぁただ実際に自分でやるとしたら
管理クラスをシングルトンで作るという方法をとるだろうな〜とは。
一番単純な理由はstaticだとインスペクターから見れなくて
確認がめんどくさいとかそんな程度の話だったりするんだけどw
Debugモードにすれば見れるけどめんどくさくてな。
結構皆インスペクターはDebugモードで見てんの?
- 535 :名前は開発中のものです。:2016/05/22(日) 23:39:54.75 ID:cIL03rgvb
- >>529
ボディのメッシュを元にして服のオブジェクトを作れ
あと、ボディのウェイトを服にトランスファーしる
- 536 :名前は開発中のものです。:2016/05/22(日) 23:44:00.86 ID:MyGOoSRO.net
- >>529
服も裸の姉ちゃんと同じボーンでウエイト付けておればおk
貫通&揺れはcloth、MMDのダンス躍らせるくらいなら楽勝
>>531
ScriptableObject使え
- 537 :名前は開発中のものです。:2016/05/23(月) 00:08:41.37 ID:hVDtDT+C.net
- dynamic boneアセットでオパーイを揺らす際、変形の方向を常に地面向かせる為にはどうしたらええかね?
デフォルトだと、寝っ転がったときとかにお胸があらぬ方向を向いてしまわれるのやが。
- 538 :名前は開発中のものです。:2016/05/23(月) 00:14:48.97 ID:mrObAV+3.net
- 有料アセットとかサポートに聞けよ
- 539 :名前は開発中のものです。:2016/05/23(月) 17:50:40.70 ID:15o8N5dB.net
- 質問です。
スタンダードアセットのSSAOを効かせたいのですが、
Android実機(Xperia Z1 v4.4.2)で実行すると無効化されしまって悲しいです。
原因に心当たりのある方もない方も助けてください。
ドキュメントに記載されてるハードウェア要件(シェーダーモデル3 と depth textures をサポートするグラフィックスカード)
は満たしているように思います。
参考URL
http://docs.unity3d.com/ja/current/Manual/script-ScreenSpaceAmbientOcclusion.html
http://docs.unity3d.com/ja/current/Manual/GraphicsEmulation.html
http://spec.nttdocomo.co.jp/spmss/spec/SO-01F__4.4.2_.html
- 540 :名前は開発中のものです。:2016/05/23(月) 19:33:28.56 ID:vhKIKJhN.net
- http://i.imgur.com/DoK6oqx.png
プレハブが増えてきて悩んでるんだけど
こういうのってみんなちゃんとフォルダでネストして管理とかしてるの?
他の人がどうしてるのかが気になる
- 541 :名前は開発中のものです。:2016/05/23(月) 19:38:40.02 ID:PdI6JPwU.net
- NullReferenceException: Object reference not set to an instance of an object
UnityEngine.UI.Graphic.OnRebuildRequested () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Graphic.cs:480)
UnityEngine.UI.Text.OnRebuildRequested () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/Text.cs:550)
UnityEngine.UI.GraphicRebuildTracker.OnRebuildRequested () (at /Users/builduser/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/UI/Core/GraphicRebuildTracker.cs:33)
UnityEngine.CanvasRenderer.RequestRefresh ()
UnityEditor.HostView:OnGUI()
このエラーの原因がわからないのですが、どのような意味なのでしょう
- 542 :名前は開発中のものです。:2016/05/23(月) 19:41:39.25 ID:G7SbTXz/.net
- >>539
わからんがプロジェクト設定の問題なのではないか
http://docs.unity3d.com/ja/current/Manual/class-QualitySettings.html
>>540
まぁ普通にフォルダで管理しているな。
プレハブ100個以上とかのプロジェクトもある
- 543 :名前は開発中のものです。:2016/05/23(月) 19:47:02.14 ID:G7SbTXz/.net
- >>541
はっきりとはわからんがこれか?
http://answers.unity3d.com/questions/1071332/unityengineuigraphiconrebuildrequested-errors.html
クラスの名前とスクリプトファイルの名前がずれている場合に
起こることがある、らしい。
- 544 :名前は開発中のものです。:2016/05/23(月) 19:47:56.13 ID:vhKIKJhN.net
- >>542
ありがとうございます
やっぱそうなんですね…
- 545 :名前は開発中のものです。:2016/05/23(月) 19:56:41.05 ID:G7SbTXz/.net
- >>544
プレファブの命名規則やどんな風にフォルダ分けするのかのルールを
キチンと決めてドキュメントに書いておくといいよ。
命名は今からやろうとするとかえって混乱するかもしれないけど。
巨大なプロジェクトではそういうことを厳格に行うことが要求されるけど
まぁ慣れないうちは気楽に考えて「とにかくやってみる」でいいと思う。
本当に慣れてくればどんなファイルが必要になるかまで大体わかるから
事前のルール決めもこなれてくる。
適当にファイル増やしたりしないのはGitやSubversionなんかのバージョン管理ソフトを
使っていくうえでも大事。
- 546 :名前は開発中のものです。:2016/05/23(月) 19:57:58.12 ID:PdI6JPwU.net
- >>543
探してみたのですが、すべて合ってるようです…
- 547 :名前は開発中のものです。:2016/05/23(月) 20:11:45.52 ID:15o8N5dB.net
- >>542
画質設定はAndroidビルドとPCビルドで同じものを使っています
改めて項目をいくつか弄ってみましたがだめでした……
- 548 :名前は開発中のものです。:2016/05/23(月) 20:13:01.30 ID:vhKIKJhN.net
- >>545
命名規則大事でしたね…
別言語はそこそこやってましたがUnityとC#は覚えながら初めて作ってるので
プレハブも自分で言うのも何ですがすごい場当たり的に増えていってますw
慣れと言う面で仰るとおり、まだ登場人物が想像できないレベルですね
次から意識しようと思います。ありがとうございます!
- 549 :名前は開発中のものです。:2016/05/23(月) 20:26:11.25 ID:G7SbTXz/.net
- >>546
こういう例もあるようだ
http://forum.brackeys.com/thread/how-to-make-a-quiz-game-in-unity-help/
これはvoid Start()の書き間違いでそれが出ていたという話。
それくらいぱっと探せる程度のスクリプト数なら
一個一個スクリプトを他のフォルダに退避させていって削っていけばいいかも。
設計にもよるが依存性が低ければ二分木的にやればすぐ見つかるはず。
何もスクリプトがない状態で出るならさすがにもうわからんなw
- 550 :名前は開発中のものです。:2016/05/23(月) 20:30:19.63 ID:uruu3I1R.net
- プロジェクトよりもシーン内のリソース管理に悩む俺
プレイヤーだけあるシーン、マップだけあるシーンみたいに個別に用意しておいて、
メインシーンにそれぞれ加算して行く形を考えているがこれがベストなのかさっぱり分からん
- 551 :名前は開発中のものです。:2016/05/23(月) 20:40:27.40 ID:G7SbTXz/.net
- >>550
俺もマップだけのシーンは用意しているけど他はやってないなぁ。
何故マップシーンを用意しているかというとSkyBoxやFogなんかの設定は
シーンにくっついてくるのでビジュアル的な要素としてはひとまとめだから。
勿論RenderSettings.fog=true;とかで設定していくことはできるけど
マップと紐づけた何らかのデータは必要にはなるからなぁ。
でも結局巨大になっていくと全部csvとかで持っておいてSceneBuilder的な
クラスで構築していくのが正解なのかもしれない。
- 552 :名前は開発中のものです。:2016/05/23(月) 20:42:59.71 ID:vhKIKJhN.net
- シーン加算の意義がいまいちわからなかったけど、カメラ設定ってのはでかいねなるほど
CameraとCanvasとFade絡みとか共通系は全部配置して基底シーンにするって手もあるのか
- 553 :名前は開発中のものです。:2016/05/23(月) 20:49:35.66 ID:G7SbTXz/.net
- >>547
まぁ効かなくなる理由はStart()でシステムチェックして自分でDisableになるということなので
どんな結果になるか知らんがその辺無理やりコメントアウトしてみたらどうだろうかw
http://answers.unity3d.com/questions/726850/ssao-image-effect-shader-disabled.html
- 554 :名前は開発中のものです。:2016/05/23(月) 21:30:11.06 ID:Iznox5kH.net
- そういえば調べても分からなかったんだが
シーン1
Maneger
Player
Map_mura
シーン2
Maneger
Player
Map_mori
こんな構成でシーン遷移したら重複しているPlayerのメッシュやマテリアルといったリソースは前シーンからのキャッシュが使い回されて、
前シーンのPlayerオブジェクトの実体だけが破棄されるという認識で良いのか?
総レス数 1006
312 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200