トップページgamedev
1001コメント400KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2015/04/19(日) 12:16:54.53ID:Erl+lZnN
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
http://peace.2ch.net/test/read.cgi/gamedev/1425192691/

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

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

●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/
・ユーザーガイド&リファレンス
 http://japan.unity3d.com/developer/document/
・チュートリアル
 http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
 http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
 http://answers.unity3d.com/index.html
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう
0363名前は開発中のものです。2015/05/10(日) 21:24:13.75ID:HfNxV9Cq
Unity5のEventSystem関連で質問が。
 IDropHandlerを継承したobjA
 IBeginDragHandler, IDragHandler, IEndDragHandler を継承したobjB
どちらも同じcanvasにあるRawImageなんですが、ObjAをドラッグしObjBへドロップをしても
ObjBのOnDrop()が呼ばれません。
ObjAとObjBをヒエラルキ上で入れ替えれば(ObjAを下)呼ばれるようになるのですが描画順が入れ替わってしまい
ObjAとObjBが重なっている場合はOnBeginDrag()も呼び出されず、望んだ動作になりません。
イベント類がヒエラルキの下にあるものにハンドラに関わらずブロックされているように思えます。

対応するハンドラのないOnナントカ()のイベントをブロックしない/スルーさせるにはどうすればよいでしょうか?
0364名前は開発中のものです。2015/05/10(日) 21:25:27.05ID:dzAGo5Qg
おちんこ
0365名前は開発中のものです。2015/05/10(日) 21:32:02.30ID:G9Ftrn0G
俺も武器データとかはxmlで管理してるな
更新の必要がないオフラインゲーだからってのもあるけど
0366名前は開発中のものです。2015/05/10(日) 21:52:58.44ID:JY/Urezl
今monodevelopでスクリプト書いてたら、普通に日本語入力出来たんだけど、いつから出来るようになった??
0367名前は開発中のものです。2015/05/10(日) 23:06:02.52ID:P0JXwpa0
>>341
どっちもゲームエンジンなのでゲーム以外には向かないと思う
たとえばTwitterクライアントが60FPSである必要はないよね
0368名前は開発中のものです。2015/05/10(日) 23:09:44.41ID:32mVSLjr
>>366
そもそも文字コードの対応次第だからなあ
むしろそのできなかったと記憶してるのはいつごろの話だ?
vsだとかなり前から2バイトコードになっててc#で日本語をメソッド名や
クラス名にできるぞ
0369名前は開発中のものです。2015/05/10(日) 23:59:13.28ID:p1nccl4R
さすがに日本語は使いたくないなあ
0370名前は開発中のものです。2015/05/11(月) 00:05:58.29ID:qfi1OZrA
Unity4の頃はコメントに日本語書くのも面倒だった気がする
0371名前は開発中のものです。2015/05/11(月) 00:59:41.44ID:ScZ2Xqbh
>>363
一番手前のものがイベント受けとるものみたいよ。 ドラッグ中だけドロップ可能なオブジェをsetaslastsiblingしちゃうとか?

どうしても見えかた変えたくないならeventsystemのinputmoduleをカスタムして順序ぶち抜いて イベント送るようにすれば行けたりしないだろうか。行けないのだろうか。
0372名前は開発中のものです。2015/05/11(月) 01:17:12.47ID:Ouvs86yJ
>>369
確かにw
できるできないって話と使う使わないは別の話だしw
0373名前は開発中のものです。2015/05/11(月) 01:32:23.41ID:rYlVRQyS
前ちょっと関わった会社でVBの変数に日本語使ってて衝撃受けたな
0374名前は開発中のものです。2015/05/11(月) 02:37:39.77ID:lwtckcvJ
エクセルの範囲名とかシート名だったら割と日本語使ってることあるけど、
ああいう感じになるのかな。

わかりやすいっちゃわかりやすいし、
英語ネイティブの人はそもそもそういう感覚って考えると、
バイト数さえ気にならなくなれば結構ありなのかもしれない。
0375名前は開発中のものです。2015/05/11(月) 02:44:00.30ID:O0iKEVX5
プログラミングの規則なんてぶち壊せ!
0376名前は開発中のものです。2015/05/11(月) 03:11:04.68ID:Ey9PH5mh
気概としては買いたいけど、変数名日本語は抵抗あるな。
てか、入力補完めんどくせぇw
0377名前は開発中のものです。2015/05/11(月) 05:21:23.09ID:1pVkIqvM
普通に日本語変数使うし。
業務系ならね。
無理に英語にすると、客とやり取りする際に用語とか氾濫するんだよ。
0378名前は開発中のものです。2015/05/11(月) 09:29:48.01ID:IKqeYhKW
以前取得したUnity 3.x, iOS 3.x, Android 3.xのシリアルがありますが、Unity4に入力したところ、このVerでは使えないと出ました
Unityのサイトでアップグレードしようとしましたが、カートにすら入りませんでした
このシリアルはどうやって有効化すればいいのでしょうか?
0379名前は開発中のものです。2015/05/11(月) 09:43:23.30ID:9xESL9Tn
>>378
Unity3からUnity4へのアップグレードパスはあったけどUnity3からUnity5へ直接のアップグレードは無いって事でしょ
クレームになっちゃうかもしれないけどUnityJapanあたりに直接メールで問い合わせて割り引きアップグレードできないか聞く方が良いよ。
Unity3からって事だから頻繁には使ってないんだろうし、できないって言われたら年間パスとかに移行する方が吉かもしれんし。
0380名前は開発中のものです。2015/05/11(月) 10:15:14.36ID:mLDB2jte
>>371
返信ありがとうございます
イベントを受け取ってしまうのは仕様っぽいと。
提案していただいた手法を試してみます。
ありがとうございました( ゚д)ノ
0381名前は開発中のものです。2015/05/11(月) 10:55:18.39ID:kjJv0kme
>>362
スレ違いですみません……
皆さん色々教えて頂きありがとうございました、SQLiteあたりから少しずつ学んでいきたいと思います
0382名前は開発中のものです。2015/05/11(月) 11:46:57.92ID:H2EStBi0
ゲームの種類にもよるとは思いますが、Unityを扱うには新型Macbookではスペック不足でしょうか?
メインはデスクトップでの作業で、外で少し作業をする時にMacbookを使うという程度ですが…
0383名前は開発中のものです。2015/05/11(月) 12:44:06.99ID:wyI3U1pQ
頂点カラーシェーダーを使用してモデルの頂点カラーを表示したいのですが、
FBXファイルを読み込んだ時点でオブジェクトから頂点カラー情報が
消されてしまい困っています。
シェーダーとFBXファイル自体に問題が無い事は確認済みなので、
unityに読み込んで、シーンに配置する間に消えていると思うのですが
何か設定等有るのでしょうか? よろしくお願いします。
0384名前は開発中のものです。2015/05/11(月) 13:04:51.42ID:mLDB2jte
>>383
http://docs.unity3d.com/ja/current/Manual/HOWTO-importObject.html
最新の情報かは分かりませんけど、MAXから出力のFBX以外からは頂点カラーをインポートできない模様
0385名前は開発中のものです。2015/05/11(月) 13:31:36.57ID:g8YYbzKJ
ゲーム製作を始めてみようと思い「見て分かるUnitiy4 C♯超入門」という本を買ってきました。
その中にGuiTextというのを作成してスプリクトで文字を表示させるものがあるのですが
調べたところUnitiyのバージョンが変わったときになくなってしまったらしく、こんにちはを表示させる時点で詰まってしまいました。
本の中ではGuiTextを作成してその中に「guiText.text="こんにちは";」と書くことになっていたのですが
これを今の環境で書き換えるとどうすればいいのでしょうか。よろしくお願いします
0386名前は開発中のものです。2015/05/11(月) 13:47:18.25ID:wyI3U1pQ
>>384
FBXを一旦XSIに持って行って吐き直したら行けました…
ありがとうございました…すごい徒労感…
0387名前は開発中のものです。2015/05/11(月) 17:00:41.05ID:ZInVUSxF
>>385
GUIText自体は今でもあるはず。
GameObjectメニューからクリエイトエンプティで空のゲームオブジェクトを作成し
ComponentメニューからRendering→GUITextでGUITextコンポーネントを付加する。
その上でスクリプトで
gameObject.GetComponent<GUIText>().text="こんにちわ";
とでも書けばいい。
まぁ空のゲームオブジェクトだけ作って
(略)
void Start(){
transform.position=Vector3.one*0.5f;
gameObject.AddComponent<GUIText>().text="こんにちわ";
}
(略)
とかでもいいけどね。

ひょっとして5のカメラだとデフォルト設定でGUILayerがついてないとかあるのか?
もしそうならカメラにGUILayerコンポーネントをつける必要もあるかも
0388名前は開発中のものです。2015/05/11(月) 17:19:50.21ID:t1ob6tJP
んな無駄なコード覚えず、Unityのtutorialに目を通せばよろし
0389名前は開発中のものです。2015/05/11(月) 21:26:17.17ID:CcP5+jor
Unity4.6.5f1で製作してます。
やりたい事:画面内でタップした@GameObject0(←ANavMeshAgentコンポーネント付き)の名前を取得したい。

Raycastを使ってGameObject名を取得する事自体は出来たんですが、@をタップしようとするとすり抜けて
下に配置されてる床のGameObejct2(←Colliderコンポーネント付き)が認識されてしまいます。
再生開始から数秒は、@の子にあたるGameObject1(←Colliderコンポーネント付き)や、@自体にCollierをつけてみると
取得出来るのですが、数秒立つと上記のようにまたすり抜けたりして挙動が安定しません。

NavMeshを適用したObjectにタップした時にどう安定してアクセスできるか、、
何か心当たりがある方いらっしゃいませんか?
0390名前は開発中のものです。2015/05/11(月) 23:21:09.62ID:HkHDqq6J
C#関連の質問です。
unityで定義されているインターフェース(IPointerDownHandlerなど)について、
その処理内容の実態はどこに記述されているのでしょうか?

例えばIPointerDownHandlerの定義を遡っても、
void OnPointerDown(PointerEventData eventData);が書いてあるだけで、
一体なぜこれでクリック認識の処理が出来るのか、わけがわかりません。
0391名前は開発中のものです。2015/05/11(月) 23:33:38.41ID:MNRmBkyg
Unityはソース公開してないよ。ブラックボックスだから一切フォークできない。
unrealengineとはそこが大きく違う。ただしuGuiはオープンソース。
0392名前は開発中のものです。2015/05/11(月) 23:37:14.71ID:Flz0Rfd6
そういう共通の処理はどこかに実装されてて
利用者はイベントがあった際のメソッドとかを用意すればいいという感じになってる
この辺が他人が作ったエンジンのいいところであり悪いところかもね
XNAなんかもゲームループのコアの部分は隠匿されてて特定のタイミング呼ばれるところを
書くってスタイルだったし
0393名前は開発中のものです。2015/05/11(月) 23:38:36.56ID:9xESL9Tn
>>390
Interfaceは呼び出し規約の定義(戻り値、メソッド名、引数定義の集合)
実装は自分のクラスにimplementする。

詳細はC#のclass,interfaceについて記載された書籍かMSDNで学習してくれ
0394名前は開発中のものです。2015/05/11(月) 23:41:50.56ID:t1ob6tJP
play makerって、オブジェクトAの変数(プロパティ)をオブジェクトBのプロパティやメソッドに送ることできますか?
0395名前は開発中のものです。2015/05/12(火) 00:08:33.30ID:awMiLw+L
>>391-393
そうだったんですか、ありがとうございます。中身を見れないのはちょっと辛いですね。

あと、これに関連した追加の質問をしたいのですが、、
『あるインターフェースを実装したクラスに、指定されたメソッドを作ってそこに内容を記述すると、インターフェース独自の処理が実行される』
というのは、初心者レベルでのインターフェースの知識では、やはり意味不明なところがあります。
というのも、あくまでもInterfaceとは、ある規格化されたメソッド宣言を行うことを強制する手段として用いるものですよね。
だとすると、なぜそこで新しい機能が自動的に実行されるのでしょうか。

イベントハンドラ?とか、拡張メソッド?とか、その辺りを駆使しているんですかね?全然分かりません。

分かりづらい質問ですみませんが、エスパー出来る方、よろしくお願いします。。。
0396名前は開発中のものです。2015/05/12(火) 00:26:08.70ID:fjyqG3xL
そういう仕組みだからとしかいえないのかな?
https://unity3d.com/jp/learn/tutorials/modules/intermediate/scripting/interfaces

その辺はunityの仕組みつーより言語の仕様?
0397名前は開発中のものです。2015/05/12(火) 00:31:45.10ID:fjyqG3xL
c#のインターフェースってC++のころの多重継承の弊害からできた機能だっけ?
この辺の話は使う側ではなく提供する側に回るとなんで存在するかとかわかるはず
0398名前は開発中のものです。2015/05/12(火) 00:33:17.27ID:OIzBkNpq
>>390
こんな便利なのあったんですね;Sceneを複数合成するとまだうまく動いてくれてないけど、
単一シーンでNavMeshAgent付きのObjectをOnPointerDown使って名前の取得が出来たので、検証続けてみます。
ありがとうございました。
0399名前は開発中のものです。2015/05/12(火) 01:00:49.30ID:fjyqG3xL
unityの裏方は知らんけどc#で書かれてるwinformなんかだと
http://www.atmarkit.co.jp/fdotnet/dotnettips/467wndproc/wndproc.html
>しかし.NETのWindowsフォームでは、たいていの場合、直接Windowsメッセージを
>プログラムで処理する必要はなく、フォームのメンバであるWndProcメソッドが、
>受け取ったWindowsメッセージを.NETのイベントに置き換えてくれる
こんな仕組みが裏に隠されててお前にイベントが来たよと通知してくれて
インターフェースがインプリメントされてればそれ経由で処理が行われてるのでいいのかな?
0400名前は開発中のものです。2015/05/12(火) 01:35:00.40ID:fZtrUYvr
ゲーム中動かないオブジェクトをstaticにしてから出だしたと思うのですが
SDユニティちゃんのシェーダーで警告メッセージが出るようになりました
公式の修正パッチを入れなおすなどしたのですが一向に消えることがなかったので
こちらで質問させていただきます
解決法をご存知の方がいらっしゃいましたらどうかご教授お願い致します

Shader error in 'UnityChan/Clothing': Can't find include file CharaMain.cg (on opengl)

Compiling Vertex program with DIRECTIONAL SHADOWS_OFF LIGHTMAP_OFF DIRLIGHTMAP_OFF DYNAMICLIGHTMAP_OFF
0401名前は開発中のものです。2015/05/12(火) 01:49:51.34ID:fjyqG3xL
4.6のUI関連のソース見つけた
基底クラス
UI / UnityEngine.UI / EventSystem / UIBehaviour.cs
https://bitbucket.org/Unity-Technologies/ui/src/87c9a350fbecd8336df86563688a9bbe60945ea7/UnityEngine.UI/EventSystem/UIBehaviour.cs?at=4.6

UI / UnityEngine.UI / UI / Core / Selectable.cs
https://bitbucket.org/Unity-Technologies/ui/src/87c9a350fbecd8336df86563688a9bbe60945ea7/UnityEngine.UI/UI/Core/Selectable.cs?at=4.6
0402名前は開発中のものです。2015/05/12(火) 02:29:36.75ID:fjyqG3xL
あとこれか
unityはこういうサイクルでイベントの処理をしてるらしい
http://docs.unity3d.com/ja/current/uploads/Main/monobehaviour_flowchart.svg

当然この中でunityのクライアント領域で誰向けのイベントかというのを判断して
通知はしてくれるはずなので後はその通知を受けとるためのインターフェースなどを
実装してあげればいいだけだと思う
0403名前は開発中のものです。2015/05/12(火) 04:43:52.52ID:i/XOADhM
>>390
Unityが全ソースを公開してたとしてもIPointerDownHandlerの中身は空だと思うよ
このInterfaceがクリック認識の機能を持つわけではなくてUnity内部の別の場所でクリック判定は勝手に行われてる
それを通知してもらう目的でこちらが用意するのが上記Interfaceを実装したオブジェクトということ
0404名前は開発中のものです。2015/05/12(火) 08:32:43.56ID:BjWswsYH
>>400
警告のとおりcharamain.cgがないんじゃないの?
0405名前は開発中のものです。2015/05/12(火) 15:03:31.97ID:kFcbgs9Z
unity5を利用しているのですが、
SEのボリュームを1以上に上げたい場合はどのようにしたらよいでしょか?

javascript上で
"GetComponent.<AudioSource>().volume = 2.0;"
としてみましたが、やはりダメでした。

スクリプト上で指定したいです。

宜しくお願いします。
0406名前は開発中のものです。2015/05/12(火) 15:07:31.72ID:RpXbDx1m
>>405
上げられない。そういう仕様だから
http://docs.unity3d.com/ScriptReference/AudioSource-volume.html
0407名前は開発中のものです。2015/05/12(火) 16:03:54.45ID:kFcbgs9Z
>>406
405です。
了解です。ありがとうございます。
0408名前は開発中のものです。2015/05/12(火) 16:19:22.07ID:47Ytop5H
>>379
アップグレードにいくらか掛かるんですね
趣味で使ってるだけで、今のところアップグレードの必要ないので、
Unity4Freeのほう使っていきます
0409名前は開発中のものです。2015/05/12(火) 16:23:54.74ID:8l4Ib8pT
>>408
Free版つかうならUnity5の方が制限が少ないよ
0410名前は開発中のものです。2015/05/12(火) 16:43:46.78ID:kFcbgs9Z
指定したアクションが実行したら、カウント開始させたいのですが、
どう書けばよいでしょうか。。。

少しはしおりますが、
(goalScript.cleared=trueなら、カウント開始としたいです。
Time.timeではないと思うのですが、どう書けばいいでしょうか。
宜しくお願いします。

var startTime:float;
var goalObj:GameObject;
var goalScript:GoalScript;

function Start () {
if(!goalObj){
goalObj=GameObject.FindGameObjectWithTag("Goal");
}
goalScript=goalObj.GetComponent(GoalScript);
}

function Update () {
if(goalScript.cleared=true){
startTime = Time.time;
}
}
0411名前は開発中のものです。2015/05/12(火) 18:10:47.24ID:NwbqhJpx
>>410
startTimeが00:00:00から始まる時間だとして
Start() の中で
startTime=0;

Update() の中で
if ( goalScript.cleared )
{
startTime += Time.deltaTime;
}
でいいんじゃないの。
代入じゃなくて比較の場合は = じゃなくて == な
0412名前は開発中のものです。2015/05/12(火) 19:01:44.88ID:47Ytop5H
>>409
買った参考書がUnity4用のものなので、まずは4で勉強します
0413名前は開発中のものです。2015/05/12(火) 20:00:25.53ID:rArZidZF
アスペクト比を16:9固定でゲームを作成している最中です。

タイトル画面に置いているUIが、通常時では良い感じの大きさですが
Maximize on Playにすると解像度が異なるのかUIが小さくなってしまいます。

ググっても上手く引っかかってくれないので解決出来ずに困っています……
0414名前は開発中のものです。2015/05/12(火) 20:26:43.95ID:kFcbgs9Z
プログラム初心者の質問です。
下記のように、javascriptでオブジェクト一つ一つ指定して表示させているのですが、
例えば、頭文字にmCount"が付いているものは
全て表示などという指定の仕方はどう書けばいいでしょうか?
宜しくお願いします。

mCount00.SetActive(true);
mCount01.SetActive(true);
mCount02.SetActive(true);
mCount03.SetActive(true);
mCount04.SetActive(true);
0415名前は開発中のものです。2015/05/12(火) 20:35:45.39ID:rArZidZF
>>414
親オブジェクトを作ってそれに全部ぶっ込んで
子ではなく親に対してSetActiveを打てば良いのでは?
管理も楽だしHierarchyも見やすくなるかと
0416名前は開発中のものです。2015/05/12(火) 20:38:46.58ID:bTTXGrqQ
>>414
C#だとmCountを配列とかList<T>で管理して
mCounts[index].SetActive(true)
とかでアクセスするんだが・・・
0417名前は開発中のものです。2015/05/12(火) 20:56:16.08ID:kFcbgs9Z
>>415
初めは、親オブジェを作って、
SetActiveでけしてたのですが、
この手法だと消した後の個別での表示が面倒になってしまい、
ほかに手法はないかと模索していました。。。
0418名前は開発中のものです。2015/05/12(火) 20:57:39.11ID:kFcbgs9Z
>>416
なるほど、配列を使用するという方法があるのですね。
javascriptだとどう書くのでしょうか。調べてみます。
0419名前は開発中のものです。2015/05/12(火) 21:06:54.62ID:t26VkM3W
これってueレベルのゲーム作れます?
0420名前は開発中のものです。2015/05/12(火) 21:11:15.16ID:0c3sl7Vl
これまで同様何にも出来ないまま終わるよお前の人生は
0421名前は開発中のものです。2015/05/12(火) 21:11:16.45ID:Pkd42GEf
>>413
anchorをちゃんと設定してないんじゃない?的はずれなこと言ってたらごめんw
042210人に一人はカルトか外国人2015/05/12(火) 22:00:56.92ID:du07EWF5
★マインドコントロールの手法★

・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法

偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い

靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト

10人に一人はカルトか外国人

「ガスライティング」で検索を!....
0423名前は開発中のものです。2015/05/12(火) 22:21:24.97ID:rArZidZF
>>421
いえ、ありがとうございます。試してみます
0424名前は開発中のものです。2015/05/13(水) 01:32:34.08ID:fTNryTpc
すいません、unity5.01f1 でのuGUIの質問になります。

ボタンを作成するとButton(Script)の
インスペクタ上に「interactable」というチェックボックスがあって、
それをオンオフすると使用可能、使用不可能が表示込みで切りかえれます。

それをソース上で切り替えたくて
ttp://answers.unity3d.com/questions/847376/new-gui-button-set-interactable-via-script.html
のソースや、

こちらのブログ
http://qiita.com/2dgames_jp/items/b3d7d204895d67742d0c のソースを試してみたのですが

コンソールでソース上のエラーと判断されます。
そもそも button に interactableがないようなのです。

しかし
http://docs.unity3d.com/ScriptReference/UI.Button.html
を見てみると あるようですし自分の力量では解決できないと思い相談させて頂いております。

ソース上で「interactable」の切り替えはできるのでしょうか?
また何が悪く「interactable」が認識されないのでしょうか?
宜しくお願い致します。
0425名前は開発中のものです。2015/05/13(水) 01:44:39.17ID:PQ2FF6P2
エラーとかコード貼りなよ。
null referenceじゃないの?
対象のbutton取得できてる?
0426名前は開発中のものです。2015/05/13(水) 01:48:40.60ID:yosgKyFX
>>424
ソース(interactiveを変えるスクリプト)を、buttonオブジェクトじゃないものに付けてる。textとか。

なんてとこでどうだっ
0427名前は開発中のものです。2015/05/13(水) 02:15:14.39ID:fTNryTpc
>>425さん >>426さん ご返答ありがとうございます。 

http://answers.unity3d.com/questions/847376/new-gui-button-set-interactable-via-script.html
の下の方の

Cooldown クラスを使ったものです。(using UnityEngine.UI; は足しました。)

すると

Assets/03_Script/01_Counter/Cooldown.cs(22,45): error CS1061:
Type `Button' does not contain a definition for `interactable' and no extension
method `interactable' of type `Button' could be found (are you missing a using directive or an assembly reference?)


というエラーメッセが出ます。

used.GetComponent<Button>().interactable = true;
が該当行になります。

エラーが出ているのでオブジェクトに添付できないのですが
このような結果となりました。
宜しくお願い致します。
0428名前は開発中のものです。2015/05/13(水) 02:29:34.71ID:3eakWd3b
using UnityEngine.UI;
て書いてないだけじゃないのかね
0429名前は開発中のものです。2015/05/13(水) 02:42:00.35ID:fTNryTpc
>>428さん ご返答ありがとうございます。

using UnityEngine.UI;は足しておりますが、
それでもやっぱりエラーが出ます。

そもそも、これが抜けているようなソースを参考にしたのが失敗だったような。。。
0430名前は開発中のものです。2015/05/13(水) 02:58:26.11ID:3eakWd3b
ああ、悪い、足したって書いてあったなw
そこのページにちょこまかかいてあるのを読むと
Buttonクラスがいくつかのプラグインとコンフリクトする、ってレポートがあると書いてあるなぁ。
それが原因ならむしろusingを無視して
used.GetComponent<UnityEngine.UI.Button> ().interactable = true;
とでも書けばいけるのかもしれない
0431名前は開発中のものです。2015/05/13(水) 03:22:07.61ID:fTNryTpc
>>430さんへ ありがとうございます! ついに動きました!疲れた・・・

テストに成功し、実際のコードに埋め込んでも想定どおりの動きになりました。
本当に助かりました。

used..GetComponent<Button>().interactable = true;

は既に試しておりましたが、駄目でした。(また動いたものを上記にするとエラーが発生)

もっとちゃんと読まないと駄目ですね。。。

自分の英語力とプログラミング力では到底回答に行き着けませんでした。
本当に感謝致します。 
0432名前は開発中のものです。2015/05/13(水) 10:05:13.35ID:Bj4xQxMA
unity5で作業しています。

assetstoreで購入したステージデータを読み込んだ際、
以下のエラーメッセージがでました。

"BCE0018: The name 'PostEffectsBase' does not denote a valid type ('not found').
"

調べてみたところ、
下記のアドレスで以下ののように書かれていました。
I found an answer (sorry, lost the link that had a much better explanation than I'm capable of),
but the basic solution was to move all of your other folders/scripts that are part of asset bundles and packages.
Move them all into the Standard Assets folder in your project.
具体的にはどうすればいいのでしょうか?
翻訳ソフトにて翻訳しましたが、中々意図をつかめず、アドバイスをお願いします。
0433名前は開発中のものです。2015/05/13(水) 10:07:42.14ID:Bj4xQxMA
432です。
すみません、解決策の書かれていたサイトです。
http://answers.unity3d.com/questions/323237/bce0018-the-name-posteffectsbase-does-not-denote.html
翻訳ソフトで翻訳しましたが、こちらで書かれている内容の意図がつかめません。
具体的にどうすればよいか、アドバイスをお願いします。
0434名前は開発中のものです。2015/05/13(水) 10:16:46.51ID:7i9ZWGMR
いったんそのアセットを全部削除してから、StandardAssetフォルダの中に入れ直せばいいんじゃね?
的なことが書いてある
0435名前は開発中のものです。2015/05/13(水) 10:36:31.47ID:KqIttZO4
>>404
ありがとうございます
シェーダーフォルダをReimportしたらひとまず解決しました
代わりにAnti-AliasingのNFAAで警告が出るようですが
ビルド実行では一先ず困ることはなくなったので良かったです
0436名前は開発中のものです。2015/05/13(水) 10:39:18.26ID:DmIlFLej
>>432
Unity5だとStandardAssetsのEffectってImportしてある?
Assets/StandardAssets/Effects/ImageEffects
にイロイロ入ってないならProjectタブで右クリック->Import Packagの一覧からEffectsえらんでみると良い
0437名前は開発中のものです。2015/05/13(水) 11:47:55.60ID:Bj4xQxMA
>>434
>>436
依存のeffectをインストールし、
アッセトのeffectをインストール時に除外したら上手くいきました。
とりあえず問題は起きていないので、大丈夫かと、、、
ありがとうございます。
0438名前は開発中のものです。2015/05/13(水) 22:14:04.78ID:fTNryTpc
質問です。( >>432の方とは違う者です。一応念のため)
環境はunity5.01f1になります。

オーバレイなどの画面効果を使いたくなり、
ImageEffectsをimportして ScreenOverlayをMain Cameraにセットし無事画面に効果が表れました。

そこでIntensityで効果の強さを弄れるようなのでソースから操作したいのです。

が、ソースを書こうとするのですが、
http://docs.unity3d.com/ja/current/Manual/comp-ImageEffects.html を参考にして
宣言部分に
using UnityStandardAssets.ImageEffects;
と書くのですが、その部分でエラーが発生してしまいます。

Assets/03_Script/01_Counter/Counter.cs(74,42): error CS0201:
Only assignment, call, increment, decrement, and new object expressions can be used as a statement

(visualStudio上では 「型または名前空間名
UnityStandardAssetsが見つかりませんでした」と表示されます。)

一応ScreenOverlay.csを開いてみると、上部の方に 
namespace UnityStandardAssets.ImageEffects
{
と書かれているのですが。。。

どなたか、ソースからImageEffectsのパラメータの操作の仕方が判る方、アドバイスを頂けないでしょうか?
0439名前は開発中のものです。2015/05/13(水) 22:21:21.35ID:O3yCiIf3
これ?
http://religion.indiesj.com/unity/unity5-note
0440名前は開発中のものです。2015/05/13(水) 22:59:53.48ID:fTNryTpc
>>439さん ご返答ありがとうございます。

やりたいことはまさしくコレです。

UnityStandardAssetsを認識しないので、エディタを再起動。
すると、一応コンパイルは通る(?)ようになったので
(変わらずvisualStudiodではエラーがでますが。 )

cameraOBJ.GetComponent<UnityStandardAssets.ImageEffects.ScreenOverlay>().intensity = 100f;

で成功しました。アドバイスありがとうございました!
0441名前は開発中のものです。2015/05/13(水) 23:52:41.40ID:NLlcwtOk
void Update() {
transform.Rotate(Vector3.right * -Input.GetAxis("Vertical") * Time.deltaTime * speed); //入力に応じて回転
transform.rotation = Quaternion.Euler(transform.eulerAngles);             //オイラー角に変換してクォータニオンに再変換してるだけ
}

こんな単純なスクリプトなのに回してると真上で「ガッ」と引っかかったりして困ります…
2行目をコメントアウトすると治ることから、オイラー角が犯人なようなのですが…
これは単純化してるので意味不明になってますが、
実際のスクリプトでは2行目にClampをかませて角度制限してるのでなくすわけにも行きません。

どうするべきでしょうか…?
0442名前は開発中のものです。2015/05/14(木) 00:01:36.81ID:ScFL5OjO
PCって4つめのなにかで回転しないと3軸の方で回転すると特定のところで
問題になるってあったような
0443名前は開発中のものです。2015/05/14(木) 00:04:12.01ID:ScFL5OjO
あごめんそれがQuaternionか
0444名前は開発中のものです。2015/05/14(木) 00:33:12.08ID:ScFL5OjO
この辺を参考にしてみたら?
http://docs.unity3d.com/ja/current/ScriptReference/Transform-rotation.html
0445名前は開発中のものです。2015/05/14(木) 02:34:51.58ID:OxqF59jD
しょぼい質問ですが教えてください。

キャラクタをジャンプさせていますが、それが非常にゆっくりなのです。
たぶん現実世界ではそのくらいのスピードなのだと思います。
しかし、私はもっと速いジャンプ(の上昇と下降)をしたいと思っています。

その場合はどうすればいいでしょうか。
0446名前は開発中のものです。2015/05/14(木) 02:39:54.81ID:+SSZ+Doh
>>445
どうやってジャンプさせてるが知らんが
重力的なものを大きくしてジャンプ力を上げればいいんじゃないの?
0447名前は開発中のものです。2015/05/14(木) 02:52:25.42ID:Np/gKzpU
>>441
もしX軸しか動かさない、という条件付で前後120度でクランプしたいなら例えば
transform.Rotate (Vector3.right*spd*-Input.GetAxis("Vertical") * Time.deltaTime);
eulerRot = transform.eulerAngles;
if (Mathf.Abs(eulerRot.y)>1){
if(eulerRot.x < 60) {
eulerRot.x = 60;
transform.eulerAngles = eulerRot;
} else if (eulerRot.x<=360&&eulerRot.x > 300) {
eulerRot.x = 300;
transform.eulerAngles = eulerRot;
}
}
とかやればできないことはない。
安定してやりたいなら上に空のオブジェクトかましてY軸でコントロールするのをお勧めする。
UnityのQuaternionクラスのEuler変換はオーダーがZXYになっている、らしいので
X軸はどうにも安定せんのよ。Y軸がもっとも安定する。
0448名前は開発中のものです。2015/05/14(木) 07:07:38.35ID:TtBEvxBt
>>445
落ちるってことはy軸の減少だから、yをマイナスしてる値を上げればいい
大抵それは「gravity」なんて名前の変数でインスペクターにある事も多いんだけど
gravityをジャンプの高さに影響させてる場合もあるんで
(重量が大きいと高く飛べない)そのときはジャンプ処理を同時に「強く」する

「ジャンプさせてる」ってのがまず「プログラム書いてさせてる」に見えるから
は?引っ張んなきゃよくね?な反応しか返ってこないぞ
0449名前は開発中のものです。2015/05/14(木) 08:03:28.56ID:p6BCWHPG
2Dの横スクロールアクションだけど
gravity scaleを5.0にしてる
0450名前は開発中のものです。2015/05/14(木) 09:29:37.36ID:m/ATDllS
>>445
中学生か?
高校生以上なら物理の教科書開いて勉強しろ
0451名前は開発中のものです。2015/05/14(木) 14:33:00.47ID:OS25PBS+
てs
0452名前は開発中のものです。2015/05/14(木) 14:38:24.45ID:OS25PBS+
unity5でwebGLでビルドすると下記のエラーが出ます
http://i.imgur.com/1YlUYbn.png

エラメでググっても何も出てこないのですが、これって何がおかしいのでしょうか?
解決方法ご存知の方教えて下さい
0453名前は開発中のものです。2015/05/14(木) 15:48:52.31ID:xZllPFjU
32bitOSがおかしい
0454名前は開発中のものです。2015/05/14(木) 15:58:23.41ID:OS25PBS+
>>453
マジですか?
64bit環境じゃないと無理なんですか?
0455名前は開発中のものです。2015/05/14(木) 16:25:03.74ID:90mLIgsM
スカイボックスをオンオフしたいのですが、
現状、下記のように、マテリアルの設定を2つ持って、
一つを空にして、オンオフしています。
false,tureでオンオフする書き方はありますでしょうか?
宜しくお願いします。

var Material00:Material;
var Material01:Material;

function Start () {
RenderSettings.skybox = Material00;
}

function Update () {
if(Time.time>3f){
RenderSettings.skybox = Material01;
}
}
0456名前は開発中のものです。2015/05/14(木) 17:58:03.00ID:MDY9d6v0
Unity5でエロ用途に使えるレベルのモザイク処理できるシェーダーは無いでしょうか?
4まではunity-facecensorというのでいけたようですけど、5だと表示かおかしい&画面全体にモザイクがかかるので使えません。
自分で作るほどのスキルは無いので有料でも良い物があれば教えて頂けないでしょうか?
0457名前は開発中のものです。2015/05/14(木) 19:01:01.99ID:JbGJ/pAw
質問失礼します。

NGUIを利用してウィンドウを2つ重ねて表示しています。
1つ目のウィンドウは UISprite Wooden Atlas window (20) でウィンドウを作り、UISprite flat (22) でウィンドウ内側のパネルを表示しています。
2つ目のウィンドウは UISprite Wooden Atlas window (100) のみとなっています。
()内の文字はDepth値です。大きければ大きいほど手前に表示されます。

文字では伝えづらいので画像にしました。
http://www.dotup.org/uploda/www.dotup.org314493.png
1つ目のウィンドウのウィンドウとパネルの間に2つ目のウィンドウが挟まれる形で表示されてしまいました。
Depthをいじってみましたが、どうやっても2つ目のウィンドウが手前に来てくれません。
前後関係ってDepth以外に設定する必要があるのでしょうか?
0458名前は開発中のものです。2015/05/14(木) 19:18:44.94ID:Np/gKzpU
>>457
どういう構造になってるかわからんがNGUIではUIPanelのデプスが最優先で
UISpriteのデプスはそれがぶら下がっているパネル内部での優先値になるんじゃなかった?
0459名前は開発中のものです。2015/05/14(木) 19:30:01.82ID:JbGJ/pAw
>>458
返答ありがとうございます。
UIPanelの下にUISpriteを置いていたのですが、UIPanelを削除してウィンドウ直下にUISpriteを表示するようにしたら治りました。
原因は分かりませんでしたが、解決しました。
0460名前は開発中のものです。2015/05/14(木) 19:44:02.80ID:Np/gKzpU
>>459
まぁそれで全部解決ならいいんだけどw
UIPaneにもデプス値があってUIPanelの下にぶら下がっている
UISpriteのデプス値は全てそれになるのだ、ということなんだよ。
その上で競合するもの同士は自分のデプス値で優先度が決まる。
0461名前は開発中のものです。2015/05/14(木) 19:44:25.18ID:xZllPFjU
>>454
はい無理です
0462名前は開発中のものです。2015/05/14(木) 19:56:46.54ID:b4VPFIqr
お尋ねしたいのですが、プロシージャルマテリアルシステムであるsustancesという機能はユニティ標準で使用出来ますか?
有料版のアセット等が必要なのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています