[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 09/06 02:46 / Filesize : 302 KB / Number-of Response : 998
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【3Dゲームエンジン】Unity 4



1 名前:名前は開発中のものです。 [2015/06/16(火) 01:35:14.74 ID:VIGyPiQQ.net]
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質問スレッド16
peace.2ch.net/test/read.cgi/gamedev/1425192691/

■本スレ
【3Dゲームエンジン】Unity総合スレッド26
peace.2ch.net/test/read.cgi/gamedev/1429375487/

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

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

739 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 18:53:24.68 ID:PLSswhe5.net]
>>738
新規プロジェクトでも出るのか?
Unityのバージョンは?
使っているOSは?
ビルドターゲットは何?

一般的過ぎるエラーメッセージの場合上の様な付帯情報の方が解決の糸口なんだぜ

740 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 19:20:08.17 ID:lR4yHysF.net]
スーパーエスパーしてやるとそのエラーはMacでxcodeプロジェクトにアウトプットしたときによくでるやつ
たぶんunityのバージョンの問題だった気がするから書いてみ

741 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 20:55:56.50 ID:FkXeAL4H.net]
unityとxcode最新にしたら、一括でビルド&ランしなくなった…泣

そしたら、ちょっっとまえにまたアップデート、直るかねぇ…

742 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 21:13:00.24 ID:PLSswhe5.net]
>>741
xcode最新にするとダメなんだけどこれなんとかならんのかとiOS6位の時にかなり泣いたわ
xcode単体で起動してやれば済むことではあるんだけどさぁ、buildシーケンスの途中の無駄な待ち時間がもうね ('A`)

743 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 22:47:16.38 ID:FkXeAL4H.net]
そうそうw
DWARF?をなんとか短縮できたけどいやはや、まだ長ひ…

744 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 23:03:57.43 ID:JnjMUCtt.net]
FPS ControllerでFPSのようなものを作る場合に、自分のキャラクターも表示したいと思っています
そこで、設置したFPS Controller下にキャラクターを設置し、走るキーが押された際にLocomotion Playerなどについている走るアニメーションをしたのですが・・・・少し動きに違和感があるだけでなく、地形に応じてFPS Controllerとキャラクターがズレて行ってしまいます
(極端におかしな場面としては、木の枝のようなものにキャラクターのみが引っかかり、FPS Controllerだけ地面に着地してしまったりします)
本当はアニメーションをいじれればいいのですが無理そうなので、簡単な解決方法、良いアセットがあったら教えてください
よろしくお願いします

745 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 23:41:35.98 ID:BVz+WUji.net]
>>744
もしかするとAnimatorのApplyRootMotionのチェックを外すとうまくいくかもしれん。
違うかもしれん。

746 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 11:37:31.52 ID:O2DRENoW.net]
つかうまく表現してないだけなのかもしれんがなんかもう根本的に考え方が変なんじゃね
一人称と3人称のコントローラーの違いとかをちゃんとチュートリアルとかサンプルで見たのか?

747 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 11:38:53.14 ID:sQ0lfZB7.net]
Unityの基本を覚えようとチュートリアルのブロック崩しを作ってるんですけど、
ボールを反射させるところで詰まりました・・・。なんか真横にしか反射しない上に
反射するたびにボールが欠けていって2回反射すると何も見えなくなっちゃいます・・・

何が悪いんでしょうか?C#で書いてるから?



748 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 11:41:10.95 ID:+K4+LokO.net]
>>735のエラーはアップデートしたら出なくなりました
確認したつもりだったんですがunityのcheck for updateでは5.1.1で更新されなかったのに公式には5.1.2が来てたのでアプデしたら治りました
ありがとうございます

しかし今度は新しいエラーが2つ出るように
Namespace "System.Collections" is never used.
Namespace "UnityEditor" is never used.
この二つは何を意味しているのでしょう
情報はすぐ見つかったのですが知識が乏しくてよく理解できません
致命的なエラーではなさそうなので無視しても良さそうですしエラーの表示を消すことはできそうなんですけど根本的に改善することはできませんか

OSはMac yosemite 10.10.4
ビルドターゲットはよく分かりませんがおそらく初期設定
MonoDevelopでビルドすると出てきます
新規プロジェクトでDebug.Logしかつかってないのに出てきます

749 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 11:45:43.78 ID:CamXSh92.net]
>>748
ちなみにそれエラーじゃなくて警告な
スクリプトのアタマでusing System.Collections;とか宣言してコレクション使いたいなーって書いたのに
実際のスクリプトでは使ってないけどいいのけ?
って教えてくれてるんだぜ、C#さん優しいな

750 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 11:59:43.77 ID:O2DRENoW.net]
>>747
いろいろつっこみどころあるけど細かい事言ってたらキリがないから
プログラムも初心者でとりあえずそのまま真似てC#でやりたいならこっちがいいかも
もし2画面あるならビデオ見ながらやるとすごく効率いいよ

Creating a Breakout Game for Beginners
unity3d.com/learn/tutorials/modules/beginner/live-training-archive/creating-a-breakout-game?playlist=17219

751 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 12:22:47.27 ID:3nvpsIXf.net]
>>747
悪いのはお前の頭だろ!
ソースと設定見直せとしか言えん

752 名前:名前は開発中のものです。 [2015/08/05(水) 14:32:47.47 ID:GZ4wlvWY.net]
Physic MaterialのFrictionがあやしい

753 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 15:22:58.95 ID:2cx28vay.net]
>>747
そうそう、一字一句、見直しから始めよう。それが近道。

754 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 15:36:20.99 ID:sA7q36NS.net]
チュートリアルは英語でもビデオ版がいいな
マルチディスプレイで同じことやってけば確実に出来る
理解できず繰り返し見たり止めたりで1hモノが半日かかるとかざらだけど

755 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 18:53:36.00 ID:1L/gqVwO.net]
ライトを微調整してたつもりが、プレビューモードだった
苦労が水の泡になった・・・・

756 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 19:26:45.10 ID:1PYrmJku.net]
Unity5.1.2f1 Windows7 64bit
LeapMotion SDK インストール済み
OculusSDK インストール済み

下記の現象は自分の環境だけでしょうか?

EditorのLayoutでTallを選択し、シーンビューの右縁をクリックしたまま、マウスを左右に振りまくる。(要はシーンビューのリサイズをしまくる)
そうすると、作ったばかりの新規プロジェクトでも20秒から30秒でSUCCEEDED(hr)が出まくるようになり、Unityを再起動するしかなくなる。新規プロジェクトじゃなければもっと早いと思う。結構困ってます。

海外のフォーラムに色空間をガンマにすると治るという記述もあったんですが、改善しませんでした。

757 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 22:01:37.52 ID:hjm953sz.net]
同じバージョンのUnityでレイアウトは適当にカスタマイズしてる状態だけど、
Sceneのリサイズしまくろうがエラーなんて出ないなぁ
SDKが関係あるとも思えないし、Tall設定が問題なのか?



758 名前:711 mailto:sage [2015/08/05(水) 22:11:40.17 ID:k77xwiRO.net]
>>718
英語が苦手で海外の掲示板とかしらべてなかったけど、
公式チュートリアルにセーブ関連の記載見つけてなんとかなりました。
この言葉が無かったら挫折してた、ありがとう。

759 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 22:46:53.49 ID:HHu91jjI.net]
unityで良く使う共通処理ってどんな風に書けば良いかわかりません。

現在は
publicFunc.csに

namespace A {
  public class publicFunc : MonoBehaviour {
    static public int serachLayerNo(Animator _Animator, string targetLayerName){
      〜処理〜
    }
  }
}
と書いて
呼び出し側で
using UnityEngine;
using System.Collections;
using A;
〜略〜
layerNo[i] = A.publicFunc.serachLayerNo(mAnimator, layerStr);

という風にしてみました。

namespace Aとつけているのは現状このようにしたらできたからやっているのでよくわかってないです・・・
また というかインスタンスを作ってないのになんでクラスの関数呼び出せるのかも自分でわかっていないという・・・staticだから?

またこれだと複数の箇所で使うと関数にstaticがついてるから、値が共通になってしまうのでCanvasを複数つかうとバグるような気がしてます。

こういう共通した関数を実行するのはシングルトンを使う文献をネットでよくみかけるのですが
シングルトンはインスタンスを一つしかつくらないということなので尚更だめなような気がしてます。

単独ではつかわない(ゲームオブジェクトとかにセットしない)いろんな所のソースで呼び出す共通処理の書き方をお教え頂きたいです。

760 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 22:51:01.59 ID:sA7q36NS.net]
リファレンス見ようよ
リファレンスのどこが理解できなかったの?

761 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 23:26:13.29 ID:CamXSh92.net]
>>759
共通関数が欲しいだけのstatic method使いたいだけならMonoBehavior継承いらんだろ
とりあえずhas-aとかis-aとかの関係をきちんとわけて考える様にMSのC#本でも買っとけ

ぜんぜんかんけいないけどsealdで検索したら左翼ゲリラがでてきて困った出ござる

762 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 23:38:17.67 ID:HHu91jjI.net]
いままでコピペでなんとなく作れてましたが
質問してみて基礎が分かってなさすぎと分かったので
リファレンスのスクリプティング概要 読み直してみようと思います。
C#の基礎の本も買おう・・・ 

>>760さん 758さん ご回答有難う御座いました。

763 名前:753 mailto:sage [2015/08/06(木) 01:13:24.94 ID:+T7HGyLY.net]
>>757
やっぱり全員の環境で起こるわけじゃないんですね。。。
Defaultでやっても「SUCCEEDED(hr)」エラーでたのでTailは関係ないみたいです。
Unity再インストールもしてみたんですが、特に変わらず。

エラーメッセージも「SUCCEEDED(hr)」しかでないし、情報不足過ぎて何のエラーかすらようわかりませぬよ。。。

764 名前:名前は開発中のものです。 [2015/08/06(木) 11:29:17.83 ID:sN/F2r0B.net]
すみません、shaderの質問です。
透過(半透明)させつつ他のオブジェクトの影が映るshaderってありませんか?

765 名前:名前は開発中のものです。 mailto:sage [2015/08/06(木) 13:13:27.54 ID:1PCQOc0+.net]
>>764
オブジェクト2つ用意して1つをshadowsonlyじゃだめなの?

766 名前:名前は開発中のものです。 mailto:sage [2015/08/06(木) 13:14:25.59 ID:1PCQOc0+.net]
ごめん読みまちがえた

767 名前:名前は開発中のものです。 mailto:sage [2015/08/06(木) 13:32:09.27 ID:cBJpMccl.net]
普通にスタンダードシェーダーじゃまずいのか?
ガラスとか宇宙服のヘルメットとかみたいな表現だろ?
日本語で詳しく説明されてるぞ



768 名前:名前は開発中のものです。 mailto:sage [2015/08/06(木) 13:39:42.75 ID:1PCQOc0+.net]
>>764
これかな?
ttp://famme-fatale.hatenablog.com/entry/2015/03/18/124410

769 名前:761 mailto:sage [2015/08/06(木) 15:45:39.19 ID:sN/F2r0B.net]
みなさんありがとうございます
765さんのでいけそうでしたが
Skinned Mesh Rendererを使っていると
だめみたいです。

770 名前:名前は開発中のものです。 mailto:sage [2015/08/06(木) 16:24:07.94 ID:1PCQOc0+.net]
>>769
こっちの環境ではMeshRenderer関係無くいけてる気がする
ReceiveShadowsのチェックはずれたりしてない?

771 名前:761 mailto:sage [2015/08/06(木) 16:46:26.22 ID:sN/F2r0B.net]
>>770
失礼しました。

772 名前:名前は開発中のものです。 mailto:sage [2015/08/07(金) 08:17:10.74 ID:nAxCzz6h.net]
>>107
自分もパーミッション勝手についちゃうけどその後どう?

773 名前:名前は開発中のものです。 mailto:sage [2015/08/07(金) 22:45:57.39 ID:+bECwRrn.net]
Unityって今からはじめるともう時代遅れとかある?
敷居高いイメージがが

774 名前:名前は開発中のものです。 mailto:sage [2015/08/07(金) 23:00:50.03 ID:/TyZbXTY.net]
FPS/TPSを作るならUnreal Engineの方がいいという意見もある
時代遅れと言うほど他に先んじてるものはないと思うが
敷居の高さは…


ド素人  RPGツクール   ウディタ        DirectX等    プロ
 ┝────────────────┼─────────┤
..                         △
.                         多分この辺

775 名前:名前は開発中のものです。 mailto:sage [2015/08/07(金) 23:13:24.66 ID:+bECwRrn.net]
なるほどありがとう
やっぱり高めだなあ
勉強するよ

776 名前:名前は開発中のものです。 [2015/08/07(金) 23:18:48.35 ID:6MPrjvWO.net]
Unreal Engineは、何もせずにFPSが作れるし、初めからFPS用の配慮が行き届いている
ただ大手が作ったFPS以外ってなかなか売れないからね・・・・
スマホ用の簡単ゲーム作成が中心となるとUnityとそのライセンス形態が結構よかったりするんだな

777 名前:名前は開発中のものです。 mailto:sage [2015/08/07(金) 23:21:57.33 ID:i52yCBjp.net]
現状Unityで作れないものないから、
今から古いツール勉強してる使うくらいならUnityやる事を勧める
Unity無理ならWeb小説でも書けばよろし



778 名前:名前は開発中のものです。 mailto:sage [2015/08/07(金) 23:40:33.44 ID:hsQCoUC9.net]
>>775
プログラミングの知識があるならスクリプト自体は簡単だよ。C#の初級レベルさえ知ってればとりあえずチュートリアルはできる
UEはいい素材を持ってるならグラはかなり良いけどスマホ向けには重いしロイヤルティ5%も取られるよ(ただし売上3000ドルまではロイヤルティフリー)

779 名前:名前は開発中のものです。 mailto:sage [2015/08/07(金) 23:42:51.77 ID:8P091hGo.net]
そういえば昔の旧砂漠って流砂なかったの?

780 名前:名前は開発中のものです。 mailto:sage [2015/08/07(金) 23:43:17.19 ID:8P091hGo.net]
すまん誤爆

781 名前:名前は開発中のものです。 mailto:sage [2015/08/07(金) 23:52:01.26 ID:+bECwRrn.net]
>>778
プログラムはできるから嬉しいね
頑張ってみるよ

782 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 00:00:09.80 ID:js8lfIDK.net]
なんかボタンコンポーネントから警告が大量に出るようになったんだけど
Parameter 'Highlighted' does not exist.
UnityEngine.UI.Selectable:OnValidate() こんなのが大量に。

Animatorはつけてるけどボタンアニメーション設定してないんだよね。

783 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 00:14:15.28 ID:Cum65bC1.net]
>>782
俺は初心者だから意味わかんねーけど、それって、アニメーションの終わりを決めてないんじゃないのか?

784 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 00:15:20.15 ID:/O4Hr1O9.net]
ツクールなんかより縛りがないからよっぽど簡単だわ

785 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 00:57:31.45 ID:prpVaKdz.net]
流れで聞きたいんだけどUEとUnityって何が違うの?
UEはリアルって聞くけど、それってモデルの質とか
プログラムの書き方によって
変わるんじゃないの?と思うんだけど
Unityがモバイル向け、UEがハイエンド向け、と言われているのはどこなんですか

786 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 01:13:22.91 ID:WTntF6Fb.net]
UEはライティングのおかげでクソみたいなモデルでも少しはそれっぽく見えるが負荷のかかる方式だからハイエンド向け(ただしモバイル向けの最適化にも力を入れるらしい)
UnityはおおむねUE3相当のグラだがその分軽いのでモバイル向け

ただしUnityは中間言語方式だから実行時コンパイルに処理を割いてる分(PC向け以外は5.2でIL2CPPが導入され解消される予定)と
グローバルイルミネーションにEnlightenっていうのをつかってるんだけどこれは基本的に高速だけど光源の数が増えると重くなる欠点がありUEのGIは多くても少なくても変わらないという特徴がある

つまりUnityは超ハイエンド向けになると逆に遅くなるのでコンシューマのAAAタイトルには使われてないね

787 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 01:51:58.65 ID:ULYH9pEs.net]
UE4は言語がC++じゃなかったっけ?
ゲームプログラマーは歴史的にC++使いが多く、限られたハードウェアのリソースを
有効活用するためにメモリ管理をしたがるからベテランはUE4の方が
やりやすいってのも、あるんじゃないの

個人的にはC#はインテリセンスがよく効いてたりメモリ関連が自動だから
C++よりはとっつきやすいんじゃないかな。その分、重いけどわずらわしさは少ないのでラク

今はハードウェアのメモリが安価で大きくなってきてるからunityでも
AAAクラスでない限り実戦で使えるようになってきている感じかも



788 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 02:01:44.65 ID:Y1oBQifD.net]
最近から見ればC++は低級言語化してきてるしな
今更カベージコレクションない言語使うとかやってられんわw

789 名前:名前は開発中のものです。 [2015/08/08(土) 10:47:59.68 ID:396ATCKe.net]
il2cppってc++に変換する技術っすよね?
c#もメモリ管理できないわけじゃないし、c++使う理由ないっすよね

790 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 12:01:59.85 ID:GX5HfKzG.net]
なんらかのプログラミング経験があるならC#とか言語自体はたして問題ないよ
ゲーム初心者はオブジェクトやコンポーネントを使いこなすのが大変
アニメとかマテリアルとかはやればやるほど奥が深くなる

791 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 12:14:48.75 ID:nsvqXFx8.net]
Unity5.1.2インストールしたんだけど、メニューからImport New Assetsの所を選んでもCustom Packageしか表示されません。
EffectsとかParticleSystemsとか表示されるのを期待したんだけど、Unity5はこういうもんですか?

792 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 12:17:34.61 ID:apaLX1ex.net]
>>791 そういうものです

793 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 12:34:39.49 ID:GX5HfKzG.net]
>>791
Import New Assets じゃなくてImportPackage だろ?
単にインストールした際にStandard Assetsをインストールしていなかっただけ
対処方法の詳細はググれば幾らでもある

794 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 12:42:05.19 ID:nsvqXFx8.net]
再インストールの際のダウンロード時間短縮のために、UnitySetup64.exeをバックアップして、それで再インストールしてたのが原因でした。
UnityDownloadAssistant-5.1.2f1.exeを実行して、>>793さんの言うとおり、Standard Assetsをチェックしたら大丈夫でした。
お騒がせしました。

795 名前:名前は開発中のものです。 mailto:sage [2015/08/08(土) 21:28:10.10 ID:N/D5gJUC.net]
ところでUnityでフレームスキップしないように設定できる?

796 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 01:49:33.02 ID:XyY7+yoD.net]
そこそこ大きいデータをunity内部で扱うためにsqliteを使いたいのですが、何かいいアセットなどありますか?
もしくは他にいい感じのDBなどはありますか?

797 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 02:45:47.85 ID:8vhmQCx9.net]
>>796
sqliteを使うAssetはStoreで探せばいくつもある
DataBindをC#と密接にしたいのならオープンソース実装がGitHubにころがっている

どういう使い方をしたいかで決まるから自分で探す方が良い
なおどれもPlugin経由なのでプラットフォーム依存があるからAssetStoreなら評価をOSS物の場合はC#からの親和性とかを元にチェックする事



798 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 11:58:29.14 ID:1Y3sDlK9.net]
UNITYでVSが標準になるとかならないとか
VSで何G喰うのかな
Cドライブがやばい、かと言ってリンクしようにもD以降も余裕ない
HDD買い増しか、いっそのことPC買い替えか

799 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 12:40:41.84 ID:MRvAVR8Q.net]
https://www.visualstudio.com/ja-jp/visual-studio-2015-system-requirements-vs.aspx
一応インストールのシステム要件は 4GBの空き容量になってるね
作業するなら大量に空きがあったほうがいいね

800 名前:名前は開発中のものです。 [2015/08/09(日) 14:23:00.07 ID:/OhH7e0+.net]
ラムダ式書くと、foreachで回すより明らかに遅いのだけど異常ですか?

801 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 14:43:54.26 ID:8vhmQCx9.net]
>>800
foreachの中身を別関数にして呼び出せば同じ速度になると思うぞ

802 名前:名前は開発中のものです。 [2015/08/09(日) 14:59:07.10 ID:/OhH7e0+.net]
FidAllがやけに遅いと思ったけど、foreachでも別関数なら同じなのかな

803 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 15:05:00.83 ID:8vhmQCx9.net]
>>802
内部的にはdelegateを渡したのと一緒で渡したLambda式を関数呼び出しするからね

804 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 17:31:16.80 ID:juyi80yV.net]
テストプレイ中に稀に以下のエラーが発生して止まってしまうのですが、対処出来なくて困っています。
当方Unity5。
エラーの発生箇所がeditorやInspector臭いのですが、特にカスタマイズはしてないです。
せいぜい、OnValidate()でInspectorの変更をオブジェクトに適用させるくらいです。

MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEditor.GameObjectInspector.DoRenderPreview () (at C:/buildslave/unity/build/Editor/Mono/Inspector/GameObjectInspector.cs:680)
UnityEditor.GameObjectInspector.OnPreviewGUI (Rect r, UnityEngine.GUIStyle background) (at C:/buildslave/unity/build/Editor/Mono/Inspector/GameObjectInspector.cs:745)
UnityEditor.Editor.OnInteractivePreviewGUI (Rect r, UnityEngine.GUIStyle background) (at C:/buildslave/unity/build/artifacts/generated/common/editor/EditorBindings.gen.cs:309)
UnityEditor.ObjectPreview.DrawPreview (IPreviewable defaultPreview, Rect previewArea, UnityEngine.Object[] targets) (at C:/buildslave/unity/build/Editor/Mono/Inspector/Editor.cs:225)
UnityEditor.Editor.DrawPreview (Rect previewArea) (at C:/buildslave/unity/build/Editor/Mono/Inspector/Editor.cs:522)
UnityEditor.InspectorWindow.DrawPreviewAndLabels () (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:759)
UnityEditor.InspectorWindow.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:386)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
(at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)


稀にしか発生せず結構お手上げ状態です。
よろしくお願いします。

805 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 17:33:39.23 ID:cORaqZFq.net]
業務でやってるならUnityに聞いた方がいいんじゃないかな

806 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 17:41:04.67 ID:MRvAVR8Q.net]
MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
でググると結構出てくるな
nullチェック時に==はオーバーライドしてんのか

807 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 17:52:22.98 ID:8vhmQCx9.net]
>>804
エラーログからみるにテストプレイはUnityEditor上でALT+PかCMD+Pでプレイしてるんだよね
死んだ(Destroy済み)のGameObjectをUnityEditor上のインスペクタ(あるいはUnityEditor用のAsset)で開きっぱなしにしてない?



808 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 18:06:36.80 ID:juyi80yV.net]
>>807
ここここれっぽいです!!! ありがとうございます!!
destroyされたGameObjectのprefabをInspectorに開きっぱなしです。
確かに、この状態だと100%発生しますね(恐らく生成のタイミングで)。
とはいえ、どうしてそうなるんでしょう

809 名前:名前は開発中のものです。 [2015/08/09(日) 19:30:08.93 ID:MJa1D6eV.net]
質問です。
CharacterControllerを使わずにそうさしてるのですが、接地判定がうまくいきません。

void CheckGround(){
if(Physics.Raycast(transform.position,Vector3.down,out hit, 10 )){
if(hit.collider.tag == "Ground"){
isGrounded = true;
}
}

で、処理してるのですが、isGroundedがtrueになりません。プレイヤーにBoxColliderとRigidbodyを
地面にはBoxColliderを付けて、タグを"Ground"にしています。
どなたかわかる方、または参考になるサイトをご存知の方居たら教えてください。

810 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 19:35:54.21 ID:a0bgjuvw.net]
Unityの2Dモードで、何枚か張られているパネルをマウスでクリックして消すゲームを作っております。
同じプレファブを使い、同じコードを使ったところ、1個のパネルを消すと全て消えてしまいます。

spriterenderer,boxcolider2dを付けてます。

実装は、クリックされたら以下のコードが実行されます(panel.cs)
v2には、クリックポイントが入ります。

v2 = GameObject.Find("Main Camera").camera.ScreenToWorldPoint(v2);
RaycastHit2D hit = Physics2D.Raycast(v2, Vector2.zero);
if (hit) {
Debug.Log ("x:"+v2.x+" y:"+v2.y);
Destroy(this.gameObject);
return;
}
で、consoleで見ると、1個当たっただけで全部のパネルが消えているのが確認できました。
consoleに大量のx,yの表示がされております。
自分自身かどうか判断する方法は無いでしょうか?よろしくお願いいたします。

811 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 19:57:23.46 ID:a0bgjuvw.net]
自己解決しました。申し訳ございません。

812 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 22:15:38.25 ID:iIBFuBQ/.net]
Unityを使用するブラウザゲームをやっているんですが、
最近、数十分前には起動できていたのに、ゲームを立ち上げようとしたらUnityが消えてる(アンインストールされてる?)事があります。
(Unityダウンロードページでもnot installedになっている)
なにかウイルスか設定のようなものでこうなったりするんでしょうか?

813 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 22:54:46.87 ID:bQXYImrI.net]
>>808
ギャグかよw
destroyしたからに決まってんだろうw
もう使わないよと言っておきながら使うという矛盾www

814 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 22:58:41.88 ID:bQXYImrI.net]
>>812
きっと妖怪の仕業だわ
お祓いしなきゃね

815 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 23:20:09.22 ID:M1ulE9Fv.net]
最初のシーンが重いのかUnityロゴ表示がかなり長くなってしまったので
シーン切り替えスクリプトのオブジェクトのみ配置したシーンを最初に作ったんだけど
変わらずロゴ画面でロードしてしまいます
なるべくロゴ表示を早く切り替えるのにはどうすれば良いですか?

816 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 23:31:12.99 ID:eHkK7Iki.net]
Proを買う

817 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 00:39:12.02 ID:NcNOCafI.net]
キャラIDとスキルIDをボタンの引数として登録する機能を作っています。
ボタンを押した時にShowSkillWindow(int, int)を実行するのですが、
2個目の引数の値をこの時点のiの値で呼び出したいのに、ボタンを押した時点での値で呼び出されてしまいます。
(この場合はループ終了後のiの値である5が引数になる)

public void Init(int charaID) {
for (int i = 0; i < 4; ++i) {
Button.ButtonClickedEvent clickEvent = new Button.ButtonClickedEvent();
Debug.Log("charaID:" + charaID + ", SkillID:" + i);
clickEvent.AddListener(() => BattleManager.I().ShowSkillWindow(charaID, i));
skillButtonList[i].GetComponent<Button>().onClick = clickEvent;
}
}

引数を固定させる方法か、代わりになる方法はありませんか?



818 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 01:01:41.62 ID:NcNOCafI.net]
解決と言えるのか自信がないけど意図した動作が出来たので残します。
引数を保持するための構造体の定義を作っておき、そこから処理を呼ぶ方法で実装出来ました。
構造体を作って放置するのがメモリ的に不安なので、改善点あれば教えてもらえると助かります。

struct StrSkillAction {
public UnityAction SkillAction(int charaID, int skillID) {
return () => {
BattleManager.I().ShowSkillWindow(charaID, skillID);
};
}
}

public void Init(int charaID) {
for (int i = 0; i < 4;++i) {
Button.ButtonClickedEvent clickEvent = new Button.ButtonClickedEvent();
Debug.Log("charaID:" + charaID + ", SkillID:" + i);
StrSkillAction eventClass = new StrSkillAction();
clickEvent.AddListener(eventClass.SkillAction(charaID, i));
skillButtonList[i].GetComponent<Button>().onClick = clickEvent;
}
}

819 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 01:55:01.36 ID:5Hk6N57m.net]
>>809
>if(Physics.Raycast(transform.position,Vector3.down,out hit, 10 )){

out hit,

ここに空白が入っていても、構文エラーにならないの?

820 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 02:03:06.07 ID:NcNOCafI.net]
outは関数の中で値を入力して返すためのもの
この場合はRaycast関数の中でhitに衝突情報が入って返ってくるということ
いわゆる参照渡しみたいなもの

821 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 02:09:07.80 ID:NcNOCafI.net]
>>809
衝突自体していないのか、
Raycastは真だけどtagに別の値が入ってるのか、
別の物体とは衝突するのか
あるいは別の物体と先に衝突しているのか
その辺りを調べればいいと思う
予想では、別の物体が先に衝突してるんじゃないかと
その場合はレイヤーマスクの指定で解決するかも

822 名前:名前は開発中のものです。 [2015/08/10(月) 02:23:40.44 ID:FUa01Ekr.net]
806です。

>>819
参考にしたサイトに、第三引数にoutで指定すると衝突したオブジェクトの情報が入る。と書いていたので
そのまま使ってます。hitのColliderを判定してるので必要ですよね?エラーは出てないですが、isGrounndedは返ってきません。

接地判定やcheck groundで検索してみたんですが、どうしても欲しい情報がないんですよね。

823 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 04:40:26.71 ID:WlJ3IdsP.net]
ブレイクポイントの使い方を覚えると捗るよ

824 名前:名前は開発中のものです。 [2015/08/10(月) 12:06:28.96 ID:FUa01Ekr.net]
806です。
皆さん本当にすみません。ただ単にBlenderからインポートしたオブジェクトが大きすぎて、
Raycastが届いて無かっただけの様です。
サイズ調整したらちゃんと接地判定してくれました。色々おかしかった所の大半がリサイズで解決しました。

アドバイスいただいた皆さんありがとうございます。

825 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 14:22:11.83 ID:mK6U9Zck.net]
設計の問題かもしれませんが、ダンジョンで使ったオブジェクトやらスクリプトを町で使いまわしたいのですが
ゲームの状態(ポーズ画面とかインベストリ画面とか)を操作するスクリプトを変える必要があって、これを変えると他の部分も大量に変える必要が出てしまうので
シーンごとに同じ名前(スクリプト名やら)だけど内容は違うみたいなことが出来る方法ってありますか?
やりたいことは倉庫の実装でインベストリ画面を開いたままにしたいのですが、ゲーム状態のスクリプトのupdateの部分に色々かいてたりするので倉庫だったらリターンtかも出来なさそうですし・・・
この方法以外にもいいやり方あったら教えていただけると幸いです

826 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 14:26:44.54 ID:v4fNYOjT.net]
>>825
もしかして:インベントリー画面
設計が間違ってると思うぞ、パーツとしてのスクリプトやプレファブの独立性を高くしないとどんどん酷くなると思う。

827 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 14:33:12.42 ID:mK6U9Zck.net]
>>826
なにぶんゲームやらプログラミング初めてなのでいまいち設計がわからなく・・・
次からは気をつけようとは思うのですが(どう気をつけるべきかも分からないってのもありますが)
今回はちょっとこのままごり押しで行きたいと思うのです
この作品では倉庫と店さえできれば(二つともインベントリひらくだけ)あとはつくるものはほぼないのでこのままいけたらなとは思ってます



828 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 14:40:00.14 ID:mK6U9Zck.net]
うーんよく考えたらゲーム状態の上位にさらにゲーム状態くっつければいいような気もしてきました
updateの部分をダンジョンだったら動作するように変えて町かダンジョンかの状態も操作するような物にしてみます

829 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:04:38.80 ID:sZwBkfWo.net]
UNITYをRPGツクールかなんかと思ってないかw
スクリプト変えないで町を作ろうとか

830 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:13:10.50 ID:mK6U9Zck.net]
>>829
一番楽だろうなと思ったのはスクリプト名を同じものにして(他で名前変えるのが面倒だったので)スクリプトの内容は変えるという感じで
これが出来たら一番楽だなと思って質問しました

831 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:18:55.29 ID:wojOIyQx.net]
実際デリゲートとか使えばそれで済む話だしな〜

832 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:23:07.25 ID:sZwBkfWo.net]
今一何したいのか判らん>>826の言うとおり設計から考えなきゃだめなんじゃね

単にスクリプトのクラス名が衝突するのを回避したいならnamespaceで調べれば幸せになるれけど

833 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:32:53.53 ID:mK6U9Zck.net]
>>832
倉庫ではゲーム状態(ポーズ画面とかそういうやつ)をインベントリ画面に設定して他のボタンを押してもそこから動かないようにしたかった 
かつ、ダンジョンで使っていたものを再利用したかった
そこでゲーム状態操作するスクリプトをいじる必要があったのでダンジョン内では、アップデートの部分に例えばesc押すとポーズみたいな関数があり
その部分をシーンがダンジョン内だったら動くようにしました
仮に設計から考える場合はどうなるんですか?

834 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:37:25.40 ID:sZwBkfWo.net]
いやその説明で設計の助言できるのはエスパーかよほど似たような事してる奴だけだろw

835 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 16:59:55.36 ID:KBTO4hmR.net]
Unity5 Water4シェーダーについて質問です。

浅い川に使ってるのですが、屈折効果があわられません(水面下がうにゃうにゃ変形されるの)
色々試したのですが、ある程度(2m以上)深くすると効果が出ます。何処をいじればいいのでしょうか?
全てのパラメーターを極端な数値に設定して試したのですが、うにゃうにゃになりません。
もしかしてシェーダースクリプトそのものを変更しないとダメなのでしょうか?

836 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 17:44:03.89 ID:7mxq3sqw.net]
Instantiateで作ったクローンたちをCanvasの子にするにはどうすればいいんでしょうか?
ttp://blog.doinet.co.jp/?eid=1031771
ここのサイトを参考にしましたがうまくできませんでした・・・

837 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 17:50:16.51 ID:Vfcir//D.net]
>>836
docs.unity3d.com/ja/current/ScriptReference/RectTransform.html
にある SetParent 関数でどうぞ



838 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 18:02:19.58 ID:KBTO4hmR.net]
>>835
自己解決しました。
Editorスクリプトが入ってなかったので入れて、
NormalsとFadeをいじってる内にいい感じに屈折表現されるようになりますた

839 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 18:05:16.92 ID:Vfcir//D.net]
>>835
テストシーン作ってみたけど普通に動いてる気がする
2mてのがわからんけど、Daylight Water をy=0において、床をy=-0.0001でもちゃんと歪んだ
動作の感じからすると水面と川床の距離がカメラから見て小さくなりすぎると
Zの精度の都合で歪ませたテクスチャのレンダリングがうまくいかなくなってる

別な要因の場合だとわからん






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<302KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef